Commit
e1a31f52cd79140ac0c72f203c518bc6adf9c7b2
by Pushpinder.Singh[AMDGPU] Control num waves per EU for implicit work-group size
Summary: If amdgpu-flat-work-group-size is not specified in LLVM IR, the backend uses default value of 1024. For this, minimum waves per EU should be 4. However, backend is still setting minimum value to 1 instead of calculated value. This is not observed normally as frontend always provide amdgpu-flat-work-group-size attribute.
Reviewers: rampitec, b-sumner, sameerds, msearles
Reviewed By: rampitec
Subscribers: qcolombet, arsenm, kzhuravl, jvesely, wdng, nhaehnle, yaxunl, dstuttard, tpr, t-tye, hiraditya, kerbowa, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D81991
|
 | llvm/lib/Target/AMDGPU/AMDGPUSubtarget.cpp |
 | llvm/test/CodeGen/AMDGPU/reserve-vgpr-for-sgpr-spill.ll |
 | llvm/test/CodeGen/AMDGPU/waitcnt-overflow.mir |
 | llvm/test/CodeGen/AMDGPU/InlineAsmCrash.ll |
 | llvm/test/CodeGen/AMDGPU/accvgpr-copy.mir |
 | llvm/test/CodeGen/AMDGPU/spill-vgpr-to-agpr.ll |
Commit
61d22ef236206f17d7abcdcdf9da3c99074432d5
by Fred Riss[lldb/ObjCRuntime] Implement support for small method lists
On macOS 11 (and other aligned Apple OSs), the Objective-C runtime has a new optimization which saves memory by making the method lists smaller. This patch adds support for this new method list encoding (while also keeping backward compatibility). This is implicitely covered by some existing Objective-C tests.
|
 | lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCClassDescriptorV2.cpp |
 | lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCClassDescriptorV2.h |
Commit
4a674b623796dc5c5778fc6998f788044137d61d
by Fred Riss[lldb/ObjC] Add support for direct selector references
On macOS 11 (and other aligned OSs), the shared cache method lists get an additional optimization which removes one level of indirection to get to the selector. This patch supports this new optimization. Both codepaths are covered byt the existing Objective-C tests.
|
 | lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCClassDescriptorV2.cpp |
 | lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCClassDescriptorV2.h |
Commit
c9f251aa6f6221a45d926bc12bd25d1833e5d945
by Fred Riss[lldb/build.py] Always pass an SDK to the compiler on Darwin
On macOS 11, system libraries which are part of the shared cache are not present on the filesystem anymore. This causes issues with build.py, because it fails to link binaries with libSystem or libc++.
The real issue is that build.py was not passing an SDK to the compiler. The script accepts an argument for the SDK, but it is currently unused. This patch just threads the SDK through to the compile and link steps and this fixes a bunch of Shell test failures on very recent macOS builds.
|
 | lldb/test/Shell/helper/build.py |
Commit
7be1661fc6ed3f5c0d0365f5528717707757a382
by thakislld/MachO: Remove a useless temporary
|
 | lld/MachO/Driver.cpp |
Commit
ba5087f13025a15662e164eb371fe0678258e03f
by thakisld64.lld: Add janky support for tbd files
With this, a simple hello world links against libSystem.tbd and the old ld64.lld linker kind of works again with newer SDKs.
The motivation here is to have an arm64 cross linker that's good enough to be able to run simple configure link checks on non-mac systems for generating config.h files. Once -flavor darwinnew can link arm64, we'll switch to that.
|
 | lld/test/mach-o/Inputs/MacOSX.sdk/usr/lib/libSystem.tbd |
 | lld/lib/ReaderWriter/MachO/MachONormalizedFileToAtoms.cpp |
 | lld/test/mach-o/stub-link.s |
 | lld/lib/ReaderWriter/MachO/MachONormalizedFileFromAtoms.cpp |
 | lld/lib/ReaderWriter/MachO/File.h |
 | lld/lib/ReaderWriter/MachO/MachOLinkingContext.cpp |
 | lld/lib/ReaderWriter/MachO/MachONormalizedFileBinaryReader.cpp |
Commit
c59aec0ca1edac409d8789956049ae13af24e370
by riddleriver[mlir][OpFormatGen] Add support for resolving variadic types from non-variadic
This enables better support for traits such as SameOperandsAndResultType, and other situations in which a variadic operand may be resolved from a non-variadic.
Differential Revision: https://reviews.llvm.org/D83011
|
 | mlir/tools/mlir-tblgen/OpFormatGen.cpp |
 | mlir/test/mlir-tblgen/op-format.mlir |
 | mlir/test/lib/Dialect/Test/TestOps.td |
Commit
fdbd78333fc6f1deb3037d0961130f05dce059e7
by ecaldasAdd parenthesized expression to SyntaxTree
Subscribers: cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D82960
|
 | clang/lib/Tooling/Syntax/BuildTree.cpp |
 | clang/unittests/Tooling/Syntax/TreeTest.cpp |
 | clang/lib/Tooling/Syntax/Nodes.cpp |
 | clang/include/clang/Tooling/Syntax/Nodes.h |
Commit
e4b3c138deb8b4e7fd6afbf301b85da7e812d505
by tmsriramThis patch adds basic debug info support with basic block sections.
This patch uses ranges for debug information when a function contains basic block sections rather than using [lowpc, highpc]. This is also the first in a series of patches for debug info and does not contain the support for linker relaxation. That will be done as a follow up patch.
Differential Revision: https://reviews.llvm.org/D78851
|
 | llvm/include/llvm/CodeGen/DebugHandlerBase.h |
 | llvm/include/llvm/CodeGen/MachineBasicBlock.h |
 | llvm/include/llvm/CodeGen/AsmPrinter.h |
 | llvm/lib/CodeGen/AsmPrinter/DebugHandlerBase.cpp |
 | llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp |
 | llvm/include/llvm/CodeGen/AsmPrinterHandler.h |
 | llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp |
 | llvm/test/DebugInfo/X86/basicblock-sections_1.ll |
 | llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp |
Commit
2a36f29fce91b6242ebd926d7c08381c31138d2c
by pifon[clang] Re-add deleted forward declaration.
|
 | clang/lib/CodeGen/ABIInfo.h |
Commit
0aad82943af946d1a1821998c0804ae40227051d
by craig.topper[X86] Enable multibyte NOPs in 64-bit mode for padding/alignment.
The default CPU used by llvm-mc doesn't have the NOPL feature, but if we know we're compiling in 64-bit mode we should be able to use nopl.
|
 | llvm/test/MC/X86/align-branch-bundle.s |
 | llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp |
 | lld/test/COFF/lto.ll |
 | llvm/test/MC/X86/align-branch-pad-max-prefix.s |
Commit
11b1eeeaec642052e7299181c6a087f68807ae8b
by Raphael Isemann[lldb][NFC] Fix a variable name in ClangDiagnosticManagerAdapter
|
 | lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp |
Commit
d3bf1f3af2f26a7c100c3aa6b8ae93feb7034cb8
by n.james93Revert "[clang-tidy] For `run-clang-tidy.py` escape the paths that are used for analysis."
This reverts commit 068fa35746637fde29355a43d17d554a92b32cdf.
Based on a regression reported in https://bugs.llvm.org/show_bug.cgi?id=46536
|
 | clang-tools-extra/clang-tidy/tool/run-clang-tidy.py |
Commit
c7df35d2b28eae824cded70663a2becf359a5402
by david.sherwood[CodeGen] Fix warnings in getCopyToPartsVector
Whilst trying to assemble the following test:
clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set2.c
I discovered we were hitting some warnings about possible invalid calls to getVectorNumElements() in getCopyToPartsVector(). I've tried to fix these by using ElementCount types where possible and I've made the assumption that we don't support using a fixed width vector to copy parts of a scalable vector, and vice versa. Looking at how the copy is implemented I think that's the right thing for now.
Differential Revision: https://reviews.llvm.org/D82744
|
 | llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp |
Commit
9e6f19fd8390d39a0351941da1582f888d18c369
by simon.tathamFix missing build dependency on omp_gen.
Summary: `include/llvm/Frontend/OpenMP/CMakeLists.txt` creates a new target called `omp_gen` which builds the generated include file `OMP.h.inc`. This target must therefore be a dependency of every compilation step whose transitive #include dependencies contain `OMP.h.inc`, or else it's possible for builds to fail if Ninja (or make or whatever) schedules that compilation step before building `OMP.h.inc` at all.
A few of those dependencies are currently missing, which leads to intermittent build failures, depending on the order that Ninja (or whatever) happens to schedule its commands. As far as I can see, compiles in `clang/lib/CodeGen`, `clang/lib/Frontend`, and `clang/examples` all depend transitivily on `OMP.h.inc` (usually via `clang/AST/AST.h`), but don't have the formal dependency in the ninja graph.
Adding `omp_gen` to the dependencies of `clang-tablegen-targets` seems to be the way to get the missing dependency into the `clang/examples` subdirectory. This also fixes the other two clang subdirectories, as far as I can see.
Reviewers: clementval, thakis, chandlerc, jdoerfert
Reviewed By: clementval
Subscribers: cfe-commits, jdenny, mgorny, sstefan1, llvm-commits
Tags: #llvm, #clang
Differential Revision: https://reviews.llvm.org/D82659
|
 | clang/CMakeLists.txt |
Commit
dc8e4d856615806dc4c7bbd898cf0428b005e790
by nicholas.guy[ARM] Rearrange SizeReduction when using -Oz
Move the Thumb2SizeReduce pass to before IfConversion when optimising for minimal code size.
Running the Thumb2SizeReduction pass before IfConversionallows T1 instructions to propagate to the final output, rather than the ifConverter modifying T2 instructions and preventing them from being reduced later.
This change does introduce a regression regarding execution time, so it's only applied when optimising for size.
Running the LLVM Test Suite with this change produces a geomean difference of -0.1% for the size..text metric.
Differential Revision: https://reviews.llvm.org/D82439
|
 | llvm/test/CodeGen/ARM/t2-shrink-ldrpost.ll |
 | llvm/lib/Target/ARM/ARMTargetMachine.cpp |
 | llvm/test/CodeGen/Thumb2/constant-hoisting.ll |
Commit
aa4fd7d848d78611b4e6b6768edc6ab9d2b1efa5
by qiucofan[NFC] Fix typo in triples from unkown to unknown
|
 | llvm/test/MC/WebAssembly/atomics-encodings.s |
 | llvm/test/MC/WebAssembly/bulk-memory-encodings.s |
 | llvm/test/MC/WebAssembly/simd-encodings.s |
 | llvm/test/CodeGen/WebAssembly/simd-shuffle-bitcast.ll |
 | llvm/test/CodeGen/PowerPC/preemption.ll |
 | llvm/test/MC/WebAssembly/tail-call-encodings.s |
 | llvm/test/CodeGen/X86/codegen-prepare-collapse.ll |
 | clang/test/SemaOpenCL/block-array-capturing.cl |
Commit
83aa58d795b92cd864c6c09d9a65817a14e63acc
by Raphael Isemann[lldb][NFC] Don't pass around passthrough from ClangDiagnosticManagerAdapter
The passthrough DiagnosticConsumer is an implementation detail of ClangDiagnosticManagerAdapter and we can just hide it behind the normal DiagnosticConsumer interface that ClangDiagnosticManagerAdapter is supposed to implement.
|
 | lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp |
Commit
f255656a97f7c83f7e049fd916278bbf7446651e
by sander.desmalen[SVE] ACLE: Fix builtins for svdup_lane_bf16 and svcvtnt_bf16_f32_x
bfloat16 variants of svdup_lane were missing, and svcvtnt_bf16_x was implemented incorrectly (it takes an operand for the inactive lanes)
Reviewers: fpetrogalli, efriedma
Reviewed By: fpetrogalli
Tags: #clang
Differential Revision: https://reviews.llvm.org/D82908
|
 | clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_dup-bfloat.c |
 | clang/include/clang/Basic/arm_sve.td |
 | clang/utils/TableGen/SveEmitter.cpp |
 | clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cvtnt.c |
Commit
07bda98b6afdef7bed0bf7d47f5a8f6cfc64d973
by sander.desmalen[AArch64][SVE] Add unpred load/store patterns for bf16 types
Reviewers: kmclaughlin, c-rhodes, efriedma
Reviewed By: efriedma
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D82909
|
 | llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td |
 | llvm/test/CodeGen/AArch64/spillfill-sve.ll |
Commit
143e324e7501e127ae1275c93c743cf06e9e18b1
by sander.desmalen[CodeGen][SVE] Don't drop scalable flag in DAGCombiner::visitEXTRACT_SUBVECTOR
There was a rogue 'assert' in AArch64ISelLowering for the tuple.get intrinsics, that shouldn't really have been there (I suspect this was a remnant from when we expected the wider vector always to have come from a vector CONCAT).
When I tried to create a more minimal reproducer, I found a bug in DAGCombiner where it drops the scalable flag when trying to fold:
extract_subv (bitcast X), Index --> bitcast (extract_subv X, Index')
This patch fixes both issues.
Reviewers: david-arm, efriedma, spatel
Reviewed By: efriedma
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D82910
|
 | llvm/lib/Target/AArch64/AArch64ISelLowering.cpp |
 | llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp |
 | llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp |
 | llvm/test/CodeGen/AArch64/sve-extract-subvector.ll |
Commit
6f1694759cc0de5c7ade8b465be4bb71ca4021e2
by jay.foad[AMDGPU] Fix formatting in MIR tests
|
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-select.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-shl.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-trunc.mir |
 | llvm/test/CodeGen/AMDGPU/gws-hazards.mir |
 | llvm/test/CodeGen/AMDGPU/merge-image-load.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-trunc.v2s16.mir |
 | llvm/test/CodeGen/AMDGPU/fold-imm-copy.mir |
 | llvm/test/CodeGen/AMDGPU/phi-vgpr-input-moveimm.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-lshr.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-sext-inreg.mir |
 | llvm/test/CodeGen/AMDGPU/phi-elimination-end-cf.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-copy.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ashr.mir |
Commit
7f903873b8a937acec2e2cc232e70cba53061352
by nunoplopesDSE: fix builtin function recognition to take decl into account
|
 | llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp |
 | llvm/test/Transforms/DeadStoreElimination/MSSA/libcalls.ll |
Commit
a27478e54f5fa99ed17ad6ef149046f9d391f293
by Ben.Dunbobbin[Support][Windows] Prevent 2s delay when renaming a file that does not exist
Differential Revision: https://reviews.llvm.org/D82542
|
 | llvm/lib/Support/Windows/Path.inc |
Commit
00f5921609a5eabcac2ca1300243291fbdd7721d
by david.sherwood[SVE] Add warnings checks in four more LLVM SVE tests
I have added CHECK lines to the following tests:
llvm/test/CodeGen/AArch64/sve-breakdown-scalable-vectortype.ll llvm/test/CodeGen/AArch64/sve-calling-convention-tuple-types.ll llvm/test/CodeGen/AArch64/sve-intrinsics-create-tuple.ll llvm/test/CodeGen/AArch64/sve-intrinsics-loads.ll
since they are now free of warnings related to invalid use of EVT::getVectorNumElements() and VectorType::getNumElements().
Differential Revision: https://reviews.llvm.org/D82957
|
 | llvm/test/CodeGen/AArch64/sve-intrinsics-create-tuple.ll |
 | llvm/test/CodeGen/AArch64/sve-breakdown-scalable-vectortype.ll |
 | llvm/test/CodeGen/AArch64/sve-calling-convention-tuple-types.ll |
 | llvm/test/CodeGen/AArch64/sve-intrinsics-loads.ll |
Commit
804d9687443e1132157a9bb3696cb5327ae0558c
by marukawa[VE] Rename VE toolchain source files
Summary: Rename VE.cpp and VE.h to VEToolchain.cpp and VEToolchain.h respectively in order to avoid link warning message. Linker warns that VE.cpp.o and Arch/VE.cpp.o have the same name.
Reviewers: simoll, k-ishizaka
Reviewed By: simoll
Subscribers: mgorny, cfe-commits
Tags: #llvm, #ve, #clang
Differential Revision: https://reviews.llvm.org/D82968
|
 | clang/lib/Driver/CMakeLists.txt |
 | clang/lib/Driver/ToolChains/VE.h |
 | clang/lib/Driver/Driver.cpp |
 | clang/lib/Driver/ToolChains/VEToolchain.cpp |
 | clang/lib/Driver/ToolChains/VEToolchain.h |
 | clang/lib/Driver/ToolChains/VE.cpp |
Commit
559685d0bbde50db6f71dc07eb5b7a8029d8b39c
by llvmgnsyncbot[gn build] Port 804d9687443
|
 | llvm/utils/gn/secondary/clang/lib/Driver/BUILD.gn |
Commit
68498ce8af375a97a87738676fc2917c0c9659d6
by david.green[BasicAA] New basic-aa-recphi test. NFC
|
 | llvm/test/Analysis/BasicAA/recphi.ll |
Commit
2c16100e6f72075564ea1f67fa5a82c269dafcd3
by lebedev.ri[ScalarEvolution] createSCEV(): recognize `udiv`/`urem` disguised as an `sdiv`/`srem`
Summary: While InstCombine trivially converts that `srem` into a `urem`, it might happen later than wanted, in particular i'd like for that to happen on https://godbolt.org/z/bwuEmJ test case early in pipeline, before first instcombine run, just before `-mem2reg`.
SCEV should recognize this case natively.
Reviewers: mkazantsev, efriedma, nikic, reames
Reviewed By: efriedma
Subscribers: clementval, hiraditya, javed.absar, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D82721
|
 | llvm/test/Analysis/ScalarEvolution/sdiv.ll |
 | llvm/lib/Analysis/ScalarEvolution.cpp |
 | llvm/test/Analysis/ScalarEvolution/srem.ll |
Commit
58a56ef4e7a8bcbbad377e820a23f0e8d95a0fbd
by lebedev.riRegenerate llvm/test/CodeGen/X86/optimize-max-0.ll
It surprizingly appears to be affected by the last SCEV patch
|
 | llvm/test/CodeGen/X86/optimize-max-0.ll |
Commit
a8fe12065ec8137e55a6a8b35dd5355477c2ac16
by anna.welker[LV] Enable the LoopVectorizer to create pointer inductions
This patch enables the LoopVectorizer to build a phi of pointer type and provide the vector loads and stores with vector type getelementptrs built from the pointer induction variable, which produces much less instructions than the previous approach of creating scalar getelementpointers and glue them together to a vector.
Differential Revision: https://reviews.llvm.org/D81267
|
 | llvm/test/Transforms/LoopVectorize/ARM/pointer_iv.ll |
 | llvm/lib/Transforms/Vectorize/LoopVectorize.cpp |
Commit
d4cf4c66b5b75393fd68e3aee8ab6c788bb628e3
by aaronFix some typos (unkown -> unknown); NFC
|
 | clang/test/Analysis/fuchsia_handle.cpp |
 | clang/lib/Parse/ParseStmtAsm.cpp |
 | clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp |
Commit
11c4bb0c7cbd91c1e58395363d4dec2b2a803450
by llvm-devRegenerate apint-shift tests and replace %tmp variable names to silence update_test_checks warnings
|
 | llvm/test/Transforms/InstCombine/apint-shift.ll |
Commit
421c02e5c6b376fbbd8cc61c20feb35f1cee7a5a
by llvm-dev[InstCombine] Add some (vXi1 trunc(lshr(x,c))) -> icmp_eq(and(x,c')) tests for non-uniform vectors
As noticed on PR46531
|
 | llvm/test/Transforms/InstCombine/icmp.ll |
 | llvm/test/Transforms/InstCombine/apint-shift.ll |
Commit
fd6193d5ea4e4a021b9578b4271329f46b27e89c
by kerry.mclaughlin[AArch64][SVE] Add reg+imm addressing mode for unpredicated stores
Reviewers: sdesmalen, efriedma, david-arm
Reviewed By: efriedma
Subscribers: tschuett, kristof.beyls, hiraditya, rkruppe, psnobl, danielkiss, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D82985
|
 | llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td |
 | llvm/test/CodeGen/AArch64/sve-st1-addressing-mode-reg-imm.ll |
Commit
d2dcff60fe230bf5e5f7aeae931c982af4ef3721
by gchatelet[Alignment][NFC] VectorLayout now uses Align internally
By rewritting `ScalarizerVisitor::getVectorLayout` in such a way it returns `VectorLayout` (or `None`) it becomes obvious that `VectorLayout::VecAlign` cannot be `0`.
This patch is part of a series to introduce an Alignment type. See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html See this patch for the introduction of the type: https://reviews.llvm.org/D64790
Differential Revision: https://reviews.llvm.org/D82981
|
 | llvm/lib/Transforms/Scalar/Scalarizer.cpp |
Commit
8dbafd24d6dad9ace4447084a517823ea1d6e6b4
by gchatelet[Alignment][NFC] Transition and simplify calls to DL::getABITypeAlignment
This patch is part of a series to introduce an Alignment type. See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html See this patch for the introduction of the type: https://reviews.llvm.org/D64790
Differential Revision: https://reviews.llvm.org/D82977
|
 | llvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp |
 | llvm/lib/Transforms/IPO/Inliner.cpp |
 | llvm/lib/Transforms/Utils/SimplifyCFG.cpp |
 | llvm/lib/Target/X86/X86FastISel.cpp |
 | llvm/lib/Transforms/Scalar/SROA.cpp |
 | llvm/lib/Target/Hexagon/HexagonISelLowering.cpp |
 | llvm/lib/Transforms/Scalar/LICM.cpp |
 | llvm/lib/Transforms/IPO/GlobalOpt.cpp |
 | llvm/lib/Target/PowerPC/PPCISelLowering.cpp |
 | llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp |
 | llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp |
Commit
4cf24cb868b9fe9e65d2e4b27b8ec5fd5d5fb599
by whisperity[NFC][clang] Add missing VALIDATE_DIAG_SIZE()
Originally when libCrossTU was introduced in commit e350b0a19629c4cce87f28913b3137f4c7015de3, the macro which thus had all diagnostic kinds covered was not added.
|
 | clang/lib/Basic/DiagnosticIDs.cpp |
Commit
37cc3ee8c5553ec02c133e80e9ac98f5ffa525d1
by kadircet[clangd] Switch FindSymbolsTests to use TestTU
Summary: This gets rid of the dependency on ClangdServer and a bunch of extra infrastructure coming with it. Also enables us to clear SyncAPI, as it was the sole user of runWorkspace/DocumentSymbols.
Reviewers: sammccall
Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, usaxena95, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D82944
|
 | clang-tools-extra/clangd/unittests/SyncAPI.h |
 | clang-tools-extra/clangd/unittests/FindSymbolsTests.cpp |
 | clang-tools-extra/clangd/unittests/SyncAPI.cpp |
Commit
db4d5f7048a26a7708821e46095742aecfd8ba46
by gabor.marton[analyzer][StdLibraryFunctionsChecker] Add POSIX file handling functions
Adding file handling functions from the POSIX standard (2017). A new checker option is introduced to enable them. In follow-up patches I am going to upstream networking, pthread, and other groups of POSIX functions.
Differential Revision: https://reviews.llvm.org/D82288
|
 | clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp |
 | clang/include/clang/StaticAnalyzer/Checkers/Checkers.td |
 | clang/test/Analysis/std-c-library-functions-POSIX.c |
 | clang/test/Analysis/analyzer-config.c |
Commit
d6343e607ac8fa71fa6d99f9c86369ae9e66e671
by pavel[lldb] Skip TestLimitDebugInfo on windows
The test does not work on windows, because clang will emit full type information for __declspec(dllexport) types even under -flimit-debug-info. __declspec(dllexport) is needed to be able to use the type across shared library boundaries on windows, which makes this a pretty good heuristic, but defeats the purpose of this test.
I am going to create (in another patch) an basic assembly test, so that the relevant code gets at least some coverage on windows hosts.
This also reverts commit 1276855f2b4485ec312b379c1b8eaf5510d9b157, which added the __declspec annotations -- they are not necessary anymore, and they needlessly complicate the test.
|
 | lldb/test/API/functionalities/limit-debug-info/onetwo.h |
 | lldb/test/API/functionalities/limit-debug-info/TestLimitDebugInfo.py |
 | lldb/test/API/functionalities/limit-debug-info/Makefile |
Commit
8c5133f1855767a16a6045777bed4652bd114d84
by hokein.wu[clang] Fix a null-NSS-access crash in DependentNameType.
The DependentNameType must have a non-null NSS. This property could be violated during typo correction.
Differential Revision: https://reviews.llvm.org/D82738
|
 | clang/test/Parser/cxx-template-decl.cpp |
 | clang/lib/Sema/SemaTemplate.cpp |
Commit
30bd66544d7a1e602dfaf412158d4bd759352e36
by david.green[BasicAA] Fix recursive phi MustAlias calculations
With the option -basic-aa-recphi we can detect recursive phis that loop through constant geps, which allows us to detect more no-alias case for pointer IV's. If the other phi operand and the other alias value are MustAlias though, we cannot presume that every element in the loop is also MustAlias. We need to instead be conservative and return MayAlias.
Differential Revision: https://reviews.llvm.org/D82987
|
 | llvm/test/Analysis/BasicAA/recphi.ll |
 | llvm/lib/Analysis/BasicAliasAnalysis.cpp |
Commit
ffa1f8198e6e8be6ca1044975a67e646188210da
by eschweitz[flang] Add changes to codegen to convert it to tablegen passes.
This upstreams changes to codegen to convert the passes to the new tablegen pass support from MLIR.
Differential revision: https://reviews.llvm.org/D83018
|
 | flang/include/flang/Optimizer/CodeGen/CodeGen.h |
 | flang/include/flang/Optimizer/CMakeLists.txt |
 | flang/include/flang/Optimizer/CodeGen/CMakeLists.txt |
 | flang/include/flang/Optimizer/CodeGen/CGPasses.td |
Commit
5c02a2421b951a14d1294598d0082b32659c7082
by eschweitz[flang] Add inliner pass.
This adds a minimalist inliner implementation. Along with the inliner, a minimum number of support files are also included. These will pave the way for future diffs to add more transformation passes to flang. A future diff will add the inline test, which cannot be run successfully quite yet as some components have not yet been upstreamed.
Differential revision:
|
 | flang/lib/Optimizer/Transforms/Inliner.cpp |
 | flang/include/flang/Optimizer/Transforms/Passes.td |
 | flang/include/flang/Optimizer/Transforms/Passes.h |
 | flang/include/flang/Optimizer/CMakeLists.txt |
 | flang/include/flang/Optimizer/Transforms/CMakeLists.txt |
 | flang/lib/Optimizer/CMakeLists.txt |
Commit
e4d178a752444453f0ab8d2b9085087208aa8296
by riccibrun[clang][Serialization] Don't duplicate the body of LambdaExpr during deserialization
05843dc6ab97a00cbde7aa4f08bf3692eb83109d changed the serialization of the body of LambdaExpr to avoid a mutation in LambdaExpr::getBody and to avoid a missing body in LambdaExpr::children.
Unfortunately this replaced one bug by another: we are now duplicating the body during deserialization; that is after deserialization the identity:
E->getBody() == E->getCallOperator()->getBody() does not hold.
Fix that by instead lazily loading the body from the call operator when needed.
Differential Revision: https://reviews.llvm.org/D83009
Reviewed By: martong, aaron.ballman, vabridgers
|
 | clang/lib/Serialization/ASTWriterStmt.cpp |
 | clang/lib/AST/ExprCXX.cpp |
 | clang/include/clang/AST/ExprCXX.h |
 | clang/test/AST/ast-dump-lambda-body-not-duplicated.cpp |
 | clang/lib/Serialization/ASTReaderStmt.cpp |
Commit
075c440f7bc8f38b2e484a1f31c803f470dab7d4
by sander.desmalen[AArch64][SVE] Put zeroing pseudos and patterns under flag.
This patch puts the _ZERO pseudos and corresponding patterns under the predicate 'UseExperimentalZeroingPseudos', so that they can be enabled/disabled through compile flags.
This is done because the zeroing pseudos use MOVPRFX to do merging of the inactive lanes, but it depends on the uarch whether this operation is actually merged with the destructive operation. If not, it may be more profitable to use a SELECT and to give the compiler the freedom to schedule these instructions as normal, rather than keeping them bundled together. Additionally, this feature is not yet fully implemented and there are still known bugs (see D80410) that need to be resolved before the 'experimental' can be dropped from the name.
Reviewers: paulwalker-arm, cameron.mcinally, efriedma
Reviewed By: paulwalker-arm
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D82780
|
 | llvm/lib/Target/AArch64/SVEInstrFormats.td |
 | llvm/test/CodeGen/AArch64/sve-intrinsics-fp-arith-merging.ll |
 | llvm/lib/Target/AArch64/AArch64.td |
 | llvm/test/CodeGen/AArch64/sve-intrinsics-int-arith-merging.ll |
 | llvm/lib/Target/AArch64/AArch64InstrInfo.td |
 | llvm/test/CodeGen/AArch64/sve-intrinsics-shifts-merging.ll |
 | llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td |
 | llvm/test/CodeGen/AArch64/sve2-intrinsics-uniform-dsp-zeroing.ll |
 | llvm/lib/Target/AArch64/AArch64Subtarget.h |
Commit
23eeae552689ecf47dbb5c5dcc551a074c4e0110
by llvm-devRegenerate sext/trunc tests and replace %tmp variable names to silence update_test_checks warnings
|
 | llvm/test/Transforms/InstCombine/sext.ll |
 | llvm/test/Transforms/InstCombine/trunc.ll |
Commit
e0968ad45948d5b7a89c468576e660381c88148f
by n.james93call ::pthread_detach on llvm_execute_on_thread_impl
Fixes all TSAN bugs in clangd
Reviewed By: sammccall
Differential Revision: https://reviews.llvm.org/D83039
|
 | llvm/lib/Support/Unix/Threading.inc |
Commit
c1f1db8502f1fc788eefeafd3dc225bd287ee4b9
by pavel[lldb] Add a host-independent test for handling -flimit-debug-info
This complements the existing TestLimitDebugInfo.py, which tests this scenario more comprehensively, but is not able to run on all hosts. Specifically, it's hard to trigger this code from windows because clang tries hard to ensure that debug info for types marked with __declspec(dllexport) is emitted even under -flimit-debug-info (and dllexport is needed to use a type across shared libraries).
This assembly-based test serves two purposes: - it tests that -flimit-debug-info code path works for windows binaries (even though the aforementioned feature means its less likely to be used there) - it gives basic test coverage for the -flimit-debug-info handling code when running the test suite on windows hosts.
|
 | lldb/test/Shell/SymbolFile/DWARF/limit-debug-info.s |
Commit
f51a319cacd44819b4fb9fa9f005c2445bcee984
by n.james93[ASTMatchers] Enhanced support for matchers taking Regex arguments
Added new Macros `AST(_POLYMORPHIC)_MATCHER_REGEX(_OVERLOAD)` that define a matchers that take a regular expression string and optionally regular expression flags. This lets users match against nodes while ignoring the case without having to manually use `[Aa]` or `[A-Fa-f]` in their regex. The other point this addresses is in the current state, matchers that use regular expressions have to compile them for each node they try to match on, Now the regular expression is compiled once when you define the matcher and used for every node that it tries to match against. If there is an error while compiling the regular expression an error will be logged to stderr showing the bad regex string and the reason it couldn't be compiled. The old behaviour of this was down to the Matcher implementation and some would assert, whereas others just would never match. Support for this has been added to the documentation script as well. Support for this has been added to dynamic matchers ensuring functionality is the same between the 2 use cases.
Reviewed By: aaron.ballman
Differential Revision: https://reviews.llvm.org/D82706
|
 | llvm/include/llvm/Support/Regex.h |
 | clang/unittests/ASTMatchers/Dynamic/ParserTest.cpp |
 | clang/docs/tools/dump_ast_matchers.py |
 | clang/lib/ASTMatchers/Dynamic/Marshallers.h |
 | clang/lib/ASTMatchers/Dynamic/Marshallers.cpp |
 | clang/include/clang/ASTMatchers/ASTMatchers.h |
 | clang/lib/ASTMatchers/Dynamic/Registry.cpp |
 | clang/include/clang/ASTMatchers/ASTMatchersMacros.h |
 | llvm/lib/Support/Regex.cpp |
 | clang/docs/LibASTMatchersReference.html |
 | clang/include/clang/ASTMatchers/ASTMatchersInternal.h |
 | clang/lib/ASTMatchers/ASTMatchersInternal.cpp |
 | clang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp |
Commit
3c72cafdf407a5a74d98a025071019533a54a1e1
by jonathan_roelofsFix missing build dependencies on omp_gen
Differential Revision: https://reviews.llvm.org/D83003
|
 | llvm/cmake/modules/CMakeLists.txt |
 | llvm/CMakeLists.txt |
 | llvm/cmake/modules/AddLLVM.cmake |
 | llvm/unittests/Frontend/CMakeLists.txt |
 | llvm/lib/Transforms/IPO/CMakeLists.txt |
 | llvm/cmake/modules/LLVMConfig.cmake.in |
Commit
1c9d681092d18bac249f01c5d9055dce6898a861
by dmitry.preobrazhensky[AMDGPU][CODEGEN] Added support of new inline assembler constraints
Added support for constraints 'I', 'J', 'B', 'C', 'DA', 'DB'.
See https://gcc.gnu.org/onlinedocs/gcc/Machine-Constraints.html#Machine-Constraints.
Reviewers: arsenm, rampitec
Differential Revision: https://reviews.llvm.org/D81651
|
 | llvm/lib/Target/AMDGPU/SIISelLowering.h |
 | llvm/test/CodeGen/AMDGPU/inline-constraints.ll |
 | llvm/docs/LangRef.rst |
 | llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp |
 | llvm/lib/Target/AMDGPU/SIISelLowering.cpp |
Commit
10a898b3ecd638c58803e471b1ec239e58574635
by uday[MLIR] Exact integer emptiness checks for FlatAffineConstraints
This patch adds the capability to perform exact integer emptiness checks for FlatAffineConstraints using the General Basis Reduction algorithm (GBR). Previously, only a heuristic was available for emptiness checks, which was not guaranteed to always give a conclusive result.
This patch adds a `Simplex` class, which can be constructed using a `FlatAffineConstraints`, and can find an integer sample point (if one exists) using the GBR algorithm. Additionally, it adds two classes `Matrix` and `Fraction`, which are used by `Simplex`.
The integer emptiness check functionality can be accessed through the new `FlatAffineConstraints::isIntegerEmpty()` function, which runs the existing heuristic first and, if that proves to be inconclusive, runs the GBR algorithm to produce a conclusive result.
Differential Revision: https://reviews.llvm.org/D80860
|
 | mlir/include/mlir/Analysis/AffineStructures.h |
 | mlir/lib/Analysis/AffineStructures.cpp |
 | mlir/unittests/Analysis/Presburger/CMakeLists.txt |
 | mlir/lib/Analysis/Presburger/Matrix.cpp |
 | mlir/unittests/Analysis/CMakeLists.txt |
 | mlir/include/mlir/Analysis/Presburger/Simplex.h |
 | mlir/lib/Analysis/Presburger/CMakeLists.txt |
 | mlir/include/mlir/Analysis/Presburger/Matrix.h |
 | mlir/unittests/Analysis/Presburger/SimplexTest.cpp |
 | mlir/lib/Analysis/CMakeLists.txt |
 | mlir/unittests/Analysis/Presburger/MatrixTest.cpp |
 | mlir/include/mlir/Analysis/Presburger/Fraction.h |
 | mlir/lib/Analysis/Presburger/Simplex.cpp |
 | mlir/unittests/Analysis/AffineStructuresTest.cpp |
 | mlir/unittests/CMakeLists.txt |
Commit
59f1bf46f8c258b9c784ff921b89fb6cb7a06612
by vince.a.bridgers[ASTImporter] Add unittest case for friend decl import
Summary: This change adds a matching test case for the recent bug fix to VisitFriendDecl in ASTImporterLookup.cpp.
See https://reviews.llvm.org/D82882 for details.
Reviewers: martong, a.sidorin, shafik
Reviewed By: martong
Subscribers: rnkovacs, teemperor, cfe-commits, dkrupp
Tags: #clang
Differential Revision: https://reviews.llvm.org/D83006
|
 | clang/unittests/AST/ASTImporterTest.cpp |
Commit
e6cf796bab7e02d2b8ac7fd495f14f5e21494270
by floPreserve GlobalsAA analysis result in LowerConstantIntrinsics
LowerConstantIntrinsics fails to preserve the analysis result of GlobalsAA. Not preserving the analysis might affect benchmark performance. This change fixes this issue.
Patch by Ryan Santhiraraja <rsanthir@quicinc.com>
Reviewers: fpetrogalli, joerg, fhahn
Reviewed By: fhahn
Differential Revision: https://reviews.llvm.org/D82342
|
 | llvm/lib/Transforms/Scalar/LowerConstantIntrinsics.cpp |
Commit
5012ddd5aff24e9963ed2073c7e3fc6991fd8b4c
by james.henderson[ELF][test] Add some additional .eh_frame/.eh_frame_hdr testing
This patch adds a few extra cases to the existing testing for eh_frame and eh_frame_hdr behaviour in LLD. They all come from a private testsuite we are trying to migrate to lit.
Reviewed by: grimar, MaskRay
Differential Revision: https://reviews.llvm.org/D82852
|
 | lld/test/ELF/eh-frame-hdr-comdat.s |
 | lld/test/ELF/eh-frame-merge.s |
 | lld/test/ELF/eh-frame-type.test |
Commit
103d62e1313d80f4a9f4285ad1280b793dfd9f9b
by llvm-dev[InstCombine] Add some (vXi1 trunc(lshr(x,c))) -> icmp_eq(and(x,c')) tests for vectors with undef elements
Suggested on D83035
|
 | llvm/test/Transforms/InstCombine/icmp.ll |
 | llvm/test/Transforms/InstCombine/apint-shift.ll |
Commit
769b9799307485aff87c562a8bafff828b166e2b
by llvm-dev[InstCombine] Add (vXi1 trunc(lshr(x,c))) -> icmp_eq(and(x,c')) support for non-uniform vectors
As noted on PR46531, we were only performing this transform on uniform vectors as we were using the m_APInt pattern matcher to extract the shift amount.
Differential Revision: https://reviews.llvm.org/D83035
|
 | llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp |
 | llvm/test/Transforms/InstCombine/icmp.ll |
 | llvm/test/Transforms/InstCombine/apint-shift.ll |
Commit
8b7b0ad24c7323c629a76bb04305c698745be568
by sander.desmalen[AArch64][SVE] NFC: Rename isOrig -> isReverseInstr
This is a non-functional to clarify some of the terminology in the AArch64SVEInstrInfo/SVEInstrFormats.td files around the tables for mapping an instruction to it's reverse instruction counter part, and vice versa. e.g. DIV -> DIVR and DIVR -> DIV.
Reviewers: paulwalker-arm, cameron.mcinally, rengolin, efriedma
Reviewed By: paulwalker-arm, efriedma
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D82979
|
 | llvm/lib/Target/AArch64/AArch64InstrInfo.h |
 | llvm/lib/Target/AArch64/SVEInstrFormats.td |
 | llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp |
 | llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td |
Commit
b725142c8db8584007cb1cd9149e8bcecaa88547
by pavel[lldb] Fix type conversion in the Scalar getters
Summary: The Scalar class claims to follow the C type conversion rules. This is true for the Promote function, but it is not true for the implicit conversions done in the getter methods.
These functions had a subtle bug: when extending the type, they used the signedness of the *target* type in order to determine whether to do sign-extension or zero-extension. This is not how things work in C, which uses the signedness of the *source* type. I.e., C does (sign-)extension before it does signed->unsigned conversion, and not the other way around.
This means that: (unsigned long)(int)-1 is equal to (unsigned long)0xffffffffffffffff and not (unsigned long)0x00000000ffffffff
Unsurprisingly, we have accumulated code which depended on this inconsistent behavior. It mainly manifested itself as code calling "ULongLong/SLongLong" as a way to get the value of the Scalar object in a primitive type that is "large enough". Previously, the ULongLong conversion did not do sign-extension, but now it does.
This patch makes the Scalar getters consistent with the declared semantics, and fixes the couple of call sites that were using it incorrectly.
Reviewers: teemperor, JDevlieghere
Subscribers: lldb-commits
Tags: #lldb
Differential Revision: https://reviews.llvm.org/D82772
|
 | lldb/source/Utility/Scalar.cpp |
 | lldb/include/lldb/Utility/Scalar.h |
 | lldb/test/API/commands/expression/ir-interpreter/TestIRInterpreter.py |
 | lldb/unittests/Utility/ScalarTest.cpp |
 | lldb/source/Expression/IRInterpreter.cpp |
 | lldb/source/Core/ValueObject.cpp |
Commit
50b25e0679d4ffe073c3ca479e6ab1e3d29b7f59
by llvm-dev[InstCombine] Add some sext/trunc tests to show missing support for non-uniform vectors
|
 | llvm/test/Transforms/InstCombine/trunc.ll |
 | llvm/test/Transforms/InstCombine/sext.ll |
Commit
03fe7eb16fa224a95d4ba252e2a03cbb3fa244af
by antiagainst[MLIR][SPIRVToLLVM] Implementation of spv.BitFieldInsert pattern
This patch introduces conversion pattern for `spv.BitFiledInsert` op, as well as some utility functions to facilitate code reading. Since `spv.BitFiledInsert` may take both vector and integer operands, this case was specifically handled by broadcasting values (`count` and `offset` here) to vectors. Moreover, the types had to be converted to same bitwidth in order to conform with LLVM dialect rules. This was done with `zext` when extending (Note that `count` and `offset` are treated as unsigned) and `trunc` in the opposite case. For the latter one, truncation is safe since the op is defined only when `count`/`offset`/their sum is less than the bitwidth of the result. This introduces a natural bound of the value of 64, which can be expressed as `i8`.
Reviewed By: antiagainst, ftynse
Differential Revision: https://reviews.llvm.org/D82639
|
 | mlir/test/Conversion/SPIRVToLLVM/bitwise-ops-to-llvm.mlir |
 | mlir/lib/Conversion/SPIRVToLLVM/ConvertSPIRVToLLVM.cpp |
Commit
8119a374bc3aa7ee7f135038a7c772762711d135
by antiagainst[MLIR][SPIRVToLLVM] SPIR-V function call conversion pattern
Added conversion pattern for SPIR-V `FunctionCallOp`. Based on specification, it returns no results or a single result, so can be mapped directly to LLVM dialect's `llvm.call`.
Reviewed By: antiagainst, ftynse
Differential Revision: https://reviews.llvm.org/D83030
|
 | mlir/test/Conversion/SPIRVToLLVM/func-to-llvm.mlir |
 | mlir/lib/Conversion/SPIRVToLLVM/ConvertSPIRVToLLVM.cpp |
Commit
ef2f46e1f6a63040734c48ed53893298df14b6fa
by antiagainst[MLIR][SPIRV] Support two memory access attributes in OpCopyMemory.
This commit augments spv.CopyMemory's implementation to support 2 memory access operands. Hence, more closely following the spec. The following changes are introduces:
- Customize logic for spv.CopyMemory serialization and deserialization. - Add 2 additional attributes for source memory access operand.
Reviewed By: antiagainst
Differential Revision: https://reviews.llvm.org/D82710
|
 | mlir/lib/Dialect/SPIRV/Serialization/Deserializer.cpp |
 | mlir/test/Dialect/SPIRV/Serialization/memory-ops.mlir |
 | mlir/lib/Dialect/SPIRV/SPIRVOps.cpp |
 | mlir/lib/Dialect/SPIRV/Serialization/Serializer.cpp |
 | mlir/test/Dialect/SPIRV/ops.mlir |
 | mlir/include/mlir/Dialect/SPIRV/SPIRVOps.td |
Commit
a701dc5510ab8e977dcb797035475e641d6a353a
by nemanja.i.ibm[PowerPC] Remove undefs from splat input when changing shuffle mask
As of 1fed131660b2c5d3ea7007e273a7a5da80699445, we have code that changes shuffle masks so that we can put the shuffle in a canonical form that can be matched to a single instruction. However, it does not properly account for undef elements in the BUILD_VECTOR that is the RHS splat so we can end up with undefs where they shouldn't be. This patch converts the splat input with undefs to one without.
|
 | llvm/test/CodeGen/PowerPC/canonical-merge-shuffles.ll |
 | llvm/lib/Target/PowerPC/PPCISelLowering.cpp |
Commit
16989f6f5c69a62eb78c1ab297f64c8182d7604a
by nemanja.i.ibm[LLD] Add required dependency after shared libs break due to ba5087f13025
The dependency on TextAPI was not added and is required for shared libs builds.
|
 | lld/lib/ReaderWriter/MachO/CMakeLists.txt |
Commit
0e0483bf5c383d5815b9f945fea7e347d4badc0e
by hahnjo[OpenMP][CMake] Fix version detection of testing compiler
When configuring in-tree, the correct names are LLVM_VERSION_MAJOR and LLVM_VERSION_MINOR. This has been wrong since the code was added in commits fc473dee98 and 821649229e.
|
 | openmp/cmake/OpenMPTesting.cmake |
Commit
61238d2690a6ebdf3c4f3f68f39101fac30263a7
by sstipanovic[OpenMPOpt][Fix] Remove double initialization of omp::types.
|
 | llvm/lib/Transforms/IPO/OpenMPOpt.cpp |
Commit
3d12e79094d2d3cb3d7e16dc16a456e1ec25ac1b
by aeubanks[NewPM][LSR] Rename strength-reduce -> loop-reduce
The legacy pass was called "loop-reduce".
This lowers the number of check-llvm failures under NPM by 83.
Reviewed By: ychen
Differential Revision: https://reviews.llvm.org/D82925
|
 | llvm/lib/FuzzMutate/FuzzerCLI.cpp |
 | llvm/test/Transforms/LoopStrengthReduce/ivchain.ll |
 | llvm/test/Analysis/ScalarEvolution/depth-limit-overrun.ll |
 | llvm/lib/Passes/PassRegistry.def |
Commit
5416fc014ae5590fdef89630f3777d3216879fbb
by thakis[gn build] make building on an arm mac work
Currently requires `llvm_targets_to_build = [ "X86", "AArch64" ]`: building just the host arch (i.e. aarch64) causes some linker errors.
|
 | llvm/utils/gn/gn.py |
 | llvm/utils/gn/secondary/llvm/test/BUILD.gn |
 | llvm/utils/gn/get.py |
 | llvm/utils/gn/secondary/clang/test/BUILD.gn |
 | llvm/utils/gn/secondary/llvm/triples.gni |
Commit
1cfaaf645528cc2fed79617c8ca80945a1504021
by antiagainst[MLIR][SPIRVToLLVM] Convert spv.constant scalars and vectors
This patch introduces conversion pattern for `spv.constant` with scalar and vector types. There is a special case when the constant value is a signed/unsigned integer (vector of integers). Since LLVM dialect does not have signedness semantics, the types had to be converted to signless ints.
Reviewed By: antiagainst
Differential Revision: https://reviews.llvm.org/D82936
|
 | mlir/test/Conversion/SPIRVToLLVM/constant-op-to-llvm.mlir |
 | mlir/lib/Conversion/SPIRVToLLVM/ConvertSPIRVToLLVM.cpp |
Commit
0059f6ffe84241b9728e48c1eabdaf1a6abbef66
by aeubanks[NewPM] Add -basic-aa to pr33196.ll
The legacy pass manager implicitly adds BasicAA, but the new PM does not. This causes pr33196.ll to fail under NPM.
There are almost certainly lots of other failures like this, wanted to get some input on if adding -basic-aa to tests makes sense at scale.
Reviewed By: fhahn
Differential Revision: https://reviews.llvm.org/D82915
|
 | llvm/test/Transforms/NewGVN/pr33196.ll |
Commit
aa7fd905e4e1bc510448431da9310e8cf5197523
by riccibrun[clang][NFC] Store a pointer to the ASTContext in ASTDumper and TextNodeDumper
In general there is no way to get to the ASTContext from most AST nodes (Decls are one of the exception). This will be a problem when implementing the rest of APValue::dump since we need the ASTContext to dump some kinds of APValues.
The ASTContext* in ASTDumper and TextNodeDumper is not always non-null. This is because we still want to be able to use the various dump() functions in a debugger.
No functional changes intended.
|
 | clang/lib/CodeGen/CGExprScalar.cpp |
 | clang-tools-extra/clangd/refactor/tweaks/DumpAST.cpp |
 | clang/lib/AST/TextNodeDumper.cpp |
 | clang/lib/CodeGen/CGExprComplex.cpp |
 | clang/include/clang/AST/TextNodeDumper.h |
 | clang-tools-extra/clang-query/Query.cpp |
 | clang/unittests/AST/CommentParser.cpp |
 | clang/include/clang/AST/Type.h |
 | clang/unittests/AST/MatchVerifier.h |
 | clang/include/clang/AST/ASTTypeTraits.h |
 | clang/include/clang/AST/ASTDumper.h |
 | clang/include/clang/AST/Stmt.h |
 | clang/include/clang/AST/Comment.h |
 | clang/lib/AST/APValue.cpp |
 | clang/lib/AST/ASTTypeTraits.cpp |
 | clang/include/clang/AST/APValue.h |
 | clang/lib/AST/ASTDumper.cpp |
 | clang/lib/ASTMatchers/ASTMatchFinder.cpp |
 | clang/lib/Frontend/ASTConsumers.cpp |
Commit
670dbad473270a2bd46fc611bd48472685403ed6
by daltenty[DebugInfo] Fix LineTest byteswap for cross-targeting builds
Summary: The byte swap fix for big endian hosts in 9782c922cb21 (for D81570) swaps based on the host endianess, but for cross-targeting builds (i.e. big endian host targeting little endian) the host-endianess won't necessarily match the generated DWARF. This change updates the test to use symmetrical constants so the results aren't endian dependent.
Reviewers: jhenderson, hubert.reinterpretcast, stevewan, ikudrin
Reviewed By: ikudrin
Subscribers: ikudrin, aprantl, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D82827
|
 | llvm/unittests/DebugInfo/DWARF/DWARFDebugLineTest.cpp |
Commit
fcf4d5e4499a391dff42ea1a096f146db44147b6
by riccibrunRevert "[clang][NFC] Store a pointer to the ASTContext in ASTDumper and TextNodeDumper"
This reverts commit aa7fd905e4e1bc510448431da9310e8cf5197523.
I missed some dump() functions.
|
 | clang/unittests/AST/MatchVerifier.h |
 | clang/include/clang/AST/Type.h |
 | clang/include/clang/AST/APValue.h |
 | clang/lib/ASTMatchers/ASTMatchFinder.cpp |
 | clang/lib/CodeGen/CGExprComplex.cpp |
 | clang/unittests/AST/CommentParser.cpp |
 | clang/lib/AST/ASTDumper.cpp |
 | clang/lib/CodeGen/CGExprScalar.cpp |
 | clang/include/clang/AST/ASTTypeTraits.h |
 | clang-tools-extra/clang-query/Query.cpp |
 | clang/lib/AST/TextNodeDumper.cpp |
 | clang/include/clang/AST/Comment.h |
 | clang/lib/AST/APValue.cpp |
 | clang/lib/AST/ASTTypeTraits.cpp |
 | clang/include/clang/AST/ASTDumper.h |
 | clang/lib/Frontend/ASTConsumers.cpp |
 | clang/include/clang/AST/TextNodeDumper.h |
 | clang/include/clang/AST/Stmt.h |
 | clang-tools-extra/clangd/refactor/tweaks/DumpAST.cpp |
Commit
70f2bcc197ebc8d1c77c5efd5b822a9c9ccdccc4
by tkeith[flang] Fix bug determining alternate return
The arguments have been moved out of the analyzer so we can't get the expected number there. Instead use the argument count from the newly built callee.
Differential Revision: https://reviews.llvm.org/D83063
|
 | flang/lib/Semantics/expression.cpp |
Commit
7cccd49a553b6381f57f0ad8545fd5ea9e329afd
by pklausler[flang] Clean up binary dependences of runtime libraries
There were dependences upon LLVM libraries in the Fortran runtime support library binaries due to some indirect #includes of llvm/Support/raw_ostream.h, which caused some kind of internal ABI version consistency checking to get pulled in. Fixed by cleaning up some includes.
Reviewed By: tskeith, PeteSteinfeld, sscalpone
Differential Revision: https://reviews.llvm.org/D83060
|
 | flang/lib/Semantics/mod-file.h |
 | flang/include/flang/Common/enum-set.h |
 | flang/lib/Decimal/big-radix-floating-point.h |
 | flang/runtime/transformational.cpp |
 | flang/lib/Decimal/binary-to-decimal.cpp |
Commit
425fb21e03b0ec1cac40a415b6417ff5ba04d076
by thakisld64.lld: Make janky support for tbd files actually work sometimes
Also fix a bug in the test input that made the test miss this issue.
|
 | lld/test/MachO/Inputs/MacOSX.sdk/usr/lib/libSystem.tbd |
 | lld/lib/ReaderWriter/MachO/File.h |
 | lld/test/mach-o/Inputs/MacOSX.sdk/usr/lib/libSystem.tbd |
Commit
286073484f7d36c8d0481be2a2f436f973389f54
by lei[PowerPC]Implement Vector Permute Extended Builtin
Implements vector permute builtin: vec_permx()
Differential Revision: https://reviews.llvm.org/D82869
|
 | llvm/lib/Target/PowerPC/PPCInstrPrefix.td |
 | clang/include/clang/Basic/BuiltinsPPC.def |
 | clang/test/CodeGen/builtins-ppc-p10vector.c |
 | clang/lib/Headers/altivec.h |
 | llvm/include/llvm/IR/IntrinsicsPowerPC.td |
 | llvm/test/CodeGen/PowerPC/builtins-ppc-p10permute.ll |
 | clang/lib/Sema/SemaChecking.cpp |
Commit
08679af900c6274e9d0ec13f8ddd54a39cbefd90
by antiagainstRevert "[MLIR][SPIRV] Support two memory access attributes in OpCopyMemory."
This reverts commit ef2f46e1f6a63040734c48ed53893298df14b6fa, which likely triggers a compiler internal error for MSVC.
Differential Revision: https://reviews.llvm.org/D83075
|
 | mlir/include/mlir/Dialect/SPIRV/SPIRVOps.td |
 | mlir/lib/Dialect/SPIRV/Serialization/Deserializer.cpp |
 | mlir/test/Dialect/SPIRV/Serialization/memory-ops.mlir |
 | mlir/lib/Dialect/SPIRV/Serialization/Serializer.cpp |
 | mlir/lib/Dialect/SPIRV/SPIRVOps.cpp |
 | mlir/test/Dialect/SPIRV/ops.mlir |
Commit
cdf84c7b6b7a87949921ae23084f37ce74500800
by craig.topper[X86] Add test cases for v32i8 rotate with min-legal-vector-width=256
We currently don't mark ROTL as custom when avx512bw is enabled under the assumption we'll be able to promote the shifts in the rotate idiom. But if we don't have 512-bit registers enabled we can't promote.
|
 | llvm/test/CodeGen/X86/min-legal-vector-width.ll |
Commit
204a21317a33437e7b4746d0414e1dd24fd29053
by craig.topper[X86] Modify the conditions for when we stop making v16i8/v32i8 rotate Custom based on having avx512 features.
The comments here indicate that we prefer to promote the shifts instead of allowing rotate to be pattern matched. But we weren't taking into account whether 512-bit registers are enabled or whethever we have vpsllvw/vpsrlvw instructions.
splatvar_rotate_v32i8 is a slight regrssion, but the other cases are neutral or improved.
|
 | llvm/test/CodeGen/X86/min-legal-vector-width.ll |
 | llvm/lib/Target/X86/X86ISelLowering.cpp |
Commit
b93e6650c8ac319e326d56d7553cb71c202ba6d8
by spatel[x86] add tests for vector select with bit-test condition; NFC
|
 | llvm/test/CodeGen/X86/vector-compare-combines.ll |
 | llvm/test/CodeGen/X86/vselect-pcmp.ll |
Commit
ee01c7a7406345a50176216216ca384fb60e0267
by ajcbik[mlir] [VectorOps] Add choice between dot and axpy lowering of vector.contract
Default vector.contract lowering essentially yields a series of sdot/ddot operations. However, for some layouts a series of saxpy/daxpy operations, chained through fma are more efficient. This CL introduces a choice between the two lowering paths. A default heuristic is to follow.
Some preliminary avx2 performance numbers for matrix-times-vector. Here, dot performs best for 64x64 A x b and saxpy for 64x64 A^T x b.
``` ------------------------------------------------------------ A x b A^T x b ------------------------------------------------------------ GFLOPS sdot (reassoc) saxpy sdot (reassoc) saxpy ------------------------------------------------------------ 1x1 0.6 0.9 0.6 0.9 2x2 2.5 3.2 2.4 3.5 4x4 6.4 8.4 4.9 11.8 8x8 11.7 6.1 5.0 29.6 16x16 20.7 10.8 7.3 43.3 32x32 29.3 7.9 6.4 51.8 64x64 38.9 79.3 128x128 32.4 40.7 ------------------------------------------------------------ ```
Reviewed By: nicolasvasilache, ftynse
Differential Revision: https://reviews.llvm.org/D83012
|
 | mlir/lib/Dialect/Vector/VectorTransforms.cpp |
 | mlir/test/lib/Transforms/TestVectorTransforms.cpp |
 | mlir/test/Dialect/Vector/vector-contract-matvec-transforms.mlir |
 | mlir/include/mlir/Dialect/Vector/VectorOps.h |
 | mlir/include/mlir/Dialect/Vector/VectorTransforms.h |
Commit
359345d609043543e6480954c535d8d5074a5a94
by nikita.ppv[InstSimplify] Add test for sext/zext comparisons (NFC)
|
 | llvm/test/Transforms/InstSimplify/cmp_ext.ll |
Commit
47481cbffbefb399e672cf056c15323917bf43bf
by Vedant Kumar[test] Deflake test/profile/ContinuousSyncMode/online-merging.c
This test spawns 32 child processes which race to update counters on shared memory pages. On some Apple-internal machines, two processes race to perform an update in approximately 0.5% of the test runs, leading to dropped counter updates. Deflake the test by using atomic increments.
Tested with:
``` $ for I in $(seq 1 1000); do echo ":: Test run $I..."; ./bin/llvm-lit projects/compiler-rt/test/profile/Profile-x86_64h/ContinuousSyncMode/online-merging.c -av || break; done ```
rdar://64956774
|
 | compiler-rt/test/profile/ContinuousSyncMode/online-merging.c |
Commit
e87a95b5c24bf2c47af3b90990ac559453266981
by craig.topper[X86] Add test case for unfolding broadcast load from vpternlog.
|
 | llvm/test/CodeGen/X86/avx512-broadcast-unfold.ll |
Commit
912cd8a37f4628f63c2aec71c772f8935f70d0a8
by craig.topper[X86] Add vpternlog to the broadcast unfolding table.
|
 | llvm/test/CodeGen/X86/avx512-broadcast-unfold.ll |
 | llvm/lib/Target/X86/X86InstrFoldTables.cpp |
Commit
6076fc698df4adb62b2496dcd5f84e778ddc60af
by lei[PowerPC]Add Vector Insert Instruction Definitions and MC Test
Adds td definitions and asm/disasm tests for the following instructions:
VINSBVLX VINSBVRX VINSHVLX VINSHVRX VINSWVLX VINSWVRX VINSBLX VINSBRX VINSHLX VINSHRX VINSWLX VINSWRX VINSDLX VINSDRX VINSW VINSD
Differential Revision: https://reviews.llvm.org/D83052
|
 | llvm/test/MC/PowerPC/ppc64-encoding-ISA31.s |
 | llvm/lib/Target/PowerPC/PPCInstrPrefix.td |
 | llvm/test/MC/Disassembler/PowerPC/ppc64-encoding-ISA31.txt |
Commit
bc110de78a4bf47f63267eae07ef02f14bcc78e3
by spatel[SelectionDAG] don't split branch on logic-of-vector-compares
SelectionDAGBuilder converts logic-of-compares into multiple branches based on a boolean TLI setting in isJumpExpensive(). But that probably never considered the pattern of extracted bools from a vector compare - it seems unlikely that we would want to turn vector logic into control-flow.
The motivating x86 reduction case is shown in PR44565: https://bugs.llvm.org/show_bug.cgi?id=44565 ...and that test shows the expected improvement from using pmovmsk codegen.
For AArch64, I modified the test to include an extra op because the simpler test gets transformed by a codegen invocation of SimplifyCFG.
Differential Revision: https://reviews.llvm.org/D82602
|
 | llvm/test/CodeGen/X86/setcc-logic.ll |
 | llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp |
 | llvm/test/CodeGen/AArch64/vec-extract-branch.ll |
Commit
4585e3509c2db8c92ceae64ad8d7b073c0090b8f
by spatel[x86] remove redundant tests with no check lines; NFC
These were accidentally included with: rGb93e6650c8ac
|
 | llvm/test/CodeGen/X86/vector-compare-combines.ll |
Commit
0fd383e6566482cde8027f5db66ceca86823b771
by sameerarora101Fix typo and check commit access.
|
 | llvm/tools/llvm-objcopy/ELF/Object.cpp |
Commit
ca464639a1c9dd3944eb055ffd2796e8c2e7639f
by lei[PowerPC] Implement Vector Blend Builtins in LLVM/Clang
Implements vec_blendv()
Differential Revision: https://reviews.llvm.org/D82774
|
 | llvm/test/CodeGen/PowerPC/builtins-ppc-p10permute.ll |
 | clang/test/CodeGen/builtins-ppc-p10vector.c |
 | llvm/include/llvm/IR/IntrinsicsPowerPC.td |
 | clang/lib/Headers/altivec.h |
 | llvm/lib/Target/PowerPC/PPCInstrPrefix.td |
 | clang/include/clang/Basic/BuiltinsPPC.def |
Commit
37f98f6f4c85010c786591e1f6bcacdf1bfb2b25
by pklausler[flang] External I/O runtime work, repackaged (part 1)
Add a isFixedRecordLength flag member to Connection to disambiguate the state of "record has known variable length" from "record has fixed length". Code that sets and tests this flag will appear in later patches. Rearrange data members to reduce storage requirements, since Connection might indirectly end up on a program stack frame. Add a utility member function BeginRecord(); use it in internal I/O processing.
Reviewed By: tskeith, sscalpone
Differential Revision: https://reviews.llvm.org/D83098
|
 | flang/runtime/connection.h |
 | flang/runtime/internal-unit.cpp |
Commit
acf6c94a3881859988c4cb62172e5bc08ece7f9a
by craig.topper[X86] Teach lower512BitShuffle to try bitmask and bitblend before splitting v32i16/v64i8 on av512f only targets.
We consider v32i16/v64i8 to be legal types on avx512f, but we don't have most operations until avx512bw. But we can use and/or/xor operations. So try those before splitting.
This is especially helpful since we turn some ands with constant masks into shuffles in early DAG combines. So we should make sure we recover those back to AND.
|
 | llvm/test/CodeGen/X86/vector-fshr-512.ll |
 | llvm/lib/Target/X86/X86ISelLowering.cpp |
 | llvm/test/CodeGen/X86/vector-fshl-512.ll |
 | llvm/test/CodeGen/X86/vector-shuffle-512-v64.ll |
 | llvm/test/CodeGen/X86/avx512-mask-op.ll |
 | llvm/test/CodeGen/X86/vector-shuffle-512-v32.ll |
 | llvm/test/CodeGen/X86/vector-shuffle-avx512.ll |
 | llvm/test/CodeGen/X86/combine-sdiv.ll |
 | llvm/test/CodeGen/X86/pr45443.ll |
Commit
39f4b1c86eda23d8d91aaee4d73991b2d77069b4
by thakis[gn build] get everything to build when llvm_targets_to_build is just AArch64
|
 | llvm/utils/gn/secondary/llvm/tools/llvm-ml/BUILD.gn |
 | llvm/utils/gn/secondary/llvm/tools/llvm-mc/BUILD.gn |
Commit
739c7a0a04d2728bfa9a92b30652ac3e2ae6047c
by lebedev.ri[NFC][Scalarizer] Add some insertelement/extractelement tests
See D82961/D82970/D83101/D83102.
|
 | llvm/test/Transforms/Scalarizer/constant-insertelement.ll |
 | llvm/test/Transforms/Scalarizer/variable-extractelement.ll |
 | llvm/test/Transforms/Scalarizer/constant-extractelement.ll |
 | llvm/test/Transforms/Scalarizer/variable-insertelement.ll |
 | llvm/test/Transforms/Scalarizer/basic.ll |
Commit
e98030a55f9dd19aed4b763cc1eced54ae7e550e
by lebedev.ri[NFC][Scalarizer] Also scalarize loads in newly-added tests
Should help better showcase improvements
|
 | llvm/test/Transforms/Scalarizer/variable-insertelement.ll |
 | llvm/test/Transforms/Scalarizer/constant-insertelement.ll |
 | llvm/test/Transforms/Scalarizer/variable-extractelement.ll |
 | llvm/test/Transforms/Scalarizer/constant-extractelement.ll |
Commit
4e958c1748a98d700def115c034e3a863be269e3
by pklausler[flang] External I/O runtime work, repackaged (part 2)
Clean up the input editing path so external input works better when combined with further changes. List-directed input needed to allow for advancement to following records.
Reviewed By: tskeith, sscalpone
Differential Revision: https://reviews.llvm.org/D83104
|
 | flang/runtime/edit-input.cpp |
Commit
a3daa3f75a01101790f39fb9d52bf1f8824655c9
by carl.ritson[AMDGPU] Unify early PS termination blocks
Generate a single early exit block out-of-line and branch to this if all lanes are killed. This avoids branching if lanes are active.
Reviewed By: nhaehnle
Differential Revision: https://reviews.llvm.org/D82641
|
 | llvm/test/CodeGen/AMDGPU/skip-if-dead.ll |
 | llvm/lib/Target/AMDGPU/SIInsertSkips.cpp |
 | llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp |
 | llvm/test/CodeGen/AMDGPU/insert-skips-kill-uncond.mir |
Commit
2bfcacf0ad362956277a1c2c9ba00ddc453a42ce
by carl.ritson[AMDGPU] Insert PS early exit at end of control flow
Exit early if the exec mask is zero at the end of control flow. Mark the ends of control flow during control flow lowering and convert these to exits during the insert skips pass.
Reviewed By: nhaehnle
Differential Revision: https://reviews.llvm.org/D82737
|
 | llvm/test/CodeGen/AMDGPU/skip-if-dead.ll |
 | llvm/lib/Target/AMDGPU/SILowerControlFlow.cpp |
 | llvm/lib/Target/AMDGPU/SIInsertSkips.cpp |
 | llvm/lib/Target/AMDGPU/SIInstructions.td |
 | llvm/test/CodeGen/AMDGPU/kill-infinite-loop.ll |
Commit
40e9e0826be8e7a80a5d0e3362311bc5c7d14e3d
by lkail[PowerPC][NFC] Refactor lowerDynamicAlloc
When performing dynamic stack allocation, calculation of frame pointer and actual negsize can be separated. This patch refactors `lowerDynamicAlloc` in preparation of supporting `-fstack-clash-protection` which also has to calculate actual frame pointer and negsize.
Differential Revision: https://reviews.llvm.org/D81354
|
 | llvm/lib/Target/PowerPC/PPCRegisterInfo.h |
 | llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp |
Commit
7ec6927badecae0adf63eb72c42194deb68a9685
by carl.ritsonRevert "[AMDGPU] Insert PS early exit at end of control flow"
This reverts commit 2bfcacf0ad362956277a1c2c9ba00ddc453a42ce.
There appears to be an issue to analysis preservation.
|
 | llvm/lib/Target/AMDGPU/SIInsertSkips.cpp |
 | llvm/test/CodeGen/AMDGPU/skip-if-dead.ll |
 | llvm/lib/Target/AMDGPU/SIInstructions.td |
 | llvm/test/CodeGen/AMDGPU/kill-infinite-loop.ll |
 | llvm/lib/Target/AMDGPU/SILowerControlFlow.cpp |
Commit
53eb7fda51f27b1b098fd6d5c9385948e891e800
by jezng[lld-macho] Support binding dysyms to any section
Previously, we only supported binding dysyms to the GOT. This diff adds support for binding them to any arbitrary section. C++ programs appear to use this, I believe for vtables and type_info.
This diff also makes our bind opcode encoding a bit smarter -- we now encode just the differences between bindings, which will make things more compact.
I was initially concerned about the performance overhead of iterating over these relocations, but it turns out that the number of such relocations is small. A quick analysis of my llvm-project build directory showed that < 1.3% out of ~7M relocations are RELOC_UNSIGNED bindings to symbols (including both dynamic and static symbols).
Reviewed By: #lld-macho, smeenai
Differential Revision: https://reviews.llvm.org/D83103
|
 | lld/MachO/Writer.cpp |
 | lld/test/MachO/dylink.s |
 | lld/MachO/Arch/X86_64.cpp |
 | lld/MachO/SyntheticSections.cpp |
 | lld/MachO/Target.h |
 | lld/MachO/SyntheticSections.h |
Commit
d8921a80052575bb2b9cb345e81e8e22d6c6f516
by lkail[PowerPC][NFC] Prevent unused error when assertion is disabled.
|
 | llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp |
Commit
42ca2070d7de8594bf3880a74d7e4454a244b266
by carl.ritson[AMDGPU] Insert PS early exit at end of control flow
Exit early if the exec mask is zero at the end of control flow. Mark the ends of control flow during control flow lowering and convert these to exits during the insert skips pass.
Reviewed By: nhaehnle
Differential Revision: https://reviews.llvm.org/D82737
|
 | llvm/lib/Target/AMDGPU/SIInstructions.td |
 | llvm/test/CodeGen/AMDGPU/kill-infinite-loop.ll |
 | llvm/test/CodeGen/AMDGPU/skip-if-dead.ll |
 | llvm/lib/Target/AMDGPU/SILowerControlFlow.cpp |
 | llvm/lib/Target/AMDGPU/SIInsertSkips.cpp |
Commit
52855ed099fa8caed908584675c892c27445c1dd
by craig.topper[X86] Add back support for matching VPTERNLOG from back to back logic ops.
I think this mostly looks ok. The only weird thing I noticed was a couple rotate vXi8 tests picked up an extra logic op where we have
(and (or (and), (andn)), X). Previously we matched the (or (and), (andn)) to vpternlog, but now we match the (and (or), X) and leave the and/andn unmatched.
|
 | llvm/test/CodeGen/X86/avx512-cvt.ll |
 | llvm/test/CodeGen/X86/min-legal-vector-width.ll |
 | llvm/test/CodeGen/X86/vector-shift-ashr-512.ll |
 | llvm/test/CodeGen/X86/vector-rotate-128.ll |
 | llvm/lib/Target/X86/X86ISelDAGToDAG.cpp |
 | llvm/test/CodeGen/X86/midpoint-int-vec-128.ll |
 | llvm/test/CodeGen/X86/vector-fshl-rot-256.ll |
 | llvm/test/CodeGen/X86/vector-fshr-rot-256.ll |
 | llvm/test/CodeGen/X86/midpoint-int-vec-256.ll |
 | llvm/test/CodeGen/X86/avx512-mask-op.ll |
 | llvm/test/CodeGen/X86/vec-strict-inttofp-512.ll |
 | llvm/test/CodeGen/X86/vector-rotate-512.ll |
 | llvm/test/CodeGen/X86/vector-shift-ashr-256.ll |
 | llvm/test/CodeGen/X86/vector-fshl-256.ll |
 | llvm/test/CodeGen/X86/vector-fshr-rot-512.ll |
 | llvm/test/CodeGen/X86/vector-rotate-256.ll |
 | llvm/test/CodeGen/X86/vector-shift-ashr-128.ll |
 | llvm/test/CodeGen/X86/fp-round.ll |
 | llvm/test/CodeGen/X86/avx512-gfni-intrinsics.ll |
 | llvm/test/CodeGen/X86/vector-fshl-rot-512.ll |
 | llvm/test/CodeGen/X86/machine-combiner-int-vec.ll |
 | llvm/test/CodeGen/X86/ssub_sat_vec.ll |
 | llvm/test/CodeGen/X86/vector-shift-ashr-sub128.ll |
 | llvm/test/CodeGen/X86/vector-fshr-256.ll |
 | llvm/test/CodeGen/X86/vector-idiv-sdiv-512.ll |
 | llvm/test/CodeGen/X86/vector-fshl-512.ll |
 | llvm/test/CodeGen/X86/vector-fshr-512.ll |
 | llvm/test/CodeGen/X86/midpoint-int-vec-512.ll |
 | llvm/test/CodeGen/X86/sadd_sat_vec.ll |
Commit
03828e38c3cf6f1b8f548b724bcf46e0cffeeac8
by lkail[PowerPC] Implement probing for dynamic stack allocation
This patch is part of supporting `-fstack-clash-protection`. Mainly do such things compared to existing `lowerDynamicAlloc`
- Added a new pseudo instruction PPC::PREPARE_PROBED_ALLOC to get actual frame pointer and final stack pointer. - Synthesize a loop to probe by blocks. - Use DYNAREAOFFSET to get MaxCallFrameSize which is calculated in prologepilog.
Differential Revision: https://reviews.llvm.org/D81358
|
 | llvm/lib/Target/PowerPC/PPCISelLowering.cpp |
 | llvm/test/CodeGen/PowerPC/stack-clash-dynamic-alloca.ll |
 | llvm/lib/Target/PowerPC/PPCInstr64Bit.td |
 | llvm/lib/Target/PowerPC/PPCISelLowering.h |
 | llvm/lib/Target/PowerPC/PPCInstrInfo.td |
 | llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp |
 | llvm/lib/Target/PowerPC/PPCRegisterInfo.h |
Commit
0724153bbeb543b329c3af51930092f2d73c503e
by sam.parker[CostModel] Fix cast crash
Don't presume instruction operands while matching reductions.
Bugzilla: https://bugs.llvm.org/show_bug.cgi?id=46430
Differential Revision: https://reviews.llvm.org/D82453
|
 | llvm/lib/Analysis/TargetTransformInfo.cpp |
 | llvm/test/Transforms/LoopUnroll/X86/pr46430.ll |
Commit
283c8f7f5ad0328ed99ec189ce3d6b3c7c877d36
by hokein.wu[clang] Check ValueDependent instead of InstantiationDependent before executing the align expr for builtin align functions.
in general, value dependent is a subset of instnatiation dependent. This would allows us to produce diagnostics for the align expression (which is instantiation dependent but not value dependent).
Differential Revision: https://reviews.llvm.org/D83074
|
 | clang/lib/Sema/SemaChecking.cpp |
 | clang/test/SemaCXX/builtin-align-cxx.cpp |
Commit
b94e9b7f053875bf3f1c1c61e0c0fa9336a2b2c1
by craig.topper[X86] Remove MODRM_SPLITREGM from the disassembler tables.
This offers a very minor table size reduction due to only being used for one AMX opcode.
|
 | llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp |
 | llvm/include/llvm/Support/X86DisassemblerDecoderCommon.h |
 | llvm/utils/TableGen/X86DisassemblerTables.cpp |
Commit
3587c9c4275b96e7a7ddc4eeb6a001b7d03b55bb
by gchatelet[NFC] Use ADT/Bitfields in Instructions
This is an example patch for D81580.
Differential Revision: https://reviews.llvm.org/D81662
|
 | llvm/lib/Target/AMDGPU/SIISelLowering.cpp |
 | llvm/include/llvm/IR/InstrTypes.h |
 | llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp |
 | llvm/include/llvm/IR/Instruction.h |
 | llvm/include/llvm/IR/Instructions.h |
 | llvm/include/llvm/Support/AtomicOrdering.h |
 | llvm/lib/IR/Instructions.cpp |
Commit
c8ef3d5a2f19d5ff6b907d2ca877f96b67d979db
by sgueltonFix stack-clash probing for large static alloca
Differential Revision: https://reviews.llvm.org/D82867
|
 | llvm/lib/Target/X86/X86FrameLowering.cpp |
 | llvm/test/CodeGen/X86/stack-clash-dynamic-alloca.ll |
 | llvm/test/CodeGen/X86/stack-clash-large.ll |
 | llvm/lib/Target/X86/X86ISelLowering.cpp |
Commit
01c4574a129e987cd89daf94969bda2e929fe5a8
by clfbbn[Attributor] Create getName() method for abstract attribute
Summary: The `getName()` method returns the name of the abstract attribute
Reviewers: jdoerfert, sstefan1, uenoku, homerdin, baziotis
Reviewed By: sstefan1
Subscribers: uenoku, kuter, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D83109
|
 | llvm/include/llvm/Transforms/IPO/Attributor.h |