SuccessChanges

Summary

  1. [AArch64] Regenerate dag-numsignbits.ll checks (details)
  2. [Scalar] ConstantHoistingPass - iterate with const references. NFCI. (details)
  3. [OPENMP]Fix PR47621: Variable used by task inside a template function is not made firstprivate by default (details)
  4. [SLP] Remove LHS and RHS from OperationData. (details)
  5. [APFloat] prevent NaN morphing into Inf on conversion (PR43907) (details)
  6. Revert "Recommit "[CUDA][HIP] Defer overloading resolution diagnostics for host device functions"" (details)
  7. Revert "Recommit [NFC] Refactor DiagnosticBuilder and PartialDiagnostic" (details)
  8. [llvm-exegesis] Add whitespace between words in error message (details)
  9. Revert "[OPENMP]Fix PR47621: Variable used by task inside a template function is not made firstprivate by default" (details)
  10. Basic: add an extra newline for sphinx (NFC) (details)
  11. [LLD][COFF] Avoid overwriting inputs in tests (details)
  12. [LLD][COFF] Cover usage of LLD-as-a-library in tests (details)
  13. [PR47636] Fix tryEmitPrivate to handle non-constantarraytypes (details)
  14. Add support for setting the path to llvm-symbolizer through an environment variable (details)
  15. GlobalISel: Use unmerge when copying wide vectors to result registers (details)
  16. [Modules] Add stats to measure performance of building and loading modules. (details)
  17. [mlir][shape] Start a pass that lowers shape constraints. (details)
  18. [NFC][regalloc] Remove unused API in AllocationOrder (details)
  19. [SLP] clean up - use 'const' and ArrayRef constructor; NFC (details)
  20. Revert "[Modules] Add stats to measure performance of building and loading modules." (details)
  21. AArch64/GlobalISel: Add testcase for bug 47619 (details)
Commit bdd6af3a58d55ba4518ecd3a13769f8c111a65e7 by llvm-dev
[AArch64] Regenerate dag-numsignbits.ll checks

To improve the codegen diff in D87502
The file was modifiedllvm/test/CodeGen/AArch64/dag-numsignbits.ll
Commit 81a408808f668c74ada3a1ed3d55f1feef334872 by llvm-dev
[Scalar] ConstantHoistingPass - iterate with const references. NFCI.

Fix some clang-tidy warnings.
The file was modifiedllvm/lib/Transforms/Scalar/ConstantHoisting.cpp
Commit d1419c9fdab141617b6aa9f028191b9bfc8be260 by a.bataev
[OPENMP]Fix PR47621: Variable used by task inside a template function is not made firstprivate by default

Need to fix a check for the variable if it is declared in the inner
OpenMP region to be able to firstprivatize it.

Differential Revision: https://reviews.llvm.org/D88240
The file was modifiedclang/test/OpenMP/task_codegen.cpp
The file was modifiedclang/test/OpenMP/nvptx_target_parallel_reduction_codegen_tbaa_PR46146.cpp
The file was modifiedclang/lib/Sema/SemaOpenMP.cpp
Commit 03f22b08e2a387a415dcbb3cf021e41e629c3d34 by craig.topper
[SLP] Remove LHS and RHS from OperationData.

These were only really used for 2 things. One was to check if the operand matches the phi if it exists. The other was for the createOp method to build the reduction.

For the first case we still have the operation we just need to know how to index its operands. So I've modified getLHS/getRHS to just use the opcode/kind to know how to find the right operands on an instruction that is now passed in.

For the other case we had to create an OperationData object to set the LHS/RHS values and copy the opcode/kind from another object. We would then just call createOp on that temporary object. Instead I've made LHS/RHS arguments to createOp and removed all these temporary objects.

Differential Revision: https://reviews.llvm.org/D88193
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Commit e34bd1e0b03d20a506ada156d87e1b3a96d82fa2 by spatel
[APFloat] prevent NaN morphing into Inf on conversion (PR43907)

We shift the significand right on a truncation, but that needs to be made NaN-safe:
always set at least 1 bit in the significand.
https://llvm.org/PR43907

See D88238 for the likely follow-up (but needs some plumbing fixes before it can proceed).

Differential Revision: https://reviews.llvm.org/D87835
The file was modifiedllvm/test/Transforms/InstSimplify/ConstProp/cast.ll
The file was modifiedllvm/unittests/ADT/APFloatTest.cpp
The file was modifiedllvm/lib/Support/APFloat.cpp
Commit 3453b6928da332bb67f902add71f5cd80f61c136 by rnk
Revert "Recommit "[CUDA][HIP] Defer overloading resolution diagnostics for host device functions""

This reverts commit e39da8ab6a286ac777d5fe7799f1eb782cf99938.

This depends on a change that needs additional design review and needs
to be reverted.
The file was modifiedclang/lib/Sema/SemaStmt.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticSema.h
The file was modifiedclang/include/clang/Sema/Sema.h
The file was modifiedclang/include/clang/Basic/DiagnosticAnalysis.h
The file was modifiedclang/include/clang/Basic/DiagnosticCrossTU.h
The file was modifiedclang/lib/Sema/SemaTemplateVariadic.cpp
The file was modifiedclang/utils/TableGen/ClangDiagnosticsEmitter.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticAST.h
The file was modifiedclang/test/TableGen/DiagnosticBase.inc
The file was modifiedclang/include/clang/Basic/DiagnosticIDs.h
The file was modifiedclang/include/clang/Basic/Diagnostic.td
The file was modifiedclang/lib/Driver/ToolChains/HIP.cpp
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticRefactoring.h
The file was modifiedclang/lib/Sema/AnalysisBasedWarnings.cpp
The file was modifiedclang/lib/Sema/SemaDecl.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticLex.h
The file was modifiedclang/include/clang/Basic/LangOptions.def
The file was modifiedclang/lib/Sema/SemaTemplateInstantiateDecl.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticDriver.h
The file was modifiedclang/tools/diagtool/DiagnosticNames.cpp
The file was modifiedclang/include/clang/Driver/Options.td
The file was modifiedclang/lib/Sema/SemaOverload.cpp
The file was modifiedclang/lib/Sema/SemaStmtAsm.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticComment.h
The file was modifiedclang/include/clang/Basic/DiagnosticParse.h
The file was modifiedclang-tools-extra/clangd/Diagnostics.cpp
The file was removedclang/test/SemaCUDA/deferred-oeverload.cu
The file was modifiedclang/lib/Sema/SemaType.cpp
The file was modifiedclang/lib/Sema/Sema.cpp
The file was modifiedclang/lib/Sema/SemaOpenMP.cpp
The file was modifiedclang/lib/Sema/SemaTemplateInstantiate.cpp
The file was removedclang/test/TableGen/deferred-diag.td
The file was modifiedclang/include/clang/Basic/DiagnosticFrontend.h
The file was modifiedclang/lib/Basic/DiagnosticIDs.cpp
The file was modifiedclang/lib/Driver/ToolChains/Cuda.cpp
The file was modifiedclang/lib/Sema/SemaExprObjC.cpp
The file was modifiedclang/lib/Sema/SemaSYCL.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/include/clang/Basic/DiagnosticSerialization.h
The file was modifiedclang/lib/Sema/SemaAttr.cpp
The file was modifiedclang/lib/Sema/SemaCUDA.cpp
Commit b62fd436a3e613cbfe0654305cbc0e4f142bfcf9 by rnk
Revert "Recommit [NFC] Refactor DiagnosticBuilder and PartialDiagnostic"

This reverts commit 8e780a1653e6f87755a447e921b8f929d8b70996.

DiagnosticBuilder is a value type, created on the stack everywhere. IMO
we should not be adding a vtable to it, and making very operator<< use a
virtual interface. There are other feasible designs for implementing
this. The original review, D84362, was approved by @tra, who is
responsible for Clang's CUDA support, but it wasn't reviewed by @rsmith
or anyone responsible for clang's diagnostic library.
The file was modifiedclang/include/clang/AST/TemplateBase.h
The file was modifiedclang/lib/AST/TemplateBase.cpp
The file was modifiedclang/include/clang/AST/CanonicalType.h
The file was modifiedclang/lib/AST/ASTContext.cpp
The file was modifiedclang/include/clang/Basic/Diagnostic.h
The file was modifiedclang/include/clang/AST/DeclCXX.h
The file was modifiedclang/include/clang/Sema/Sema.h
The file was modifiedclang/lib/Basic/Diagnostic.cpp
The file was modifiedclang/include/clang/Sema/Ownership.h
The file was modifiedclang/include/clang/AST/NestedNameSpecifier.h
The file was modifiedclang/include/clang/AST/ASTContext.h
The file was modifiedclang/include/clang/Sema/ParsedAttr.h
The file was modifiedclang/include/clang/AST/DeclarationName.h
The file was modifiedclang/lib/AST/DeclCXX.cpp
The file was modifiedclang/include/clang/AST/TemplateName.h
The file was modifiedclang/lib/AST/TemplateName.cpp
The file was modifiedclang/include/clang/Basic/PartialDiagnostic.h
The file was modifiedclang/include/clang/AST/Type.h
The file was modifiedclang/include/clang/AST/Attr.h
The file was modifiedclang/include/clang/AST/Decl.h
Commit 29ec5901c9c515e34ed4299ac500f268dca1f62e by Jinsong Ji
[llvm-exegesis] Add whitespace between words in error message
The file was modifiedllvm/tools/llvm-exegesis/llvm-exegesis.cpp
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/task_codegen.cpp
The file was modifiedclang/test/OpenMP/nvptx_target_parallel_reduction_codegen_tbaa_PR46146.cpp
The file was modifiedclang/lib/Sema/SemaOpenMP.cpp
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
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
The file was modifiedlld/test/COFF/guardcf-lto.ll
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/ELF/Driver.cpp
The file was modifiedlld/COFF/Writer.cpp
The file was modifiedlld/Common/ErrorHandler.cpp
The file was modifiedlld/include/lld/Common/ErrorHandler.h
The file was addedlld/test/COFF/lit.local.cfg
The file was modifiedlld/include/lld/Common/Driver.h
The file was modifiedlld/COFF/Writer.h
The file was modifiedlld/lib/Driver/DarwinLdDriver.cpp
The file was modifiedlld/MachO/Driver.cpp
The file was modifiedlld/tools/lld/lld.cpp
The file was modifiedlld/wasm/Driver.cpp
The file was modifiedlld/COFF/Driver.cpp
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
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
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-or.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-implicit-def.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fma.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fabs.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-usubsat.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fminnum.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fmaxnum.mir
The file was modifiedllvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-saddo.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-extract.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ushlsat.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-usubo.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-freeze.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-xor.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fdiv.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ashr.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-shl.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fneg.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-umulh.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-build-vector.s16.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fcos.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-umax.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fsin.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ssubsat.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-mul.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-bswap.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ffloor.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-uaddo.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-bitcast.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fmul.mir
The file was modifiedllvm/unittests/CodeGen/GlobalISel/LegalizerHelperTest.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-sext-inreg.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fcanonicalize.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-llvm.amdgcn.image.store.2d.d16.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-select.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-sub.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-add.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/artifact-combiner-zext.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-uaddsat.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-intrinsic-round.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-smax.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ssubo.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fsub.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-lshr.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-smin.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-and.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fadd.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fsqrt.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-saddsat.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-phi.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-umin.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-sshlsat.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-llvm.amdgcn.image.load.2d.d16.ll
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 modifiedclang/lib/Serialization/ASTReader.cpp
The file was modifiedllvm/lib/Support/Path.cpp
The file was modifiedllvm/lib/Support/Unix/Path.inc
The file was modifiedllvm/lib/Support/MemoryBuffer.cpp
The file was modifiedllvm/lib/Support/Windows/Path.inc
The file was modifiedclang/lib/Frontend/CompilerInstance.cpp
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/lib/Conversion/ShapeToStandard/CMakeLists.txt
The file was modifiedmlir/include/mlir/Conversion/ShapeToStandard/ShapeToStandard.h
The file was addedmlir/lib/Conversion/ShapeToStandard/ConvertShapeConstraints.cpp
The file was modifiedmlir/include/mlir/Conversion/Passes.td
The file was addedmlir/test/Conversion/ShapeToStandard/convert-shape-constraints.mlir
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
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
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 modifiedclang/lib/Frontend/CompilerInstance.cpp
The file was modifiedllvm/lib/Support/Path.cpp
The file was modifiedllvm/lib/Support/Unix/Path.inc
The file was modifiedclang/lib/Serialization/ASTReader.cpp
The file was modifiedllvm/lib/Support/Windows/Path.inc
The file was modifiedllvm/lib/Support/MemoryBuffer.cpp
Commit e55410f8b260a2868d600ca99fe5ee80f9cd4fc5 by Matthew.Arsenault
AArch64/GlobalISel: Add testcase for bug 47619

This is asserting on the 11 release branch, and wasn't covered by
exisiting tests at the time. This was fixed by
b98f902f1877c3d679f77645a267edc89ffcd5d6.
The file was addedllvm/test/CodeGen/AArch64/GlobalISel/irtranslator-stack-evt-bug47619.ll