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
|
 | clang/test/OpenMP/task_codegen.cpp |
 | clang/lib/Sema/SemaOpenMP.cpp |
 | clang/test/OpenMP/nvptx_target_parallel_reduction_codegen_tbaa_PR46146.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
|
 | llvm/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
|
 | llvm/test/Transforms/InstSimplify/ConstProp/cast.ll |
 | llvm/lib/Support/APFloat.cpp |
 | llvm/unittests/ADT/APFloatTest.cpp |
Commit
3453b6928da332bb67f902add71f5cd80f61c136
by rnkRevert "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.
|
 | clang/utils/TableGen/ClangDiagnosticsEmitter.cpp |
 | clang/lib/Sema/SemaTemplateInstantiate.cpp |
 | clang/include/clang/Basic/DiagnosticSemaKinds.td |
 | clang/include/clang/Basic/DiagnosticIDs.h |
 | clang/lib/Sema/SemaStmtAsm.cpp |
 | clang/test/TableGen/deferred-diag.td |
 | clang/lib/Sema/AnalysisBasedWarnings.cpp |
 | clang/lib/Driver/ToolChains/HIP.cpp |
 | clang/lib/Frontend/CompilerInvocation.cpp |
 | clang/test/SemaCUDA/deferred-oeverload.cu |
 | clang/include/clang/Basic/DiagnosticSema.h |
 | clang/lib/Sema/SemaDecl.cpp |
 | clang/lib/Sema/SemaType.cpp |
 | clang/tools/diagtool/DiagnosticNames.cpp |
 | clang/include/clang/Basic/DiagnosticDriver.h |
 | clang/include/clang/Basic/DiagnosticParse.h |
 | clang/lib/Basic/DiagnosticIDs.cpp |
 | clang/lib/Sema/SemaCUDA.cpp |
 | clang/include/clang/Basic/DiagnosticLex.h |
 | clang/include/clang/Driver/Options.td |
 | clang/lib/Sema/SemaStmt.cpp |
 | clang/include/clang/Basic/DiagnosticComment.h |
 | clang/lib/Sema/SemaExprObjC.cpp |
 | clang/include/clang/Basic/Diagnostic.td |
 | clang/lib/Sema/SemaOverload.cpp |
 | clang/lib/Sema/SemaTemplateInstantiateDecl.cpp |
 | clang/include/clang/Basic/DiagnosticAnalysis.h |
 | clang/lib/Sema/SemaOpenMP.cpp |
 | clang/lib/Sema/SemaTemplateVariadic.cpp |
 | clang/include/clang/Basic/DiagnosticSerialization.h |
 | clang/include/clang/Sema/Sema.h |
 | clang/include/clang/Basic/DiagnosticRefactoring.h |
 | clang/include/clang/Basic/DiagnosticCrossTU.h |
 | clang/include/clang/Basic/DiagnosticAST.h |
 | clang/include/clang/Basic/LangOptions.def |
 | clang-tools-extra/clangd/Diagnostics.cpp |
 | clang/lib/Driver/ToolChains/Cuda.cpp |
 | clang/lib/Sema/SemaSYCL.cpp |
 | clang/lib/Sema/SemaAttr.cpp |
 | clang/test/TableGen/DiagnosticBase.inc |
 | clang/include/clang/Basic/DiagnosticFrontend.h |
 | clang/lib/Sema/Sema.cpp |
Commit
b62fd436a3e613cbfe0654305cbc0e4f142bfcf9
by rnkRevert "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.
|
 | clang/include/clang/AST/CanonicalType.h |
 | clang/lib/Basic/Diagnostic.cpp |
 | clang/include/clang/Sema/Sema.h |
 | clang/include/clang/AST/Type.h |
 | clang/include/clang/Basic/Diagnostic.h |
 | clang/lib/AST/DeclCXX.cpp |
 | clang/include/clang/AST/ASTContext.h |
 | clang/include/clang/Sema/Ownership.h |
 | clang/include/clang/Basic/PartialDiagnostic.h |
 | clang/include/clang/AST/Decl.h |
 | clang/lib/AST/TemplateBase.cpp |
 | clang/include/clang/AST/DeclCXX.h |
 | clang/include/clang/AST/NestedNameSpecifier.h |
 | clang/include/clang/AST/TemplateBase.h |
 | clang/include/clang/AST/TemplateName.h |
 | clang/include/clang/Sema/ParsedAttr.h |
 | clang/include/clang/AST/DeclarationName.h |
 | clang/lib/AST/TemplateName.cpp |
 | clang/include/clang/AST/Attr.h |
 | clang/lib/AST/ASTContext.cpp |
Commit
29ec5901c9c515e34ed4299ac500f268dca1f62e
by Jinsong Ji[llvm-exegesis] Add whitespace between words in error message
|
 | llvm/tools/llvm-exegesis/llvm-exegesis.cpp |
Commit
cde7d90cc7c20d73d14225517cf11ffc6073018a
by a.bataevRevert "[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.
|
 | clang/test/OpenMP/nvptx_target_parallel_reduction_codegen_tbaa_PR46146.cpp |
 | clang/lib/Sema/SemaOpenMP.cpp |
 | clang/test/OpenMP/task_codegen.cpp |
Commit
d34c8c70aae2a5421337c2ccac91130c70511f94
by Saleem AbdulrasoolBasic: add an extra newline for sphinx (NFC)
This should resolve the "Bullet list ends without a blank line" warning.
|
 | clang/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.
|
 | lld/test/COFF/guardcf-lto.ll |
 | lld/test/COFF/dll.test |
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
|
 | lld/include/lld/Common/Driver.h |
 | lld/tools/lld/lld.cpp |
 | lld/test/COFF/lit.local.cfg |
 | lld/lib/Driver/DarwinLdDriver.cpp |
 | lld/COFF/Driver.cpp |
 | lld/COFF/Writer.h |
 | lld/wasm/Driver.cpp |
 | lld/ELF/Driver.cpp |
 | lld/Common/ErrorHandler.cpp |
 | lld/include/lld/Common/ErrorHandler.h |
 | lld/COFF/Writer.cpp |
 | lld/MachO/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).
|
 | clang/test/CodeGenCXX/pr47636.cpp |
 | clang/lib/CodeGen/CGExprConstant.cpp |
Commit
55bb1ba0fdd3c97d163f8115f818eafe11814623
by joker.ephAdd 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
|
 | llvm/lib/Support/Signals.cpp |
Commit
e75afc9acf9b6de511c0c90b8e8a06364de46e3e
by Matthew.ArsenaultGlobalISel: Use unmerge when copying wide vectors to result registers
Avoid using G_EXTRACT and move towards a more consistent vector legalization strategy.
|
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-bitcast.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-freeze.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-or.mir |
 | llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fmul.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fcanonicalize.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-sext-inreg.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-saddsat.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ssubo.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fmaxnum.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fminnum.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-phi.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/artifact-combiner-zext.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ashr.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fsin.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-mul.mir |
 | llvm/unittests/CodeGen/GlobalISel/LegalizerHelperTest.cpp |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fadd.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ssubsat.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-usubsat.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-llvm.amdgcn.image.store.2d.d16.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-smin.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-sub.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-uaddsat.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fsub.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-smax.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-intrinsic-round.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-implicit-def.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-usubo.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-and.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-shl.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fsqrt.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-xor.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-add.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fcos.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fma.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-llvm.amdgcn.image.load.2d.d16.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-extract.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-umin.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-lshr.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-build-vector.s16.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fdiv.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-select.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-bswap.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-umulh.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fneg.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-uaddo.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fabs.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-saddo.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-umax.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ushlsat.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ffloor.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-sshlsat.mir |
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
|
 | clang/lib/Serialization/ASTReader.cpp |
 | llvm/lib/Support/Path.cpp |
 | clang/lib/Frontend/CompilerInstance.cpp |
 | llvm/lib/Support/Unix/Path.inc |
 | llvm/lib/Support/Windows/Path.inc |
 | llvm/lib/Support/MemoryBuffer.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
|
 | mlir/test/Conversion/ShapeToStandard/convert-shape-constraints.mlir |
 | mlir/lib/Conversion/ShapeToStandard/CMakeLists.txt |
 | mlir/include/mlir/Conversion/ShapeToStandard/ShapeToStandard.h |
 | mlir/include/mlir/Conversion/Passes.td |
 | mlir/lib/Conversion/ShapeToStandard/ConvertShapeConstraints.cpp |
Commit
89aad892a596a0b54d1fcdb0b68cc5fa4d3e2932
by mtrofin[NFC][regalloc] Remove unused API in AllocationOrder
Differential Revision: https://reviews.llvm.org/D88197
|
 | llvm/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.
|
 | llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp |
Commit
9eba6b20a0579d3441e1b0f3cb3942f86d32679f
by vsapsaiRevert "[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.
|
 | llvm/lib/Support/Path.cpp |
 | clang/lib/Serialization/ASTReader.cpp |
 | llvm/lib/Support/Unix/Path.inc |
 | llvm/lib/Support/MemoryBuffer.cpp |
 | llvm/lib/Support/Windows/Path.inc |
 | clang/lib/Frontend/CompilerInstance.cpp |
Commit
e55410f8b260a2868d600ca99fe5ee80f9cd4fc5
by Matthew.ArsenaultAArch64/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.
|
 | llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-stack-evt-bug47619.ll |
Commit
f02c4c87b46c8203d7368cadc62607707d6f66b8
by andrew.litteken[IRSim] Adding wrapper pass for IRSimilarityIdentfier
This introduces an analysis pass that wraps IRSimilarityIdentifier, and adds a printer pass to examine in what function similarities are being found.
Test for what the printer pass can find are in test/Analysis/IRSimilarityIdentifier.
Reviewed by: paquette, jroelofs
Differential Revision: https://reviews.llvm.org/D86973
|
 | llvm/include/llvm/InitializePasses.h |
 | llvm/lib/Analysis/IRSimilarityIdentifier.cpp |
 | llvm/test/Analysis/IRSimilarityIdentifier/basic.ll |
 | llvm/include/llvm/Analysis/IRSimilarityIdentifier.h |
 | llvm/lib/Analysis/Analysis.cpp |
 | llvm/test/Analysis/IRSimilarityIdentifier/nothing.ll |
 | llvm/lib/Passes/PassBuilder.cpp |
 | llvm/lib/Passes/PassRegistry.def |
 | llvm/test/Analysis/IRSimilarityIdentifier/different.ll |
Commit
f8a92adfa242a94052f583ef7b483ae1b493ebdc
by erich.keaneRemove dead branch identified by @rsmith on post-commit for D88236
|
 | clang/lib/CodeGen/CGExprConstant.cpp |
Commit
b9a2837f1617ea94ae4b4be66d984ea9c7e7252c
by andrzej.warzynski[flang][driver] Add missing dependency (shared library builds, NFC)
`flang-new` depends on libclangFrontend (it uses DiagnosticConsumer classes from there). This patch adds the missing dependency in CMake.
clang::TextDiagnosticBuffer is only reported as missing when compiling `flang-new` with BUILD_SHARED_LIBS=ON. This symbol is linked in statically with libflangFrontend when BUILD_SHARED_LIBS=OFF.
|
 | flang/tools/flang-driver/CMakeLists.txt |
Commit
579c42225ac373688dbdbe3a1ce62986a6bf638a
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.
Reviewed By: jdoerfert
Differential Revision: https://reviews.llvm.org/D88240
|
 | clang/test/OpenMP/nvptx_target_parallel_reduction_codegen_tbaa_PR46146.cpp |
 | clang/lib/Sema/SemaOpenMP.cpp |
 | clang/test/OpenMP/task_codegen.cpp |