Changes

Summary

  1. [Attributor] Improve the Attributor::getAssumedConstant interface (details)
  2. [Attributor][FIX] Do not introduce multiple instances of SSA values (details)
  3. [Attributor][FIX] Improve call graph updating (details)
  4. [AArch64][SVE] Handle svbool_t VLST <-> VLAT/GNUT conversion (details)
  5. [llvm-mc-assemble-fuzzer] Initialize MCTargetOptions. (details)
  6. [clangd] Ensure Ref::Container refers to an indexed symbol (details)
  7. [llvm][tools] Hide remaining unrelated llvm- tool options (details)
  8. Read and write a LC_NOTE "addrable bits" for addressing mask (details)
  9. [clang-tidy] Fix crash and handle AttributedType in 'bugprone-easily-swappable-parameters' (details)
  10. [RISCV] Lower more BUILD_VECTOR sequences to RVV's VID (details)
  11. [RISCV] Fix a crash when lowering split float arguments (details)
  12. sanitizers: increase .clang-format columns to 100 (details)
  13. [AArch64] Add and update reduction and shuffle costs. NFC (details)
  14. [clang] Use i64 for the !srcloc metadata on asm IR nodes. (details)
  15. [libomptarget][amdgpu][nfc] Drop dead signal pool setup (details)
  16. [InstCombine] Fold (gep (oneuse(gep Ptr, Idx0)), Idx1) -> (gep Ptr, (add Idx0, Idx1)) (PR51069) (details)
  17. [clang][lex] NFC: Add explicit cast to silence -Wsign-compare (details)
  18. [clang][AST] Add support for DecompositionDecl to ASTImporter. (details)
  19. [hwasan] Use stack safety analysis. (details)
  20. [LoopIdiom] Transform memmove-like loop into memmove (PR46179) (details)
  21. Revert "[hwasan] Use stack safety analysis." (details)
  22. [lldb] Generalize empty record size computation to avoid giving empty C++ structs a size of 0 (details)
  23. [lldb][NFCI] Remove redundant accessibility heuristic in the DWARF parser (details)
  24. Add support for zero-sized Scalars as a LowLevelType (details)
  25. [LoopVectorize] Fix crash for predicated instruction with scalable VF (details)
  26. [lldb] Fix that `process signal` completion always returns all signals (details)
  27. [clang][fpenv][patch] Change clang option -ffp-model=precise to select ffp-contract=on (details)
  28. [lldb/Plugins] Add ScriptedProcess Process Plugin (details)
  29. [lldb][NFC] Allow range-based for loops over DWARFDIE's children (details)
  30. Implement _ExtInt conversion rules (details)
  31. [gn build] (manually) port 78bda894129 from 2012 because 924d62ca4a85 added it to check-llvm (details)
  32. [OpenMP] Fix warnings for uninitialized block counts (details)
  33. [Transforms] Remove getOrCreateInitFunction (NFC) (details)
  34. [lldb] Fix TestCompletion by using SIGPIPE instead of SIGINT as test signal (details)
  35. Revert "[clang][fpenv][patch] Change clang option -ffp-model=precise to select ffp-contract=on" (details)
  36. [AArch64][SME] Improve diagnostic for vector select register (details)
  37. [libomptarget][nfc] Improve static assert message in dlwrap (details)
  38. [HIP] Fix no matching constructor for init of shared_ptr and malloc (details)
  39. [OPENMP]Fix PR49787: Codegen for calling __tgt_target_teams_nowait_mapper has too few arguments. (details)
  40. [lldb] Remove a wrong assert in TestStructTypes that checks that empty structs in C always have size 0 (details)
  41. Revert "[OPENMP]Fix PR49787: Codegen for calling __tgt_target_teams_nowait_mapper has too few arguments." (details)
  42. [lld/mac] Move handling of special undefineds later (details)
  43. [OPENMP]Fix PR49787: Codegen for calling __tgt_target_teams_nowait_mapper has too few arguments. (details)
  44. [OpenCL][NFC] Refactors lang version check in test. (details)
  45. [PowerPC] Add PowerPC "__stbcx" builtin and intrinsic for XL compatibility (details)
  46. [libomptarget][amdgpu] Implement dlopen of libhsa (details)
  47. [MLIR][memref] Fix findDealloc() to handle > 1 dealloc for the given alloc. (details)
  48. [test] Add llvm-stress to LLVM_TEST_DEPENDS and lit substitutions (details)
  49. [OpenMPOpt] Add support for BooleanStateWithSetVector (details)
  50. [CostModel][X86] Adjust shift SSE legalized costs based on llvm-mca reports. (details)
  51. [AArch64] Adjust the cost of integer sum reductions (details)
  52. [clang][driver][darwin] Add driver support for Mac Catalyst (details)
  53. [InstCombine][test] add coverage for possible fabs folds; NFC (details)
  54. [mlir] Improve description of interface options (details)
  55. [Matrix] Fix miscompile for NT matmul if the transpose has other use (details)
  56. [clang][test] Add -fuse-ld= to test case added in 2542c1a5a130 to resolve test failure with CLANG_DEFAULT_LINKER=lld (details)
  57. [libc++][docs] Take lock for range.single.view. (details)
  58. [libc++] Add helper type non-propagating-cache (details)
  59. [Matrix] Fix -Wunused-variable in -DLLVM_ENABLE_ASSERTIONS=off build after D106457. NFC (details)
  60. [ARC] Add disassembly for the conditioned RSUB immediate instruction (details)
  61. [X86] Fix SLM FP<->INT throughputs. (details)
  62. [gn build] Port 3959c95deb11 (details)
  63. Correctly diagnose taking the address of a register variable in C (details)
  64. [libomptarget][amdgpu][nfc] Replace use of gelf.h with libelf.h (details)
  65. [CostModel][X86] Fix funnel shift check prefixes (details)
  66. [CostModel][X86] Adjust shift SSE4 legalized costs based on llvm-mca reports. (details)
  67. [nfc] Fix typo in comment, s/node/note (details)
  68. [clang-tidy] performance-unnecessary-copy-initialization: Disable check when variable and initializer have different replaced template param types. (details)
  69. [NFC][SimplifyCFG] Add some more tests w/ two-entry PHI nodes and (details)
  70. [SimplifyCFG] FoldTwoEntryPHINode(): bailout on inverted logical and/or (PR51149) (details)
  71. [libomptarget][amdgpu][nfc] Normalise license headers (details)
  72. [mlir] Update to use ValueShapeRange (NFC) (details)
  73. [AIX] Clang's library integration support for 128-bit long double is incomplete on AIX. (details)
  74. [LICM][SCCP] Regenerate test checks (NFC) (details)
  75. Fix TSAN signal interceptor out-of-bound access (details)
  76. [AIX] Generate large code model relocations when mcmodel=medium on AIX (details)
  77. [ms] [llvm-ml] Fix macro case-insensitivity (details)
  78. [NFCI][TLI] prepare[US]REMEqFold(): don't add nonsensical 'exact' flag to rotates created (details)
  79. [AIX] Define __LONGDOUBLE64 macro (details)
  80. [NFC][MLGO] Fix vector sizing (details)
  81. [WebAssembly] Implementation of global.get/set for reftypes in LLVM IR (details)
  82. [clang-tidy] performance-unnecessary-copy-initialization: Create option to exclude container types from triggering the check. (details)
  83. [MLGO] Correct protobuf path (details)
  84. [LLD] [COFF] Make -export-all-symbols work as intended for EXEs (details)
  85. [lldb/Interpreter] Conform ScriptedProcessPythonInterface to SWIG python types (details)
  86. [lldb] Fix build failure introduced by 3d4cadfb26437bd686ca8177f5454a366fed59eb (details)
  87. [mlir] Also update inferReturnTensorTypes (NFC) (details)
  88. Reland: "[WebAssembly] Deduplicate imports of the same module name, field name, and type" (details)
  89. [NFC] Fix test build breakage on Darwin (details)
  90. [asan] Modified ASAN_MEMORY_ACCESS_CALLBACK to use a function call to ReportGenericErrorWrapper. (details)
  91. [DWP] Refactoring llvm-dwp in to a library part 2 (details)
  92. [NFC][SimplifyCFG] Add test for SimplifyCondBranchToTwoReturns() mishandling (details)
  93. [NFC][LoopDeletion] Autogenerate checlines in simplify-then-delete.ll test (details)
  94. [SimplifyCFG] SimplifyCondBranchToTwoReturns(): really only deal with different ret blocks (details)
  95. [dfsan] Make warn_unimplemented off by default (details)
  96. PR51158: Don't emit -Wswitch or -Wcovered-switch-default for empty enums (details)
  97. [DebugInfo] Add -fno-ctor-homing for as counterpart to -fuse-ctor-homing (details)
  98. [Bazel] Update for f8c6515554 (details)
  99. [AArch64] Regenerate test arm64-ccmp.ll (details)
  100. Fix the logic so stop-hooks get run after a breakpoint that ran an expression (details)
  101. [OpenMP] Renaming RT functions `GetNumberOfBlocksInKernel` and `GetNumberOfThreadsInBlock` (details)
  102. [dfsan] Add wrappers for v*printf functions (details)
  103. [mlir][tosa] Quantized Conv2DOp lowering to linalg added. (details)
  104. [Bazel] Change external_zlib attribute to string (details)
  105. [docs] Add the compiler-rt requirement to the test suite doc (details)
  106. [Bazel] Rename LLVMDWP to DWP (details)
  107. [hwasan] Use stack safety analysis. (details)
  108. [OpenMP] Refined the logic to give a regular task from a hidden helper task (details)
  109. [MLGO] Strip TF_PIP cmake variable (details)
  110. [libcxx][modularisation] properly modularises advance, next, and prev (details)
  111. [lld/mac] Fix bug in interaction of -dead_strip and -undefined dynamic_lookup (details)
  112. [WebAssembly][NFC] Update test expectations labels after db7efcab7dd9 (details)
  113. Add llvm-readobj and binutils symlinks to LLVM_TOOLCHAIN_TOOLS (details)
  114. [gn build] (manually) port f8c6515554cc (libLLVMDWP) (details)
  115. [lld/mac] Handle symbols from -U in treatUndefinedSymbol() (details)
  116. [CSSPGO] Fix a typo in SampleContextTracker (details)
  117. [ELF][test] Add a test about GCable SHF_LINK_ORDER SHT_INIT_ARRAY (details)
  118. [ELF] --gc-sections: allow GC on reserved sections in a group (details)
  119. [profile] Add binary id into profiles (details)
  120. [ARC] Add tablegen definition for the Find Leading Set (FLS) instruction (details)
  121. [mlir][tosa] Make tosa MakeBroadcastable pass handle unreanked tensors. (details)
  122. [NFC][asan] Always pass Dominator Trees into forAllReachableExits (details)
  123. [compiler-rt] Fix lld dependency for sanitizers (details)
  124. [OpenMP] Use AAHeapToStack/AAHeapToShared analysis in SPMDization (details)
  125. [PowerPC] Implement XL compatible behavior of __compare_and_swap (details)
  126. [Attributor][Fix] Add overrides for AA2HS analysis (details)
  127. [lld/mac] Remove "else" after return (details)
  128. [gn build] Reformat all gn files (details)
  129. [gn build] Allow use_asan=true on macOS (details)
  130. [OpenMP] Add environment variables to change stack / heap size in the CUDA plugin (details)
  131. [OpenMP][NFC] Fix formatting in CUDA plugin (details)
  132. [lld-macho] Disambiguate bitcode files with the same name by archive name/offset in archive (details)
  133. cmake: Remove unused property on some targets: LLVM_LINK_LIBS (details)
  134. [mlir] Fix comment typos (details)
  135. [RISCV] Add FrameSetup/FrameDestroy flag to prologue/epilog instructions. (details)
  136. [Attributor] If provided, only look at simplification callbacks not IR (details)
  137. [OpenMP] Simplify the ThreadStackTy for globalization fallback (details)
  138. [libc] Raise denormal exception if the libc defines __FE_DENORM. (details)
  139. [SelectionDAG][RISCV] Add tests showing missed scalable-splat optimizations (details)
  140. [X86] Add test case simplified from PR51175. NFC (details)
  141. [NFC] Fix early line-break in doxygen comment (details)
  142. [AArch64][AsmParser] NFC: when creating a token IsSuffix=false should be default (details)
Commit c819266ecc8fa12e0d567be6b4dd7ea9c4eede87 by johannes
[Attributor] Improve the Attributor::getAssumedConstant interface

Similar to Attributor::getAssumedSimplified we need to allow IRPs
directly to get the right simplification callback (and context).
The file was modifiedllvm/lib/Transforms/IPO/Attributor.cpp
The file was modifiedllvm/include/llvm/Transforms/IPO/Attributor.h
Commit 94d3b59c563c077df560401945f32c55f7783e4c by johannes
[Attributor][FIX] Do not introduce multiple instances of SSA values

If we have a recursive function we could create multiple instantiations
of an SSA value, one per recursive invocation of the function. This is a
problem as we use SSA value equality in various places. The basic idea
follows from this test:

```
static int r(int c, int *a) {
  int X;
  return c ? r(false, &X) : a == &X;
}

int test(int c) {
  return r(c, undef);
}
```

If we look through the argument `a` we will end up with `X`. Using SSA
value equality we will fold `a == &X` to true and return true even
though it should have been false because `a` and `&X` are from different
instantiations of the function.

Various tests for this  have been placed in value-simplify-instances.ll
and this commit fixes them all by avoiding to produce simplified values
that could be non-unique at runtime. Thus, the result of a simplify
value call will always be unique at runtime or the original value, both
do not allow to accidentally compare two instances of a value with each
other and conclude they are equal statically (pointer equivalence) while
they are unequal at runtime.
The file was modifiedllvm/test/Transforms/Attributor/memory_locations.ll
The file was modifiedllvm/include/llvm/Transforms/IPO/Attributor.h
The file was modifiedllvm/lib/Transforms/IPO/Attributor.cpp
The file was modifiedllvm/lib/Transforms/IPO/AttributorAttributes.cpp
The file was modifiedllvm/test/Transforms/Attributor/value-simplify-instances.ll
Commit 0c0eb76782d5224b8d81a5afbb9a152bcf7c94c7 by johannes
[Attributor][FIX] Improve call graph updating

If we remove a non-intrinsic instruction we need to tell the (old) call
graph about it. This caused problems with some features down the line as
they allowed to removed calls more aggressively.
The file was modifiedllvm/lib/Transforms/IPO/Attributor.cpp
Commit 599b2f00370ee79e812d2776f2af57fae36d02e9 by JunMa
[AArch64][SVE] Handle svbool_t VLST <-> VLAT/GNUT conversion

According to https://godbolt.org/z/q5rME1naY and acle, we found that
there are different SVE conversion behaviours between clang and gcc. It turns
out that llvm does not handle SVE predicates width properly.

This patch 1) checks SVE predicates width rightly with svbool_t type.
2) removes warning on svbool_t VLST <-> VLAT/GNUT conversion.
3) disables VLST <-> VLAT/GNUT conversion between SVE vectors and predicates
due to different width.

Differential Revision: https://reviews.llvm.org/D106333
The file was modifiedclang/test/CodeGen/attr-arm-sve-vector-bits-codegen.c
The file was modifiedclang/test/SemaCXX/aarch64-sve-explicit-casts-fixed-size.cpp
The file was modifiedclang/test/SemaCXX/aarch64-sve-lax-vector-conversions.cpp
The file was modifiedclang/lib/AST/ASTContext.cpp
The file was modifiedclang/test/SemaCXX/attr-arm-sve-vector-bits.cpp
The file was modifiedclang/lib/Sema/SemaChecking.cpp
Commit 0fe7531b75e54909a7cb7f7080634ab2053964ad by kai.wang
[llvm-mc-assemble-fuzzer] Initialize MCTargetOptions.

When run the command in the llvm-mc-assemble-fuzzer document,

```
llvm-mc-fuzzer --triple=aarch64-linux-gnu --fuzzer-args -max_len=4
```

it triggers the following assertion:

```
llvm-mc-assemble-fuzzer:
llvm-project/llvm/lib/MC/MCTargetOptionsCommandFlags.cpp:38:
bool llvm::mc::getRelaxAll(): Assertion `RelaxAllView &&
"RegisterMCTargetOptionsFlags not created."' failed.
```

It is caused by no global RegisterMCTargetOptionsFlags object to initialize
the MC target options.

Differential Revision: https://reviews.llvm.org/D106417
The file was modifiedllvm/tools/llvm-mc-assemble-fuzzer/llvm-mc-assemble-fuzzer.cpp
Commit f443793d26c39a78cfedea5a8cc2ad23e1253d84 by zeratul976
[clangd] Ensure Ref::Container refers to an indexed symbol

Fixes https://github.com/clangd/clangd/issues/806

Differential Revision: https://reviews.llvm.org/D105083
The file was modifiedclang-tools-extra/clangd/index/SymbolCollector.cpp
The file was modifiedclang-tools-extra/clangd/unittests/CallHierarchyTests.cpp
The file was modifiedclang-tools-extra/clangd/unittests/SymbolCollectorTests.cpp
Commit 924d62ca4a856f11caf90fd48ebc924733c5c3dc by tbaeder
[llvm][tools] Hide remaining unrelated llvm- tool options

Differential Revision: https://reviews.llvm.org/D106430
The file was addedllvm/test/tools/llvm-reduce/help.test
The file was addedllvm/test/tools/llvm-rtdyld/help.test
The file was addedllvm/test/tools/llvm-stress/help.test
The file was modifiedllvm/tools/llvm-stress/llvm-stress.cpp
The file was modifiedllvm/tools/llvm-undname/llvm-undname.cpp
The file was addedllvm/test/tools/llvm-undname/help.test
The file was addedllvm/test/tools/llvm-split/help.test
The file was modifiedllvm/tools/llvm-split/llvm-split.cpp
The file was modifiedllvm/tools/llvm-reduce/llvm-reduce.cpp
The file was modifiedllvm/tools/llvm-rtdyld/llvm-rtdyld.cpp
Commit cdc6f8d728208d2f06c1c632a41d930e172b4fb5 by Jason Molenda
Read and write a LC_NOTE "addrable bits" for addressing mask

This patch adds code to process save-core for Mach-O files which
embeds an "addrable bits" LC_NOTE when the process is using a
code address mask (e.g. AArch64 v8.3 with ptrauth aka arm64e).
Add code to ObjectFileMachO to read that LC_NOTE from corefiles,
and ProcessMachCore to set the process masks based on it when reading
a corefile back in.

Also have "process status --verbose" print the current address masks
that lldb is using internally to strip ptrauth bits off of addresses.

Differential Revision: https://reviews.llvm.org/D106348
rdar://68630113
The file was modifiedlldb/include/lldb/Symbol/ObjectFile.h
The file was modifiedlldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
The file was addedlldb/test/API/macosx/lc-note/addrable-bits/TestAddrableBitsCorefile.py
The file was modifiedlldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.h
The file was addedlldb/test/API/macosx/lc-note/addrable-bits/Makefile
The file was modifiedlldb/include/lldb/Target/Process.h
The file was modifiedlldb/source/Plugins/Process/mach-core/ProcessMachCore.cpp
The file was addedlldb/test/API/macosx/lc-note/addrable-bits/main.c
The file was modifiedlldb/source/Commands/CommandObjectProcess.cpp
Commit 473eff1c3057185758bf35f0c052a873b1bdb6a9 by whisperity
[clang-tidy] Fix crash and handle AttributedType in 'bugprone-easily-swappable-parameters'

@vabridgers identified a way to crash the check by running on code that
involve `AttributedType`s. This patch fixes the check to first and
foremost not crash, but also improves the logic handling qualifiers.

If the types contain any additional (not just CVR) qualifiers that are
not the same, they will not be deemed mixable. The logic for CVR-Mixing
and the `QualifiersMix` check option remain unchanged.

Reviewed By: aaron.ballman, vabridgers

Differential Revision: http://reviews.llvm.org/D106361
The file was modifiedclang-tools-extra/clang-tidy/bugprone/EasilySwappableParametersCheck.cpp
The file was modifiedclang-tools-extra/test/clang-tidy/checkers/bugprone-easily-swappable-parameters-qualifiermixing.cpp
The file was modifiedclang-tools-extra/test/clang-tidy/checkers/bugprone-easily-swappable-parameters-len2.cpp
Commit 7b3a69bc16515b0b28c520fba0fe0f51fcd3ea33 by fraser
[RISCV] Lower more BUILD_VECTOR sequences to RVV's VID

This relands a6ca88e908b5befcd9b0f8c8cb40f53095cc17bc which was originally
reverted due to overflow bugs in e3fa2b1eab60342dc882b7b888658b03c472fa2b.

This patch teaches the compiler to identify a wider variety of
`BUILD_VECTOR`s which form integer arithmetic sequences, and to lower
them to `vid.v` with modifications for non-unit steps and non-zero
addends.

The sequences handled by this optimization must either be monotonically
increasing or decreasing. Consecutive elements holding the same value
indicate a fractional step which, while simple mathematically,
becomes more complex to handle both in the realm of lossy integer
division and in the presence of `undef`s.

For example, a common "interleaving" shuffle index will be lowered by
LLVM to both `<0,u,1,u,2,...>` and `<u,0,u,1,u,...>` `BUILD_VECTOR`
nodes. Either of these would ideally be lowered to `vid.v` shifted right
by 1. Detection of this sequence in presence of general `undef` values
is more complicated, however: `<0,u,u,1,>` could match either
`<0,0,0,1,>` or `<0,0,1,1,>` depending on later values in the sequence.
Both are possible, so backtracking or multiple passes is inevitable.

Sticking to monotonic sequences keeps the logic simpler as it can be
done in one pass. Fractional steps will likely be a separate
optimization in a future patch.

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D104921
The file was modifiedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-shuffles.ll
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.cpp
The file was modifiedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-shuffles.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-stepvector-rv64.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-int.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-buildvec.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-stepvector-rv32.ll
Commit b115c038d2d4de15e240d15c6770df5c496b60b6 by fraser
[RISCV] Fix a crash when lowering split float arguments

Lowering certain float vectors without legal vector types could cause a
crash due to a bad interaction between passing floats via GPRs and
argument splitting. Split vector floats appear just like scalar floats.
Under certain situations we choose to pass these float arguments via
GPRs and use an XLenVT location and set the 'BCvt' info to track how
they must be converted back to floating-point values. However, later
logic for handling split arguments may take over, in which case we lose
the previous information and set the 'Indirect' info, thus incorrectly
lowering to integer types.

I don't believe that we would have come across the notion of split
floating-point arguments before. This patch addresses the issue by
updating the lowering so that split arguments are only passed indirectly
when they are scalar integer types.

This has some change to how we lower some larger illegal float vectors,
as can be seen in 'fastcc-float.ll' where the vector is now passed
partly in registers and partly on the stack.

Reviewed By: luismarques

Differential Revision: https://reviews.llvm.org/D102852
The file was addedllvm/test/CodeGen/RISCV/calling-conv-vector-float.ll
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.cpp
The file was modifiedllvm/test/CodeGen/RISCV/fastcc-float.ll
Commit 5d1df6d220f1d6f726d9643848679d781750db64 by dvyukov
sanitizers: increase .clang-format columns to 100

The current (default) line length is 80 columns.
That's based on old hardware and historical conventions.
There are no existent reasons to keep line length that small,
especially provided that our coding style uses quite lengthy
identifiers. The Linux kernel recently switched to 100,
let's start with 100 as well.

This change intentionally does not re-format code.
Re-formatting is intended to happen incrementally,
or on dir-by-dir basis separately.

Reviewed By: vitalybuka, melver, MaskRay

Differential Revision: https://reviews.llvm.org/D106436
The file was modifiedcompiler-rt/lib/interception/.clang-format
The file was modifiedcompiler-rt/lib/lsan/.clang-format
The file was modifiedcompiler-rt/lib/tsan/.clang-format
The file was modifiedcompiler-rt/lib/asan/.clang-format
The file was modifiedcompiler-rt/lib/dfsan/.clang-format
The file was modifiedcompiler-rt/lib/hwasan/.clang-format
The file was modifiedcompiler-rt/lib/sanitizer_common/.clang-format
The file was modifiedcompiler-rt/lib/msan/.clang-format
The file was modifiedcompiler-rt/lib/safestack/.clang-format
Commit a92974bfdf4fe3a3ac5e284ed3db174291bcbcba by david.green
[AArch64] Add and update reduction and shuffle costs. NFC
The file was modifiedllvm/test/Analysis/CostModel/AArch64/reduce-and.ll
The file was addedllvm/test/Analysis/CostModel/AArch64/reduce-minmax.ll
The file was modifiedllvm/test/Analysis/CostModel/AArch64/reduce-xor.ll
The file was addedllvm/test/Analysis/CostModel/AArch64/reduce-add.ll
The file was modifiedllvm/test/Analysis/CostModel/AArch64/reduce-or.ll
The file was modifiedllvm/test/Analysis/CostModel/AArch64/vector-reduce.ll
The file was addedllvm/test/Analysis/CostModel/AArch64/shuffle-other.ll
Commit bd41136746a0b47882914cee5a8d1ac6714288d1 by simon.tatham
[clang] Use i64 for the !srcloc metadata on asm IR nodes.

This is part of a patch series working towards the ability to make
SourceLocation into a 64-bit type to handle larger translation units.

!srcloc is generated in clang codegen, and pulled back out by llvm
functions like AsmPrinter::emitInlineAsm that need to report errors in
the inline asm. From there it goes to LLVMContext::emitError, is
stored in DiagnosticInfoInlineAsm, and ends up back in clang, at
BackendConsumer::InlineAsmDiagHandler(), which reconstitutes a true
clang::SourceLocation from the integer cookie.

Throughout this code path, it's now 64-bit rather than 32, which means
that if SourceLocation is expanded to a 64-bit type, this error report
won't lose half of the data.

The compiler will tolerate both of i32 and i64 !srcloc metadata in
input IR without faulting. Test added in llvm/MC. (The semantic
accuracy of the metadata is another matter, but I don't know of any
situation where that matters: if you're reading an IR file written by
a previous run of clang, you don't have the SourceManager that can
relate those source locations back to the original source files.)

Original version of the patch by Mikhail Maltsev.

Reviewed By: dexonsmith

Differential Revision: https://reviews.llvm.org/D105491
The file was modifiedllvm/lib/IR/LLVMContext.cpp
The file was modifiedllvm/lib/CodeGen/MachineInstr.cpp
The file was modifiedllvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
The file was modifiedllvm/include/llvm/IR/LLVMContext.h
The file was modifiedclang/lib/CodeGen/CGStmt.cpp
The file was modifiedllvm/test/MC/ARM/inline-asm-srcloc.ll
The file was modifiedllvm/include/llvm/IR/DiagnosticInfo.h
Commit dc1f6f8b92315fb90d9694df85ae2ce7a4a4f7e0 by jonathanchesterfield
[libomptarget][amdgpu][nfc] Drop dead signal pool setup

This class is instantiated once in rtl.cpp before hsa_init is
called. The hsa_signal_create call therefore fails leaving the pool empty.

This signal pool is a legacy from ATMI where it was constructed after hsa_init.
Moving the state into the rtl.cpp global class disabled the initial populating
of the pool without noticeably changing performance. Just rechecked with a fix
that allocates the signals after hsa_init and that also doesn't noticeably
change performance.

This patch therefore drops the initialisation. Only change from main is to
drop a DEBUG_PRINT statement that would say the pool initial size is zero.

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D106515
The file was modifiedopenmp/libomptarget/plugins/amdgpu/impl/internal.h
Commit 1c9bec727ab5c53fa060560dc8d346a911142170 by llvm-dev
[InstCombine] Fold (gep (oneuse(gep Ptr, Idx0)), Idx1) -> (gep Ptr, (add Idx0, Idx1)) (PR51069)

As noticed on D106352, after we've folded "(select C, (gep Ptr, Idx), Ptr) -> (gep Ptr, (select C, Idx, 0))" if the inner Ptr was also a (now one use) gep we could then merge the geps, using the sum of the indices instead.

I've limited this to basic 2-op geps - a more general case further down InstCombinerImpl.visitGetElementPtrInst doesn't have the one-use limitation but only creates the add if it can be created via SimplifyAddInst.

https://alive2.llvm.org/ce/z/f8pLfD (Thanks Roman!)

Differential Revision: https://reviews.llvm.org/D106450
The file was modifiedllvm/test/Transforms/LoopVectorize/interleaved-accesses.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/consecutive-ptr-uniforms.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstructionCombining.cpp
The file was modifiedllvm/test/Transforms/InstCombine/gep-custom-dl.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/ARM/mve-reduction-predselect.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/AArch64/sve-vector-reverse.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/AArch64/vector-reverse-mask4.ll
The file was modifiedllvm/test/Transforms/InstCombine/getelementptr.ll
The file was modifiedllvm/test/Transforms/InstCombine/gep-combine-loop-invariant.ll
The file was modifiedllvm/test/Transforms/InstCombine/shift.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/X86/x86-interleaved-accesses-masked-group.ll
The file was modifiedllvm/test/Transforms/InstCombine/select-gep.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/ARM/mve-reductions.ll
Commit aa245ddd4627c98083eb372b95e049073aeb36d2 by Jan Svoboda
[clang][lex] NFC: Add explicit cast to silence -Wsign-compare
The file was modifiedclang/lib/Lex/LiteralSupport.cpp
Commit 41adc09b221170065e227f43c7fd21ffce5e2a6e by 1.int32
[clang][AST] Add support for DecompositionDecl to ASTImporter.

BindingDecl was added recently but the related DecompositionDecl is needed
to make C++17 structured bindings importable.
Import of BindingDecl was changed to avoid infinite import loop.

Reviewed By: martong

Differential Revision: https://reviews.llvm.org/D105354
The file was modifiedclang/unittests/AST/ASTImporterTest.cpp
The file was modifiedclang/lib/AST/ASTImporter.cpp
Commit bde9415fef25e9ff6e10595a2f4f5004dd62f10a by fmayer
[hwasan] Use stack safety analysis.

This avoids unnecessary instrumentation.

Reviewed By: eugenis, vitalybuka

Differential Revision: https://reviews.llvm.org/D105703
The file was modifiedllvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
The file was addedllvm/test/Instrumentation/HWAddressSanitizer/stack-safety-analysis.ll
The file was modifiedclang/lib/CodeGen/BackendUtil.cpp
The file was modifiedllvm/include/llvm/Transforms/Instrumentation/HWAddressSanitizer.h
The file was addedclang/test/CodeGen/hwasan-stack-safety-analysis.c
Commit 11338e998df1d577cee61e3443da750686c14475 by dawid_jurek
[LoopIdiom] Transform memmove-like loop into memmove (PR46179)

The purpose of patch is to learn Loop idiom recognition pass how to recognize simple memmove patterns
in similar way like GCC: https://godbolt.org/z/fh95e83od
LoopIdiomRecognize already has machinery for memset and memcpy recognition, patch tries to extend exisiting capabilities with minimal effort.

Differential Revision: https://reviews.llvm.org/D104464
The file was modifiedllvm/test/Transforms/LoopIdiom/basic.ll
The file was modifiedllvm/test/Transforms/LoopIdiom/X86/unordered-atomic-memcpy.ll
The file was modifiedllvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
Commit 789a4a2e5c30b3eee632446d5b99bba808587836 by fmayer
Revert "[hwasan] Use stack safety analysis."

This reverts commit bde9415fef25e9ff6e10595a2f4f5004dd62f10a.
The file was modifiedllvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
The file was removedllvm/test/Instrumentation/HWAddressSanitizer/stack-safety-analysis.ll
The file was modifiedllvm/include/llvm/Transforms/Instrumentation/HWAddressSanitizer.h
The file was removedclang/test/CodeGen/hwasan-stack-safety-analysis.c
The file was modifiedclang/lib/CodeGen/BackendUtil.cpp
Commit 67c588c481bb2fb9f72459fbc205c3e1ee8c4b3b by Raphael Isemann
[lldb] Generalize empty record size computation to avoid giving empty C++ structs a size of 0

C doesn't allow empty structs but Clang/GCC support them and give them a size of 0.

LLDB implements this by checking the tag kind and if it's `DW_TAG_structure_type` then
we give it a size of 0 via an empty external RecordLayout. This is done because our
internal TypeSystem is always in C++ mode (which means we would give them a size
of 1).

The current check for when we have this special case is currently too lax as types with
`DW_TAG_structure_type` can also occur in C++ with types defined using the `struct`
keyword. This means that in a C++ program with `struct Empty{};`, LLDB would return
`0` for `sizeof(Empty)` even though the correct size is 1.

This patch removes this special case and replaces it with a generic approach that just
assigns empty structs the byte_size as specified in DWARF. The GCC/Clang special
case is handles as they both emit an explicit `DW_AT_byte_size` of 0. And if another
compiler decides to use a different byte size for this case then this should also be
handled by the same code as long as that information is provided via `DW_AT_byte_size`.

Reviewed By: werat, shafik

Differential Revision: https://reviews.llvm.org/D105471
The file was addedlldb/test/API/lang/cpp/sizeof/TestCPPSizeof.py
The file was addedlldb/test/API/lang/c/sizeof/main.c
The file was addedlldb/test/API/lang/cpp/sizeof/main.cpp
The file was addedlldb/test/API/lang/c/sizeof/Makefile
The file was addedlldb/test/API/lang/cpp/sizeof/Makefile
The file was addedlldb/test/API/lang/c/sizeof/TestCSizeof.py
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
Commit 12a89e14b83ac3db9e44f535a43bb11e7b6c3601 by Raphael Isemann
[lldb][NFCI] Remove redundant accessibility heuristic in the DWARF parser

LLDB's DWARF parser has some heuristics for guessing and fixing up the
accessibility of C++ class/struct members after they were already created in the
internal Clang AST. The heuristic is that if a struct/class has a base class,
then it's actually a class and it's members are private unless otherwise
specified.

From what I can see this heuristic isn't sound and also unnecessary. The idea
that inheritance implies that the `class` keyword was used and the default
visibility is `private` is incorrect. Also both GCC and Clang use
`DW_TAG_structure_type` and `DW_TAG_class_type` for `struct` and `class` types
respectively, so the default visibility we infer from that information is always
correct and there is no need to fix it up.

And finally, the access specifiers we set in the Clang AST are anyway unused
within LLDB. The expression parser explicitly ignores them to give users access
to private members and there is not SBAPI functionality that exposes this
information.

This patch removes all the heuristic code for the reasons above and instead
just relies on the access values we infer from the tag kind and explicit
annotations in DWARF.

This patch is NFCI.

Reviewed By: werat

Differential Revision: https://reviews.llvm.org/D105463
The file was modifiedlldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
The file was modifiedlldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
Commit 842e718b666f028e8fd3ea72d999fb5848767a02 by pmatos
Add support for zero-sized Scalars as a LowLevelType

Opaque values (of zero size) can be stored in memory with the
implemention of reference types in the WebAssembly backend. Since
MachineMemOperand uses LLTs we need to be able to support
zero-sized scalars types in LLTs.

Differential Revision: https://reviews.llvm.org/D105423
The file was modifiedllvm/unittests/CodeGen/LowLevelTypeTest.cpp
The file was modifiedllvm/lib/Support/LowLevelType.cpp
The file was modifiedllvm/include/llvm/Support/LowLevelTypeImpl.h
Commit 5a4de84d55faa5502de38b4f7ec6c6ed43d90043 by caroline.concatto
[LoopVectorize] Fix crash for predicated instruction with scalable VF

This patch avoids computing discounts for predicated instructions  when the
VF is scalable.
There is no support for vectorization of loops with division because the
vectorizer cannot guarantee that zero divisions will not happen.

This loop now does not use VF scalable

```
for (long long i = 0; i < n; i++)
    if (cond[i])
      a[i] /= b[i];
```

Differential Revision: https://reviews.llvm.org/D101916
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
The file was addedllvm/test/Transforms/LoopVectorize/AArch64/scalable-predicate-instruction.ll
Commit 078003482e90ff5c7ba047a3d3152f0b0c392b31 by Raphael Isemann
[lldb] Fix that `process signal` completion always returns all signals

`CompletionRequest::AddCompletion` adds the given string as completion of the
current command token. `CompletionRequest::TryCompleteCurrentArg` only adds it
if the current token is a prefix of the given string. We're using
`AddCompletion` for the `process signal` handler which means that `process
signal SIGIN` doesn't get uniquely completed to `process signal SIGINT` as we
unconditionally add all other signals (such as `SIGABRT`) as possible
completions.

By using `TryCompleteCurrentArg` we actually do the proper filtering which will
only add `SIGINT` (as that's the only signal with the prefix 'SIGIN' in the
example above).

Reviewed By: mib

Differential Revision: https://reviews.llvm.org/D105028
The file was modifiedlldb/source/Commands/CommandObjectProcess.cpp
The file was modifiedlldb/test/API/functionalities/completion/TestCompletion.py
Commit b9b696bba6702a31ac0995a494cd31c730ade5ec by melanie.blower
[clang][fpenv][patch] Change clang option -ffp-model=precise to select ffp-contract=on

Change the ffp-model=precise to enables -ffp-contract=on (previously
-ffp-model=precise enabled -ffp-contract=fast). This is a follow-up
to Andy Kaylor's comments in the llvm-dev discussion "Floating Point
semantic modes". From the same email thread, I put Andy's distillation
of floating point options and floating point modes into UsersManual.rst
Also fixes bugs.llvm.org/show_bug.cgi?id=50222

Reviewed By: rjmccall, andrew.kaylor

Differential Revision: https://reviews.llvm.org/D74436
The file was modifiedclang/test/CodeGen/ppc-emmintrin.c
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
The file was modifiedclang/test/Driver/fp-model.c
The file was modifiedclang/test/CodeGen/ppc-xmmintrin.c
The file was modifiedclang/docs/UsersManual.rst
The file was modifiedclang/test/CodeGen/ffp-contract-option.c
Commit 312b43da05002bbe4a06de925e34b216252bc412 by medismail.bennani
[lldb/Plugins] Add ScriptedProcess Process Plugin

This patch introduces Scripted Processes to lldb.

The goal, here, is to be able to attach in the debugger to fake processes
that are backed by script files (in Python, Lua, Swift, etc ...) and
inspect them statically.

Scripted Processes can be used in cooperative multithreading environments
like the XNU Kernel or other real-time operating systems, but it can
also help us improve the debugger testing infrastructure by writting
synthetic tests that simulates hard-to-reproduce process/thread states.

Although ScriptedProcess is not feature-complete at the moment, it has
basic execution capabilities and will improve in the following patches.

rdar://65508855

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

Signed-off-by: Med Ismail Bennani <medismail.bennani@gmail.com>
The file was addedlldb/source/Plugins/Process/scripted/CMakeLists.txt
The file was modifiedlldb/source/Plugins/ScriptInterpreter/Python/ScriptedProcessPythonInterface.cpp
The file was addedlldb/source/Plugins/Process/scripted/ScriptedProcess.cpp
The file was modifiedlldb/source/Plugins/ScriptInterpreter/Python/ScriptedProcessPythonInterface.h
The file was modifiedlldb/test/API/functionalities/scripted_process/TestScriptedProcess.py
The file was modifiedlldb/include/lldb/Target/Process.h
The file was modifiedlldb/include/lldb/Interpreter/ScriptInterpreter.h
The file was modifiedlldb/include/lldb/Interpreter/ScriptedProcessInterface.h
The file was modifiedlldb/examples/python/scripted_process/my_scripted_process.py
The file was modifiedlldb/source/Plugins/Process/CMakeLists.txt
The file was modifiedlldb/source/Target/Target.cpp
The file was addedlldb/source/Plugins/Process/scripted/ScriptedProcess.h
The file was modifiedlldb/examples/python/scripted_process/scripted_process.py
Commit 77440d644b3ba26443c1d14d04a4046fab07d731 by Raphael Isemann
[lldb][NFC] Allow range-based for loops over DWARFDIE's children

This patch adds the ability to get a DWARFDIE's children as an LLVM range.

This way we can use for range loops to iterate over them and we can use LLVM's
algorithms like `llvm::all_of` to query all children.

The implementation has to do some small shenanigans as the iterator needs to
store a DWARFDIE, but a DWARFDIE container is also a DWARFDIE so it can't return
the iterator by value. I just made the `children` getter a templated function to
avoid the cyclic dependency.

Reviewed By: #lldb, werat, JDevlieghere

Differential Revision: https://reviews.llvm.org/D103172
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFDIE.h
The file was modifiedlldb/unittests/SymbolFile/DWARF/CMakeLists.txt
The file was addedlldb/unittests/SymbolFile/DWARF/DWARFDIETest.cpp
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFDIE.cpp
Commit 6bb042e70024354acc65457e153b40d50cada4f5 by aaron
Implement _ExtInt conversion rules

Clang implemented the _ExtInt datatype as a bit-precise integer type,
which was then proposed to WG14. WG14 has accepted the proposal
(http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2709.pdf), but Clang
requires some additional work as a result.

In the original Clang implementation, we elected to disallow implicit
conversions involving these types until after WG14 finalized the rules.
This patch implements the rules decided by WG14: no integer promotion
for bit-precise types, conversions prefer the larger of the two types
and in the event of a tie (say _ExtInt(32) and a 32-bit int), the
standard type wins.

There are more changes still needed to conform to N2709, but those will
be handled in follow-up patches.
The file was modifiedclang/lib/Sema/SemaExpr.cpp
The file was modifiedclang/test/SemaCXX/ext-int.cpp
The file was modifiedclang/test/Sema/ext-int.c
Commit fd3823cc8249dd6b350d63bf6cf1f493e5b31fef by thakis
[gn build] (manually) port 78bda894129 from 2012 because 924d62ca4a85 added it to check-llvm
The file was addedllvm/utils/gn/secondary/llvm/tools/llvm-stress/BUILD.gn
The file was modifiedllvm/utils/gn/secondary/llvm/test/BUILD.gn
Commit a158d3663fc5b3596eaac7da857e7422d12b243e by huberjn
[OpenMP] Fix warnings for uninitialized block counts

Summary:
Fixes some warning given for uninitialized block counts if the exection mode is
not recognized. This shouldn't happen in practice because the execution mode is
checked when it's read from the device.
The file was modifiedopenmp/libomptarget/plugins/amdgpu/src/rtl.cpp
The file was modifiedopenmp/libomptarget/plugins/cuda/src/rtl.cpp
Commit f6413d8aaa0205b58345bdd985d2c5c4544bd260 by kazu
[Transforms] Remove getOrCreateInitFunction (NFC)

The last use was removed on Jan 16, 2019 in commit
81101de5853b4ed64640220a086a67b16f36f153.
The file was modifiedllvm/lib/Transforms/Utils/ModuleUtils.cpp
The file was modifiedllvm/include/llvm/Transforms/Utils/ModuleUtils.h
Commit eb61ffbcb277cfaeb459d6d38b34ba908d247f96 by Raphael Isemann
[lldb] Fix TestCompletion by using SIGPIPE instead of SIGINT as test signal

The test I added in commit 078003482e90ff5c7ba047a3d3152f0b0c392b31 was using
SIGINT for testing the tab completion. The idea is to have a signal that only
has one possible completion and I ended up picking SIGIN -> SIGINT for the test.
However on non-Linux systems there is SIGINFO which is a valid completion for
`SIGIN' and so the test fails there.

This replaces SIGIN -> SIGINT with SIGPIP -> SIGPIPE completion which according
to LLDB's signal list in Host.cpp is the only valid completion.
The file was modifiedlldb/test/API/functionalities/completion/TestCompletion.py
Commit 4296d633b08dcfc5bfb2df0800995df4b30ac196 by melanie.blower
Revert "[clang][fpenv][patch] Change clang option -ffp-model=precise to select ffp-contract=on"

This reverts commit b9b696bba6702a31ac0995a494cd31c730ade5ec.
Buildbot failures see https://lab.llvm.org/buildbot#builders/118/builds/4138
and https://lab.llvm.org/buildbot#builders/110/builds/5112
The file was modifiedclang/docs/UsersManual.rst
The file was modifiedclang/test/CodeGen/ffp-contract-option.c
The file was modifiedclang/test/CodeGen/ppc-emmintrin.c
The file was modifiedclang/test/Driver/fp-model.c
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
The file was modifiedclang/test/CodeGen/ppc-xmmintrin.c
Commit 00e87e1c5b416687bd798dc2b7b05d40833072e8 by cullen.rhodes
[AArch64][SME] Improve diagnostic for vector select register

Reviewed By: sdesmalen

Differential Revision: https://reviews.llvm.org/D106540
The file was modifiedllvm/test/MC/AArch64/SME/ld1d-diagnostics.s
The file was modifiedllvm/test/MC/AArch64/SME/mova-diagnostics.s
The file was modifiedllvm/test/MC/AArch64/SME/st1w-diagnostics.s
The file was modifiedllvm/test/MC/AArch64/SME/dup-diagnostics.s
The file was modifiedllvm/lib/Target/AArch64/AArch64RegisterInfo.td
The file was modifiedllvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
The file was modifiedllvm/test/MC/AArch64/SME/ld1q-diagnostics.s
The file was modifiedllvm/test/MC/AArch64/SME/ld1h-diagnostics.s
The file was modifiedllvm/test/MC/AArch64/SME/st1q-diagnostics.s
The file was modifiedllvm/test/MC/AArch64/SME/st1b-diagnostics.s
The file was modifiedllvm/test/MC/AArch64/SME/ldr-diagnostics.s
The file was modifiedllvm/test/MC/AArch64/SME/ld1w-diagnostics.s
The file was modifiedllvm/test/MC/AArch64/SME/st1h-diagnostics.s
The file was modifiedllvm/test/MC/AArch64/SME/ld1b-diagnostics.s
The file was modifiedllvm/test/MC/AArch64/SME/st1d-diagnostics.s
The file was modifiedllvm/test/MC/AArch64/SME/str-diagnostics.s
Commit 6e9cd3e9f1da3880ab8a10d327663449c5d4c65c by jonathanchesterfield
[libomptarget][nfc] Improve static assert message in dlwrap

Revision of D102858. Raise dlwrap arity argument to template argument
so the correct value is given in the error message. E.g. '2 == 1' instead of
'2 == trait<>::nargs'.

Arity higher than it should be:
Before diff
```
$/plugins/cuda/dynamic_cuda/cuda.cpp:23:1: error:
      static_assert failed due to requirement '2 == trait<cudaError_enum (*)(unsigned int)>::nargs'
      "Arity Error"
DLWRAP_INTERNAL(cuInit, 2);
^~~~~~~~~~~~~~~~~~~~~~~~~~
...
$/include/dlwrap.h:166:3: note: expanded from macro
      'DLWRAP_COMMON'
  static_assert(ARITY == trait<decltype(&SYMBOL)>::nargs, "Arity Error");      \
```

After diff
In file included from $/plugins/cuda/dynamic_cuda/cuda.cpp:16:
```
$/include/dlwrap.h:131:3: error: static_assert failed due to
      requirement '2UL == 1UL' "Arity Error"
  static_assert(Requested == Required, "Arity Error");
  ^             ~~~~~~~~~~~~~~~~~~~~~
$/plugins/cuda/dynamic_cuda/cuda.cpp:23:1: note: in
      instantiation of function template specialization 'dlwrap::verboseAssert<2UL, 1UL>' requested
      here
DLWRAP_INTERNAL(cuInit, 2);
```

Arity lower than it should be:
Before diff
```
$/plugins/cuda/dynamic_cuda/cuda.cpp:131:10: error: no
      matching function for call to 'dlwrap_cuInit'
  return dlwrap_cuInit(X);
         ^~~~~~~~~~~~~
$/plugins/cuda/dynamic_cuda/cuda.cpp:23:1: note: candidate
      function not viable: requires 0 arguments, but 1 was provided
DLWRAP_INTERNAL(cuInit, 0);
```

After diff
In file included from $/plugins/cuda/dynamic_cuda/cuda.cpp:16:
```
$/include/dlwrap.h:131:3: error: static_assert failed due to
      requirement '0UL == 1UL' "Arity Error"
  static_assert(Requested == Required, "Arity Error");
  ^             ~~~~~~~~~~~~~~~~~~~~~
$/plugins/cuda/dynamic_cuda/cuda.cpp:23:1: note: in
      instantiation of function template specialization 'dlwrap::verboseAssert<0UL, 1UL>' requested
      here
DLWRAP_INTERNAL(cuInit, 0);
```

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D106543
The file was modifiedopenmp/libomptarget/include/dlwrap.h
Commit 9ce931bd71855ced2146f77120df07e4bf381cec by enye.shi
[HIP] Fix no matching constructor for init of shared_ptr and malloc

Allow standard header versions of malloc and free to be defined
before introducing the device versions.

Fixes: SWDEV-295901

Reviewed By: yaxunl

Differential Revision: https://reviews.llvm.org/D106463
The file was modifiedclang/lib/Headers/__clang_hip_runtime_wrapper.h
Commit b455f7f22564a096c043b02fa159ab16669c121c by a.bataev
[OPENMP]Fix PR49787: Codegen for calling __tgt_target_teams_nowait_mapper has too few arguments.

Added missed arguments in
__tgt_target_teams_nowait_mapper/__tgt_target_nowait_mapper runtime
functions calls.

Differential Revision: https://reviews.llvm.org/D106542
The file was modifiedclang/test/OpenMP/declare_mapper_codegen.cpp
The file was modifiedllvm/include/llvm/Frontend/OpenMP/OMPKinds.def
The file was modifiedclang/test/OpenMP/target_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_simd_depend_codegen.cpp
The file was modifiedclang/test/OpenMP/target_parallel_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_codegen.cpp
The file was modifiedclang/test/OpenMP/target_parallel_for_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_depend_codegen.cpp
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntime.cpp
The file was modifiedclang/test/OpenMP/target_teams_depend_codegen.cpp
The file was modifiedclang/test/OpenMP/target_parallel_for_simd_depend_codegen.cpp
The file was modifiedclang/test/OpenMP/target_parallel_for_depend_codegen.cpp
The file was modifiedclang/test/OpenMP/target_parallel_for_simd_codegen.cpp
The file was modifiedclang/test/OpenMP/target_simd_depend_codegen.cpp
The file was modifiedclang/test/OpenMP/target_depend_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_simd_depend_codegen.cpp
The file was modifiedclang/test/OpenMP/target_parallel_depend_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_simd_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_depend_codegen.cpp
The file was modifiedclang/test/OpenMP/target_simd_codegen.cpp
Commit 3d9a9fa6911a5228ce799a7c639e94d322678934 by Raphael Isemann
[lldb] Remove a wrong assert in TestStructTypes that checks that empty structs in C always have size 0

D105471 fixes the way we assign sizes to empty structs in C mode. Instead of
just giving them a size 0, we instead use the size we get from DWARF if possible.

After landing D105471 the TestStructTypes test started failing on Windows. The
tests checked that the size of an empty C struct is 0 while the size LLDB now
reports is 4 bytes. It turns out that 4 bytes are the actual size Clang is using
for C structs with the MicrosoftRecordLayoutBuilder. The commit that introduced
that behaviour is 00a061dccc6671c96412d7b28ab2012963208579.

This patch removes that specific check from TestStructTypes. Note that D105471
added a series of tests that already cover this case (and the added checks
automatically adjust to whatever size the target compiler chooses for empty
structs).
The file was modifiedlldb/test/API/lang/c/struct_types/main.c
Commit f828f0a90fb14d10dbb5ac2d55c62d9dafdf8721 by a.bataev
Revert "[OPENMP]Fix PR49787: Codegen for calling __tgt_target_teams_nowait_mapper has too few arguments."

This reverts commit b455f7f22564a096c043b02fa159ab16669c121c to fix
buildbots.
The file was modifiedclang/test/OpenMP/target_simd_codegen.cpp
The file was modifiedclang/test/OpenMP/target_parallel_for_codegen.cpp
The file was modifiedclang/test/OpenMP/target_parallel_for_simd_depend_codegen.cpp
The file was modifiedclang/test/OpenMP/target_codegen.cpp
The file was modifiedclang/test/OpenMP/target_parallel_for_simd_codegen.cpp
The file was modifiedclang/test/OpenMP/declare_mapper_codegen.cpp
The file was modifiedclang/test/OpenMP/target_parallel_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_simd_depend_codegen.cpp
The file was modifiedllvm/include/llvm/Frontend/OpenMP/OMPKinds.def
The file was modifiedclang/test/OpenMP/target_teams_depend_codegen.cpp
The file was modifiedclang/test/OpenMP/target_parallel_for_depend_codegen.cpp
The file was modifiedclang/test/OpenMP/target_simd_depend_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_depend_codegen.cpp
The file was modifiedclang/test/OpenMP/target_depend_codegen.cpp
The file was modifiedclang/test/OpenMP/target_parallel_depend_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_simd_depend_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_depend_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_simd_codegen.cpp
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntime.cpp
Commit 9d43c000e1b8ddbfe4fc69b04fa68088f5d813ce by thakis
[lld/mac] Move handling of special undefineds later

treatUndefinedSymbol() was previously called before gatherInputSections()
and markLive() for these special symbols, but after them for normal
undefineds.

For PR50760, treatUndefinedSymbol() will have to potentially create
sections, so it's good to move treatUndefinedSymbol() for special
undefineds later, so that it can assume that gatherInputSections()
and markLive() has already been called always.

No intended behavior change, but part of PR50760 (and covered in
tests in the patch for the full feature).

Differential Revision: https://reviews.llvm.org/D106552
The file was modifiedlld/MachO/Writer.cpp
The file was modifiedlld/MachO/Driver.cpp
Commit b88a68c45e1bd065d75d5173167e7a978ea0f0f2 by a.bataev
[OPENMP]Fix PR49787: Codegen for calling __tgt_target_teams_nowait_mapper has too few arguments.

Added missed arguments in
__tgt_target_teams_nowait_mapper/__tgt_target_nowait_mapper runtime
functions calls.

Differential Revision: https://reviews.llvm.org/D106542
The file was modifiedclang/test/OpenMP/target_parallel_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_depend_codegen.cpp
The file was modifiedclang/test/OpenMP/target_parallel_for_codegen.cpp
The file was modifiedllvm/test/Transforms/OpenMP/add_attributes.ll
The file was modifiedclang/test/OpenMP/target_parallel_depend_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_simd_codegen.cpp
The file was modifiedclang/test/OpenMP/target_depend_codegen.cpp
The file was modifiedclang/test/OpenMP/target_parallel_for_depend_codegen.cpp
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntime.cpp
The file was modifiedclang/test/OpenMP/target_simd_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_simd_depend_codegen.cpp
The file was modifiedclang/test/OpenMP/target_simd_depend_codegen.cpp
The file was modifiedclang/test/OpenMP/target_parallel_for_simd_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_codegen.cpp
The file was modifiedclang/test/OpenMP/target_parallel_for_simd_depend_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_depend_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_simd_depend_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_depend_codegen.cpp
The file was modifiedllvm/include/llvm/Frontend/OpenMP/OMPKinds.def
The file was modifiedclang/test/OpenMP/target_codegen.cpp
The file was modifiedclang/test/OpenMP/declare_mapper_codegen.cpp
Commit b510e0127da38d47b9224b082842e827c04947a8 by anastasia.stulova
[OpenCL][NFC] Refactors lang version check in test.

Fixed test to use predefined version marco instead
of passing extra macro in the command line.

Patch by Topotuna (Justas Janickas)!

Differential Revision: https://reviews.llvm.org/D106254
The file was modifiedclang/test/SemaOpenCL/null_literal.cl
Commit 26ea4a4432431ce581e46746fa93981ad7f891d0 by wei.huang
[PowerPC] Add PowerPC "__stbcx" builtin and intrinsic for XL compatibility

This patch is in a series of patches to provide builtins for compatibility
with the XL compiler. This patch adds the builtin and intrinsic for "__stbcx".

Reviewed By: nemanjai, #powerpc

Differential revision: https://reviews.llvm.org/D106484
The file was modifiedllvm/test/CodeGen/PowerPC/builtins-ppc-xlcompat-LoadReserve-StoreCond.ll
The file was modifiedclang/include/clang/Basic/BuiltinsPPC.def
The file was modifiedclang/lib/Basic/Targets/PPC.cpp
The file was modifiedclang/lib/Sema/SemaChecking.cpp
The file was modifiedclang/test/CodeGen/builtins-ppc-xlcompat-pwr8.c
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrInfo.td
The file was modifiedllvm/include/llvm/IR/IntrinsicsPowerPC.td
Commit 1a965706219efd40c7e2548e317311266187bb09 by jonathanchesterfield
[libomptarget][amdgpu] Implement dlopen of libhsa

AMDGPU plugin equivalent of D95155, build without HSA installed locally

Compiles a new file, plugins/amdgpu/dynamic_hsa/hsa.cpp, to an object file that
exposes the same symbols that the plugin presently uses from hsa. The object
file contains dlopen of hsa and cached dlsym calls. Also provides header files
corresponding to the subset that is used.

This is behind a feature flag, LIBOMPTARGET_FORCE_DLOPEN_LIBHSA, default off.
That allows developers to build against the dlopen/dlsym implementation, e.g.
while testing this mode.

Enabling by default will cause this plugin to build on a wider variety of
machines than it does at present so may break some CI builds. That risk can
be minimised by reviewing the header dependencies of the library and ensuring
it doesn't use any libraries that are not already used by libomptarget.

Separating the implementation from enabling by default in case the latter needs
to be rolled back after wider CI results.

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D106559
The file was modifiedopenmp/libomptarget/plugins/amdgpu/CMakeLists.txt
The file was addedopenmp/libomptarget/plugins/amdgpu/dynamic_hsa/hsa.cpp
The file was addedopenmp/libomptarget/plugins/amdgpu/dynamic_hsa/hsa.h
The file was addedopenmp/libomptarget/plugins/amdgpu/dynamic_hsa/hsa_ext_amd.h
Commit f8d3755f00b8228d1441429dcd63af45f59ce164 by jurahul
[MLIR][memref] Fix findDealloc() to handle > 1 dealloc for the given alloc.

- Change findDealloc() to return Optional<Operation *> and return None if > 1
  dealloc is associated with the given alloc.
- Add findDeallocs() to return all deallocs associated with the given alloc.
- Fix current uses of findDealloc() to bail out if > 1 dealloc is found.

Differential Revision: https://reviews.llvm.org/D106456
The file was modifiedmlir/test/Dialect/MemRef/canonicalize.mlir
The file was modifiedmlir/lib/Transforms/BufferUtils.cpp
The file was modifiedmlir/lib/Dialect/MemRef/Utils/MemRefUtils.cpp
The file was modifiedmlir/include/mlir/Dialect/MemRef/Utils/MemRefUtils.h
The file was modifiedmlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
The file was modifiedmlir/include/mlir/Dialect/MemRef/IR/MemRefOps.td
Commit db6217a3f7928578efc6993528e9ab6b1c32ad88 by i
[test] Add llvm-stress to LLVM_TEST_DEPENDS and lit substitutions

D106430 added a test which needs LLVM_TEST_DEPENDS and lit substitution.
The file was modifiedllvm/test/CMakeLists.txt
The file was modifiedllvm/test/lit.cfg.py
Commit 1a7f7790228f37b106b3dc1b96b5b5bfbb581a3a by tianshilei1992
[OpenMPOpt] Add support for BooleanStateWithSetVector

D101977 added `BooleanStateWithPtrSetVector` to store pointers to a set meanwhile
tracking boolean state. One of the limitation is that it can only store pointer.
We might want it to store other types of values, such as integer for parallel
level. This patch generalizes the idea and create `BooleanStateWithSetVector`.
`BooleanStateWithPtrSetVector` therefore becomes a type alias of `BooleanStateWithSetVector`.

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D106149
The file was modifiedllvm/lib/Transforms/IPO/OpenMPOpt.cpp
Commit e1bdb57958791f0635030d3211c6895b6ff65016 by llvm-dev
[CostModel][X86] Adjust shift SSE legalized costs based on llvm-mca reports.

Update shl/lshr/ashr costs based on the worst case costs from the script in D103695.
The file was modifiedllvm/test/Analysis/CostModel/X86/rem.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/fshl.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/shift-ashr.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/vshift-shl-cost.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/div.ll
The file was modifiedllvm/lib/Target/X86/X86TargetTransformInfo.cpp
The file was modifiedllvm/test/Analysis/CostModel/X86/fshr.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/vshift-lshr-cost.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/vshift-shl-cost-inseltpoison.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/vshift-ashr-cost.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/intrinsic-cost-kinds.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/alternate-int.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/shift-lshr.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/vshift-lshr-cost-inseltpoison.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/alternate-int-inseltpoison.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/shift-shl.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/vshift-ashr-cost-inseltpoison.ll
Commit c9cebda772cbb6cdfc096c10cbc3cc3826801109 by david.green
[AArch64] Adjust the cost of integer sum reductions

This changes the cost to (LT.first-1) * cost(add) + 2, where the cost of
an add is assumed to be 1. This brings it inline with the other
reductions.

Differential Revision: https://reviews.llvm.org/D106240
The file was modifiedllvm/test/Analysis/CostModel/AArch64/reduce-add.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
The file was modifiedllvm/test/Transforms/SLPVectorizer/AArch64/gather-cost.ll
The file was modifiedllvm/test/Analysis/CostModel/AArch64/vector-reduce.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/AArch64/horizontal.ll
Commit 2542c1a5a1306398d73c3c0c5d71cacf7c690093 by Alex Lorenz
[clang][driver][darwin] Add driver support for Mac Catalyst

This commit adds driver support for the Mac Catalyst target,
as supported by the Apple clang compile

Differential Revision: https://reviews.llvm.org/D105960
The file was modifiedclang/test/Driver/darwin-objc-defaults.m
The file was modifiedclang/lib/Basic/DarwinSDKInfo.cpp
The file was addedclang/test/Driver/darwin-ld-platform-version-maccatalyst.c
The file was addedclang/test/Driver/darwin-mac-catalyst-32bit-not-supported.c
The file was addedclang/test/Driver/Inputs/MacOSX10.15.versioned.sdk/SDKSettings.json
The file was modifiedclang/include/clang/Basic/DiagnosticDriverKinds.td
The file was addedclang/test/Driver/darwin-sdk-version-maccatalyst.c
The file was modifiedclang/include/clang/Basic/DarwinSDKInfo.h
The file was addedclang/test/Driver/darwin-objc-runtime-maccatalyst.m
The file was modifiedclang/test/Driver/darwin-sanitizer-ld.c
The file was modifiedclang/lib/Driver/ToolChains/Darwin.cpp
The file was modifiedclang/test/Driver/darwin-ld.c
The file was addedclang/test/Driver/darwin-maccatalyst.c
The file was modifiedclang/lib/Driver/ToolChains/Darwin.h
Commit ae4e8f7d528f650e0f2730a7f166fb0ef7e31588 by spatel
[InstCombine][test] add coverage for possible fabs folds; NFC

This goes with D101727 (adds FMF to the select).

Differential Revision: https://reviews.llvm.org/D106563
The file was modifiedllvm/test/Transforms/InstCombine/fabs.ll
Commit 49d840c35c69d3483ae77f94fc62c36f727b9321 by marius.brehler
[mlir] Improve description of interface options

Reviewed By: rriddle

Differential Revision: https://reviews.llvm.org/D106539
The file was modifiedmlir/tools/mlir-tblgen/OpInterfacesGen.cpp
Commit ce5b1320a7055befa118b86fb7d132721ab68c7e by anemet
[Matrix] Fix miscompile for NT matmul if the transpose has other use

We should only add the fake lowering entry for the matrix remark if the
transpose is not lowered on its own.  `MapVector::insert` is used to insert
the entry during proper lowering which does not overwrite the fake entry in
the map.

We actually had test coverage for this but the reference output code was
wrong; it was storing undef rather than the transposed column.

Also add an assert that would have caught this.

Differential Revision: https://reviews.llvm.org/D106457
The file was modifiedllvm/test/Transforms/LowerMatrixIntrinsics/multiply-right-transpose.ll
The file was modifiedllvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
Commit 40d2d0c41298f1d8a178216e2534b29e3128cf37 by Alex Lorenz
[clang][test] Add -fuse-ld= to test case added in 2542c1a5a130 to resolve test failure with CLANG_DEFAULT_LINKER=lld
The file was modifiedclang/test/Driver/darwin-ld.c
Commit 6f5064cd0c0e5dfaeae6ac572a0907e69aae7f89 by zoecarver
[libc++][docs] Take lock for range.single.view.

Mark this item as in progress and assigned to me.
The file was modifiedlibcxx/docs/Status/RangesPaper.csv
Commit 3959c95deb115e0bc6122faaa244cfb2fc280b50 by Louis Dionne
[libc++] Add helper type non-propagating-cache

Differential Revision: https://reviews.llvm.org/D102121
The file was addedlibcxx/test/libcxx/ranges/range.nonprop.cache/assign.copy.pass.cpp
The file was modifiedlibcxx/include/module.modulemap
The file was addedlibcxx/test/libcxx/ranges/range.nonprop.cache/ctor.copy.pass.cpp
The file was addedlibcxx/test/libcxx/ranges/range.nonprop.cache/ctor.move.pass.cpp
The file was addedlibcxx/test/libcxx/ranges/range.nonprop.cache/deref.pass.cpp
The file was modifiedlibcxx/include/CMakeLists.txt
The file was modifiedlibcxx/include/__ranges/drop_view.h
The file was addedlibcxx/include/__ranges/non_propagating_cache.h
The file was addedlibcxx/test/libcxx/ranges/range.nonprop.cache/constraints.compile.pass.cpp
The file was addedlibcxx/test/libcxx/ranges/range.nonprop.cache/has_value.pass.cpp
The file was addedlibcxx/test/libcxx/diagnostics/detail.headers/ranges/non_propagating_cache.module.verify.cpp
The file was addedlibcxx/test/libcxx/ranges/range.nonprop.cache/ctor.default.pass.cpp
The file was addedlibcxx/test/libcxx/ranges/range.nonprop.cache/assign.move.pass.cpp
Commit 3b181568db8efc30b79466bba4aa334f86a49877 by i
[Matrix] Fix -Wunused-variable in -DLLVM_ENABLE_ASSERTIONS=off build after D106457. NFC
The file was modifiedllvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
Commit 1cda1e618648d463f89eb5cea8c9849bc0074b24 by marksl
[ARC] Add disassembly for the conditioned RSUB immediate instruction

Differential Revision: https://reviews.llvm.org/D106497
The file was modifiedllvm/test/MC/Disassembler/ARC/misc.txt
The file was modifiedllvm/lib/Target/ARC/ARCInstrInfo.td
The file was modifiedllvm/lib/Target/ARC/ARCInstrFormats.td
The file was modifiedllvm/test/MC/Disassembler/ARC/alu.txt
Commit d073b19dbffbba787151d01faeb38c2981553c98 by llvm-dev
[X86] Fix SLM FP<->INT throughputs.

Noticed while trying to clean up the shift costs model for SSE4 targets using the script in D10369 - SLM double-pumps all the 128-bit vector conversion ops and only use FP0 pipe - numbers taken from Intel AOM + Agner.
The file was modifiedllvm/lib/Target/X86/X86ScheduleSLM.td
The file was modifiedllvm/test/tools/llvm-mca/X86/SLM/resources-sse2.s
The file was modifiedllvm/test/tools/llvm-mca/X86/SLM/resources-sse1.s
Commit 4e0cefc640672da0d09081c335aa982b5e7c8207 by llvmgnsyncbot
[gn build] Port 3959c95deb11
The file was modifiedllvm/utils/gn/secondary/libcxx/include/BUILD.gn
Commit 178c2b4c1eb12b2153adb384ac7f22a8791edc86 by aaron
Correctly diagnose taking the address of a register variable in C

We caught the cases where the user would explicitly use the & operator,
but we were missing implicit conversions such as array decay.

Fixes PR26336. Thanks to Samuel Neves for inspiration for the patch.
The file was modifiedclang/test/Sema/expr-address-of.c
The file was modifiedclang/lib/Sema/Sema.cpp
The file was modifiedclang/lib/Sema/SemaExpr.cpp
Commit 14e34a83b0d234e0651db2396a82ec6bb96a631a by jonathanchesterfield
[libomptarget][amdgpu][nfc] Replace use of gelf.h with libelf.h

AMDGPU can assume Elf64 so doesn't need to abstract over Elf32

Drop a few other unused headers at the same time. Now only llvm elf
and libelf are used by the plugin.

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D106579
The file was modifiedopenmp/libomptarget/plugins/amdgpu/impl/system.cpp
The file was modifiedopenmp/libomptarget/plugins/amdgpu/src/rtl.cpp
Commit 2657fe1721c301e11269f38763d5d835f186143d by llvm-dev
[CostModel][X86] Fix funnel shift check prefixes

We'd lost AVX1 test coverage due to bulldozer (XOP) trying to use the same check prefixes - we really need to fix the update script to avoid this!
The file was modifiedllvm/test/Analysis/CostModel/X86/fshl.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/fshr.ll
Commit 4185c5502c81285206ea35172411966c8bd8bd30 by llvm-dev
[CostModel][X86] Adjust shift SSE4 legalized costs based on llvm-mca reports.

Update shl/lshr/ashr costs based on the worst case costs from the script in D103695 - many of the 128-bit shifts (usually where integer multiplies aren't used) have similar behaviour to AVX1 so we can merge them.
The file was modifiedllvm/lib/Target/X86/X86TargetTransformInfo.cpp
The file was modifiedllvm/test/Analysis/CostModel/X86/vshift-lshr-cost-inseltpoison.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/rem.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/fshr.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/vshift-ashr-cost.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/vshift-shl-cost-inseltpoison.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/vshift-ashr-cost-inseltpoison.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/vshift-lshr-cost.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/vshift-shl-cost.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/div.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/fshl.ll
Commit e8da9639228612fd362c77fcd1c40a38ae59eb3e by jonathanchesterfield
[nfc] Fix typo in comment, s/node/note
The file was modifiedllvm/include/llvm/BinaryFormat/ELF.h
Commit 00edae9203c9a4f50da058d4bd25dc2e6a4930c1 by flx
[clang-tidy] performance-unnecessary-copy-initialization: Disable check when variable and initializer have different replaced template param types.

This can happen when a template with two parameter types is instantiated with a
single type. The fix would only be valid for this instantiation but fail for
others that rely on an implicit type conversion.

The test cases illustrate when the check should trigger and when not.

Differential Revision: https://reviews.llvm.org/D106011
The file was modifiedclang-tools-extra/test/clang-tidy/checkers/performance-unnecessary-copy-initialization.cpp
The file was modifiedclang-tools-extra/clang-tidy/performance/UnnecessaryCopyInitialization.cpp
Commit 952dc2e561c97447f92d24f8c0f62fb4f0569e92 by lebedev.ri
[NFC][SimplifyCFG] Add some more tests w/ two-entry PHI nodes and
The file was addedllvm/test/Transforms/SimplifyCFG/two-entry-phi-node.ll
Commit 7ef6f019090f3979fa345105b9ac95ac589c6cf9 by lebedev.ri
[SimplifyCFG] FoldTwoEntryPHINode(): bailout on inverted logical and/or (PR51149)

The logical (select) form of and/or will now be a source of problems.
We don't really account for it's inverted form, yet it exists,
and presumably we should treat it just like non-inverted form:
https://alive2.llvm.org/ce/z/BU9AXk

https://bugs.llvm.org/show_bug.cgi?id=51149 reports a reportedly-serious
perf regression that will hopefully be mitigated by this.
The file was modifiedllvm/test/Transforms/SimplifyCFG/two-entry-phi-node.ll
The file was modifiedllvm/lib/Transforms/Utils/SimplifyCFG.cpp
Commit 9e05c084e57d7de3b4c2f0266636c15b9beceacc by jonathanchesterfield
[libomptarget][amdgpu][nfc] Normalise license headers

Reviewed By: gregrodgers, jdoerfert

Differential Revision: https://reviews.llvm.org/D106581
The file was modifiedopenmp/libomptarget/plugins/amdgpu/impl/msgpack.cpp
The file was modifiedopenmp/libomptarget/plugins/amdgpu/impl/msgpack.h
The file was modifiedopenmp/libomptarget/plugins/amdgpu/impl/atmi_interop_hsa.cpp
The file was modifiedopenmp/libomptarget/plugins/amdgpu/impl/get_elf_mach_gfx_name.h
The file was modifiedopenmp/libomptarget/plugins/amdgpu/impl/machine.h
The file was modifiedopenmp/libomptarget/plugins/amdgpu/impl/utils.cpp
The file was modifiedopenmp/libomptarget/plugins/amdgpu/impl/machine.cpp
The file was modifiedopenmp/libomptarget/plugins/amdgpu/impl/data.cpp
The file was modifiedopenmp/libomptarget/plugins/amdgpu/impl/atmi_runtime.h
The file was modifiedopenmp/libomptarget/plugins/amdgpu/impl/atmi.cpp
The file was modifiedopenmp/libomptarget/plugins/amdgpu/impl/system.cpp
The file was modifiedopenmp/libomptarget/plugins/amdgpu/impl/atmi.h
The file was modifiedopenmp/libomptarget/plugins/amdgpu/src/print_tracing.h
The file was modifiedopenmp/libomptarget/plugins/amdgpu/impl/internal.h
The file was modifiedopenmp/libomptarget/plugins/amdgpu/impl/rt.h
The file was modifiedopenmp/libomptarget/plugins/amdgpu/impl/atmi_interop_hsa.h
The file was modifiedopenmp/libomptarget/plugins/amdgpu/impl/msgpack.def
The file was modifiedopenmp/libomptarget/plugins/amdgpu/impl/hsa_api.h
The file was modifiedopenmp/libomptarget/plugins/amdgpu/src/rtl.cpp
The file was modifiedopenmp/libomptarget/plugins/amdgpu/impl/get_elf_mach_gfx_name.cpp
Commit ee7242c662cd4d93e5af622c69d0db7f57d35505 by jpienaar
[mlir] Update to use ValueShapeRange (NFC)

Update to use alias in preparation for changing it to not just be a pure alias.
The file was modifiedmlir/lib/Dialect/Tosa/IR/TosaOps.cpp
The file was modifiedmlir/test/lib/Dialect/Test/TestDialect.cpp
Commit f719dff043962832f221dd8e28af2344a0ab80e0 by scui
[AIX] Clang's library integration support for 128-bit long double is incomplete on AIX.

Emit the unsupported option error until the Clang's library integration support for 128-bit long double is available for AIX.

Reviewed By: Whitney, cebowleratibm

Differential Revision: https://reviews.llvm.org/D106074
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
The file was modifiedclang/test/Driver/unsupported-option.c
Commit 4294657bd5f6a3446cb26795fca4ce07810d82a5 by nikita.ppv
[LICM][SCCP] Regenerate test checks (NFC)
The file was modifiedllvm/test/Transforms/SCCP/remove-call-inst.ll
The file was modifiedllvm/test/Transforms/LICM/funclet.ll
The file was modifiedllvm/test/Transforms/SCCP/musttail-call.ll
The file was modifiedllvm/test/Transforms/SCCP/calltest.ll
The file was modifiedllvm/test/Transforms/LICM/sinking.ll
Commit 4fa989c7b23c5d518fb381b4a292a00985cb8eec by scw
Fix TSAN signal interceptor out-of-bound access

signal(2) and sigaction(2) have defined behaviors for invalid signal number
(EINVAL) and some programs rely on it.

The added test case also reveals that MSAN is too strict in this regard.

Test case passed on x86_64 Linux and AArch64 Linux.

Reviewed By: vitalybuka

Differential Revision: https://reviews.llvm.org/D106468
The file was modifiedcompiler-rt/lib/msan/msan_interceptors.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
The file was addedcompiler-rt/test/sanitizer_common/TestCases/Posix/signal.cpp
Commit 7d669e6666c1d67c1b4aecd90687013636d8037c by hubert.reinterpretcast
[AIX] Generate large code model relocations when mcmodel=medium on AIX

This patch makes the changes in the driver that converts the medium code
model to large.

Reviewed By: hubert.reinterpretcast

Differential Revision: https://reviews.llvm.org/D106371
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
The file was modifiedclang/test/Driver/mcmodel.c
Commit a4e964a2821905728b866fb64784fbea1f67ccc1 by epastor
[ms] [llvm-ml] Fix macro case-insensitivity

We previously had issues identifying macros not registered with a lowercase name.

Reviewed By: mstorsjo, thakis

Differential Revision: https://reviews.llvm.org/D106453
The file was modifiedllvm/test/tools/llvm-ml/macro.asm
The file was modifiedllvm/lib/MC/MCParser/MasmParser.cpp
Commit af8fa36bf0cf6a09d6f4d9ad16eab30bc2ec8719 by lebedev.ri
[NFCI][TLI] prepare[US]REMEqFold(): don't add nonsensical 'exact' flag to rotates created

As pointed out by Craig Topper.
The file was modifiedllvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
Commit 1b52e9bac207cd4bdcd9091178527aa39049c270 by Jake.Egan
[AIX] Define __LONGDOUBLE64 macro

This patch defines the macro __LONGDOUBLE64 for AIX when long double is 8 bytes.

Reviewed By: cebowleratibm

Differential Revision: https://reviews.llvm.org/D105477
The file was modifiedclang/test/Preprocessor/init-ppc.c
The file was modifiedclang/lib/Basic/Targets/PPC.cpp
Commit df0066a1c9b9610c58d336bdf353e20a20b7ab3f by mtrofin
[NFC][MLGO] Fix vector sizing

The bots only build release mode, and the use of `reserve` instead of
`resize`, while not causing invalid memory accesses, is incorrect.
The file was modifiedllvm/lib/Analysis/ReleaseModeModelRunner.cpp
Commit 46667a10039b664b953eb70534c27627b35a267d by pmatos
[WebAssembly] Implementation of global.get/set for reftypes in LLVM IR

Reland of 31859f896.

This change implements new DAG notes GLOBAL_GET/GLOBAL_SET, and
lowering methods for load and stores of reference types from IR
globals. Once the lowering creates the new nodes, tablegen pattern
matches those and converts them to Wasm global.get/set.

Reviewed By: tlively

Differential Revision: https://reviews.llvm.org/D104797
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyISelDAGToDAG.cpp
The file was addedllvm/test/CodeGen/WebAssembly/funcref-globalset.ll
The file was addedllvm/test/CodeGen/WebAssembly/externref-ptrtoint.ll
The file was modifiedllvm/lib/Target/WebAssembly/Utils/WebAssemblyUtilities.h
The file was addedllvm/test/CodeGen/WebAssembly/externref-inttoptr.ll
The file was modifiedllvm/include/llvm/CodeGen/TargetLowering.h
The file was modifiedllvm/lib/CodeGen/ValueTypes.cpp
The file was addedllvm/test/CodeGen/WebAssembly/funcref-globalget.ll
The file was modifiedllvm/lib/CodeGen/CodeGenPrepare.cpp
The file was addedllvm/test/CodeGen/WebAssembly/externref-globalget.ll
The file was modifiedclang/test/CodeGen/target-data.c
The file was addedllvm/test/CodeGen/WebAssembly/externref-globalset.ll
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyMCInstLower.cpp
The file was modifiedllvm/include/llvm/CodeGen/ValueTypes.h
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyFastISel.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyInstrTable.td
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyISD.def
The file was modifiedclang/lib/Basic/Targets/WebAssembly.h
The file was modifiedllvm/lib/CodeGen/MachineOperand.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
The file was addedllvm/test/CodeGen/WebAssembly/externref-undef.ll
The file was addedllvm/test/CodeGen/WebAssembly/funcref-call.ll
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyISelLowering.h
The file was addedllvm/test/CodeGen/WebAssembly/externref-unsized-load.ll
The file was modifiedllvm/lib/Target/WebAssembly/Utils/WebAssemblyUtilities.cpp
The file was modifiedllvm/lib/CodeGen/TargetLoweringBase.cpp
The file was addedllvm/test/CodeGen/WebAssembly/externref-unsized-store.ll
Commit cb4c12b6117a6f2989d5745854a94c75cb6a09ba by flx
[clang-tidy] performance-unnecessary-copy-initialization: Create option to exclude container types from triggering the check.

Add string list option of type names analagous to `AllowedTypes` which lets
users specify a list of ExcludedContainerTypes.

Types matching this list will not trigger the check when an expensive variable
is copy initialized from a const accessor method they provide, i.e.:

```
ExcludedContainerTypes = 'ExcludedType'

void foo() {
  ExcludedType<ExpensiveToCopy> Container;
  const ExpensiveToCopy NecessaryCopy = Container.get();
}
```

Even though an expensive to copy variable is copy initialized the check does not
trigger because the container type is excluded.

This is useful for container types that don't own their data, such as view types
where modification of the returned references in other places cannot be reliably
tracked, or const incorrect types.

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

Reviewed-by: ymandel
The file was modifiedclang-tools-extra/docs/clang-tidy/checks/performance-unnecessary-copy-initialization.rst
The file was addedclang-tools-extra/test/clang-tidy/checkers/performance-unnecessary-copy-initialization-excluded-container-types.cpp
The file was modifiedclang-tools-extra/clang-tidy/performance/UnnecessaryCopyInitialization.h
The file was modifiedclang-tools-extra/clang-tidy/performance/UnnecessaryCopyInitialization.cpp
Commit a4a4f602c74f868125773e690005878e79551e39 by mtrofin
[MLGO] Correct protobuf path
The file was modifiedllvm/CMakeLists.txt
Commit 9dbc4b09afd4427c2def829f0c8283f732e654a0 by martin
[LLD] [COFF] Make -export-all-symbols work as intended for EXEs

If some symbols are marked with dllexport, we still want to export
all symbols if -export-all-symbols is specified. Previously, this
only worked as it should for DLL output, not for EXE.

This should fix downstream bug
https://github.com/msys2/MINGW-packages/issues/9163.

Differential Revision: https://reviews.llvm.org/D106245
The file was modifiedlld/COFF/Driver.cpp
The file was modifiedlld/test/COFF/export-all.s
Commit 3d4cadfb26437bd686ca8177f5454a366fed59eb by medismail.bennani
[lldb/Interpreter] Conform ScriptedProcessPythonInterface to SWIG python types

This patch should address the compiler warnings due to mismatch type
comparaison.

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

Signed-off-by: Med Ismail Bennani <medismail.bennani@gmail.com>
The file was modifiedlldb/source/Plugins/ScriptInterpreter/Python/ScriptedProcessPythonInterface.h
The file was modifiedlldb/source/Plugins/ScriptInterpreter/Python/ScriptedProcessPythonInterface.cpp
Commit 254c4d174ea3bd3601818b003fc169cdedf24fb9 by medismail.bennani
[lldb] Fix build failure introduced by 3d4cadfb26437bd686ca8177f5454a366fed59eb

This patch updates the `ScriptedProcess::GetGenericInteger` return type
to `llvm::Optional<unsigned long long>` to match implementation.

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

Signed-off-by: Med Ismail Bennani <medismail.bennani@gmail.com>
The file was modifiedlldb/source/Plugins/ScriptInterpreter/Python/ScriptedProcessPythonInterface.h
Commit a5b889db7fd3be9e33e29aa4f1a2edfff9a69350 by jpienaar
[mlir] Also update inferReturnTensorTypes (NFC)

Missed this one in the first go.
The file was modifiedmlir/lib/Interfaces/InferTypeOpInterface.cpp
The file was modifiedmlir/include/mlir/Interfaces/InferTypeOpInterface.h
Commit 1d445a6e7679cc188fd051f7397b7d9ca8ce4f10 by sbc
Reland: "[WebAssembly] Deduplicate imports of the same module name, field name, and type"

When two symbols import the same thing, only one import should be
emitted in the Wasm file.

Fixes https://bugs.llvm.org/show_bug.cgi?id=50938

Reverted in: 16aac493e59519377071e900d119ba2e7e5b525d.

Reviewed By: sbc100

Differential Revision: https://reviews.llvm.org/D105519
The file was modifiedllvm/include/llvm/BinaryFormat/Wasm.h
The file was addedlld/test/wasm/duplicate-global-imports.s
The file was addedlld/test/wasm/duplicate-table-imports.s
The file was modifiedllvm/include/llvm/BinaryFormat/WasmTraits.h
The file was modifiedlld/wasm/SyntheticSections.cpp
The file was addedlld/test/wasm/duplicate-function-imports.s
The file was modifiedlld/wasm/SyntheticSections.h
Commit 40ec59227a1c954d4182f528943fc8f28cff2302 by scw
[NFC] Fix test build breakage on Darwin
The file was modifiedcompiler-rt/test/sanitizer_common/TestCases/Posix/signal.cpp
Commit 7de73da8dad3ee6c5bca676b679bcdab84050ea2 by kstoimenov
[asan] Modified ASAN_MEMORY_ACCESS_CALLBACK to use a function call to ReportGenericErrorWrapper.

This change eliminate the stack frame for the fast path and improves runtime performance.

Reviewed By: vitalybuka

Differential Revision: https://reviews.llvm.org/D106505
The file was modifiedcompiler-rt/lib/asan/asan_rtl.cpp
Commit f8c6515554cc4a8f878179e2e081946c8c519fe3 by ayermolo
[DWP] Refactoring llvm-dwp in to a library part 2

This is follow up to https://reviews.llvm.org/D106198 where llvm-dwp was refactored in to multiple files.
In this patch moving them in to lib/include directories.

Reviewed By: dblaikie

Differential Revision: https://reviews.llvm.org/D106493
The file was modifiedllvm/lib/CMakeLists.txt
The file was modifiedllvm/tools/llvm-dwp/CMakeLists.txt
The file was removedllvm/tools/llvm-dwp/DWPStringPool.h
The file was modifiedllvm/tools/llvm-dwp/llvm-dwp.cpp
The file was addedllvm/include/llvm/DWP/DWPError.h
The file was addedllvm/lib/DWP/CMakeLists.txt
The file was removedllvm/tools/llvm-dwp/DWP.cpp
The file was addedllvm/lib/DWP/DWPError.cpp
The file was addedllvm/include/llvm/DWP/DWP.h
The file was removedllvm/tools/llvm-dwp/DWP.h
The file was addedllvm/include/llvm/DWP/DWPStringPool.h
The file was addedllvm/lib/DWP/DWP.cpp
The file was removedllvm/tools/llvm-dwp/DWPError.cpp
The file was removedllvm/tools/llvm-dwp/DWPError.h
Commit b9d8719a04350c27eb5542f4da579a8ad62c8c0b by lebedev.ri
[NFC][SimplifyCFG] Add test for SimplifyCondBranchToTwoReturns() mishandling
The file was modifiedllvm/test/Transforms/SimplifyCFG/return-merge.ll
Commit 0d4f2de30317d3726d7d69a7e896b7d600bf5067 by lebedev.ri
[NFC][LoopDeletion] Autogenerate checlines in simplify-then-delete.ll test
The file was modifiedllvm/test/Transforms/LoopDeletion/simplify-then-delete.ll
Commit d7378259aad35f1092369b45ea7a2e388297293f by lebedev.ri
[SimplifyCFG] SimplifyCondBranchToTwoReturns(): really only deal with different ret blocks

This function is called when some predecessor of an empty return block
ends with a conditional branch, with both successors being empty ret blocks.

Now, because of the way SimplifyCFG works, it might happen to simplify
one of the blocks in a way that makes a conditional branch
into an unconditional one, since it's destinations are now identical,
but it might not have actually simplified said conditional branch
into an unconditional one yet.

So, we have to check that ourselves first,
especially now that SimplifyCFG aggressively tail-merges
all ret and resume blocks.

Even if it was an unconditional branch already,
`SimplifyCFGOpt::simplifyReturn()` doesn't call `FoldReturnIntoUncondBranch()`
by default.
The file was modifiedllvm/test/Transforms/PhaseOrdering/X86/vector-reductions.ll
The file was modifiedllvm/test/Transforms/SimplifyCFG/X86/SpeculativeExec.ll
The file was modifiedllvm/test/Transforms/LoopDeletion/simplify-then-delete.ll
The file was modifiedllvm/lib/Transforms/Utils/SimplifyCFG.cpp
The file was modifiedllvm/test/Transforms/SimplifyCFG/extract-cost.ll
The file was modifiedllvm/test/Transforms/PGOProfile/chr.ll
The file was modifiedllvm/test/Transforms/SimplifyCFG/return-merge.ll
The file was modifiedllvm/test/Transforms/PhaseOrdering/X86/vector-reductions-logical.ll
The file was modifiedllvm/test/Transforms/SimplifyCFG/PR17073.ll
Commit a806f933a2bf7db444c5687d8d4e07910150ed9c by jianzhouzh
[dfsan] Make warn_unimplemented off by default

Because almost all internal use cases need to turn warn_unimplemented off.
The file was modifiedcompiler-rt/test/dfsan/flags.c
The file was modifiedcompiler-rt/lib/dfsan/dfsan_flags.inc
Commit 83225936af317e6bdd7103a8a039c51a29ce9f57 by dblaikie
PR51158: Don't emit -Wswitch or -Wcovered-switch-default for empty enums

An empty enum is used to implement C++'s new-ish "byte" type (to make
sure it's a separate type for overloading, etc - compared to a typedef)
- without any enumerators. Some clang warnings don't make sense in this
sort of situation, so let's skip them for empty enums.

It's arguable that possibly some situations of enumerations without
enumerators might want the previous-to-this-patch behavior (if the enum
is autogenerated and in some cases comes up empty, then maybe a default
in an empty switch would still be considered problematic - so that when
you add the first enumeration you do get a -Wswitch warning). But I
think that's niche enough & this std::byte case is mainstream enough
that we should prioritize the latter over the former.

If someone's got a middle ground proposal to account for both of those
situations, I'm open to patches/suggestions/etc.
The file was modifiedclang/lib/Sema/SemaStmt.cpp
The file was modifiedclang/test/SemaCXX/switch.cpp
Commit 3e2ad26b08a23e786e64e8e47547d25a1b5a7f28 by akhuang
[DebugInfo] Add -fno-ctor-homing for as counterpart to -fuse-ctor-homing

Add an opt out flag for constructor homing.

Differential Revision: https://reviews.llvm.org/D106582
The file was modifiedclang/include/clang/Driver/Options.td
The file was modifiedclang/docs/UsersManual.rst
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
The file was modifiedclang/test/CodeGenCXX/debug-info-ctor-homing-flag.cpp
Commit 25c02b32a46cdc8d80cb6209ac91155bc3ef9705 by gcmn
[Bazel] Update for f8c6515554

Update Bazel for
https://github.com/llvm/llvm-project/commit/f8c6515554 by splitting out
an LLVMDWP library target.
The file was modifiedutils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Commit 29f68419f6759d48549b3fcac2ca88a8a860bfd3 by efriedma
[AArch64] Regenerate test arm64-ccmp.ll
The file was modifiedllvm/test/CodeGen/AArch64/arm64-ccmp.ll
Commit bcce8e0fccc1d6c2f18ade0ffa7039fb705bade2 by jingham
Fix the logic so stop-hooks get run after a breakpoint that ran an expression

Code was added to Target::RunStopHook to make sure that we don't run stop hooks when
you stop after an expression evaluation. But the way it was done was to check that we
hadn't run an expression since the last natural stop. That failed in the case where you
stopped for a breakpoint which had run an expression, because the stop-hooks get run
after the breakpoint actions, and so by the time we got to running the stop-hooks,
we had already run a user expression.

I fixed this by adding a target ivar tracking the last natural stop ID at which we had
run a stop-hook. Then we keep track of this and make sure we run the stop-hooks only
once per natural stop.

Differential Revision: https://reviews.llvm.org/D106514
The file was modifiedlldb/source/Target/Target.cpp
The file was modifiedlldb/include/lldb/Target/Target.h
The file was modifiedlldb/test/API/commands/target/stop-hooks/main.c
The file was modifiedlldb/test/API/commands/target/stop-hooks/TestStopHooks.py
The file was modifiedlldb/test/API/commands/target/stop-hooks/TestStopHookScripted.py
Commit 68d6278a6e9879794850e879a036774544b49e99 by tianshilei1992
[OpenMP] Renaming RT functions `GetNumberOfBlocksInKernel` and `GetNumberOfThreadsInBlock`

These functions should follow the camel case convention. These are really easy to change
and are needed for D106033.

Reviewed By: JonChesterfield

Differential Revision: https://reviews.llvm.org/D106390
The file was modifiedopenmp/libomptarget/deviceRTLs/amdgcn/src/target_impl.hip
The file was modifiedopenmp/libomptarget/deviceRTLs/common/src/support.cu
The file was modifiedopenmp/libomptarget/deviceRTLs/common/src/libcall.cu
The file was modifiedopenmp/libomptarget/deviceRTLs/target_interface.h
The file was modifiedopenmp/libomptarget/deviceRTLs/common/src/omptarget.cu
The file was modifiedopenmp/libomptarget/deviceRTLs/common/src/reduction.cu
The file was modifiedopenmp/libomptarget/deviceRTLs/nvptx/src/target_impl.cu
Commit bf281f364757d6af8d9d8456f26d334d1eeaf575 by gbalats
[dfsan] Add wrappers for v*printf functions

Functions `vsnprintf`, `vsprintf` and `vfprintf` commonly occur in DFSan warnings.

Reviewed By: stephan.yichao.zhao

Differential Revision: https://reviews.llvm.org/D106195
The file was modifiedcompiler-rt/test/dfsan/custom.cpp
The file was modifiedcompiler-rt/lib/dfsan/dfsan_custom.cpp
The file was modifiedcompiler-rt/lib/dfsan/done_abilist.txt
Commit cf8a1f62083c3edbf2cd08bb16d57a70dc45722c by rob.suderman
[mlir][tosa] Quantized Conv2DOp lowering to linalg added.

Includes a version of a quantized conv2D operations with a lowering from TOSA
to linalg with corresponding test. We keep the quantized and quantized variants
as separate named ops to avoid the additional operations for non-quantized
convolutions.

Differential Revision: https://reviews.llvm.org/D106407
The file was modifiedmlir/python/mlir/dialects/linalg/opdsl/ops/core_named_ops.py
The file was modifiedmlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
The file was modifiedmlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
The file was modifiedmlir/test/Dialect/Linalg/named-ops.mlir
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgNamedStructuredOps.yaml
Commit b4f8a000f6c907a9e9f06f85c8d40ef9c235002e by gcmn
[Bazel] Change external_zlib attribute to string

When using `llvm_zlib_external` rule with `external_zlib` attribute set to a
label referring to the main repository, like `@//third_party/zlib`, it will be
replaced with `//third_party/zlib` after template substitution. This will then
attempt to find `//third_party/zlib` within the local repository
`@llvm_zlib//third_party/zlib`, which does not exist, rather than the intended
reference back to the main repository. The issue appears to be that the
conversion of `Label` type to string with
`str(repository_ctx.attr.external_zlib)`, which is causing the main repository
qualifier to be lost.

This diff fixes the issue by changing the `external_zlib` attribute to
`attr.string` type rather than `attr.label`.

In future a more elegant solution may be possible that preserves use of the
`Label` type, depending on resolution of the issue
https://github.com/bazelbuild/bazel/issues/13731.

Ported from Github PR https://github.com/google/llvm-bazel/pull/236.

Reviewed By: GMNGeoffrey

Differential Revision: https://reviews.llvm.org/D106606
The file was modifiedutils/bazel/zlib.bzl
Commit 14fad06a36a1c8be46c57b093428b1b0602fa1da by mtrofin
[docs] Add the compiler-rt requirement to the test suite doc

Differential Revision: https://reviews.llvm.org/D101467
The file was modifiedllvm/docs/TestSuiteGuide.md
Commit be583be23b42e3e9fdb8f376aa798083ecf7c255 by gcmn
[Bazel] Rename LLVMDWP to DWP

Since Bazel has packages, we don't prefix target names with LLVM. I
forgot when translating the CMake.
The file was modifiedutils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Commit 96c63492cb952431fd9732146663fe227f8c52c1 by Vitaly Buka
[hwasan] Use stack safety analysis.

This avoids unnecessary instrumentation.

Reviewed By: eugenis, vitalybuka

Differential Revision: https://reviews.llvm.org/D105703
The file was modifiedclang/lib/CodeGen/BackendUtil.cpp
The file was modifiedllvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
The file was addedclang/test/CodeGen/hwasan-stack-safety-analysis.c
The file was modifiedllvm/include/llvm/Transforms/Instrumentation/HWAddressSanitizer.h
The file was addedllvm/test/Instrumentation/HWAddressSanitizer/stack-safety-analysis.ll
Commit ea452353c013b95dbe9d64ff59a97597b2549f19 by tianshilei1992
[OpenMP] Refined the logic to give a regular task from a hidden helper task

In current implementation, if a regular task depends on a hidden helper task,
and when the hidden helper task is releasing its dependences, it directly calls
`__kmp_omp_task`. This could cause a problem that if `__kmp_push_task` returns
`TASK_NOT_PUSHED`, the task will be executed immediately. However, the hidden
helper threads are assumed to only execute hidden helper tasks. This could cause
problems because when calling `__kmp_omp_task`, the encountering gtid, which is
not the real one of the thread, is passed.

This patch uses `__kmp_give_task`, but because it is a static function, a new
wrapper `__kmpc_give_task` is added.

Reviewed By: AndreyChurbanov

Differential Revision: https://reviews.llvm.org/D106572
The file was modifiedopenmp/runtime/src/kmp_tasking.cpp
The file was modifiedopenmp/runtime/src/kmp_taskdeps.h
Commit 207c4d4d37d4a2e812a8bbd772aae822fee75640 by mtrofin
[MLGO] Strip TF_PIP cmake variable

This should fix build breaks for 'development' mode. The other modes
were unaffected - 'release' because it doesn't use TFUtils.cpp, and the
mixed mode because the AOT compiled code brings in the necessary include
dirs anyway.
The file was modifiedllvm/CMakeLists.txt
Commit 0cf65382ade209d11c186639c18a2e262866d689 by cjdb
[libcxx][modularisation] properly modularises advance, next, and prev

`__function_like` wasn't being exported, so certain properties of the
`ranges` functions weren't being propagated in modules land.

Differential Revision: https://reviews.llvm.org/D105078
The file was modifiedlibcxx/include/__iterator/advance.h
The file was modifiedlibcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.prev/special_function.compile.pass.cpp
The file was modifiedlibcxx/include/module.modulemap
The file was modifiedlibcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.advance/special_function.compile.pass.cpp
The file was modifiedlibcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.next/special_function.compile.pass.cpp
Commit 5ae39d4f9773214a55b2166bb7bbf3a6d83ecf34 by thakis
[lld/mac] Fix bug in interaction of -dead_strip and -undefined dynamic_lookup

We lost the `used` bit on the Undefined when we replaced it with a DylibSymbol
in treatUndefined().

Differential Revision: https://reviews.llvm.org/D106565
The file was modifiedlld/MachO/Symbols.h
The file was modifiedlld/MachO/Writer.cpp
The file was modifiedlld/test/MachO/dead-strip.s
Commit 481084f669e10beb89b2e1a75bc67e7fb8125941 by tlively
[WebAssembly][NFC] Update test expectations labels after db7efcab7dd9

Commit db7efcab7dd9 changed the implementations of the wasm_*_extract_lane and
wasm_*_replace_lane intrinsics from using builtin functions to using the
standard vector extensions. This did not change the resulting IR, but it changes
how update_cc_test_checks.py labels values in the IR. This commit simply updates
those labels.

Differential Revision: https://reviews.llvm.org/D106611
The file was modifiedclang/test/Headers/wasm.c
Commit 5b93e3a75fc48d2deb8dcf1f1d48b55fde1248e3 by sbc
Add llvm-readobj and binutils symlinks to LLVM_TOOLCHAIN_TOOLS

This patch adds llvm-readobj and the binutils symlink for readelf to
LLVM_TOOLCHAIN_TOOLS.

Tvoid *thread, void *attr,hey are required by some (most?)
autoconf-built libraries, adding these allows me to build newlib with
the toolchain generated this way.

Also opened an issue for that some days ago, see
https://bugs.llvm.org/show_bug.cgi?id=50698

Reviewed By: sbc100

Differential Revision: https://reviews.llvm.org/D104957
The file was modifiedllvm/cmake/modules/AddLLVM.cmake
Commit 681107e9f0289a8514821e2954025554c8fabb1e by thakis
[gn build] (manually) port f8c6515554cc (libLLVMDWP)
The file was modifiedllvm/utils/gn/secondary/llvm/tools/llvm-dwp/BUILD.gn
The file was addedllvm/utils/gn/secondary/llvm/lib/DWP/BUILD.gn
Commit 2d6fb62ef2d961bf41bf6b36d370228e3fb8a48b by thakis
[lld/mac] Handle symbols from -U in treatUndefinedSymbol()

In ld64, `-U section$start$FOO$bar` handles `section$start$FOO$bar`
as a regular `section$start` symbol, that is section$start processing
happens before -U processing.

Likely, nobody uses that in practice so it doesn't seem very important
to be compatible with this, but it also moves the -U handling code next
to the `-undefined dynamic_lookup` handling code, which is nice because
they do the same thing. And, in fact, this did identify a bug in a corner
case in the intersection of `-undefined dynamic_lookup` and dead-stripping
(fix for that in D106565).

Vaguely related to PR50760.

No interesting behavior change.

Differential Revision: https://reviews.llvm.org/D106566
The file was modifiedlld/MachO/Config.h
The file was modifiedlld/MachO/Driver.cpp
The file was modifiedlld/test/MachO/dead-strip.s
The file was modifiedlld/MachO/SymbolTable.cpp
Commit ab5ac659c81a453a3f58df94f39fe8ba3cd35918 by hoy
[CSSPGO] Fix a typo in SampleContextTracker

Fixing a typo in SampleContextTracker to use debug name when debug linkage name is no present. This should only affect C programs.

Saw 0.6% perf win on Cinder which is mostly C code.

Reviewed By: wenlei, wmi

Differential Revision: https://reviews.llvm.org/D106599
The file was modifiedllvm/lib/Transforms/IPO/SampleContextTracker.cpp
Commit 54bc2d812e2c85d696840839ef8525e8bda43eeb by i
[ELF][test] Add a test about GCable SHF_LINK_ORDER SHT_INIT_ARRAY
The file was modifiedlld/test/ELF/gc-sections-linkorder.s
Commit 120b18767c5243520f91e81b3baaa2bcf0d2c4ac by i
[ELF] --gc-sections: allow GC on reserved sections in a group

This generalizes D70146 (SHT_NOTE) to more reserved sections and makes our rules
more consistent. Now SHF_GROUP is more similar to SHF_LINK_ORDER.

For SHT_INIT_ARRAY/SHT_FINI_ARRAY, the rule will be closer to PE/COFF link.exe.

Previously sanitizers use llvm.global_ctors to make module_ctor a GC
root, which is considered an abuse.
https://groups.google.com/g/generic-abi/c/TpleUEkNoQI

We can squeak through on compatibility issues because compilers otherwise don't
use SHF_GROUP special sections.
The file was modifiedlld/test/ELF/gc-sections-group.s
The file was modifiedlld/ELF/MarkLive.cpp
Commit e50a38840dc3db5813f74b1cd2e10e6d984d0e67 by gulfem
[profile] Add binary id into profiles

This patch adds binary id into profiles to easily associate binaries
with the corresponding profiles. There is an RFC that discusses
the motivation, design and implementation in more detail:
https://lists.llvm.org/pipermail/llvm-dev/2021-June/151154.html

Differential Revision: https://reviews.llvm.org/D102039
The file was modifiedcompiler-rt/lib/profile/InstrProfilingPlatformWindows.c
The file was modifiedllvm/test/tools/llvm-profdata/malformed-ptr-to-counter-array.test
The file was modifiedllvm/test/tools/llvm-profdata/raw-32-bits-le.test
The file was modifiedcompiler-rt/include/profile/InstrProfData.inc
The file was modifiedllvm/include/llvm/ProfileData/InstrProfReader.h
The file was modifiedllvm/test/tools/llvm-profdata/raw-32-bits-be.test
The file was modifiedcompiler-rt/lib/profile/InstrProfilingPlatformOther.c
The file was addedcompiler-rt/test/profile/Linux/binary-id.c
The file was modifiedllvm/include/llvm/ProfileData/InstrProfData.inc
The file was modifiedllvm/lib/ProfileData/InstrProfReader.cpp
The file was modifiedllvm/tools/llvm-profdata/llvm-profdata.cpp
The file was modifiedllvm/test/tools/llvm-profdata/raw-two-profiles.test
The file was modifiedcompiler-rt/lib/profile/InstrProfilingWriter.c
The file was modifiedllvm/include/llvm/ProfileData/InstrProf.h
The file was modifiedcompiler-rt/lib/profile/InstrProfilingInternal.h
The file was modifiedllvm/test/tools/llvm-profdata/Inputs/c-general.profraw
The file was modifiedllvm/test/tools/llvm-profdata/Inputs/compressed.profraw
The file was modifiedllvm/test/tools/llvm-profdata/raw-64-bits-le.test
The file was modifiedcompiler-rt/lib/profile/InstrProfilingPlatformLinux.c
The file was modifiedllvm/test/tools/llvm-profdata/raw-64-bits-be.test
The file was modifiedcompiler-rt/test/profile/Linux/corrupted-profile.c
The file was modifiedllvm/test/tools/llvm-profdata/c-general.test
The file was modifiedcompiler-rt/lib/profile/InstrProfilingPlatformDarwin.c
Commit 51d8e67e88d1b673c20a61ef4fac201bc15ae664 by marksl
[ARC] Add tablegen definition for the Find Leading Set (FLS) instruction

Differential Revision: https://reviews.llvm.org/D106602
The file was modifiedllvm/lib/Target/ARC/ARCInstrInfo.td
The file was modifiedllvm/test/MC/Disassembler/ARC/misc.txt
Commit 286e7bdd3ea4f1c7a90a2877e28f353dcd9a7493 by rob.suderman
[mlir][tosa] Make tosa MakeBroadcastable pass handle unreanked tensors.

If this pass executes without shape inference its possible for unranked tensors
to appear in the IR. This pass should gracefully handle unranked tensors.

Differential Revision: https://reviews.llvm.org/D106617
The file was modifiedmlir/lib/Dialect/Tosa/Transforms/TosaMakeBroadcastable.cpp
Commit 44ba8c691cb8f88ba2023843f8d48876102dff36 by Vitaly Buka
[NFC][asan] Always pass Dominator Trees into forAllReachableExits
The file was modifiedllvm/include/llvm/Transforms/Instrumentation/AddressSanitizerCommon.h
The file was modifiedllvm/lib/Target/AArch64/AArch64StackTagging.cpp
Commit 921c548f11ea0c21be3da87ba728ce23c11bf1a8 by Vitaly Buka
[compiler-rt] Fix lld dependency for sanitizers

TARGET lld is always false there.
The file was modifiedcompiler-rt/test/hwasan/CMakeLists.txt
The file was modifiedcompiler-rt/test/asan/CMakeLists.txt
The file was modifiedcompiler-rt/test/fuzzer/CMakeLists.txt
The file was modifiedcompiler-rt/test/ubsan/CMakeLists.txt
Commit f8c40ed8f8e760cfc672dbd1b8d8b4d9357e4a16 by georgakoudis1
[OpenMP] Use AAHeapToStack/AAHeapToShared analysis in SPMDization

SPMDization D102307 detects incompatible OpenMP runtime calls to abort converting a target region to SPMD mode. Calls to memory allocation/de-allocation routines kmpc_alloc_shared, kmpc_free_shared are incompatible unless they are removed by AAHeapToStack/AAHeapToShared analysis. This patch extends SPMDization detection to include AAHeapToStack/AAHeapToShared analysis results for enlarging the scope of possible SPMDized regions detected.

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D105634
The file was modifiedllvm/test/Transforms/OpenMP/spmdization.ll
The file was modifiedllvm/include/llvm/Transforms/IPO/Attributor.h
The file was modifiedllvm/lib/Transforms/IPO/AttributorAttributes.cpp
The file was modifiedllvm/lib/Transforms/IPO/OpenMPOpt.cpp
Commit e4ed93cb25acc624a1d32e77d2c63c8c25fddbae by lkail
[PowerPC] Implement XL compatible behavior of __compare_and_swap

According to https://www.ibm.com/docs/en/xl-c-and-cpp-aix/16.1?topic=functions-compare-swap-compare-swaplp
XL's `__compare_and_swap` has a weird behavior that

> In either case, the contents of the memory location specified by addr are copied into the memory location specified by old_val_addr.

(unlike c11 `atomic_compare_exchange` specified in http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1548.pdf)

This patch let clang's implementation follow this behavior.

Reviewed By: jsji

Differential Revision: https://reviews.llvm.org/D106344
The file was addedllvm/test/CodeGen/PowerPC/opt-builtins-ppc-xlcompat-cas.ll
The file was modifiedclang/lib/CodeGen/CGBuiltin.cpp
The file was modifiedclang/test/CodeGen/builtins-ppc-xlcompat-cas.c
Commit eaab880e45860192e5e52dba7f694f639f4dbcb7 by georgakoudis1
[Attributor][Fix] Add overrides for AA2HS analysis
The file was modifiedllvm/lib/Transforms/IPO/OpenMPOpt.cpp
Commit 393116faad6f4b958062c3ee798311bdd85785b4 by thakis
[lld/mac] Remove "else" after return

No behavior change
The file was modifiedlld/MachO/InputSection.cpp
Commit 377320fe80b29c19a38b6d8cbd017c30d5976850 by thakis
[gn build] Reformat all gn files

Ran `git ls-files '*.gn' '*.gni' | xargs llvm/utils/gn/gn.py format`.
The file was modifiedllvm/utils/gn/secondary/compiler-rt/lib/hwasan/BUILD.gn
The file was modifiedllvm/utils/gn/secondary/llvm/unittests/MIR/BUILD.gn
The file was modifiedllvm/utils/gn/secondary/compiler-rt/lib/scudo/standalone/BUILD.gn
The file was modifiedllvm/utils/gn/secondary/llvm/lib/Target/ARM/BUILD.gn
The file was modifiedllvm/utils/gn/secondary/llvm/tools/llvm-tapi-diff/BUILD.gn
The file was modifiedllvm/utils/gn/secondary/llvm/tools/llvm-sim/BUILD.gn
The file was modifiedllvm/utils/gn/build/BUILD.gn
The file was modifiedllvm/utils/gn/secondary/llvm/tools/llvm-dwp/BUILD.gn
The file was modifiedllvm/utils/gn/secondary/llvm/unittests/Passes/BUILD.gn
Commit 4a76bd0e31401a34b0db7e30266b8f386fd5492a by thakis
[gn build] Allow use_asan=true on macOS

Seems to work.

(I only tried macOS, not iOS, but need to allow both because
the iOS toolchain used to build compiler-rt asserts otherwise.)
The file was modifiedllvm/utils/gn/build/BUILD.gn
Commit 3817ba13aea3fdf189ee4048e4a5bf1eba2a3044 by huberjn
[OpenMP] Add environment variables to change stack / heap size in the CUDA plugin

This patch adds support for two environment variables to configure the device.
``LIBOMPTARGET_STACK_SIZE`` sets the amount of memory in bytes that each thread
has for its stack. ``LIBOMPTARGET_HEAP_SIZE`` sets the amount of heap memory
that can be allocated using malloc / free on the device.

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D106627
The file was modifiedopenmp/libomptarget/plugins/cuda/src/rtl.cpp
The file was modifiedopenmp/docs/design/Runtimes.rst
Commit 76c0c0ca86a17d4efbc1765dcd44a7b7f1796e0d by huberjn
[OpenMP][NFC] Fix formatting in CUDA plugin
The file was modifiedopenmp/libomptarget/plugins/cuda/src/rtl.cpp
Commit 5acc6d45727a8a603ad937e393d942eb7cc79a0d by thakis
[lld-macho] Disambiguate bitcode files with the same name by archive name/offset in archive

Ported from COFF/ELF; test is adapted from
test/COFF/thinlto-archivecollision.ll

LTO expects every bitcode file to have a unique name. If given multiple bitcode
files with the same name, it errors with "Expected at most one ThinLTO module
per bitcode file".

This change incorporates the archive name, to disambiguate members with the
same name in different archives and the offset in archive to disambiguate
members with the same name in the same archive.

Differential Revision: https://reviews.llvm.org/D106179
The file was modifiedlld/MachO/InputFiles.h
The file was addedlld/test/MachO/lto-archivecollision.ll
The file was modifiedlld/MachO/Driver.cpp
The file was modifiedlld/MachO/DriverUtils.cpp
The file was modifiedlld/MachO/InputFiles.cpp
The file was modifiedlld/MachO/Driver.h
Commit 4cef90d972621baf7c4bc91ae3dc7e2a4111c964 by tstellar
cmake: Remove unused property on some targets: LLVM_LINK_LIBS

This doesn't appear to be used anywhere.

Reviewed By: serge-sans-paille

Differential Revision: https://reviews.llvm.org/D100021
The file was modifiedllvm/cmake/modules/AddLLVM.cmake
Commit edffb97d1e7c9f56114ab6018c3fc58920307c5d by jpienaar
[mlir] Fix comment typos
The file was modifiedmlir/include/mlir/Analysis/DataFlowAnalysis.h
Commit 4b2dd318dddcf5c055cd372de50ea034fa17ea02 by kai.wang
[RISCV] Add FrameSetup/FrameDestroy flag to prologue/epilog instructions.

Differential Revision: https://reviews.llvm.org/D105086
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfo.cpp
The file was modifiedllvm/test/CodeGen/RISCV/rvv/emergency-slot.mir
The file was modifiedllvm/lib/Target/RISCV/RISCVFrameLowering.cpp
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfo.h
The file was modifiedllvm/lib/Target/RISCV/RISCVFrameLowering.h
The file was modifiedllvm/test/CodeGen/RISCV/rvv/get-vlen-debugloc.mir
The file was modifiedllvm/test/CodeGen/RISCV/rvv/addi-scalable-offset.mir
The file was modifiedllvm/test/CodeGen/RISCV/rvv/zvlsseg-spill.mir
Commit 6ca969353c1da8e9351bf5e713c18210c44af4a9 by johannes
[Attributor] If provided, only look at simplification callbacks not IR

A simplification callback can mean that the IR value is modified beyond
the apparent IR semantics. That is, a `i1 true` could be replaced by an
`i1 false` based on high-level domain-specific information. If a user
provides a simplification callback we will not look at the IR but
instead give up if the callback returns a nullptr.
The file was modifiedllvm/lib/Transforms/IPO/Attributor.cpp
The file was modifiedllvm/lib/Transforms/IPO/AttributorAttributes.cpp
Commit d12ee28e2e4c3f551f1a79d27e3f10736f9b97cf by johannes
[OpenMP] Simplify the ThreadStackTy for globalization fallback

With D106496 we can make the globalization fallback stack much simpler
and this version doesn't seem to experience the spurious failures and
deadlocks we have seen before.

Differential Revision: https://reviews.llvm.org/D106576
The file was modifiedopenmp/libomptarget/deviceRTLs/common/src/data_sharing.cu
Commit c698be47ff8cfa337079fc14947056f867676591 by sivachandra
[libc] Raise denormal exception if the libc defines __FE_DENORM.

Reviewed By: michaelrj

Differential Revision: https://reviews.llvm.org/D106604
The file was modifiedlibc/utils/FPUtil/x86_64/FEnvImpl.h
Commit 99ed6ce2bdf062db9277a309b7c307fd22fadf9d by fraser
[SelectionDAG][RISCV] Add tests showing missed scalable-splat optimizations

These tests show missed opportunities in the SelectionDAG layer when
dealing with scalable-vector splats. All of these are handled for the
equivalent `ISD::BUILD_VECTOR` code, and the tests have largely been
translated from the equivalent X86 tests.

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D106574
The file was addedllvm/test/CodeGen/RISCV/rvv/combine-splats.ll
The file was addedllvm/test/CodeGen/RISCV/rvv/urem-seteq-vec.ll
Commit f26ac73fa98eb933ee3c9481a6e81f3509c22858 by craig.topper
[X86] Add test case simplified from PR51175. NFC
The file was addedllvm/test/CodeGen/X86/pr51175.ll
Commit e8f95403629a7bb261bcad982bd28c97b01f077e by fraser
[NFC] Fix early line-break in doxygen comment
The file was modifiedllvm/include/llvm/CodeGen/ISDOpcodes.h
Commit fde7550094d035085d3671289d5832962c6af7fe by cullen.rhodes
[AArch64][AsmParser] NFC: when creating a token IsSuffix=false should be default

Reviewed By: david-arm

Differential Revision: https://reviews.llvm.org/D106568
The file was modifiedllvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp