Changes

Summary

  1. [clang][DebugInfo] Allow function-local statics and types to be scoped within a lexical block (details)
  2. [VE] Support multiple architectures installation (details)
  3. [NFC][LICM] Update the comment in the scalar-promote.ll (details)
  4. [ARM] Add a vrinta.f16.f16 alias (details)
  5. [VE] Change to use R_VE_SREL32 (details)
  6. [ARM] Implement setjmp BTI placement for PACBTI-M (details)
  7. [VE] Support VE specific data directives in MC (details)
  8. [clang][docs][dataflow] Added an introduction to dataflow analysis (details)
  9. [LV] Pass compare predicate to getCmpSelInstrCost. (details)
  10. tsan: disable dlopen_static_tls.cpp test on powerpc64 (details)
  11. [Clang] Ignore CLANG_DEFAULT_LINKER for custom-linker toolchains (details)
  12. [mlir] Avoid needlessly converting LLVM named structs with compatible elements (details)
  13. [DSE] Add additional memset_chk tests. (details)
  14. [openmp][amdgpu] Disable tests requiring USM on amdgcn (details)
  15. [lldb] [Process/elf-core] Disable for FreeBSD vmcores (details)
  16. [lldb] Remove extern "C" from lldb-swig-lua interface (details)
  17. [lldb/lua] Add a file that should have been a part of a52af6d3 (details)
  18. [lldb/qemu] Add support for pty redirection (details)
  19. [MC] Add emitXCOFFSymbolLinkageWithVisibility to MCNullStreamer (details)
  20. [fir] Add fircg.ext_array_coor conversion (details)
  21. [Coroutines] Handle CallBrInst in SalvageDebugInfo (details)
  22. Use VersionTuple for parsing versions in Triple, fixing issues that caused the original change to be reverted. This makes it possible to distinguish between "16" and "16.0" after parsing, which previously was not possible. (details)
  23. [llvm-c] Avoid use of deprecated APIs in unit tests (details)
  24. [ARM][clang] Add back branch protection tests (details)
  25. [openmp] Enable tests on new devicertl on amdgpu (details)
  26. Revert "[Clang] Ignore CLANG_DEFAULT_LINKER for custom-linker toolchains" (details)
  27. [libc++] Work around a Clang bug in transform_view, and regression-test. (details)
  28. [VP] getVPMemoryOpCost interface (details)
  29. [openmp] Run tests on both runtimes, independent of the default (details)
  30. [libomptarget] Add cmake variables to disable building the amdgpu or cuda plugins (details)
  31. [CodeGen] Use range-based for loops (NFC) (details)
  32. [AArch64][SVE] Fix ICE extracting fixedvec from scalable load (details)
  33. [openmp] Default to new rtl for amdgpu (details)
  34. ext-tsp basic block layout (details)
  35. [gn build] Port c68f71eb37c2 (details)
  36. Fix compilation of Google Test in C++20 mode (details)
  37. [OpenMP][FIX] Invalidate the SPMDCompatibilityTracker explicitly (details)
  38. [OpenMP] Make reduction functions SPMD compatible (details)
  39. [RISCV] Loosen some restrictions on lowering constant BUILD_VECTORs using vid.v. (details)
  40. Revert "[clang][DebugInfo] Allow function-local statics and types to be scoped within a lexical block" (details)
  41. Revert "Use VersionTuple for parsing versions in Triple, fixing issues that caused the original change to be reverted. This makes it possible to distinguish between "16" and "16.0" after parsing, which previously was not possible." (details)
  42. [analyzer][solver] Fix assertion on (NonLoc, Op, Loc) expressions (details)
  43. Introduce _BitInt, deprecate _ExtInt (details)
  44. [llvm] [Debuginfo] Debuginfod client library. (details)
  45. clang-format: [JS] test case for numeric separators. (details)
  46. [SystemZ] Improve codegen for memset. (details)
  47. Update the status of N2412 in C (we do not implement large parts of it) (details)
  48. [gn build] (manually) port 4a16fe1369f3ab (debuginfod) (details)
  49. Speculatively fix the LLDB build bots from 6c75ab5f66b403f7ca67e86aeed3a58abe10570b (details)
  50. [LV] Check VPValue operand instead of Cost::isUniformAfterVec (NFC). (details)
  51. [libc++][NFC] Fix release note indentation (details)
  52. [SLP]Fix compiler crash when calculating extract cost for undefs. (details)
  53. [libc++] Fix the return value of max_size() (details)
  54. Fix a failing test case after 6c75ab5f66b403f7ca67e86aeed3a58abe10570b (details)
  55. [coro async] Disable lifetime.start sinking for ABI::Async and ABI::Retcon (details)
  56. Fixing this test which failed due to different warnings (details)
  57. Revert "[llvm] [Debuginfo] Debuginfod client library." (details)
  58. Revert "[gn build] (manually) port 4a16fe1369f3ab (debuginfod)" (details)
  59. [clang][ARM] only check -mtp=cp15 for non-asm sources (details)
  60. [clang][ASTImporter] Update lookup table correctly at deduction guides. (details)
  61. [X86] LowerRotate - fix assertion. NFC. (details)
  62. [coro async] Don't use lifetime.start based alloca localization for ABI.Async/ABI.Retcon (details)
  63. [mlir] Add CtPop to  MathOps with lowering to LLVM (details)
  64. [OpenMPIRBuilder] Implicitly defined control blocks. NFC. (details)
  65. Bazel: add new llvm-c/Deprecated.h header (details)
  66. [mlir] Improve async parallel for tests + fix typos (details)
  67. [formatters] Add a deque formatter for libstdcpp and fix the libcxx one (details)
  68. [formatters] Add a pointer and reference tests for a list and forward_list formatters for libstdcpp and libcxx (details)
  69. [HIP] Fix -fgpu-rdc for Windows (details)
  70. [ASan] Added asan_shadow_defines.h, which contatins shadow offset for various platforms. (details)
  71. [llvm] [Debuginfo] Debuginfod client library. (details)
  72. [mlir][sparse] Code cleanup for SparseTensorConversion (details)
  73. [llvm][Hexagon] Generalize VLIWResourceModel, VLIWMachineScheduler, and ConvergingVLIWScheduler (details)
  74. [CUDA][SPIRV] Use OpenCLKernel CC for CUDA -> SPIRV (details)
  75. Revert "[ASan] Added asan_shadow_defines.h, which contatins shadow offset for various platforms." (details)
  76. Reland "[gn build] (manually) port 4a16fe1369f3ab (debuginfod)" (details)
  77. [gn build] Port cc3bb8558018 (details)
  78. Enable pdbpagesize to allow support for PDB file sizes > 4GB (details)
  79. [lldb] Remove some trivial scoped timers (details)
Commit e403f4fdc88322201040f2bee7b328e8a78e2f7f by kbessonova
[clang][DebugInfo] Allow function-local statics and types to be scoped within a lexical block

This is almost a reincarnation of https://reviews.llvm.org/D15977 originally
implemented by Amjad Aboud. It was discussed on llvm-dev [0], committed
with its backend counterpart [1], but finally reverted [2].

This patch makes clang to emit debug info for function-local static variables,
records (classes, structs and unions) and typdefs correctly scoped if
those function-local entites defined within a lexical (bracketed) block.

Before this patch, clang emits all those entities directly scoped in
DISubprogram no matter where they were really defined, causing
debug info loss (reported several times in [3], [4], [5]).

[0] https://lists.llvm.org/pipermail/llvm-dev/2015-November/092551.html
[1] https://reviews.llvm.org/rG30e7a8f694a19553f64b3a3a5de81ce317b9ec2f
[2] https://reviews.llvm.org/rGdc4531e552af6c880a69d226d3666756198fbdc8
[3] https://bugs.llvm.org/show_bug.cgi?id=19238
[4] https://bugs.llvm.org/show_bug.cgi?id=23164
[5] https://bugs.llvm.org/show_bug.cgi?id=44695

Reviewed By: dblaikie

Differential Revision: https://reviews.llvm.org/D113743
The file was modifiedclang/lib/CodeGen/CGDecl.cpp
The file was modifiedclang/lib/CodeGen/CGDebugInfo.cpp
The file was modifiedclang/lib/CodeGen/CGDebugInfo.h
The file was addedclang/test/CodeGenCXX/debug-info-lexcial-block.cpp
Commit 83f572527e0fcc1cd0be8ee23bc12abf27027daf by marukawa
[VE] Support multiple architectures installation

Change C++ header files placement to support multiple LLVM_RUNTIME_TARGETS
build.  Also modifies regression test for it.

Reviewed By: simoll

Differential Revision: https://reviews.llvm.org/D114527
The file was addedclang/test/Driver/Inputs/basic_ve_tree/include/ve-unknown-linux-gnu/c++/v1/.keep
The file was addedclang/test/Driver/Inputs/basic_ve_tree/bin/.keep
The file was modifiedclang/test/Driver/ve-toolchain.cpp
The file was modifiedclang/test/Driver/ve-toolchain.c
The file was modifiedclang/lib/Driver/ToolChains/VEToolchain.cpp
The file was addedclang/test/Driver/Inputs/basic_ve_tree/include/c++/v1/.keep
Commit 0b23b80985e417e46d97c95f891f3e601dbfa5f1 by djtodoro
[NFC][LICM] Update the comment in the scalar-promote.ll

The comment was stale after the https://reviews.llvm.org/D113289
was committed.
The file was modifiedllvm/test/Transforms/LICM/scalar-promote.ll
Commit d8495e03529201e8af9abeab05a3f671d0249041 by david.green
[ARM] Add a vrinta.f16.f16 alias

The v8.1-m ARMARM uses the vrinta.f16.f16 names, as opposed to
vrinta.f16. This adds an alias for it in the same way that we have for
f32 and f64.

Differential Revision: https://reviews.llvm.org/D68127
The file was modifiedllvm/lib/Target/ARM/ARMInstrVFP.td
The file was modifiedllvm/test/MC/ARM/fullfp16-neg.s
The file was modifiedllvm/test/MC/ARM/fullfp16.s
Commit 6b41eb7f26d06ce018c0218360f9cdec239f2caa by marukawa
[VE] Change to use R_VE_SREL32

Change to use R_VE_SREL32 for relative branch instructions instead of
R_VE_PC_LO32 in order to check ranges of relative branch isntructions
at link time correctly.

Reviewed By: simoll

Differential Revision: https://reviews.llvm.org/D115097
The file was modifiedllvm/test/MC/VE/sym-br.s
The file was modifiedllvm/lib/Target/VE/MCTargetDesc/VEELFObjectWriter.cpp
The file was modifiedllvm/lib/Target/VE/MCTargetDesc/VEMCCodeEmitter.cpp
The file was modifiedllvm/lib/Target/VE/MCTargetDesc/VEAsmBackend.cpp
The file was modifiedllvm/lib/Target/VE/MCTargetDesc/VEFixupKinds.h
Commit 0fbb17458a01a6b388fc67661ffb92969503e977 by ties.stuij
[ARM] Implement setjmp BTI placement for PACBTI-M

This patch intends to guard indirect branches performed by longjmp
by inserting BTI instructions after calls to setjmp.

Calls with 'returns-twice' are lowered to a new pseudo-instruction
named t2CALL_BTI that is later expanded to a bundle of {tBL,t2BTI}.

This patch is part of a series that adds support for the PACBTI-M extension of
the Armv8.1-M architecture, as detailed here:

https://community.arm.com/arm-community-blogs/b/architectures-and-processors-blog/posts/armv8-1-m-pointer-authentication-and-branch-target-identification-extension

The PACBTI-M specification can be found in the Armv8-M Architecture Reference
Manual:

https://developer.arm.com/documentation/ddi0553/latest

The following people contributed to this patch:

- Alexandros Lamprineas
- Ties Stuij

Reviewed By: labrinea

Differential Revision: https://reviews.llvm.org/D112427
The file was modifiedclang/include/clang/Driver/Options.td
The file was modifiedllvm/lib/Target/ARM/ARM.td
The file was addedllvm/test/CodeGen/ARM/setjmp-bti-outliner.ll
The file was modifiedllvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp
The file was modifiedllvm/lib/Target/ARM/ARMSubtarget.h
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp
The file was modifiedllvm/lib/Target/ARM/ARMInstrThumb2.td
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.h
The file was addedclang/test/Driver/arm-bti-return-twice.c
The file was modifiedclang/lib/Driver/ToolChains/Arch/ARM.cpp
The file was modifiedclang/docs/ClangCommandLineReference.rst
The file was addedllvm/test/CodeGen/ARM/setjmp-bti-basic.ll
Commit 9d20fa09eb806cd210d040e5e1e9b29c6e40e98e by marukawa
[VE] Support VE specific data directives in MC

Support VE specific data directives, .word/.long/.llong, in MC layer.

Reviewed By: simoll

Differential Revision: https://reviews.llvm.org/D115120
The file was addedllvm/test/MC/VE/data-size-error.s
The file was modifiedllvm/lib/Target/VE/AsmParser/VEAsmParser.cpp
The file was addedllvm/test/MC/VE/data.s
Commit ab31d003e16e483bff298ea2f28fec0f23e8eb79 by gribozavr
[clang][docs][dataflow] Added an introduction to dataflow analysis

This documentation supports the dataflow analysis framework (see "[RFC]
A dataflow analysis framework for Clang AST" on cfe-dev).

Since the implementation of the framework has not been committed yet,
right now the doc describes dataflow analysis in general.

Since this is the first markdown document in clang/docs, I added support
for Markdown to clang/docs/conf.py in the same way as it is done in
llvm/docs.

Reviewed By: xazax.hun

Differential Revision: https://reviews.llvm.org/D114231
The file was addedclang/docs/DataFlowAnalysisIntroImages/IntegerSetsInfiniteLattice.svg
The file was modifiedclang/docs/index.rst
The file was addedclang/docs/DataFlowAnalysisIntro.md
The file was modifiedclang/docs/conf.py
The file was addedclang/docs/DataFlowAnalysisIntroImages/CFGExample.svg
The file was addedclang/docs/DataFlowAnalysisIntroImages/OutputParameterIdentificationLattice.svg
The file was addedclang/docs/DataFlowAnalysisIntroImages/CFGJoinRule.svg
The file was addedclang/docs/DataFlowAnalysisIntroImages/IntegerSetsFiniteLattice.svg
The file was addedclang/docs/DataFlowAnalysisIntroImages/UniquePtrLattice.svg
The file was addedclang/docs/DataFlowAnalysisIntroImages/DefinitiveInitializationLattice.svg
Commit 3d549dddf75b6ff9e0ec8c053677750bde4226ea by sander.desmalen
[LV] Pass compare predicate to getCmpSelInstrCost.

If the condition of a select is a compare, pass its predicate to
TTI::getCmpSelInstrCost to get a more accurate cost value instead
of passing BAD_ICMP_PREDICATE.

I noticed that the commit message from D90070 had a comment about the
vectorized select predicate possibly being composed of other compares with
different predicate values, but I wasn't able to construct an example
where this was an actual issue. If this is an issue, I guess we could
add another check that the block isn't predicated for any reason.

Reviewed By: dmgreen, fhahn

Differential Revision: https://reviews.llvm.org/D114646
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
The file was modifiedllvm/test/Transforms/LoopVectorize/AArch64/select-costs.ll
Commit 954582cdfc23a5dd90cb5bf6e5a0c45db300169e by dvyukov
tsan: disable dlopen_static_tls.cpp test on powerpc64

Reviewed By: melver

Differential Revision: https://reviews.llvm.org/D115142
The file was modifiedcompiler-rt/test/tsan/Linux/dlopen_static_tls.cpp
Commit 34a43f2115af79f896c889433c57f3b400e9f2c6 by simon.moll
[Clang] Ignore CLANG_DEFAULT_LINKER for custom-linker toolchains

Before, the CLANG_DEFAULT_LINKER cmake option was a global override for
the linker that shall be used on all toolchains.  The linker binary
specified that way may not be available on toolchains with custom
linkers. Eg, the only linker for VE is named 'nld' - any other linker
invalidates the toolchain.

This patch removes the hard override and instead lets the generic
toolchain implementation default to CLANG_DEFAULT_LINKER.  Toolchains
can now deviate with a custom linker name or deliberatly default to
CLANG_DEFAULT_LINKER.

Reviewed By: MaskRay, phosek

Differential Revision: https://reviews.llvm.org/D115045
The file was modifiedclang/test/Driver/ve-toolchain.cpp
The file was modifiedclang/include/clang/Driver/ToolChain.h
The file was modifiedclang/lib/Driver/ToolChain.cpp
The file was modifiedclang/test/Driver/ve-toolchain.c
Commit d64b3e47ba6347ef4c68c0666a90eda8f986f525 by zinenko
[mlir] Avoid needlessly converting LLVM named structs with compatible elements

Conversion of LLVM named structs leads to them being renamed since we cannot
modify the body of the struct type once it is set. Previously, this applied to
all named struct types, even if their element types were not affected by the
conversion. Make this behvaior only applicable when element types are changed.
This requires making the LLVM dialect type-compatibility check recursively look
at the element types (arguably, it should have been doing than since the moment
the LLVM dialect type system stopped being closed). In addition, have a more
lax check for outer types only to avoid repeated check when necessary (e.g.,
parser, verifiers that are going to also look at the inner type).

Reviewed By: wsmoses

Differential Revision: https://reviews.llvm.org/D115037
The file was modifiedmlir/lib/Conversion/LLVMCommon/TypeConverter.cpp
The file was modifiedmlir/include/mlir/Dialect/LLVMIR/LLVMTypes.h
The file was modifiedmlir/lib/Dialect/LLVMIR/IR/LLVMTypeSyntax.cpp
The file was modifiedmlir/lib/Dialect/LLVMIR/IR/LLVMTypes.cpp
The file was modifiedmlir/test/Conversion/StandardToLLVM/convert-types.mlir
Commit 4a419ea4007bec1ca87299785113046024e475b6 by flo
[DSE] Add additional memset_chk tests.
The file was modifiedllvm/test/Transforms/DeadStoreElimination/libcalls.ll
The file was modifiedllvm/test/Transforms/DeadStoreElimination/stores-of-existing-values.ll
Commit 1a87a1895597226ca655086b7f6972069eca0de1 by jonathanchesterfield
[openmp][amdgpu] Disable tests requiring USM on amdgcn

These tests tend to hang or crash on hardware that doesn't
support USM. Disabling them helps diagnose other issues. To safely
enable we require a means of testing whether USM is expected to work.

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D115144
The file was modifiedopenmp/libomptarget/test/lit.cfg
Commit fdc1638b5cbd7f93937dce56f8ea29db52390502 by mgorny
[lldb] [Process/elf-core] Disable for FreeBSD vmcores

Recognize FreeBSD vmcores (kernel core dumps) through OS ABI = 0xFF
+ ELF version = 0, and do not process them via the elf-core plugin.
While these files use ELF as a container format, they contain raw memory
dump rather than proper VM segments and therefore are not usable
to the elf-core plugin.

Differential Revision: https://reviews.llvm.org/D114967
The file was modifiedlldb/source/Plugins/Process/elf-core/ProcessElfCore.cpp
Commit a52af6d3714fa6ea749783400a98dcfad94814b0 by pavel
[lldb] Remove extern "C" from lldb-swig-lua interface

This is the lua equivalent of 9a14adeae0.
The file was modifiedlldb/bindings/lua/lua-wrapper.swig
The file was modifiedlldb/bindings/lua/lua.swig
The file was modifiedlldb/source/Plugins/ScriptInterpreter/Lua/Lua.cpp
The file was modifiedlldb/unittests/ScriptInterpreter/Lua/LuaTests.cpp
Commit 85578db68aa9e3ad3f62e9aa6830d2a4c362cd1d by pavel
[lldb/lua] Add a file that should have been a part of a52af6d3
The file was addedlldb/source/Plugins/ScriptInterpreter/Lua/SWIGLuaBridge.h
Commit 5c4cb323e86aaf816c0dd45191dad08e5d4691cf by pavel
[lldb/qemu] Add support for pty redirection

Lldb uses a pty to read/write to the standard input and output of the
debugged process. For host processes this would be automatically set up
by Target::FinalizeFileActions. The Qemu platform is in a unique
position of not really being a host platform, but not being remote
either. It reports IsHost() = false, but it is sufficiently host-like
that we can use the usual pty mechanism.

This patch adds the necessary glue code to enable pty redirection. It
includes a small refactor of Target::FinalizeFileActions and
ProcessLaunchInfo::SetUpPtyRedirection to reduce the amount of
boilerplate that would need to be copied.

I will note that qemu is not able to separate output from the emulated
program from the output of the emulator itself, so the two will arrive
intertwined. Normally this should not be a problem since qemu should not
produce any output during regular operation, but some output can slip
through in case of errors. This situation should be pretty obvious (to a
human), and it is the best we can do anyway.

For testing purposes, and inspired by lldb-server tests, I have extended
the mock emulator with the ability "program" the behavior of the
"emulated" program via command-line arguments.

Differential Revision: https://reviews.llvm.org/D114796
The file was modifiedlldb/test/API/qemu/TestQemuLaunch.py
The file was modifiedlldb/source/Plugins/Platform/QemuUser/PlatformQemuUser.cpp
The file was modifiedlldb/source/Host/common/ProcessLaunchInfo.cpp
The file was modifiedlldb/test/API/qemu/qemu.py
The file was modifiedlldb/source/Target/Target.cpp
Commit b23d17f6b5f7748645996f54c79dc0b58aa5a9c2 by Jake.Egan
[MC] Add emitXCOFFSymbolLinkageWithVisibility to MCNullStreamer

This patch adds `emitXCOFFSymbolLinkageWithVisibility` to MCNullStreamer to fix llvm_unreachable getting reached when using option `-filetype=null` on AIX.

Reviewed By: DiggerLin

Differential Revision: https://reviews.llvm.org/D114876
The file was modifiedllvm/lib/MC/MCNullStreamer.cpp
Commit 5d27abe6295731bfbbf1d6703801f067e6ab9e24 by clementval
[fir] Add fircg.ext_array_coor conversion

This patch adds the conversion pattern for the fircg.ext_array_coor
operation. It applies the address arithmetic on a dynamically shaped, shifted
and/or sliced array.

This patch is part of the upstreaming effort from fir-dev branch.

Reviewed By: kiranchandramohan

Differential Revision: https://reviews.llvm.org/D113968

Co-authored-by: Eric Schweitz <eschweitz@nvidia.com>
Co-authored-by: Jean Perier <jperier@nvidia.com>
The file was modifiedflang/lib/Optimizer/CodeGen/CodeGen.cpp
The file was modifiedflang/include/flang/Optimizer/CodeGen/CGOps.td
The file was modifiedflang/test/Fir/convert-to-llvm.fir
Commit 2ae50118275b45a2c435e9e64acc3aa4a5a571b0 by yedeng.yd
[Coroutines] Handle CallBrInst in SalvageDebugInfo

Reviewed by: StephenTozer

Differential Revision: https://reviews.llvm.org/D115139
The file was modifiedllvm/lib/Transforms/Coroutines/CoroFrame.cpp
The file was modifiedllvm/test/Transforms/Coroutines/coro-debug.ll
Commit 50324670342d9391f62671685f4d6b4880a4ea9a by jamesfarrell
Use VersionTuple for parsing versions in Triple, fixing issues that caused the original change to be reverted. This makes it possible to distinguish between "16" and "16.0" after parsing, which previously was not possible.

This reverts commit 40d5eeac6cd89a2360c3ba997cbaa816abca828c.

Differential Revision: https://reviews.llvm.org/D114885
The file was modifiedclang/test/Sema/attr-availability.c
The file was modifiedllvm/lib/Support/Triple.cpp
The file was modifiedclang/test/Sema/availability-guard-format.mm
The file was modifiedclang/lib/Basic/Targets/X86.h
The file was modifiedclang/lib/ARCMigrate/ARCMT.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64Subtarget.h
The file was modifiedclang/test/Sema/attr-availability-android.c
The file was modifiedclang/test/SemaObjC/unguarded-availability-maccatalyst.m
The file was modifiedclang/lib/Driver/ToolChains/NetBSD.cpp
The file was modifiedllvm/lib/Analysis/TargetLibraryInfo.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64Subtarget.cpp
The file was modifiedclang/lib/Basic/Targets/OSTargets.h
The file was modifiedclang/lib/Driver/ToolChains/Linux.cpp
The file was modifiedclang/test/SemaObjC/attr-availability.m
The file was modifiedclang/test/SemaObjC/property-deprecated-warning.m
The file was modifiedclang/test/SemaObjC/unguarded-availability.m
The file was modifiedclang/lib/Driver/ToolChains/Darwin.cpp
The file was modifiedllvm/include/llvm/ADT/Triple.h
The file was modifiedllvm/lib/Target/X86/X86Subtarget.h
The file was modifiedllvm/unittests/Support/Host.cpp
The file was modifiedllvm/unittests/ADT/TripleTest.cpp
The file was modifiedclang/lib/Basic/Targets/OSTargets.cpp
The file was modifiedclang/lib/Driver/ToolChains/MSVC.cpp
The file was modifiedllvm/lib/MC/MCStreamer.cpp
Commit 24a72dc070b36d9e62d6b84abe5f1912c5a49581 by npopov
[llvm-c] Avoid use of deprecated APIs in unit tests

As pointed out in https://reviews.llvm.org/D114936#3173327,
unit tests were still using deprecated C APIs.
The file was modifiedllvm/unittests/ExecutionEngine/MCJIT/MCJITCAPITest.cpp
Commit 53154a83aee0ce969dc07e7168b3914ca1025030 by ties.stuij
[ARM][clang] Add back branch protection tests

When committing the PACBTI-M frontend support
patch (https://reviews.llvm.org/D112421), the tests in
arm-invalid-branch-protection.c were failing on certain test setups, so it was
removed to make the llvm test suite pass. The fix is to require
arm-registered-target.

This patch is part of a series that adds support for the PACBTI-M extension of
the Armv8.1-M architecture, as detailed here:

https://community.arm.com/arm-community-blogs/b/architectures-and-processors-blog/posts/armv8-1-m-pointer-authentication-and-branch-target-identification-extension

The PACBTI-M specification can be found in the Armv8-M Architecture Reference
Manual:

https://developer.arm.com/documentation/ddi0553/latest

Reviewed By: erichkeane

Differential Revision: https://reviews.llvm.org/D115141
The file was addedclang/test/Frontend/arm-invalid-branch-protection.c
Commit 9e08c2054ad4ea5ce019bc44c179332d2b7bd6ea by jonathanchesterfield
[openmp] Enable tests on new devicertl on amdgpu

Reviewed By: pdhaliwal

Differential Revision: https://reviews.llvm.org/D114891
The file was modifiedopenmp/libomptarget/plugins/amdgpu/CMakeLists.txt
Commit f6ba6450396ce58212f247c72d84a54efd748b38 by simon.moll
Revert "[Clang] Ignore CLANG_DEFAULT_LINKER for custom-linker toolchains"

Reverted until all Toolchains are fixed for the new behavior.

This reverts commit 34a43f2115af79f896c889433c57f3b400e9f2c6.
The file was modifiedclang/test/Driver/ve-toolchain.cpp
The file was modifiedclang/test/Driver/ve-toolchain.c
The file was modifiedclang/lib/Driver/ToolChain.cpp
The file was modifiedclang/include/clang/Driver/ToolChain.h
Commit dcdb07abce278a65e1a8df164ce9b942da6ebd23 by arthur.j.odwyer
[libc++] Work around a Clang bug in transform_view, and regression-test.

Clang trunk rejects the new test case, but this is a Clang bug
(PR47414, 47509, 50864, 44833).

```
In module 'std' imported from /Users/aodwyer/llvm-project/libcxx/test/std/ranges/range.adaptors/range.transform/general.pass.cpp:17:
/Users/aodwyer/llvm-project/build2/include/c++/v1/__ranges/transform_view.h:85:44: error: constraints not satisfied for alias template 'range_reference_t' [with _Rp = const NonConstView]
             regular_invocable<const _Fn&, range_reference_t<const _View>>
                                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/aodwyer/llvm-project/build2/include/c++/v1/__ranges/transform_view.h:416:25: note: in instantiation of template class 'std::ranges::transform_view<NonConstView, (lambda at /Users/aodwyer/llvm-project/libcxx/test/std/ranges/range.adaptors/range.transform/general.pass.cpp:73:71)>' requested here
      -> decltype(      transform_view(_VSTD::forward<_Range>(__range), _VSTD::forward<_Fn>(__f)))
                        ^
```

We can work around this by adding a layer of indirection: put the
problematic constraint into a named concept and Clang becomes more
amenable to SFINAE'ing instead of hard-erroring.

Drive-by simplify `range.transform/general.pass.cpp` to make it clearer
what it's actually testing in this area.

Differential Revision: https://reviews.llvm.org/D115116
The file was modifiedlibcxx/include/__ranges/transform_view.h
The file was modifiedlibcxx/test/std/ranges/range.adaptors/range.transform/general.pass.cpp
Commit dfcfd14070bd75b33f57026ef0d1d1b83c64d787 by bmahjour
[VP] getVPMemoryOpCost interface

Added TTI queries for the cost of a VP Memory operation, and added Opcode,
DataType and Alignment to the hasActiveVectorLength() interface.

Reviewed By: Roland Froese

Differential Revision: https://reviews.llvm.org/D109416
The file was modifiedllvm/include/llvm/Analysis/TargetTransformInfo.h
The file was modifiedllvm/include/llvm/Analysis/TargetTransformInfoImpl.h
The file was modifiedllvm/lib/Analysis/TargetTransformInfo.cpp
Commit a2b3b4dadc00ffa52e4966c253d8982b8018b376 by jonathanchesterfield
[openmp] Run tests on both runtimes, independent of the default

Minor fix to the lit.cfg. Currently, nvptx runs the tests twice on the new runtime.
Soon, amdgpu will run them on the new runtime as well as the old.

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D115150
The file was modifiedopenmp/libomptarget/test/lit.cfg
Commit a05a0c3c2f8eefc80d84b7a87a23a4452d4a3087 by jonathanchesterfield
[libomptarget] Add cmake variables to disable building the amdgpu or cuda plugins

Analogous to the controls on building device runtimes

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D115148
The file was modifiedopenmp/libomptarget/plugins/amdgpu/CMakeLists.txt
The file was modifiedopenmp/libomptarget/plugins/cuda/CMakeLists.txt
Commit c4a8928b51daa486013abbfa4dad75def2a9528e by kazu
[CodeGen] Use range-based for loops (NFC)
The file was modifiedllvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp
The file was modifiedllvm/lib/CodeGen/RegisterCoalescer.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/ResourcePriorityQueue.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/ScheduleDAGVLIW.cpp
The file was modifiedllvm/lib/CodeGen/MachineBasicBlock.cpp
The file was modifiedllvm/lib/CodeGen/MachinePipeliner.cpp
The file was modifiedllvm/lib/CodeGen/RemoveRedundantDebugValues.cpp
Commit a6f751c34ec1ead6fe94c5eea375307fc12a5359 by peter.waller
[AArch64][SVE] Fix ICE extracting fixedvec from scalable load

f526c600c043 had a concern raised because of an invalid typesize request
on a scalable vector, which this patch addresses.

Prevent shouldReduceLoadWidth from attempting to query the bit size, and
add a regression test in sve-extract-fixed-vector.ll.

Differential Revision: https://reviews.llvm.org/D115156
The file was modifiedllvm/test/CodeGen/AArch64/sve-extract-fixed-vector.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
Commit 6bb2a4f3e6546dc854a6f0dd37d81590e0b2990e by jonathanchesterfield
[openmp] Default to new rtl for amdgpu

Reverts D114965 as the compiler backend appears to be working again

Reviewed By: jhuber6

Differential Revision: https://reviews.llvm.org/D115157
The file was modifiedclang/lib/Driver/ToolChains/AMDGPUOpenMP.cpp
The file was modifiedclang/include/clang/Driver/Options.td
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
Commit c68f71eb37c2b6ffcf29e865d443a910e73083bd by spupyrev
ext-tsp basic block layout

A new basic block ordering improving existing MachineBlockPlacement.

The algorithm tries to find a layout of nodes (basic blocks) of a given CFG
optimizing jump locality and thus processor I-cache utilization. This is
achieved via increasing the number of fall-through jumps and co-locating
frequently executed nodes together. The name follows the underlying
optimization problem, Extended-TSP, which is a generalization of classical
(maximum) Traveling Salesmen Problem.

The algorithm is a greedy heuristic that works with chains (ordered lists)
of basic blocks. Initially all chains are isolated basic blocks. On every
iteration, we pick a pair of chains whose merging yields the biggest increase
in the ExtTSP value, which models how i-cache "friendly" a specific chain is.
A pair of chains giving the maximum gain is merged into a new chain. The
procedure stops when there is only one chain left, or when merging does not
increase ExtTSP. In the latter case, the remaining chains are sorted by
density in decreasing order.

An important aspect is the way two chains are merged. Unlike earlier
algorithms (e.g., based on the approach of Pettis-Hansen), two
chains, X and Y, are first split into three, X1, X2, and Y. Then we
consider all possible ways of gluing the three chains (e.g., X1YX2, X1X2Y,
X2X1Y, X2YX1, YX1X2, YX2X1) and choose the one producing the largest score.
This improves the quality of the final result (the search space is larger)
while keeping the implementation sufficiently fast.

Differential Revision: https://reviews.llvm.org/D113424
The file was addedllvm/test/CodeGen/X86/code_placement_ext_tsp.ll
The file was addedllvm/test/CodeGen/X86/code_placement_ext_tsp_large.ll
The file was addedllvm/include/llvm/Transforms/Utils/CodeLayout.h
The file was modifiedllvm/lib/CodeGen/MachineBlockPlacement.cpp
The file was modifiedllvm/lib/Transforms/Utils/CMakeLists.txt
The file was addedllvm/lib/Transforms/Utils/CodeLayout.cpp
Commit 73195657cc1f6339f51f36b9f17d6a84d068e713 by llvmgnsyncbot
[gn build] Port c68f71eb37c2
The file was modifiedllvm/utils/gn/secondary/llvm/lib/Transforms/Utils/BUILD.gn
Commit c94eb0f9ef5597bd1b3b0efda4df53f606a1fe13 by benny.kra
Fix compilation of Google Test in C++20 mode

Without this patch when using CMAKE_CXX_STANDARD=20
and MSVC 19.30.30705.0 compilation of unit tests
fails with

llvm\utils\unittest\googlemock\include\gmock/gmock-actions.h(828): error C2039: 'result_of': is not a member of 'std'

Patch is taken from Google Test:
https://github.com/google/googletest/commit/61f010d703b32de9bfb20ab90ece38ab2f25977f

Do not use std::result_of as it was removed in C++20.

Differential Revision: https://reviews.llvm.org/D115163
The file was modifiedllvm/utils/unittest/googlemock/include/gmock/gmock-actions.h
Commit 9ea5b9720354406c7b9bba638d0a01183c156ec7 by jhuber6
[OpenMP][FIX] Invalidate the SPMDCompatibilityTracker explicitly

Before SPMDzation it was sufficient to add an incompatible instruction
to the SPMDCompatibilityTracker. However, now adding instructions means
they need guarding. As calls cannot be guarded in general we need to
explicitly prevent SPMD mode.

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D115158
The file was modifiedllvm/test/Transforms/OpenMP/spmdization.ll
The file was modifiedllvm/lib/Transforms/IPO/OpenMPOpt.cpp
Commit 744aa09f5218f7db206af2e1945e23f90df46f1f by jhuber6
[OpenMP] Make reduction functions SPMD compatible

Reduction functions were guarded before which was wrong, these are SPMD
compatible.

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D115159
The file was modifiedllvm/lib/Transforms/IPO/OpenMPOpt.cpp
Commit acdbd34cfb810a0587e17bfb4afc66b6b55f25ba by craig.topper
[RISCV] Loosen some restrictions on lowering constant BUILD_VECTORs using vid.v.

The immediate size check on StepNumerator did not take into account
that vmul.vi does not exist. It also did not account for power of 2
constants that can be done with vshl.vi.

This patch fixes this by moving the conversion from mul to shift
further up. Then we can consider the immediates separately for MUL
vs SHL. For MUL I've allowed simm12 which requires a single addi
before a vmul.vx. For SHL I've allowed any uimm5 which works with
vshl.vi. We could relax these further in the future. This is a
starting point that allows us to emit the same number of instructions
we were already using for smaller numerators.

Reviewed By: frasercrmck

Differential Revision: https://reviews.llvm.org/D115081
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.cpp
The file was modifiedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-buildvec.ll
Commit 4cb79294e8df8c91ae15264d1014361815d34a53 by Jonas Devlieghere
Revert "[clang][DebugInfo] Allow function-local statics and types to be scoped within a lexical block"

This reverts commit e403f4fdc88322201040f2bee7b328e8a78e2f7f because it
breaks TestSetData.py on GreenDragon:

https://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake/39089/
The file was modifiedclang/lib/CodeGen/CGDebugInfo.cpp
The file was modifiedclang/lib/CodeGen/CGDebugInfo.h
The file was removedclang/test/CodeGenCXX/debug-info-lexcial-block.cpp
The file was modifiedclang/lib/CodeGen/CGDecl.cpp
Commit 63a6348cad6caccf285c1661bc60d8ba5a40c972 by jamesfarrell
Revert "Use VersionTuple for parsing versions in Triple, fixing issues that caused the original change to be reverted. This makes it possible to distinguish between "16" and "16.0" after parsing, which previously was not possible."

This reverts commit 50324670342d9391f62671685f4d6b4880a4ea9a.
The file was modifiedllvm/lib/Target/AArch64/AArch64Subtarget.h
The file was modifiedclang/lib/Driver/ToolChains/Linux.cpp
The file was modifiedclang/test/SemaObjC/property-deprecated-warning.m
The file was modifiedllvm/lib/Support/Triple.cpp
The file was modifiedclang/lib/Driver/ToolChains/Darwin.cpp
The file was modifiedclang/test/SemaObjC/unguarded-availability-maccatalyst.m
The file was modifiedclang/lib/Driver/ToolChains/NetBSD.cpp
The file was modifiedclang/test/SemaObjC/unguarded-availability.m
The file was modifiedllvm/lib/Analysis/TargetLibraryInfo.cpp
The file was modifiedclang/lib/Driver/ToolChains/MSVC.cpp
The file was modifiedclang/lib/Basic/Targets/X86.h
The file was modifiedclang/lib/ARCMigrate/ARCMT.cpp
The file was modifiedllvm/unittests/ADT/TripleTest.cpp
The file was modifiedclang/lib/Basic/Targets/OSTargets.h
The file was modifiedllvm/unittests/Support/Host.cpp
The file was modifiedclang/test/Sema/attr-availability.c
The file was modifiedclang/test/Sema/attr-availability-android.c
The file was modifiedllvm/lib/Target/X86/X86Subtarget.h
The file was modifiedllvm/lib/Target/AArch64/AArch64Subtarget.cpp
The file was modifiedclang/test/Sema/availability-guard-format.mm
The file was modifiedclang/test/SemaObjC/attr-availability.m
The file was modifiedllvm/include/llvm/ADT/Triple.h
The file was modifiedllvm/lib/MC/MCStreamer.cpp
The file was modifiedclang/lib/Basic/Targets/OSTargets.cpp
Commit a6816b957d28ab7855f2af1277c72a6d65b600b4 by balazs.benics
[analyzer][solver] Fix assertion on (NonLoc, Op, Loc) expressions

Previously, the `SValBuilder` could not encounter expressions of the
following kind:

  NonLoc OP Loc
  Loc OP NonLoc

Where the `Op` is other than `BO_Add`.

As of now, due to the smarter simplification and the fixedpoint
iteration, it turns out we can.
It can happen if the `Loc` was perfectly constrained to a concrete
value (`nonloc::ConcreteInt`), thus the simplifier can do
constant-folding in these cases as well.

Unfortunately, this could cause assertion failures, since we assumed
that the operator must be `BO_Add`, causing a crash.

---

In the patch, I decided to preserve the original behavior (aka. swap the
operands (if the operator is commutative), but if the `RHS` was a
`loc::ConcreteInt` call `evalBinOpNN()`.

I think this interpretation of the arithmetic expression is closer to
reality.

I also tried naively introducing a separate handler for
`loc::ConcreteInt` RHS, before doing handling the more generic `Loc` RHS
case. However, it broke the `zoo1backwards()` test in the `nullptr.cpp`
file. This highlighted for me the importance to preserve the original
behavior for the `BO_Add` at least.

PS: Sorry for introducing yet another branch into this `evalBinOpXX`
madness. I've got a couple of ideas about refactoring these.
We'll see if I can get to it.

The test file demonstrates the issue and makes sure nothing similar
happens. The `no-crash` annotated lines show, where we crashed before
applying this patch.

Reviewed By: martong

Differential Revision: https://reviews.llvm.org/D115149
The file was addedclang/test/Analysis/symbol-simplification-nonloc-loc.cpp
The file was modifiedclang/lib/StaticAnalyzer/Core/SValBuilder.cpp
Commit 6c75ab5f66b403f7ca67e86aeed3a58abe10570b by aaron
Introduce _BitInt, deprecate _ExtInt

WG14 adopted the _ExtInt feature from Clang for C23, but renamed the
type to be _BitInt. This patch does the vast majority of the work to
rename _ExtInt to _BitInt, which accounts for most of its size. The new
type is exposed in older C modes and all C++ modes as a conforming
extension. However, there are functional changes worth calling out:

* Deprecates _ExtInt with a fix-it to help users migrate to _BitInt.
* Updates the mangling for the type.
* Updates the documentation and adds a release note to warn users what
is going on.
* Adds new diagnostics for use of _BitInt to call out when it's used as
a Clang extension or as a pre-C23 compatibility concern.
* Adds new tests for the new diagnostic behaviors.

I want to call out the ABI break specifically. We do not believe that
this break will cause a significant imposition for early adopters of
the feature, and so this is being done as a full break. If it turns out
there are critical uses where recompilation is not an option for some
reason, we can consider using ABI tags to ease the transition.
The file was modifiedclang/lib/Basic/Targets/RISCV.h
The file was modifiedclang/lib/Basic/Targets/WebAssembly.h
The file was modifiedclang/lib/Sema/DeclSpec.cpp
The file was modifiedclang/lib/Basic/Targets/Mips.h
The file was modifiedclang/lib/Basic/Targets/X86.h
The file was modifiedclang/lib/CodeGen/CodeGenTypes.cpp
The file was modifiedclang/lib/Sema/SemaChecking.cpp
The file was modifiedclang/test/CodeGen/builtins-overflow.c
The file was modifiedclang/test/SemaCXX/ext-int-asm.cpp
The file was modifiedclang/lib/Sema/SemaDecl.cpp
The file was modifiedclang/include/clang/Basic/Specifiers.h
The file was modifiedclang/lib/Sema/SemaDeclAttr.cpp
The file was modifiedclang/docs/LanguageExtensions.rst
The file was modifiedclang/lib/CodeGen/CodeGenFunction.cpp
The file was modifiedclang/lib/Sema/SemaExpr.cpp
The file was modifiedclang/lib/Basic/Targets/NVPTX.h
The file was modifiedclang/lib/Basic/Targets/AMDGPU.h
The file was modifiedclang/test/OpenMP/nvptx_unsupported_type_messages.cpp
The file was modifiedclang/include/clang/AST/TypeProperties.td
The file was modifiedclang/lib/CodeGen/TargetInfo.cpp
The file was modifiedclang/test/Sema/ext-int.c
The file was modifiedclang/include/clang/AST/Type.h
The file was modifiedclang/include/clang/Serialization/TypeBitCodes.def
The file was modifiedclang/lib/CodeGen/CodeGenTBAA.cpp
The file was modifiedclang/include/clang/AST/ASTContext.h
The file was modifiedclang/include/clang/Basic/DiagnosticGroups.td
The file was modifiedclang/lib/Sema/SemaTemplate.cpp
The file was modifiedclang/lib/Parse/ParseExpr.cpp
The file was modifiedclang/lib/Serialization/ASTReader.cpp
The file was modifiedclang/lib/AST/TypePrinter.cpp
The file was modifiedclang/test/CodeGen/ext-int-cc.c
The file was modifiedclang-tools-extra/test/clang-tidy/checkers/bugprone-implicit-widening-of-multiplication-result-extint.cpp
The file was modifiedclang/test/Sema/builtins.c
The file was modifiedclang/lib/CodeGen/ABIInfo.h
The file was modifiedclang/lib/Sema/SemaTemplateDeduction.cpp
The file was modifiedclang/lib/Sema/SemaTemplateVariadic.cpp
The file was modifiedclang/lib/Basic/Targets/ARM.h
The file was modifiedclang/lib/Parse/ParseExprCXX.cpp
The file was modifiedclang/lib/Sema/SemaType.cpp
The file was modifiedclang/tools/libclang/CIndex.cpp
The file was modifiedclang/include/clang/Basic/TargetInfo.h
The file was modifiedclang/lib/Basic/Targets/SPIR.h
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/lib/AST/Type.cpp
The file was modifiedclang/lib/Basic/Targets/XCore.h
The file was modifiedclang/include/clang/Sema/DeclSpec.h
The file was modifiedclang/include/clang/Sema/Sema.h
The file was modifiedclang/lib/CodeGen/ItaniumCXXABI.cpp
The file was modifiedclang/lib/Basic/Targets/ARC.h
The file was modifiedclang/include/clang/Basic/TypeNodes.td
The file was modifiedclang/lib/AST/MicrosoftMangle.cpp
The file was modifiedclang/lib/Basic/Targets/AArch64.h
The file was modifiedclang/lib/Basic/Targets/PPC.h
The file was modifiedclang/test/CodeGen/ext-int-sanitizer.cpp
The file was modifiedclang/test/CodeGenOpenCL/ext-int-shift.cl
The file was modifiedclang/docs/ReleaseNotes.rst
The file was modifiedclang/lib/AST/ItaniumMangle.cpp
The file was modifiedclang/include/clang/Basic/TokenKinds.def
The file was modifiedclang/lib/Parse/ParseDecl.cpp
The file was modifiedclang/lib/Sema/SemaStmtAsm.cpp
The file was modifiedclang/lib/AST/ASTContext.cpp
The file was modifiedclang/include/clang/AST/RecursiveASTVisitor.h
The file was modifiedclang/test/Sema/builtins-overflow.c
The file was modifiedclang/lib/Basic/Targets/SystemZ.h
The file was modifiedclang/lib/Basic/Targets/Sparc.h
The file was modifiedclang/lib/CodeGen/CGCall.cpp
The file was modifiedclang/lib/Basic/Targets/PNaCl.h
The file was modifiedclang/lib/CodeGen/CGDebugInfo.h
The file was modifiedclang/lib/Serialization/ASTWriter.cpp
The file was modifiedclang/lib/Sema/TreeTransform.h
The file was modifiedclang/test/CodeGen/attr-noundef.cpp
The file was modifiedclang/lib/AST/ExprConstant.cpp
The file was modifiedclang/test/Parser/ext-int.cpp
The file was modifiedclang/include/clang/Parse/Parser.h
The file was modifiedclang/test/CodeGenCXX/ext-int.cpp
The file was modifiedclang/lib/Basic/Targets/Hexagon.h
The file was modifiedclang/test/Sema/invalid-bitwidth-expr.mm
The file was modifiedclang/include/clang/Basic/DiagnosticParseKinds.td
The file was modifiedclang/lib/Basic/Targets/Lanai.h
The file was modifiedclang/test/CXX/temp/temp.param/p7.cpp
The file was modifiedclang/lib/CodeGen/CGDebugInfo.cpp
The file was modifiedclang/lib/Sema/Sema.cpp
The file was modifiedclang/lib/AST/ASTStructuralEquivalence.cpp
The file was modifiedclang/test/CodeGen/ext-int.c
The file was modifiedclang/lib/Parse/ParseTentative.cpp
The file was modifiedclang/test/SemaCXX/ext-int.cpp
The file was modifiedclang/include/clang/AST/TypeLoc.h
The file was modifiedclang/lib/CodeGen/CGBuiltin.cpp
The file was modifiedclang/lib/Sema/SemaLookup.cpp
The file was modifiedclang/test/CodeGen/extend-arg-64.c
Commit 4a16fe1369f3ab0e98261d4bd133034425d0523c by shutty
[llvm] [Debuginfo] Debuginfod client library.

This adds a Debuginfod client library which queries servers specified by the `DEBUGINFOD_URLS` environment variable for the debuginfo, executable, or a specified source file associated with a given build id.

Reviewed By: dblaikie

Differential Revision: https://reviews.llvm.org/D112758
The file was modifiedllvm/lib/CMakeLists.txt
The file was modifiedllvm/unittests/CMakeLists.txt
The file was modifiedllvm/include/llvm/Support/Caching.h
The file was addedllvm/unittests/Debuginfod/CMakeLists.txt
The file was addedllvm/lib/Debuginfod/Debuginfod.cpp
The file was addedllvm/include/llvm/Debuginfod/Debuginfod.h
The file was addedllvm/lib/Debuginfod/CMakeLists.txt
The file was addedllvm/unittests/Debuginfod/DebuginfodTests.cpp
Commit 327d966365d7b34abd25a920e1f7b5aecfa5c70f by martin
clang-format: [JS] test case for numeric separators.

ES2021 allows numeric literals using `_` as a separator. This already
works, but had no test.

Differential Revision: https://reviews.llvm.org/D115147
The file was modifiedclang/unittests/Format/FormatTestJS.cpp
Commit cbf682cb1c99c70fa93eb4e32aa5120e4881ba04 by paulsson
[SystemZ] Improve codegen for memset.

Memset with a constant length was implemented with a single store followed by
a series of MVC:s. This patch changes this so that one store of the byte is
emitted for each MVC, which avoids data dependencies between the MVCs. An
MVI/STC + MVC(len-1) is done for each block.

In addition, memset with a variable length is now also handled without a
libcall. Since the byte is first stored and then MVC is used from that
address, a length of two must now be subtracted instead of one for the loop
and EXRL. This requires an extra check for the one-byte case, which is
handled in a special block with just a single MVI/STC (like GCC).

Review: Ulrich Weigand

Differential Revision: https://reviews.llvm.org/D112004
The file was modifiedllvm/lib/Target/SystemZ/SystemZInstrInfo.td
The file was modifiedllvm/test/CodeGen/SystemZ/memset-02.ll
The file was modifiedllvm/lib/Target/SystemZ/SystemZISelLowering.h
The file was modifiedllvm/lib/Target/SystemZ/SystemZInstrFormats.td
The file was modifiedllvm/lib/Target/SystemZ/SystemZSelectionDAGInfo.cpp
The file was modifiedllvm/test/CodeGen/SystemZ/memset-01.ll
The file was addedllvm/test/CodeGen/SystemZ/memset-07.ll
The file was modifiedllvm/lib/Target/SystemZ/SystemZISelLowering.cpp
The file was modifiedllvm/lib/Target/SystemZ/SystemZOperators.td
The file was modifiedllvm/test/CodeGen/SystemZ/memset-04.ll
The file was modifiedllvm/test/CodeGen/SystemZ/tail-call-mem-intrinsics.ll
Commit 1feb8ab0d350640058ffa764e0aeeda2480d6302 by aaron
Update the status of N2412 in C (we do not implement large parts of it)
The file was modifiedclang/www/c_status.html
Commit f0cda7155cdc3672a715eb84f03ea3461042e48f by thakis
[gn build] (manually) port 4a16fe1369f3ab (debuginfod)
The file was addedllvm/utils/gn/secondary/llvm/lib/Debuginfod/BUILD.gn
The file was addedllvm/utils/gn/secondary/llvm/unittests/Debuginfod/BUILD.gn
The file was modifiedllvm/utils/gn/secondary/llvm/unittests/BUILD.gn
Commit 1f257accd713a8e302d3fdd2cac615a303295c42 by aaron
Speculatively fix the LLDB build bots from 6c75ab5f66b403f7ca67e86aeed3a58abe10570b

It looks like some renames got missed.
The file was modifiedlldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
The file was modifiedclang/lib/Sema/SemaTemplateDeduction.cpp
Commit 07276e49e31e10b5218e2382cedd0f1fe2cfca7d by flo
[LV] Check VPValue operand instead of Cost::isUniformAfterVec (NFC).

ILV::scalarizeInstruction still uses the original IR operands to check
if an input value is uniform after vectorization.

There is no need to go back to the cost model to figure that out, as the
information is already explicit in the VPlan. Just check directly
whether the VPValue is defined outside the plan or is a uniform
VPReplicateRecipe.

Reviewed By: Ayal

Differential Revision: https://reviews.llvm.org/D114253
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
The file was modifiedllvm/lib/Transforms/Vectorize/VPlan.h
Commit 5871969048e4bb62efc97f25a8038604501ecead by Louis Dionne
[libc++][NFC] Fix release note indentation
The file was modifiedlibcxx/docs/ReleaseNotes.rst
Commit a101a9b64b31ed20e4d18c2e395b0a3742ad1836 by a.bataev
[SLP]Fix compiler crash when calculating extract cost for undefs.

Need to add an extra check for potential undef values in
computeExtractCost function to avoid compiler crash on casting to
instructon.

Differential Revision: https://reviews.llvm.org/D115162
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
The file was addedllvm/test/Transforms/SLPVectorizer/X86/extracts-with-undefs.ll
Commit 2db67e97712e257d9784f4c3812432443f72145e by Louis Dionne
[libc++] Fix the return value of max_size()

I assume nobody ever uses std::string_view::max_size() outside of
testing. However, we should still return a value that is based on
something with a reasonable rationale. Previously, we would forget
to take into account the size of the character type stored in the
string, and this patch takes that into account.

Thanks to @mclow.lists for pointing out this issue.

Differential Revision: https://reviews.llvm.org/D114395
The file was modifiedlibcxx/include/string_view
The file was modifiedlibcxx/test/std/strings/string.view/string.view.capacity/capacity.pass.cpp
Commit 0ef8ad08db6c154f14c0e060b71106dacd8f29fd by aaron
Fix a failing test case after 6c75ab5f66b403f7ca67e86aeed3a58abe10570b

The test is the same whether it's testing _BitInt or _ExtInt, so use
the type which is not deprecated.
The file was modifiedclang/test/Sema/builtins-elementwise-math.c
Commit 64ba9dd943aab8b7bdb44a1c3ae05ed2a940280d by aschwaighofer
[coro async] Disable lifetime.start sinking for ABI::Async and ABI::Retcon

It does not handle loops correctly i.e it moves the lifetime.start
intrinsic into a loop rendering the stack object as not alive for part
of the loop.

```
  entry:
    %obj = alloca i8
    lifetime.start(%obj)

    br loop

  loop:
    coro.suspend()
    escape(%obj)
    cond_br %cond, label %exit, label loop

    br loop

  exit:
    lifetime.end(%obj

```

After sinking:

```
  entry:
    %obj = alloca i8
    br loop

  loop:
    coro.suspend()
    lifetime.start(%obj)
    escape(%obj)
    cond_br %cond, label %exit, label loop

    br loop

  exit:
    lifetime.end(%obj

```

rdar://83411917

Differential Revision: https://reviews.llvm.org/D110953
The file was addedllvm/test/Transforms/Coroutines/coro-async-addr-lifetime-start-bug.ll
The file was modifiedllvm/lib/Transforms/Coroutines/CoroFrame.cpp
Commit ead449aee4c1bd3ad309185528c430fdbd06cf2f by aaron
Fixing this test which failed due to different warnings
The file was modifiedclang/test/Sema/builtins-elementwise-math.c
Commit f45c9c56c59fd417219bea6c4a4d1dd590f9f414 by shutty
Revert "[llvm] [Debuginfo] Debuginfod client library."

This reverts commit 4a16fe1369f3ab0e98261d4bd133034425d0523c because it
caused failures on Windows builds.
The file was removedllvm/lib/Debuginfod/CMakeLists.txt
The file was modifiedllvm/unittests/CMakeLists.txt
The file was removedllvm/unittests/Debuginfod/DebuginfodTests.cpp
The file was modifiedllvm/lib/CMakeLists.txt
The file was removedllvm/lib/Debuginfod/Debuginfod.cpp
The file was removedllvm/include/llvm/Debuginfod/Debuginfod.h
The file was modifiedllvm/include/llvm/Support/Caching.h
The file was removedllvm/unittests/Debuginfod/CMakeLists.txt
Commit 4b63562ebcfa2bc194a778018e212dc3b99528f7 by thakis
Revert "[gn build] (manually) port 4a16fe1369f3ab (debuginfod)"

This reverts commit f0cda7155cdc3672a715eb84f03ea3461042e48f.
4a16fe1369f3ab got reverted in f45c9c56c59f.
The file was removedllvm/utils/gn/secondary/llvm/unittests/Debuginfod/BUILD.gn
The file was removedllvm/utils/gn/secondary/llvm/lib/Debuginfod/BUILD.gn
The file was modifiedllvm/utils/gn/secondary/llvm/unittests/BUILD.gn
Commit 73ee4e1cbd643028d63200f05199a128609aba5f by ndesaulniers
[clang][ARM] only check -mtp=cp15 for non-asm sources

This diagnostic is really to highlight lack of support for hard thread
pointers in post-RA instruction scheduling for non-armv6k+ targets;
something that isn't run for assembler sources.

Fixes: https://github.com/ClangBuiltLinux/linux/issues/1502
Link: https://lore.kernel.org/all/814585495.6773.1636629846970@jenkins.jenkins/

Reviewed By: ardb

Differential Revision: https://reviews.llvm.org/D114124
The file was modifiedclang/lib/Driver/ToolChains/Arch/ARM.cpp
The file was modifiedclang/test/Driver/clang-translation.c
The file was modifiedclang/lib/Driver/ToolChains/Arch/ARM.h
Commit 341a30a4ba4bdb537916986cbc0bac8b5b31d8f6 by gabor.marton
[clang][ASTImporter] Update lookup table correctly at deduction guides.

Declaration context of template parameters of a FunctionTemplateDecl
may be different for each one parameter if the template is a
deduction guide. This case is handled correctly after this change.

Reviewed By: martong

Differential Revision: https://reviews.llvm.org/D114418
The file was modifiedclang/lib/AST/ASTImporter.cpp
The file was modifiedclang/lib/AST/ASTImporterLookupTable.cpp
The file was modifiedclang/unittests/AST/ASTImporterTest.cpp
The file was modifiedclang/include/clang/AST/ASTImporterLookupTable.h
Commit 5983cfdc50b3110e3e6856d174e54147f2f6e6e3 by llvm-dev
[X86] LowerRotate - fix assertion. NFC.

v32i16 rotation lowering is only lowered on non-BWI targets.
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit 7c0e066869de74ece2215095f2246e43d991b942 by aschwaighofer
[coro async] Don't use lifetime.start based alloca localization for ABI.Async/ABI.Retcon

Infinite loops can lead to an IR representation where the lifetime.end
intrinsice is missing. The code to do lifetime based optimization then
fails to see that an address escapes (is life) accross a supspend.

Eventually, we could detect such situations and disable it under more narrow
circumstances. For now, do the correct thing.

rdar://83635953

Differential Revision: https://reviews.llvm.org/D110949
The file was modifiedllvm/lib/Transforms/Coroutines/CoroFrame.cpp
The file was addedllvm/test/Transforms/Coroutines/coro-async-addr-lifetime-infinite-loop-bug.ll
Commit c5fef77bc35d3ba3ad110a9622cb533fa9a47883 by rob.suderman
[mlir] Add CtPop to  MathOps with lowering to LLVM

math.ctpop maths to the llvm.ctpop intrinsic.

Reviewed By: ftynse

Differential Revision: https://reviews.llvm.org/D114998
The file was modifiedmlir/lib/Conversion/MathToLLVM/MathToLLVM.cpp
The file was modifiedmlir/include/mlir/Dialect/Math/IR/MathOps.td
The file was modifiedmlir/test/Conversion/MathToLLVM/math-to-llvm.mlir
Commit fed966f2a45614fb1c3f66a7aaf99dc75ec2026d by llvm-project
[OpenMPIRBuilder] Implicitly defined control blocks. NFC.

Do not explicitly store the BasicBlocks for Preheader, Body and After inside CanonicalLoopInfo, but look the up when needed using their position relative to the other loop control blocks. By definition, instructions inside these are not managed by CanonicalLoopInfo (except terminator for Preheader) hence it makes sense to think of them as connections to the CanonicalLoopInfo instead of part of the CanonicalLoopInfo itself.

In particular for Preheader, it makes using SplitBasicBlock easier since inserting control flow at an InsertPoint may otherwise require updating the CanonicalLoopInfo's Preheader because the branch that jumps to the header is moved to another BasicBlock.

Reviewed By: ftynse

Differential Revision: https://reviews.llvm.org/D114368
The file was modifiedllvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
The file was modifiedllvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
Commit 097a1cb1d5ebb3a0ec4bcaed8ba3ff6a8e33c00a by dblaikie
Bazel: add new llvm-c/Deprecated.h header
The file was modifiedutils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Commit 68a7c001ad9ac20bdacbc4e406fa2b4f27a74b13 by ezhulenev
[mlir] Improve async parallel for tests + fix typos

Do load and store to verify that we process each element of the iteration space once.

Reviewed By: cota

Differential Revision: https://reviews.llvm.org/D115152
The file was modifiedmlir/test/Integration/Dialect/Async/CPU/test-async-parallel-for-1d.mlir
The file was modifiedmlir/lib/Dialect/Async/Transforms/AsyncParallelFor.cpp
The file was modifiedmlir/test/Integration/Dialect/Async/CPU/test-async-parallel-for-2d.mlir
Commit 2ea3c8a50add5436cf939d59c3235408ca0255c1 by walter erquinigo
[formatters] Add a deque formatter for libstdcpp and fix the libcxx one

This adds the formatters for libstdcpp's deque as a python
implementation. It adds comprehensive tests for the two different
storage strategies deque uses. Besides that, this fixes a couple of bugs
in the libcxx implementation. Finally, both implementation run against
the same tests.

This is a minor improvement on top of Danil Stefaniuc's formatter.
The file was removedlldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/deque/Makefile
The file was removedlldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/deque/TestDataFormatterLibcxxDeque.py
The file was modifiedlldb/examples/synthetic/libcxx.py
The file was modifiedlldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
The file was addedlldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/deque/TestDataFormatterGenericDeque.py
The file was addedlldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/deque/main.cpp
The file was removedlldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/deque/main.cpp
The file was addedlldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/deque/Makefile
The file was modifiedlldb/examples/synthetic/gnu_libstdcpp.py
Commit 6622c1411339488aa086704ac3fad3b040604dff by walter erquinigo
[formatters] Add a pointer and reference tests for a list and forward_list formatters for libstdcpp and libcxx

This adds extra tests for libstdcpp and libcxx list and forward_list formatters to check whether formatter behaves correctly when applied on pointer and reference values.

Reviewed By: wallace

Differential Revision: https://reviews.llvm.org/D115137
The file was modifiedlldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/forward_list/main.cpp
The file was modifiedlldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
The file was modifiedlldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/list/TestDataFormatterGenericList.py
The file was modifiedlldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/list/main.cpp
The file was modifiedlldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/forward_list/TestDataFormatterGenericForwardList.py
Commit 3b172f60c6926b43f87de1eaa3fa4c873bdb6de4 by Yaxun.Liu
[HIP] Fix -fgpu-rdc for Windows

This patch fixes issues for -fgpu-rdc for Windows MSVC
toolchain:

Fix COFF specific section flags and remove section types
in llvm-mc input file for Windows.

Escape fatbin path in llvm-mc input file.

Add -triple option to llvm-mc.

Put __hip_gpubin_handle in comdat when it has linkonce_odr
linkage.

Reviewed by: Artem Belevich

Differential Revision: https://reviews.llvm.org/D115039
The file was modifiedclang/lib/Driver/ToolChains/HIP.cpp
The file was modifiedclang/test/Driver/hip-toolchain-rdc.hip
The file was modifiedclang/lib/CodeGen/CGCUDANV.cpp
The file was modifiedclang/test/CodeGenCUDA/device-stub.cu
Commit 2f3bb59f512f8904fb2f0d7cd7bead3172fbc5d1 by kstoimenov
[ASan] Added asan_shadow_defines.h, which contatins shadow offset for various platforms.

Reviewed By: vitalybuka

Differential Revision: https://reviews.llvm.org/D115075
The file was addedcompiler-rt/lib/asan/asan_shadow_defines.h
The file was modifiedcompiler-rt/lib/asan/asan_mapping.h
Commit 0e0f1b28fce841b077228fa23356b1ae38844ae2 by shutty
[llvm] [Debuginfo] Debuginfod client library.

This adds a Debuginfod client library which queries servers specified by the `DEBUGINFOD_URLS` environment variable for the debuginfo, executable, or a specified source file associated with a given build id.

Reviewed By: dblaikie

Differential Revision: https://reviews.llvm.org/D112758
The file was addedllvm/unittests/Debuginfod/DebuginfodTests.cpp
The file was addedllvm/lib/Debuginfod/Debuginfod.cpp
The file was modifiedllvm/lib/CMakeLists.txt
The file was addedllvm/unittests/Debuginfod/CMakeLists.txt
The file was addedllvm/lib/Debuginfod/CMakeLists.txt
The file was addedllvm/include/llvm/Debuginfod/Debuginfod.h
The file was modifiedllvm/unittests/CMakeLists.txt
The file was modifiedllvm/include/llvm/Support/Caching.h
Commit f527fdf51e7763b516f5d4ebc8c4ffb8808cd281 by 2998727+wrengr
[mlir][sparse] Code cleanup for SparseTensorConversion

Reviewed By: aartbik

Differential Revision: https://reviews.llvm.org/D115004
The file was modifiedmlir/lib/Dialect/SparseTensor/Transforms/SparseTensorConversion.cpp
Commit cc3bb85580189d4a004cfd9bd2d6286cd1c1169f by j-nagurne
[llvm][Hexagon] Generalize VLIWResourceModel, VLIWMachineScheduler, and ConvergingVLIWScheduler

The Pre-RA VLIWMachineScheduler used by Hexagon is a relatively generic
implementation that would make sense to use on other VLIW targets.

This commit lifts those classes into their own header/source file with the
root VLIWMachineScheduler. I chose this path rather than adding the
strategy et al. into MachineScheduler to avoid bloating the file with other
implementations.

Target-specific behaviors have been captured and replicated through
function overloads.

- Added an overloadable DFAPacketizer creation member function. This is
  mainly done for our downstream, which has the capability to override
  the DFAPacketizer with custom implementations. This is an upstreamable
  TODO on our end. Currently, it always returns the result of
  TargetInstrInfo::CreateTargetScheduleState
- Added an extra helper which returns the number of instructions in the
  current packet. This is used in our downstream, and may be useful
  elsewhere.
- Placed the priority heuristic values into the ConvergingVLIWscheduler
  class instead of defining them as local statics in the implementation
- Added a overridable helper in ConvergingVLIWScheduler so that targets
  can create their own VLIWResourceModel

Differential Revision: https://reviews.llvm.org/D113150
The file was addedllvm/include/llvm/CodeGen/VLIWMachineScheduler.h
The file was modifiedllvm/lib/CodeGen/CMakeLists.txt
The file was addedllvm/lib/CodeGen/VLIWMachineScheduler.cpp
The file was modifiedllvm/lib/CodeGen/MachineScheduler.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonMachineScheduler.h
The file was modifiedllvm/lib/Target/Hexagon/HexagonMachineScheduler.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonTargetMachine.cpp
The file was modifiedllvm/include/llvm/CodeGen/MachineScheduler.h
Commit abbdc13e6803562bce4e42866a9ebf7f2a04a89b by tra
[CUDA][SPIRV] Use OpenCLKernel CC for CUDA -> SPIRV

Select the OpenCLKernel calling convention for kernels when compiling
CUDA targeting SPIR-V.

In this way the generated LLVM IR will have a spir_kernel calling
convention that will be translated to an OpEntryPoint when converting
to SPIRV.

Reviewed By: jlebar, tra

Differential Revision: https://reviews.llvm.org/D114407
The file was addedclang/test/CodeGenCUDASPIRV/kernel-cc.cu
The file was modifiedclang/lib/Sema/SemaType.cpp
Commit f4606d2b70e45ec74704b062fd14f8262016503e by kstoimenov
Revert "[ASan] Added asan_shadow_defines.h, which contatins shadow offset for various platforms."

This reverts commit 2f3bb59f512f8904fb2f0d7cd7bead3172fbc5d1.

Reviewed By: kstoimenov

Differential Revision: https://reviews.llvm.org/D115193
The file was removedcompiler-rt/lib/asan/asan_shadow_defines.h
The file was modifiedcompiler-rt/lib/asan/asan_mapping.h
Commit 0890efe6137ae86591cafba889c62eeb18890225 by thakis
Reland "[gn build] (manually) port 4a16fe1369f3ab (debuginfod)"

This reverts commit 4b63562ebcfa2bc194a778018e212dc3b99528f7.
The debuginfod change relanded in 0e0f1b28fce8
The file was addedllvm/utils/gn/secondary/llvm/lib/Debuginfod/BUILD.gn
The file was modifiedllvm/utils/gn/secondary/llvm/unittests/BUILD.gn
The file was addedllvm/utils/gn/secondary/llvm/unittests/Debuginfod/BUILD.gn
Commit 92b94dabef94a261cbe9b40f001651d0726f054e by llvmgnsyncbot
[gn build] Port cc3bb8558018
The file was modifiedllvm/utils/gn/secondary/llvm/lib/CodeGen/BUILD.gn
Commit e4eb6216c2ebeac5203ff9cab8fe96f092d08c0f by thakis
Enable pdbpagesize to allow support for PDB file sizes > 4GB

Enable the pdbpagesize flag to allow linking of PDB files > 4GB.
Also includes a couple small fixes to change to uint64_t to support the
larger file sizes.  I updated the max file size check in MSFBuilder.cpp
to take into account the page size.

Differential Revision: https://reviews.llvm.org/D115051
The file was modifiedllvm/lib/DebugInfo/MSF/MSFBuilder.cpp
The file was modifiedllvm/tools/llvm-pdbutil/PdbYaml.h
The file was modifiedllvm/lib/DebugInfo/MSF/MSFError.cpp
The file was modifiedllvm/lib/DebugInfo/PDB/Native/PDBFile.cpp
The file was modifiedlld/test/COFF/pdbpagesize.test
The file was modifiedllvm/include/llvm/DebugInfo/MSF/MSFCommon.h
The file was modifiedllvm/include/llvm/DebugInfo/MSF/MSFError.h
The file was modifiedllvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h
The file was modifiedlld/COFF/DriverUtils.cpp
Commit 13278efd0c95a8b589bbd7dbbf17680a03b6eb77 by davelee.com
[lldb] Remove some trivial scoped timers

While profiling lldb (from swift/llvm-project), these timers were noticed to be short lived and high firing, and so they add noise more than value.

The data points I recorded are:

`FindTypes_Impl`: 49,646 calls, 812ns avg, 40.33ms total
`AppendSymbolIndexesWithName`: 36,229 calls, 913ns avg, 33.09ms total
`FindAllSymbolsWithNameAndType`: 36,229 calls, 1.93µs avg, 70.05ms total
`FindSymbolsWithNameAndType`: 23,263 calls, 3.09µs avg, 71.88ms total

Differential Revision: https://reviews.llvm.org/D115182
The file was modifiedlldb/source/Symbol/Symtab.cpp
The file was modifiedlldb/source/Core/Module.cpp