SuccessChanges

Summary

  1. Revert "[OPENMP]Fix PR47621: Variable used by task inside a template function is not made firstprivate by default" (details)
  2. Basic: add an extra newline for sphinx (NFC) (details)
  3. [LLD][COFF] Avoid overwriting inputs in tests (details)
  4. [LLD][COFF] Cover usage of LLD-as-a-library in tests (details)
  5. [PR47636] Fix tryEmitPrivate to handle non-constantarraytypes (details)
  6. Add support for setting the path to llvm-symbolizer through an environment variable (details)
  7. GlobalISel: Use unmerge when copying wide vectors to result registers (details)
  8. [Modules] Add stats to measure performance of building and loading modules. (details)
  9. [mlir][shape] Start a pass that lowers shape constraints. (details)
  10. [NFC][regalloc] Remove unused API in AllocationOrder (details)
  11. [SLP] clean up - use 'const' and ArrayRef constructor; NFC (details)
  12. Revert "[Modules] Add stats to measure performance of building and loading modules." (details)
Commit cde7d90cc7c20d73d14225517cf11ffc6073018a by a.bataev
Revert "[OPENMP]Fix PR47621: Variable used by task inside a template function is not made firstprivate by default"

This reverts commit d1419c9fdab141617b6aa9f028191b9bfc8be260 to fix the
buffer overflow detected by address sanitiizer.
The file was modifiedclang/test/OpenMP/nvptx_target_parallel_reduction_codegen_tbaa_PR46146.cpp (diff)
The file was modifiedclang/test/OpenMP/task_codegen.cpp (diff)
The file was modifiedclang/lib/Sema/SemaOpenMP.cpp (diff)
Commit d34c8c70aae2a5421337c2ccac91130c70511f94 by Saleem Abdulrasool
Basic: add an extra newline for sphinx (NFC)

This should resolve the "Bullet list ends without a blank line" warning.
The file was modifiedclang/include/clang/Basic/AttrDocs.td (diff)
Commit 55624237be725a6feef84db7f46147335e68ebab by alexandre.ganea
[LLD][COFF] Avoid overwriting inputs in tests

Before this patch, these two tests were emitting both a .DLL and .LIB. The output .LIB file name also happens to be an input .LIB file name. This prevented the test from executing a second time when LLD is re-entrant (LLD_IN_TEST=2).

This is a support patch for https://reviews.llvm.org/D70378.
The file was modifiedlld/test/COFF/dll.test (diff)
The file was modifiedlld/test/COFF/guardcf-lto.ll (diff)
Commit f2efb5742cc9f74ad73987760651e3d23894a416 by alexandre.ganea
[LLD][COFF] Cover usage of LLD-as-a-library in tests

In lit tests, we run each LLD invocation twice (LLD_IN_TEST=2), without shutting down the process in-between. This ensures a full cleanup is properly done between runs.
Only active for the COFF driver for now. Other drivers still use LLD_IN_TEST=1 which executes just one iteration with full cleanup, like before.
When the environment variable LLD_IN_TEST is unset, a shortcut is taken, only one iteration is executed, no cleanup for faster exit, like before.
A public API, lld::safeLldMain(), is also available when using LLD as a library.

Differential Revision: https://reviews.llvm.org/D70378
The file was modifiedlld/COFF/Driver.cpp (diff)
The file was modifiedlld/MachO/Driver.cpp (diff)
The file was modifiedlld/Common/ErrorHandler.cpp (diff)
The file was modifiedlld/lib/Driver/DarwinLdDriver.cpp (diff)
The file was modifiedlld/ELF/Driver.cpp (diff)
The file was modifiedlld/include/lld/Common/ErrorHandler.h (diff)
The file was modifiedlld/tools/lld/lld.cpp (diff)
The file was modifiedlld/COFF/Writer.cpp (diff)
The file was modifiedlld/include/lld/Common/Driver.h (diff)
The file was modifiedlld/wasm/Driver.cpp (diff)
The file was modifiedlld/COFF/Writer.h (diff)
The file was addedlld/test/COFF/lit.local.cfg
Commit 606a734755d1fb6c35a17680d0c251f834b79334 by erich.keane
[PR47636] Fix tryEmitPrivate to handle non-constantarraytypes

As mentioned in the bug report, tryEmitPrivate chokes on the
MaterializeTemporaryExpr in the reproducers, since it assumes that if
there are elements, than it must be a ConstantArrayType. However, the
MaterializeTemporaryExpr (which matches exactly the AST when it is NOT a
global/static) has an incomplete array type.

This changes the section where the number-of-elements is non-zero to
properly handle non-CAT types by just extracting it as an array type
(since all we needed was the element type out of it).
The file was addedclang/test/CodeGenCXX/pr47636.cpp
The file was modifiedclang/lib/CodeGen/CGExprConstant.cpp (diff)
Commit 55bb1ba0fdd3c97d163f8115f818eafe11814623 by joker.eph
Add support for setting the path to llvm-symbolizer through an environment variable

This allows to point to an executable that isn't named exactly
"llvm-symbolizer" and not necessarily in the current PATH.

Reviewed By: MaskRay

Differential Revision: https://reviews.llvm.org/D88192
The file was modifiedllvm/lib/Support/Signals.cpp (diff)
Commit e75afc9acf9b6de511c0c90b8e8a06364de46e3e by Matthew.Arsenault
GlobalISel: Use unmerge when copying wide vectors to result registers

Avoid using G_EXTRACT and move towards a more consistent vector
legalization strategy.
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fminnum.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fcos.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-usubo.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-uaddo.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ashr.mir (diff)
The file was modifiedllvm/unittests/CodeGen/GlobalISel/LegalizerHelperTest.cpp (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-mul.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-smax.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-umax.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fsin.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-umin.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-build-vector.s16.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-extract.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fdiv.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ushlsat.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-usubsat.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fcanonicalize.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fsub.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ssubo.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-and.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-bitcast.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fadd.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fmul.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-saddo.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-implicit-def.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-llvm.amdgcn.image.store.2d.d16.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-llvm.amdgcn.image.load.2d.d16.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-add.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/artifact-combiner-zext.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-lshr.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fmaxnum.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-umulh.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fabs.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ffloor.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fma.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-shl.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-or.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-select.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-xor.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-bswap.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-intrinsic-round.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-sshlsat.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fneg.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-uaddsat.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ssubsat.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fsqrt.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-sext-inreg.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-freeze.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-smin.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-sub.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-phi.mir (diff)
The file was modifiedllvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-saddsat.mir (diff)
Commit c4bacc3c9b333bb7032fb96f41d6f5b851623132 by vsapsai
[Modules] Add stats to measure performance of building and loading modules.

Measure amount of high-level or fixed-cost operations performed during
building/loading modules and during header search. High-level operations
like building a module or processing a .pcm file are motivated by
previous issues where clang was re-building modules or re-reading .pcm
files unnecessarily. Fixed-cost operations like `stat` calls are tracked
because clang cannot change how long each operation takes but it can
perform fewer of such operations to improve the compile time.

Also tracking such stats over time can help us detect compile-time
regressions. Added stats are more stable than the actual measured
compilation time, so expect the detected regressions to be less noisy.

rdar://problem/55715134

Reviewed By: aprantl, bruno

Differential Revision: https://reviews.llvm.org/D86895
The file was modifiedllvm/lib/Support/Windows/Path.inc (diff)
The file was modifiedllvm/lib/Support/Path.cpp (diff)
The file was modifiedclang/lib/Frontend/CompilerInstance.cpp (diff)
The file was modifiedclang/lib/Serialization/ASTReader.cpp (diff)
The file was modifiedllvm/lib/Support/Unix/Path.inc (diff)
The file was modifiedllvm/lib/Support/MemoryBuffer.cpp (diff)
Commit 9ed1e5873c19eb817fb9e36d0262c7effee5d35e by silvasean
[mlir][shape] Start a pass that lowers shape constraints.

This pass converts shape.cstr_* ops to eager (side-effecting)
error-handling code. After that conversion is done, the witnesses are
trivially satisfied and are replaced with `shape.const_witness true`.

Differential Revision: https://reviews.llvm.org/D87941
The file was modifiedmlir/include/mlir/Conversion/Passes.td (diff)
The file was modifiedmlir/include/mlir/Conversion/ShapeToStandard/ShapeToStandard.h (diff)
The file was addedmlir/test/Conversion/ShapeToStandard/convert-shape-constraints.mlir
The file was modifiedmlir/lib/Conversion/ShapeToStandard/CMakeLists.txt (diff)
The file was addedmlir/lib/Conversion/ShapeToStandard/ConvertShapeConstraints.cpp
Commit 89aad892a596a0b54d1fcdb0b68cc5fa4d3e2932 by mtrofin
[NFC][regalloc] Remove unused API in AllocationOrder

Differential Revision: https://reviews.llvm.org/D88197
The file was modifiedllvm/lib/CodeGen/AllocationOrder.h (diff)
Commit 0a349d5827f6864ee89a5d0867d609339c07115d by spatel
[SLP] clean up - use 'const' and ArrayRef constructor; NFC

Follow-on tidying suggested in the post-commit review of 6a23668.
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp (diff)
Commit 9eba6b20a0579d3441e1b0f3cb3942f86d32679f by vsapsai
Revert "[Modules] Add stats to measure performance of building and loading modules."

This reverts commit c4bacc3c9b333bb7032fb96f41d6f5b851623132.

Test "LLVM :: ThinLTO/X86/funcimport-stats.ll" is failing. Reverting now
and will recommit after making the test not fail with the added stats.
The file was modifiedllvm/lib/Support/MemoryBuffer.cpp (diff)
The file was modifiedclang/lib/Frontend/CompilerInstance.cpp (diff)
The file was modifiedclang/lib/Serialization/ASTReader.cpp (diff)
The file was modifiedllvm/lib/Support/Path.cpp (diff)
The file was modifiedllvm/lib/Support/Windows/Path.inc (diff)
The file was modifiedllvm/lib/Support/Unix/Path.inc (diff)