Changes

Summary

  1. Remove -DFLANG_BUILD_NEW_DRIVER=ON from builders. NFCI (details)
  2. jenkins/tasks: virtualenv: Use the Python3 interpreter (details)
  3. [sanitizer] Remove disabled line (details)
  4. [sanitizer] Fix COMPILER_RT_DEBUG assignment (details)
  5. Added missing comma in clang-ppc64le-rhel builder configuration. (details)
  6. [sanitizer][NFC] Reuse cmake setup (details)
  7. [sanitizer] Fix asan builder name (details)
  8. [sanitizer] Remove unused GN reference (details)
  9. [sanitizer] Add dedicated QEMU builder (details)
  10. [scudo] Test on mips and ppc QEMU (details)
Commit 1062df17752fb11a207f9cd8dc7854fc73144f0e by diana.picus
Remove -DFLANG_BUILD_NEW_DRIVER=ON from builders. NFCI

FLANG_BUILD_NEW_DRIVER defaults to ON now, so there's no need to add it
anymore.

Differential Revision: https://reviews.llvm.org/D102320
The file was modifiedbuildbot/osuosl/master/config/builders.py (diff)
Commit 92122d159f7294fc3534d16354385cd42837ff4c by Azharuddin Mohammed
jenkins/tasks: virtualenv: Use the Python3 interpreter
The file was modifiedtasks/utils/venv.sh (diff)
Commit ac6a7e6e071c77bc081de358266075a938a11e39 by Vitaly Buka
[sanitizer] Remove disabled line
The file was modifiedzorg/buildbot/builders/sanitizers/buildbot_qemu.sh (diff)
Commit 76d050f0ff7e2517953936571ced397817a4a2e0 by Vitaly Buka
[sanitizer] Fix COMPILER_RT_DEBUG assignment
The file was modifiedzorg/buildbot/builders/sanitizers/buildbot_qemu.sh (diff)
Commit 8bbdd35de2d2a8513bbe4f62250ca1cf8f0a38fd by gkistanova
Added missing comma in clang-ppc64le-rhel builder configuration.
The file was modifiedbuildbot/osuosl/master/config/builders.py (diff)
Commit 1d14b1b88e1b3b85b286e855a61813991d8d8d3b by Vitaly Buka
[sanitizer][NFC] Reuse cmake setup
The file was modifiedzorg/buildbot/builders/sanitizers/buildbot_qemu.sh (diff)
Commit 91a7eff07ec1801011fc2e171ba2ec55108abc82 by Vitaly Buka
[sanitizer] Fix asan builder name
The file was modifiedzorg/buildbot/builders/sanitizers/buildbot_selector.py (diff)
The file was modifiedbuildbot/osuosl/master/config/builders.py (diff)
Commit 594bf9c4e3d7ddb82ad88b3f809f586c35417d05 by Vitaly Buka
[sanitizer] Remove unused GN reference
The file was modifiedzorg/buildbot/builders/sanitizers/buildbot_selector.py (diff)
Commit 8d4ef0058071a232fd2a03f78194a167c3815f87 by Vitaly Buka
[sanitizer] Add dedicated QEMU builder
The file was modifiedzorg/buildbot/builders/sanitizers/buildbot_selector.py (diff)
The file was modifiedbuildbot/osuosl/master/config/builders.py (diff)
Commit 01a0a609bffc75deec7dbcf2afa53bd1424b3abf by Vitaly Buka
[scudo] Test on mips and ppc QEMU
The file was modifiedzorg/buildbot/builders/sanitizers/buildbot_qemu.sh (diff)

Summary

  1. [AIX][compiler-rt] Build and install standalone libatomic (details)
  2. [MLIR][NFC] Fix clang-tidy warnings in IntegerSet.h (details)
  3. [Matrix] Implement static cast for matrix types (details)
  4. [MLIR][PYTHON] Provide opt level for ExecutionEngine Python binding (details)
  5. [MemCpyOpt] Add test for unreachable capture (NFC) (details)
  6. [CaptureTracking] Do not check domination (details)
  7. Revert "[CaptureTracking] Do not check domination" (details)
  8. [NFC][X86][Costmodel] Add tests for load/store with i1 element type (details)
  9. [VectorCombine] Add tests with and & urem guaranteeing idx is valid. (details)
  10. [PhaseOrdering] Add test for insert/extract code for matrixes. (details)
  11. [Matrix] Extend test to also check new PM pipeline. (details)
  12. [Matrix] Fix some newpm check lines, which fail on some bots. (details)
  13. [X86][SSE] Pull out combineToHorizontalAddSub helper from inside (F)ADD/SUB combines (REAPPLIED). NFCI. (details)
  14. [Matrix] Fix some newpm check lines, which fail on some bots. (2) (details)
  15. Reapply [CaptureTracking] Do not check domination (details)
  16. [CaptureTracking] Simplify reachability check (NFCI) (details)
  17. [Utils] Fix indentation error in utils/wciia.py (details)
  18. [ARM] Extra branch on zero tests. NFC (details)
  19. Revert "Do actual DCE in LoopUnroll (try 2)" (details)
  20. [CPG][ARM] Optimize towards branch on zero in codegenprepare (details)
  21. [JITLink] Fix symbol comparator in LinkGraph::dump. (details)
  22. [clang] Fix ternary operator in the second for loop statement (details)
  23. Recommit "[Clang,Driver] Add -fveclib=Darwin_libsystem_m support." (details)
  24. [BPF] add support for 32 bit registers in inline asm (details)
  25. [test] Improve CodeGen/*/semantic-interposition-asm.ll (details)
  26. [RISCV] Replace AddiPair ComplexPattern with a PatLeaf. NFC (details)
  27. Fix some deprecated copy ops in google mock (details)
  28. [lld][X86] Restore gotEntrySize. (details)
  29. [RISCV][test] Add new tests of or/xor in the zbs extension (details)
  30. [NFC][sanitizer] Fix 'macro redefined' warning in test (details)
  31. [RISCV] Optimize or/xor with immediate in the zbs extension (details)
  32. [SelectionDAG] Make fast and linearize visible by clang -pre-RA-sched (details)
  33. Revert "[NFC] Use ArgListEntry indirect types more in ISel lowering" (details)
  34. Revert "[TargetLowering] Only inspect attributes in the arguments for ArgListEntry" (details)
  35. [CSSPGO] Update pseudo probe distribution factor based on inline context. (details)
  36. [mlir] Fix in_bounds attr handling in TransferReadPermutationLowering (details)
  37. [mlir] Lower permutation maps on TransferWriteOps (details)
  38. Add support for complex constants to MLIR core. (details)
  39. [clang][deps] NFC: Stop assuming the TU's context hash (details)
  40. [clang][deps] NFC: Report modules' context hash (details)
  41. [PowerPC] add a testcase for reverse memory op; nfc (details)
  42. [clang] NFC: Remove CompilerInstance::getInvocationPtr (details)
  43. [LLD][MinGW] Add --fatal-warnings and --no-fatal-warnings flags (details)
  44. [dexter] Remove unnecessary double check on conditional breakpoints (details)
  45. [dexter] Remove requirement for a condition in DexLimitSteps (details)
  46. [libcxx] NFC. Add missed articles to _LIPCPP_ASSERT messages in <list> (details)
  47. [DAGCombiner] Relax an assertion to an early return (details)
  48. Revert "[NFC][LSAN] Limit the number of concurrent threads is the test" (details)
  49. [clang][modules] Build inferred modules (details)
  50. [lldb][NFC] Specify guidelines for API tests (details)
  51. [clangd] Set FileSystem for tweaks in Check tool. (details)
  52. [lldb] Let dotest check for the `cassert` header instead of `algorithm` for libc++ check (details)
  53. [AArch64] Lower fpto*i.sat intrinsics. (details)
  54. [mlir][linalg] Remove template parameter from loop lowering. (details)
  55. [WIP][mlir] Resolve memref dependency in canonicalize pass. (details)
  56. [clang][deps] Support inferred modules (details)
  57. IR/AArch64/X86: add "swifttailcc" calling convention. (details)
  58. Revert "tsan: mark sigwait as blocking" (details)
  59. [TargetLowering] prepareUREMEqFold/prepareSREMEqFold - account for non legal shift types (details)
  60. Add `mlirModuleFromOperation` to C API (details)
  61. [Test] Fix test to make the transform for which is was added legal (details)
  62. [clangd][QueryDriver] Dont check for existence of driver (details)
  63. AArch64: mark x22 livein if it's an async context that gets stored. (details)
  64. X86: support Swift Async context (details)
  65. [gn build] Add build file for msan runtime (details)
  66. [gn build] reformat all gn files (details)
  67. [clang][deps] Specify Python 3 in shebang (details)
  68. [PowerPC] Do not emit dssall on AIX (details)
  69. [OpenCL] Drop pragma handling for extension types/decls. (details)
  70. [Test] Auto-generate checks in a test (prepring to update) (details)
  71. Revert "[clang][deps] Support inferred modules" (details)
  72. [mlir] Add folder for complex.ReOp and complex.ImOp. (details)
  73. [PowerPC] Add patterns for vselect of v1i128 (details)
  74. [OpenCL] Fix reinterpret_cast of vectors (details)
  75. Clean up uses of gmock Invoke in an attempt to make it work with GCC 6.2. NFCI. (details)
  76. Revert "[mlir] Add folder for complex.ReOp and complex.ImOp." (details)
  77. [debuginfo-tests] Fix environment variable used to specify LLDB (details)
  78. [X86] Regenerate cmov.ll tests (details)
  79. [InstCombine] isFreeToInvert(): constant expressions aren't free to invert (PR50370) (details)
  80. Put back the trailing commas on TYPED_TEST_SUITE (details)
  81. [mlir][memref] Mark memref.buffer_cast as NoSideEffect (details)
  82. [DebugInfo] Fix DWARF expressions for __block vars that are not on the heap (details)
  83. [AArch64] Lower bitreverse in ISel (details)
  84. Silence "Undefined or garbage value returned to caller" static analysis warning. NFCI. (details)
  85. [mlir] fix misformatted documentation for memref convention (details)
  86. [mlir] Improve TransferOp verifier: broadcasts are in_bounds (details)
  87. [clang-tidy] Fix altera-struct-pack-align crash for struct fields with incomplete type (details)
  88. [APInt][NFC] Fix typo vlalue->value (details)
  89. [RISCV][NFC] Correct alignment in scatter/gather tests (details)
  90. [AMDGPU] Tweak VOP3_INTERP16 profile (details)
  91. [clang] In DependencyCollector on Windows, ignore case and separators when discarding duplicate dependency file paths. (details)
  92. [X86] Don't dereference a dyn_cast<> - use a cast<> instead. NFCI. (details)
  93. [x86] update fma test with deprecated intrinsics; NFC (details)
  94. [mlir][openacc] Translate ExitDataop to LLVM IR (details)
  95. [AIX] Implement AIX special bitfield related alignment rules (details)
  96. [AMDGPU] Set unused dst_sel to '?' in the encoding (details)
  97. [LoopUnroll] Add multi-exit test which does not exit through latch. (details)
  98. [OpenMP] Fixed Bug 49356 (details)
  99. [HWASan] Build separate LAM runtime on x86_64. (details)
  100. [llvm][doc] fix header for read/write_register intrinsics in LangRef (details)
  101. [Clang][NVPTX] Add NVPTX intrinsics and builtins for CUDA PTX cp.async instructions (details)
  102. [Clang][NVPTX] Add NVPTX intrinsics and builtins for CUDA PTX redux.sync instructions (details)
  103. [mlir][tosa] Fix tosa.avg_pool2d lowering to normalize correctly (details)
  104. [HIP] Fix spack detection (details)
  105. Make `mlir::OpState::operator bool` explicit (details)
  106. [HWASan] Don't build alias mode on non-x86. (details)
  107. [LoopIdiom] 'logical right-shift until zero' ('count active bits') "on steroids" idiom recognition. (details)
  108. [LLDB] Switch from using member_clang_type.GetByteSize() to member_type->GetByteSize() in ParseSingleMember (details)
  109. [NewPM] Add C bindings for new pass manager (details)
  110. Reset the wakeup timeout when we re-enter the continue wait. (details)
  111. Revert "[NewPM] Add C bindings for new pass manager" (details)
  112. [Clang] -Wunused-but-set-parameter and -Wunused-but-set-variable (details)
  113. [analyzer] Engine: fix crash with SEH __leave keyword (details)
  114. Merge with mainline. (details)
  115. [lld/mac] Honor REFERENCED_DYAMICALLY, set it on __mh_execute_header (details)
  116. [mlir][sparse] replace experimental flag with inplace attribute (details)
  117. [NewPM] Add C bindings for new pass manager (details)
  118. Add type function for ConstShape op. (details)
  119. gn build: Only build the hwasan runtime in aliasing mode on x86. (details)
  120. [AArch64] Support customizing stack protector guard (details)
  121. [InstCombine] add tests for fneg-of-select; NFC (details)
  122. [InstCombine] fold fnegs around select (details)
  123. [gn build] Port 0c557db61711 (details)
  124. Revert "[Clang] -Wunused-but-set-parameter and -Wunused-but-set-variable" (details)
  125. [NFC][scudo] Clang-format tests (details)
  126. Revert "X86: support Swift Async context" (details)
  127. [lldb] Document ctrl-f for completing show-autosuggestion (details)
  128. [lld][MinGW] Introduce aliases for -Bdynamic and -Bstatic (details)
  129. [clang CodeGen] Don't crash on large atomic function parameter. (details)
  130. [Driver][test] Don't assume integrated-as (details)
  131. [mlir][NFC] Remove stale `createLowerAffinePass` declaration (details)
  132. [WebAssembly] Nullify DBG_VALUE_LISTs in DebugValueManager (details)
  133. [test] Free triple in PassBuilderBindingsTest (details)
  134. Do actual DCE in LoopUnroll (try 3) (details)
  135. [AArch64][SVE] Implement extractelement of i1 vectors. (details)
  136. [ADT] Factor out in_place_t and expose in Optional ctor (details)
  137. [ADT] Add new type traits for type pack indexes (details)
  138. Revert "Reset the wakeup timeout when we re-enter the continue wait." (details)
  139. [clang][AVR] Redefine [u]int16_t to be compatible with avr-gcc (details)
  140. [RISCV][test] Add new tests of or/xor in the zbs extension (details)
  141. [LV] Unconditionally branch from middle to scalar preheader if the scalar loop must execute (details)
  142. Revert "[LV] Unconditionally branch from middle to scalar preheader if the scalar loop must execute" (details)
  143. [AMDGPU] Do not check denorm for LDS FP atomic with unsafe flag (details)
  144. [LV] Unconditionally branch from middle to scalar preheader if the scalar loop must execute (try 3) (details)
  145. [lld/mac] Inline a check (details)
  146. [lldb/API] Use a valid LineEntry object in SBCompileUnit::FindLineEntryIndex (details)
  147. [mlir][tosa] Cleanup of tosa.rescale lowering to linalg (details)
  148. [Matrix] Fold the transpose into the matmul operand used to fetch scalars (details)
  149. [NFC][OpaquePtr] Avoid using PointerType::getElementType() in VectorUtils.cpp (details)
  150. [NFC] Pass GV value type instead of pointer type to GetOrCreateLLVMGlobal (details)
  151. [Polly] Add support for -polly-dump-before(-file) with the NPM. (details)
  152. [Inliner] Copy attributes when deoptimize intrinsic is inlined (details)
  153. [Polly] Add support for -polly-dump-after(-file) with the NPM. (details)
  154. Revert "[ADT] Add new type traits for type pack indexes" (details)
  155. Revert "[LV] Unconditionally branch from middle to scalar preheader if the scalar loop must execute (try 3)" (details)
  156. [lld][WebAssembly] Refactor input chunk class hierarchy. NFC (details)
  157. [PowerPC] only check the load instruction result number 0. (details)
  158. [GVN] Improve analysis for missed optimization remark (details)
  159. [lld][MachO] Adjust isCodeSection signature (details)
  160. [Statepoint Lowering] Cleanup: remove unused option statepoint-always-spill-base. (details)
  161. [AMDGPU][libomptarget] Remove unused global variables (details)
  162. [Windows SEH]: HARDWARE EXCEPTION HANDLING (MSVC -EHa) - Part 1 (details)
  163. [AMDGPU][Libomptarget] Rename & move g_executables to private (details)
  164. sanitizer_common/symbolizer: fix crashes during exit (details)
  165. [LV] Return both fixed and scalable Max VF from computeMaxVF. (details)
  166. [RDA] Fix printing of regs / reg units. NFC (details)
  167. [NFC][scudo] Reduce test region size on MIPS32 (details)
Commit d56729b4a4393da9c65bdfe762b51f8b7b0ce0ca by lkail
[AIX][compiler-rt] Build and install standalone libatomic

On AIX, we have to ship `libatomic.a` for compatibility. First, a new `clang_rt.atomic` is added. Second, use added cmake modules for AIX, we are able to build a compatible libatomic.a for AIX. The second step can't be perfectly implemented with cmake now since AIX's archive approach is kinda unique, i.e., archiving shared libraries into a static archive file.

Reviewed By: jsji

Differential Revision: https://reviews.llvm.org/D102155
The file was addedcompiler-rt/lib/builtins/ppc/atomic.exp
The file was addedcompiler-rt/cmake/Modules/CompilerRTAIXUtils.cmake
The file was modifiedcompiler-rt/lib/builtins/CMakeLists.txt
Commit 1d2ce7d6d67f9c715941cd7a42b3a06930ce74d6 by uday
[MLIR][NFC] Fix clang-tidy warnings in IntegerSet.h

Fix clang-tidy warnings and some comments in IntegerSet.h. NFC.

Differential Revision: https://reviews.llvm.org/D102387
The file was modifiedmlir/include/mlir/IR/IntegerSet.h
Commit ecb235d94014903ec60e1539e6f0105ea6a4b089 by saurabh.jhaa
[Matrix] Implement static cast for matrix types

This patch implements static casts for matrix types. This patch finishes all the work needed for https://bugs.llvm.org/show_bug.cgi?id=47141

Reviewed By: fhahn

Differential Revision: https://reviews.llvm.org/D102125
The file was modifiedclang/test/SemaCXX/matrix-casts.cpp
The file was modifiedclang/test/CodeGenCXX/matrix-casts.cpp
The file was modifiedclang/lib/Sema/SemaCast.cpp
Commit 185ce8cdfc7dba6cb6611b04346bfa03d008d5bf by uday
[MLIR][PYTHON] Provide opt level for ExecutionEngine Python binding

Provide an option to specify optimization level when creating an
ExecutionEngine via the MLIR JIT Python binding. Not only is the
specified optimization level used for code generation, but all LLVM
optimization passes at the optimization level are also run prior to
machine code generation (akin to the mlir-cpu-runner tool).

Default opt level continues to remain at level two (-O2).

Contributions in part from Prashant Kumar <prashantk@polymagelabs.com>
as well.

Differential Revision: https://reviews.llvm.org/D102551
The file was modifiedmlir/include/mlir-c/ExecutionEngine.h
The file was modifiedmlir/lib/Bindings/Python/ExecutionEngine.cpp
The file was modifiedmlir/test/CAPI/execution_engine.c
The file was modifiedmlir/lib/CAPI/ExecutionEngine/ExecutionEngine.cpp
Commit aaf5fd4316917506160078139ac2d860d6096bb3 by nikita.ppv
[MemCpyOpt] Add test for unreachable capture (NFC)

This is based on the test from D90688, without the argmemonly
attribute. The argmemonly attribute would guaranteed no modref
by itself and the question of captures would not arise in the
first place.
The file was modifiedllvm/test/Transforms/MemCpyOpt/callslot.ll
Commit 6b8b43e7af3074124e3c9e429e1fb08165799be4 by nikita.ppv
[CaptureTracking] Do not check domination

For the CapturesBefore tracker, it is sufficient to check that
I can not reach BeforeHere. This does not necessarily require
that BeforeHere dominates I, it can also occur if the capture
happens on an entirely disjoint path.

This change was previously accepted in D90688, but had to be
reverted due to large compile-time impact in some cases: It
increases the number of reachability queries that are performed.

After recent changes, the compile-time impact is largely mitigated,
so I'm reapplying this patch. The remaining compile-time impact
is largely proportional to changes in code-size.
The file was modifiedllvm/test/Transforms/MemCpyOpt/callslot.ll
The file was modifiedllvm/lib/Analysis/CaptureTracking.cpp
Commit 541c2845ded174f8937433fc8a110a2e644919a6 by nikita.ppv
Revert "[CaptureTracking] Do not check domination"

This reverts commit 6b8b43e7af3074124e3c9e429e1fb08165799be4.

This causes clang test to fail (CodeGenObjC/synchronized.m).
Revert until I can figure out whether that's an expected change.
The file was modifiedllvm/test/Transforms/MemCpyOpt/callslot.ll
The file was modifiedllvm/lib/Analysis/CaptureTracking.cpp
Commit a39f85d118cc4c7045e710302115da034bb3cb22 by lebedev.ri
[NFC][X86][Costmodel] Add tests for load/store with i1 element type
The file was modifiedllvm/test/Analysis/CostModel/X86/load_store.ll
Commit 2f69b78a578dad55f0fde3c184a3dc0ea615fd43 by flo
[VectorCombine] Add tests with and & urem guaranteeing idx is valid.
The file was modifiedllvm/test/Transforms/VectorCombine/AArch64/load-extractelement-scalarization.ll
The file was modifiedllvm/test/Transforms/VectorCombine/load-insert-store.ll
Commit 9deef859409b71c614e2e3bfbbf691f0d0b8909a by flo
[PhaseOrdering] Add test for insert/extract code for matrixes.
The file was addedllvm/test/Transforms/PhaseOrdering/AArch64/matrix-extract-insert.ll
Commit 4763fb3a8a560eff8d42f1832a587b0f79781318 by flo
[Matrix] Extend test to also check new PM pipeline.
The file was modifiedllvm/test/Other/opt-O3-pipeline-enable-matrix.ll
Commit 13c22e75f012181ac0f669796630f638ef85ec57 by flo
[Matrix] Fix some newpm check lines, which fail on some bots.
The file was modifiedllvm/test/Other/opt-O3-pipeline-enable-matrix.ll
Commit 262e4200d1977335d62dbab93b5d8e1f9f5c5e86 by llvm-dev
[X86][SSE] Pull out combineToHorizontalAddSub helper from inside (F)ADD/SUB combines (REAPPLIED). NFCI.

The intention is to be able to run this from additional locations (such as shuffle combining) in the future.

Reapplies rGb95a103808ac (after reversion at rGc012a388a15b), with SSE3/SSSE3 typo fix, test added at rG0afb10de1449.
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit 0cd33fa4bac2f5696c63f687467a987b008367ad by flo
[Matrix] Fix some newpm check lines, which fail on some bots. (2)
The file was modifiedllvm/test/Other/opt-O3-pipeline-enable-matrix.ll
Commit 656296b1c2eca127cb48612227fa5f381c81b53b by nikita.ppv
Reapply [CaptureTracking] Do not check domination

Reapply after adjusting the synchronized.m test case, where the
TODO is now resolved. The pointer is only captured on the exception
handling path.

-----

For the CapturesBefore tracker, it is sufficient to check that
I can not reach BeforeHere. This does not necessarily require
that BeforeHere dominates I, it can also occur if the capture
happens on an entirely disjoint path.

This change was previously accepted in D90688, but had to be
reverted due to large compile-time impact in some cases: It
increases the number of reachability queries that are performed.

After recent changes, the compile-time impact is largely mitigated,
so I'm reapplying this patch. The remaining compile-time impact
is largely proportional to changes in code-size.
The file was modifiedllvm/test/Transforms/MemCpyOpt/callslot.ll
The file was modifiedllvm/lib/Analysis/CaptureTracking.cpp
The file was modifiedclang/test/CodeGenObjC/synchronized.m
Commit 7243120198914441c97de04bb6fc9afcc5b80731 by nikita.ppv
[CaptureTracking] Simplify reachability check (NFCI)

This code was re-implementing the same-BB case of
isPotentiallyReachable(). Historically, this was done because
CaptureTracking used additional caching for local dominance
queries. Now that it is no longer needed, the code is effectively
the same as isPotentiallyReachable().

The only difference are extra checks for invoke/phis. These are
misleading checks related to dominance in the value availability
sense that are not relevant for control reachability. The invoke
check was correct but redundant in that invokes are always
terminators, so `I` could never come before the invoke. The phi
check is a matter of interpretation (should an earlier phi node be
considered reachable from a later phi node in the same block?)
but ultimately doesn't matter because phis don't capture anyway.
The file was modifiedllvm/lib/Analysis/CaptureTracking.cpp
Commit 06a9b0c6f445585393cdac3d488b7e9b28c7c5d5 by lkail
[Utils] Fix indentation error in utils/wciia.py

Running this script gives
```
"llvm-project/llvm/./utils/wciia.py", line 56
    if word == "N:":
TabError: inconsistent use of tabs and spaces in indentation
```
Under emacs' whitespace-mode, it shows
```
for·line·in·code_owners_file:$
····for·word·in·line.split():$
»       if·word·==·"N:":$
»       »       name·=·line[2:].strip()$
»       »       if·code_owner:$
»       »       »       process_code_owner(code_owner)$
»       »       »       code_owner·=·{}$
```
I use `yapf` to format this script directly and it's running correctly.
The file was modifiedllvm/utils/wciia.py
Commit d539357e1b8a1b5682912a8ea4da6c0088bb770b by david.green
[ARM] Extra branch on zero tests. NFC
The file was addedllvm/test/CodeGen/ARM/branch-on-zero.ll
The file was modifiedllvm/test/CodeGen/Thumb2/2010-02-11-phi-cycle.ll
The file was addedllvm/test/Transforms/CodeGenPrepare/ARM/branch-on-zero.ll
Commit 6ae9893ed23f06b48418a6af8625bda3133a0c30 by listmail
Revert "Do actual DCE in LoopUnroll (try 2)"

This reverts commit 653fa0b46ae34c06495b542414b704b30381cd02.

Reported to trigger pr50354.  Reverting until investigated.
The file was modifiedllvm/test/Transforms/LoopUnroll/pr45939-peel-count-and-complete-unroll.ll
The file was modifiedllvm/test/Transforms/LoopUnrollAndJam/unroll-and-jam.ll
The file was modifiedllvm/lib/Transforms/Utils/LoopUnroll.cpp
The file was modifiedllvm/test/Transforms/LoopUnroll/unroll-unconditional-latch.ll
The file was modifiedllvm/test/Transforms/LoopUnroll/optsize-loop-size.ll
The file was modifiedllvm/test/Transforms/LoopUnroll/AArch64/full-unroll-trip-count-upper-bound.ll
The file was modifiedllvm/test/Transforms/LoopUnroll/scevunroll.ll
The file was modifiedllvm/test/Transforms/LoopUnroll/nonlatchcondbr.ll
The file was modifiedllvm/test/Transforms/LoopUnroll/unroll-header-exiting-with-phis.ll
The file was modifiedllvm/test/Transforms/LoopUnroll/full-unroll-invariant.ll
Commit dd5c52029d27125bffaca1d1d442eedeae6481b9 by david.green
[CPG][ARM] Optimize towards branch on zero in codegenprepare

This adds a simple fold into codegenprepare that converts comparison of
branches towards comparison with zero if possible. For example:
  %c = icmp ult %x, 8
  br %c, bla, blb
  %tc = lshr %x, 3
becomes
  %tc = lshr %x, 3
  %c = icmp eq %tc, 0
  br %c, bla, blb

As a first order approximation, this can reduce the number of
instructions needed to perform the branch as the shift is (often) needed
anyway. At the moment this does not effect very much, as llvm tends to
prefer the opposite form. But it can protect against regressions from
commits like rG9423f78240a2.

Simple cases of Add and Sub are added along with Shift, equally as the
comparison to zero can often be folded with cpsr flags.

Differential Revision: https://reviews.llvm.org/D101778
The file was modifiedllvm/test/CodeGen/Thumb2/2010-02-11-phi-cycle.ll
The file was modifiedllvm/lib/CodeGen/CodeGenPrepare.cpp
The file was modifiedllvm/include/llvm/CodeGen/TargetLowering.h
The file was modifiedllvm/test/CodeGen/ARM/branch-on-zero.ll
The file was modifiedllvm/test/Transforms/CodeGenPrepare/ARM/branch-on-zero.ll
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.h
Commit d1a7630369bc489ca85e7fd0e05119a6d6f09039 by Lang Hames
[JITLink] Fix symbol comparator in LinkGraph::dump.

The existing implementation did not provide a strict weak ordering.
The file was modifiedllvm/lib/ExecutionEngine/JITLink/JITLink.cpp
Commit d29f7f1a7b47345289d63318e7b2a28cc56e169d by richard
[clang] Fix ternary operator in the second for loop statement

Fix ternary operator in for loop argument, it was by mistake not set as CanBeForRangeDecl and led to incorrect codegen. It fixes https://bugs.llvm.org/show_bug.cgi?id=50038. I don't have commit rights. Danila Kutenin. kutdanila@yandex.ru

Reviewed By: rsmith

Differential Revision: https://reviews.llvm.org/D102502
The file was modifiedclang/test/Parser/cxx2a-init-statement.cpp
The file was addedclang/test/PCH/for-loop-init-ternary-operator-statement.cpp
The file was addedclang/test/CodeGenCXX/for-loop-init-ternary-operator-statement.cpp
The file was modifiedclang/lib/Parse/ParseExprCXX.cpp
The file was modifiedclang/lib/Parse/ParseTentative.cpp
Commit 803c52d0dba929652280a38dcf90c491ab33d03b by flo
Recommit "[Clang,Driver] Add -fveclib=Darwin_libsystem_m support."

Recommit D102489, with the test case requiring the AArch64 backend.

This reverts the revert 59b419adc6e608db8d7c31efcc37f34c0b57b7d0.
The file was modifiedclang/include/clang/Driver/Options.td
The file was addedclang/test/CodeGen/veclib-darwin-libsystem-m.c
The file was modifiedclang/test/Driver/autocomplete.c
The file was modifiedclang/test/Driver/fveclib.c
The file was modifiedclang/include/clang/Basic/CodeGenOptions.h
The file was modifiedclang/lib/CodeGen/BackendUtil.cpp
Commit 833e9b2ea7a7290f8833d524c8f8865558c1016a by yhs
[BPF] add support for 32 bit registers in inline asm

Add "w" constraint type which allows selecting 32 bit registers.
32 bit registers were added in https://reviews.llvm.org/rGca31c3bb3ff149850b664838fbbc7d40ce571879.

Differential Revision: https://reviews.llvm.org/D102118
The file was modifiedllvm/lib/Target/BPF/BPFISelLowering.cpp
The file was modifiedllvm/lib/Target/BPF/BPFISelLowering.h
The file was addedclang/test/CodeGen/bpf-inline-asm.c
The file was addedllvm/test/CodeGen/BPF/inlineasm-wreg.ll
The file was modifiedclang/lib/Basic/Targets/BPF.h
The file was modifiedclang/lib/Basic/Targets/BPF.cpp
Commit 6974f1843321ee4d15b7d82d0ccfb4e8cbe76f0b by i
[test] Improve CodeGen/*/semantic-interposition-asm.ll
The file was modifiedllvm/test/CodeGen/X86/semantic-interposition-asm.ll
The file was modifiedllvm/test/CodeGen/AArch64/semantic-interposition-asm.ll
Commit 0a34ff8bcb1df16fe7d643ccbe4567b2162c5024 by craig.topper
[RISCV] Replace AddiPair ComplexPattern with a PatLeaf. NFC

The ComplexPattern is looking for an immediate in a certain range
that has a single use. This can be handled with a PatLeaf since
we aren't matching multiple patterns or checking any complicated
relationships between nodes.

This shrinks the isel table a little bit since tablegen no longer
has to generate patterns with commuted operands. With the PatLeaf,
tablegen can see we're matching an immediate which should always
be on the right hand side of add.

Reviewed By: benshi001

Differential Revision: https://reviews.llvm.org/D102510
The file was modifiedllvm/lib/Target/RISCV/RISCVISelDAGToDAG.h
The file was modifiedllvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfo.td
Commit 7f5d8e655965c0347c2a05f65e63dec4490a9fa0 by dblaikie
Fix some deprecated copy ops in google mock
The file was modifiedllvm/utils/unittest/googlemock/include/gmock/gmock-spec-builders.h
The file was modifiedllvm/utils/unittest/googlemock/include/gmock/gmock-generated-actions.h
Commit d62413452fc632023c531d4336254f7b3a54a600 by harald
[lld][X86] Restore gotEntrySize.

D62727 removed GotEntrySize and GotPltEntrySize with a comment that they
are always equal to wordsize(), but that is not entirely true: X32 has a
word size of 4, but needs 8-byte GOT entries. This restores gotEntrySize
for both, adjusted for current naming conventions, but defaults it to
config->wordsize to keep things simple for architectures other than
x86_64.

This partially reverts D62727.

Reviewed By: MaskRay

Differential Revision: https://reviews.llvm.org/D102509
The file was addedlld/test/ELF/x86-x32-plt.s
The file was modifiedlld/ELF/Symbols.cpp
The file was modifiedlld/ELF/Target.h
The file was modifiedlld/ELF/Arch/X86_64.cpp
The file was modifiedlld/ELF/SyntheticSections.cpp
Commit 1dfd7d5041e5b5305cc497c6ed25bc67bc39b46a by powerman1st
[RISCV][test] Add new tests of or/xor in the zbs extension

Reviewed By: MaskRay

Differential Revision: https://reviews.llvm.org/D102396
The file was modifiedllvm/test/CodeGen/RISCV/rv32zbs.ll
The file was modifiedllvm/test/CodeGen/RISCV/rv64zbs.ll
Commit 029005a2e20fe65f850bd000d0d71008eff669ed by Vitaly Buka
[NFC][sanitizer] Fix 'macro redefined' warning in test
The file was modifiedcompiler-rt/lib/sanitizer_common/tests/sanitizer_atomic_test.cpp
Commit 7746e818a5492a7d023556a0515e9b3bb7e7d811 by powerman1st
[RISCV] Optimize or/xor with immediate in the zbs extension

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D102398
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoB.td
The file was modifiedllvm/test/CodeGen/RISCV/rv64zbs.ll
The file was modifiedllvm/test/CodeGen/RISCV/rv32zbs.ll
Commit 976a3e5f61415e784c85b341180eac300cc8b7a5 by pengfei.wang
[SelectionDAG] Make fast and linearize visible by clang -pre-RA-sched

ScheduleDAGFast.cpp is compiled to object file, but the ScheduleDAGFast
object file isn't linked into clang executable file as no symbol is
referred by outside. Add calling to createXxx of ScheduleDAGFast.cpp,
then the ScheduleDAGFast object file will be linked into clang
executable file. The static RegisterScheduler will register scheduler
fast and linearize at clang boot time.

Reviewed By: pengfei

Differential Revision: https://reviews.llvm.org/D101601
The file was addedclang/test/CodeGen/pre-ra-sched.c
The file was modifiedllvm/include/llvm/CodeGen/TargetLowering.h
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
Commit 7647cb14dcd0c471d1bc53b6a864c4737e0e82e8 by aeubanks
Revert "[NFC] Use ArgListEntry indirect types more in ISel lowering"

This reverts commit 85af8a8c1b574faa0d5d57d189ae051debdfada8.
The file was modifiedllvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
The file was modifiedllvm/include/llvm/IR/InstrTypes.h
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/FastISel.cpp
The file was modifiedllvm/include/llvm/CodeGen/TargetLowering.h
Commit 341902672c3e6068f95837652072b10b92685bfc by aeubanks
Revert "[TargetLowering] Only inspect attributes in the arguments for ArgListEntry"

This reverts commit 16748bd2fb1fe10d7d097961f1988327338f3f9f.

Causes https://crbug.com/1209013
The file was modifiedllvm/test/CodeGen/ARM/returned-ext.ll
The file was modifiedllvm/test/CodeGen/ARM/this-return.ll
The file was modifiedllvm/test/CodeGen/AArch64/bitfield-extract.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/call-argument-types.ll
The file was modifiedllvm/test/CodeGen/X86/pop-stack-cleanup.ll
The file was modifiedllvm/docs/ReleaseNotes.rst
The file was modifiedllvm/test/CodeGen/SPARC/64abi.ll
The file was modifiedllvm/test/CodeGen/SystemZ/args-02.ll
The file was modifiedllvm/test/CodeGen/AArch64/tailcall-explicit-sret.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/tail-call-amdgpu-gfx.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/callee-special-input-vgprs-packed.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/callee-special-input-vgprs.ll
The file was modifiedllvm/test/CodeGen/AArch64/arm64-this-return.ll
The file was modifiedllvm/test/CodeGen/ARM/ipra-r0-returned.ll
The file was modifiedllvm/test/CodeGen/SystemZ/args-03.ll
The file was modifiedllvm/test/CodeGen/X86/fast-cc-merge-stack-adj.ll
The file was removedllvm/test/CodeGen/X86/mismatched-byval.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/gfx-callable-argument-types.ll
The file was modifiedllvm/test/CodeGen/X86/preallocated.ll
The file was modifiedllvm/test/CodeGen/X86/movtopush.ll
The file was modifiedllvm/test/CodeGen/X86/tailcall-msvc-conventions.ll
The file was modifiedllvm/test/CodeGen/X86/fast-cc-pass-in-regs.ll
Commit f28ee1a2b386ad7fa7489cad55840e78849b4abf by hoy
[CSSPGO] Update pseudo probe distribution factor based on inline context.

With prelink inlining, pseudo probes with same ID can come from different inline contexts. Such probes should not share samples and their factors should be fixed up separately.

I'm seeing 0.3% speedup for SPEC2017 overall. Benchmark 631.deepsjeng_s benefits the most, about 4%.

Reviewed By: wenlei, wmi

Differential Revision: https://reviews.llvm.org/D102429
The file was modifiedllvm/include/llvm/IR/PseudoProbe.h
The file was addedllvm/test/Transforms/SampleProfile/pseudo-probe-update-2.ll
The file was modifiedllvm/lib/Transforms/IPO/SampleProfileProbe.cpp
The file was modifiedllvm/include/llvm/Transforms/IPO/SampleProfileProbe.h
Commit 6774e5a995fcc7e1f2360bbeaf8628ae88159430 by springerm
[mlir] Fix in_bounds attr handling in TransferReadPermutationLowering

The in_bounds attribute should also be transposed.

Differential Revision: https://reviews.llvm.org/D102572
The file was addedmlir/test/Integration/Dialect/Vector/CPU/test-transfer-permutation-lowering.mlir
The file was modifiedmlir/test/Dialect/Vector/vector-transfer-lowering.mlir
The file was modifiedmlir/lib/Dialect/Vector/VectorTransforms.cpp
Commit 7ddeffee55766005327abbac85838225069cc164 by springerm
[mlir] Lower permutation maps on TransferWriteOps

Add TransferWritePermutationLowering, which replaces permutation maps of TransferWriteOps with vector.transpose.

Differential Revision: https://reviews.llvm.org/D102548
The file was modifiedmlir/test/Dialect/Vector/vector-transfer-lowering.mlir
The file was modifiedmlir/lib/Dialect/Vector/VectorTransforms.cpp
Commit 5ef21506b98cb5ad5e1280f8d2a7a9fa8bf9b4f8 by akuegel
Add support for complex constants to MLIR core.

BEGIN_PUBLIC
Add support for complex constants to MLIR core.
END_PUBLIC

Differential Revision: https://reviews.llvm.org/D101908
The file was modifiedmlir/include/mlir/Dialect/StandardOps/IR/Ops.td
The file was modifiedmlir/test/Dialect/LLVMIR/invalid.mlir
The file was modifiedmlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
The file was modifiedmlir/lib/IR/BuiltinAttributes.cpp
The file was modifiedmlir/include/mlir/Target/LLVMIR/ModuleTranslation.h
The file was modifiedmlir/lib/Dialect/StandardOps/IR/Ops.cpp
The file was modifiedmlir/test/Dialect/Standard/invalid.mlir
The file was modifiedmlir/lib/Target/LLVMIR/ModuleTranslation.cpp
The file was modifiedmlir/test/Target/LLVMIR/llvmir-invalid.mlir
The file was modifiedmlir/test/Target/LLVMIR/llvmir.mlir
The file was modifiedmlir/test/Dialect/Standard/ops.mlir
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/FusionOnTensors.cpp
Commit b9d5b0c20180e41f24722e622b8c3a3bb510fc1d by Jan Svoboda
[clang][deps] NFC: Stop assuming the TU's context hash

The context hash of modular dependencies can be different from the context hash of the original translation unit if we modify their `CompilerInvocation`s.

Stop assuming the TU's context hash everywhere.

No functionality change here, since we're still currently using the unmodified TU CompilerInvocation to compute the context hash.

Reviewed By: dexonsmith

Differential Revision: https://reviews.llvm.org/D102473
The file was modifiedclang/include/clang/Tooling/DependencyScanning/ModuleDepCollector.h
The file was modifiedclang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
The file was modifiedclang/lib/Tooling/DependencyScanning/DependencyScanningTool.cpp
Commit d3fb4b9065e93e2617db44f3ab9c31f341d9cd1f by Jan Svoboda
[clang][deps] NFC: Report modules' context hash

This patch eagerly constructs and modifies CompilerInvocation of modular dependencies in order to report the correct context hash instead of the hash of the original translation unit.

No functionality change here, since we currently don't modify CompilerInvocation in a way that affects the context hash.

Depends on D102473.

Reviewed By: dexonsmith

Differential Revision: https://reviews.llvm.org/D102482
The file was modifiedclang/include/clang/Tooling/DependencyScanning/ModuleDepCollector.h
The file was modifiedclang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
Commit f6584b85c644fdbffd5e7617a68ceb3f8d140aec by czhengsz
[PowerPC] add a testcase for reverse memory op; nfc
The file was addedllvm/test/CodeGen/PowerPC/vsx-shuffle-le-load.ll
Commit d9cb70ba29dbd74aac294caad0686f1ed52295f9 by Jan Svoboda
[clang] NFC: Remove CompilerInstance::getInvocationPtr

This member function was introduced in 0a92e09c ([clang][deps] Generate the full command-line for modules) in order to keep the CompilerInvocation object alive after CompilerInstance goes out of scope. However, d3fb4b90 ([clang][deps] NFC: Report modules' context hash) removes that use-case, making this function dead.
The file was modifiedclang/include/clang/Frontend/CompilerInstance.h
Commit 84306ef9c442e335b53c3d87948258a528346e6f by martin
[LLD][MinGW] Add --fatal-warnings and --no-fatal-warnings flags

Differential Revision: https://reviews.llvm.org/D102514
The file was modifiedlld/test/MinGW/driver.test
The file was modifiedlld/MinGW/Driver.cpp
The file was modifiedlld/MinGW/Options.td
Commit a11117a7c0a23f37bdee5c611bbaac22e89c775d by orlando.hyams
[dexter] Remove unnecessary double check on conditional breakpoints

Remove the `ConditionalController._conditional_met` method. This was missed in
the recent ConditionalController refactor (D98699). We don't need to check that
the conditions for a conditional breakpoint have been met because
`DebuggerBase.get_triggered_breakpoint_ids` returns the set of ids for
breakpoints which have been triggered.

To get the "triggered breakpoints" from lldb we use `GetStopReasonDataCount`
and `GetStopReasonDataAtIndex`. It seems that these functions count all
breakpoints associated with the location which lldb has stopped at, regardless
of their condition. i.e. Even if we have two breakpoints at the same source
location that have mutually exclusive conditions, both will be found this way
when either condition is true. To get around this, we store a map of breakpoint
{id: condition} `_breakpoint_conditions` and evaluate the conditions of the
triggered breakpoints to filter the set down to those which are unconditional
or have a condition which evaluates to true.

Essentially we are just moving the condition double check from a general
debugger controller into the lldb specific wrapper. This tidy up will help make
upcoming patches simpler.

Reviewed By: chrisjackson

Differential Revision: https://reviews.llvm.org/D101431
The file was modifieddebuginfo-tests/dexter/dex/debugger/DebuggerControllers/ConditionalController.py
The file was modifieddebuginfo-tests/dexter/dex/debugger/lldb/LLDB.py
Commit e35a5492a46d419478daf65eeaed5036cfcfa3e5 by orlando.hyams
[dexter] Remove requirement for a condition in DexLimitSteps

Currently the DexLimitSteps command requires at least one condition. This patch
lets users elide the condition to specify that the breakpoint range should
always be activated when the leading line is stepped on. This patch also
updates the terminology used in the `ConditionalController` class from the
terms 'conditional' and 'unconditional' to 'leading' and 'trailing' when
referring to the breakpoints in the DexLimitSteps range because the leading
breakpoint can now be unconditional.

Reviewed By: chrisjackson

Differential Revision: https://reviews.llvm.org/D101438
The file was modifieddebuginfo-tests/dexter/dex/command/commands/DexLimitSteps.py
The file was modifieddebuginfo-tests/dexter/dex/debugger/DebuggerControllers/ConditionalController.py
The file was addeddebuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/unconditional.cpp
The file was modifieddebuginfo-tests/dexter/Commands.md
The file was addeddebuginfo-tests/dexter/feature_tests/subtools/test/err_limit_steps_no_values.cpp
Commit a18b5f0188b5929a58790dd0f57c06098d276fd1 by kbessonova
[libcxx] NFC. Add missed articles to _LIPCPP_ASSERT messages in <list>
The file was modifiedlibcxx/include/list
Commit 85e31eddf216181c6b8b26bca760f3395d621f9a by fraser
[DAGCombiner] Relax an assertion to an early return

The select-of-constants transform was asserting that its constant vector
inputs did not implicitly truncate their input without that as an
explicit precondition to the function. This patch relaxes that assertion
into an early return to skip the optimization.

Reviewed By: RKSimon

Differential Revision: https://reviews.llvm.org/D102393
The file was addedllvm/test/CodeGen/RISCV/rvv/select-sra.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Commit 65936b952964d257c387ce2a7a9362a2ce297a63 by flo
Revert "[NFC][LSAN] Limit the number of concurrent threads is the test"

This reverts commit 2a73b7bd8cf7620fc0e478ac838b07ee6649dd8a.

This appears to be causing the following failures on GreenDragon:
  LeakSanitizer-AddressSanitizer-x86_64 :: TestCases/many_threads_detach.cpp
  LeakSanitizer-Standalone-x86_64 :: TestCases/many_threads_detach.cpp

First failure:
    http://green.lab.llvm.org/green/job/clang-stage1-RA/20754/

Still failing in latest build:
    http://green.lab.llvm.org/green/job/clang-stage1-RA/20928/
The file was modifiedcompiler-rt/test/lsan/TestCases/many_threads_detach.cpp
Commit d3676d4b666ead794fc58bbc7e07aa406dcf487a by Jan Svoboda
[clang][modules] Build inferred modules

This patch enables explicitly building inferred modules.

Effectively a cherry-pick of https://github.com/apple/llvm-project/pull/699 authored by @Bigcheese with libclang and dependency scanner changes omitted.

Contains the following changes:

1. [Clang] Fix the header paths in clang::Module for inferred modules.
  * The UmbrellaAsWritten and NameAsWritten fields in clang::Module are a lie for framework modules. For those they actually are the path to the header or umbrella relative to the clang::Module::Directory.
  * The exception to this case is for inferred modules. Here it actually is the name as written, because we print out the module and read it back in when implicitly building modules. This causes a problem when explicitly building an inferred module, as we skip the printing out step.
  * In order to fix this issue this patch adds a new field for the path we want to use in getInputBufferForModule. It also makes NameAsWritten actually be the name written in the module map file (or that would be, in the case of an inferred module).

2. [Clang] Allow explicitly building an inferred module.
  * Building the actual module still fails, but make sure it fails for the right reason.

Split from D100934.

Reviewed By: dexonsmith

Differential Revision: https://reviews.llvm.org/D102491
The file was modifiedclang/lib/Serialization/ASTReader.cpp
The file was modifiedclang/lib/Frontend/FrontendActions.cpp
The file was modifiedclang/lib/Lex/ModuleMap.cpp
The file was addedclang/test/Modules/explicit-build-inferred.cpp
The file was addedclang/test/Modules/Inputs/explicit-build-inferred/frameworks/Inferred.framework/Headers/Inferred.h
The file was modifiedclang/lib/Frontend/FrontendAction.cpp
The file was addedclang/test/Modules/Inputs/explicit-build-inferred/frameworks/module.modulemap
The file was modifiedclang/include/clang/Lex/ModuleMap.h
The file was modifiedclang/include/clang/Basic/Module.h
The file was modifiedclang/lib/Basic/Module.cpp
Commit 4112f5ef69a166ae1d18da0cde60b8d6c402a5e4 by Raphael Isemann
[lldb][NFC] Specify guidelines for API tests

This patch specifies a few guidelines that our API tests should follow.

The motivations for this are twofold:

1. API tests have unexpected pitfalls that especially new contributors run into
when writing tests. To prevent the frustration of letting people figure those
pitfalls out by trial-and-error, let's just document them briefly in one place.

2. It prevents some arguing about what is the right way to write tests. I really
like to have fast and reliable API test suite, but I also don't want to be the
bogeyman that has to insist in every review that the test should be rewritten to
not launch a process for no good reason. It's much easier to just point to a
policy document.

I omitted some guidelines that I think could be controversial (e.g., the whole
"should assert message describe failure or success").

Reviewed By: shafik

Differential Revision: https://reviews.llvm.org/D101153
The file was modifiedlldb/docs/resources/test.rst
Commit 0e7c7d461df167f141428286afb781636ac92a9e by usx
[clangd] Set FileSystem for tweaks in Check tool.

Tweaks like DefineOutline depend on FS to be set at `apply()` time.
After https://reviews.llvm.org/D93978, tweaks run from Check tool lost
access to FS. This makes the available to apply() once again.

Differential Revision: https://reviews.llvm.org/D102519
The file was modifiedclang-tools-extra/clangd/tool/Check.cpp
Commit 5b614eb4ea6ce047daebc0517eb4efa83123fe58 by Raphael Isemann
[lldb] Let dotest check for the `cassert` header instead of `algorithm` for libc++ check

This is just a dotest check to see if we can compile a simple program that uses
libc++. Right now we are parsing the rather big `algorithm` header in the test
program, but the test really just checks whether we can find *any* libc++
headers and link against some libc++ SO. Using the much smaller `cassert` header
for checking whether we can find libc++ headers speeds up this check by a bit.

After some incredibly unscientific performance testing this saves a few seconds
when running the test suite on Linux (on macOS we hardcoded that libc++ is
always there, so this check won't be used there and we don't save any time).

Reviewed By: jankratochvil

Differential Revision: https://reviews.llvm.org/D101056
The file was modifiedlldb/packages/Python/lldbsuite/test/dotest.py
Commit 900c8989947a46e0678a0e8ae5d14157f051e14f by jacob.bramley
[AArch64] Lower fpto*i.sat intrinsics.

AArch64's fctv* instructions implement the saturating behaviour that the
fpto*i.sat intrinsics require, in cases where the destination width
matches the saturation width. Lowering them removes a lot of unnecessary
generated code.

Only scalar lowerings are supported for now.

Differential Revision: https://reviews.llvm.org/D102353
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/AArch64/fptoui-sat-scalar.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64InstrInfo.td
The file was addedllvm/test/CodeGen/AArch64/round-fptosi-sat-scalar.ll
The file was modifiedllvm/test/CodeGen/AArch64/fptosi-sat-scalar.ll
The file was addedllvm/test/CodeGen/AArch64/round-fptoui-sat-scalar.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.h
The file was modifiedllvm/test/CodeGen/AArch64/fptosi-sat-vector.ll
The file was modifiedllvm/test/CodeGen/AArch64/fptoui-sat-vector.ll
Commit 7c16f93c44caa341404ff78a14eba163cd243e5e by gysit
[mlir][linalg] Remove template parameter from loop lowering.

Replace the templated linalgLowerOpToLoops method by three specialized methods linalgOpToLoops, LinalgOpToParallelLoops, and linalgOpToAffineLoops.

Differential Revision: https://reviews.llvm.org/D102324
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Loops.cpp
The file was modifiedmlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
Commit 1fbb484ea45f85740b7450b175096e5fcff6ecd9 by julian.gross
[WIP][mlir] Resolve memref dependency in canonicalize pass.

Splitting the memref dialect lead to an introduction of several dependencies
to avoid compilation issues. The canonicalize pass also depends on the
memref dialect, but it shouldn't. This patch resolves the dependencies
and the unintuitive includes are removed. However, the dependency moves
to the constructor of the std dialect.

Differential Revision: https://reviews.llvm.org/D102060
The file was modifiedmlir/lib/Dialect/SCF/Transforms/Bufferize.cpp
The file was modifiedmlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp
The file was modifiedmlir/lib/Transforms/Canonicalizer.cpp
The file was modifiedmlir/lib/Dialect/Affine/Transforms/AffineDataCopyGeneration.cpp
The file was modifiedmlir/include/mlir/Transforms/Passes.td
The file was modifiedmlir/lib/Dialect/Shape/Transforms/Bufferize.cpp
The file was modifiedmlir/include/mlir/Dialect/StandardOps/IR/Ops.h
The file was modifiedmlir/include/mlir/Dialect/StandardOps/IR/Ops.td
Commit 1d9e8e13dd7b3204fa51ada17d1608bdbd1bed66 by Jan Svoboda
[clang][deps] Support inferred modules

This patch adds support for inferred modules to the dependency scanner.

Effectively a cherry-pick of https://github.com/apple/llvm-project/pull/699 authored by @Bigcheese with libclang and other changes omitted.

Contains following changes:

1. [Clang][ScanDeps] Ignore __inferred_module.map dependency.
  * This shows up with inferred modules, but it doesn't exist on disk, so don't report it as a dependency.

2. [Clang][ScanDeps] Use the module map a module was inferred from for inferred modules.

Also includes a smoke test that uses clang-scan-deps output to perform an explicit build. There's no intention to duplicate whatever `test/Modules` contains, just to verify the produced command-line does "work" (with very loose definition of work).

Split from D100934.

Reviewed By: dexonsmith

Differential Revision: https://reviews.llvm.org/D102495
The file was addedclang/test/ClangScanDeps/Inputs/frameworks/System.framework/Modules/module.modulemap
The file was modifiedclang/test/ClangScanDeps/modules-full.cpp
The file was addedclang/test/ClangScanDeps/Inputs/frameworks/Inferred.framework/Headers/Inferred.h
The file was addedclang/test/ClangScanDeps/Inputs/frameworks/System.framework/Headers/System.h
The file was addedclang/test/ClangScanDeps/Inputs/frameworks/module.modulemap
The file was addedclang/test/ClangScanDeps/Inputs/modules_inferred_cdb.json
The file was addedclang/test/ClangScanDeps/modules-inferred.m
The file was addedclang/utils/module-deps-to-rsp.py
The file was addedclang/test/ClangScanDeps/Inputs/frameworks/Inferred.framework/Frameworks/Sub.framework/Headers/Sub.h
The file was addedclang/test/ClangScanDeps/modules-inferred-explicit-build.m
The file was modifiedclang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
Commit 82a0e808bb2cddc1ce508c6ae654f8350b082256 by Tim Northover
IR/AArch64/X86: add "swifttailcc" calling convention.

Swift's new concurrency features are going to require guaranteed tail calls so
that they don't consume excessive amounts of stack space. This would normally
mean "tailcc", but there are also Swift-specific ABI desires that don't
naturally go along with "tailcc" so this adds another calling convention that's
the combination of "swiftcc" and "tailcc".

Support is added for AArch64 and X86 for now.
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp
The file was modifiedllvm/utils/vim/syntax/llvm.vim
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64CallLowering.cpp
The file was addedllvm/test/CodeGen/AArch64/tailcc-tail-call.ll
The file was addedllvm/test/CodeGen/X86/swifttail-async.ll
The file was modifiedllvm/docs/LangRef.rst
The file was modifiedllvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
The file was addedllvm/test/CodeGen/AArch64/swifttail-async.ll
The file was addedllvm/test/CodeGen/X86/tailcall-swifttailcc.ll
The file was modifiedllvm/lib/IR/AsmWriter.cpp
The file was modifiedllvm/utils/emacs/llvm-mode.el
The file was modifiedllvm/lib/AsmParser/LLParser.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64InstrInfo.cpp
The file was modifiedllvm/test/CodeGen/AArch64/tail-call.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64CallingConvention.td
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/lib/Target/X86/X86RegisterInfo.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64MachineFunctionInfo.h
The file was addedllvm/test/CodeGen/X86/swifttail-return.ll
The file was modifiedllvm/include/llvm/IR/CallingConv.h
The file was addedllvm/test/CodeGen/X86/swifttail-async-i386.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
The file was modifiedllvm/lib/AsmParser/LLLexer.cpp
The file was modifiedllvm/test/Bitcode/compatibility.ll
The file was modifiedllvm/lib/Target/X86/X86FastISel.cpp
The file was addedllvm/test/CodeGen/AArch64/swifttail-call.ll
The file was modifiedllvm/docs/BitCodeFormat.rst
The file was modifiedllvm/lib/Target/AArch64/AArch64FrameLowering.cpp
The file was modifiedllvm/lib/CodeGen/Analysis.cpp
The file was modifiedllvm/lib/Target/X86/X86Subtarget.h
The file was modifiedllvm/lib/Target/X86/X86CallingConv.td
The file was modifiedllvm/docs/CodeGenerator.rst
The file was modifiedllvm/include/llvm/AsmParser/LLToken.h
The file was modifiedllvm/test/CodeGen/AArch64/swift-async.ll
Commit 086af173998868239aaad7ffd1e79e38dcb2f850 by flo
Revert "tsan: mark sigwait as blocking"

This reverts commit 5dad3d1ba9ad01152be21e94cfbbfb31659ea3e1.

The added test (signal_block2.cpp) does not terminate on some Darwin
configurations and is causing Green Dragon bots to fail. First
failure of the test started in
    http://green.lab.llvm.org/green/job/clang-stage1-RA/20767/
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
The file was removedcompiler-rt/test/tsan/signal_block2.cpp
Commit c29522d6489adf85e0bf75fff7bdcf8b12b1b6e5 by llvm-dev
[TargetLowering] prepareUREMEqFold/prepareSREMEqFold - account for non legal shift types

Ensure we tell getShiftAmountTy that we're working with pre-legalized types to prevent cases where the (legalized) shift type can no longer handle the (non-legalized) type width.

Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=34366
The file was modifiedllvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/urem-seteq.ll
Commit d89602ed62f3e5f47781659059db6a8cc11122fe by nicolas.vasilache
Add `mlirModuleFromOperation` to C API

At the moment `MlirModule`s can be converted to `MlirOperation`s, but not
the other way around (at least not without going around the C API). This
makes it impossible to e.g. run passes over a `ModuleOp` created through
`mlirOperationCreate`.

Reviewed By: nicolasvasilache, mehdi_amini

Differential Revision: https://reviews.llvm.org/D102497
The file was modifiedmlir/test/CAPI/ir.c
The file was modifiedmlir/include/mlir-c/IR.h
The file was modifiedmlir/lib/CAPI/IR/IR.cpp
Commit 557906d3be7b8825a6728e9ff4feaadc816aebce by mkazantsev
[Test] Fix test to make the transform for which is was added legal

%limit in these tests is supposed to be positive.
The file was modifiedllvm/test/Transforms/LoopDeletion/eval_first_iteration.ll
Commit ec2f7376e39fa5d820d059b6e83e69690fe6315f by kadircet
[clangd][QueryDriver] Dont check for existence of driver

Execute implementations already checks for permissions and existence
and returns relevant errors as necessary, so instead of printing our own errors,
we just print theirs.

This also fixes a case in windows where the driver might be missing the `.exe`
suffix. Previously, clangd would reject such a driver because sys::fs::exists is
strict, whereas the underlying Execute implementation would check with `.exe`
suffix too.

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

Differential Revision: https://reviews.llvm.org/D102431
The file was modifiedclang-tools-extra/clangd/QueryDriverDatabase.cpp
Commit 769ced3d576bef1098c1e5819d4afeb9eee4d6bd by Tim Northover
AArch64: mark x22 livein if it's an async context that gets stored.

This fixes a crash with expensive checks enabled (the verifier was not happy).
The file was modifiedllvm/lib/Target/AArch64/AArch64FrameLowering.cpp
Commit 747e5cfb9f5d944b47fe014925b0d5dc2fda74d7 by Tim Northover
X86: support Swift Async context

This adds support to the X86 backend for the newly committed swiftasync
function parameter. If such a (pointer) parameter is present it gets stored
into an augmented frame record (populated in IR, but generally containing
enhanced backtrace for coroutines using lots of tail calls back and forth).

The context frame is identical to AArch64 (primarily so that unwinders etc
don't get extra complexity). Specfically, the new frame record is [AsyncCtx,
%rbp, ReturnAddr], and its presence is signalled by bit 60 of the stored %rbp
being set to 1. %rbp still points to the frame pointer in memory for backwards
compatibility (only partial on x86, but OTOH the weird AsyncCtx before the rest
of the record is because of x86).
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was addedllvm/test/CodeGen/X86/swift-async.ll
The file was modifiedllvm/lib/Target/X86/X86FastISel.cpp
The file was addedllvm/test/CodeGen/X86/swift-async-reg.ll
The file was modifiedllvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
The file was modifiedllvm/lib/Target/X86/X86MachineFunctionInfo.h
The file was modifiedllvm/lib/Target/X86/X86FrameLowering.cpp
Commit 452e035729a4544a8defda806c1010c7111d5231 by thakis
[gn build] Add build file for msan runtime

Works for the examples on
https://clang.llvm.org/docs/MemorySanitizer.html

Differential Revision: https://reviews.llvm.org/D102554
The file was modifiedcompiler-rt/lib/msan/CMakeLists.txt
The file was modifiedllvm/utils/gn/secondary/compiler-rt/lib/BUILD.gn
The file was addedllvm/utils/gn/secondary/compiler-rt/lib/msan/BUILD.gn
The file was modifiedllvm/utils/gn/TODO.txt
Commit 77fa9a9b15d48e30e6ae99fdbec86f7e170fd10c by thakis
[gn build] reformat all gn files

$ git ls-files '*.gn' '*.gni' | xargs llvm/utils/gn/gn.py format
The file was modifiedllvm/utils/gn/secondary/llvm/utils/unittest/BUILD.gn
The file was modifiedllvm/utils/gn/secondary/llvm/lib/Target/X86/BUILD.gn
The file was modifiedllvm/utils/gn/secondary/clang/lib/Interpreter/BUILD.gn
Commit e827d74a97dcf6623470baf3bda86b1c9544e3df by Jan Svoboda
[clang][deps] Specify Python 3 in shebang

Some build bots don't like plain `python` in the shebang: https://lab.llvm.org/buildbot/#/builders/139/builds/4147.
The file was modifiedclang/utils/module-deps-to-rsp.py
Commit 74ae778176ec4dc8303e7f0c7dbab973c4c2e97c by nemanja.i.ibm
[PowerPC] Do not emit dssall on AIX

This instruction is a nop on all server cores (certainly on all
cores that AIX supports) so it is fine to emit a nop instead of it.
In fact, that is exactly what XL emits. So we emit a nop on AIX
and we leave the codegen as is on other platforms since there may
indeed be cores out there for which this actually does some prefetching.
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrAltivec.td
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrInfo.td
The file was addedllvm/test/CodeGen/PowerPC/dssall.ll
Commit 3549466ac05eda57c9ce13abd7cb6dd365f6d8d6 by anastasia.stulova
[OpenCL] Drop pragma handling for extension types/decls.

Drop non-conformant extension pragma implementation as
it does not properly disable anything and therefore
enabling non-disabled logic has no meaning.

This simplifies clang code and user interface to the extension
functionality. With this patch extension pragma 'begin'/'end'
and 'enable'/'disable' are only accepted for backward
compatibility and no longer have any default behavior.

Differential Revision: https://reviews.llvm.org/D101043
The file was modifiedclang/lib/Sema/SemaExpr.cpp
The file was modifiedclang/test/SemaOpenCL/extension-begin.cl
The file was modifiedclang/lib/Sema/Sema.cpp
The file was modifiedclang/lib/Serialization/ASTReader.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/lib/Serialization/ASTWriter.cpp
The file was modifiedclang/lib/Sema/SemaOverload.cpp
The file was modifiedclang/include/clang/Serialization/ASTWriter.h
The file was modifiedclang/include/clang/Sema/Overload.h
The file was modifiedclang/test/SemaOpenCL/extension-begin.h
The file was modifiedclang/include/clang/Basic/DiagnosticParseKinds.td
The file was modifiedclang/lib/Sema/SemaDecl.cpp
The file was modifiedclang/lib/Sema/SemaType.cpp
The file was modifiedclang/include/clang/Sema/Sema.h
The file was modifiedclang/lib/Parse/ParsePragma.cpp
The file was removedclang/test/CodeGenOpenCL/extension-begin.cl
The file was modifiedclang/lib/Parse/Parser.cpp
Commit 26b1df8b72efe77354627cc9d316f2ee318a588a by mkazantsev
[Test] Auto-generate checks in a test (prepring to update)
The file was modifiedllvm/test/Transforms/LoopDeletion/unreachable-loops.ll
Commit ccd485e55424b78c07c2f9520faf00b805f78c9b by Jan Svoboda
Revert "[clang][deps] Support inferred modules"

This reverts commit 1d9e8e13

Something is off with handling Windows paths: http://45.33.8.238/win/38908/step_7.txt
Most likely introduced in https://reviews.llvm.org/D102491
The file was modifiedclang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
The file was modifiedclang/test/ClangScanDeps/modules-full.cpp
The file was removedclang/test/ClangScanDeps/Inputs/frameworks/Inferred.framework/Frameworks/Sub.framework/Headers/Sub.h
The file was removedclang/test/ClangScanDeps/Inputs/frameworks/module.modulemap
The file was removedclang/test/ClangScanDeps/modules-inferred-explicit-build.m
The file was removedclang/utils/module-deps-to-rsp.py
The file was removedclang/test/ClangScanDeps/Inputs/modules_inferred_cdb.json
The file was removedclang/test/ClangScanDeps/Inputs/frameworks/Inferred.framework/Headers/Inferred.h
The file was removedclang/test/ClangScanDeps/Inputs/frameworks/System.framework/Headers/System.h
The file was removedclang/test/ClangScanDeps/Inputs/frameworks/System.framework/Modules/module.modulemap
The file was removedclang/test/ClangScanDeps/modules-inferred.m
Commit 6b49834d652ba70fc24eaea1c37330639d697de5 by akuegel
[mlir] Add folder for complex.ReOp and complex.ImOp.

Now that complex constants are supported, we can also fold.

Differential Revision: https://reviews.llvm.org/D102609
The file was modifiedmlir/lib/Dialect/Complex/IR/ComplexOps.cpp
The file was modifiedmlir/include/mlir/Dialect/Complex/IR/ComplexOps.td
The file was addedmlir/test/Dialect/Complex/canonicalize.mlir
Commit 511f4ae54ed498981723f597d94cbf41f60b8d78 by nemanja.i.ibm
[PowerPC] Add patterns for vselect of v1i128

These patterns are missing even though the underlying instruction
doesn't really care about the type. Added these patterns to resolve
https://bugs.llvm.org/show_bug.cgi?id=50084
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrAltivec.td
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrVSX.td
The file was modifiedllvm/test/CodeGen/PowerPC/sat-add.ll
Commit 66b112d624a549489fa0af131cf7b632c6181424 by olemarius.strohm
[OpenCL] Fix reinterpret_cast of vectors

Fixes issues with vectors in reinterpret_cast in C++ for OpenCL
and adds tests to make sure they both pass without errors and
generate the correct code.

Fixes: PR47977

Reviewed By: Anastasia

Differential Revision: https://reviews.llvm.org/D101519
The file was addedclang/test/CodeGenOpenCLCXX/reinterpret_cast.clcpp
The file was modifiedclang/lib/Sema/SemaExpr.cpp
The file was modifiedclang/lib/Sema/SemaCast.cpp
The file was addedclang/test/SemaOpenCLCXX/reinterpret-cast.clcpp
The file was modifiedclang/include/clang/Sema/Sema.h
Commit 34fa3f87335fe87bbbc757e5932a1ace2f47efd0 by benny.kra
Clean up uses of gmock Invoke in an attempt to make it work with GCC 6.2. NFCI.
The file was modifiedllvm/unittests/IR/PassBuilderCallbacksTest.cpp
Commit 967f07f5476a8d7884c822a7d92d83f7f68d5dad by akuegel
Revert "[mlir] Add folder for complex.ReOp and complex.ImOp."

This reverts commit 6b49834d652ba70fc24eaea1c37330639d697de5.

Some tests fail.
The file was modifiedmlir/lib/Dialect/Complex/IR/ComplexOps.cpp
The file was modifiedmlir/include/mlir/Dialect/Complex/IR/ComplexOps.td
The file was removedmlir/test/Dialect/Complex/canonicalize.mlir
Commit d05ae0fd1732507bcf5ad3dbd0ba2ca77f22f633 by james.henderson
[debuginfo-tests] Fix environment variable used to specify LLDB

Currently, if the user specifies the environment variable 'CLANG', tests
will attempt to use the value as a path to the clang executable.
Previously, lldb could also be specified via the CLANG environment
variable, but this was almost certainly a bug, because that meant both
clang and lldb would have the same path. This patch changes the
environment variable for lldb to 'LLDB'.

Reviewed by: thopre, teemperor

Differential Revision: https://reviews.llvm.org/D101982
The file was modifiedllvm/utils/lit/lit/TestingConfig.py
The file was modifieddebuginfo-tests/lit.cfg.py
Commit 0863d06050eb3bbf04a60aabed81e1712c7b7442 by llvm-dev
[X86] Regenerate cmov.ll tests
The file was modifiedllvm/test/CodeGen/X86/cmov.ll
Commit e35a9ecf3df8f26ce50f8429cbaaf5a0e0212e86 by lebedev.ri
[InstCombine] isFreeToInvert(): constant expressions aren't free to invert (PR50370)

This fixes https://bugs.llvm.org/show_bug.cgi?id=50370,
which reports a yet another endless combine loop,
this one regressed from 554b1bced325a8d860ad00bd59020d66d01c95f8,
which fixed yet another endless combine loop (PR50308)

This code had fallen into the very typical pitfall of forgetting
that constant expressions exist, and they aren't free to invert,
because the `not` won't be absorbed by the "constant",
but will remain a (constant) expression...
The file was modifiedllvm/test/Transforms/InstCombine/not-add.ll
The file was modifiedllvm/include/llvm/Transforms/InstCombine/InstCombiner.h
Commit 05de4b413930418b60c0dd1e72681b476b50e7fb by benny.kra
Put back the trailing commas on TYPED_TEST_SUITE

This avoids a -pedantic warning:
warning: ISO C++11 requires at least one argument for the "..." in a variadic macro

See also https://github.com/google/googletest/issues/2271
The file was modifiedllvm/unittests/ADT/RangeAdapterTest.cpp
The file was modifiedllvm/unittests/ADT/DenseMapTest.cpp
The file was modifiedllvm/unittests/ADT/IListBaseTest.cpp
The file was modifiedllvm/unittests/IR/ValueMapTest.cpp
The file was modifiedllvm/unittests/ADT/MapVectorTest.cpp
The file was modifiedllvm/unittests/ADT/STLForwardCompatTest.cpp
The file was modifiedllvm/unittests/XRay/FDRProducerConsumerTest.cpp
The file was modifiedflang/unittests/RuntimeGTest/CharacterTest.cpp
The file was modifiedllvm/unittests/ADT/TinyPtrVectorTest.cpp
The file was modifiedllvm/unittests/Support/MathExtrasTest.cpp
The file was modifiedclang/unittests/StaticAnalyzer/RangeSetTest.cpp
The file was modifiedllvm/unittests/ADT/BitVectorTest.cpp
The file was modifiedllvm/unittests/ADT/PriorityWorklistTest.cpp
The file was modifiedllvm/unittests/XRay/GraphTest.cpp
The file was modifiedllvm/unittests/XRay/FDRRecordPrinterTest.cpp
The file was modifiedllvm/unittests/IR/PatternMatch.cpp
The file was modifiedllvm/unittests/ADT/DenseSetTest.cpp
The file was modifiedllvm/unittests/ADT/IntrusiveRefCntPtrTest.cpp
The file was modifiedllvm/unittests/ADT/SmallVectorTest.cpp
Commit db81e88f25f227a007c1202bd8a88aff722ddc6b by herhut
[mlir][memref] Mark memref.buffer_cast as NoSideEffect

This brings it in line with the bultin unrealized_conversion_cast,
which memref.buffer_cast is a specialized version of.

Differential Revision: https://reviews.llvm.org/D102608
The file was modifiedmlir/test/Dialect/Linalg/bufferize.mlir
The file was modifiedmlir/include/mlir/Dialect/MemRef/IR/MemRefOps.td
Commit 888ce70af288168136cf1ca658c3cf6d6759bb3f by Raphael Isemann
[DebugInfo] Fix DWARF expressions for __block vars that are not on the heap

`__block` variables used to be always stored on the head instead of stack.
D51564 allowed `__block` variables to the stored on the stack like normal
variablesif they not captured by any escaping block, but the debug-info
generation code wasn't made aware of it so we still unconditionally emit DWARF
expressions pointing to the heap.

This patch makes CGDebugInfo use the `EscapingByref` introduced in D51564 that
tracks whether the `__block` variable is actually on the heap. If it's stored on
the stack instead we just use the debug info we would generate for normal
variables instead.

Reviewed By: ahatanak, aprantl

Differential Revision: https://reviews.llvm.org/D99946
The file was modifiedclang/test/CodeGen/debug-info-block-expr.c
The file was modifiedclang/lib/CodeGen/CGDebugInfo.cpp
Commit 50511df32edf53238b75b0e9767120dc772dbf14 by irina.dobrescu
[AArch64] Lower bitreverse in ISel

Adding lowering support for bitreverse.

Previously, lowering bitreverse would expand it into a series of other instructions. This patch makes it so this produces a single rbit instruction instead.

Reviewed By: dmgreen

Differential Revision: https://reviews.llvm.org/D102397
The file was modifiedllvm/lib/IR/AutoUpgrade.cpp
The file was modifiedllvm/test/CodeGen/AArch64/bitreverse.ll
The file was addedllvm/test/CodeGen/AArch64/neon_rbit.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/AArch64/arm64-vbitwise.ll
The file was modifiedclang/test/CodeGen/aarch64-neon-misc.c
The file was modifiedclang/lib/CodeGen/CGBuiltin.cpp
The file was modifiedllvm/include/llvm/IR/IntrinsicsAArch64.td
The file was modifiedllvm/lib/Target/AArch64/AArch64InstrInfo.td
Commit b89e09a19f9b60dfa9477b24a404a7ae5522f898 by llvm-dev
Silence "Undefined or garbage value returned to caller" static analysis warning. NFCI.
The file was modifiedclang/lib/Driver/Driver.cpp
Commit 9b7e5b63aa60b2df9e683b1acf3e855062da1773 by zinenko
[mlir] fix misformatted documentation for memref convention

The code-block ending marker was missing.
The file was modifiedmlir/docs/LLVMDialectMemRefConvention.md
Commit 2c9688d201a79383282c22dca2c2826688d5272c by springerm
[mlir] Improve TransferOp verifier: broadcasts are in_bounds

Broadcast dimensions of vector transfer ops are always in-bounds. This is consistent with the fact that the starting position of a transfer is always in-bounds.

Differential Revision: https://reviews.llvm.org/D102566
The file was modifiedmlir/include/mlir/Dialect/Vector/VectorOps.td
The file was modifiedmlir/lib/Dialect/Vector/VectorOps.cpp
The file was modifiedmlir/include/mlir/Interfaces/VectorInterfaces.td
The file was modifiedmlir/test/Dialect/Vector/invalid.mlir
Commit ab92a4c26f54170bf72706ad29c0fb151a177590 by jubnzv
[clang-tidy] Fix altera-struct-pack-align crash for struct fields with incomplete type

We can only use ASTContext::getTypeInfo for complete types.

This fixes bugzilla issue 50313.

Reviewed By: aaron.ballman

Differential Revision: https://reviews.llvm.org/D102569
The file was modifiedclang-tools-extra/clang-tidy/altera/StructPackAlignCheck.cpp
The file was addedclang-tools-extra/test/clang-tidy/checkers/altera-struct-pack-align-no-crash.cpp
Commit b6e4bfd18571b65bf3c537f52225d8ee6c2953c4 by weratt
[APInt][NFC] Fix typo vlalue->value

Reviewed By: fhahn

Differential Revision: https://reviews.llvm.org/D102618
The file was modifiedllvm/include/llvm/ADT/APInt.h
Commit cd73ce4b5e622bb4d71b41f9dab157200501d352 by fraser
[RISCV][NFC] Correct alignment in scatter/gather tests

This lays the groundwork for changes to alignment in D102493 to be more
apparent.
The file was modifiedllvm/test/Analysis/CostModel/RISCV/fixed-vector-gather.ll
The file was modifiedllvm/test/Analysis/CostModel/RISCV/fixed-vector-scatter.ll
Commit 472f856714fb1687b0727b3013f5d071d8fa86ae by jay.foad
[AMDGPU] Tweak VOP3_INTERP16 profile

Set the output register class based on the output type, instead of
hard-coding VGPR_32. I think this is more correct. It doesn't make any
difference at the moment because we use the same class for 16- and
32-bit results, but it might in future if we make more use of true
16-bit register classes.

Differential Revision: https://reviews.llvm.org/D102622
The file was modifiedllvm/lib/Target/AMDGPU/VOP3Instructions.td
Commit 6052a8a53559d667321637f7159353ab724a1141 by sylvain.audi
[clang] In DependencyCollector on Windows, ignore case and separators when discarding duplicate dependency file paths.

This patch removes duplicates also encountered in the output of clang-scan-deps when one same header file is encountered with different casing and/or different separators ('/' vs '\').

The case of separators can appear when the same file is included externally by
`#include <folder/file.h>`

whereas a file from the same folder does
`#include "file.h"`

Under Windows, clang computes the paths using '/' from the include directive, the `\` from the -I options, and the concatenations use the native `\`, leading to internal paths containing a mix of both separators.

Differential Revision: https://reviews.llvm.org/D102339
The file was modifiedclang/lib/Frontend/DependencyFile.cpp
The file was addedclang/test/Frontend/dependency-gen-windows-duplicates.c
Commit 41587466aaf239d061ad084114ec749cecbb2966 by llvm-dev
[X86] Don't dereference a dyn_cast<> - use a cast<> instead. NFCI.

dyn_cast<> can return null if the cast fails, by using cast<> we assert that the cast is correct helping to avoid a potential null dereference.
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit 8854b27b198c1c499ca174369fcc649060afb075 by spatel
[x86] update fma test with deprecated intrinsics; NFC

All of the CHECK lines should be identical to before,
but without any of the x86-specific calls that were
replaced with generic FMA long ago.

The file still has value because it shows a miscompile
as demonstrated in D90901, but we probably need to
add tests with FMF to make that explicit without
losing coverage.
The file was modifiedllvm/test/CodeGen/X86/avx2-fma-fneg-combine.ll
Commit ab5ff154abe59d04f77035587c6a169c15168b2f by clementval
[mlir][openacc] Translate ExitDataop to LLVM IR

Translate ExitDataOp with delete and copyout operands to runtime call.
This is done in a similar way as D101504.

Reviewed By: kiranchandramohan

Differential Revision: https://reviews.llvm.org/D102381
The file was modifiedmlir/test/Target/LLVMIR/openacc-llvm.mlir
The file was modifiedmlir/lib/Target/LLVMIR/Dialect/OpenACC/OpenACCToLLVMIRTranslation.cpp
Commit e0921655b1ff8d4ba7c14be59252fe05b705920e by Xiangling.Liao
[AIX] Implement AIX special bitfield related alignment rules

1.[bool, char, short] bitfields have the same alignment as unsigned int
2.Adjust alignment on typedef field decls/honor align attribute
3.Fix alignment for scoped enum class
4.Long long bitfield has 4bytes alignment and StorageUnitSize under 32 bit
  compile mode

Differential Revision: https://reviews.llvm.org/D87029
The file was modifiedclang/lib/AST/RecordLayoutBuilder.cpp
The file was addedclang/test/Layout/aix-bitfield-alignment.cpp
The file was addedclang/test/Layout/aix-bitfield-alignment.c
Commit f4c0fdc6c9db616e2a50e3b39c615f972b4b3158 by Stanislav.Mekhanoshin
[AMDGPU] Set unused dst_sel to '?' in the encoding

This is to allow disasm with any bits in the unused fields.

Differential Revision: https://reviews.llvm.org/D102526
The file was modifiedllvm/lib/Target/AMDGPU/VOPInstructions.td
The file was modifiedllvm/test/MC/Disassembler/AMDGPU/sdwa_vi.txt
The file was modifiedllvm/test/MC/Disassembler/AMDGPU/sdwa_gfx9.txt
Commit fded6f77c357447b06b952f56c83d2a5487c5adf by flo
[LoopUnroll] Add multi-exit test which does not exit through latch.

This patch adds a new test for loop-unrolling with multiple exiting
blocks, where the latch does not exit, but the header does. This can
happen when the loop has not been rotated, e.g. due to minsize.

Inspired by the following end-to-end test, using -Oz
https://godbolt.org/z/fP6sna8qK

    bool foo(int *ptr, int limit) {
        #pragma clang loop unroll(full)
        for (unsigned int i = 0; i < 4; i++) {
            if (ptr[i] > limit)
            return false;
            ptr[i]++;
        }
        return true;
    }
The file was addedllvm/test/Transforms/LoopUnroll/unroll-header-exiting-with-phis-multiple-exiting-blocks.ll
Commit af6511d730f18beb9053c0120c45abef031344e9 by tianshilei1992
[OpenMP] Fixed Bug 49356

Bug 49356 (https://bugs.llvm.org/show_bug.cgi?id=49356) reports crash in
the test case `tasking/bug_taskwait_detach.cpp`, which is caused by the wrong
function declaration. `gtid` in `__kmpc_omp_task` should be `kmp_int32`.

Reviewed By: AndreyChurbanov

Differential Revision: https://reviews.llvm.org/D102584
The file was modifiedopenmp/runtime/test/tasking/bug_taskwait_detach.cpp
Commit 5f58322368b070b63fe2b2559a54f646cb97e2c4 by mascasa
[HWASan] Build separate LAM runtime on x86_64.

Since we have both aliasing mode and Intel LAM on x86_64, we need to
choose the mode at either run time or compile time.  This patch
implements the plumbing to build both and choose between them at
compile time.

Reviewed By: vitalybuka, eugenis

Differential Revision: https://reviews.llvm.org/D102286
The file was modifiedclang/lib/Driver/ToolChains/CommonArgs.cpp
The file was modifiedcompiler-rt/lib/hwasan/CMakeLists.txt
The file was modifiedcompiler-rt/lib/hwasan/hwasan.h
The file was modifiedcompiler-rt/lib/hwasan/hwasan_dynamic_shadow.cpp
The file was modifiedcompiler-rt/lib/hwasan/hwasan_allocator.h
The file was modifiedcompiler-rt/lib/hwasan/hwasan_linux.cpp
Commit 1417ddafdb68755300c115694ef8861302506062 by zinenko
[llvm][doc] fix header for read/write_register intrinsics in LangRef

Mutli-line headers are not allowed in RST, reformat the header to be a
single wide line.
The file was modifiedllvm/docs/LangRef.rst
Commit 02c2468864bbb37f7b279aff84961815c1500b6c by tra
[Clang][NVPTX] Add NVPTX intrinsics and builtins for CUDA PTX cp.async instructions

Adds NVPTX builtins and intrinsics for the CUDA PTX `cp.async` instructions for
`sm_80` architecture or newer.

PTX ISA description of `cp.async`:
https://docs.nvidia.com/cuda/parallel-thread-execution/index.html#data-movement-and-conversion-instructions-asynchronous-copy
https://docs.nvidia.com/cuda/parallel-thread-execution/index.html#parallel-synchronization-and-communication-instructions-cp-async-mbarrier-arrive

Authored-by: Stuart Adams <stuart.adams@codeplay.com>
Co-Authored-by: Alexander Johnston <alexander@codeplay.com>

Differential Revision: https://reviews.llvm.org/D100394
The file was modifiedllvm/lib/Target/NVPTX/NVPTXIntrinsics.td
The file was modifiedllvm/include/llvm/IR/IntrinsicsNVVM.td
The file was addedllvm/test/CodeGen/NVPTX/async-copy.ll
The file was addedllvm/test/CodeGen/NVPTX/mbarrier.ll
The file was modifiedclang/include/clang/Basic/BuiltinsNVPTX.def
The file was modifiedclang/test/CodeGen/builtins-nvptx.c
The file was modifiedllvm/lib/Target/NVPTX/NVPTXInstrInfo.td
Commit f226e28a880f8e40b1bfd4c77b9768a667372d22 by tra
[Clang][NVPTX] Add NVPTX intrinsics and builtins for CUDA PTX redux.sync instructions

Adds NVPTX builtins and intrinsics for the CUDA PTX `redux.sync` instructions
for `sm_80` architecture or newer.

PTX ISA description of `redux.sync`:
https://docs.nvidia.com/cuda/parallel-thread-execution/index.html#parallel-synchronization-and-communication-instructions-redux-sync

Authored-by: Steffen Larsen <steffen.larsen@codeplay.com>

Differential Revision: https://reviews.llvm.org/D100124
The file was modifiedllvm/lib/Target/NVPTX/NVPTXIntrinsics.td
The file was modifiedllvm/include/llvm/IR/IntrinsicsNVVM.td
The file was addedclang/test/CodeGenCUDA/redux-builtins.cu
The file was addedllvm/test/CodeGen/NVPTX/redux-sync.ll
The file was modifiedclang/include/clang/Basic/BuiltinsNVPTX.def
Commit 08068ddba7f52255fa39968207309f3d1ad98223 by rob.suderman
[mlir][tosa] Fix tosa.avg_pool2d lowering to normalize correctly

Initial version of pooling assumed normalization was accross all elements
equally. TOSA actually requires the noramalization is perform by how
many elements were summed (edges are not artifically dimmer). Updated
the lowering to reflect this change with corresponding tests.

Reviewed By: NatashaKnk

Differential Revision: https://reviews.llvm.org/D102540
The file was modifiedmlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
The file was modifiedmlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
Commit 18cb17ce4cd54b9971550840b6f0b872de0d4c8c by Yaxun.Liu
[HIP] Fix spack detection

Missing or duplicate spack package should not cause error, since
users may only installed llvm/clang package, or users may installed
duplicate HIP package but will use environment variable or compiler
option to choose HIP path.

The message about missing or duplicate spack package is informational,
therefore should be emitted only when -v is specified.

Reviewed by: Artem Belevich

Differential Revision: https://reviews.llvm.org/D102556
The file was modifiedclang/lib/Driver/ToolChains/ROCm.h
The file was modifiedclang/test/Driver/rocm-detect.hip
The file was modifiedclang/lib/Driver/ToolChains/AMDGPU.cpp
Commit 43f6e04258aaece5b45c18986e0e6c3e690fa82e by joker.eph
Make `mlir::OpState::operator bool` explicit

This change makes the conversion of an mlir::OpState to bool `explicit`. Idiomatic boolean uses continue to work as before, but questionable implicit uses (e.g. accumulating over a range of OpStates to count "true" states) become ill-formed. This makes the class interface a lilttle less error-prone.

I tested this change on our internal (fairly large) codebase, and only one fix was needed, which was ultimately an improvement of the affected code.

Reviewed By: rriddle, mehdi_amini

Differential Revision: https://reviews.llvm.org/D101989
The file was modifiedmlir/include/mlir/IR/OpDefinition.h
Commit d97bab65118558ec8376749529338477b5768866 by mascasa
[HWASan] Don't build alias mode on non-x86.

Alias mode is not expected work on non-x86, so don't build it there.
Should fix the aarch64 bot.
The file was modifiedcompiler-rt/lib/hwasan/CMakeLists.txt
Commit 0633d5ce7bd9339228d301d4b1ee49fbd0a78b56 by lebedev.ri
[LoopIdiom] 'logical right-shift until zero' ('count active bits') "on steroids" idiom recognition.

I think i've added exhaustive test coverage, and i have verified that alive2 is happy with all the tests,
so in principle i'm fine with landing this without review, but just in case..

This adds support for the "count active bits" pattern, i.e.:
```
int countActiveBits(unsigned val) {
    int cnt = 0;
    for( ; (val >> cnt) != 0; ++cnt)
        ;
    return cnt;
}
```
but a somewhat more general one, since that is what i need:
```
int countActiveBits(unsigned val, int start, int off) {
    int cnt;
    for (cnt = start; val >> (cnt + off); cnt++)
        ;
    return cnt;
}
```

I've followed in footstep of 'left-shift until bittest' idiom (D91038),
in the sense that iff the `ctlz` intrinsic is cheap, we'll transform,
regardless of all other factors.

This can have a shocking effect on certain benchmarks:
```
raw.pixls.us-unique/Olympus/XZ-1$ /repositories/googlebenchmark/tools/compare.py -a benchmarks ~/rawspeed/build-{old,new}/src/utilities/rsbench/rsbench --benchmark_counters_tabular=true --benchmark_min_time=0.00000001 --benchmark_repetitions=128 p1319978.orf
RUNNING: /home/lebedevri/rawspeed/build-old/src/utilities/rsbench/rsbench --benchmark_counters_tabular=true --benchmark_min_time=0.00000001 --benchmark_repetitions=128 p1319978.orf --benchmark_display_aggregates_only=true --benchmark_out=/tmp/tmp49_28zcm
2021-05-09T01:06:05+03:00
Running /home/lebedevri/rawspeed/build-old/src/utilities/rsbench/rsbench
Run on (32 X 3600.24 MHz CPU s)
CPU Caches:
  L1 Data 32 KiB (x16)
  L1 Instruction 32 KiB (x16)
  L2 Unified 512 KiB (x16)
  L3 Unified 32768 KiB (x2)
Load Average: 5.26, 6.29, 3.49
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Benchmark                                                      Time             CPU   Iterations  CPUTime,s CPUTime/WallTime     Pixels Pixels/CPUTime Pixels/WallTime Raws/CPUTime Raws/WallTime WallTime,s
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
p1319978.orf/threads:32/process_time/real_time_mean          145 ms          145 ms          128   0.145319         0.999981   10.1568M       69.8949M        69.8936M      6.88159       6.88146   0.145322
p1319978.orf/threads:32/process_time/real_time_median        145 ms          145 ms          128   0.145317         0.999986   10.1568M       69.8941M        69.8931M      6.88151       6.88141   0.145319
p1319978.orf/threads:32/process_time/real_time_stddev      0.766 ms        0.766 ms          128   766.586u         15.1302u          0       354.167k        354.098k    0.0348699     0.0348631   766.469u
RUNNING: /home/lebedevri/rawspeed/build-new/src/utilities/rsbench/rsbench --benchmark_counters_tabular=true --benchmark_min_time=0.00000001 --benchmark_repetitions=128 p1319978.orf --benchmark_display_aggregates_only=true --benchmark_out=/tmp/tmpwb9sw2x0
2021-05-09T01:06:24+03:00
Running /home/lebedevri/rawspeed/build-new/src/utilities/rsbench/rsbench
Run on (32 X 3599.95 MHz CPU s)
CPU Caches:
  L1 Data 32 KiB (x16)
  L1 Instruction 32 KiB (x16)
  L2 Unified 512 KiB (x16)
  L3 Unified 32768 KiB (x2)
Load Average: 4.05, 5.95, 3.43
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Benchmark                                                      Time             CPU   Iterations  CPUTime,s CPUTime/WallTime     Pixels Pixels/CPUTime Pixels/WallTime Raws/CPUTime Raws/WallTime WallTime,s
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
p1319978.orf/threads:32/process_time/real_time_mean         99.8 ms         99.8 ms          128  0.0997758         0.999972   10.1568M       101.797M        101.794M      10.0225       10.0222  0.0997786
p1319978.orf/threads:32/process_time/real_time_median       99.7 ms         99.7 ms          128  0.0997165         0.999985   10.1568M       101.857M        101.854M      10.0284       10.0281  0.0997195
p1319978.orf/threads:32/process_time/real_time_stddev      0.224 ms        0.224 ms          128   224.166u          34.345u          0        226.81k        227.231k    0.0223309     0.0223723   224.586u
Comparing /home/lebedevri/rawspeed/build-old/src/utilities/rsbench/rsbench to /home/lebedevri/rawspeed/build-new/src/utilities/rsbench/rsbench
Benchmark                                                               Time             CPU      Time Old      Time New       CPU Old       CPU New
----------------------------------------------------------------------------------------------------------------------------------------------------
p1319978.orf/threads:32/process_time/real_time_pvalue                 0.0000          0.0000      U Test, Repetitions: 128 vs 128
p1319978.orf/threads:32/process_time/real_time_mean                  -0.3134         -0.3134           145           100           145           100
p1319978.orf/threads:32/process_time/real_time_median                -0.3138         -0.3138           145           100           145           100
p1319978.orf/threads:32/process_time/real_time_stddev                -0.7073         -0.7078             1             0             1             0

```

Reviewed By: craig.topper, zhuhan0

Differential Revision: https://reviews.llvm.org/D102116
The file was modifiedllvm/test/Transforms/LoopIdiom/X86/logical-right-shift-until-zero.ll
The file was modifiedllvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
The file was modifiedllvm/test/Transforms/LoopIdiom/X86/logical-right-shift-until-zero-debuginfo.ll
Commit 2182eda3062471e2e6994307c46ffcca7e39ecff by Shafik Yaghmour
[LLDB] Switch from using member_clang_type.GetByteSize() to member_type->GetByteSize() in ParseSingleMember

We have a bug in which using member_clang_type.GetByteSize() triggers record
layout and during this process since the record was not yet complete we ended
up reaching a record that had not been layed out yet.
Using member_type->GetByteSize() avoids this situation since it relies on size
from DWARF and will not trigger record layout.

For reference: rdar://77293040

Differential Revision: https://reviews.llvm.org/D102445
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
Commit cd220a06782c3da13a53de2fdf10d928eef6460c by aeubanks
[NewPM] Add C bindings for new pass manager

This patch contains the bare minimum to run the new Pass Manager from the LLVM-C APIs. It does not feature PGOOptions, PassPlugins or Debugify in its current state. Bugzilla: PR48499

Reviewed By: aeubanks

Differential Revision: https://reviews.llvm.org/D102136
The file was modifiedllvm/unittests/Passes/CMakeLists.txt
The file was addedllvm/include/llvm-c/Transforms/PassBuilder.h
The file was addedllvm/unittests/Passes/PassBuilderBindingsTest.cpp
The file was modifiedllvm/lib/Passes/CMakeLists.txt
The file was addedllvm/lib/Passes/PassBuilderBindings.cpp
Commit bd5751f3d249ec0798060bd98c07272174c52af0 by jingham
Reset the wakeup timeout when we re-enter the continue wait.

Differential Revision: https://reviews.llvm.org/D102562
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteClientBase.cpp
Commit 0b339778722207528ad7299b0fc77314c26efb33 by thakis
Revert "[NewPM] Add C bindings for new pass manager"

This reverts commit cd220a06782c3da13a53de2fdf10d928eef6460c.
Doesn't build.
The file was removedllvm/lib/Passes/PassBuilderBindings.cpp
The file was modifiedllvm/lib/Passes/CMakeLists.txt
The file was modifiedllvm/unittests/Passes/CMakeLists.txt
The file was removedllvm/unittests/Passes/PassBuilderBindingsTest.cpp
The file was removedllvm/include/llvm-c/Transforms/PassBuilder.h
Commit 14dfb3831c425c7f22540a2160424224008c257e by aeubanks
[Clang] -Wunused-but-set-parameter and -Wunused-but-set-variable

These are intended to mimic warnings available in gcc.

Reviewed By: aeubanks

Differential Revision: https://reviews.llvm.org/D100581
The file was modifiedclang/test/SemaCXX/shift.cpp
The file was modifiedclang/lib/Sema/SemaDecl.cpp
The file was modifiedclang/test/CodeGen/X86/x86_32-xsave.c
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was addedclang/test/Sema/warn-unused-but-set-variables.c
The file was modifiedclang/test/CodeGen/builtins-arm.c
The file was modifiedclang/test/SemaObjC/foreach.m
The file was modifiedclang/lib/Sema/SemaExpr.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticGroups.td
The file was modifiedclang/test/CodeGen/X86/x86_64-xsave.c
The file was modifiedclang/test/CodeGen/2007-10-30-Volatile.c
The file was modifiedclang/test/CodeGen/builtins-riscv.c
The file was modifiedclang/test/Sema/vector-gcc-compat.cpp
The file was modifiedclang/test/CXX/expr/expr.prim/expr.prim.lambda/p12.cpp
The file was modifiedclang/test/Misc/warning-wall.c
The file was addedclang/test/SemaCXX/warn-unused-but-set-variables-cpp.cpp
The file was modifiedclang/test/SemaCXX/sizeless-1.cpp
The file was modifiedclang/test/Sema/vector-gcc-compat.c
The file was modifiedclang/test/SemaCXX/goto.cpp
The file was addedclang/test/Sema/warn-unused-but-set-parameters.c
The file was modifiedclang/test/FixIt/fixit.cpp
The file was modifiedclang/include/clang/Sema/Sema.h
The file was modifiedclang/test/Sema/shift.c
The file was modifiedclang/lib/Sema/SemaExprCXX.cpp
The file was addedclang/test/SemaCXX/warn-unused-but-set-parameters-cpp.cpp
Commit ebcf030efc5ef149e423f8fa2ca705b590a129ed by balazs.benics
[analyzer] Engine: fix crash with SEH __leave keyword

MSVC has a `try-except` statement.
This statement could containt a `__leave` keyword, which is similar to
`goto` to the end of the try block. The semantic of this keyword is not
implemented.

We should at least parse such code without crashing.

https://docs.microsoft.com/en-us/cpp/cpp/try-except-statement?view=msvc-160

Patch By: AbbasSabra!

Reviewed By: steakhal

Differential Revision: https://reviews.llvm.org/D102280
The file was modifiedclang/lib/StaticAnalyzer/Core/CoreEngine.cpp
The file was addedclang/test/Analysis/ms-seh.cpp
Commit 648f34a2840b75f4081884052f2ccb11f62f8209 by clattner
Merge with mainline.

Differential Revision: https://reviews.llvm.org/D102636
The file was modifiedmlir/lib/Transforms/Canonicalizer.cpp
The file was addedmlir/test/Transforms/canonicalize-td.mlir
The file was modifiedmlir/lib/Transforms/Utils/FoldUtils.cpp
The file was modifiedmlir/docs/PatternRewriter.md
The file was modifiedmlir/include/mlir/Transforms/FoldUtils.h
The file was modifiedmlir/include/mlir/Transforms/Passes.td
The file was modifiedmlir/include/mlir/Transforms/GreedyPatternRewriteDriver.h
The file was modifiedmlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp
Commit 4a12248ee27631c86c2c29d203b22599339ced92 by thakis
[lld/mac] Honor REFERENCED_DYAMICALLY, set it on __mh_execute_header

Has the effect that `__mh_execute_header` stays in the symbol table of
outputs even after running `strip` on the output. I don't know if that's
important for anything -- my motivation for the patch is just is to make
the output more similar to ld64.

(Corresponds to symbolTableInAndNeverStrip in ld64.)

Differential Revision: https://reviews.llvm.org/D102619
The file was modifiedlld/MachO/SyntheticSections.cpp
The file was modifiedlld/MachO/UnwindInfoSection.cpp
The file was modifiedlld/MachO/InputFiles.cpp
The file was modifiedlld/test/MachO/symtab.s
The file was addedlld/test/MachO/referenced-dynamically.s
The file was modifiedlld/MachO/SymbolTable.cpp
The file was modifiedlld/MachO/MergedOutputSection.cpp
The file was modifiedlld/MachO/Symbols.h
The file was modifiedlld/MachO/SymbolTable.h
The file was modifiedlld/test/MachO/stabs.s
The file was modifiedlld/MachO/Driver.cpp
Commit 5879da496cdf44e50cbd8ea062aa36370e218fdb by ajcbik
[mlir][sparse] replace experimental flag with inplace attribute

The experimental flag for "inplace" bufferization in the sparse
compiler can be replaced with the new inplace attribute. This gives
a uniform way of expressing the more efficient way of bufferization.

Reviewed By: bixia

Differential Revision: https://reviews.llvm.org/D102538
The file was modifiedmlir/lib/Dialect/SparseTensor/Transforms/SparseTensorPasses.cpp
The file was modifiedmlir/test/Dialect/SparseTensor/sparse_lower.mlir
The file was modifiedmlir/test/Integration/Dialect/SparseTensor/CPU/sparse_sampled_matmul.mlir
The file was modifiedmlir/include/mlir/Dialect/SparseTensor/Transforms/Passes.h
The file was addedmlir/test/Dialect/SparseTensor/sparse_lower_inplace.mlir
The file was modifiedmlir/lib/Dialect/SparseTensor/Transforms/Sparsification.cpp
Commit 0c557db617112b429e5abfbcec72d181221bfead by aeubanks
[NewPM] Add C bindings for new pass manager

This patch contains the bare minimum to run the new Pass Manager from the LLVM-C APIs. It does not feature PGOOptions, PassPlugins or Debugify in its current state. Bugzilla: PR48499

Reviewed By: aeubanks

Differential Revision: https://reviews.llvm.org/D102136
The file was addedllvm/unittests/Passes/PassBuilderBindingsTest.cpp
The file was addedllvm/lib/Passes/PassBuilderBindings.cpp
The file was addedllvm/include/llvm-c/Transforms/PassBuilder.h
The file was modifiedllvm/lib/Passes/CMakeLists.txt
The file was modifiedllvm/unittests/Passes/CMakeLists.txt
Commit 24bf554b1059d1ee27040ea90fc046d75950e58d by jpienaar
Add type function for ConstShape op.

- Enables inferring return type for ConstShape, takes into account valid return types;
- The compatible return type function could be reused, leaving that for next use refactoring;

Differential Revision: https://reviews.llvm.org/D102182
The file was modifiedmlir/test/Dialect/Shape/ops.mlir
The file was modifiedmlir/lib/Dialect/Shape/IR/Shape.cpp
The file was modifiedmlir/include/mlir/Dialect/Shape/IR/ShapeOps.td
The file was modifiedmlir/test/Dialect/Shape/invalid.mlir
Commit c870e36be1b21c1f306927fc9eb983390e434278 by peter
gn build: Only build the hwasan runtime in aliasing mode on x86.

The LAM mode is currently untested by check-hwasan, so we only need
to build the runtime in aliasing mode. Because LAM mode will always
need to be conditional (because only certain hardware will support
it) we can always just disable the LAM lit tests if it ever starts
being tested.
The file was modifiedllvm/utils/gn/secondary/compiler-rt/lib/hwasan/BUILD.gn
Commit 0f417789192e74f9d2fad0f6aee4efc394257176 by ndesaulniers
[AArch64] Support customizing stack protector guard

Follow up to D88631 but for aarch64; the Linux kernel uses the command
line flags:

1. -mstack-protector-guard=sysreg
2. -mstack-protector-guard-reg=sp_el0
3. -mstack-protector-guard-offset=0

to use the system register sp_el0 for the stack canary, enabling the
kernel to have a unique stack canary per task (like a thread, but not
limited to userspace as the kernel can preempt itself).

Address pr/47341 for aarch64.

Fixes: https://github.com/ClangBuiltLinux/linux/issues/289
Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>

Reviewed By: xiangzhangllvm, DavidSpickett, dmgreen

Differential Revision: https://reviews.llvm.org/D100919
The file was modifiedllvm/include/llvm/Target/TargetOptions.h
The file was modifiedclang/include/clang/Basic/CodeGenOptions.h
The file was modifiedclang/test/Driver/stack-protector-guard.c
The file was modifiedllvm/lib/Target/AArch64/AArch64InstrInfo.cpp
The file was addedllvm/test/CodeGen/AArch64/stack-guard-sysreg.ll
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
The file was modifiedclang/lib/CodeGen/BackendUtil.cpp
The file was modifiedllvm/lib/CodeGen/CommandFlags.cpp
The file was modifiedclang/include/clang/Driver/Options.td
Commit e9f600f20af66ce7a24adb3971453a1f7ce6bc29 by spatel
[InstCombine] add tests for fneg-of-select; NFC
The file was modifiedllvm/test/Transforms/InstCombine/fneg.ll
Commit 3cdd05e519ddab7d4e4864cadb977a876cd19046 by spatel
[InstCombine] fold fnegs around select

This is one of the folds requested in:
https://llvm.org/PR39480

https://alive2.llvm.org/ce/z/NczU3V

Note - this uses the normal FMF propagation logic
(flags transfer from the final value to new/intermediate ops).
It's not clear if this matches what Alive2 implements,
so we may want to adjust one or the other.
The file was modifiedllvm/test/Transforms/InstCombine/fneg.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
Commit 11c857c71d62b50a8e8b3b2c5ec1488d60bdafab by llvmgnsyncbot
[gn build] Port 0c557db61711
The file was modifiedllvm/utils/gn/secondary/llvm/lib/Passes/BUILD.gn
Commit 3a0b6dc3e84bb91c0dbd721b1931e4a0ff396142 by aeubanks
Revert "[Clang] -Wunused-but-set-parameter and -Wunused-but-set-variable"

This reverts commit 14dfb3831c425c7f22540a2160424224008c257e.

More false positives, see D100581.
The file was modifiedclang/lib/Sema/SemaExpr.cpp
The file was modifiedclang/test/CXX/expr/expr.prim/expr.prim.lambda/p12.cpp
The file was removedclang/test/SemaCXX/warn-unused-but-set-parameters-cpp.cpp
The file was modifiedclang/test/SemaCXX/goto.cpp
The file was removedclang/test/Sema/warn-unused-but-set-parameters.c
The file was modifiedclang/test/Sema/vector-gcc-compat.c
The file was modifiedclang/test/CodeGen/2007-10-30-Volatile.c
The file was modifiedclang/test/Misc/warning-wall.c
The file was modifiedclang/test/CodeGen/builtins-riscv.c
The file was modifiedclang/test/FixIt/fixit.cpp
The file was modifiedclang/test/Sema/vector-gcc-compat.cpp
The file was modifiedclang/test/CodeGen/X86/x86_32-xsave.c
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/test/SemaCXX/shift.cpp
The file was removedclang/test/Sema/warn-unused-but-set-variables.c
The file was modifiedclang/test/Sema/shift.c
The file was modifiedclang/include/clang/Sema/Sema.h
The file was modifiedclang/include/clang/Basic/DiagnosticGroups.td
The file was modifiedclang/lib/Sema/SemaExprCXX.cpp
The file was removedclang/test/SemaCXX/warn-unused-but-set-variables-cpp.cpp
The file was modifiedclang/lib/Sema/SemaDecl.cpp
The file was modifiedclang/test/CodeGen/builtins-arm.c
The file was modifiedclang/test/SemaCXX/sizeless-1.cpp
The file was modifiedclang/test/SemaObjC/foreach.m
The file was modifiedclang/test/CodeGen/X86/x86_64-xsave.c
Commit 1eb78a64c4a5d3febd1799643e0d0aa7151d52bf by Vitaly Buka
[NFC][scudo] Clang-format tests
The file was modifiedcompiler-rt/test/scudo/random_shuffle.cpp
The file was modifiedcompiler-rt/test/scudo/rss.c
The file was modifiedcompiler-rt/test/scudo/preinit.c
The file was modifiedcompiler-rt/test/scudo/double-free.cpp
The file was modifiedcompiler-rt/test/scudo/mismatch.cpp
The file was modifiedcompiler-rt/test/scudo/malloc.cpp
The file was modifiedcompiler-rt/test/scudo/quarantine.c
The file was modifiedcompiler-rt/test/scudo/aligned-new.cpp
The file was modifiedcompiler-rt/test/scudo/secondary.c
The file was modifiedcompiler-rt/test/scudo/tsd_destruction.c
The file was modifiedcompiler-rt/test/scudo/sized-delete.cpp
The file was modifiedcompiler-rt/test/scudo/overflow.c
The file was modifiedcompiler-rt/test/scudo/memalign.c
The file was modifiedcompiler-rt/test/scudo/threads.c
The file was modifiedcompiler-rt/test/scudo/valloc.c
The file was modifiedcompiler-rt/test/scudo/alignment.c
The file was modifiedcompiler-rt/test/scudo/realloc.cpp
The file was modifiedcompiler-rt/test/scudo/stats.c
The file was modifiedcompiler-rt/test/scudo/interface.cpp
The file was modifiedcompiler-rt/test/scudo/options.cpp
The file was modifiedcompiler-rt/test/scudo/dealloc-race.c
Commit 6791a6b309b7aca847336f0175e97ff177687c7e by 31459023+hctim
Revert "X86: support Swift Async context"

This reverts commit 747e5cfb9f5d944b47fe014925b0d5dc2fda74d7.

Reason: New frame layout broke the sanitizer unwinder. Not clear why,
but seems like some of the changes aren't always guarded by Swyft
checks. See
https://reviews.llvm.org/rG747e5cfb9f5d944b47fe014925b0d5dc2fda74d7 for
more information.
The file was modifiedllvm/lib/Target/X86/X86FastISel.cpp
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/lib/Target/X86/X86FrameLowering.cpp
The file was modifiedllvm/lib/Target/X86/X86MachineFunctionInfo.h
The file was removedllvm/test/CodeGen/X86/swift-async-reg.ll
The file was removedllvm/test/CodeGen/X86/swift-async.ll
The file was modifiedllvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
Commit 02286d96dbb3862a7dc5f7a2481c1f763186b259 by davelee.com
[lldb] Document ctrl-f for completing show-autosuggestion

Document how to complete command line suggestions provided by `show-autosuggestion`.

Differential Revision: https://reviews.llvm.org/D102544
The file was modifiedlldb/source/Core/CoreProperties.td
Commit 65271ffe84165b935cefc9a7d468cb6f46a96a91 by markus.boeck02
[lld][MinGW] Introduce aliases for -Bdynamic and -Bstatic

Besides -Bdynamic and -Bstatic, ld documents additional aliases for both of these options. Instead of -Bstatic, one may write -dn, -non_shared or -static. Instead of -Bdynamic one may write -dy or -call_shared. Source: https://sourceware.org/binutils/docs-2.36/ld/Options.html

This patch adds those aliases to the MinGW driver of lld for the sake of ld compatibility.

Encountered this case while compiling a static Qt 6.1 distribution and got build failures as -static was passed directly to the linker, instead of through the compiler driver.

Differential Revision: https://reviews.llvm.org/D102637
The file was modifiedlld/test/MinGW/lib.test
The file was modifiedlld/MinGW/Options.td
Commit 698568b74c93ab6d9374adc8bdc6e60fbcf41ff1 by efriedma
[clang CodeGen] Don't crash on large atomic function parameter.

I wouldn't recommend writing code like the testcase; a function
parameter isn't atomic, so using an atomic type doesn't really make
sense.  But it's valid, so clang shouldn't crash on it.

The code was assuming hasAggregateEvaluationKind(Ty) implies Ty is a
RecordType, which isn't true.  Just use isRecordType() instead.

Differential Revision: https://reviews.llvm.org/D102015
The file was modifiedclang/test/CodeGenCXX/atomic.cpp
The file was modifiedclang/test/CodeGen/big-atomic-ops.c
The file was modifiedclang/lib/CodeGen/CGDecl.cpp
The file was modifiedclang/lib/CodeGen/CGCall.cpp
Commit 82b52812471ca4e7228714aab15110bb740669d0 by Jinsong Ji
[Driver][test] Don't assume integrated-as

The tests of fdebug-compilation-dir and -ffile-compilation-dir for `-x
assembler` are assuming integrated-as.
If the platform set the no-itegrated-as by default (eg: AIX for now), then this test will
fail.

Add the -integrated-as to aviod relying on the platform defaults.

Reviewed By: thakis

Differential Revision: https://reviews.llvm.org/D102647
The file was modifiedclang/test/Driver/clang_f_opts.c
Commit e2e1a78abcefb396ea1c08990f4cf20ae5068ef8 by riddleriver
[mlir][NFC] Remove stale `createLowerAffinePass` declaration

This pass isn't defined in the Transforms/ library anymore.
The file was modifiedmlir/include/mlir/Transforms/Passes.h
Commit 6e1c1dac4c72cc57f4cd2bc8554e8ac9f2f50b6e by aheejin
[WebAssembly] Nullify DBG_VALUE_LISTs in DebugValueManager

WebAssemblyDebugValueManager class currently does not handle
DBG_VALUE_LIST instructions correctly for two reasons, which are
explained in https://bugs.llvm.org/show_bug.cgi?id=50361.

This effectively nullifies DBG_VALUE_LISTs in
WebAssemblyDebugValueManager so that the info will appear as "optimized
out" in debuggers but still be at least correct in the meantime.

Reviewed By: dschuff, jmorse

Differential Revision: https://reviews.llvm.org/D102589
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyDebugValueManager.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyExplicitLocals.cpp
The file was addedllvm/test/CodeGen/WebAssembly/reg-stackify-dbg.mir
Commit ceb1ac9812cb0972cfa34cecc5e5704ae2a22063 by aeubanks
[test] Free triple in PassBuilderBindingsTest
The file was modifiedllvm/unittests/Passes/PassBuilderBindingsTest.cpp
Commit b6320eeb8622f05e4a5d4c7f5420523357490fca by listmail
Do actual DCE in LoopUnroll (try 3)

Recommitting after fixing a bug found post commit.  Amusingly, try 1 had been correct, and by reverting to incorporate last minute review feedback, I introduce the bug.  Oops.  :)

The problem was that recursively deleting an instruction can delete instructions beyond the current iterator (via a dead phi), thus invalidating iteration.  Test case added in LoopUnroll/dce.ll to cover this case.

LoopUnroll does a limited DCE pass after unrolling, but if you have a chain of dead instructions, it only deletes the last one. Improve the code to recursively delete all trivially dead instructions.

Differential Revision: https://reviews.llvm.org/D102511
The file was modifiedllvm/test/Transforms/LoopUnroll/AArch64/full-unroll-trip-count-upper-bound.ll
The file was addedllvm/test/Transforms/LoopUnroll/dce.ll
The file was modifiedllvm/test/Transforms/LoopUnroll/optsize-loop-size.ll
The file was modifiedllvm/test/Transforms/LoopUnrollAndJam/unroll-and-jam.ll
The file was modifiedllvm/test/Transforms/LoopUnroll/pr45939-peel-count-and-complete-unroll.ll
The file was modifiedllvm/test/Transforms/LoopUnroll/nonlatchcondbr.ll
The file was modifiedllvm/test/Transforms/LoopUnroll/scevunroll.ll
The file was modifiedllvm/test/Transforms/LoopUnroll/unroll-header-exiting-with-phis.ll
The file was modifiedllvm/lib/Transforms/Utils/LoopUnroll.cpp
The file was modifiedllvm/test/Transforms/LoopUnroll/unroll-unconditional-latch.ll
The file was modifiedllvm/test/Transforms/LoopUnroll/full-unroll-invariant.ll
Commit 3dd49ec1948b8be0b025e1558071506a58454722 by efriedma
[AArch64][SVE] Implement extractelement of i1 vectors.

The implementation just extends the vector to a larger element type, and
extracts from that.  Not fancy, but generates reasonable code.

There was discussion in the review of doing the promotion in
target-independent code, but I'm sticking with this to avoid making
LegalizeDAG infrastructure more complicated.

Differential Revision: https://reviews.llvm.org/D87651
The file was modifiedllvm/test/CodeGen/AArch64/sve-extract-element.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
Commit af5247c9347dcf1e30443786bdddf23ca705867a by scott.linder
[ADT] Factor out in_place_t and expose in Optional ctor

Differential Revision: https://reviews.llvm.org/D100671
The file was modifiedllvm/unittests/ADT/OptionalTest.cpp
The file was modifiedclang/include/clang/Basic/DirectoryEntry.h
The file was modifiedllvm/include/llvm/ADT/Optional.h
The file was modifiedllvm/include/llvm/ADT/STLForwardCompat.h
Commit a6d3987b8ef3b7616f0835b89515c4264f2a7a64 by scott.linder
[ADT] Add new type traits for type pack indexes

Similar versions of these already exist, this effectively just just
factors them out into STLExtras. I plan to use these in future patches.

Differential Revision: https://reviews.llvm.org/D100672
The file was modifiedllvm/include/llvm/ADT/STLExtras.h
The file was modifiedllvm/include/llvm/ADT/PointerUnion.h
The file was modifiedllvm/unittests/ADT/STLExtrasTest.cpp
Commit 82a38837150099288a1262391ef43e1fd69ffde4 by jingham
Revert "Reset the wakeup timeout when we re-enter the continue wait."

This reverts commit bd5751f3d249ec0798060bd98c07272174c52af0.
This patch series is causing us to every so often miss switching
the state from eStateRunning to eStateStopped when we get the stop
packet from the debug server.

Reverting till I can figure out how that could be happening.
The file was modifiedlldb/source/Target/TargetProperties.td
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h
The file was modifiedlldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.cpp
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
The file was modifiedlldb/source/Target/Process.cpp
The file was modifiedlldb/unittests/Process/gdb-remote/GDBRemoteClientBaseTest.cpp
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteClientBase.cpp
The file was modifiedlldb/unittests/Process/gdb-remote/GDBRemoteCommunicationClientTest.cpp
The file was modifiedlldb/unittests/tools/lldb-server/tests/TestClient.cpp
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteClientBase.h
The file was modifiedlldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.cpp
The file was modifiedlldb/include/lldb/Target/Process.h
The file was addedlldb/test/API/functionalities/gdb_remote_client/TestHaltFails.py
Commit b99e2c56166a3a74ac9c49512c584d5b158ac9c6 by powerman1st
[clang][AVR] Redefine [u]int16_t to be compatible with avr-gcc

Reviewed By: efriedma

Differential Revision: https://reviews.llvm.org/D102547
The file was modifiedclang/lib/Basic/Targets/AVR.cpp
The file was modifiedclang/lib/Frontend/InitPreprocessor.cpp
The file was modifiedclang/include/clang/Basic/TargetInfo.h
The file was modifiedclang/lib/Basic/TargetInfo.cpp
The file was modifiedclang/lib/Basic/Targets/AVR.h
Commit 3cf7983cbe4aba26487709184a0062a6f59aaa9e by powerman1st
[RISCV][test] Add new tests of or/xor in the zbs extension

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D102625
The file was modifiedllvm/test/CodeGen/RISCV/rv32zbs.ll
The file was modifiedllvm/test/CodeGen/RISCV/rv64zbs.ll
Commit c23ce54b36b1a52eb280ea1d59802b56d6dd9800 by listmail
[LV] Unconditionally branch from middle to scalar preheader if the scalar loop must execute

This is a resubmit of 3e5ce4 (which was reverted by 7fe41ac).  The original commit caused a PPC build bot failure we never really got to the bottom of.  I can't reproduce the issue, and the bot owner was non-responsive.  In the meantime, we stumbled across an issue which seems possibly related, and worked around a latent bug in 80e8025.  My best guess is that the original patch exposed that latent issue at higher frequency, but it really is just a guess.

Original commit message follows...

If we know that the scalar epilogue is required to run, modify the CFG to end the middle block with an unconditional branch to scalar preheader. This is instead of a conditional branch to either the preheader or the exit block.

The motivation to do this is to support multiple exit blocks. Specifically, the current structure forces us to identify immediate dominators and *which* exit block to branch from in the middle terminator. For the multiple exit case - where we know require scalar will hold - these questions are ill formed.

This is the last change needed to support multiple exit loops, but since the diffs are already large enough, I'm going to land this, and then enable separately. You can think of this as being NFCIish prep work, but the changes are a bit too involved for me to feel comfortable tagging the review that way.

Differential Revision: https://reviews.llvm.org/D94892
The file was modifiedllvm/test/Transforms/LoopVectorize/loop-form.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/interleaved-accesses.ll
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
The file was modifiedllvm/lib/Transforms/Utils/LoopVersioning.cpp
The file was modifiedllvm/test/Transforms/LoopVectorize/first-order-recurrence-complex.ll
Commit d16da7343d40bc974c1906a271128fbaa3035db5 by listmail
Revert "[LV] Unconditionally branch from middle to scalar preheader if the scalar loop must execute"

This reverts commit c23ce54b36b1a52eb280ea1d59802b56d6dd9800.  I apparently missed some newly added non-x86 tests.
The file was modifiedllvm/test/Transforms/LoopVectorize/loop-form.ll
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
The file was modifiedllvm/test/Transforms/LoopVectorize/interleaved-accesses.ll
The file was modifiedllvm/lib/Transforms/Utils/LoopVersioning.cpp
The file was modifiedllvm/test/Transforms/LoopVectorize/first-order-recurrence-complex.ll
Commit 45764efb6928bdd6fa4260f4ac6b9b6d12180301 by Stanislav.Mekhanoshin
[AMDGPU] Do not check denorm for LDS FP atomic with unsafe flag

This is already how it is handled for global and flat atomics.

Differential Revision: https://reviews.llvm.org/D102366
The file was modifiedllvm/test/CodeGen/AMDGPU/fp64-atomics-gfx90a.ll
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.cpp
Commit 6d3e3ae8a9ca10e063d541a959f4fe4cdb003dba by listmail
[LV] Unconditionally branch from middle to scalar preheader if the scalar loop must execute (try 3)

Resubmit after fixing test/Transforms/LoopVectorize/ARM/mve-gather-scatter-tailpred.ll

Previous commit message...

This is a resubmit of 3e5ce4 (which was reverted by 7fe41ac).  The original commit caused a PPC build bot failure we never really got to the bottom of.  I can't reproduce the issue, and the bot owner was non-responsive.  In the meantime, we stumbled across an issue which seems possibly related, and worked around a latent bug in 80e8025.  My best guess is that the original patch exposed that latent issue at higher frequency, but it really is just a guess.

Original commit message follows...

If we know that the scalar epilogue is required to run, modify the CFG to end the middle block with an unconditional branch to scalar preheader. This is instead of a conditional branch to either the preheader or the exit block.

The motivation to do this is to support multiple exit blocks. Specifically, the current structure forces us to identify immediate dominators and *which* exit block to branch from in the middle terminator. For the multiple exit case - where we know require scalar will hold - these questions are ill formed.

This is the last change needed to support multiple exit loops, but since the diffs are already large enough, I'm going to land this, and then enable separately. You can think of this as being NFCIish prep work, but the changes are a bit too involved for me to feel comfortable tagging the review that way.

Differential Revision: https://reviews.llvm.org/D94892
The file was modifiedllvm/test/Transforms/LoopVectorize/ARM/mve-gather-scatter-tailpred.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/first-order-recurrence-complex.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/loop-form.ll
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
The file was modifiedllvm/test/Transforms/LoopVectorize/interleaved-accesses.ll
The file was modifiedllvm/lib/Transforms/Utils/LoopVersioning.cpp
Commit bc588f9961117d5705e97eb2191e901e92fe9094 by thakis
[lld/mac] Inline a check

`match()` can only return for non-empty vectors, but at least in
non-LTO builds that isn't clear to the compiler. Help it out.
This is a minor but measurable speedup on my machine (but less
than what we might've lost in https://reviews.llvm.org/D100818#2764272 --
bot note higher N on this measurement here, so higher confidence here):

    % ministat at_main at_branch
    x at_main
    + at_branch
        N           Min           Max        Median           Avg        Stddev
    x  30     3.9243979     4.0395119      3.987375     3.9826236   0.027567796
    +  30     3.8495831     4.0009291      3.931325     3.9347135   0.037832878
    Difference at 95.0% confidence
            -0.0479101 +/- 0.0171102
            -1.20298% +/- 0.429622%
            (Student's t, pooled s = 0.0331007)

No behavior change.

Eventually we should apply these lists at symbol parse time instead of
every time shouldExportSymbol() though :)

Differential Revision: https://reviews.llvm.org/D102655
The file was modifiedlld/MachO/SyntheticSections.cpp
Commit 1b4d5b3bf30656d39d94985a63f1c0514fcc6526 by medismail.bennani
[lldb/API] Use a valid LineEntry object in SBCompileUnit::FindLineEntryIndex

This patch updates `SBCompileUnit::FindLineEntryIndex` to pass a valid
`LineEntry` pointer to `CompileUnit::FindLineEntry`.

This caused `LineTable::FindLineEntryIndexByFileIndexImpl` to return its
`best_match` initial value (UINT32_MAX).

rdar://78115426

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

Signed-off-by: Med Ismail Bennani <medismail.bennani@gmail.com>
The file was modifiedlldb/source/API/SBCompileUnit.cpp
The file was addedlldb/test/API/functionalities/find-line-entry/TestFindLineEntry.py
The file was addedlldb/test/API/functionalities/find-line-entry/Makefile
The file was addedlldb/test/API/functionalities/find-line-entry/main.c
Commit a91fb4328f255298dcc17dcb982db6831a53f81a by rob.suderman
[mlir][tosa] Cleanup of tosa.rescale lowering to linalg

Comment was poorly written. Changed to bail on contradictory information in
the double round.

Reviewed By: NatashaKnk

Differential Revision: https://reviews.llvm.org/D102651
The file was modifiedmlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
The file was modifiedmlir/lib/Conversion/TosaToStandard/TosaToStandard.cpp
Commit fcffd087c6bc1364678c1549ffc7a26fd8bea930 by anemet
[Matrix] Fold the transpose into the matmul operand used to fetch scalars

For column-major this is:
  A * B^t
whereas for row-major:
  A^t * B

Differential Revision: https://reviews.llvm.org/D101762
The file was modifiedllvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
The file was modifiedllvm/test/Transforms/LowerMatrixIntrinsics/multiply-double-row-major.ll
The file was addedllvm/test/Transforms/LowerMatrixIntrinsics/multiply-left-transpose-row-major.ll
The file was addedllvm/test/Transforms/LowerMatrixIntrinsics/multiply-right-transpose.ll
Commit cc64ece77dddfa7aa590b6d69fe026fcd64d00cf by aeubanks
[NFC][OpaquePtr] Avoid using PointerType::getElementType() in VectorUtils.cpp

Reviewed By: nikic

Differential Revision: https://reviews.llvm.org/D102533
The file was modifiedllvm/include/llvm/IR/Instructions.h
The file was modifiedllvm/lib/Analysis/VectorUtils.cpp
Commit 9f7d552cff8d62250461ef396d9d4ffab4ecd378 by aeubanks
[NFC] Pass GV value type instead of pointer type to GetOrCreateLLVMGlobal

For opaque pointers, to avoid PointerType::getElementType().

Reviewed By: dblaikie

Differential Revision: https://reviews.llvm.org/D102638
The file was modifiedclang/lib/CodeGen/CodeGenModule.h
The file was modifiedclang/lib/CodeGen/CGBlocks.cpp
The file was modifiedclang/lib/CodeGen/CodeGenModule.cpp
Commit 29bef8e4e3593ab37c4d3b6289dcdec961c3fb52 by llvm-project
[Polly] Add support for -polly-dump-before(-file) with the NPM.

Only supported with -polly-position=early. Unfortunately, the
extension point callpack for VectorizerStart only passes a
FunctionPassManager, making it impossible to add a module pass.
The file was modifiedpolly/lib/Support/DumpModulePass.cpp
The file was modifiedpolly/include/polly/LinkAllPasses.h
The file was addedpolly/test/Support/dumpmodule.ll
The file was modifiedpolly/lib/Support/RegisterPasses.cpp
The file was modifiedpolly/include/polly/Support/DumpModulePass.h
Commit 7bed58d28fd0ec476d5cb5ec2d73416207f250bc by serguei.katkov
[Inliner] Copy attributes when deoptimize intrinsic is inlined

During inlining of call-site with deoptimize intrinsic callee we miss
attributes set on this call site. As a result attributes like deopt-lowering are
disappeared resulting in inefficient behavior of register allocator in codegen.

Just copy attributes for deoptimize call like we do for others calls.

Reviewers: reames, apilipenko
Reviewed By: reames
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D102602
The file was modifiedllvm/lib/Transforms/Utils/InlineFunction.cpp
The file was addedllvm/test/Transforms/Inline/deoptimize-intrinsic-attrs.ll
Commit ad568f4286c9a46e81475aee4ff9ecfe082e2ec0 by llvm-project
[Polly] Add support for -polly-dump-after(-file) with the NPM.

For the same reason as with -polly-dump-before, it is only supported
with -polly-position=early.
The file was modifiedpolly/lib/Support/RegisterPasses.cpp
The file was modifiedpolly/test/Support/dumpmodule.ll
Commit 2d1f2ba7d51689de231794cf3dd74257aeccd315 by stilis
Revert "[ADT] Add new type traits for type pack indexes"

This reverts commit a6d3987b8ef3b7616f0835b89515c4264f2a7a64.
The file was modifiedllvm/include/llvm/ADT/PointerUnion.h
The file was modifiedllvm/unittests/ADT/STLExtrasTest.cpp
The file was modifiedllvm/include/llvm/ADT/STLExtras.h
Commit ed9d70781bbd1dc858b9f6913729fcc49a1e4bdf by listmail
Revert "[LV] Unconditionally branch from middle to scalar preheader if the scalar loop must execute (try 3)"

This reverts commit 6d3e3ae8a9ca10e063d541a959f4fe4cdb003dba.

Still seeing PPC build bot failures, and one arm self host bot failing.  I'm officially stumped, and need help from a bot owner to reduce.
The file was modifiedllvm/test/Transforms/LoopVectorize/first-order-recurrence-complex.ll
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
The file was modifiedllvm/test/Transforms/LoopVectorize/interleaved-accesses.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/ARM/mve-gather-scatter-tailpred.ll
The file was modifiedllvm/lib/Transforms/Utils/LoopVersioning.cpp
The file was modifiedllvm/test/Transforms/LoopVectorize/loop-form.ll
Commit 5a9b25e15b4f9707245bb9d1ab56ab99b725505a by sbc
[lld][WebAssembly] Refactor input chunk class hierarchy. NFC

The main motivation for this refactor is to remove the subclass
relationship between the InputSegment and MergeInputSegment and
SyntenticMergedInputSegment so that we can use the merging classes for
debug sections which are not data segments.

In the process of refactoring I also remove all the virtual functions
from the class hierarchy and try to reuse techniques used in the ELF
linker (see `lld/ELF/InputSections.h`).

Differential Revision: https://reviews.llvm.org/D102546
The file was modifiedlld/wasm/OutputSections.cpp
The file was modifiedlld/wasm/Symbols.h
The file was modifiedlld/wasm/Writer.cpp
The file was modifiedlld/wasm/Symbols.cpp
The file was modifiedlld/wasm/InputChunks.h
The file was modifiedlld/wasm/SymbolTable.h
The file was modifiedlld/wasm/OutputSegment.h
The file was modifiedlld/wasm/SyntheticSections.cpp
The file was modifiedlld/wasm/InputFiles.cpp
The file was modifiedlld/wasm/InputFiles.h
The file was modifiedlld/wasm/SymbolTable.cpp
The file was modifiedlld/wasm/Driver.cpp
The file was modifiedlld/wasm/InputChunks.cpp
The file was modifiedlld/wasm/OutputSegment.cpp
Commit 15d4ed6d8c6956efcb2d5afb89bea7f0fff6f989 by czhengsz
[PowerPC] only check the load instruction result number 0.

Reviewed By: nemanjai

Differential Revision: https://reviews.llvm.org/D102596
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.cpp
The file was modifiedllvm/test/CodeGen/PowerPC/vsx-shuffle-le-load.ll
Commit ab1f6ffa566ba1f6c7994da130380e6f258f580c by anemet
[GVN] Improve analysis for missed optimization remark

This change tries to handle multiple dominating users of the pointer operand
by choosing the most immediately dominating one, if possible.  While making
this change I also found that the previous implementation had a missing break
statement, making all loads with an odd number of dominating users emit an
OtherAccess value, so that has also been fixed.

Patch by Henrik G Olsson!

Differential Revision: https://reviews.llvm.org/D79097
The file was modifiedllvm/lib/Transforms/Scalar/GVN.cpp
The file was addedllvm/test/Transforms/GVN/opt-remarks-non-dominating.ll
The file was addedllvm/test/Transforms/GVN/opt-remarks-multiple-users.ll
Commit dc2c6cf2749fb1655839704a184067d1c6b48ee5 by alexshap
[lld][MachO] Adjust isCodeSection signature

This diff changes the type of the argument of isCodeSection to const InputSection *.
NFC.

Test plan: make check-lld-macho

Differential revision: https://reviews.llvm.org/D102664
The file was modifiedlld/MachO/InputSection.cpp
The file was modifiedlld/MachO/InputSection.h
Commit 57c660f3742f2044f0dd555469f87b7b349dba0d by serguei.katkov
[Statepoint Lowering] Cleanup: remove unused option statepoint-always-spill-base.
The file was modifiedllvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp
Commit 3bc2b97b34ff1d5f817793f83961192e62d5fc7b by Pushpinder.Singh
[AMDGPU][libomptarget] Remove unused global variables

This initial patch removes some unused variables from global namespace.
There will more incoming patches for moving global variables to classes
or static members.

Reviewed By: JonChesterfield

Differential Revision: https://reviews.llvm.org/D102598
The file was modifiedopenmp/libomptarget/plugins/amdgpu/impl/system.cpp
The file was modifiedopenmp/libomptarget/plugins/amdgpu/impl/machine.cpp
The file was modifiedopenmp/libomptarget/plugins/amdgpu/impl/internal.h
Commit 797ad701522988e212495285dade8efac41a24d4 by tentzen
[Windows SEH]: HARDWARE EXCEPTION HANDLING (MSVC -EHa) - Part 1

This patch is the Part-1 (FE Clang) implementation of HW Exception handling.

This new feature adds the support of Hardware Exception for Microsoft Windows
SEH (Structured Exception Handling).
This is the first step of this project; only X86_64 target is enabled in this patch.

Compiler options:
For clang-cl.exe, the option is -EHa, the same as MSVC.
For clang.exe, the extra option is -fasync-exceptions,
plus -triple x86_64-windows -fexceptions and -fcxx-exceptions as usual.

NOTE:: Without the -EHa or -fasync-exceptions, this patch is a NO-DIFF change.

The rules for C code:
For C-code, one way (MSVC approach) to achieve SEH -EHa semantic is to follow
three rules:
* First, no exception can move in or out of _try region., i.e., no "potential
  faulty instruction can be moved across _try boundary.
* Second, the order of exceptions for instructions 'directly' under a _try
  must be preserved (not applied to those in callees).
* Finally, global states (local/global/heap variables) that can be read
  outside of _try region must be updated in memory (not just in register)
  before the subsequent exception occurs.

The impact to C++ code:
Although SEH is a feature for C code, -EHa does have a profound effect on C++
side. When a C++ function (in the same compilation unit with option -EHa ) is
called by a SEH C function, a hardware exception occurs in C++ code can also
be handled properly by an upstream SEH _try-handler or a C++ catch(...).
As such, when that happens in the middle of an object's life scope, the dtor
must be invoked the same way as C++ Synchronous Exception during unwinding
process.

Design:
A natural way to achieve the rules above in LLVM today is to allow an EH edge
added on memory/computation instruction (previous iload/istore idea) so that
exception path is modeled in Flow graph preciously. However, tracking every
single memory instruction and potential faulty instruction can create many
Invokes, complicate flow graph and possibly result in negative performance
impact for downstream optimization and code generation. Making all
optimizations be aware of the new semantic is also substantial.

This design does not intend to model exception path at instruction level.
Instead, the proposed design tracks and reports EH state at BLOCK-level to
reduce the complexity of flow graph and minimize the performance-impact on CPP
code under -EHa option.

One key element of this design is the ability to compute State number at
block-level. Our algorithm is based on the following rationales:

A _try scope is always a SEME (Single Entry Multiple Exits) region as jumping
into a _try is not allowed. The single entry must start with a seh_try_begin()
invoke with a correct State number that is the initial state of the SEME.
Through control-flow, state number is propagated into all blocks. Side exits
marked by seh_try_end() will unwind to parent state based on existing
SEHUnwindMap[].
Note side exits can ONLY jump into parent scopes (lower state number).
Thus, when a block succeeds various states from its predecessors, the lowest
State triumphs others.  If some exits flow to unreachable, propagation on those
paths terminate, not affecting remaining blocks.
For CPP code, object lifetime region is usually a SEME as SEH _try.
However there is one rare exception: jumping into a lifetime that has Dtor but
has no Ctor is warned, but allowed:

Warning: jump bypasses variable with a non-trivial destructor

In that case, the region is actually a MEME (multiple entry multiple exits).
Our solution is to inject a eha_scope_begin() invoke in the side entry block to
ensure a correct State.

Implementation:
Part-1: Clang implementation described below.

Two intrinsic are created to track CPP object scopes; eha_scope_begin() and eha_scope_end().
_scope_begin() is immediately added after ctor() is called and EHStack is pushed.
So it must be an invoke, not a call. With that it's also guaranteed an
EH-cleanup-pad is created regardless whether there exists a call in this scope.
_scope_end is added before dtor(). These two intrinsics make the computation of
Block-State possible in downstream code gen pass, even in the presence of
ctor/dtor inlining.

Two intrinsic, seh_try_begin() and seh_try_end(), are added for C-code to mark
_try boundary and to prevent from exceptions being moved across _try boundary.
All memory instructions inside a _try are considered as 'volatile' to assure
2nd and 3rd rules for C-code above. This is a little sub-optimized. But it's
acceptable as the amount of code directly under _try is very small.

Part-2 (will be in Part-2 patch): LLVM implementation described below.

For both C++ & C-code, the state of each block is computed at the same place in
BE (WinEHPreparing pass) where all other EH tables/maps are calculated.
In addition to _scope_begin & _scope_end, the computation of block state also
rely on the existing State tracking code (UnwindMap and InvokeStateMap).

For both C++ & C-code, the state of each block with potential trap instruction
is marked and reported in DAG Instruction Selection pass, the same place where
the state for -EHsc (synchronous exceptions) is done.
If the first instruction in a reported block scope can trap, a Nop is injected
before this instruction. This nop is needed to accommodate LLVM Windows EH
implementation, in which the address in IPToState table is offset by +1.
(note the purpose of that is to ensure the return address of a call is in the
same scope as the call address.

The handler for catch(...) for -EHa must handle HW exception. So it is
'adjective' flag is reset (it cannot be IsStdDotDot (0x40) that only catches
C++ exceptions).
Suppress push/popTerminate() scope (from noexcept/noTHrow) so that HW
exceptions can be passed through.

Original llvm-dev [RFC] discussions can be found in these two threads below:
https://lists.llvm.org/pipermail/llvm-dev/2020-March/140541.html
https://lists.llvm.org/pipermail/llvm-dev/2020-April/141338.html

Differential Revision: https://reviews.llvm.org/D80344/new/
The file was modifiedclang/lib/CodeGen/CGException.cpp
The file was modifiedclang/lib/CodeGen/CodeGenFunction.cpp
The file was modifiedclang/lib/CodeGen/CodeGenFunction.h
The file was addedclang/test/CodeGen/windows-seh-EHa-TryInFinally.cpp
The file was modifiedclang/lib/AST/TextNodeDumper.cpp
The file was addedclang/test/CodeGen/windows-seh-EHa-CppCondiTemps.cpp
The file was modifiedllvm/docs/LangRef.rst
The file was addedclang/test/CodeGen/windows-seh-EHa-CppDtors01.cpp
The file was modifiedclang/include/clang/AST/Stmt.h
The file was modifiedclang/lib/CodeGen/CGStmt.cpp
The file was addedclang/test/CodeGen/windows-seh-EHa-CppCatchDotDotDot.cpp
The file was modifiedclang/include/clang/Driver/Options.td
The file was modifiedclang/lib/Serialization/ASTWriterStmt.cpp
The file was modifiedclang/include/clang/Basic/LangOptions.def
The file was modifiedclang/lib/Serialization/ASTReaderStmt.cpp
The file was modifiedllvm/lib/IR/Verifier.cpp
The file was modifiedclang/lib/CodeGen/MicrosoftCXXABI.cpp
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
The file was modifiedllvm/include/llvm/IR/Intrinsics.td
The file was modifiedclang/lib/AST/JSONNodeDumper.cpp
The file was modifiedclang/lib/CodeGen/CGCleanup.cpp
The file was modifiedclang/lib/Sema/JumpDiagnostics.cpp
The file was modifiedclang/lib/CodeGen/CodeGenModule.cpp
The file was modifiedclang/lib/CodeGen/EHScopeStack.h
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
Commit d7503c3bce491e2672386906ec879c7df5ede7a5 by Pushpinder.Singh
[AMDGPU][Libomptarget] Rename & move g_executables to private

This patch moves g_executables to private member of Runtime class
and is renamed to HSAExecutables following LLVM naming convention.

This movement required making Runtime::Initialize and Runtime::Finalize
non-static. Verified the correctness of this change by running
libomptarget tests on gfx906.

Reviewed By: JonChesterfield

Differential Revision: https://reviews.llvm.org/D102600
The file was modifiedopenmp/libomptarget/plugins/amdgpu/impl/rt.h
The file was modifiedopenmp/libomptarget/plugins/amdgpu/src/rtl.cpp
The file was modifiedopenmp/libomptarget/plugins/amdgpu/impl/atmi.cpp
The file was modifiedopenmp/libomptarget/plugins/amdgpu/impl/system.cpp
Commit 00a1007545ba8ad2105876a41364b35235749e2a by dvyukov
sanitizer_common/symbolizer: fix crashes during exit

Override __cxa_atexit and ignore callbacks.
This prevents crashes in a configuration when the symbolizer
is built into sanitizer runtime and consequently into the test process.
LLVM libraries have some global objects destroyed during exit,
so if the test process triggers any bugs after that, the symbolizer crashes.
An example stack trace of such crash:

For the standalone llvm-symbolizer this does not hurt,
we just don't destroy few global objects on exit.

Reviewed By: kda

Differential Revision: https://reviews.llvm.org/D102470
The file was modifiedcompiler-rt/lib/sanitizer_common/symbolizer/sanitizer_symbolize.cpp
The file was addedcompiler-rt/test/tsan/atexit4.cpp
Commit 81fdc73e5dc74bfe7cda1e16f01f23836406d709 by sander.desmalen
[LV] Return both fixed and scalable Max VF from computeMaxVF.

This patch introduces a new class, MaxVFCandidates, that holds the
maximum vectorization factors that have been computed for both scalable
and fixed-width vectors.

This patch is intended to be NFC for fixed-width vectors, although
considering a scalable max VF (which is disabled by default) pessimises
tail-loop elimination, since it can no longer determine if any chosen VF
(less than fixed/scalable MaxVFs) is guaranteed to handle all vector
iterations if the trip-count is known. This issue will be addressed in
a future patch.

Reviewed By: fhahn, david-arm

Differential Revision: https://reviews.llvm.org/D98721
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
The file was addedllvm/test/Transforms/LoopVectorize/AArch64/eliminate-tail-predication.ll
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
Commit b3d38327b2bfcc92b5e34d0d2f2fa52a1ba063a0 by david.green
[RDA] Fix printing of regs / reg units. NFC

It was printing RegUnits as Regs, leading to much confusion in the debug
logs.
The file was modifiedllvm/lib/CodeGen/ReachingDefAnalysis.cpp
Commit 2e92f1a9bcd5550761be936ac9c0848e6d9fcb40 by Vitaly Buka
[NFC][scudo] Reduce test region size on MIPS32
The file was modifiedcompiler-rt/lib/scudo/standalone/tests/primary_test.cpp

Summary

  1. Remove -DFLANG_BUILD_NEW_DRIVER=ON from builders. NFCI (details)
  2. jenkins/tasks: virtualenv: Use the Python3 interpreter (details)
  3. [sanitizer] Remove disabled line (details)
  4. [sanitizer] Fix COMPILER_RT_DEBUG assignment (details)
  5. Added missing comma in clang-ppc64le-rhel builder configuration. (details)
  6. [sanitizer][NFC] Reuse cmake setup (details)
  7. [sanitizer] Fix asan builder name (details)
  8. [sanitizer] Remove unused GN reference (details)
  9. [sanitizer] Add dedicated QEMU builder (details)
  10. [scudo] Test on mips and ppc QEMU (details)
Commit 1062df17752fb11a207f9cd8dc7854fc73144f0e by diana.picus
Remove -DFLANG_BUILD_NEW_DRIVER=ON from builders. NFCI

FLANG_BUILD_NEW_DRIVER defaults to ON now, so there's no need to add it
anymore.

Differential Revision: https://reviews.llvm.org/D102320
The file was modifiedbuildbot/osuosl/master/config/builders.py
Commit 92122d159f7294fc3534d16354385cd42837ff4c by Azharuddin Mohammed
jenkins/tasks: virtualenv: Use the Python3 interpreter
The file was modifiedtasks/utils/venv.sh
Commit ac6a7e6e071c77bc081de358266075a938a11e39 by Vitaly Buka
[sanitizer] Remove disabled line
The file was modifiedzorg/buildbot/builders/sanitizers/buildbot_qemu.sh
Commit 76d050f0ff7e2517953936571ced397817a4a2e0 by Vitaly Buka
[sanitizer] Fix COMPILER_RT_DEBUG assignment
The file was modifiedzorg/buildbot/builders/sanitizers/buildbot_qemu.sh
Commit 8bbdd35de2d2a8513bbe4f62250ca1cf8f0a38fd by gkistanova
Added missing comma in clang-ppc64le-rhel builder configuration.
The file was modifiedbuildbot/osuosl/master/config/builders.py
Commit 1d14b1b88e1b3b85b286e855a61813991d8d8d3b by Vitaly Buka
[sanitizer][NFC] Reuse cmake setup
The file was modifiedzorg/buildbot/builders/sanitizers/buildbot_qemu.sh
Commit 91a7eff07ec1801011fc2e171ba2ec55108abc82 by Vitaly Buka
[sanitizer] Fix asan builder name
The file was modifiedbuildbot/osuosl/master/config/builders.py
The file was modifiedzorg/buildbot/builders/sanitizers/buildbot_selector.py
Commit 594bf9c4e3d7ddb82ad88b3f809f586c35417d05 by Vitaly Buka
[sanitizer] Remove unused GN reference
The file was modifiedzorg/buildbot/builders/sanitizers/buildbot_selector.py
Commit 8d4ef0058071a232fd2a03f78194a167c3815f87 by Vitaly Buka
[sanitizer] Add dedicated QEMU builder
The file was modifiedzorg/buildbot/builders/sanitizers/buildbot_selector.py
The file was modifiedbuildbot/osuosl/master/config/builders.py
Commit 01a0a609bffc75deec7dbcf2afa53bd1424b3abf by Vitaly Buka
[scudo] Test on mips and ppc QEMU
The file was modifiedzorg/buildbot/builders/sanitizers/buildbot_qemu.sh