Commit
ffd159d8e919435561a8c9eac0dcdd83aacdcf6a
by tianshilei1992[OpenMP] cmake option LIBOMPTARGET_NVPTX_MAX_SM for nvptx device RTL
It allows customizing MAX_SM for non-flagship GPU and reduces graphic memory usage.
In addition, so far the size is hard-coded up to __CUDA_ARCH__ 700 and is already a hassle for 800. Introduce MAX_SM for 800 and protect future arch
Reviewed By: JonChesterfield
Differential Revision: https://reviews.llvm.org/D88185
|
 | openmp/libomptarget/deviceRTLs/nvptx/CMakeLists.txt |
 | openmp/libomptarget/deviceRTLs/nvptx/src/target_impl.h |
Commit
08d145e6d7a9b3085d433d05abac5c8a4392e09a
by andrew.litteken[IRSim][NFC] Removing dead variables from IRSimilarityIdentifier.cpp
As informed by danielkiss.
Follow up to Differential Revision: https://reviews.llvm.org/D86972
|
 | llvm/lib/Analysis/IRSimilarityIdentifier.cpp |
Commit
bd44558001e978d93fbff5a4537f38b46b0e355a
by momchil.velikov[AArch64][GlobalISel] Implement __builtin_return_address for PAC-RET
This patch implements stripping of the PAC in the return address for GlobalISel.
Implementation for when not using GLobalISel is in https://reviews.llvm.org/D75044 The analogous GCC patch is https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=a70d5d81c41048556fd86eaa1036018a6bfba115
Differential Revision: https://reviews.llvm.org/D84502
|
 | llvm/test/CodeGen/AArch64/GlobalISel/select-returnaddress-liveins.mir |
 | llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp |
 | llvm/test/CodeGen/AArch64/GlobalISel/builtin-return-address-pacret.ll |
 | llvm/test/CodeGen/AArch64/GlobalISel/select-returnaddr.ll |
Commit
a9fca98ee4f653278d84713caecd152fef8494f5
by a.bataev[OPENMP]PR47606: Do not update the lastprivate item if it was captured by reference as firstprivate data member.
No need to make final copy from the firsptrivate/lastprivate copy to the original item if the item is a data memeber. Firstprivate copy creates a copy by reference and the original item gets updated correctly when updating the lastprivate shared variable.
Differential Revision: https://reviews.llvm.org/D88179
|
 | clang/test/OpenMP/for_lastprivate_codegen.cpp |
 | clang/lib/Sema/SemaOpenMP.cpp |
Commit
27a62f6317f3faa845d1cb67ec3f0ed357ee07e8
by Stanislav.Mekhanoshin[AMDGPU] global-isel support for RT
Differential Revision: https://reviews.llvm.org/D87847
|
 | llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.intersect_ray.ll |
 | llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp |
 | llvm/lib/Target/AMDGPU/SIInstructions.td |
 | llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp |
 | llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h |
 | llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.h |
Commit
bdd6af3a58d55ba4518ecd3a13769f8c111a65e7
by llvm-dev[AArch64] Regenerate dag-numsignbits.ll checks
To improve the codegen diff in D87502
|
 | llvm/test/CodeGen/AArch64/dag-numsignbits.ll |
Commit
81a408808f668c74ada3a1ed3d55f1feef334872
by llvm-dev[Scalar] ConstantHoistingPass - iterate with const references. NFCI.
Fix some clang-tidy warnings.
|
 | llvm/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
|
 | clang/test/OpenMP/nvptx_target_parallel_reduction_codegen_tbaa_PR46146.cpp |
 | clang/test/OpenMP/task_codegen.cpp |
 | clang/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
|
 | 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/lib/Sema/SemaSYCL.cpp |
 | clang/lib/Sema/SemaTemplateVariadic.cpp |
 | clang/lib/Sema/AnalysisBasedWarnings.cpp |
 | clang/include/clang/Basic/DiagnosticParse.h |
 | clang/utils/TableGen/ClangDiagnosticsEmitter.cpp |
 | clang/lib/Driver/ToolChains/Cuda.cpp |
 | clang/lib/Sema/SemaType.cpp |
 | clang/include/clang/Sema/Sema.h |
 | clang/lib/Sema/SemaStmt.cpp |
 | clang-tools-extra/clangd/Diagnostics.cpp |
 | clang/include/clang/Basic/DiagnosticCrossTU.h |
 | clang/include/clang/Basic/DiagnosticFrontend.h |
 | clang/lib/Sema/SemaOverload.cpp |
 | clang/lib/Sema/SemaTemplateInstantiate.cpp |
 | clang/lib/Frontend/CompilerInvocation.cpp |
 | clang/test/SemaCUDA/deferred-oeverload.cu |
 | clang/test/TableGen/deferred-diag.td |
 | clang/include/clang/Basic/DiagnosticLex.h |
 | clang/lib/Sema/SemaOpenMP.cpp |
 | clang/lib/Sema/SemaStmtAsm.cpp |
 | clang/include/clang/Basic/DiagnosticSemaKinds.td |
 | clang/lib/Basic/DiagnosticIDs.cpp |
 | clang/include/clang/Basic/DiagnosticRefactoring.h |
 | clang/include/clang/Basic/Diagnostic.td |
 | clang/include/clang/Basic/DiagnosticSema.h |
 | clang/lib/Sema/SemaDecl.cpp |
 | clang/include/clang/Basic/DiagnosticDriver.h |
 | clang/include/clang/Basic/DiagnosticSerialization.h |
 | clang/lib/Sema/Sema.cpp |
 | clang/lib/Sema/SemaAttr.cpp |
 | clang/include/clang/Driver/Options.td |
 | clang/lib/Sema/SemaCUDA.cpp |
 | clang/include/clang/Basic/DiagnosticComment.h |
 | clang/lib/Driver/ToolChains/HIP.cpp |
 | clang/test/TableGen/DiagnosticBase.inc |
 | clang/lib/Sema/SemaExprObjC.cpp |
 | clang/lib/Sema/SemaTemplateInstantiateDecl.cpp |
 | clang/tools/diagtool/DiagnosticNames.cpp |
 | clang/include/clang/Basic/DiagnosticAST.h |
 | clang/include/clang/Basic/LangOptions.def |
 | clang/include/clang/Basic/DiagnosticAnalysis.h |
 | clang/include/clang/Basic/DiagnosticIDs.h |
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/Basic/PartialDiagnostic.h |
 | clang/include/clang/AST/Attr.h |
 | clang/include/clang/Basic/Diagnostic.h |
 | clang/include/clang/AST/CanonicalType.h |
 | clang/include/clang/AST/DeclCXX.h |
 | clang/include/clang/AST/TemplateBase.h |
 | clang/lib/AST/ASTContext.cpp |
 | clang/include/clang/Sema/ParsedAttr.h |
 | clang/include/clang/AST/NestedNameSpecifier.h |
 | clang/lib/AST/TemplateBase.cpp |
 | clang/include/clang/AST/Decl.h |
 | clang/include/clang/AST/TemplateName.h |
 | clang/include/clang/AST/ASTContext.h |
 | clang/include/clang/AST/Type.h |
 | clang/include/clang/Sema/Ownership.h |
 | clang/lib/AST/DeclCXX.cpp |
 | clang/lib/AST/TemplateName.cpp |
 | clang/include/clang/AST/DeclarationName.h |
 | clang/include/clang/Sema/Sema.h |
 | clang/lib/Basic/Diagnostic.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/test/OpenMP/task_codegen.cpp |
 | clang/lib/Sema/SemaOpenMP.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/dll.test |
 | lld/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
|
 | lld/MachO/Driver.cpp |
 | lld/Common/ErrorHandler.cpp |
 | lld/COFF/Writer.cpp |
 | lld/include/lld/Common/ErrorHandler.h |
 | lld/wasm/Driver.cpp |
 | lld/ELF/Driver.cpp |
 | lld/include/lld/Common/Driver.h |
 | lld/COFF/Driver.cpp |
 | lld/tools/lld/lld.cpp |
 | lld/lib/Driver/DarwinLdDriver.cpp |
 | lld/COFF/Writer.h |
 | lld/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).
|
 | 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-intrinsic-round.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ushlsat.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ashr.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-extract.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-mul.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-saddo.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-llvm.amdgcn.image.store.2d.d16.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-uaddsat.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-umulh.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-phi.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-select.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-bswap.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-build-vector.s16.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-llvm.amdgcn.image.load.2d.d16.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fsub.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-sshlsat.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fmaxnum.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ssubo.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-smin.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-implicit-def.mir |
 | llvm/unittests/CodeGen/GlobalISel/LegalizerHelperTest.cpp |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fdiv.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fsin.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-uaddo.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-lshr.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-or.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fminnum.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-xor.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-add.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-sub.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-and.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fcanonicalize.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ffloor.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-umin.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-smax.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ssubsat.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fneg.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-sext-inreg.mir |
 | llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fabs.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/artifact-combiner-zext.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-usubo.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-usubsat.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-umax.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fcos.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fsqrt.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fadd.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-freeze.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-bitcast.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-shl.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-saddsat.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fmul.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fma.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/Frontend/CompilerInstance.cpp |
 | llvm/lib/Support/Unix/Path.inc |
 | clang/lib/Serialization/ASTReader.cpp |
 | llvm/lib/Support/Windows/Path.inc |
 | llvm/lib/Support/MemoryBuffer.cpp |
 | llvm/lib/Support/Path.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/include/mlir/Conversion/ShapeToStandard/ShapeToStandard.h |
 | mlir/include/mlir/Conversion/Passes.td |
 | mlir/lib/Conversion/ShapeToStandard/ConvertShapeConstraints.cpp |
 | mlir/lib/Conversion/ShapeToStandard/CMakeLists.txt |
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/Frontend/CompilerInstance.cpp |
 | clang/lib/Serialization/ASTReader.cpp |
 | llvm/lib/Support/Unix/Path.inc |
 | llvm/lib/Support/Windows/Path.inc |
 | llvm/lib/Support/MemoryBuffer.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/lib/Passes/PassRegistry.def |
 | llvm/test/Analysis/IRSimilarityIdentifier/nothing.ll |
 | llvm/lib/Analysis/Analysis.cpp |
 | llvm/lib/Analysis/IRSimilarityIdentifier.cpp |
 | llvm/test/Analysis/IRSimilarityIdentifier/different.ll |
 | llvm/include/llvm/InitializePasses.h |
 | llvm/include/llvm/Analysis/IRSimilarityIdentifier.h |
 | llvm/lib/Passes/PassBuilder.cpp |
 | llvm/test/Analysis/IRSimilarityIdentifier/basic.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 |
Commit
4b8cb665a13b1eef4df3e09080098b5f8f520016
by daltenty[CMake][AIX] Set LLVM_ENABLE_PER_TARGET_RUNTIME_DIR appropriately for AIX
AIX by default usually folds 32-bit & 64-bit arch libraries into a single archive, a behaviour we may want for the runtime libraries in the future, so we don't necessarily want to opt into the multlib layout introduce in D45604, which is currently the default for runtime builds.
Reviewed By: hubert.reinterpretcast
Differential Revision: https://reviews.llvm.org/D88169
|
 | llvm/runtimes/CMakeLists.txt |
Commit
1ad94624f8a092fbfcb74685e11243c186b04c8f
by sam.mccall[AST] Use data-recursion when building ParentMap, avoid stack overflow.
The following crashes on my system before this patch, but not after:
void foo(int i) { switch (i) { case 1: case 2: ... 100000 cases ... ; } }
clang-query -c="match stmt(hasAncestor(stmt()))" deep.c
I'm not sure it's actually a sane testcase to run though, it's pretty slow :-)
Differential Revision: https://reviews.llvm.org/D88222
|
 | clang/lib/AST/ParentMapContext.cpp |
Commit
34ca5b3392ced08e2320fb4236cca5c7df4ec6e9
by isanbardRemove stale assert.
This is triggered during serialization. The test is for modules, but will occur for any serialization effort using asm goto.
Reviewed By: nickdesaulniers, jyknight
Differential Revision: https://reviews.llvm.org/D88195
|
 | clang/test/Modules/Inputs/asm-goto/module.modulemap |
 | clang/test/Modules/Inputs/asm-goto/a.h |
 | clang/test/Modules/asm-goto.c |
 | clang/lib/AST/Stmt.cpp |
Commit
0a925a813a5003049bf12330111d61cb823b8814
by diego.caballero[mlir][NFC] Promote memory space to BaseMemRefType
This patch moves the memory space field from MemRefType and UnrankedMemRefType to their base class BaseMemRefType so that it can be retrieved from it without downcasting it to the specific memref.
Reviewed By: silvas
Differential Revision: https://reviews.llvm.org/D87649
|
 | mlir/lib/IR/TypeDetail.h |
 | mlir/include/mlir/IR/StandardTypes.h |
 | mlir/lib/IR/StandardTypes.cpp |
Commit
2a96f47c5ffca84cd774ad402cacd137f4bf45e2
by daniel.kiss[AArch64] __builtin_return_address for PAuth.
This change adds the support for __builtin_return_address for ARMv8.3A Pointer Authentication. Location of the authentication code in the pointer depends on the system configuration, therefore a dedicated instruction is used for effectively removing the authentication code without authenticating the pointer.
Reviewed By: chill
Differential Revision: https://reviews.llvm.org/D75044
|
 | llvm/lib/Target/AArch64/AArch64ISelLowering.cpp |
 | llvm/test/CodeGen/AArch64/aarch64-signedreturnaddress.ll |
 | llvm/test/CodeGen/AArch64/returnaddr.ll |
 | llvm/include/llvm/CodeGen/ISDOpcodes.h |
 | llvm/test/CodeGen/AArch64/arm64_32.ll |
 | llvm/test/CodeGen/AArch64/arm64-returnaddr.ll |
Commit
30514f0afa3ee1e6da6bf9c41e83c28e884f0740
by tra[CUDA] Added conversion functions to builtin vars.
This is needed to compile some headers in CUDA-11 that assume that threadIdx is implicitly convertible to dim3. With NVCC, threadIdx is uint3 and there's dim3(uint3) constructor. Clang uses a special type for the builtin variables, so that path does not work. Instead, this patch adds conversion function to the builtin variable classes. that will allow them to be converted to dim3 and uint3.
Differential Revision: https://reviews.llvm.org/D88250
|
 | clang/lib/Headers/__clang_cuda_runtime_wrapper.h |
 | clang/lib/Headers/__clang_cuda_builtin_vars.h |
Commit
7f4c940bd0b526f25e11c51bb4d58a85024330ae
by isanbard[CodeGen] Postprocess PHI nodes for callbr
When processing PHI nodes after a callbr, we need to make sure that the PHI nodes on the default branch are resolved after the callbr (inserted after INLINEASM_BR). The PHI node values on the indirect branches are processed before the INLINEASM_BR.
Differential Revision: https://reviews.llvm.org/D86260
|
 | llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h |
 | llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp |
 | llvm/test/CodeGen/X86/callbr-asm-phi-nodes.ll |
Commit
f97b68ef4ddd28a685e502653768c2a34c314cba
by isanbardFix testcase.
|
 | clang/test/Modules/asm-goto.c |
Commit
0c0c57f7b21bee1cda0fce83d9919a57764bd74e
by isanbardRevert "[CodeGen] Postprocess PHI nodes for callbr"
Accidental commit.
This reverts commit 7f4c940bd0b526f25e11c51bb4d58a85024330ae.
|
 | llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h |
 | llvm/test/CodeGen/X86/callbr-asm-phi-nodes.ll |
 | llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp |
Commit
31177949cb1d88d7dd32078d09a265b828d40826
by lebedev.ri[NFCI][IR] ConstantRangeTest: refactor operation range gatherers
We do the same dance to acquire the "exact" range of an op via an exhaustive approach in many places. Let's not invent the wheel each time.
|
 | llvm/unittests/IR/ConstantRangeTest.cpp |
Commit
9bcf7b1c7a139a455400df109d81c638b9e75150
by lebedev.ri[NFCI][IR] ConstantRangeTest: add basic scaffolding for next-gen precision/correctness testing
I have long complained that while we have exhaustive tests for ConstantRange, they are, uh, not good.
The approach of groking our own constant range via exhaustive enumeration is, mysterious.
It neither tells us without doubt that the result is conservatively correct, nor the precise match to the ConstantRange result tells us that the result is precise. But yeah, it's fast, i give it that.
In short, there are three things that we need to check: 1. That ConstantRange result is conservatively correct 2. That ConstantRange range is reasonable 3. That ConstantRange result is reasonably precise
So let's not just check the middle one, but all three.
This provides precision test coverage for D88178.
|
 | llvm/unittests/IR/ConstantRangeTest.cpp |
Commit
506b6170cb513f1cb6e93a3b690c758f9ded18ac
by zequanwuReland [CodeGen] emit CG profile for COFF object file
This reverts commit 90242caca2074dab5a9b76e5bc36d9fafd2179a7.
Error fixed at f5435399e823746bbe1737b95c853d77a42e1ac3
Differential Revision: https://reviews.llvm.org/D87811
|
 | llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp |
 | llvm/test/MC/COFF/cgprofile.ll |
 | llvm/include/llvm/Target/TargetLoweringObjectFile.h |
 | llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h |
 | llvm/lib/Target/TargetLoweringObjectFile.cpp |
Commit
e39286510deb59730c40fa662a44e73f484ea1c2
by tmsriramTemporary fix for D85085 debug_loc bug with basic block sections.
Until then, this one line fix removes the assert fail with basic block sections with debug info. Bug tracking this: #47549 This fix does not generate loc list or DW_AT_const_value if the argument is mentioned in a different section than the start of the function.
Temporarily fixes bugzilla : https://bugs.llvm.org/show_bug.cgi?id=47549
Differential Revision: https://reviews.llvm.org/D87787
|
 | llvm/test/DebugInfo/X86/basic-block-sections-debug-loc.ll |
 | llvm/lib/CodeGen/AsmPrinter/DebugHandlerBase.cpp |
Commit
c8df781e54a43593eafd993a5a5cd647866955f8
by akhuang[DebugInfo] Fix bug in constructor homing with classes with trivial constructors.
This changes the code to avoid using constructor homing for aggregate classes and classes with trivial default constructors, instead of trying to loop through the constructors.
Differential Revision: https://reviews.llvm.org/D87808
|
 | clang/lib/CodeGen/CGDebugInfo.cpp |
 | clang/test/CodeGenCXX/debug-info-limited-ctor.cpp |
Commit
a079f619b5a1959af8af37cabdea27ae542903db
by shafik[LLDB] Add a defensive check for member__f_
I only have a crash log and was not able to come up with a test case for this.
rdar://problem/69403150
|
 | lldb/source/Plugins/LanguageRuntime/CPlusPlus/CPPLanguageRuntime.cpp |
Commit
1c5a3c4d382353e582ecf4913e338599028e267f
by tlively[WebAssembly] Make SjLj lowering globals thread-local
Emscripten's longjump and exception mechanism depends on two global variables, `__THREW__` and `__threwValue`, which are changed to be defined as thread-local in https://github.com/emscripten-core/emscripten/pull/12056. This patch updates the corresponding code in the WebAssembly backend to properly declare these globals as thread-local as well.
Differential Revision: https://reviews.llvm.org/D88262
|
 | llvm/test/CodeGen/WebAssembly/lower-em-sjlj.ll |
 | llvm/test/CodeGen/WebAssembly/lower-em-exceptions.ll |
 | llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp |
 | llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp |
Commit
dfc5a9eb57aaaac972764bf731503419284bd3dc
by Vedant Kumar[Instruction] Add dropLocation and updateLocationAfterHoist helpers
Introduce a helper which can be used to update the debug location of an Instruction after the instruction is hoisted. This can be used to safely drop a source location as recommended by the docs.
For more context, see the discussion in https://reviews.llvm.org/D60913.
Differential Revision: https://reviews.llvm.org/D85670
|
 | llvm/test/Transforms/GVN/PRE/phi-translate.ll |
 | llvm/include/llvm/IR/Instruction.h |
 | llvm/test/Transforms/LICM/hoisting-preheader-debugloc.ll |
 | llvm/lib/Transforms/Scalar/LICM.cpp |
 | llvm/test/DebugInfo/Generic/licm-hoist-debug-loc.ll |
 | llvm/unittests/IR/InstructionsTest.cpp |
 | llvm/lib/IR/DebugInfo.cpp |
 | llvm/lib/Transforms/Scalar/GVN.cpp |
Commit
c32e69b2ce7abfb151a87ba363ac9e25abf7d417
by jezng[lld-macho][re-land] Initial support for common symbols
Fix earlier build break via a static_cast.
This reverts commit 8112d494d344dc0935d5c078f066a43d7c984e0c.
Differential Revision: https://reviews.llvm.org/D86909
|
 | lld/test/MachO/common-symbol-coalescing.s |
 | lld/MachO/Symbols.h |
 | lld/MachO/SyntheticSections.h |
 | lld/MachO/Driver.cpp |
 | lld/MachO/SymbolTable.h |
 | lld/MachO/InputFiles.cpp |
 | lld/MachO/SymbolTable.cpp |
Commit
5213576fa25e6deb7c649032b2893726de2f8b6c
by jezng[lld-macho][re-land] Implement and test resolution of common symbols
Earlier build break fixed in c32e69b2ce7abfb151a87ba363ac9e25abf7d417.
This reverts commit c367f93e8539c4d0bcdc86ad7ea7923e06231a93.
|
 | lld/MachO/SymbolTable.cpp |
 | lld/test/MachO/common-symbol-resolution.s |
 | lld/test/MachO/nonweak-definition-override.s |
Commit
070555c6c008c57c408c1e99025b12c5d71c9848
by snehasishk[lld] Make -z keep-text-section-prefix recognize .text.split. as a prefix.
".text.split." holds symbols which are split out from functions in other input sections. For example, with -fsplit-machine-functions, placing the cold parts in .text.split instead of .text.unlikely mitigates against poor profile inaccuracy. Techniques such as hugepage remapping can make conservative decisions at the section granularity.
Differential Revision: https://reviews.llvm.org/D87840
|
 | lld/ELF/Writer.cpp |
 | lld/test/ELF/text-section-prefix.s |
Commit
c9b53b3bf20d20d5752876be32a9e5887c702e53
by isanbardFix regex in test.
|
 | clang/test/Modules/asm-goto.c |
Commit
a22814194e8ea8d581a26992bb27f808e53bbbde
by jhuber6[OpenMP] OpenMPOpt Support for Globalization Remarks
Summary: This patch add support for printing analysis messages relating to data globalization on the GPU. This occurs when data is shared between the threads in a GPU context and must be pushed to global or shared memory.
Reviewers: jdoerfert
Subscribers: guansong hiraditya llvm-commits ormris sstefan1 yaxunl
Tags: #OpenMP #LLVM
Differential Revision: https://reviews.llvm.org/D88243
|
 | llvm/test/Transforms/OpenMP/globalization_remarks.ll |
 | llvm/include/llvm/Frontend/OpenMP/OMPKinds.def |
 | llvm/lib/Transforms/IPO/OpenMPOpt.cpp |
Commit
d2696dec45cdcff791cd53b8b8288d33a0d8dddb
by snehasishk[llvm] Add -bbsections-cold-text-prefix to emit cold clusters to a different section.
This change adds an option to basic block sections to allow cold clusters to be assigned a custom text prefix. With a custom prefix such as ".text.split." (D87840), lld can place them in a separate output section. The benefits are -
* Empirically shown to improve icache and itlb metrics by 3-5% (absolute) compared to placing split parts in .text.unlikely. * Mitigates against poor profiles, eg samplePGO profiles used with the machine function splitter. Optimizations such as hugepage remapping can make different decisions at the section granularity. * Enables section granularity hotness monitoring (checking on the decisions made during compilation vs sample data from production).
Differential Revision: https://reviews.llvm.org/D87813
|
 | llvm/test/CodeGen/X86/basic-block-sections-cold.ll |
 | llvm/lib/CodeGen/BasicBlockSections.cpp |
 | llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp |
 | llvm/include/llvm/CodeGen/BasicBlockSectionUtils.h |
Commit
1e66e723eb66c19080f259ca7b4c165bfc1f8d08
by ebahapo[RISCV] Merge the pipeline models for Rocket
Merge the 32 and 64 bit pipeline models for Rocket into a single file.
Differential Revision: https://reviews.llvm.org/D87873
|
 | llvm/lib/Target/RISCV/RISCV.td |
 | llvm/lib/Target/RISCV/RISCVSchedRocket64.td |
 | llvm/lib/Target/RISCV/RISCVSchedRocket32.td |
 | llvm/lib/Target/RISCV/RISCVSchedRocket.td |
Commit
43804364e2bc2bd586740dbb0b7aae2137c130cc
by Stanislav.Mekhanoshin[AMDGPU] Fixes typo in the test. NFC.
denormal-fp-math-fp32 -> denormal-fp-math-f32
|
 | llvm/test/CodeGen/AMDGPU/global-atomics-fp.ll |
Commit
b8a50e920704436ddcbe0cc9d2020935d7e37095
by rnk[MS] Simplify rules for passing C++ records
Regardless of the target architecture, we should always use the C rules (RAA_Default) for records that "canBePassedInRegisters". Those are trivially copyable things, and things marked with [[trivial_abi]].
This should be NFC, although it changes where the final decision about x86_32 overaligned records is made. The current x86_32 C rules say that overaligned things are passed indirectly, so there is no functional difference.
|
 | clang/test/CodeGenCXX/inalloca-overaligned.cpp |
 | clang/lib/CodeGen/MicrosoftCXXABI.cpp |
Commit
ecfc9b971269a86b101cddf1fd9f0976be4096d0
by rnk[MS] For unknown ISAs, pass non-trivially copyable arguments indirectly
Passing them directly is likely to be non-conforming, since it usually involves copying the bytes of the record. For unknown architectures, we don't know what MSVC does or will do, but we should at least try to conform as well as we can.
|
 | clang/lib/CodeGen/MicrosoftCXXABI.cpp |
 | clang/test/CodeGenCXX/microsoft-abi-unknown-arch.cpp |
Commit
bddebca61ea73d45d5eafc38aaf9fe7605f5a9b3
by walter erquinigo[intel-pt] Refactor the JSON parsing
Recently https://reviews.llvm.org/D88103 introduced a nice API for converting a JSON object into C++ types, which include nice error messaging.
I'm using that new functioniality to perform the parsing in a much more elegant way. As a result, the code looks simpler and more maintainable, as we aren't parsing anymore individual fields manually.
I updated the test cases accordingly.
Differential Revision: https://reviews.llvm.org/D88264
|
 | lldb/test/API/commands/trace/TestTraceLoad.py |
 | lldb/test/API/commands/trace/intelpt-trace/trace_bad4.json |
 | lldb/include/lldb/Target/Trace.h |
 | lldb/source/Target/TraceSettingsParser.cpp |
 | lldb/test/API/commands/trace/intelpt-trace/trace_bad5.json |
 | lldb/source/Target/Trace.cpp |
 | lldb/include/lldb/Target/TraceSettingsParser.h |
 | lldb/source/Plugins/Trace/intel-pt/TraceIntelPTSettingsParser.h |
 | lldb/source/Plugins/Trace/intel-pt/TraceIntelPTSettingsParser.cpp |
Commit
a32feed0dbeac7606d042d0d7e041c9eaf12cd51
by rnkAdd a static_assert confirming that DiagnosticBuilder is small
|
 | clang/lib/Basic/Diagnostic.cpp |
Commit
276f68eace7c27f6805d69a30a4b2f186e42c56c
by rnkRevert "Add a static_assert confirming that DiagnosticBuilder is small"
This reverts commit a32feed0dbeac7606d042d0d7e041c9eaf12cd51.
This assert doesn't hold in 32-bit builds, I didn't do the math right.
|
 | clang/lib/Basic/Diagnostic.cpp |
Commit
495a5e94baadefa6ed50390e6655021c127ea266
by rnkRevert "[NFCI][IR] ConstantRangeTest: add basic scaffolding for next-gen precision/correctness testing"
This reverts commit 9bcf7b1c7a139a455400df109d81c638b9e75150.
Breaks build with MSVC.
|
 | llvm/unittests/IR/ConstantRangeTest.cpp |
Commit
1c45220028a8aa39ad2f26c8c3c6234d1a816086
by aqjune[ValueTracking] Check uses of Argument if it is given to isGuaranteedNotToBeUndefOrPoison
This is a patch that allows isGuaranteedNotToBeUndefOrPoison to return more precise result when an argument is given, by looking through its uses at the entry block (and following blocks as well, if it is checking poison only).
This is useful when there is a function call with noundef arguments at the entry block.
Reviewed By: nikic
Differential Revision: https://reviews.llvm.org/D88207
|
 | llvm/lib/Analysis/ValueTracking.cpp |
 | llvm/unittests/Analysis/ValueTrackingTest.cpp |