Commit
605751790418ca4fb1df1e94dfbac34cfcc1b96f
by Casey[libcxx][test] Silence MSVC narrowing warning
|
 | libcxx/test/std/utilities/function.objects/func.search/func.search.default/default.pred.pass.cpp |
Commit
caaaebcde462bf681498ce85c2659d683a07fc87
by zarko[AIX] Actually push back "-mabi=vec-extabi" when option is on.
Accidentaly ommitted the portion of pushing back the option in https://reviews.llvm.org/D94986
|
 | clang/lib/Driver/ToolChains/Clang.cpp |
Commit
ee4f8860e5f882a7ed1e1549301006c14ed4e749
by i[VE] Add include for formatted_raw_ostream after 046cfb856517c6140d5e1c0989232e26d00b05b2
|
 | llvm/lib/Target/VE/MCTargetDesc/VETargetStreamer.h |
 | llvm/lib/Target/VE/MCTargetDesc/VETargetStreamer.cpp |
Commit
d6656c3b258ef2c40ad089dbb4bfcbb29fd47d9e
by Jessica Paquette[GlobalISel] Remove hint instructions in generic InstructionSelect code.
I think every target will want to remove these in the same way. Rather than making them all implement the same code, let's just put this in InstructionSelect.
Differential Revision: https://reviews.llvm.org/D95652
|
 | llvm/lib/CodeGen/GlobalISel/InstructionSelect.cpp |
 | llvm/test/CodeGen/AArch64/GlobalISel/select-hint.mir |
Commit
0703b0753c40dad30f1683403f6600bd2cb42055
by ctetreau[CMake] Actually require python 3.6 or greater
Previously, CMake would find any version of Python3. However, the project claims to require 3.6 or greater, and 3.6 features are being used.
Reviewed By: yln
Differential Revision: https://reviews.llvm.org/D95635
|
 | lld/CMakeLists.txt |
 | clang/CMakeLists.txt |
 | llvm/CMakeLists.txt |
 | mlir/CMakeLists.txt |
Commit
d3e8b9fdc0de18ff92764f1be0a9b5a13fbbe9de
by ctetreauRevert "[CMake] Actually require python 3.6 or greater"
There are builders that do not have python 3.6. Revert until this situation can be rectified
This reverts commit 0703b0753c40dad30f1683403f6600bd2cb42055.
|
 | lld/CMakeLists.txt |
 | llvm/CMakeLists.txt |
 | mlir/CMakeLists.txt |
 | clang/CMakeLists.txt |
Commit
8d7cbcf582c5c7bc08a9de7f31fed63bf2687127
by pifon[mlir] Preserve lexicographic order after loop collapsing.
Currently, for a scf.parallel (i,j,k) after the loop collapsing to 1D is done, the IVs would be traversed as for an scf.parallel(k,j,i).
Differential Revision: https://reviews.llvm.org/D95693
|
 | mlir/test/Transforms/single-parallel-loop-collapsing.mlir |
 | mlir/lib/Transforms/Utils/LoopUtils.cpp |
 | mlir/test/Transforms/parallel-loop-collapsing.mlir |
Commit
632545e8ce846ccaeca8df15a3dc5e36d01a1275
by mgorny[clang-tidy] Fix linking tests to LLVMTestingSupport
LLVMTestingSupport is not part of libLLVM, and therefore can not be linked to via LLVM_LINK_COMPONENTS. Instead, it needs to be specified explicitly to ensure that it is linked explicitly even if LLVM_LINK_LLVM_DYLIB is used. This is consistent with handling in clangd.
Fixes PR#48931
Differential Revision: https://reviews.llvm.org/D95653
|
 | clang-tools-extra/unittests/clang-tidy/CMakeLists.txt |
Commit
9a81a4ef79cf283fcf55a25a0bea67ba34dc0d53
by tmsriramEmit metadata when instr. profiles hash mismatch occurs.
This patch emits "instr_prof_hash_mismatch" function annotation metadata if there is a hash mismatch while applying instrumented profiles.
During the PGO optimized build using instrumented profiles, if the CFG of the function has changed since generating the profile, a hash mismatch is encountered. This patch emits this information as annotation metadata. We plan to use this with Propeller which is done at the machine IR level. Propeller is usually applied on top of PGO and a hash mismatch during PGO could be used to detect source drift.
Differential Revision: https://reviews.llvm.org/D95495
|
 | llvm/test/Transforms/PGOProfile/hash_mismatch_metadata.ll |
 | llvm/test/Transforms/PGOProfile/Inputs/hash_mismatch_metadata.proftext |
 | llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp |
Commit
49a6502cd5c2361d9c6f49ae1ee36940afbdeb0a
by ctetreau[SVE] delete VectorType::getNumElements()
The previously agreed-upon deprecation period for VectorType::getNumElements() has passed. This patch removes this method and completes the refactor proposed in the RFC: https://lists.llvm.org/pipermail/llvm-dev/2020-March/139811.html
Reviewed By: david-arm, rjmccall
Differential Revision: https://reviews.llvm.org/D95570
|
 | llvm/include/llvm/IR/DerivedTypes.h |
Commit
a78d8feb48a536f50736f97a9ae28d5bae94e8ed
by lebedev.ri[LowerConstantIntrinsics] Preserve Dominator Tree, if avaliable
|
 | llvm/test/Other/opt-O3-pipeline-enable-matrix.ll |
 | llvm/test/Other/opt-O2-pipeline.ll |
 | llvm/test/Other/opt-Os-pipeline.ll |
 | llvm/test/CodeGen/AMDGPU/opt-pipeline.ll |
 | llvm/lib/Transforms/Scalar/LowerConstantIntrinsics.cpp |
 | llvm/test/Other/opt-O3-pipeline.ll |
Commit
c2534a7097c054547b2c30ef0d337088dd5da3d1
by lebedev.ri[ShadowStackGCLowering] Preserve Dominator Tree, if avaliable
This doesn't help avoid any Dominator Tree recalculations just yet, there's one more pass to go..
|
 | llvm/include/llvm/Transforms/Utils/Local.h |
 | llvm/lib/CodeGen/ShadowStackGCLowering.cpp |
 | llvm/lib/Transforms/Utils/EscapeEnumerator.cpp |
 | llvm/include/llvm/Transforms/Utils/EscapeEnumerator.h |
 | llvm/lib/Transforms/Utils/Local.cpp |
Commit
ddc4b56eef9fec990915470069a29e70bbde3711
by lebedev.ri[ExpandMemCmpPass] Preserve Dominator Tree, if available
This finishes getting rid of all the avoidable Dominator Tree recalculations in X86 optimized codegen pipeline.
|
 | llvm/lib/CodeGen/ExpandMemCmp.cpp |
 | llvm/test/CodeGen/AArch64/O3-pipeline.ll |
 | llvm/test/CodeGen/ARM/O3-pipeline.ll |
 | llvm/test/CodeGen/X86/opt-pipeline.ll |
Commit
9dbe736cbd2c6a0c3d62a6fd6a2cf31c9ffc9577
by Stanislav.Mekhanoshin[AMDGPU] Be more specific in needsFrameBaseReg
A condition "mayLoadOrStore" is too broad for that function.
Differential Revision: https://reviews.llvm.org/D95700
|
 | llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp |
Commit
e08b67f3a8ada62dcf84d41929c208adc656ba92
by kai.wang[NFC][RISCV] Remove redundant pseudo instructions for vector load/store.
Not all combinations of SEW and LMUL we need to support. For example, we only need to support [M1, M2, M4, M8] for SEW = 64. There is no need to define pseudos for PseudoVLSE64MF8, PseudoVLSE64MF4, and PseudoVLSE64MF2.
Differential Revision: https://reviews.llvm.org/D95667
|
 | llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td |
Commit
282aca10aeb03bdaef0a8d4f3faa4c2ff236e527
by kai.wang[RISCV] Update the version number to v0.10 for vector.
v0.10 is tagged in V specification. Update the version to v0.10.
Differential Revision: https://reviews.llvm.org/D95680
|
 | clang/test/Preprocessor/riscv-target-features.c |
 | clang/lib/Basic/Targets/RISCV.cpp |
 | clang/test/Driver/riscv-arch.c |
 | llvm/test/MC/RISCV/attribute-arch.s |
 | clang/lib/Driver/ToolChains/Arch/RISCV.cpp |
 | llvm/lib/Target/RISCV/RISCVInstrInfoV.td |
 | llvm/test/CodeGen/RISCV/attributes.ll |
 | llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp |
 | llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.cpp |
Commit
ebe74d9592d097501f376c2086e58d35aa318896
by pklausler[flang] Support disabled alternative PARAMETER statement
Legacy Fortran implementations support an alternative form of the PARAMETER statement; it differs syntactically from the standard's PARAMETER statement by lacking parentheses, and semantically by using the type and shape of the initialization expression to define the attributes of the named constant. (GNU Fortran gets that part wrong; Intel Fortran and nvfortran have full support.)
This patch disables the old style PARAMETER statement by default, as it is syntactically ambiguous with conforming assignment statements; adds a new "-falternative-parameter-statement" option to enable it; and implements it correctly when enabled.
Fixes https://bugs.llvm.org/show_bug.cgi?id=48774, in which a user tripped over the syntactic ambiguity.
Differential Revision: https://reviews.llvm.org/D95697
|
 | flang/include/flang/Semantics/tools.h |
 | flang/lib/Semantics/resolve-names.cpp |
 | flang/lib/Semantics/type.cpp |
 | flang/docs/Extensions.md |
 | flang/lib/Evaluate/shape.cpp |
 | flang/include/flang/Common/Fortran-features.h |
 | flang/include/flang/Semantics/scope.h |
 | flang/lib/Semantics/tools.cpp |
 | flang/test/Semantics/oldparam01.f90 |
 | flang/test/Semantics/oldparam02.f90 |
 | flang/lib/Semantics/scope.cpp |
 | flang/tools/f18/f18.cpp |
 | flang/test/Semantics/oldparam03.f90 |
Commit
9847023660467a4469b5667bcf7a4c73a4780037
by kai.wang[RISCV] Update the version number to v0.10 for vector.
|
 | llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td |
 | llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td |
Commit
0af25275364e27d9766eb0912a5dd9731d62936b
by jpienaarUpdate ElementsAttr::isValidIndex to handle ElementsAttr with a scalar. Scalar will have rank 0.
Update ElementsAttr::isValidIndex to handle ElementsAttr with a scalar. Scalar will have rank 0.
Reviewed By: rriddle
Differential Revision: https://reviews.llvm.org/D95663
|
 | mlir/lib/IR/BuiltinAttributes.cpp |
 | mlir/unittests/IR/AttributeTest.cpp |
Commit
719f778441750dcadcf7c7c411d1cfb39029d59a
by nhawes[VFS] Combine VFSFromYamlDirIterImpl and OverlayFSDirIterImpl into a single implementation (NFC)
As a fixme notes, both of these directory iterator implementations are conceptually similar and duplicate the functionality of returning and uniquing entries across two or more directories. This patch combines them into a single class 'CombiningDirIterImpl'.
This also drops the 'Redirecting' prefix from RedirectingDirEntry and RedirectingFileEntry to save horizontal space. There's no loss of clarity as they already have to be prefixed with 'RedirectingFileSystem::' whenever they're referenced anyway.
rdar://problem/72485443 Differential Revision: https://reviews.llvm.org/D94857
|
 | lldb/source/Host/common/FileSystem.cpp |
 | llvm/include/llvm/Support/VirtualFileSystem.h |
 | llvm/lib/Support/VirtualFileSystem.cpp |
Commit
ad5307aaca7e3ce43918ef464ea271cfe53deccb
by craig.topper[RISCV] Merge rv32 and rv64 vector fadd/fsub/fmul/fdiv sdnode tests into single tests files with 2 run lines.
The IR and CHECK lines are identical so just keep one copy.
|
 | llvm/test/CodeGen/RISCV/rvv/vfsub-sdnode-rv32.ll |
 | llvm/test/CodeGen/RISCV/rvv/vfneg-sdnode.ll |
 | llvm/test/CodeGen/RISCV/rvv/vfadd-sdnode.ll |
 | llvm/test/CodeGen/RISCV/rvv/vfadd-sdnode-rv64.ll |
 | llvm/test/CodeGen/RISCV/rvv/vfmul-sdnode-rv32.ll |
 | llvm/test/CodeGen/RISCV/rvv/vfsub-sdnode-rv64.ll |
 | llvm/test/CodeGen/RISCV/rvv/vfadd-sdnode-rv32.ll |
 | llvm/test/CodeGen/RISCV/rvv/vfdiv-sdnode.ll |
 | llvm/test/CodeGen/RISCV/rvv/vfmul-sdnode.ll |
 | llvm/test/CodeGen/RISCV/rvv/vfmul-sdnode-rv64.ll |
 | llvm/test/CodeGen/RISCV/rvv/vfsub-sdnode.ll |
 | llvm/test/CodeGen/RISCV/rvv/vfdiv-sdnode-rv64.ll |
 | llvm/test/CodeGen/RISCV/rvv/vfdiv-sdnode-rv32.ll |
Commit
4d9336923ec33ff789ed0f32dd0d13a4f902b3aa
by jpienaarUse type alias for large tuples
Tuples can occupy quite a lot of space, instead of printing out tuple type everywhere, just use the type alias if larger (arbitrarily chose a bound for now).
Differential Revision: https://reviews.llvm.org/D95707
|
 | mlir/lib/IR/BuiltinDialect.cpp |
Commit
c32f3998029d52df33d060e759563e3d314ce29f
by tmsriramDetect Source Drift with Propeller.
Source Drift happens when the sources are updated after profiling the binary but before building the final optimized binary. If the source has changed since the profiles were obtained, optimizing basic blocks might be sub-optimal. This only applies to BasicBlockSection::List as it creates clusters of basic blocks using basic block ids. Source drift can invalidate these groupings leading to sub-optimal code generation with regards to performance.
PGO source drift for a particular function can be detected using function metadata added in D95495.
When source drift is deected, disable basic block clusters by default which can be re-enabled with -mllvm option bbsections-detect-source-drift=false.
Differential Revision: https://reviews.llvm.org/D95593
|
 | llvm/lib/CodeGen/BasicBlockSections.cpp |
 | llvm/test/CodeGen/X86/basic-block-sections-source-drift.ll |
Commit
a5d9e0c79befb6856ae78a3c5f515287ad89a40f
by pengfei.wang[X86] Fix tile config register spill issue.
This is an optimized approach for D94155.
Previous code build the model that tile config register is the user of each AMX instruction. There is a problem for the tile config register spill. When across function, the ldtilecfg instruction may be inserted on each AMX instruction which use tile config register. This cause all tile data register clobber.
To fix this issue, we remove the model of tile config register. Instead, we analyze the AMX instructions between one call to another. We will insert ldtilecfg after the first call if we find any AMX instructions.
Reviewed By: LuoYuanke
Differential Revision: https://reviews.llvm.org/D95136
|
 | llvm/lib/Target/X86/X86PreTileConfig.cpp |
 | llvm/lib/Target/X86/X86ISelDAGToDAG.cpp |
 | llvm/test/CodeGen/X86/AMX/amx-ldtilecfg-insert.ll |
 | llvm/test/CodeGen/X86/AMX/amx-spill-merge.ll |
 | llvm/test/CodeGen/X86/AMX/amx-bf16-intrinsics.ll |
 | llvm/lib/Target/X86/X86InstrInfo.cpp |
 | llvm/lib/Target/X86/X86InstrAMX.td |
 | llvm/lib/Target/X86/X86TileConfig.cpp |
 | llvm/lib/Target/X86/X86FrameLowering.cpp |
 | llvm/lib/Target/X86/X86ExpandPseudo.cpp |
 | llvm/test/CodeGen/X86/AMX/amx-across-func.ll |
 | llvm/lib/Target/X86/X86RegisterInfo.td |
Commit
61a5502a93ab938edc66422e41ad98757a6f920b
by gkm[llvm-objdump-macho] print per-second-level-page encodings for option --unwind-info
Compact unwind entries have 8 bits for the encoding-table offset: * offsets 0..126 reference the global commmon-encodings table, while * offsets 127..255 reference a per-second-level-page table. This diff teaches `llvm-objdump` to print this per-page encodings table.
Differential Revision: https://reviews.llvm.org/D93265
|
 | llvm/tools/llvm-objdump/MachODump.cpp |
 | llvm/test/tools/llvm-objdump/MachO/Inputs/unwind-info-excess.macho-x86_64 |
 | llvm/test/tools/llvm-objdump/MachO/unwind-info-excess-x86_64.test |
Commit
0ef25cf558bfaffda4820c8b4e4f2a02d52b0334
by gkm[lld-macho][NFC] Add new option group for versions
Coalesce all version control options into a group
Differential Revision: https://reviews.llvm.org/D94938
|
 | lld/MachO/Options.td |
Commit
49556b87ae9b85b883b9b8be432a6f6a769d6021
by nullptr.cpp[NFC][VFS] Fix a build warning due to an extra semicolon
|
 | llvm/lib/Support/VirtualFileSystem.cpp |
Commit
7728cc003a87b274ebd611070fe38f0e41fef2aa
by kazu[llvm] Use append_range (NFC)
|
 | llvm/include/llvm/Bitstream/BitstreamWriter.h |
 | llvm/tools/llvm-cov/CoverageExporterLcov.cpp |
 | llvm/include/llvm/Support/GenericDomTree.h |
 | llvm/tools/llvm-readobj/COFFDumper.cpp |
 | llvm/utils/FileCheck/FileCheck.cpp |
 | llvm/tools/lto/lto.cpp |
 | llvm/tools/obj2yaml/wasm2yaml.cpp |
 | llvm/tools/llvm-cov/CoverageExporterJson.cpp |
Commit
1a2d67fa23b2b65c7f07481dd0184957f8d058d9
by kazu[llvm] Use llvm::lower_bound and llvm::upper_bound (NFC)
|
 | llvm/lib/CodeGen/LiveRangeCalc.cpp |
 | llvm/lib/MC/MCSection.cpp |
 | llvm/lib/CodeGen/LiveInterval.cpp |
 | llvm/tools/dsymutil/DwarfLinkerForBinary.cpp |
 | llvm/lib/Target/X86/X86IntrinsicsInfo.h |
Commit
8ed163618478dd4e7e03e34a029256b47a95d85c
by kazu[llvm] Use isa instead of dyn_cast (NFC)
|
 | llvm/lib/Target/PowerPC/PPCISelLowering.cpp |
 | llvm/lib/Transforms/IPO/MergeFunctions.cpp |
 | llvm/lib/Target/VE/VEISelDAGToDAG.cpp |
 | llvm/lib/Transforms/Utils/CodeExtractor.cpp |
 | llvm/lib/Target/AVR/AVRISelLowering.cpp |
 | llvm/lib/Transforms/Scalar/LoopSink.cpp |
 | llvm/lib/Target/BPF/BPFAdjustOpt.cpp |
 | llvm/lib/Transforms/Instrumentation/ValueProfilePlugins.inc |
 | llvm/lib/Transforms/Instrumentation/PGOMemOPSizeOpt.cpp |
 | llvm/utils/TableGen/FixedLenDecoderEmitter.cpp |
Commit
3949a3ed49bbd95235c3c616bf4dbae4ecac48bc
by i[ELF][test] Add --emit-relocs --gc-sections test for relocation section for a non-SHF_ALLOC section
This has been fixed by D89841.
|
 | lld/test/ELF/emit-relocs-gc.s |
Commit
6a59f0560648b43324b5aed51b9ef996404a25e0
by flo[LTO] Use lto::backend for code generation.
This patch updates LTOCodeGenerator to use the utilities provided by LTOBackend to run middle-end optimizations and backend code generation.
This is a first step towards unifying the code used by libLTO's C API and the newer, C++ interface (see PR41541).
The immediate motivation is to allow using the new pass manager when doing LTO using libLTO's C API, which is used on Darwin, among others.
With the changes, there are no codegen/stats differences when building MultiSource/SPEC2000/SPEC2006 on Darwin X86 with LTO, compared to without the patch.
Reviewed By: steven_wu
Differential Revision: https://reviews.llvm.org/D94487
|
 | llvm/tools/llvm-lto/llvm-lto.cpp |
 | llvm/test/LTO/X86/disable-verify.ll |
 | llvm/include/llvm/LTO/legacy/LTOCodeGenerator.h |
 | llvm/lib/LTO/LTOCodeGenerator.cpp |
 | llvm/test/tools/lto/print-stats.ll |
Commit
7a6a2cc81aaf064e6f5bc9a9a16973f552d2bdc2
by flo[LTO] Add option enable NewPM with LTOCodeGenerator.
This patch adds an option to enable the new pass manager in LTOCodeGenerator. It also updates a few tests with legacy PM specific tests, which started failing after 6a59f0560648 when LLVM_ENABLE_NEW_PASS_MANAGER=true.
|
 | llvm/include/llvm/LTO/legacy/LTOCodeGenerator.h |
 | llvm/tools/llvm-lto/llvm-lto.cpp |
 | llvm/test/LTO/X86/disable-verify.ll |
 | llvm/test/LTO/X86/diagnostic-handler-remarks.ll |
 | llvm/test/Other/X86/lto-hot-cold-split.ll |
 | llvm/lib/LTO/LTOCodeGenerator.cpp |
Commit
b01b964d3776956ef415a10c57cf612add55bba9
by harald[compiler-rt][tests] Define TARGET_FLAGS
D36116 refactored the logic of tests and removed the definition of TARGET_FLAGS, but left one use of it. Restore its definition for that one use, so that an x86_64 test is compiled with -m64.
Reviewed By: vitalybuka
Differential Revision: https://reviews.llvm.org/D93634
|
 | compiler-rt/lib/sanitizer_common/tests/CMakeLists.txt |
Commit
79125085f16540579d27c7e4987f63eef9c4aa23
by steveire[ASTMatchers] Fix traversal below range-for elements
Differential Revision: https://reviews.llvm.org/D95562
|
 | clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp |
 | clang/lib/ASTMatchers/ASTMatchFinder.cpp |
Commit
10c57268c074c3ad48f76da38fa2ba575ee3d1f9
by flo[LoopUnswitch] Properly update MSSA if header has non-clobbering stores.
This patch fixes updating MemorySSA if the header contains memory defs that do not clobber a duplicated instruction. We need to find the first defining access outside the loop body and use that as defining access of the duplicated instruction.
This fixes a crash caused by bee486851c1a.
|
 | llvm/test/Transforms/LoopUnswitch/partial-unswitch-update-memoryssa.ll |
 | llvm/test/Transforms/LoopUnswitch/partial-unswitch.ll |
 | llvm/lib/Transforms/Scalar/LoopUnswitch.cpp |
Commit
bb57a3422a09dcdd572ccb42767a0dabb5f966dd
by steveireFix traversal with hasDescendant into lambdas
Differential Revision: https://reviews.llvm.org/D95607
|
 | clang/lib/ASTMatchers/ASTMatchFinder.cpp |
 | clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp |
Commit
d22140687500f90830fe416d9c1e317f7c4535d5
by grimar[llvm-symbolizer] - Fix the crash in GNU output style with --no-inlines and missing input file.
Fixes https://bugs.llvm.org/show_bug.cgi?id=48882.
If the input file does not exist (or has a reading error), the following code will crash if there are two or more input addresses.
``` auto ResOrErr = Symbolizer.symbolizeInlinedCode( ModuleName, {Offset, object::SectionedAddress::UndefSection}); Printer << (error(ResOrErr) ? DILineInfo() : ResOrErr.get().getFrame(0)); ```
For the first address, `symbolizeInlinedCode` returns an error. For the second address, `symbolizeInlinedCode` returns an empty result (not an error) and `.getFrame(0)` will crash.
Differential revision: https://reviews.llvm.org/D95609
|
 | llvm/test/tools/llvm-symbolizer/output-style-inlined.test |
 | llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp |
Commit
c87dd614fd4b0b0d6290b5b90897caa09e053ef0
by fraser[RISCV] Update extractelt tests to sign-extend results (NFC)
This demonstrates a missed optimization: the `vmv.x.s` instruction is used to extract the element from the vector, and this instruction already sign-extends the value to XLEN.
|
 | llvm/test/CodeGen/RISCV/rvv/extractelt-int-rv64.ll |
 | llvm/test/CodeGen/RISCV/rvv/extractelt-int-rv32.ll |
Commit
b10d445307a0f3c7e5522836b4331090aacaf349
by steveire[ASTMatchers] Fix definition of decompositionDecl
|
 | clang/include/clang/ASTMatchers/ASTMatchers.h |
 | clang/lib/ASTMatchers/ASTMatchersInternal.cpp |
Commit
e718869bf47af20be0ec7301846f78c82d0f1140
by kazu[TableGen] Use ListSeparator (NFC)
|
 | llvm/utils/TableGen/AsmMatcherEmitter.cpp |
Commit
b4e780697d1cf0c06e7ca3a908ece0ab65a470ff
by kazu[AMDGPU] Forward-declare AMDGPUTargetMachine (NFC)
AMDGPUTargetTransformInfo.h needs AMDGPUTargetMachine but relies on a forward declaration of AMDGPUTargetMachine in AMDGPU.h. This patch adds a forward declaration right in AMDGPUTargetTransformInfo.h.
While we are at it, this patch removes the one in AMDGPU.h, where it is unnecessary.
|
 | llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h |
 | llvm/lib/Target/AMDGPU/AMDGPU.h |
Commit
627b5bda11a79785a21b1a50070415d4188aba6a
by kazu[llvm] Add missing header guards (NFC)
Identified with llvm-header-guard.
|
 | llvm/include/llvm/CodeGen/CommandFlags.h |
 | llvm/include/llvm/CodeGen/GlobalISel/ConstantFoldingMIRBuilder.h |
 | llvm/lib/Target/AMDGPU/AMDGPUMacroFusion.h |
 | llvm/include/llvm/CodeGen/GlobalISel/LegalizationArtifactCombiner.h |
 | llvm/lib/Target/PowerPC/PPCMacroFusion.h |
 | llvm/lib/Target/AMDGPU/AMDGPUExportClustering.h |
 | llvm/lib/CodeGen/LiveDebugValues/LiveDebugValues.h |
 | llvm/lib/Target/AArch64/AArch64MacroFusion.h |
 | llvm/include/llvm/Support/DataTypes.h |
Commit
39486753d5c69d98d510c9ed43c92f076ec4c602
by flo[ConstraintElimination] Verify CS and DFSInStack are in sync.(NFC)
After the main loop is done, we should have one constraint per item in DFSInStack. Otherwise we added a constraint without a proper DFSInStack item.
|
 | llvm/lib/Transforms/Scalar/ConstraintElimination.cpp |
Commit
26d38f6d20ff137d89cb7c891b739662de1ca508
by tianshilei1992[OpenMP][NVPTX] Refined CMake logic to choose compute capabilites
This patch refines the logic to choose compute capabilites via the environment variable `LIBOMPTARGET_NVPTX_COMPUTE_CAPABILITIES`. It supports the following values (all case insensitive): - "all": Build `deviceRTLs` for all supported compute capabilites; - "auto": Only build for the compute capability auto detected. Note that this requires CUDA. If CUDA is not found, a CMake fatal error will be raised. - "xx,yy" or "xx;yy": Build for compute capabilities `xx` and `yy`.
If `LIBOMPTARGET_NVPTX_COMPUTE_CAPABILITIES` is not set, it is equivalent to set it to `all`.
Reviewed By: jdoerfert
Differential Revision: https://reviews.llvm.org/D95687
|
 | openmp/libomptarget/cmake/Modules/LibomptargetGetDependencies.cmake |
 | openmp/libomptarget/deviceRTLs/nvptx/CMakeLists.txt |
Commit
4e04a535d8f836804d39e8861ae17d7817293c5a
by craig.topper[TableGen] Avoid a couple vector copies in ExpandHwModeBasedTypes.
Use vector::swap instead of copying to a local vector and clearing the original. We can just swap into the just created local vector instead which will move the pointers and not the data.
Use std::move in another place to avoid a copy.
|
 | llvm/utils/TableGen/CodeGenDAGPatterns.cpp |
Commit
b5e3a5785dab0d0c7aa68cc65c2dd348488e72d1
by craig.topper[TableGen] Use emplace_back to add to PatternsToMatch in GenerateVariants. Use std::move when adding to PatternsToMatch in AddPatternToMatch.
We already used emplace_back in at least one other place so be consistent.
AddPatternToMatch already took PTM as an rvalue reference, but we need to use std::move again to move it into the PatternToMatch vector.
|
 | llvm/utils/TableGen/CodeGenDAGPatterns.cpp |
Commit
3fdf2a56dd00ece7b6572e592f40b207ef85f96f
by craig.topper[RISCV] Use MVT instead of EVT in RISCVISelDAGToDAG.cpp
All this code runs post type legalization so we should have exclusively legal types. The methods on MVT should be more efficient than EVT.
|
 | llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp |
Commit
6f3d322f250d2381370b256e648cbb76c6de0135
by pklausler[flang] Improve shape & length characterization
Analyze the shape of the result of TRANSFER(ptr,array) correctly when "ptr" is an array of deferred shape. Fixing this bug led to some refactoring and concentration of common code in TypeAndShape member functions with code in general shape and character length analysis, and this led to some regression test failures that have all been cleaned up.
Differential Revision: https://reviews.llvm.org/D95744
|
 | flang/lib/Semantics/expression.cpp |
 | flang/lib/Evaluate/variable.cpp |
 | flang/lib/Semantics/check-call.cpp |
 | flang/lib/Evaluate/shape.cpp |
 | flang/include/flang/Evaluate/tools.h |
 | flang/include/flang/Evaluate/characteristics.h |
 | flang/lib/Semantics/runtime-type-info.cpp |
 | flang/lib/Evaluate/characteristics.cpp |
Commit
5ec59f021ceb09cff32c0fb4c24310362d08ea63
by springerm[mlir][AVX512] Fix result type of vp2intersect
The result values of vp2intersect are vectors of bits, i.e., vector<8xi1> or vector<16xi8> (instead of i8 or i16).
Differential Revision: https://reviews.llvm.org/D95678
|
 | mlir/test/Conversion/AVX512ToLLVM/convert-to-llvm.mlir |
 | mlir/include/mlir/Dialect/AVX512/AVX512.td |
 | mlir/test/Dialect/AVX512/roundtrip.mlir |
Commit
be997cead7fa0e4a1001129cd0d80944e6cc126d
by craig.topper[RISCV] Add rv64 command line to bswap-ctlz-cttz-ctpop.ll.
|
 | llvm/test/CodeGen/RISCV/bswap-ctlz-cttz-ctpop.ll |
Commit
095f08653f3ab0917a474888abac95c4fa99697d
by sam.mccall[docs] Clarify compile_flags.txt subtleties
See confusion e.g. in https://github.com/clangd/clangd/issues/637
|
 | clang/docs/JSONCompilationDatabase.rst |
Commit
0962f1d72b1606f3224a14434c7b4500a23f8728
by sam.mccall[clangd] Quote/escape argv included in log messages.
https://github.com/clangd/clangd/issues/637
|
 | clang-tools-extra/clangd/CompileCommands.h |
 | clang-tools-extra/clangd/unittests/CompileCommandsTests.cpp |
 | clang-tools-extra/clangd/unittests/GlobalCompilationDatabaseTests.cpp |
 | clang-tools-extra/clangd/TUScheduler.cpp |
 | clang-tools-extra/clangd/CompileCommands.cpp |
 | clang-tools-extra/clangd/QueryDriverDatabase.cpp |
 | clang-tools-extra/clangd/tool/Check.cpp |
Commit
60053a9ce28655fc6f635567c62599fa3aad57d2
by sam.mccall[clangd] Remove references to old future-based API. NFC
|
 | clang-tools-extra/clangd/support/Context.h |
 | clang-tools-extra/clangd/ClangdServer.h |
Commit
8869e2f969101426e8615bb3cb0e7186938c23c7
by koraq[libc++] Allow building with C++17.
After committing D92214 it was noticed libc++ no longer builds with C++17. For now reenable building with C++17. This is intended to be a temporary measure in the future a C++20 capable compiler will be required.
|
 | libcxx/src/format.cpp |
Commit
fb244ffb9f2d7718b0edb1566138ba454b5709bc
by a.v.lapshin[dsymutil][DWARFLinker][NFC] make AddressManager not depending on the order of checks for relocations.
Current dsymutil implementation of hasLiveMemoryLocation()/hasLiveAddressRange() and applyValidRelocs() assume that calls should be done in certain order (from first Dies to last). Multi-thread implementation might call these methods in other order(it might process compilation units in order other than they are physically located), so we remove restriction that searching for relocations should be done in ascending order. This change does not introduce noticable performance degradation. The testing results for clang binary:
golden-dsymutil/dsymutil 23787992 clang MD5: 5efa8fd9355ebf81b65f24db5375caa2 elapsed time=91sec
build-Release/bin/dsymutil 23855616 clang MD5: 5efa8fd9355ebf81b65f24db5375caa2 elapsed time=91sec
Differential Revision: https://reviews.llvm.org/D93106
|
 | llvm/tools/dsymutil/DwarfLinkerForBinary.h |
 | llvm/lib/DWARFLinker/DWARFLinker.cpp |
 | llvm/include/llvm/DebugInfo/DWARF/DWARFUnit.h |
 | llvm/include/llvm/DWARFLinker/DWARFLinker.h |
 | llvm/test/tools/dsymutil/X86/dwarf5.test |
 | llvm/tools/dsymutil/DwarfLinkerForBinary.cpp |
Commit
7a8008d0e8885d22ff9a1fa7f9965c7b2ad2569a
by sam.mccallRevert "[clangd] Quote/escape argv included in log messages."
This reverts commit 0962f1d72b1606f3224a14434c7b4500a23f8728. http://45.33.8.238/win/32346/step_9.txt
|
 | clang-tools-extra/clangd/CompileCommands.h |
 | clang-tools-extra/clangd/QueryDriverDatabase.cpp |
 | clang-tools-extra/clangd/unittests/GlobalCompilationDatabaseTests.cpp |
 | clang-tools-extra/clangd/tool/Check.cpp |
 | clang-tools-extra/clangd/unittests/CompileCommandsTests.cpp |
 | clang-tools-extra/clangd/CompileCommands.cpp |
 | clang-tools-extra/clangd/TUScheduler.cpp |
Commit
7de711ecca99f81da3c2ae1705cefe0b4bda70b3
by sam.mccallReland [clangd] Quote/escape argv included in log messages.
... but don't apply it where we're using hasSubstr
This reverts commit 7a8008d0e8885d22ff9a1fa7f9965c7b2ad2569a.
|
 | clang-tools-extra/clangd/CompileCommands.h |
 | clang-tools-extra/clangd/unittests/CompileCommandsTests.cpp |
 | clang-tools-extra/clangd/CompileCommands.cpp |
 | clang-tools-extra/clangd/TUScheduler.cpp |
 | clang-tools-extra/clangd/unittests/GlobalCompilationDatabaseTests.cpp |
 | clang-tools-extra/clangd/QueryDriverDatabase.cpp |
 | clang-tools-extra/clangd/tool/Check.cpp |
Commit
8f14a08863bf295cdc660f24948ef810731b812d
by Matthew.ArsenaultAMDGPU: Add missing consts
|
 | llvm/lib/Target/AMDGPU/SIFormMemoryClauses.cpp |
Commit
1801e2aa249497adb5b0ab33e7fc5dd0ad4a4ab3
by Matthew.ArsenaultRegAlloc: Fix assert if all registers in class reserved
With a context instruction, this would produce a context error. However, it would continue on and do an out of bounds access of the empty allocation order array.
|
 | llvm/test/CodeGen/AMDGPU/alloc-all-regs-reserved-in-class.mir |
 | llvm/lib/CodeGen/RegAllocBase.cpp |
Commit
177b8d1ad3cd78aa789bb246c42cbf10dda8a901
by kazu[VE] Fix compiler warnings (NFC)
|
 | llvm/lib/Target/VE/VEISelLowering.cpp |
Commit
6bfb02cafe4fb31fd0a4f8a9871180df3333bd49
by kazu[TableGen] Use ListSeparator (NFC)
|
 | llvm/utils/TableGen/SearchableTableEmitter.cpp |
Commit
3d1200b9f6e305ea66080bb93fd34753c46066a1
by kazu[llvm] Drop unnecessary const from return types (NFC)
Identified with const-return-type.
|
 | llvm/include/llvm/Analysis/DDG.h |
 | llvm/lib/Target/X86/X86MachineFunctionInfo.h |
 | llvm/tools/llvm-profgen/ProfiledBinary.h |
 | llvm/include/llvm/MCA/Instruction.h |
 | llvm/tools/dsymutil/DebugMap.h |
 | llvm/include/llvm/TableGen/DirectiveEmitter.h |
 | llvm/lib/Transforms/IPO/SampleContextTracker.cpp |
 | llvm/tools/llvm-readobj/ELFDumper.cpp |
 | llvm/include/llvm/IR/DerivedTypes.h |
 | llvm/include/llvm/Analysis/LoopCacheAnalysis.h |
 | llvm/include/llvm/Object/WindowsResource.h |
 | llvm/include/llvm/Transforms/IPO/SampleContextTracker.h |
Commit
f43c0707f66a19236f58f5bd8be470e5fc625603
by mgorny[lldb] [Process/FreeBSDRemote] Introduce arm64 support
Introduce arm64 support in the FreeBSDRemote plugin. The code is roughly based on Linux and reuses the same POSIX RegisterInfos (but the buffers need to be a few bytes larger due to stricter struct member alignment in FreeBSD structures -- luckily, they do not affect the actual member offsets). It supports reading and writing general-purpose and FPU registers. SVE and hardware watchpoint support is missing due to the limitations of FreeBSD ptrace(2) API.
Differential Revision: https://reviews.llvm.org/D95297
|
 | lldb/source/Plugins/Process/FreeBSDRemote/CMakeLists.txt |
 | lldb/source/Plugins/Platform/FreeBSD/PlatformFreeBSD.cpp |
 | lldb/source/Plugins/Process/FreeBSDRemote/NativeRegisterContextFreeBSD_arm64.h |
 | lldb/unittests/Process/Utility/RegisterContextFreeBSDTest.cpp |
 | lldb/source/Plugins/Process/FreeBSDRemote/NativeRegisterContextFreeBSD_arm64.cpp |
Commit
9d029362d1ed48c38565aeab0ca04bf4143d3e5b
by mgorny[lldb] [Process/FreeBSDRemote] Introduce arm (32-bit) support
Introduce a NativeRegisterContextFreeBSD for 32-bit ARM platform. This includes support for GPR + VFP registers as exposed by FreeBSD's ptrace(2) API. Hardware breakpoints or watchpoints are not supported due to missing kernel support. The code is roughly based on the arm64 context.
It also includes an override for GetSoftwareBreakpointTrapOpcode() based on the matching code in the PlatformFreeBSD plugin.
Differential Revision: https://reviews.llvm.org/D95696
|
 | lldb/source/Plugins/Process/FreeBSDRemote/NativeRegisterContextFreeBSD_arm.h |
 | lldb/source/Plugins/Process/FreeBSDRemote/NativeProcessFreeBSD.cpp |
 | lldb/source/Plugins/Platform/FreeBSD/PlatformFreeBSD.cpp |
 | lldb/source/Plugins/Process/FreeBSDRemote/NativeProcessFreeBSD.h |
 | lldb/source/Plugins/Process/FreeBSDRemote/CMakeLists.txt |
 | lldb/source/Plugins/Process/FreeBSDRemote/NativeRegisterContextFreeBSD_arm.cpp |
 | lldb/unittests/Process/Utility/RegisterContextFreeBSDTest.cpp |
Commit
2ae0f8d60083d39b6df6a1b4d073970fba3e4a0a
by flo[ConstraintElimination] Add tests for ICMP_EQ predicates.
Pre-commit test coverage for conditions with EQ predicates.
|
 | llvm/test/Transforms/ConstraintElimination/eq.ll |
Commit
0d487cf87aa1b609b7db061def3e5ad068576ecf
by flo[LTOCodeGenerator] Use lto::Config for options (NFC).
This patch removes some options that have been duplicated in LTOCodeGenerator and instead use lto::Config directly to manage the options.
This is a cleanup after 6a59f0560648.
Reviewed By: tejohnson
Differential Revision: https://reviews.llvm.org/D95738
|
 | llvm/include/llvm/LTO/legacy/LTOCodeGenerator.h |
 | llvm/lib/LTO/LTOCodeGenerator.cpp |
Commit
2de4f19ecdb275bcbc6e7ee8368c19a63f99db88
by luismarques[LSan][RISCV] Enable LSan for RISCV64
Fixes the broken RISCV64 implementation of `internal_clone` and adds RISCV64 support for LSan.
Differential Revision: https://reviews.llvm.org/D92403
|
 | compiler-rt/test/sanitizer_common/print_address.h |
 | clang/test/Driver/fsanitize.c |
 | compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp |
 | compiler-rt/lib/lsan/lsan_allocator.h |
 | compiler-rt/lib/lsan/lsan_common.h |
 | compiler-rt/test/lsan/lit.common.cfg.py |
 | clang/lib/Driver/ToolChains/Linux.cpp |
 | compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h |
 | compiler-rt/cmake/config-ix.cmake |
 | compiler-rt/test/asan/lit.cfg.py |
 | compiler-rt/test/lsan/TestCases/use_registers.cpp |
Commit
2eb5f3454212aa906388013e6807a7a906233f18
by jpienaarFix omitted kw in type alias printer
* Fixing missing `type` keyword in alias print * Add test for large tuple type alias & rerun output to verify printed form can be parsed (which caught the above).
|
 | mlir/lib/IR/AsmPrinter.cpp |
 | mlir/test/IR/print-attr-type-aliases.mlir |
Commit
70289ea6f591bd39c631f1eee3e6f2622fbc1d46
by craig.topper[RISCV][LegalizeTypes] Try to expand BSWAP before promoting if the promoted BSWAP would expand anyway.
If we're going to end up expanding anyway, we should do it early so we don't create extra operations to handle the bytes added by promotion.
This is helfpul on RISCV where we might have to promote i16 all the way to i64.
Differential Revision: https://reviews.llvm.org/D95756
|
 | llvm/test/CodeGen/RISCV/rv64Zbp.ll |
 | llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp |
 | llvm/test/CodeGen/RISCV/bswap-ctlz-cttz-ctpop.ll |
 | llvm/test/CodeGen/RISCV/rv64Zbb.ll |
 | llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp |
 | llvm/include/llvm/CodeGen/TargetLowering.h |
 | llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp |
Commit
8f670d5b6d8f39bf9bf1d142dacef3afaed6d70b
by jyknightCFG: Create scope for non-compound range-for body.
Previously, it was omitting the destructor call from the CFG, which could result in incorrect diagnostics.
|
 | clang/test/Analysis/auto-obj-dtors-cfg-output.cpp |
 | clang/lib/Analysis/CFG.cpp |
Commit
3203c968424193a519d1b52739047748038bb074
by luismarques[CMake][compiler-rt][RISCV] Support RISC-V cross-compilation
This seems to be a safe way to ensure that the Compiler-RT test compiler flags are properly set in all cross-compilation scenarios. Without this when `BUILTINS_TEST_TARGET_CFLAGS` is set in `compiler-rt/test/builtins/CMakeLists.txt` the other flags are cleared.
Differential Revision: https://reviews.llvm.org/D92124
|
 | compiler-rt/cmake/config-ix.cmake |
Commit
68e5614b42823cc1eef48916e1e6f551ad61a055
by luismarques[Sanitizer][RISCV] Fix FastUnwindTest
Fixes the `FastUnwindTest` unit test for RISC-V. These changes reflect the different stack organization commonly used for that architecture.
Differential Revision: https://reviews.llvm.org/D90574
|
 | compiler-rt/lib/sanitizer_common/tests/sanitizer_stacktrace_test.cpp |
Commit
54842fa0bba0c6cf69b7eb94f4b10d8da8aa5170
by JunMa[CodeGenPrepare] Also skip lifetime.end intrinsic when check return block in dupRetToEnableTailCallOpts.
Differential Revision: https://reviews.llvm.org/D95424
|
 | llvm/test/Transforms/CodeGenPrepare/ARM/tailcall-dup.ll |
 | llvm/test/Transforms/CodeGenPrepare/X86/tailcall-assume-xbb.ll |
 | llvm/lib/CodeGen/CodeGenPrepare.cpp |
Commit
20b1c1300c8f00d85e1292158f865c1bd0d1e12c
by jyknightFix test in "CFG: Create scope for non-compound range-for body."
The constant 4 is sometimes printed as "4L", or "4LL", in CFG dump output, depending on platform; accept all variants.
Ammends commit 8f670d5b6d8f39bf9bf1d142dacef3afaed6d70b.
|
 | clang/test/Analysis/auto-obj-dtors-cfg-output.cpp |
Commit
e94a35a744b780fcbe18e8bc6a4f774191588d45
by michael.p.rice[OpenMP] Fix comment and assertion strings (NFC).
|
 | clang/lib/Sema/SemaOpenMP.cpp |
Commit
6e58539659aea0ee621c7e267d825aa82d4e7e96
by Lang Hames[JITLink] Add missing symbols for ELF ehframe testcase, re-enable on Windows.
This testcase was failing on windows due to missing definitions. This commit adds definitions of the missing symbols (as absolute symbols) to eliminate the errors.
|
 | llvm/test/ExecutionEngine/JITLink/X86/ELF_ehframe_basic.s |
Commit
44cc5abbf9166c47a1da7027123b13d230442610
by craig.topper[RISCV] Custom lower fshl/fshr with Zbt extension.
We need to add a mask to the shift amount for these operations to use the FSR/FSL instructions. We were previously doing this in isel patterns, but custom lowering will make the mask visible to optimizations earlier.
|
 | llvm/lib/Target/RISCV/RISCVISelLowering.cpp |
 | llvm/lib/Target/RISCV/RISCVInstrInfoB.td |
 | llvm/lib/Target/RISCV/RISCVISelLowering.h |
Commit
d2bb07949b0e66a60f26a0a1fb6bcec609da5e63
by Lang HamesRevert "[JITLink] Add missing symbols for ELF ehframe testcase, re-enable ...."
This reverts commit 6e58539659aea0ee621c7e267d825aa82d4e7e96.
This failed in http://lab.llvm.org:8011/#/builders/123/builds/2676. I guess were're still missing some symbols, but unfortunately the specific error is masked by a bug in python/lit that hides stderr. This test will have to remain disabled on Windows until I can get help to debug it further.
|
 | llvm/test/ExecutionEngine/JITLink/X86/ELF_ehframe_basic.s |
Commit
ff460268973533e8d39a7714223891d1b7c62d67
by craig.topper[X86] Cleanup isel patterns to use 'vnot' instead of (xor X, immAllOnesV) to improve readability. NFC
|
 | llvm/lib/Target/X86/X86InstrAVX512.td |
Commit
94206f1f90fee1b92c49234a17cf8e1781179146
by craig.topper[PowerPC] Remove vnot_ppc and replace with the standard vnot.
immAllOnesV has special support for looking through bitcasts automatically so isel patterns don't need to explicitly look for the bitconvert.
|
 | llvm/lib/Target/PowerPC/PPCInstrAltivec.td |
 | llvm/lib/Target/PowerPC/PPCInstrVSX.td |
 | llvm/lib/Target/PowerPC/PPCInstrPrefix.td |
Commit
ce27b327158e6ae7b726b6d867b7db5117a90b73
by craig.topper[Mips] Cleanup isel patterns to use 'vnot' instead of (xor X, immAllOnesV). NFCI
A couple patterns used bitconvert on the immAllOnesV, but the isel matching uses ISD::isBuildVectorAllOnes which is able to look through bitcasts. So isel patterns don't need to do it explicitly.
|
 | llvm/lib/Target/Mips/MipsMSAInstrInfo.td |
Commit
bf416d166bdde187cf3b7e99888bcb4b95a93142
by sepavloff[FPEnv] Intrinsic for setting rounding mode
To set non-default rounding mode user usually calls function 'fesetround' from standard C library. This way has some disadvantages.
* It creates unnecessary dependency on libc. On the other hand, setting rounding mode requires few instructions and could be made by compiler. Sometimes standard C library even is not available, like in the case of GPU or AI cores that execute small kernels. * Compiler could generate more effective code if it knows that a particular call just sets rounding mode.
This change introduces new IR intrinsic, namely 'llvm.set.rounding', which sets current rounding mode, similar to 'fesetround'. It however differs from the latter, because it is a lower level facility:
* 'llvm.set.rounding' does not return any value, whereas 'fesetround' returns non-zero value in the case of failure. In glibc 'fesetround' reports failure if its argument is invalid or unsupported or if floating point operations are unavailable on the hardware. Compiler usually knows what core it generates code for and it can validate arguments in many cases. * Rounding mode is specified in 'fesetround' using constants like 'FE_TONEAREST', which are target dependent. It is inconvenient to work with such constants at IR level.
C standard provides a target-independent way to specify rounding mode, it is used in FLT_ROUNDS, however it does not define standard way to set rounding mode using this encoding.
This change implements only IR intrinsic. Lowering it to machine code is target-specific and will be implemented latter. Mapping of 'fesetround' to 'llvm.set.rounding' is also not implemented here.
Differential Revision: https://reviews.llvm.org/D74729
|
 | llvm/include/llvm/IR/Intrinsics.td |
 | llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp |
 | llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h |
 | llvm/docs/LangRef.rst |
 | llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp |
 | llvm/include/llvm/CodeGen/ISDOpcodes.h |
 | llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp |
 | llvm/unittests/IR/IRBuilderTest.cpp |
Commit
77f077b8c3b2e8bbf9b160d56194312e506dfe8f
by craig.topper[TableGen] Don't commute isel patterns if it would put an immAllOnesV or immAllZerosV on the left hand side.
This primarily occurs with isel patterns using vnot. This reduces the number of variants in the isel tables.
We generally canonicalize build_vectors of constants to the RHS. I think we might fail if there is a bitcast on the build_vector, but that should be easy to fix if we can find a case. Usually the bitcast is introduced by type legalization or lowering. It's likely canonicalization would have already occured.
|
 | llvm/utils/TableGen/CodeGenDAGPatterns.cpp |
Commit
c3c02d0d5a313272f6d35926bdf678fc6b884c02
by tobias[OpenMP] Fix python3 compatibility in openmp's lit.cfg
Differential Revision: https://reviews.llvm.org/D95669
|
 | openmp/runtime/test/lit.cfg |
Commit
d9b953d84b332a8c4751fcbf8178e32818dc718b
by hanchung[mlir][Linalg] Replace SimplePad with PadTensor in hoist-padding
This is the last revision to migrate using SimplePadOp to PadTensorOp, and the SimplePadOp is removed in the patch. Update a bit in SliceAnalysis because the PadTensorOp takes a region different from SimplePadOp. This is not covered by LinalgOp because it is not a structured op.
Also, remove a duplicated comment from cpp file, which is already described in a header file. And update the pseudo-mlir in the comment.
Reviewed By: nicolasvasilache
Differential Revision: https://reviews.llvm.org/D95671
|
 | mlir/lib/Analysis/SliceAnalysis.cpp |
 | mlir/test/lib/Transforms/TestLinalgTransforms.cpp |
 | mlir/include/mlir/Dialect/Linalg/IR/LinalgOps.td |
 | mlir/include/mlir/Dialect/Linalg/Transforms/Hoisting.h |
 | mlir/test/Dialect/Linalg/hoist-padding.mlir |
 | mlir/test/Dialect/Linalg/roundtrip.mlir |
 | mlir/lib/Dialect/Linalg/Transforms/Hoisting.cpp |
 | mlir/lib/Analysis/CMakeLists.txt |
Commit
a4b7d52f3a219e7726edc8c3805c1d6dc7bd97a5
by csigg[mlir] Fix missing null termination in cuLinkAddData argument.
Reviewed By: ftynse
Differential Revision: https://reviews.llvm.org/D95679
|
 | mlir/tools/mlir-cuda-runner/mlir-cuda-runner.cpp |
Commit
2790cbedd0a886fa70c35efda40924679d1cbcd0
by tpoppRevert "[mlir][Linalg] Replace SimplePad with PadTensor in hoist-padding"
This reverts commit d9b953d84b332a8c4751fcbf8178e32818dc718b.
This commit resulted in build bot failures and the author is away from a computer, so I am reverting on their behalf until they have a chance to look into this.
|
 | mlir/test/lib/Transforms/TestLinalgTransforms.cpp |
 | mlir/test/Dialect/Linalg/roundtrip.mlir |
 | mlir/include/mlir/Dialect/Linalg/IR/LinalgOps.td |
 | mlir/lib/Analysis/CMakeLists.txt |
 | mlir/lib/Dialect/Linalg/Transforms/Hoisting.cpp |
 | mlir/test/Dialect/Linalg/hoist-padding.mlir |
 | mlir/lib/Analysis/SliceAnalysis.cpp |
 | mlir/include/mlir/Dialect/Linalg/Transforms/Hoisting.h |
Commit
2939d2e1b46c05432864db333ca3d5cb7ab83533
by Raphael Isemann[lldb][docs] Attempt to disable the generated GitHub button on the LLDB website
For unknown reasons the alabaster theme on the docs server is always generating a GitHub link in the side bar. Beside the privacy problems of having an iframe to some third-party service, we never configured any GitHub integration so this button just links to the GitHub main site.
The button generation should be disabled by default, but as that's apparently not true in the alabaster theme on the server, this patch tries working around the issue by just explicitly turning off the GitHub integration.
|
 | lldb/docs/conf.py |
Commit
80cdd30eb90c3509bf315f1fa1369483e2448bbd
by jeroen.dobbelaere[LoopPeel] Use llvm.experimental.noalias.scope.decl for duplicating noalias metadata as needed.
The reduction of a sanitizer build failure when enabling the dominance check (D95335) showed that loop peeling also needs to take care of scope duplication, just like loop unrolling (D92887).
Reviewed By: nikic
Differential Revision: https://reviews.llvm.org/D95544
|
 | llvm/test/Transforms/LoopUnroll/peel-loop-noalias-scope-decl.ll |
 | llvm/lib/Transforms/Utils/LoopPeel.cpp |
Commit
b8c81fa5c7f77a7a1267e42ddbbc9bffb10b0817
by flo[LoopUnswitch] Add shortcut if unswitched path is a no-op.
If we determine that the invariant path through the loop has no effects, we can directly branch to the exit block, instead to unswitching first.
Besides avoiding some extra work (unswitching first, then deleting the loop again) this allows to be more aggressive than regular unswitching with respect to cost-modeling. This approach should always be be desirable.
This is similar in spirit to D93734, just that it uses the previously added checks for loop-unswitching.
I tried to add the required no-op checks from scratch, as we only check a subset of the loop. There is potential to unify the checks with LoopDeletion, at the cost of adding a predicate whether a block should be considered.
Reviewed By: jdoerfert
Differential Revision: https://reviews.llvm.org/D95468
|
 | llvm/test/Transforms/LoopUnswitch/partial-unswitch-cost.ll |
 | llvm/lib/Transforms/Scalar/LoopUnswitch.cpp |
Commit
a9583a19237e66fa56fcd979511ac14232e9a3c3
by flo[LoopUnswitch] Pacify compiler warnings.
Attempt to fix some compiler warnings on some bots after b8c81fa5c7f77a7a1267e42ddbbc9bffb10b0817.
|
 | llvm/lib/Transforms/Scalar/LoopUnswitch.cpp |
Commit
4648098f97fa2a7c08c04632c70cf29293528812
by marukawa[VE] Change inetger constants 32-bit friendly
Correct integer constants like `1UL << 63` to `UINT64_C(1) << 63` in order to make them work on 32-bit machines. Tested on both an i386 and x86_64 machines.
Reviewed By: mgorny
Differential Revision: https://reviews.llvm.org/D95724
|
 | llvm/lib/Target/VE/VE.h |
Commit
6ab792b68d5779e1668a2bd6ecd0a52c91b56387
by david.green[ARM] Simplify extract of VMOVDRR
Under SoftFP calling conventions, we can be left with extract(bitcast(BUILD_VECTOR(VMOVDRR(a, b), ..))) patterns that can simplify to a or b, depending on the extract lane.
Differential Revision: https://reviews.llvm.org/D94990
|
 | llvm/test/CodeGen/Thumb2/mve-soft-float-abi.ll |
 | llvm/lib/Target/ARM/ARMISelLowering.cpp |
Commit
5211af48181fe1a1ac99aeacf15818c50bfbda7d
by llvm-dev[X86][AVX] combineExtractWithShuffle - combine extracts from 256/512-bit vector shuffles.
We can only legally extract from the lowest 128-bit subvector, so extract the correct subvector to allow us to handle 256/512-bit vector element extracts.
|
 | llvm/test/CodeGen/X86/vec-strict-inttofp-256.ll |
 | llvm/lib/Target/X86/X86ISelLowering.cpp |
 | llvm/test/CodeGen/X86/vector-constrained-fp-intrinsics.ll |
Commit
b43c395e60d2636ab5afc9b60a2046978c71e366
by jeroen.dobbelaere[Verifier] enable llvm.experimental.noalias.scope.decl dominance check.
Now that Loop Peeling has been fixed (80cdd30eb90c3509bf315f1fa1369483e2448bbd), enable the dominance check by default.
This reverts commit 3b5d36ece21f9baf96d82944b0165cb352443bee.
|
 | llvm/lib/IR/Verifier.cpp |
Commit
ad12e6ee9579149c0efb594211fa3fb8aed2d84f
by david.green[ARM] Turn sext_inreg(VGetLaneu) into VGetLaneu
This adds a DAG combine for converting sext_inreg of VGetLaneu into VGetLanes, providing the types match correctly.
Differential Revision: https://reviews.llvm.org/D95073
|
 | llvm/test/CodeGen/ARM/dagcombine-anyexttozeroext.ll |
 | llvm/test/CodeGen/Thumb2/mve-vecreduce-add.ll |
 | llvm/test/CodeGen/Thumb2/mve-vecreduce-addpred.ll |
 | llvm/lib/Target/ARM/ARMISelLowering.cpp |
 | llvm/test/CodeGen/Thumb2/mve-vecreduce-mlapred.ll |
 | llvm/test/CodeGen/Thumb2/mve-vcvt.ll |
 | llvm/test/CodeGen/Thumb2/mve-vecreduce-mla.ll |
 | llvm/test/CodeGen/Thumb2/mve-div-expand.ll |
Commit
94fac81fccfef9917e94bed398781744fb82e159
by shivam98.tkg[Branch-Rename] Fix some links
According to the [[ https://foundation.llvm.org/docs/branch-rename/ | status of branch rename ]], the master branch of the LLVM repository is removed on 28 Jan 2021.
Reviewed By: mehdi_amini
Differential Revision: https://reviews.llvm.org/D95766
|
 | libcxx/www/atomic_design.html |
 | flang/README.md |
 | lldb/docs/resources/test.rst |
 | clang/docs/LibTooling.rst |
 | mlir/docs/Rationale/RationaleGenericDAGRewriter.md |
 | mlir/docs/Tutorials/UnderstandingTheIRStructure.md |
 | mlir/docs/ShapeInference.md |
 | openmp/www/index.html |
 | libcxx/www/atomic_design_a.html |
 | clang-tools-extra/docs/clang-tidy/Integrations.rst |
 | clang/docs/ClangTools.rst |
 | libcxx/www/atomic_design_c.html |
 | libcxx/www/ts1z_status.html |
 | llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp |
 | mlir/docs/Dialects/Vector.md |
 | mlir/docs/SPIRVToLLVMDialectConversion.md |
 | mlir/docs/PatternRewriter.md |
 | clang/www/analyzer/checker_dev_manual.html |
 | libunwind/docs/index.rst |
 | clang-tools-extra/docs/clang-rename.rst |
 | clang/docs/ControlFlowIntegrityDesign.rst |
 | clang/www/menu.html.incl |
 | clang-tools-extra/docs/clang-tidy/Contributing.rst |
 | llvm/utils/lit/setup.py |
 | libcxx/www/type_traits_design.html |
 | libcxx/docs/index.rst |
 | libcxx/www/index.html |
 | clang/lib/CodeGen/CGOpenMPRuntime.cpp |
 | flang/docs/_templates/indexsidebar.html |
 | lldb/docs/resources/build.rst |
 | llvm/docs/Vectorizers.rst |
 | clang/docs/ClangPlugins.rst |
 | compiler-rt/include/sanitizer/tsan_interface_atomic.h |
 | mlir/docs/Dialects/SPIR-V.md |
 | flang/docs/flang-c-style.el |
 | clang/docs/InternalsManual.rst |
 | clang/www/hacking.html |
 | clang-tools-extra/clang-tidy/google/AvoidUnderscoreInGoogletestNameCheck.h |
 | libcxxabi/www/index.html |
 | libcxx/www/upcoming_meeting.html |
 | lldb/docs/use/python-reference.rst |
 | mlir/docs/DeclarativeRewrites.md |
 | llvm/test/Transforms/SLPVectorizer/AArch64/matmul.ll |
 | llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp |
 | compiler-rt/lib/tsan/rtl/tsan_interface.h |
 | polly/www/menu.html.incl |
 | compiler-rt/www/menu.html.incl |
 | clang-tools-extra/clangd/README.md |
 | mlir/docs/OpDefinitions.md |
 | clang/www/analyzer/open_projects.html |
 | libcxx/www/atomic_design_b.html |
Commit
b8923c002207da449ec462ade468e27a651b1f91
by medismail.bennani[lldb/API] Expose Module::IsLoadedInTarget() to SB API (NFC)
This patch adds an `SBTarget::IsLoaded(const SBModule&) const` endpoint to lldb's Scripting Bridge API. As the name suggests, it will allow the user to know if the module is loaded in a specific target.
rdar://37957625
Differential Review: https://reviews.llvm.org/D95686
Signed-off-by: Med Ismail Bennani <medismail.bennani@gmail.com>
|
 | lldb/bindings/interface/SBTarget.i |
 | lldb/include/lldb/API/SBTarget.h |
 | lldb/test/API/python_api/target/TestTargetAPI.py |
 | lldb/source/API/SBTarget.cpp |
Commit
99b5631649e09970769562abb05475b79eb44e3c
by dmitry.preobrazhensky[AMDGPU][MC] Corrected error position for invalid operands
Generic parser may report an incorrect error position when an offending operand is followed by a comma. See bug 48884 for details: https://bugs.llvm.org/show_bug.cgi?id=48884.
Differential Revision: https://reviews.llvm.org/D95674
|
 | llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp |
 | llvm/test/MC/AMDGPU/gfx10_err_pos.s |
Commit
11e74e512d64ae2a2531156b6f0dde211b1ae19d
by martin[lldb] Remove a stray semicolon, fixing GCC warnings. NFC.
|
 | lldb/tools/lldb-vscode/FifoFiles.cpp |
Commit
eefa8a9ff859153c510e740b33a9e721e42b88c5
by Jan SvobodaRevert "[clang][cli] Port OpenMP-related LangOpts to marshalling system"
This reverts commit 9ad94c12
It turns out that to correctly generate command line flags for LangOptions::OpenMP and LangOptions::OpenMPSimd, we need the flexibility of C++.
|
 | clang/lib/Frontend/CompilerInvocation.cpp |
 | clang/include/clang/Driver/Options.td |
Commit
754ab803b8dc659e3645d369d1b5d6d2f97be29e
by Raphael Isemann[lldb] Use current execution context in SBDebugger
Use `GetSelectedExecutionContext()` instead of `GetCommandInterpreter().GetExecutionContext()` in `SBDebugger::GetInternalVariableValue/SBDebugger::SetInternalVariable`. The execution context in the command interpreter might be empty, if no commands has been executed yet (it is updated only when handling commands or completions -- e.g. https://github.com/llvm/llvm-project/blob/main/lldb/source/Interpreter/CommandInterpreter.cpp#L1855).
Reviewed By: teemperor
Differential Revision: https://reviews.llvm.org/D95761
|
 | lldb/test/API/python_api/debugger/TestDebuggerAPI.py |
 | lldb/source/API/SBDebugger.cpp |
Commit
3b8a1d581e6e1623d046b8b8da577ec4d42a544c
by sander.desmalenNFC: Migrate SpeculativeExecution to work on InstructionCost
This patch migrates cost values and arithmetic to work on InstructionCost. When the interfaces to TargetTransformInfo are changed, any InstructionCost state will propagate naturally.
See this patch for the introduction of the type: https://reviews.llvm.org/D91174 See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2020-November/146408.html
Reviewed By: david-arm
Differential Revision: https://reviews.llvm.org/D95356
|
 | llvm/lib/Transforms/Scalar/SpeculativeExecution.cpp |
Commit
8cda227432f1c9ceb63b88802ed8136da97274f1
by cullen.rhodes[LV] Fix crash when computing max VF too early
D90687 introduced a crash:
llvm::LoopVectorizationCostModel::computeMaxVF(llvm::ElementCount, unsigned int): Assertion `WideningDecisions.empty() && Uniforms.empty() && Scalars.empty() && "No decisions should have been taken at this point"' failed.
when compiling the following C code:
typedef struct { char a; } b;
b *c; int d, e;
int f() { int g = 0; for (; d; d++) { e = 0; for (; e < c[d].a; e++) g++; } return g; }
with:
clang -Os -target hexagon -mhvx -fvectorize -mv67 testcase.c -S -o -
This occurred since prior to D90687 computeFeasibleMaxVF would only be called in computeMaxVF when a scalar epilogue was allowed, but now it's always called. This causes the assert above since computeFeasibleMaxVF collects all viable VFs larger than the default MaxVF, and for each VF calculates the register usage which results in analysis being done the assert above guards against. This can occur in computeFeasibleMaxVF if TTI.shouldMaximizeVectorBandwidth and this target hook is implemented in the hexagon backend to always return true.
Reported by @iajbar.
Reviewed By: fhahn
Differential Revision: https://reviews.llvm.org/D94869
|
 | llvm/lib/Transforms/Vectorize/LoopVectorize.cpp |
 | llvm/test/Transforms/LoopVectorize/Hexagon/maximum-vf-crash.ll |
Commit
c2b322fc19e829162ed4c7dcd04d9e9b2cd4e66c
by Tim NorthoverGlobalISel: check type size before getZExtValue()ing it.
Otherwise getZExtValue() asserts.
|
 | llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp |
 | llvm/test/CodeGen/AArch64/GlobalISel/huge-switch.ll |
Commit
ee562e2315cfe339fdcb0cb9b2122284bbeda29b
by medismail.bennani[lldb/test] Skip `SBTarget::IsLoaded` test on windows (NFC)
This patch skips the test for the SBTarget::IsLoaded method on windows since the logic is different.
Differential Revision: https://reviews.llvm.org/D95686
Signed-off-by: Med Ismail Bennani <medismail.bennani@gmail.com>
|
 | lldb/test/API/python_api/target/TestTargetAPI.py |
Commit
972212d29c3ad0569afb9dbed38a6cab7311db3e
by flo[ConstraintElimination] Add tests for signed predicates.
Add test coverage for conditions with signed predicates.
|
 | llvm/test/Transforms/ConstraintElimination/mixed-signed-unsigned-predicates.ll |
 | llvm/test/Transforms/ConstraintElimination/sge.ll |
Commit
2556b413a7b802703290ecf318712941dec6d745
by jeroen.dobbelaereRevert "[Verifier] enable llvm.experimental.noalias.scope.decl dominance check."
the 'clang-with-lto-ubuntu' buildbot triggers the assertion.
This reverts commit b43c395e60d2636ab5afc9b60a2046978c71e366.
|
 | llvm/lib/IR/Verifier.cpp |
Commit
f1e8136115ac86a633f670cd4d50cf41b71418d8
by flo[SCEV] Bail out if URem operand cannot be zero-extended.
In some cases, LHS is larger than the target expression type. Bail out in that case for now, to avoid crashing
|
 | llvm/test/Analysis/ScalarEvolution/trip-multiple-guard-info.ll |
 | llvm/lib/Analysis/ScalarEvolution.cpp |
Commit
9b4fcfaa9e8f19f250c45e92dd2e5a305156b701
by kerry.mclaughlin[SVE][CodeGen] Remove performMaskedGatherScatterCombine
The AArch64 DAG combine added by D90945 & D91433 extends the index of a scalable masked gather or scatter to i32 if necessary.
This patch removes the combine and instead adds shouldExtendGSIndex, which is used by visitMaskedGather/Scatter in SelectionDAGBuilder to query whether the index should be extended before calling getMaskedGather/Scatter.
Reviewed By: david-arm
Differential Revision: https://reviews.llvm.org/D94525
|
 | llvm/include/llvm/CodeGen/TargetLowering.h |
 | llvm/lib/Target/AArch64/AArch64ISelLowering.cpp |
 | llvm/lib/Target/AArch64/AArch64ISelLowering.h |
 | llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp |
Commit
b63cd4db915c08e0cb4cf668a18de24b67f2c44c
by sam.mccall[clangd] Rename: merge index/AST refs path-insensitively where needed
If you have c:\foo open, and C:\foo indexed (case difference) then these need to be considered the same file. Otherwise we emit edits to both, and editors do... something that isn't pretty.
Maybe more centralized normalization is called for, but it's not trivial to do this while also being case-preserving. see https://github.com/clangd/clangd/issues/108
Fixes https://github.com/clangd/clangd/issues/665
Differential Revision: https://reviews.llvm.org/D95759
|
 | clang-tools-extra/clangd/support/Path.cpp |
 | clang-tools-extra/clangd/support/CMakeLists.txt |
 | clang-tools-extra/clangd/refactor/Rename.cpp |
 | clang-tools-extra/clangd/unittests/RenameTests.cpp |
 | clang-tools-extra/clangd/support/Path.h |
 | clang-tools-extra/clangd/GlobalCompilationDatabase.cpp |
Commit
313a36130f2ab7d2a442820e86009d2834fbe6db
by llvmgnsyncbot[gn build] Port b63cd4db915c
|
 | llvm/utils/gn/secondary/clang-tools-extra/clangd/support/BUILD.gn |
Commit
78c22fbce991bb5ef49db36473b71fc4386e1e85
by hokein.wu[clangd] Don't rely on builtin headers for document-link.test.
This test seems to be failing at HEAD.
Reviewed By: kadircet, sammccall
Differential Revision: https://reviews.llvm.org/D95670
|
 | clang-tools-extra/clangd/test/document-link.test |
Commit
c448ea948c28878735fefec734d8326ca2e4b33a
by Louis Dionne[libc++] Fix for the Bug 41784
Add deleted volatile copy-assignment operator in the most derived atomic to fix the Bug 41784. The root cause: there is an `operator=(T) volatile` that has better match than the deleted copy-assignment operator of the base class when `this` is `volatile`. The compiler sees that right operand of the assignment operator can be converted to `T` and chooses that path without taking into account the deleted copy-assignment operator of the base class.
The current behavior on libstdc++ is different from what we have in libc++. On the same test compilation fails with libstdc++. Proof: https://godbolt.org/z/nebPYd (everything is the same except the -stdlib option).
I choose the way with explicit definition of copy-assignment for atomic in the most derived class. But probably we can fix that by moving `operator=(T)` overloads to the base class from both specializations. At first glance, it shouldn't break anything.
Differential Revision: https://reviews.llvm.org/D90968
|
 | libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/copy.assign.volatile.verify.cpp |
 | libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/copy.assign.ptr.volatile.verify.cpp |
 | libcxx/include/atomic |
 | libcxx/test/std/atomics/atomics.types.generic/copy_semantics_traits.pass.cpp |
Commit
ce587529ad8b5347fa8896e6811469c1857ed1a2
by llvm-dev[APFloat] multiplySignificand - pass IEEEFloat as const reference. NFCI.
Avoids unnecessary IEEEFloat copies.
|
 | llvm/lib/Support/APFloat.cpp |
 | llvm/include/llvm/ADT/APFloat.h |
Commit
267b573b55f7f43aaeaf4860e31101cd6a3dbba0
by Paul C. Anagnostopoulos[TableGen] Fix anonymous record self-reference in foreach and multiclass
If we instantiate self-referenced anonymous records in foreach and multiclass, the NAME value will point to incorrect record. It's because anonymous name is resolved too early.
This patch adds AnonymousNameInit to represent an anonymous record name. When instantiating an anonymous record, it will update the referred name.
Differential Revision: https://reviews.llvm.org/D95309
|
 | llvm/include/llvm/TableGen/Record.h |
 | llvm/lib/TableGen/TGParser.cpp |
 | llvm/lib/TableGen/Record.cpp |
 | llvm/test/TableGen/self-reference.td |
Commit
ff4832dbff0ccf1fd29f726efe72fd1220cd645a
by sam.mccall[clangd] Respect ReferencesParams.context.includeDeclarations
Unfortunately this treats overrides declarations as declarations, not as references. I don't plan to land this until I have a fix for that issue.
Differential Revision: https://reviews.llvm.org/D95450
|
 | clang-tools-extra/clangd/unittests/PreambleTests.cpp |
 | clang-tools-extra/clangd/unittests/XRefsTests.cpp |
 | clang-tools-extra/clangd/XRefs.cpp |
 | clang-tools-extra/clangd/Protocol.cpp |
 | clang-tools-extra/clangd/Protocol.h |
 | clang-tools-extra/clangd/XRefs.h |
 | clang-tools-extra/clangd/test/references.test |
 | clang-tools-extra/clangd/ClangdLSPServer.cpp |
Commit
5805521207852b859090c274a69fd51618b68b69
by david.green[ARM] Simplify VMOVRRD from extracts of buildvectors
Under the softfp calling convention, we are often left with VMOVRRD(extract(bitcast(build_vector(a, b, c, d)))) for the return value of the function. These can be simplified to a,b or c,d directly, depending on the value of the extract.
Big endian is a little different because the bitcast switches the lanes around, meaning we end up with b,a or d,c.
Differential Revision: https://reviews.llvm.org/D94989
|
 | llvm/test/CodeGen/ARM/func-argpassing-endian.ll |
 | llvm/lib/Target/ARM/ARMISelLowering.cpp |
 | llvm/test/CodeGen/ARM/vcvt.ll |
 | llvm/test/CodeGen/Thumb2/mve-soft-float-abi.ll |
 | llvm/test/CodeGen/Thumb2/mve-vcreate.ll |
Commit
880b64aa228fdc0152b8bb9e88e4ff83f5d0e43a
by sander.desmalen[SimplifyCFG] NFC: Rename static methods to clang-tidy standards.
This patch is a precursor to D95351, which changes the signature of these methods.
|
 | llvm/lib/Transforms/Utils/SimplifyCFG.cpp |
Commit
bf294953e77089c314e431a7eb238cb353aa44d5
by sander.desmalenNFC: Migrate SimplifyCFG to work on InstructionCost
This patch migrates cost values and arithmetic to work on InstructionCost. When the interfaces to TargetTransformInfo are changed, any InstructionCost state will propagate naturally.
See this patch for the introduction of the type: https://reviews.llvm.org/D91174 See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2020-November/146408.html
Reviewed By: spatel
Differential Revision: https://reviews.llvm.org/D95351
|
 | llvm/lib/Transforms/Utils/SimplifyCFG.cpp |
Commit
657e76968822f6fbfc06826e2af88806025e32cb
by llvm-devRevert rGce587529ad8b5 - "[APFloat] multiplySignificand - pass IEEEFloat as const reference. NFCI."
Breaks on some buildbots
|
 | llvm/include/llvm/ADT/APFloat.h |
 | llvm/lib/Support/APFloat.cpp |
Commit
8712df7a621d1d00a3fd4641ef72639a8faa6284
by sam.mccall[clangd] references: decls of overrides of x are refs to x, not decls
This requires a second index query for refs to overrides, as the refs call doesn't tell you which ref points at which symbol.
Differential Revision: https://reviews.llvm.org/D95451
|
 | clang-tools-extra/clangd/index/Index.h |
 | clang-tools-extra/clangd/XRefs.cpp |
 | clang-tools-extra/clangd/unittests/XRefsTests.cpp |
Commit
fda48539988d2a1bdb6395799151e9090312a20b
by huberjn[OpenMP] Fix seg fault in libomptarget when using Info with multiple threads
Summary: One option for the LIBOMPTARGET_INFO environment variable is to print the current status of the device's data mappings. These are a shared resource among threads so this needs to be protected when using multiple streams.
Reviewed By: jdoerfert
Differential Revision: https://reviews.llvm.org/D95786
|
 | openmp/libomptarget/src/private.h |
 | openmp/libomptarget/src/interface.cpp |
Commit
1eb7fd089e2fcf3fe211f865b28e2fed12128c3f
by sam.mccall[clangd] Remove some obsolete options that are now always on
- always collect main-file refs when indexing - always build preambles asynchronously - always use dex for fast preamble index
Retire associated flags
Differential Revision: https://reviews.llvm.org/D95571
|
 | clang-tools-extra/clangd/tool/ClangdMain.cpp |
 | clang-tools-extra/clangd/unittests/BackgroundIndexTests.cpp |
 | clang-tools-extra/clangd/index/FileIndex.h |
 | clang-tools-extra/clangd/index/Background.h |
 | clang-tools-extra/clangd/index/Background.cpp |
 | clang-tools-extra/clangd/unittests/TestTU.cpp |
 | clang-tools-extra/clangd/TUScheduler.cpp |
 | clang-tools-extra/clangd/index/FileIndex.cpp |
 | clang-tools-extra/clangd/ClangdServer.cpp |
 | clang-tools-extra/clangd/ClangdServer.h |
 | clang-tools-extra/clangd/TUScheduler.h |
Commit
5f3c4923e4e4d5f40a64e08e407067ff551f2901
by erik.pilkington[compiler-rt] Fix AArch64 out-of-line atomics visibility on mach-o
This fixes an apparent oversight in D91156, where the symbol was defined without the leading underscore, then the visibility was later declared with it. rdar://73364185
Differential revision: https://reviews.llvm.org/D95639
|
 | compiler-rt/lib/builtins/assembly.h |
Commit
0397dca0214ab50de41ac6c3d432aab93ff75c60
by Austin.Kerbow[AMDGPU] Fix crash with sgpr spills to vgpr disabled
This would assert with amdgpu-spill-sgpr-to-vgpr disabled when trying to spill the FP.
Fixes: SWDEV-262704
Reviewed By: RamNalamothu
Differential Revision: https://reviews.llvm.org/D95768
|
 | llvm/test/CodeGen/AMDGPU/frame-setup-without-sgpr-to-vgpr-spills.ll |
 | llvm/lib/Target/AMDGPU/SIISelLowering.cpp |
 | llvm/lib/Target/AMDGPU/SIFrameLowering.cpp |
Commit
e068e236c3b8e5ad4527bd9407cc9900359c3eec
by Austin.Kerbow[AMDGPU] Fix release build after 0397dca0.
|
 | llvm/lib/Target/AMDGPU/SIFrameLowering.cpp |
Commit
f0ffc690d5bcb3d8c373cbe63ac9a2a3a10deee8
by pklausler[flang] Fix parsing of WRITE(I+J) with more accurate look-ahead
The parsing of I/O units uses look-ahead to discriminate between keywords, variables and expressions as part of distinguishing internal from external I/O. The look-ahead was inaccurate for variables that appear as the initial parts of expressions.
Differential Revision: https://reviews.llvm.org/D95743
|
 | flang/lib/Parser/io-parsers.cpp |
 | flang/lib/Parser/Fortran-parsers.cpp |
Commit
ce190e41445eb52e560ac70dd1df74717a1e80d2
by flo[ConstraintElimination] Negate IR condition directly.
Instead of using ConstraintSystem::negate when adding new constraints, flip the condition in IR.
The main advantage is that EQ predicates can be represented by 2 constraints, which makes negating based on the constraint tricky. The IR condition can easily negated.
|
 | llvm/lib/Transforms/Scalar/ConstraintElimination.cpp |
Commit
1097ee61bf3ef4f36a7e92b4d8781a5c069c93de
by craig.topper[RISCV] Optimize (srl (and X, 0xffff), C) -> (srli (slli X, 16), 16 + C).
Rather than materializing the 0xffff immediate for the AND, use a shift left to remove the upper bits and then shift in zeros from the right.
This pattern occurs when type legalizing an i16 right shift.
I've implemented this with custom selection code for a number of reasons. I've limited this to the AND having a single use. We need to compensate for SimplifyDemandedBits altering the AND mask. I'm using *W opcodes on RV64. We may want to generlize this in the future. For all these reason it seemed easiest to do it this way.
Reviewed By: luismarques
Differential Revision: https://reviews.llvm.org/D95774
|
 | llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp |
 | llvm/test/CodeGen/RISCV/bswap-ctlz-cttz-ctpop.ll |
 | llvm/test/CodeGen/RISCV/alu16.ll |
Commit
4809663334ab84fc0e3f4ed11477d6873e642824
by Jessica Paquette[GlobalISel] Make sure G_ASSERT_ZEXT's src ends up with the same rc as dst
When replacing the dst reg with the src reg, we need to make sure that we propagate the dst reg's register class through to the src.
Otherwise, we aren't meeting the requirements for G_ASSERT_ZEXT, and so the verifier will fail.
Differential Revision: https://reviews.llvm.org/D95708
|
 | llvm/test/CodeGen/AArch64/GlobalISel/select-hint.mir |
 | llvm/lib/CodeGen/GlobalISel/InstructionSelect.cpp |
Commit
6a3ab66625cf1d440e66d9f438f05ee5ed040672
by craig.topper[RISCV] Update comment text from D95774. NFC
|
 | llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp |
Commit
72b31ad4b8c1463dcdfed636be0abb8e9050c16f
by craig.topper[RISCV] Add scalable vector support for floating point FMA instructions
A follow up patch will add support for commuting operands or changing opcode to vfmacc and friends.
Reviewed By: frasercrmck
Differential Revision: https://reviews.llvm.org/D95662
|
 | llvm/test/CodeGen/RISCV/rvv/vfnmadd-sdnode.ll |
 | llvm/test/CodeGen/RISCV/rvv/vfmadd-sdnode.ll |
 | llvm/test/CodeGen/RISCV/rvv/vfnmsub-sdnode.ll |
 | llvm/test/CodeGen/RISCV/rvv/vfmsub-sdnode.ll |
 | llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td |
Commit
7f2e0879b5b45815207a986eac2d614649aea526
by tejohnson[LTO] Move part of gold devirt test to v1.16 directory
Part of the gold test added in 1487747e990ce9f8851f3d92c3006a74134d7518 relies on more recent fixes to gold that fix the plugin behavior with --export-dynamic-symbol and --dynamic-list. Extract those parts of the new test into a v1.16 test.
|
 | llvm/test/tools/gold/X86/v1.16/devirt_vcall_vis_export_dynamic.ll |
 | llvm/test/tools/gold/X86/devirt_vcall_vis_export_dynamic.ll |
Commit
cf2be5e3bb3dae347af41ab6117f3e9b250cc8c3
by Jessica Paquette[AArch64][GlobalISel] Emit G_ASSERT_ZEXT in assignValueToReg
When we have a zeroext parameter, emit G_ASSERT_ZEXT.
Add a check that we actually emit it.
This is a 0.1% code size win on CTMark/7zip and CTMark/consumer-typeset at -Os.
Differential Revision: https://reviews.llvm.org/D95567
|
 | llvm/test/CodeGen/AArch64/GlobalISel/call-lowering-zeroext.ll |
 | llvm/lib/Target/AArch64/GISel/AArch64CallLowering.cpp |
Commit
3ffc53ba16272b6475ff49c05ab6aa72f7720383
by koraq[libc++] Implements concept default_initializable.
Implements: - LWG3149 DefaultConstructible should require default initialization
Implements parts of: - P0898R3 Standard Library Concepts - P1754 Rename concepts to standard_case for C++20, while we still can
Depends on D91986
Reviewed By: ldionne, #libc
Differential Revision: https://reviews.llvm.org/D93461
|
 | libcxx/docs/Cxx2aStatusIssuesStatus.csv |
 | libcxx/include/concepts |
 | libcxx/test/std/concepts/concept.default.init/default_initializable.verify.cpp |
 | libcxx/test/std/concepts/concept.default.init/default_initializable.compile.pass.cpp |
Commit
f0129cc35ebd4607c86f1f90cb664c86ffdb4a5c
by tianshilei1992[OpenMP] Disable tests if FileCheck is not available in in-tree building
FileCheck is required for OpenMP tests. The current detection can fail if building OpenMP in-tree when user sets `LLVM_INSTALL_TOOLCHAIN_ONLY=ON`. As a result, CMake will raise an error and the compilation will be broken. This patch fixed the issue. When `FileCheck` is not a target, tests will just be skipped.
Reviewed By: jdoerfert, JonChesterfield
Differential Revision: https://reviews.llvm.org/D95689
|
 | openmp/cmake/OpenMPTesting.cmake |
Commit
e640b209b24a9bf66f5998b5fafa76f0dbb388ab
by llvm-dev[X86][SSE] LowerScalarImmediateShift - use APInt::getLowBitsSet for vXi8 ISD::SRL mask generation. NFCI.
Match what we do for ISD::SHL
|
 | llvm/lib/Target/X86/X86ISelLowering.cpp |
Commit
e9514429a02b1e4f8b9d54b28a934bfa9bd246ec
by llvm-dev[X86][AVX] Add 'OK' tests cases for PR48877
|
 | llvm/test/MC/Disassembler/X86/x86-64-avx2.txt |
 | llvm/test/MC/Disassembler/X86/x86-64-avx.txt |
Commit
3f46c209f1527530ca8e60a51d08e32e886fa11b
by clementval[flang][directive] Enforce basic semantic check for all clauses
This patch is a follow up to D94821 to ensure the correct behavior of the general directive structure checker. This patch add the generation of the Enter function declaration for clauses in the TableGen backend. This helps to ensure each clauses declared in the TableGen file has at least a basic check.
Reviewed By: kiranchandramohan
Differential Revision: https://reviews.llvm.org/D95108
|
 | flang/lib/Semantics/check-acc-structure.h |
 | flang/lib/Semantics/check-acc-structure.cpp |
 | flang/lib/Semantics/check-omp-structure.cpp |
 | flang/lib/Semantics/check-omp-structure.h |
 | llvm/utils/TableGen/DirectiveEmitter.cpp |
Commit
c4d6f2707a1e6c4e9bd93480dd913121fef122b7
by mtrofin[NFC] Disallow unused prefixes under clang/test/Driver
Differential Revision: https://reviews.llvm.org/D95660
|
 | clang/test/Driver/rocm-device-libs.cl |
 | clang/test/Driver/fsanitize.c |
 | clang/test/Driver/ps4-visibility-dllstorageclass.c |
 | clang/test/Driver/cuda-detect.cu |
 | clang/test/Driver/amdgpu-macros.cl |
 | clang/test/Driver/lit.local.cfg |
Commit
cb2e2d506814dc3c06449a87aec180b29f4351d7
by michaelrj[libc] Small adjustments to fenv tests
Some libcs define non-standard FE_* macros and include them in FE_ALL_EXCEPT. This change adjusts the fenv tests so that the non-standard FE_* macros do not interfere when compiled with fenv.h from another libc.
Reviewed By: sivachandra
Differential Revision: https://reviews.llvm.org/D95650
|
 | libc/test/src/fenv/enabled_exceptions_test.cpp |
 | libc/test/src/fenv/exception_status_test.cpp |
Commit
d23b68a8798913bda65db109e57029139197c587
by spatel[InstCombine] add tests for min/max with extend and constant operand; NFC
|
 | llvm/test/Transforms/InstCombine/minmax-intrinsics.ll |
Commit
0ce2920f1707266c0d94dacc8719251b7b6a2c01
by spatel[InstCombine] try to narrow min/max intrinsics with constant operand
The constant trunc/ext may not be the optimal pre-condition, but I think that handles the common cases.
Example of Alive2 proof: https://alive2.llvm.org/ce/z/sREeLC
This is another step towards canonicalizing to the intrinsics. Narrowing was identified as source of potential regression for abs(), so we need to handle this for min/max - see: https://llvm.org/PR48816
If this is not enough, we could process intrinsics in the trunc-driven matching in canEvaluateTruncated().
|
 | llvm/test/Transforms/InstCombine/minmax-intrinsics.ll |
 | llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp |
Commit
08d46d50599a7005380e1a9eebb276ceb2b0ad93
by melanie.blower[clang][PATCH] Fix bug 48848 assertion related to recoverFromMSUnqualifiedLookup
Reviewed By: rnk
Differential Revision: https://reviews.llvm.org/D95482
|
 | clang/test/SemaCXX/lambda-expressions.cpp |
 | clang/lib/Sema/SemaExprCXX.cpp |
Commit
771b35965457ebd5faaed8a1c3d2bcefffe721a3
by haowei[elfabi] Fix tests which failed on different timezones
This patch fixes elfabi tests on machines using a GMT+X timezone settings.
Differential Revision: https://reviews.llvm.org/D95641
|
 | llvm/test/tools/llvm-elfabi/preserve-dates-stub.test |
 | llvm/test/tools/llvm-elfabi/preserve-dates-tbe.test |
Commit
c691fe14da93a7c9eff466231515d6d4d16124fa
by craig.topper[X86] Accept 64-bit GPRs for vextractps when using a register that requires EVEX.
This is consistent with the VEX version. It also fixes a sorting issue in the matching table that caused the EVEX version to be prioritized over VEX in intel syntax.
Fixes issue [2] from PR48991.
|
 | llvm/test/MC/X86/intel-syntax-x86-64-avx.s |
 | llvm/test/MC/X86/intel-syntax-x86-64-avx512f_vl.s |
 | llvm/lib/Target/X86/X86InstrAVX512.td |
Commit
7739f9ff974a2b301f5b036de55820b19a0df19a
by aeubanks[NewPM][Unswitch] Add option to disable -O3 non-trivial unswitching
Some benchmarks regress with non-trivial unswitching, so add an option to opt-out of performing non-trivial unswitching while investigating.
Reviewed By: asbirlea
Differential Revision: https://reviews.llvm.org/D95796
|
 | llvm/lib/Passes/PassBuilder.cpp |
 | llvm/test/Transforms/SimpleLoopUnswitch/pipeline.ll |
Commit
5b2626ea87f48eab011b616a96540b9e83c7ca88
by david.green[ARM] Flatten identity shuffles through vqdmulh nodes
Given a shuffle(vqdmulh(shuffle, shuffle), we can flatter the shuffles out if they become an identity mask. This can come up during lane interleaving, when we do that better.
Differential Revision: https://reviews.llvm.org/D94034
|
 | llvm/test/CodeGen/Thumb2/mve-vqdmulh.ll |
 | llvm/lib/Target/ARM/ARMISelLowering.cpp |
Commit
c73c23f2a91f5a454d782da9918e2160cfe66087
by michaelrj[libc][NFC] Add a death test API adaptation macro
Fuchsia's zxtest has a slightly different death test definition, and this macro makes our death test API work on Fuchsia.
Reviewed By: sivachandra
Differential Revision: https://reviews.llvm.org/D95648
|
 | libc/test/src/stdlib/abort_test.cpp |
 | libc/test/src/signal/sigaction_test.cpp |
 | libc/test/src/signal/sigdelset_test.cpp |
 | libc/test/src/fenv/enabled_exceptions_test.cpp |
 | libc/utils/UnitTest/LibcTest.h |
 | libc/test/src/signal/sigprocmask_test.cpp |
 | libc/utils/UnitTest/FuchsiaTest.h |
 | libc/test/src/assert/assert_test.cpp |
 | libc/test/src/signal/raise_test.cpp |
Commit
35a57f39b5d126646335183f1ff0f7adb52d63bc
by koraq[libc++][format] Add basic_format_parse_context.
Implements parts of: - P0645 Text Formatting
Depends on D92214
Reviewed By: ldionne, curdeius, #libc
Differential Revision: https://reviews.llvm.org/D93166
|
 | libcxx/test/std/utilities/format/format.formatter/format.parse.ctx/types.compile.pass.cpp |
 | libcxx/test/std/utilities/format/format.formatter/format.parse.ctx/begin.pass.cpp |
 | libcxx/test/std/utilities/format/format.formatter/format.parse.ctx/advance_to.pass.cpp |
 | libcxx/include/format |
 | libcxx/test/std/utilities/format/format.formatter/format.parse.ctx/end.pass.cpp |
 | libcxx/test/std/utilities/format/format.formatter/format.parse.ctx/next_arg_id.pass.cpp |
 | libcxx/test/std/utilities/format/format.formatter/format.parse.ctx/ctor.pass.cpp |
 | libcxx/test/std/utilities/format/format.formatter/format.parse.ctx/check_arg_id.pass.cpp |
Commit
8bfef787225c14a67db23254b82b330e85d1c35c
by rnk[ConstantHoisting] Fix bug where constant materialization could insert into EH pad
If the incoming block to a phi node is an EH pad, then we will materialize into an EH pad, which is not supposed to happen. To fix this, I added a check to see if incoming block of a phi node is an EH pad before using it as the insertion point.
Differential Revision: https://reviews.llvm.org/D95019
|
 | llvm/lib/Transforms/Scalar/ConstantHoisting.cpp |
 | llvm/test/Transforms/ConstantHoisting/X86/ehphi.ll |
Commit
0d9b17d0efe065f23b7f1c1f8f2b2b32491abd45
by aardappel[WebAssembly] fixed wasm64 data segment init exp not 64-bit
As defined in the spec: https://github.com/WebAssembly/memory64/blob/master/proposals/memory64/Overview.md
Differential Revision: https://reviews.llvm.org/D95651
|
 | lld/wasm/OutputSections.cpp |
 | llvm/test/MC/WebAssembly/data-section.s |
 | llvm/lib/MC/WasmObjectWriter.cpp |
 | llvm/test/MC/WebAssembly/wasm64.s |
 | lld/test/wasm/data-segments.ll |
 | lld/test/wasm/data-layout.ll |
Commit
b3f611bfe7d4aac7b1393ab0200d7166a590791b
by hanchung[mlir][Linalg] Replace SimplePad with PadTensor in hoist-padding
This is the last revision to migrate using SimplePadOp to PadTensorOp, and the SimplePadOp is removed in the patch. Update a bit in SliceAnalysis because the PadTensorOp takes a region different from SimplePadOp. This is not covered by LinalgOp because it is not a structured op.
Also, remove a duplicated comment from cpp file, which is already described in a header file. And update the pseudo-mlir in the comment.
This is as same as D95615 but fixing one dep in CMakeLists.txt
Different from D95671, the fix was applied to run target.
Reviewed By: mravishankar
Differential Revision: https://reviews.llvm.org/D95785
|
 | mlir/test/Dialect/Linalg/hoist-padding.mlir |
 | mlir/include/mlir/Dialect/Linalg/Transforms/Hoisting.h |
 | mlir/lib/Analysis/CMakeLists.txt |
 | mlir/lib/Analysis/SliceAnalysis.cpp |
 | mlir/test/Dialect/Linalg/roundtrip.mlir |
 | mlir/include/mlir/Dialect/Linalg/IR/LinalgOps.td |
 | mlir/lib/Dialect/Linalg/Transforms/Hoisting.cpp |
 | mlir/test/lib/Transforms/TestLinalgTransforms.cpp |
Commit
2a53d9a6e7736fe141cd6365be05d972ff6f0065
by listmail[Loads] Plumb through TLI argument [NFC]
This is a (rather delayed) follow up to commit 0129cd5. This commit is entirely NFC, the semantic change to leverage the new information will be submitted separate with a test case.
|
 | llvm/lib/Analysis/Loads.cpp |
 | llvm/include/llvm/Analysis/Loads.h |
Commit
d7b12004bd7d6d9a592f1773101cbedd9daf8492
by Andrey.Churbanov[OpenMP] libomp: implement nteams-var and teams-thread-limit-var ICVs
The change includes OMP_NUM_TEAMS, OMP_TEAMS_THREAD_LIMIT env variables, omp_set_num_teams, omp_get_max_teams, omp_set_teams_thread_limit, omp_get_teams_thread_limit routines.
Differential Revision: https://reviews.llvm.org/D95003
|
 | openmp/runtime/src/include/omp_lib.h.var |
 | openmp/runtime/src/include/omp_lib.f90.var |
 | openmp/runtime/src/kmp.h |
 | openmp/runtime/src/kmp_ftn_entry.h |
 | openmp/runtime/src/kmp_ftn_os.h |
 | openmp/runtime/src/dllexports |
 | openmp/runtime/src/kmp_global.cpp |
 | openmp/runtime/test/api/omp_nteams_api_env2.c |
 | openmp/runtime/test/api/omp_nteams_api_env.c |
 | openmp/runtime/src/include/omp.h.var |
 | openmp/runtime/src/kmp_runtime.cpp |
 | openmp/runtime/src/kmp_settings.cpp |
 | openmp/runtime/test/api/omp_nteams_api.c |
Commit
21f1462106b9ee1e646bf409c85528828320b34e
by antiagainst[mlir][spirv] Add support for OpImageType
Support OpImageType in SPIRV Dialect.
This change doesn't support operand AccessQualifier since it is optinal and only enables under Kernel capability.
co-authored-by: Alan Liu <alanliu.yf@gmail.com>
Reviewed By: antiagainst
Differential Revision: https://reviews.llvm.org/D95580
|
 | mlir/lib/Target/SPIRV/Deserialization/DeserializeOps.cpp |
 | mlir/test/Target/SPIRV/image.mlir |
 | mlir/lib/Target/SPIRV/Deserialization/Deserializer.cpp |
 | mlir/lib/Target/SPIRV/Serialization/Serialization.cpp |
 | mlir/lib/Target/SPIRV/Deserialization/Deserializer.h |
 | mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td |
Commit
75347ba1fae25819a086fc29ad52d813419887a8
by antiagainstRevert "[mlir][spirv] Add support for OpImageType"
This reverts commit 21f1462106b9ee1e646bf409c85528828320b34e.
|
 | mlir/lib/Target/SPIRV/Deserialization/Deserializer.cpp |
 | mlir/lib/Target/SPIRV/Deserialization/Deserializer.h |
 | mlir/test/Target/SPIRV/image.mlir |
 | mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td |
 | mlir/lib/Target/SPIRV/Deserialization/DeserializeOps.cpp |
 | mlir/lib/Target/SPIRV/Serialization/Serialization.cpp |
Commit
0b28d756af183b9f294ddca5432a0ad5054ac9c2
by flo[ConstraintElimination] Add support for EQ predicates.
A == B map to A >= B && A <= B (https://alive2.llvm.org/ce/z/_dwxKn).
This extends the constraint construction to return a list of constraints, which can be used to properly de-compose nested AND & OR.
|
 | llvm/test/Transforms/ConstraintElimination/eq.ll |
 | llvm/lib/Transforms/Scalar/ConstraintElimination.cpp |
Commit
32ef6d89f48be765330ee5d15cf57a1f01c9b335
by joker.ephAvoid string comparisons on the fast path of MLIR Identifier lookup (NFC)
Differential Revision: https://reviews.llvm.org/D95770
|
 | mlir/lib/IR/MLIRContext.cpp |
Commit
68f66f37d7d74be7beba56506c4397dadc8538dd
by joker.ephRevert "[libc++][format] Add basic_format_parse_context."
This reverts commit 35a57f39b5d126646335183f1ff0f7adb52d63bc.
A build is broken during clang bootstrap with:
In file included from ../libcxx/src/format.cpp:9: /tmp/ci-nGNyLRM9V3/include/c++/v1/format:153:16: error: no member named 'is_constant_evaluated' in namespace 'std::__1' if (_VSTD::is_constant_evaluated() && __id >= __num_args_) ~~~~~~~^ 1 error generated.
|
 | libcxx/test/std/utilities/format/format.formatter/format.parse.ctx/end.pass.cpp |
 | libcxx/test/std/utilities/format/format.formatter/format.parse.ctx/types.compile.pass.cpp |
 | libcxx/test/std/utilities/format/format.formatter/format.parse.ctx/advance_to.pass.cpp |
 | libcxx/test/std/utilities/format/format.formatter/format.parse.ctx/next_arg_id.pass.cpp |
 | libcxx/include/format |
 | libcxx/test/std/utilities/format/format.formatter/format.parse.ctx/ctor.pass.cpp |
 | libcxx/test/std/utilities/format/format.formatter/format.parse.ctx/begin.pass.cpp |
 | libcxx/test/std/utilities/format/format.formatter/format.parse.ctx/check_arg_id.pass.cpp |
Commit
bbed5f2f8a04ae3a49f5e8f900c117f405101424
by spatel[LoopVectorize] improve IR fast-math-flags propagation in reductions
This is another step (see D95452) towards correcting fast-math-flags bugs in vector reductions.
There are multiple bugs visible in the test diffs, and this is still not working as it should. We still use function attributes (rather than FMF) to drive part of the logic, but we are not checking for the correct FP function attributes.
Note that FMF may not be propagated optimally on selects (example in https://llvm.org/PR35607 ). That's why I'm proposing to union the FMF of a fcmp+select pair and avoid regressions on existing vectorizer tests.
Differential Revision: https://reviews.llvm.org/D95690
|
 | llvm/lib/Transforms/Vectorize/LoopVectorize.cpp |
 | llvm/include/llvm/Transforms/Utils/LoopUtils.h |
 | llvm/lib/Transforms/Utils/LoopUtils.cpp |
 | llvm/lib/Analysis/IVDescriptors.cpp |
 | llvm/include/llvm/IR/Operator.h |
 | llvm/test/Transforms/LoopVectorize/float-minmax-instruction-flag.ll |
 | llvm/test/Transforms/LoopVectorize/X86/reduction-fastmath.ll |
Commit
68b0595ccb8de1b0a9459f958dda17164341ee87
by steveireNFC: Re-generate out-of-date matchers docs
|
 | clang/docs/LibASTMatchersReference.html |
Commit
73ef96c49c293e09f50bba60eff9d143db41864d
by listmail[tests] highlight cornercase w/deref hoisting from D95815
The main point of committing this early is to have a negative test in tree. Nothing fails in the current tests if we implement this (currently unsound) optimization.
|
 | llvm/test/Transforms/LICM/hoist-alloc.ll |
Commit
35f746c17fd0315b235050c0a350fc521f944f20
by antiagainst[mlir][spirv] Add support for OpImageType
Support OpImageType in SPIRV Dialect.
This change doesn't support operand AccessQualifier since it is optinal and only enables under Kernel capability.
co-authored-by: Alan Liu <alanliu.yf@gmail.com>
Reviewed By: antiagainst
Differential Revision: https://reviews.llvm.org/D95580
|
 | mlir/test/Target/SPIRV/image.mlir |
 | mlir/lib/Target/SPIRV/Deserialization/Deserializer.cpp |
 | mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td |
 | mlir/lib/Target/SPIRV/Deserialization/DeserializeOps.cpp |
 | mlir/lib/Target/SPIRV/Deserialization/Deserializer.h |
 | mlir/lib/Target/SPIRV/Serialization/Serialization.cpp |
Commit
772eb24e00629faaae0244aa0d6d6204542c579b
by bjoern[clang-format] Add option to control the spaces in a line comment
Differential Revision: https://reviews.llvm.org/D92257
|
 | clang/docs/ClangFormatStyleOptions.rst |
 | clang/include/clang/Format/Format.h |
 | clang/lib/Format/BreakableToken.cpp |
 | clang/unittests/Format/FormatTestComments.cpp |
 | clang/lib/Format/NamespaceEndCommentsFixer.cpp |
 | clang/docs/ReleaseNotes.rst |
 | clang/lib/Format/Format.cpp |
 | clang/lib/Format/BreakableToken.h |
 | clang/unittests/Format/FormatTest.cpp |
Commit
224fee8219bb3aed34f13ce40935e1b3ede90a0f
by hoy[CSSPGO] Tweaking inlining with pseudo probes.
Fixing up a couple places where `getCallSiteIdentifier` is needed to support pseudo-probe-based callsites.
Also fixing an issue in the extbinary profile reader where the metadata section is not fully scanned based on the number of profiles loaded only for the current module.
Reviewed By: wmi, wenlei
Differential Revision: https://reviews.llvm.org/D95791
|
 | llvm/lib/ProfileData/SampleProfReader.cpp |
 | llvm/test/Transforms/SampleProfile/pseudo-probe-inline.ll |
 | llvm/lib/Transforms/IPO/SampleContextTracker.cpp |
 | llvm/test/Transforms/SampleProfile/Inputs/pseudo-probe-inline.prof |
Commit
8e661d3d9c52ea9e5e68cbf699701d9cfa071a8f
by Stanislav.Mekhanoshin[AMDGPU] Set s-memtime-inst feature from clang
Differential Revision: https://reviews.llvm.org/D95733
|
 | clang/test/CodeGenOpenCL/amdgpu-features.cl |
 | clang/lib/Basic/Targets/AMDGPU.cpp |
Commit
93345e825a0733f6a67898f6d6d156ff56db80e7
by i[llvm-objcopy] -O binary: consider SHT_NOBITS sections to be empty
This is consistent with BFD objcopy.
Previously llvm objcopy would allocate space for SHT_NOBITS sections often resulting in enormous binary files.
New test case (binary-paddr.test %t6).
Reviewed By: jhenderson, MaskRay
Differential Revision: https://reviews.llvm.org/D95569
|
 | llvm/tools/llvm-objcopy/ELF/Object.cpp |
 | llvm/test/tools/llvm-objcopy/ELF/binary-paddr.test |
Commit
df3e39f60b356ca9dbfc11e96e5fdda30afa7acb
by phosek[InstrProfiling] Use !associated metadata for counters, data and values
C identifier name input sections such as __llvm_prf_* are GC roots so they cannot be discarded. In LLD, the SHF_LINK_ORDER flag overrides the C identifier name semantics.
The !associated metadata may be attached to a global object declaration with a single argument that references another global object, and it gets lowered to SHF_LINK_ORDER flag. When a function symbol is discarded by the linker, setting up !associated metadata allows linker to discard counters, data and values associated with that function symbol.
Note that !associated metadata is only supported by ELF, it does not have any effect on non-ELF targets.
Differential Revision: https://reviews.llvm.org/D76802
|
 | llvm/include/llvm/Transforms/Instrumentation.h |
 | llvm/test/Instrumentation/InstrProfiling/icall.ll |
 | llvm/test/Transforms/PGOProfile/counter_promo_mexits.ll |
 | llvm/test/Transforms/PGOProfile/associated.ll |
 | clang/lib/CodeGen/BackendUtil.cpp |
 | llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp |
 | llvm/test/Transforms/PGOProfile/counter_promo.ll |
 | compiler-rt/test/profile/instrprof-gc-sections.c |
 | llvm/include/llvm/Transforms/Instrumentation/InstrProfiling.h |
 | llvm/test/Instrumentation/InstrProfiling/linkage.ll |
Commit
bb6c23b1f50780390eafd73aac1a2a895a8971a4
by listmail[NFC][X86] Avoid redundant work inspecting callee
|
 | llvm/test/CodeGen/X86/x86-no_caller_saved_registers.ll |
 | llvm/test/CodeGen/X86/x86-no_caller_saved_registers-preserve.ll |
 | llvm/lib/Target/X86/X86ISelLowering.cpp |
 | llvm/lib/Target/X86/X86FastISel.cpp |
Commit
9d09db941ff882a0be761e5d3d170a474bf047c8
by listmail[NFC][X86] Use CallBase interface to simplify code
|
 | llvm/lib/Target/X86/X86FastISel.cpp |
 | llvm/lib/Target/X86/X86ISelLowering.cpp |
Commit
59186902555546b9d864065d03eb1c79cb041409
by eschweitz[flang][NFC] Rename complex type.
This change renames the CplxType class to ComplexType.
|
 | flang/lib/Optimizer/Dialect/FIRDialect.cpp |
 | flang/include/flang/Optimizer/Dialect/FIRType.h |
 | flang/lib/Lower/ConvertType.cpp |
 | flang/lib/Lower/ComplexExpr.cpp |
 | flang/lib/Optimizer/Dialect/FIRType.cpp |
 | flang/lib/Lower/FIRBuilder.cpp |
 | flang/include/flang/Optimizer/Dialect/FIROps.td |
 | flang/lib/Lower/Mangler.cpp |
 | flang/lib/Lower/IO.cpp |
 | flang/lib/Lower/IntrinsicCall.cpp |
Commit
f1ff6d210a5fb45dc90d063d04b12b9da0ae4110
by rahmanl[obj2yaml, yaml2obj] Use Hex64 for BBAddressMap fields.
This patch let the yaml encoding use Hex64 values for NumBlocks, BB AddressOffset, BB Size, and BB Metadata. Additionally, it changes the decoded values in elf2yaml to uint64_t to match DataExtractor::getULEB128 return type.
Reviewed By: jhenderson
Differential Revision: https://reviews.llvm.org/D95767
|
 | llvm/test/tools/obj2yaml/ELF/bb-addr-map.yaml |
 | llvm/tools/obj2yaml/elf2yaml.cpp |
 | llvm/include/llvm/ObjectYAML/ELFYAML.h |
Commit
fbd55071788a3e57d2fdf8cad5c79ee45a273019
by Jonas Devlieghere[lldb] Use the host architecture in TestAppleSimulatorOSType.py
|
 | lldb/test/API/tools/lldb-server/TestAppleSimulatorOSType.py |
Commit
46e764a628da81795af3f64bd28970b7bd4115d6
by listmail[x86] introduce no_callee_saved_registers attribute
This is directly analogous to the existing no_caller_saved_registers, but with the opposite intention. A function or call so marked shifts the responsibility of spilling the usual CSRs to it's caller.
An indirect call site and callee which don't agree on the attribute is ill defined.
The motivation for this change is that being able to prune callee saves (without modifying other details of the calling convention) is sometimes useful when generating stubs and adapters. There's no intention to expose this as a source language feature; this is expected to be used by frontends to implement adapters where warranted.
Some specific examples of use cases: * GC compatible compiled code wants to call an externally defined library function without needing to track pointer values through CSRs. * debug enabled code wants to call precompiled library which doesn't provide enough information to track CSRs while preserving debug quality in caller. * adapter stub entering hand written assembler which doesn't follow normal calling conventions.
|
 | llvm/lib/Target/X86/X86RegisterInfo.cpp |
 | llvm/test/CodeGen/X86/x86-no_callee_saved_registers.ll |
 | llvm/lib/Target/X86/X86FastISel.cpp |
 | llvm/lib/Target/X86/X86ISelLowering.cpp |
Commit
b545667d0a4e8d3ca7d4789c3c4004b2816c1b84
by atmndp[OpenMP][Libomptarget] Remove possible harmful copy constructor call for RTLsTy
From https://bugs.llvm.org/show_bug.cgi?id=48973, we know that `std::call_once(PM->RTLs.initFlag, &RTLsTy::LoadRTLs, PM->RTLs)` causes compile time problems in libstdc++v3 5.3.1. This is because there was a defect in the standard regarding the `call_once` (LWG 2442). This was fixed in libstdc++ soon thereafter, but there are likely other standard libraries where this will fail.
By matching this function call with the other one, we fix this bug.
Differential Revision: https://reviews.llvm.org/D95769
|
 | openmp/libomptarget/src/interface.cpp |
Commit
87f8a08ce36e5bc72f11129d2cf36b5848f86f63
by mtrofin[Utils] Add a switch controlling prefix warnings in UpdateTestChecks
The switch controls both unused prefix warnings, and warnings about functions which differ under different runs for a prefix, and, thus, end up not having asserts for that prefix.
(If the latter case spans to all functions, then the former case kicks in)
The switch is on by default, and can be disabled.
Differential Revision: https://reviews.llvm.org/D95829
|
 | llvm/utils/UpdateTestChecks/common.py |
 | llvm/test/tools/UpdateTestChecks/update_llc_test_checks/common-label-different-bodies.test |
Commit
342d4662e1c930bd0a856c6c88d0cde5f106cc81
by ravishankarm[mlir] Add custom directive hooks for printing mixed integer or value operands.
Add printer and parser hooks for a custom directive that allows parsing and printing of idioms that can represent a list of values each of which is either an integer or an SSA value. For example in
`subview %source[%offset_0, 1] [4, %size_1] [%stride_0, 3]`
each of the list (which represents offset, size and strides) is a mix of either statically know integer values or dynamically computed SSA values. Since this is used in many places adding a custom directive to parse/print this idiom allows using assembly format on operations which use this idiom.
Differential Revision: https://reviews.llvm.org/D95773
|
 | mlir/tools/mlir-tblgen/OpFormatGen.cpp |
 | mlir/lib/Interfaces/ViewLikeInterface.cpp |
 | mlir/include/mlir/Interfaces/ViewLikeInterface.h |
 | mlir/lib/Dialect/StandardOps/IR/Ops.cpp |
 | mlir/include/mlir/Dialect/StandardOps/IR/Ops.td |
 | mlir/include/mlir/Dialect/Linalg/IR/LinalgOps.td |
 | mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp |
 | mlir/test/Dialect/Linalg/invalid.mlir |
Commit
41877b82f07224041a2a994f9032332fe01e4d1b
by Matthew.ArsenaultAMDGPU: Fix dbg_value handling when forming soft clause bundles
DBG_VALUES placed between memory instructions would change codegen. Skip over these and re-insert them after the bundle instead of giving up on bundling.
|
 | llvm/lib/Target/AMDGPU/GCNRegPressure.cpp |
 | llvm/test/CodeGen/AMDGPU/soft-clause-dbg-value.mir |
 | llvm/lib/Target/AMDGPU/SIFormMemoryClauses.cpp |
Commit
0fa61304d247a61b151cceac70e805abc69f8c1d
by i[LoopVectorize] Relax a FCmpInst assert to dyn_cast after D95690
The instruction may be `icmp eq i32`. Noticed in an internal Halide+wasm JIT test.
|
 | llvm/lib/Analysis/IVDescriptors.cpp |
Commit
98768bab19b27db71f497b0e5d87dfa9e5a0f05a
by i[test] Fix unuses FileCheck prefixes in clang/test/Modules
|
 | clang/test/Modules/preprocess-nested.cpp |
 | clang/test/Modules/codegen.test |
Commit
3f8dda50cbc89888015b9d2f69db38d9314d6517
by i[test] Fix unuses FileCheck prefixes in lld
|
 | lld/test/ELF/lto/amdgcn-oses.ll |
 | lld/test/COFF/wrap-lto-2.ll |
 | lld/test/ELF/arm-thumb-interwork-thunk.s |
 | lld/test/ELF/mips-micro-cross-calls.s |
 | lld/test/ELF/partition-notes.s |
Commit
7a37d981d90529a125b425b1ca155da530c3008a
by kazu[llvm] Use pop_back_val (NFC)
|
 | llvm/include/llvm/Analysis/SparsePropagation.h |
 | llvm/lib/Analysis/BranchProbabilityInfo.cpp |
Commit
094fc4d5cf9b34edcc1034e00ead287a32dd7804
by kazu[TableGen] Use ListSeparator (NFC)
|
 | llvm/utils/TableGen/InstrDocsEmitter.cpp |
Commit
b167303b772d1d07fb831b2110cd26d541138bf7
by kazu[TableGen] Use range-based for loops (NFC)
|
 | llvm/utils/TableGen/AsmMatcherEmitter.cpp |
 | llvm/utils/TableGen/DAGISelEmitter.cpp |
 | llvm/utils/TableGen/CodeEmitterGen.cpp |
 | llvm/utils/TableGen/CodeGenRegisters.h |
 | llvm/utils/TableGen/CodeGenDAGPatterns.cpp |
 | llvm/utils/TableGen/SubtargetEmitter.cpp |
Commit
ecb00a77624c94ce38fccf9b4095e026ecf14aed
by nhawes[VFS] Add support to RedirectingFileSystem for mapping a virtual directory to one in the external FS.
Previously file entries in the -ivfsoverlay yaml could map to a file in the external file system, but directories had to list their contents in the form of other file entries or directories. Allowing directory entries to map to a directory in the external file system makes it possible to present an external directory's contents in a different location and (in combination with the 'fallthrough' option) overlay one directory's contents on top of another.
rdar://problem/72485443 Differential Revision: https://reviews.llvm.org/D94844
|
 | clang/test/VFS/directory.c |
 | llvm/include/llvm/Support/VirtualFileSystem.h |
 | llvm/unittests/Support/VirtualFileSystemTest.cpp |
 | clang/test/VFS/Inputs/vfsoverlay-directory.yaml |
 | clang/test/VFS/Inputs/vfsoverlay-directory-relative.yaml |
 | lldb/source/Host/common/FileSystem.cpp |
 | llvm/lib/Support/VirtualFileSystem.cpp |
Commit
0b70c86e2007d3f32968f0a7d9efe8eab3bf0f0a
by kadircetclang-extra: fix incorrect use of std::lock_guard by adding variable name (identified by MSVC [[nodiscard]] error)
`std::lock_guard` is an RAII class that needs a variable name whose scope determines the guard's lifetime. This particular usage lacked a variable name, meaning the guard could be destroyed before the line that it was indented to protect.
This line was identified by building clang with the latest MSVC preview release, which declares the std::lock_guard constructor to be `[[nodiscard]]` to draw attention to such issues.
Reviewed By: kadircet
Differential Revision: https://reviews.llvm.org/D95725
|
 | clang-tools-extra/clangd/support/Function.h |
Commit
327196d688585ecc6a4aa7dc1323adb7fe203c55
by i[test] Fix unused FileCheck prefixes in compiler-rt/test
|
 | compiler-rt/test/ubsan/TestCases/Pointer/nullptr-and-nonzero-offset-summary.cpp |
 | compiler-rt/test/ubsan/TestCases/Pointer/nullptr-and-nonzero-offset-constants.cpp |
 | compiler-rt/test/profile/instrprof-value-prof-2.c |
Commit
0426be3df6180747bd68706db87a70580f064f0f
by plotfi[AArch64] Homogeneous Prolog and Epilog Size Optimization
Prologs and epilogs handle callee-save registers and tend to be irregular with different immediate offsets that are not often handled by the MachineOutliner. Commit D18619/a5335647d5e8 (combining stack operations) stretched irregularity further.
This patch tries to emit homogeneous stores and loads with the same offset for prologs and epilogs respectively. We have observed that this canonicalizes (homogenizes) prologs and epilogs significantly and results in a greatly increased chance of outlining, resulting in a code size reduction.
Despite the above results, there are still size wins to be had that the MachineOutliner does not provide due to the special handling X30/LR. To handle the LR case, his patch custom-outlines prologs and epilogs in place. It does this by doing the following:
* Injects HOM_Prolog and HOM_Epilog pseudo instructions during a Prolog and Epilog Injection Pass. * Lowers and optimizes said pseudos in a AArchLowerHomogneousPrologEpilog Pass. * Outlined helpers are created on demand. Identical helpers are merged by the linker. * An opt-in flag is introduced to enable this feature. Another threshold flag is also introduced to control the aggressiveness of outlining for application's need.
This reduced an average of 4% of code size on LLVM-TestSuite/CTMark targeting arm64/-Oz.
Differential Revision: https://reviews.llvm.org/D76570
|
 | llvm/lib/Target/AArch64/AArch64TargetMachine.cpp |
 | llvm/lib/Target/AArch64/CMakeLists.txt |
 | llvm/test/CodeGen/AArch64/arm64-homogeneous-prolog-epilog-bad-outline.mir |
 | llvm/lib/Target/AArch64/AArch64.h |
 | llvm/lib/Target/AArch64/AArch64FrameLowering.cpp |
 | llvm/test/CodeGen/AArch64/arm64-homogeneous-prolog-epilog-frame-tail.ll |
 | llvm/test/CodeGen/AArch64/arm64-homogeneous-prolog-epilog.ll |
 | llvm/lib/Target/AArch64/AArch64LowerHomogeneousPrologEpilog.cpp |
 | llvm/lib/Target/AArch64/AArch64FrameLowering.h |
 | llvm/lib/Target/AArch64/AArch64InstrInfo.td |
 | llvm/test/CodeGen/AArch64/arm64-homogeneous-prolog-epilog-no-helper.ll |
Commit
21724ddcb7033cb010d57ff1a2d593cd70d462f5
by rob.suderman[MLIR][TOSA] Comparison based elementwise operations for tosa-to-linalg
Comitted log, exp, maximum, minimum, comparison, ceil and floor conversions from TOSA to LinAlg. Support for signless integer and floating point.
Reviewed By: rsuderman
Differential Revision: https://reviews.llvm.org/D95839
|
 | mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir |
 | mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp |
Commit
45db9d4594bdbb4a304c16f6ad61b87c60eeb300
by i[test] Fix unused FileCheck prefixes in lldb
|
 | lldb/test/Shell/Reproducer/TestMultipleTargets.test |
Commit
80f539526eec31f03aadd96753648686312b1ad1
by i[test] Default clang/test to FileCheck --allow-unused-prefixes=false
|
 | clang/test/Driver/lit.local.cfg |
 | clang/test/CodeGen/lit.local.cfg |
 | clang/test/lit.cfg.py |
 | clang/test/OpenMP/lit.local.cfg |
 | clang/test/CodeGenCXX/lit.local.cfg |
 | clang/test/Analysis/lit.local.cfg |
Commit
d475030dc28a85e649cdd3dd4e5941ec82227c26
by gil.rapaport[SCEV] Apply loop guards to divisibility tests
Extend applyLoopGuards() to take into account conditions/assumes proving some value %v to be divisible by D by rewriting %v to (%v / D) * D. This lets the loop unroller and the loop vectorizer identify more loops as not requiring remainder loops.
Differential Revision: https://reviews.llvm.org/D95521
|
 | llvm/include/llvm/Analysis/ScalarEvolution.h |
 | llvm/lib/Analysis/ScalarEvolution.cpp |
 | llvm/test/Transforms/LoopVectorize/dont-fold-tail-for-divisible-TC.ll |
 | llvm/test/Transforms/LoopUnroll/runtime-unroll-assume-no-remainder.ll |
 | llvm/test/Analysis/ScalarEvolution/trip-multiple-guard-info.ll |
 | llvm/lib/Transforms/Vectorize/LoopVectorize.cpp |
Commit
a59283a74529c74a8ee8682f9acf9d993f7cda08
by i[test] Fix unused FileCheck prefixes in compiler-rt
|
 | compiler-rt/test/ubsan_minimal/TestCases/nullptr-and-nonzero-offset.c |
 | compiler-rt/test/asan/TestCases/asan_update_allocation.cpp |
 | compiler-rt/test/msan/death-callback.cpp |
Commit
86b249c040ca7af31953ef304ac780502f2d285a
by Lang Hames[ORC] Clear unused materializing info entries.
Once a symbol is Ready its MaterializingInfo entry is unused and can be removed to free up some memory.
|
 | llvm/lib/ExecutionEngine/Orc/Core.cpp |
Commit
af6be9a7bb0fca891ec60138608902cd37b9f84f
by i[test] Fix unused FileCheck prefixes in clang-tidy and one llvm/test/Reduce test
|
 | llvm/test/Reduce/remove-function-bodies-used-in-globals.ll |
 | clang-tools-extra/test/clang-tidy/checkers/modernize-loop-convert-reverse.cpp |
Commit
ab1d977a16c4fd2bdaaac539f8f82006234d7c75
by i[test] Fix unused FileCheck prefixes in test/Reduce
|
 | llvm/test/Reduce/remove-multiple-use-of-global-vars-in-same-instruction.ll |
 | llvm/test/Reduce/remove-function-attributes.ll |
 | llvm/test/Reduce/remove-multiple-use-of-args-in-same-instruction.ll |
 | llvm/test/Reduce/remove-unused-declarations.ll |
 | llvm/test/Reduce/no-replace-intrinsic-callee-with-undef.ll |
Commit
8f7f2c4211caf724e8319976968995bec1894b96
by plotfiRevert "[AArch64] Homogeneous Prolog and Epilog Size Optimization"
This reverts commit 0426be3df6180747bd68706db87a70580f064f0f.
Reverting due to some expensive-checks failures in tests.
|
 | llvm/lib/Target/AArch64/AArch64FrameLowering.cpp |
 | llvm/test/CodeGen/AArch64/arm64-homogeneous-prolog-epilog-no-helper.ll |
 | llvm/lib/Target/AArch64/AArch64LowerHomogeneousPrologEpilog.cpp |
 | llvm/lib/Target/AArch64/AArch64TargetMachine.cpp |
 | llvm/lib/Target/AArch64/AArch64FrameLowering.h |
 | llvm/lib/Target/AArch64/AArch64InstrInfo.td |
 | llvm/test/CodeGen/AArch64/arm64-homogeneous-prolog-epilog-bad-outline.mir |
 | llvm/test/CodeGen/AArch64/arm64-homogeneous-prolog-epilog-frame-tail.ll |
 | llvm/lib/Target/AArch64/AArch64.h |
 | llvm/test/CodeGen/AArch64/arm64-homogeneous-prolog-epilog.ll |
 | llvm/lib/Target/AArch64/CMakeLists.txt |
Commit
6ee1f64a2e828d27a6c20839232b3ac828367123
by shivam98.tkg[NFC][Docs] Fix RAVFrontendAction doc's CMakelists.txt for Shared build
[[ https://clang.llvm.org/docs/RAVFrontendAction.html | Example tutorial ]] giving undefine reference error while building with BUILD_SHARED_LIBS=ON.
Differential Revision: https://reviews.llvm.org/D95737
|
 | clang/docs/RAVFrontendAction.rst |
Commit
4553821815ebe3101dd7c8514a5a2b45891b29a6
by craig.topper[SelectionDAG] Prevent scalable vector warning from ComputeNumSignBits on extract_vector_elt on a scalable vector.
|
 | llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp |
Commit
49c9c3a59e21205aabe48f92b9e53bf666348388
by nicolas.vasilache[mlir][Standard] Extend n-D vector lowering to LLVM to [s|z]exti ops.
[s|z]exti ops do not have the same operand and result type. As a consequence, the lowering of the n-D vector form needs to be relaxed a bit. This revision additionally performs a few NFC renamings of variables to make them more intuitive.
Differential Revision: https://reviews.llvm.org/D95760
|
 | mlir/include/mlir/Conversion/StandardToLLVM/ConvertStandardToLLVM.h |
 | mlir/test/Conversion/StandardToLLVM/convert-to-llvmir.mlir |
 | mlir/lib/Conversion/StandardToLLVM/StandardToLLVM.cpp |
 | mlir/test/Conversion/StandardToLLVM/convert-nd-vector-to-llvmir.mlir |
Commit
6bae5973c476e16dbbc82030d65c7859a6628e89
by aktoon[CSSPGO] Call site prioritized inlining for sample PGO
This change implemented call site prioritized BFS profile guided inlining for sample profile loader. The new inlining strategy maximize the benefit of context-sensitive profile as mentioned in the follow up discussion of CSSPGO RFC. The change will not affect today's AutoFDO as it's opt-in. CSSPGO now defaults to the new FDO inliner, but can fall back to today's replay inliner using a switch (`-sample-profile-prioritized-inline=0`).
Motivation
With baseline AutoFDO, the inliner in sample profile loader only replays previous inlining, and the use of profile is only for pruning previous inlining that turned out to be cold. Due to the nature of replay, the FDO inliner is simple with hotness being the only decision factor. It has the following limitations that we're improving now for CSSPGO. - It doesn't take inline candidate size into account. Since it's doing replay, the size growth is bounded by previous CGSCC inlining. With context-sensitive profile, FDO inliner is no longer limited by previous inlining, so we need to take size into account to avoid significant size bloat. - The way it looks at hotness is not accurate. It uses total samples in an inlinee as proxy for hotness, while what really matters for an inline decision is the call site count. This is an unfortunate fall back because call site count and callee entry count are not reliable due to dwarf based correlation, especially for inlinees. Now paired with pseudo-probe, we have accurate call site count and callee's entry count, so we can use that to gauge hotness more accurately. - It treats all call sites from a block as hot as long as there's one call site considered hot. This is normally true, but since total samples is used as hotness proxy, this transitiveness within block magnifies the inacurate hotness heuristic. With pseduo-probe and the change above, this is no longer an issue for CSSPGO.
New FDO Inliner
Putting all the requirement for CSSPGO together, we need a top-down call site prioritized BFS inliner. Here're reasons why each component is needed. - Top-down: We need a top-down inliner to better leverage context-sensitive profile, so inlining is driven by accurate context profile, and post-inline is also accurate. This is already implemented in https://reviews.llvm.org/D70655. - Size Cap: For top-down inliner, taking function size into account for inline decision alone isn't sufficient to control size growth. We also need to explicitly cap size growth because with top-down inlining, we can grow inliner size significantly with large number of smaller inlinees even if each individually passes the cost/size check. - Prioritize call sites: With size cap, inlining order also becomes important, because if we stop inlining due to size budget limit, we'd want to use budget towards the most beneficial call sites. - BFS inline: Same as call site prioritization, if we stop inlining due to size budget limit, we want a balanced inline tree, rather than going deep on one call path.
Note that the new inliner avoids repeatedly evaluating same set of call site, so it should help with compile time too. For this reason, we could transition today's FDO inliner to use a queue with equal priority to avoid wasted reevaluation of same call site (TODO).
Speculative indirect call promotion and inlining is also supported now with CSSPGO just like baseline AutoFDO.
Tunings and knobs
I created tuning knobs for size growth/cap control, and for hot threshold separate from CGSCC inliner. The default values are selected based on initial tuning with CSSPGO.
Results
Evaluated with an internal LLVM fork couple months ago, plus another change to adjust hot-threshold cutoff for context profile (will send up after this one), the new inliner show ~1% geomean perf win on spec2006 with CSSPGO, while reducing code size too. The measurement was done using train-train setup, MonoLTO w/ new pass manager and pseudo-probe. Note that this is just a starting point - we hope that the new inliner will open up more opportunity with CSSPGO, but it will certainly take more time and effort to make it fully calibrated and ready for bigger workloads (we're working on it).
Differential Revision: https://reviews.llvm.org/D94001
|
 | llvm/test/Transforms/SampleProfile/csspgo-inline.ll |
 | llvm/test/Transforms/SampleProfile/profile-context-tracker-debug.ll |
 | llvm/test/Transforms/SampleProfile/profile-context-tracker.ll |
 | llvm/include/llvm/Transforms/IPO/SampleContextTracker.h |
 | llvm/test/Transforms/SampleProfile/Inputs/indirect-call-csspgo.prof |
 | llvm/test/Transforms/SampleProfile/pseudo-probe-inline.ll |
 | llvm/lib/Transforms/IPO/SampleContextTracker.cpp |
 | llvm/test/Transforms/SampleProfile/csspgo-inline-debug.ll |
 | llvm/lib/Transforms/IPO/SampleProfile.cpp |
 | llvm/test/Transforms/SampleProfile/csspgo-inline-icall.ll |
Commit
e7f9a834996f40be8dc46a0b059aa850f1f4ef05
by craig.topper[RISCV] Replace NoX0 SDNodeXForm with a ComplexPattern to do the selection of the VL operand.
I think this is a more standard way of doing this.
Reviewed By: rogfer01
Differential Revision: https://reviews.llvm.org/D95833
|
 | llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td |
 | llvm/lib/Target/RISCV/RISCVISelDAGToDAG.h |
 | llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp |
Commit
62af0305b7cc0238a8f0bf138c1fb8745b1041d0
by thomas.symallaAdded clamp i64 to i16 global isel pattern.
|
 | llvm/lib/Target/AMDGPU/AMDGPUCombine.td |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/clampi64toi16.ll |
 | llvm/lib/Target/AMDGPU/AMDGPUPostLegalizerCombiner.cpp |
 | llvm/include/llvm/CodeGen/GlobalISel/MIPatternMatch.h |
Commit
ec043967ecb4bbfbf3bcbdad4055e9ba8e5dc21b
by thomas.symallaclang-format
|
 | llvm/lib/Target/AMDGPU/AMDGPUPostLegalizerCombiner.cpp |
 | llvm/include/llvm/CodeGen/GlobalISel/MIPatternMatch.h |
Commit
d722924f20918fd29d342cb2be50393d0fa9347f
by thomas.symallaAdded comments.
|
 | llvm/include/llvm/CodeGen/GlobalISel/MIPatternMatch.h |
 | llvm/lib/Target/AMDGPU/AMDGPUPostLegalizerCombiner.cpp |
Commit
fce3230be2c84401598e8ff5ce470e7509ecf75b
by thomas.symallaAdded early exit.
|
 | llvm/lib/Target/AMDGPU/AMDGPUPostLegalizerCombiner.cpp |
Commit
d41b7fa9bf80e09a52aa0d392db94a7b971044c9
by thomas.symallaRenames
|
 | llvm/test/CodeGen/AMDGPU/GlobalISel/clampi64toi16.ll |
 | llvm/include/llvm/CodeGen/GlobalISel/MIPatternMatch.h |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/combine-short-clamp.ll |
Commit
88a832aef1a696178c2ec3cb93f913ac937c4f5e
by thomas.symallaRefactored the pattern matching.
|
 | llvm/include/llvm/CodeGen/GlobalISel/MIPatternMatch.h |
 | llvm/lib/Target/AMDGPU/AMDGPUPostLegalizerCombiner.cpp |
Commit
dae85e4671416490c6aaf2bac88c3ce1d74cc4d6
by thomas.symallaFixed the lit tests and a bug in the implementation.
|
 | llvm/lib/Target/AMDGPU/AMDGPUPostLegalizerCombiner.cpp |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/combine-short-clamp.ll |
Commit
9a8da909f192e576e6aabc0ee5343bfff6db1d69
by thomas.symallaReverted unintended git-format change.
|
 | llvm/lib/Target/AMDGPU/AMDGPUPostLegalizerCombiner.cpp |
Commit
f2ef2fbc692ed17bdb012a88cf0435dcd243cff8
by thomas.symallaRenamed identifiers in lit
|
 | llvm/test/CodeGen/AMDGPU/GlobalISel/combine-short-clamp.ll |
Commit
cdfd9b3bf52e95705935699de90d3e3be7b33de4
by thomas.symallaMove Combiner to PreLegalize step
|
 | llvm/lib/Target/AMDGPU/AMDGPUPostLegalizerCombiner.cpp |
 | llvm/include/llvm/CodeGen/GlobalISel/MIPatternMatch.h |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/combine-short-clamp.ll |
 | llvm/lib/Target/AMDGPU/AMDGPUCombine.td |
 | llvm/lib/Target/AMDGPU/AMDGPUPreLegalizerCombiner.cpp |
Commit
3a46502264b6a53764e28d55e990f714a31cba70
by thomas.symallaMove step to PreLegalizer
|
 | llvm/lib/Target/AMDGPU/AMDGPUPreLegalizerCombiner.cpp |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/combine-short-clamp.ll |
Commit
79e729bdf14c884f13aff010ac9509370676aba7
by thomas.symallaFixed tests.
|
 | llvm/test/CodeGen/AMDGPU/GlobalISel/combine-short-clamp.ll |
Commit
7b2e701906c66d765b60f25ee746c713788ec714
by thomas.symallaCode changes yielded from review.
|
 | llvm/lib/Target/AMDGPU/AMDGPUPreLegalizerCombiner.cpp |
Commit
ecbed4e0ab3ebc2388a35563e756a62c2d53b24c
by thomas.symallaResolve formatting changes.
|
 | diff.txt |
 | llvm/lib/Target/AMDGPU/AMDGPUPreLegalizerCombiner.cpp |
 | llvm/include/llvm/CodeGen/GlobalISel/MIPatternMatch.h |
 | llvm/lib/Target/AMDGPU/AMDGPUPostLegalizerCombiner.cpp |
Commit
bcd6c2d2031af50ffe9b357e839b8a9dd4d0ddd6
by thomas.symallaUpdating formatting changes.
|
 | llvm/lib/Target/AMDGPU/AMDGPUPostLegalizerCombiner.cpp |
Commit
7d24026ed2b7493f38e0b6b9d1bfb38db7998171
by thomas.symallaFormatting changes.
|
 | llvm/lib/Target/AMDGPU/AMDGPUPostLegalizerCombiner.cpp |
Commit
52bfb50145ab1257d53a2909aeb0c8ec81e511fd
by thomas.symallaFormatting changes
|
 | llvm/lib/Target/AMDGPU/AMDGPUPostLegalizerCombiner.cpp |
Commit
6604d81e1bb349597e8c1b919303a2efb4c9ba19
by thomas.symallaAdded and used new target pseudo for v_cvt_pk_i16_i32, changes due to code review.
|
 | llvm/lib/Target/AMDGPU/SIInstructions.td |
 | llvm/lib/Target/AMDGPU/AMDGPUInstrInfo.td |
 | llvm/lib/Target/AMDGPU/AMDGPUGISel.td |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/combine-short-clamp.ll |
 | llvm/lib/Target/AMDGPU/AMDGPUPreLegalizerCombiner.cpp |
 | llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp |
Commit
c781c254124445259fbea3049cd32544afca1cb5
by thomas.symallaImplemented a MED3_S32 GIR opcode.
|
 | llvm/lib/Target/AMDGPU/SIInstructions.td |
 | llvm/lib/Target/AMDGPU/AMDGPUPreLegalizerCombiner.cpp |
 | llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp |
 | llvm/lib/Target/AMDGPU/AMDGPUGISel.td |
Commit
fa3e840d3d7d14fe131b0df0db359025b9446b9e
by thomas.symallaRemoved the generic virtual register creations. Reworked the tests.
|
 | llvm/lib/Target/AMDGPU/AMDGPUPreLegalizerCombiner.cpp |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/combine-short-clamp.ll |
Commit
602896b9d2f27b1ea0fd1f78db51fee25d4f2de0
by thomas.symallaRenamed med3 opcode, removed superfluous copy.
|
 | llvm/lib/Target/AMDGPU/AMDGPUGISel.td |
 | llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp |
 | llvm/lib/Target/AMDGPU/SIInstructions.td |
 | llvm/lib/Target/AMDGPU/AMDGPUPreLegalizerCombiner.cpp |
Commit
e630dd476ca719cacdd089a88be5faa387f65ec9
by thomas.symallaAdded missing includes.
|
 | llvm/lib/Target/AMDGPU/AMDGPUPreLegalizerCombiner.cpp |
Commit
09508d28496069169a8538c96a16b665187db44f
by thomas.symallaReverted whitespace changes.
Differential Revision: https://reviews.llvm.org/D90968
|
 | llvm/include/llvm/CodeGen/GlobalISel/MIPatternMatch.h |
 | llvm/lib/Target/AMDGPU/AMDGPUPostLegalizerCombiner.cpp |
Commit
6c85e98f06426c2a1b33e0e862edc1afc0810d5d
by thomas.symallaFixed includes.
|
 | llvm/lib/Target/AMDGPU/AMDGPUPreLegalizerCombiner.cpp |
Commit
faeed774d15734618a8928c3d17ce2f41bf607a3
by thomas.symallaFixed includes.
Differential Revision: https://reviews.llvm.org/D93708
|
 | llvm/lib/Target/AMDGPU/AMDGPUPostLegalizerCombiner.cpp |
Commit
508329922dad8dd8b0eef267a6b72f3ac2440485
by thomas.symallaRemoved Diff file.
Differential Revision: https://reviews.llvm.org/D93708
|
 | diff.txt |
Commit
9a03058d6322edb8abc803ba3e436cc62647d979
by aktoon[CSSPGO] Factor out common part for CSSPGO inline and AFDO inline
Refactoring SampleProfileLoader::inlineHotFunctions to use helpers from CSSPGO inlining and reduce similar code in the inlining loop, plus minor cleanup for AFDO path.
Test Plan:
Differential Revision: https://reviews.llvm.org/D95024
|
 | llvm/test/Transforms/SampleProfile/pseudo-probe-inline.ll |
 | llvm/test/Transforms/SampleProfile/remarks.ll |
 | llvm/lib/Transforms/IPO/SampleProfile.cpp |
Commit
09cd849fdef2b2d3de2d0b0a5c512100957e0ef6
by aktoonFix build break from D95024
|
 | llvm/lib/Transforms/IPO/SampleProfile.cpp |
Commit
fc22de82182e05794123be70df5dfe15600c02b4
by sebastian.neubauer[AMDGPU] Clarify calling conv about inactive lanes
So far, it was not specified what happens with the VGPRs of inactive lanes when functions are called. This patch explicitely mentions that the VGPR values of inactive lanes need to be preserved for all registers.
This describes the current behavior, as only active lanes of registers are saved to scratch. Also, as the multi-lane nature of VGPRs is not properly modeled, we cannot determine the live VGPRs from inactive lanes at calls. So we cannot save them, even if we intended to do so.
Differential Revision: https://reviews.llvm.org/D95610
|
 | llvm/docs/AMDGPUUsage.rst |
Commit
b91afa474e124514fe7bd3f399af0cbbcbe961fc
by sebastian.neubauer[AMDGPU] Mark epilog restores as frame-destroy
I guess instructions were marked as frame-setup by accident, they are restores as part of the epilog.
Differential Revision: https://reviews.llvm.org/D95783
|
 | llvm/lib/Target/AMDGPU/SIFrameLowering.cpp |
 | llvm/test/CodeGen/AMDGPU/pei-scavenge-sgpr-carry-out.mir |
 | llvm/test/CodeGen/AMDGPU/fix-frame-ptr-reg-copy-livein.ll |
 | llvm/test/CodeGen/AMDGPU/pei-scavenge-sgpr.mir |
 | llvm/test/CodeGen/AMDGPU/pei-scavenge-sgpr-gfx9.mir |
Commit
0479c53b6c5224c16bdc78cb014e76c0b0dbc6f9
by hans[dllimport] Honor always_inline when deciding whether a dllimport function should be available for inlining (PR48925)
Normally, Clang will not make dllimport functions available for inlining if they reference non-imported symbols, as this can lead to confusing link errors. But if the function is marked always_inline, the user presumably knows what they're doing and the attribute should be honored.
Differential revision: https://reviews.llvm.org/D95673
|
 | clang/lib/CodeGen/CodeGenModule.cpp |
 | clang/test/CodeGenCXX/dllimport.cpp |
Commit
0409eb287414b71cfdcda13796c93794b71ea6d4
by zinenko[mlir] Keep track of region signature conversions as argument replacements
In dialect conversion, signature conversions essentially perform block argument replacement and are added to the general value remapping. However, the replaced values were not tracked, so if a signature conversion was rolled back, the construction of operand lists for the following patterns could have obtained block arguments from the mapping and give them to the pattern leading to use-after-free. Keep track of signature conversions similarly to normal block argument replacement, and erase such replacements from the general mapping when the conversion is rolled back.
Reviewed By: rriddle
Differential Revision: https://reviews.llvm.org/D95688
|
 | mlir/test/lib/Dialect/Test/TestPatterns.cpp |
 | mlir/test/Transforms/test-legalize-type-conversion.mlir |
 | mlir/lib/Transforms/Utils/DialectConversion.cpp |
 | mlir/test/lib/Dialect/Test/TestOps.td |
Commit
679ef22f2e553e73eda43c45d4361256c4524c00
by benny.kraFold one-use variable into assert. NFCI.
Avoids a warning in Release builds.
|
 | llvm/lib/Target/AMDGPU/AMDGPUPreLegalizerCombiner.cpp |
Commit
d4d4ceeb8f3be67be94781ed718ceb103213df74
by david.sherwood[SVE][LoopVectorize] Add masked load/store and gather/scatter support for SVE
This patch updates IRBuilder::CreateMaskedGather/Scatter to work with ScalableVectorType and adds isLegalMaskedGather/Scatter functions to AArch64TargetTransformInfo. In addition I've fixed up isLegalMaskedLoad/Store to return true for supported scalar types, since this is what the vectorizer asks for.
In LoopVectorize.cpp I've changed LoopVectorizationCostModel::getInterleaveGroupCost to return an invalid cost for scalable vectors, since currently this relies upon using shuffle vector for reversing vectors. In addition, in LoopVectorizationCostModel::setCostBasedWideningDecision I have assumed that the cost of scalarising memory ops is infinitely expensive.
I have added some simple masked load/store and gather/scatter tests, including cases where we use gathers and scatters for conditional invariant loads and stores.
Differential Revision: https://reviews.llvm.org/D95350
|
 | llvm/test/Transforms/LoopVectorize/AArch64/sve-masked-loadstore.ll |
 | llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h |
 | llvm/lib/Transforms/Vectorize/LoopVectorize.cpp |
 | llvm/lib/IR/IRBuilder.cpp |
 | llvm/test/Transforms/LoopVectorize/AArch64/sve-gather-scatter.ll |
Commit
760e6c4ce58324856d8f105b37bb974564e0f170
by andrzej.warzynski[flang][driver] Disallow non-existent input files in the frontend driver
This patch adds a check that verifies that the input file used when calling the frontend driver (i.e. `flang-new -fc1`) actually exists. This was not required for the compiler driver, `flang-new`, as that's already handled in libclangDriver.
Once all input/output file management is moved to the driver, we should also check that for input from `stdin` the corresponding file descriptor was successfully acquired.
This patch also makes sure that the default action in the frontend is `ParseSyntaxOnly`. This is consistent with Clang. Before this change `flang-new -fc1` would do nothing, which makes testing changes like the one introduced here a bit tricky.
Reviewed By: SouraVX
Differential Revision: https://reviews.llvm.org/D95127
|
 | flang/lib/Frontend/FrontendAction.cpp |
 | flang/lib/Frontend/CompilerInvocation.cpp |
 | flang/test/Flang-Driver/missing-input.f90 |
Commit
64421988e3958b19a8db6d29433f62f3db2fdb9a
by david.green[ARM] Regenerate LowOverheadLoops mir tests. NFC
|
 | llvm/test/CodeGen/Thumb2/LowOverheadLoops/cond-mov.mir |
 | llvm/test/CodeGen/Thumb2/LowOverheadLoops/massive.mir |
 | llvm/test/CodeGen/Thumb2/LowOverheadLoops/revert-while.mir |
 | llvm/test/CodeGen/Thumb2/LowOverheadLoops/loop-dec-copy-chain.mir |
 | llvm/test/CodeGen/Thumb2/LowOverheadLoops/unsafe-cpsr-loop-def.mir |
 | llvm/test/CodeGen/Thumb2/LowOverheadLoops/matrix.mir |
 | llvm/test/CodeGen/Thumb2/LowOverheadLoops/multiblock-massive.mir |
 | llvm/test/CodeGen/Thumb2/LowOverheadLoops/matrix-debug.mir |
 | llvm/test/CodeGen/Thumb2/LowOverheadLoops/out-of-range-cbz.mir |
 | llvm/test/CodeGen/Thumb2/LowOverheadLoops/loop-dec-copy-prev-iteration.mir |
 | llvm/test/CodeGen/Thumb2/LowOverheadLoops/remove-elem-moves.mir |
 | llvm/test/CodeGen/Thumb2/LowOverheadLoops/end-positive-offset.mir |
 | llvm/test/CodeGen/Thumb2/LowOverheadLoops/size-limit.mir |
 | llvm/test/CodeGen/Thumb2/LowOverheadLoops/unsafe-cpsr-loop-use.mir |
Commit
3a65ec4bf96bccafdb3524f116844ebdd789c76a
by akuegelRevert "Fix build break from D95024"
This reverts commit 09cd849fdef2b2d3de2d0b0a5c512100957e0ef6.
|
 | llvm/lib/Transforms/IPO/SampleProfile.cpp |
Commit
48ca6da9d2f534752f5a5263a6209257149dba7d
by akuegelRevert "[CSSPGO] Factor out common part for CSSPGO inline and AFDO inline"
This reverts commit 9a03058d6322edb8abc803ba3e436cc62647d979.
|
 | llvm/test/Transforms/SampleProfile/remarks.ll |
 | llvm/test/Transforms/SampleProfile/pseudo-probe-inline.ll |
 | llvm/lib/Transforms/IPO/SampleProfile.cpp |
Commit
48230355e930c592ec105ed71963459671c54a42
by david.green[ARM] Remove DLS lr, lr
A DLS lr, lr instruction only moves lr to itself. It need not be emitted on it's own to save a instruction in the loop preheader.
Differential Revision: https://reviews.llvm.org/D78916
|
 | llvm/test/CodeGen/Thumb2/LowOverheadLoops/inloop-vpnot-2.mir |
 | llvm/test/CodeGen/Thumb2/LowOverheadLoops/matrix.mir |
 | llvm/test/CodeGen/Thumb2/LowOverheadLoops/minloop.ll |
 | llvm/test/CodeGen/Thumb2/LowOverheadLoops/wrong-liveout-lsr-shift.mir |
 | llvm/test/CodeGen/Thumb2/mve-gather-scatter-tailpred.ll |
 | llvm/test/CodeGen/Thumb2/LowOverheadLoops/vaddv.mir |
 | llvm/test/CodeGen/Thumb2/LowOverheadLoops/vector-arith-codegen.ll |
 | llvm/test/CodeGen/Thumb2/LowOverheadLoops/move-start-after-def.mir |
 | llvm/test/CodeGen/Thumb2/LowOverheadLoops/cond-vector-reduce-mve-codegen.ll |
 | llvm/test/CodeGen/Thumb2/LowOverheadLoops/reductions.ll |
 | llvm/test/CodeGen/Thumb2/LowOverheadLoops/move-def-before-start.mir |
 | llvm/test/Transforms/HardwareLoops/ARM/structure.ll |
 | llvm/test/CodeGen/Thumb2/LowOverheadLoops/vctp-in-vpt.mir |
 | llvm/test/CodeGen/Thumb2/mve-gather-scatter-ptr-address.ll |
 | llvm/test/CodeGen/Thumb2/LowOverheadLoops/mve-float-loops.ll |
 | llvm/test/CodeGen/Thumb2/LowOverheadLoops/constbound.ll |
 | llvm/test/CodeGen/Thumb2/LowOverheadLoops/disjoint-vcmp.mir |
 | llvm/test/CodeGen/Thumb2/LowOverheadLoops/vpt-blocks.mir |
 | llvm/test/CodeGen/Thumb2/mve-gather-ptrs.ll |
 | llvm/test/CodeGen/Thumb2/LowOverheadLoops/loop-guards.ll |
 | llvm/test/CodeGen/Thumb2/LowOverheadLoops/fast-fp-loops.ll |
 | llvm/test/CodeGen/Thumb2/LowOverheadLoops/mve-tail-data-types.ll |
 | llvm/test/CodeGen/Thumb2/LowOverheadLoops/skip-debug.mir |
 | llvm/test/CodeGen/Thumb2/LowOverheadLoops/lstp-insertion-position.mir |
 | llvm/test/CodeGen/Thumb2/LowOverheadLoops/dont-remove-loop-update.mir |
 | llvm/test/CodeGen/Thumb2/LowOverheadLoops/non-masked-load.mir |
 | llvm/test/CodeGen/Thumb2/mve-vecreduce-loops.ll |
 | llvm/test/CodeGen/Thumb2/LowOverheadLoops/multi-block-cond-iter-count.mir |
 | llvm/test/CodeGen/Thumb2/LowOverheadLoops/it-block-chain-store.mir |
 | llvm/test/CodeGen/Thumb2/LowOverheadLoops/incorrect-sub-16.mir |
 | llvm/test/CodeGen/Thumb2/mve-float32regloops.ll |
 | llvm/test/CodeGen/Thumb2/active_lane_mask.ll |
 | llvm/test/CodeGen/Thumb2/LowOverheadLoops/incorrect-sub-32.mir |
 | llvm/test/CodeGen/Thumb2/mve-satmul-loops.ll |
 | llvm/test/CodeGen/Thumb2/LowOverheadLoops/inloop-vpnot-1.mir |
 | llvm/test/CodeGen/Thumb2/LowOverheadLoops/remove-elem-moves.mir |
 | llvm/test/CodeGen/Thumb2/mve-fp16convertloops.ll |
 | llvm/test/CodeGen/Thumb2/LowOverheadLoops/vctp16-reduce.mir |
 | llvm/test/CodeGen/Thumb2/mve-postinc-distribute.ll |
 | llvm/test/CodeGen/Thumb2/mve-vldst4.ll |
 | llvm/test/CodeGen/Thumb2/mve-vabdus.ll |
 | llvm/test/CodeGen/Thumb2/LowOverheadLoops/non-masked-store.mir |
 | llvm/test/CodeGen/Thumb2/mve-shifts-scalar.ll |
 | llvm/test/CodeGen/Thumb2/LowOverheadLoops/inloop-vpnot-3.mir |
 | llvm/lib/Target/ARM/ARMLowOverheadLoops.cpp |
 | llvm/test/CodeGen/Thumb2/LowOverheadLoops/incorrect-sub-8.mir |
 | llvm/test/CodeGen/Thumb2/aligned-nonfallthrough.ll |
 | llvm/test/CodeGen/Thumb2/mve-pred-threshold.ll |
 | llvm/test/CodeGen/Thumb2/mve-gather-scatter-optimisation.ll |
 | llvm/test/CodeGen/Thumb2/LowOverheadLoops/unpredload.ll |
 | llvm/test/CodeGen/Thumb2/mve-nounrolledremainder.ll |
 | llvm/test/CodeGen/Thumb2/mve-float16regloops.ll |
 | llvm/test/CodeGen/Thumb2/LowOverheadLoops/unrolled-and-vector.mir |
 | llvm/test/Transforms/HardwareLoops/ARM/simple-do.ll |
 | llvm/test/CodeGen/Thumb2/mve-postinc-lsr.ll |
 | llvm/test/CodeGen/Thumb2/mve-vldshuffle.ll |
 | llvm/test/CodeGen/Thumb2/LowOverheadLoops/ctlz-non-zeros.mir |
 | llvm/test/Transforms/HardwareLoops/ARM/calls-codegen.ll |
 | llvm/test/CodeGen/Thumb2/LowOverheadLoops/remat-vctp.ll |
 | llvm/test/CodeGen/Thumb2/mve-vqdmulh.ll |
Commit
dc00c96b2d1bcae56ef598b614ba65a1cc26c4de
by sven.vanhaastregt[OpenCL] Change extension handling for -fdeclare-opencl-builtins
Until now, the `-fdeclare-opencl-builtins` option behaved differently compared to inclusion of `opencl-c.h`: builtins that are part of an extension were only available if the extension was enabled using the corresponding pragma.
Builtins that belong to an extension are guarded using a preprocessor macro (that is named after the extension) in `opencl-c.h`. Align the behaviour of `-fdeclare-opencl-builtins` with this.
Co-authored-by: Anastasia Stulova
Differential Revision: https://reviews.llvm.org/D95616
|
 | clang/test/SemaOpenCL/fdeclare-opencl-builtins.cl |
 | clang/lib/Sema/SemaLookup.cpp |
Commit
4d904776a77aa80342c65cf72a962920cc9d1fa9
by llvm-dev[X86][AVX] Add missing VEX_WIG tags from VPACKUSDW/VPHSUBD/VPCMPISTRI/VPCMPISTRM/VPCMPESTRI/VPCMPESTRM
Fixes PR48877
Differential Revision: https://reviews.llvm.org/D95801
|
 | llvm/test/MC/Disassembler/X86/x86-64-avx.txt |
 | llvm/test/MC/Disassembler/X86/x86-64-avx2.txt |
 | llvm/lib/Target/X86/X86InstrSSE.td |
Commit
0a2a260aab177bfbdef5829ea16e39323ce50916
by nicolas.vasilache[mlir][Linalg] Refactor Linalg vectorization for better reuse and extensibility.
This revision unifies Linalg vectorization and paves the way for vectorization of Linalg ops with mixed-precision operations. The new algorithm traverses the ops in the linalg block in order and avoids recursion. It uses a BlockAndValueMapping to keep track of vectorized operations.
The revision makes the following modifications but is otherwise NFC: 1. vector.transfer_read are created eagerly and may appear in a different order than the original order. 2. a more progressive vectorization to vector.contract results in only the multiply operation being converted to `vector.contract %a, %b, %zero`, where `%zero` is a constant of the proper type. Later vector canonicalizations are assumed to rewrite vector.contract %a, %b, %zero + add to a proper accumulate form.
Differential revision: https://reviews.llvm.org/D95797
|
 | mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp |
 | mlir/test/Dialect/Linalg/vectorization.mlir |
Commit
94fedd266125a5425aa33e11332bf414f0b6dc35
by andrew.ng[X86] Fix disassembly of x86-64 GDTLS code sequence
For x86-64 the REX.w prefix takes precedence over any other size override (i.e. 0x66). Therefore, for x86-64 when REX.w is present set 'hasOpSize' to false to ensure that any size override is ignored.
Fixes PR48901.
Differential Revision: https://reviews.llvm.org/D95682
|
 | llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp |
 | llvm/test/MC/Disassembler/X86/x86-64.txt |
 | llvm/test/tools/llvm-objdump/X86/disassemble-gdtls.s |
Commit
d46a6b3d55e601705184c1f819bd1f498a648ce7
by llvm-dev[X86][AVX512] Support variable-index vector insertion on AVX512 targets (PR47924)
With predicate masks, AVX512 can efficiently perform variable-index vector insertion with 2 broadcasts + 1 comparison, avoiding a lot of aliased memory traffic.
Differential Revision: https://reviews.llvm.org/D95779
|
 | llvm/test/CodeGen/X86/insertelement-var-index.ll |
 | llvm/test/CodeGen/X86/avx512-insert-extract.ll |
 | llvm/lib/Target/X86/X86ISelLowering.cpp |
Commit
586df38478b2bf2a85128e72a5300da9b1b09a5e
by dmitry.preobrazhensky[AMDGPU][MC] Corrected parsing of optional modifiers
Fixed bugs in parsing of "no*" modifiers and improved errors handling. See https://bugs.llvm.org/show_bug.cgi?id=41282.
Differential Revision: https://reviews.llvm.org/D95675
|
 | llvm/test/MC/AMDGPU/gfx9_err_pos.s |
 | llvm/test/MC/AMDGPU/vop3-modifiers-err.s |
 | llvm/test/MC/AMDGPU/gfx8_err_pos.s |
 | llvm/test/MC/AMDGPU/vop3-modifiers.s |
 | llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp |
 | llvm/test/MC/AMDGPU/flat-scratch-instructions.s |
 | llvm/test/MC/AMDGPU/flat-global.s |
Commit
94f540cc7ceb98a25a62f04647ce30974a33a3d6
by benny.kra[mlir][Linalg] Fix unused variable warning in Release builds. NFC.
|
 | mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp |
Commit
fbeff2ec2bc6e44b92931207b0063f83ff7a3b3a
by usx[clangd] Report only decl of overridding method in xref.
See: https://github.com/clangd/clangd/issues/668
``` struct A { virtual void foo() = 0; }; struct B : A { void foo() override; }; ```
Find refs on `A::foo()` will show: - decls of `A::foo()` - decls of `B::foo()` - refs to `A::foo()` - no refs to `B::foo()`.
Differential Revision: https://reviews.llvm.org/D95812
|
 | clang-tools-extra/clangd/XRefs.h |
 | clang-tools-extra/clangd/XRefs.cpp |
 | clang-tools-extra/clangd/unittests/XRefsTests.cpp |
Commit
f2b4cc91e0830835c251e0525322effda8522b1c
by thakisRevert "[test] Default clang/test to FileCheck --allow-unused-prefixes=false"
This reverts commit 80f539526eec31f03aadd96753648686312b1ad1. Many test failures on mac: http://45.33.8.238/macm1/2772/summary.html One on win: http://45.33.8.238/win/32442/summary.html
|
 | clang/test/Analysis/lit.local.cfg |
 | clang/test/CodeGen/lit.local.cfg |
 | clang/test/Driver/lit.local.cfg |
 | clang/test/lit.cfg.py |
 | clang/test/CodeGenCXX/lit.local.cfg |
 | clang/test/OpenMP/lit.local.cfg |
Commit
8fce22888bd2aec9eadf8a0f229bfd0dbe06460d
by nicolas.vasilache[mlir][Linalg] Fix and properly test CodegenStrategy API
Fix a bug that was introduced where calling the codegen strategy with actual concrete C++ Op types did not trigger the expected behavior. Also introduce a test for the behavior that was missing.
Differential Revision: https://reviews.llvm.org/D95863
|
 | mlir/test/lib/Transforms/TestLinalgCodegenStrategy.cpp |
 | mlir/test/Dialect/Linalg/codegen-strategy.mlir |
 | mlir/include/mlir/Dialect/Linalg/Transforms/CodegenStrategy.h |
Commit
d6a06365cf12bebe20a7d65cf3894608efc089b4
by steveire[ASTMatchers] Fix matching after generic top-level matcher
With a matcher like
expr(anyOf(integerLiteral(equals(42)), unless(expr())))
and code such as
struct B { B(int); };
B func1() { return 42; }
the top-level expr() would match each of the nodes which are not spelled in the source and then ignore-traverse to match the integerLiteral node. This would result in multiple results reported for the integerLiteral.
Fix that by only running matching logic on nodes which are not skipped with the top-level matcher.
Differential Revision: https://reviews.llvm.org/D95735
|
 | clang/lib/ASTMatchers/ASTMatchFinder.cpp |
 | clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp |
Commit
00da3227882654533efe9ae62023e367e4a88e29
by sander.desmalenNFC: Migrate SimpleLoopUnswitch to work on InstructionCost
This patch migrates cost values and arithmetic to work on InstructionCost. When the interfaces to TargetTransformInfo are changed, any InstructionCost state will propagate naturally.
See this patch for the introduction of the type: https://reviews.llvm.org/D91174 See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2020-November/146408.html
Reviewed By: david-arm
Differential Revision: https://reviews.llvm.org/D95352
|
 | llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp |
Commit
3d3ca8f8ebc4a7e50e1bb1f6eb6a92056a69fd71
by sander.desmalenNFC: Migrate SpeculateAroundPHIs to work on InstructionCost
This patch migrates cost values and arithmetic to work on InstructionCost. When the interfaces to TargetTransformInfo are changed, any InstructionCost state will propagate naturally.
See this patch for the introduction of the type: https://reviews.llvm.org/D91174 See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2020-November/146408.html
Reviewed By: ctetreau
Differential Revision: https://reviews.llvm.org/D95353
|
 | llvm/lib/Transforms/Scalar/SpeculateAroundPHIs.cpp |
Commit
0f2be195d5e5fc79d28692266eae226cd42678b0
by Raphael IsemannRevert "[lldb] Use current execution context in SBDebugger"
This reverts commit 754ab803b8dc659e3645d369d1b5d6d2f97be29e.
As pointed out in https://reviews.llvm.org/D95761, this patch could lead to having the wrong execution context in some situations (thanks Jim!).
D92164 is addressing the same issue and will replace this patch, so I'll revert this one.
|
 | lldb/source/API/SBDebugger.cpp |
 | lldb/test/API/python_api/debugger/TestDebuggerAPI.py |
Commit
8c2e075c2cee76a4ede05b44b4e269264ef62296
by llvm-dev[X86][SSE] LowerINSERT_VECTOR_ELT - pull out repeated EltSizeInBits calls. NFCI.
|
 | llvm/lib/Target/X86/X86ISelLowering.cpp |
Commit
c72257563347b611733b6744cefc0bf49bab4f8d
by david.green[ARM] Select VINS from vector inserts
This patch adds tablegen patterns for pairs of i16/f16 insert/extracts. If we are inserting into two adjacent vector lanes (0 and 1 for example), we can use either a vmov;vins or vmovx;vins to insert the pair together, avoiding a round-trip from GRP registers. This is quite a large patterns with a number of EXTRACT_SUBREG/INSERT_SUBREG/ COPY_TO_REGCLASS nodes, but hopefully as most of those become copies all that will be cleaned up by further optimizations.
The VINS pattern was also adjusted to allow it to represent that it is inserting into the top half of an existing register.
Differential Revision: https://reviews.llvm.org/D95381
|
 | llvm/test/CodeGen/Thumb2/mve-shuffle.ll |
 | llvm/test/CodeGen/Thumb2/mve-vld3.ll |
 | llvm/test/CodeGen/Thumb2/mve-fmas.ll |
 | llvm/test/CodeGen/Thumb2/mve-vmovnstore.ll |
 | llvm/lib/Target/ARM/ARMInstrMVE.td |
 | llvm/test/CodeGen/Thumb2/mve-vcmpf.ll |
 | llvm/test/CodeGen/Thumb2/mve-frint.ll |
 | llvm/test/CodeGen/Thumb2/mve-fp-negabs.ll |
 | llvm/test/CodeGen/Thumb2/mve-gather-ind16-scaled.ll |
 | llvm/test/CodeGen/Thumb2/mve-vmovn.ll |
 | llvm/test/CodeGen/Thumb2/mve-vst3.ll |
 | llvm/test/CodeGen/Thumb2/mve-vcvt.ll |
 | llvm/test/CodeGen/Thumb2/mve-fmath.ll |
 | llvm/test/CodeGen/Thumb2/mve-vld4.ll |
 | llvm/test/CodeGen/Thumb2/mve-vst2.ll |
 | llvm/test/CodeGen/Thumb2/mve-simple-arith.ll |
 | llvm/test/CodeGen/Thumb2/mve-minmax.ll |
 | llvm/test/CodeGen/Thumb2/mve-vldst4.ll |
 | llvm/test/CodeGen/Thumb2/mve-shufflemov.ll |
 | llvm/test/CodeGen/Thumb2/mve-masked-ldst.ll |
 | llvm/test/CodeGen/Thumb2/mve-div-expand.ll |
 | llvm/test/CodeGen/Thumb2/LowOverheadLoops/fast-fp-loops.ll |
 | llvm/test/CodeGen/Thumb2/mve-vcmpfr.ll |
 | llvm/test/CodeGen/Thumb2/mve-gather-ptrs.ll |
 | llvm/test/CodeGen/Thumb2/mve-vcmpfz.ll |
 | llvm/test/CodeGen/Thumb2/mve-vld2.ll |
 | llvm/test/CodeGen/Thumb2/mve-vst4.ll |
 | llvm/lib/Target/ARM/ARMInstrVFP.td |
Commit
467a045601430c81e1a7f41f6a134e751f17df55
by steveire[ASTMatchers] Add matchers for decomposition decls
Differential Revision: https://reviews.llvm.org/D95739
|
 | clang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp |
 | clang/docs/LibASTMatchersReference.html |
 | clang/include/clang/ASTMatchers/ASTMatchers.h |
 | clang/lib/ASTMatchers/Dynamic/Registry.cpp |
Commit
a8105b3766e4195ca2390cd0714e07406bc8a4a5
by marek.kurdej[clang-format] Add case aware include sorting.
Adds an option to [clang-format] which sorts headers in an alphabetical manner using case only for tie-breakers. The options is off by default in favor of the current ASCIIbetical sorting style.
Reviewed By: MyDeveloperDay, curdeius, HazardyKnusperkeks
Differential Revision: https://reviews.llvm.org/D95017
|
 | clang/tools/clang-format/ClangFormat.cpp |
 | clang/unittests/Format/FormatTest.cpp |
 | clang/include/clang/Format/Format.h |
 | clang/unittests/Format/SortImportsTestJava.cpp |
 | clang/docs/ReleaseNotes.rst |
 | clang/unittests/Format/SortIncludesTest.cpp |
 | clang/docs/ClangFormatStyleOptions.rst |
 | clang/lib/Format/Format.cpp |
Commit
c4fe29e0e5b6f637d12997bbd2b9c7634ae5598f
by david.green[ARM] Extra shuffle tests. NFC
|
 | llvm/test/CodeGen/Thumb2/mve-shuffle.ll |
Commit
4f1320b77d1780dd7532f8ca8b123c13ab55bf1a
by Tom.WeaverRevert "[InstrProfiling] Use !associated metadata for counters, data and values"
This reverts commit df3e39f60b356ca9dbfc11e96e5fdda30afa7acb.
introduced failing test instrprof-gc-sections.c causing build bot to fail: http://lab.llvm.org:8011/#/builders/53/builds/1184
|
 | compiler-rt/test/profile/instrprof-gc-sections.c |
 | llvm/include/llvm/Transforms/Instrumentation.h |
 | llvm/test/Instrumentation/InstrProfiling/icall.ll |
 | llvm/test/Transforms/PGOProfile/counter_promo_mexits.ll |
 | llvm/test/Transforms/PGOProfile/associated.ll |
 | llvm/test/Transforms/PGOProfile/counter_promo.ll |
 | llvm/include/llvm/Transforms/Instrumentation/InstrProfiling.h |
 | clang/lib/CodeGen/BackendUtil.cpp |
 | llvm/test/Instrumentation/InstrProfiling/linkage.ll |
 | llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp |
Commit
9e5fc578f99aaa3f01374d3f09fda75fa7d0239e
by steveire[ASTMatchers] Ignore parts of BindingDecls which are not spelled in source
Differential Revision: https://reviews.llvm.org/D95740
|
 | clang/lib/ASTMatchers/ASTMatchFinder.cpp |
 | clang/unittests/AST/ASTTraverserTest.cpp |
 | clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp |
 | clang/include/clang/AST/ASTNodeTraverser.h |
Commit
6ac3fd9706047304c52a678884122a3a6bc55432
by sam.mccall[clangd] Fix race in Global CDB shutdown
I believe the atomic write can be reordered after the notify, and that seems to be happening on mac m1: http://45.33.8.238/macm1/2654/step_8.txt In practice maybe seq_cst is enough? But no reason not to lock here.
https://bugs.llvm.org/show_bug.cgi?id=48998
|
 | clang-tools-extra/clangd/GlobalCompilationDatabase.cpp |
Commit
9b0b435d7931bdb1fb128861cc9063a365a9e648
by powerman1st[AVR][clang] Fix a bug in AVR toolchain search paths
Reviewed By: dylanmckay, MaskRay
Differential Revision: https://reviews.llvm.org/D95529
|
 | clang/test/Driver/Inputs/basic_avr_tree/usr/lib/gcc/avr/5.4.0/libgcc.a |
 | clang/lib/Driver/ToolChains/AVR.cpp |
 | clang/test/Driver/Inputs/basic_avr_tree/usr/bin/avr-ld |
 | clang/test/Driver/avr-ld.c |
 | clang/test/Driver/Inputs/basic_avr_tree/usr/lib/avr/lib/libavr.a |
Commit
e6a061ed9f94218197d87959066d5c6dd1f51f79
by lebedev.ri[NFC][InstCombine] Add tests for (~x) a>> y --> ~(x a>> y) fold (PR48995)
See https://bugs.llvm.org/show_bug.cgi?id=48995
|
 | llvm/test/Transforms/InstCombine/hoist-not-from-ashr-operand.ll |
Commit
485c4b552b71aff21fc27ce958c2d8ea4cebba99
by lebedev.ri[InstCombine] Host inversion out of ashr's value operand (PR48995)
This is a yet another hint that we will eventually need InstCombineInverter, which would consistently sink inversions, but but for that we'll need to consistently hoist inversions where possible, so let's do that here.
Example of a proof: https://alive2.llvm.org/ce/z/78SbDq
See https://bugs.llvm.org/show_bug.cgi?id=48995
|
 | llvm/test/Transforms/InstCombine/hoist-not-from-ashr-operand.ll |
 | llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp |
Commit
b24e3cc5423c646447589d9701e5bbee8204cb8f
by antiagainst[mlir] Put template specialization in the same namespace
This should address GCC 5 failure due to specialization of runStrategy in different namespace.
|
 | mlir/test/lib/Transforms/TestLinalgCodegenStrategy.cpp |
Commit
9a5dc01e4b65b15c73751f5b3d9273ea73533b5d
by melanie.blower[clang][PATCH][NFC] Correct test case related to review D95482
|
 | clang/test/SemaCXX/lambda-expressions.cpp |
 | clang/test/SemaCXX/pr48848.cpp |
Commit
5bbf39704c2b70581d78a463f3c9d20b0eb7dcd5
by anastasia.stulova[OpenCL] Add diagnostics for references to functions
Restrict use of references to functions as they can result in non-conforming behavior.
Tags: #clang
Differential Revision: https://reviews.llvm.org/D95442
|
 | clang/test/SemaOpenCLCXX/references.cl |
 | clang/include/clang/Basic/DiagnosticSemaKinds.td |
 | clang/lib/Sema/SemaDecl.cpp |
 | clang/lib/Sema/SemaType.cpp |
 | clang/test/SemaOpenCLCXX/members.cl |
Commit
903a153409b8640aac30fa0b46b9a99ad90fe786
by steveireEnsure that the matcher is instantiated
Fix issue diagnosed by Windows linker.
|
 | clang/lib/ASTMatchers/ASTMatchersInternal.cpp |
Commit
3a5adf84834a2b6fad57214278e4ec743977356c
by david.green[ARM] Add MVE insert-of-extract pattern
A v4i32 insert of an extract can become a simple lane move, as opposed to round-tripping via a GPR. This adds a patterns that turns an v4i32 insert-extract pair into a EXTRACT_SUBREG/INSERT_SUBREG, with the required COPY_TO_REGCLASS. These get better optimized into a simple lane move by the rest of the backend.
Differential Revision: https://reviews.llvm.org/D95428
|
 | llvm/lib/Target/ARM/ARMInstrMVE.td |
 | llvm/test/CodeGen/Thumb2/mve-vecreduce-add.ll |
Commit
288f762b6ff2c0cedfda88e8b9af11c2ec412cd3
by stefanp[PowerPC] Materialize 34 bit constants with pli on Power 10.
NOTE: This patch was originally written by Anil Mahmud. His code has been rebased but otherwise left mostly unchanged.
A new instructon on Power 10 allows for the materialization of 34 bit immediate values. This patch allows the compiler to take advantage of the new instruction in this situation.
Reviewed By: amyk
Differential Revision: https://reviews.llvm.org/D92879
|
 | llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp |
 | llvm/lib/Target/PowerPC/PPCInstrInfo.cpp |
 | llvm/test/CodeGen/PowerPC/paired-vector-intrinsics.ll |
 | llvm/lib/Target/PowerPC/PPCInstrInfo.td |
 | llvm/test/CodeGen/PowerPC/p10-constants.ll |
 | llvm/lib/Target/PowerPC/PPCInstrPrefix.td |
Commit
ed8943c08769082f4ce5e7682a4ff53ae25bee36
by huberjn[OpenMP][NFC] Adding FAQ Entry for errors with static libraries
|
 | openmp/docs/SupportAndFAQ.rst |
Commit
1645f465be85223e9f5b6303a3e5e0e491fd819f
by aktoon[CSSPGO] Factor out common part for CSSPGO inline and AFDO inline
Refactoring SampleProfileLoader::inlineHotFunctions to use helpers from CSSPGO inlining and reduce similar code in the inlining loop, plus minor cleanup for AFDO path.
This is resubmit of D95024, with build break and overtighten assertion fixed.
Test Plan:
|
 | llvm/lib/Transforms/IPO/SampleProfile.cpp |
 | llvm/test/Transforms/SampleProfile/remarks.ll |
 | llvm/test/Transforms/SampleProfile/pseudo-probe-inline.ll |
Commit
eb3426a528d5b3cbbb54aee662a779f2067fc9db
by zarko[AIX] Improve option processing for mabi=vec-extabi and mabi=vec=defaul
Opening this revision to better address comments by @hubert.reinterpretcast in https://reviews.llvm.org/rGcaaaebcde462
Reviewed By: hubert.reinterpretcast
Differential Revision: https://reviews.llvm.org/D95702
|
 | clang/test/CodeGen/altivec.c |
 | clang/lib/Driver/ToolChains/Clang.cpp |
Commit
b2b35697dc5172ab1e815e08c0a2714f2a1a9330
by antiagainst[mlir] Fix scf.for single iteration canonicalization check
We should be check whether lb + step >= ub to determine whether this is a single iteration. Previously we were checking lb + lb >= ub.
Differential Revision: https://reviews.llvm.org/D95440
|
 | mlir/lib/Dialect/SCF/SCF.cpp |
 | mlir/test/Dialect/SCF/canonicalize.mlir |
 | mlir/test/Dialect/Linalg/fusion.mlir |
Commit
e901188cf9e34b54db7b1c5359264549d5f5be4f
by antiagainst[mlir][spirv] Define sp.VectorShuffle
This patch adds basic op definition, parser/printer, and verifier.
Reviewed By: ThomasRaoux
Differential Revision: https://reviews.llvm.org/D95825
|
 | mlir/test/Target/SPIRV/composite-op.mlir |
 | mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td |
 | mlir/include/mlir/Dialect/SPIRV/IR/SPIRVCompositeOps.td |
 | mlir/lib/Dialect/SPIRV/IR/SPIRVOps.cpp |
 | mlir/test/Dialect/SPIRV/IR/composite-ops.mlir |
Commit
a2e791e3969565cfd3c316c5a880fc9cff6f4bac
by antiagainstRevert "[mlir] Fix scf.for single iteration canonicalization check"
This reverts commit b2b35697dc5172ab1e815e08c0a2714f2a1a9330. It gotten accidentially landed before LGTM.
|
 | mlir/test/Dialect/Linalg/fusion.mlir |
 | mlir/lib/Dialect/SCF/SCF.cpp |
 | mlir/test/Dialect/SCF/canonicalize.mlir |
Commit
6b6ae583cf873debf06e982062fcc7982c8a184a
by sebastian.neubauer[AMDGPU] Save fp/bp after csr saves
Saving callee-save registers happens in whole wave mode. Exec is saved to a free register, which can be reused to save the frame pointer. Therefore, saving the fp needs to happen after saving csrs.
Differential Revision: https://reviews.llvm.org/D95861
|
 | llvm/lib/Target/AMDGPU/SIFrameLowering.cpp |
 | llvm/test/CodeGen/AMDGPU/callee-frame-setup.ll |
Commit
8b898b19a8cb90871fa85a6db924c61b9f22cfe6
by sebastian.neubauer[AMDGPU] Remove unused tmp register
The temporary register is only used to compute the frame pointer. The frame pointer is overwritten and not used in between, so we can reuse the frame pointer for the computation, saving one register.
Differential Revision: https://reviews.llvm.org/D95865
|
 | llvm/test/CodeGen/AMDGPU/pei-scavenge-sgpr-gfx9.mir |
 | llvm/test/CodeGen/AMDGPU/local-stack-alloc-block-sp-reference.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/non-entry-alloca.ll |
 | llvm/test/CodeGen/AMDGPU/stack-realign.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/dynamic-alloca-uniform.ll |
 | llvm/test/CodeGen/AMDGPU/non-entry-alloca.ll |
 | llvm/test/CodeGen/AMDGPU/pei-scavenge-sgpr-carry-out.mir |
 | llvm/test/CodeGen/AMDGPU/pei-scavenge-sgpr.mir |
 | llvm/test/CodeGen/AMDGPU/pei-scavenge-vgpr-spill.mir |
 | llvm/lib/Target/AMDGPU/SIFrameLowering.cpp |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement-stack-lower.ll |
 | llvm/test/CodeGen/AMDGPU/callee-frame-setup.ll |
Commit
844f01fc9589b25a3427a6cf4ca406e6787ae171
by anastasia.stulovaFixed failing OpenCL test
|
 | clang/test/SemaOpenCLCXX/references.cl |
Commit
2753722b0fc1fe34c382277e2e6c7195dd573100
by david.green[ARM] Mark MVE_VMOV_to_lane_32 as isInsertSubregLike
This allows the peephole optimizer to know that a MVE_VMOV_to_lane_32 is the same as an insert subreg, allowing it to optimize some redundant lane moves.
Differential Revision: https://reviews.llvm.org/D95433
|
 | llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp |
 | llvm/lib/Target/ARM/ARMInstrMVE.td |
 | llvm/test/CodeGen/Thumb2/mve-vecreduce-add.ll |
 | llvm/test/CodeGen/Thumb2/mve-vst3.ll |
 | llvm/test/CodeGen/Thumb2/mve-vecreduce-mla.ll |
Commit
3e09bc250044fc3d294cba23c8d797e12f30581d
by flo[ConstraintElimination] Add nicer way to dump constraints (NFC).
Use ConstraintSystem::dump(Names) to display the result of decomposing a condition.
|
 | llvm/lib/Transforms/Scalar/ConstraintElimination.cpp |
 | llvm/include/llvm/Analysis/ConstraintSystem.h |
Commit
af43440bd2f49f9cc548099d35e42734f03735ef
by eschweitz[flang][NFC] Update #include and comment.
Differential Revision: https://reviews.llvm.org/D95828
|
 | flang/include/flang/Optimizer/Dialect/FIRAttr.h |
Commit
ffca74b8b82f0af0d213bffa59c40b10449fd05f
by jonathan.l.peyton[OpenMP] Fix sign comparison warnings from GCC
New affinity patch introduced legitimate sign-compare warnings that clang doesn't report but GCC-10 does. This removes the warnings by changing two variables types to unsigned.
Differential Revision: https://reviews.llvm.org/D95818
|
 | openmp/runtime/src/kmp_affinity.cpp |
Commit
3e780616c46ecd2caa8f52e714839b87a39f514b
by david.green[ARM] Correct some tablegen operand types. NFC
|
 | llvm/lib/Target/ARM/ARMInstrMVE.td |
 | llvm/lib/Target/ARM/ARMInstrNEON.td |
Commit
50c523a9d4402c69d59c0b2ecb383a763d16cde9
by jeroen.dobbelaere[InlineFunction] Only update noalias scopes once for an instruction.
Inlining sometimes maps different instructions to be inlined onto the same instruction.
We must ensure to only remap the noalias scopes once. Otherwise the scope might disappear (at best). This patch ensures that we only replace scopes for which the mapping is known.
This approach is preferred over tracking which instructions we already handled in a SmallPtrSet, as that one will need more memory.
Reviewed By: nikic
Differential Revision: https://reviews.llvm.org/D95862
|
 | llvm/lib/Transforms/Utils/InlineFunction.cpp |
 | llvm/test/Transforms/Inline/noalias3.ll |
Commit
ce33bd0b86e5c777d587e330944751e58fd7d4d6
by spatel[ExpandReductions] add test for fmin with FMF; NFC
|
 | llvm/test/Transforms/PhaseOrdering/X86/vector-reductions-expanded.ll |
Commit
1560a0003224cf20d14a71521d4f36fd150f8206
by i[yaml2obj/obj2yaml/llvm-readobj] Support SHF_GNU_RETAIN
In binutils, the flag is defined for ELFOSABI_GNU and ELFOSABI_FREEBSD. It can be used to mark a section as a GC root.
In practice, the flag has generic semantics and can be applied to many EI_OSABI values, so we consider it generic.
Differential Revision: https://reviews.llvm.org/D95728
|
 | llvm/include/llvm/BinaryFormat/ELF.h |
 | llvm/test/tools/llvm-readobj/ELF/section-flags-os-proc.test |
 | llvm/lib/ObjectYAML/ELFYAML.cpp |
 | llvm/test/tools/llvm-readobj/ELF/gnu-sections.test |
 | llvm/test/tools/llvm-readobj/ELF/section-flags.test |
 | llvm/tools/llvm-readobj/ELFDumper.cpp |
Commit
1477ed846508dc84610b7ca9570e590eb7e21797
by i[MC] Support SHF_GNU_RETAIN as section flag 'R'
On Linux target triples, GNU as sets EI_OSABI to ELFOSABI_GNU when SHF_GNU_RETAIN is used。 On `*-*-freebsd`, it usually sets EI_OSABI to ELFOSABI_FREEBSD.
GNU ld respects SHF_GNU_RETAIN only for ELFOSABI_FREEBSD/ELFOSABI_GNU. https://sourceware.org/bugzilla/show_bug.cgi?id=27282
MC doesn't set ELFOSABI_GNU for SHF_GNU_RETAIN/STB_GNU_UNIQUE/STT_GNU_IFUNC. MC assembled object files do not have special semantics in GNU ld.
Reviewed By: psmith
Differential Revision: https://reviews.llvm.org/D95730
|
 | llvm/lib/MC/MCParser/ELFAsmParser.cpp |
 | llvm/lib/MC/MCSectionELF.cpp |
 | llvm/test/MC/ELF/section-gnu.s |
Commit
81af8149d8cb8ff65f2569d813252fab2a14df00
by i[test] Add basic _Unwind_ForcedUnwind + exception tests
Forced unwinding is like a foreign exception, which can be caught by `catch (...)` and rethrown. If not rethrown, `__cxa_end_cath` will call `_Unwind_DeleteException` to destroy the object.
The behavior going through empty `throw()` and non-empty `throw(int)` is not clear (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98785), so I do not add such tests.
Differential Revision: https://reviews.llvm.org/D95200
|
 | libcxxabi/test/forced_unwind1.pass.cpp |
 | libcxxabi/test/forced_unwind2.pass.cpp |
Commit
abc145182ceda3f5aec2aa64e2550f228cc87963
by flo[ConstraintElimination] Add test with pointer bitcast.
|
 | llvm/test/Transforms/ConstraintElimination/pointercast.ll |
Commit
3e8ab54ba072cc50e41510ec8c56f49b06cac256
by i[MC] Upgrade DWARF version to 5 upon .file 0
Without `-dwarf-version`, llvm-mc uses the default `MCContext::DwarfVersion` 4.
Without `-gdwarf-N`, Clang cc1as uses `clang::driver::ToolChain::GetDefaultDwarfVersion` which is 4 on many toolchains. Note: `clang -c` can synthesize .debug_info without -g.
There is currently a MCParser warning upon `.file 0` and MCParser errors upon `.loc 0` if the DWARF version is less than 5. This causes friction to the following usage:
``` clang -S -g -gdwarf-5 a.c
// MC warning due to .file 0, MC error due to .loc 0 clang -c a.s llvm-mc -filetype=obj a.s ```
My idea is that we can just upgrade `MCContext::DwarfVersion` to 5 upon `.file 0` to make the above commands work.
The downside is that for an explicit version `clang -c -gdwarf-4 a.s`, it can be argued that the new behavior drops the probably intended diagnostic. I think the downside is small because in most cases DWARF version for an assembly action should either match the original compile action or be omitted.
Ongoing discussion taking a similar action for GNU as: https://sourceware.org/pipermail/binutils/2021-January/114980.html
Differential Revision: https://reviews.llvm.org/D94882
|
 | llvm/lib/MC/MCParser/AsmParser.cpp |
 | llvm/test/MC/ELF/dwarf-file0.s |
 | llvm/test/MC/ELF/dwarf-loc0.s |
Commit
870a58a75889031d0d860ec6ae51caa1ccfbd8ad
by Jonas Devlieghere[debugserver] Fix -Winconsistent-missing-override warnings on arm64
|
 | lldb/tools/debugserver/source/MacOSX/arm64/DNBArchImplARM64.h |
 | lldb/tools/debugserver/source/MacOSX/arm/DNBArchImpl.h |
Commit
d3e2e3740d0730cb6788c771bb01a8f3e935bf2e
by hoy[CSSPGO] Passing the clang driver switch -fpseudo-probe-for-profiling to the linker.
As titled.
Reviewed By: wmi, wenlei
Differential Revision: https://reviews.llvm.org/D95271
|
 | clang/lib/Driver/ToolChains/CommonArgs.cpp |
 | clang/test/Driver/pseudo-probe-lto.c |
 | clang/include/clang/Driver/Options.td |
Commit
57bfa2ddb6bf1f1814295a2423258fdd46cb702c
by i[ELF] Delete unused --warn-ifunc-textrel
The option catches incompatibility between `R_*_IRELATIVE` and DT_TEXTREL/DF_TEXTREL before glibc 2.29. Newer glibc versions are more common nowadays and I don't think this option has ever been used. Diagnosing this problem is also straightforward by reading the stack trace.
|
 | lld/test/ELF/textrel.s |
 | lld/ELF/Driver.cpp |
 | lld/ELF/Config.h |
 | lld/ELF/Relocations.cpp |
Commit
a3cc99658d52f79faad26beeea06691b3a50bc95
by martin[libcxx] Implement the space function for windows
Differential Revision: https://reviews.llvm.org/D91168
|
 | libcxx/src/filesystem/operations.cpp |
 | libcxx/src/filesystem/posix_compat.h |
Commit
3a9d2f1488f0a767d4e55dc701bbdfc5438bbb3e
by gkm[lld-macho][NFC] refactor relocation handling
Add per-reloc-type attribute bits and migrate code from per-target file into target independent code, driven by reloc attributes.
Many cleanups
Differential Revision: https://reviews.llvm.org/D95121
|
 | lld/test/MachO/invalid/bad-got-to-tlv-reference.s |
 | lld/test/MachO/invalid/bad-tlv-def.s |
 | lld/test/MachO/x86-64-reloc-subtract.s |
 | lld/MachO/Driver.cpp |
 | lld/test/MachO/invalid/invalid-relocation-length.yaml |
 | lld/test/MachO/invalid/bad-tlv-relocation.s |
 | lld/MachO/InputSection.cpp |
 | lld/MachO/SyntheticSections.cpp |
 | llvm/include/llvm/BinaryFormat/MachO.h |
 | lld/MachO/Arch/X86_64.cpp |
 | lld/MachO/InputSection.h |
 | lld/test/MachO/invalid/bad-got-to-dylib-tlv-reference.s |
 | lld/test/MachO/invalid/bad-tlv-opcode.s |
 | lld/MachO/InputFiles.cpp |
 | lld/MachO/Target.h |
 | lld/MachO/Target.cpp |
 | lld/MachO/Writer.cpp |
 | lld/test/MachO/invalid/invalid-relocation-pcrel.yaml |
Commit
ca98c15f23354520bf689bd5feb333a716159d2c
by michael.p.rice[OpenMP] Fix iterations calculation for dependent counters.
The number of iterations calculation was failing in some cases with more than two collpased loops. Now the LoopIterationSpace selected matches InitDependOnLC and CondDependOnLC.
Differential Revision: https://reviews.llvm.org/D95834
|
 | clang/lib/Sema/SemaOpenMP.cpp |
 | clang/test/OpenMP/for_codegen.cpp |
 | clang/test/OpenMP/for_loop_messages.cpp |
Commit
9a62b7242aead46dd5962bc516c6527ae5e80bc0
by Jonas Devlieghere[debugserver] Fix -Wunused-function warnings on arm64
|
 | lldb/tools/debugserver/source/MacOSX/arm/DNBArchImpl.cpp |
Commit
912306ef21d76589ef312af992819a4752ad66ea
by craig.topper[RISCV] Use a ComplexPattern to merge isel patterns for vector load/store with GPR and FrameIndex addresses.
This reduces the isel table size by about 3000 bytes.
Reviewed By: frasercrmck
Differential Revision: https://reviews.llvm.org/D95844
|
 | llvm/lib/Target/RISCV/RISCVISelDAGToDAG.h |
 | llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td |
 | llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp |
Commit
51da12680f9dd06caa550522f05a4820131887be
by i[ConstraintElimination] Fix -Wunused-function in -DLLVM_ENABLE_ASSERTIONS=off build
|
 | llvm/lib/Transforms/Scalar/ConstraintElimination.cpp |
Commit
ec6815a72dfcf46fcca546d8c87d05606e140428
by Jonas Devlieghere[debugserver] Fix -Wsign-compare warnings on arm64
|
 | lldb/tools/debugserver/source/MacOSX/arm/DNBArchImpl.cpp |
Commit
f1bdf9fa9bc5edc616842b6cb9028b7d207e012c
by joker.eph[mlir][NFC] Use explicit `mlir` namespace in generated code
This makes the generated code independent from actual namespace of its users.
Reviewed By: rriddle
Differential Revision: https://reviews.llvm.org/D95520
|
 | mlir/include/mlir/IR/OpAsmInterface.td |
 | mlir/include/mlir/Interfaces/InferTypeOpInterface.td |
 | mlir/include/mlir/Interfaces/CopyOpInterface.td |
 | mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp |
 | mlir/tools/mlir-tblgen/RewriterGen.cpp |
 | mlir/include/mlir/IR/SymbolInterfaces.td |
Commit
d8c373815d35df1b8544784ce172ade68fb01f8f
by joker.eph[mlir][NFC] Add missing include guards to MlirOptMain.h
Reviewed By: mehdi_amini
Differential Revision: https://reviews.llvm.org/D95533
|
 | mlir/include/mlir/Support/MlirOptMain.h |
Commit
7cc79984979014c86b6b4672ed0df93a74b2f218
by joker.eph[mlir] Allow to use constant lambda as callbacks for `TypeConverter`
Reviewed By: rriddle
Differential Revision: https://reviews.llvm.org/D95787
|
 | mlir/test/lib/Dialect/Test/TestPatterns.cpp |
 | mlir/include/mlir/Transforms/DialectConversion.h |
Commit
95935849881c403e6e141da16b41d64dc4e537d3
by joker.eph[mlir] Print more verbose message in case of type inference error
Include the types into the error message.
Reviewed By: ftynse
Differential Revision: https://reviews.llvm.org/D95854
|
 | mlir/lib/Interfaces/InferTypeOpInterface.cpp |
 | mlir/test/mlir-tblgen/types.mlir |
Commit
39047f6c2e5e8999b012cda1a92447bb615a6d1b
by Jonas Devlieghere[debugserver] Fix -Wmissing-field-initializers warnings on arm64
|
 | lldb/tools/debugserver/source/MacOSX/arm/DNBArchImpl.cpp |
Commit
67dfe9c8d70c1242c1e91e3bafc710781ac2a585
by joker.eph[mlir] Return new Operation from `Rewriter::replaceOpWithNewOp`
It will allow to perform additional manipulation with the newly created Operation. For example, custom attributes propagation/changes.
Reviewed By: ftynse
Differential Revision: https://reviews.llvm.org/D95525
|
 | mlir/include/mlir/IR/PatternMatch.h |
Commit
c4fd1981a74520aaa1731f8705360c2c87346f44
by craig.topper[RISCV] Correct types in tablegen multiclasses found by D95874.
|
 | llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td |
 | llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td |
Commit
b4106f9c7b8c498d109301ced7bf9aca32027168
by fraser[RISCV] Fix incorrect RVV sdiv/udiv lowering
Due to a clerical error, the sdiv operation was mapping to vdivu and udiv to vdiv, when the opposite mapping is the correct one.
Reviewed By: craig.topper
Differential Revision: https://reviews.llvm.org/D95869
|
 | llvm/test/CodeGen/RISCV/rvv/vdiv-sdnode-rv64.ll |
 | llvm/test/CodeGen/RISCV/rvv/vdivu-sdnode-rv32.ll |
 | llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td |
 | llvm/test/CodeGen/RISCV/rvv/vdiv-sdnode-rv32.ll |
 | llvm/test/CodeGen/RISCV/rvv/vdivu-sdnode-rv64.ll |
Commit
bb0212929e36732585f0b43f9b0301af51953667
by joker.ephFix CMake LLVM_TARGETS_TO_BUILD "Native" option to work with JIT
LLVM_TARGETS_TO_BUILD accepts both "host" or "Native" for auto-selecting the target from the environment. However the way "Native" was plumbed would lead to the JIT environment being disabled. This patch is making "Native" works just as "host".
Reviewed By: rnk
Differential Revision: https://reviews.llvm.org/D95837
|
 | llvm/cmake/config-ix.cmake |
 | llvm/CMakeLists.txt |
Commit
5b3881691f3375344c1b4c3d594b5958948851d7
by csigg[mlir] Delay adding the __resume function
The __resume function trips up LLVM's 'X86 DAG->DAG Instruction Selection' unless optimizations are disabled.
Only adding the __resume function when it's needed allows lowering through AsyncToLLVM and LLVM without '-O0' as long as the coroutine functionality is not used.
Reviewed By: ezhulenev
Differential Revision: https://reviews.llvm.org/D95868
|
 | mlir/lib/Conversion/AsyncToLLVM/AsyncToLLVM.cpp |
Commit
2aa1af9b1da0d832270d9b8afcba19a4aba2c366
by isuruf[MLIR] [CMake] Support building MLIR standalone
Add the necessary bits to CMakeLists to make it possible to configure MLIR against installed LLVM, and build it with minimal need for LLVM source tree. The latter is only necessary to run unittests, and if it is missing then unittests are skipped with a warning.
This change includes the necessary changes to tests, in particular adding some missing substitutions and defining missing variables for lit.site.cfg.py substitution.
Reviewed By: stephenneuendorffer
Differential Revision: https://reviews.llvm.org/D85464
Co-authored-by: Isuru Fernando <isuruf@gmail.com>
|
 | mlir/cmake/modules/AddMLIR.cmake |
 | mlir/CMakeLists.txt |
 | mlir/test/CMakeLists.txt |
 | mlir/test/lit.cfg.py |
Commit
b7d80058ff4649d1a15ef930269458dbb17145d9
by rengolinFix namespace for MLIR Async Runtime
The MLIR Async runtime uses different namespacing for the header file, and the definitions of its C API. The header file places the extern "C" functions inside namespace mlir::runtime, and the definitions are not in a namespace. This causes issues in cl.exe. It treats the declaration and definition as different, and thus does not apply dllexport to the definition, which leads to the mlir_async_runtime.dll containing no definitions, and the mlir_async_runtime.lib not being generated.
This patch moves the namespace to cover the definitions, and thus generates the dll correctly on Windows with cl.exe.
This was tested with Visual Studio C++ 19.28.29336.
Differential Revision: https://reviews.llvm.org/D95386
|
 | mlir/lib/ExecutionEngine/AsyncRuntime.cpp |
 | mlir/include/mlir/ExecutionEngine/AsyncRuntime.h |
Commit
74c94b5d9c2b19333b43684c9d60decd41543d50
by i[test] Default clang/test to FileCheck --allow-unused-prefixes=false
|
 | clang/test/lit.cfg.py |
 | clang/test/OpenMP/lit.local.cfg |
 | clang/test/Analysis/lit.local.cfg |
 | clang/test/CodeGenCXX/lit.local.cfg |
 | clang/test/CodeGen/lit.local.cfg |
 | clang/test/Driver/lit.local.cfg |
Commit
dc6fadf7082821e4144b8b7ba256889bcba6f455
by pklausler[flang] Detect UBOUND() error on assumed-size array
UBOUND() is not allowed on the last dimension of an assumed-size array dummy argument.
Differential Revision: https://reviews.llvm.org/D95831
|
 | flang/test/Evaluate/folding19.f90 |
 | flang/lib/Evaluate/fold-integer.cpp |
 | flang/test/Semantics/spec-expr.f90 |
Commit
aa39ddd0a320c1d615171fef98694e5726c3fa4f
by pklausler[flang] Implement IEEE_SUPPORT_xxx inquiry functions
Implement IEEE_SUPPORT_DATATYPE() and other inquiry intrinisic functions from the intrinsic module IEEE_ARITHMETIC, folding all of their results to .TRUE.
Differential Revision: https://reviews.llvm.org/D95830
|
 | flang/test/Evaluate/folding18.f90 |
 | flang/lib/Evaluate/fold-logical.cpp |
 | flang/lib/Evaluate/intrinsics.cpp |
 | flang/module/__fortran_builtins.f90 |
 | flang/module/ieee_arithmetic.f90 |
Commit
b481cd519e07b3ad2bd3e81c89b0dd8efd68d6bc
by ctetreauEnsure that InstructionCost actually implements a total ordering
Previously, operator== would consider the actual equality of the pairs (lhs.Value, lhs.State) == (rhs.Value, rhs.State). However, if an invalid cost was involved in a call to operator<, only the state would be compared. Thus, it was not the case that ({2, Invalid} < {3, Invalid} || {2, Invalid} > {3, Invalid} || {2, Invalid} == {3, Invalid}).
This patch implements a true total ordering, where cost state is considered first, then value. While it's not really imporant that {2, Invalid} be considered to be less than {3, Invalid}, it's not a problem either. This patch also implements operator== in terms of operator<, so the two definitions will be kept in sync.
Reviewed By: sdesmalen
Differential Revision: https://reviews.llvm.org/D95803
|
 | llvm/include/llvm/Support/InstructionCost.h |
 | llvm/unittests/Support/InstructionCostTest.cpp |
Commit
d3950072161f067ef4f3bd8b86ec37c97813b97d
by eschweitz[flang][NFC] Update #include.
Differential Revision: https://reviews.llvm.org/D95882
|
 | flang/include/flang/Optimizer/CodeGen/CodeGen.h |
Commit
3d89b3cbec230633e8228787819b15116c1a1730
by hoy[CSSPGO] Introducing distribution factor for pseudo probe.
Sample re-annotation is required in LTO time to achieve a reasonable post-inline profile quality. However, we have seen that such LTO-time re-annotation degrades profile quality. This is mainly caused by preLTO code duplication that is done by passes such as loop unrolling, jump threading, indirect call promotion etc, where samples corresponding to a source location are aggregated multiple times due to the duplicates. In this change we are introducing a concept of distribution factor for pseudo probes so that samples can be distributed for duplicated probes scaled by a factor. We hope that optimizations duplicating code well-maintain the branch frequency information (BFI) based on which probe distribution factors are calculated. Distribution factors are updated at the end of preLTO pipeline to reflect an estimated portion of the real execution count.
This change also introduces a pseudo probe verifier that can be run after each IR passes to detect duplicated pseudo probes.
A saturated distribution factor stands for 1.0. A pesudo probe will carry a factor with the value ranged from 0.0 to 1.0. A 64-bit integral distribution factor field that represents [0.0, 1.0] is associated to each block probe. Unfortunately this cannot be done for callsite probes due to the size limitation of a 32-bit Dwarf discriminator. A 7-bit distribution factor is used instead.
Changes are also needed to the sample profile inliner to deal with prorated callsite counts. Call sites duplicated by PreLTO passes, when later on inlined in LTO time, should have the callees’s probe prorated based on the Prelink-computed distribution factors. The distribution factors should also be taken into account when computing hotness for inline candidates. Also, Indirect call promotion results in multiple callisites. The original samples should be distributed across them. This is fixed by adjusting the callisites' distribution factors.
Reviewed By: wmi
Differential Revision: https://reviews.llvm.org/D93264
|
 | llvm/lib/Transforms/IPO/SampleProfileProbe.cpp |
 | llvm/lib/Transforms/IPO/SampleProfile.cpp |
 | llvm/lib/Passes/StandardInstrumentations.cpp |
 | llvm/include/llvm/ProfileData/SampleProf.h |
 | llvm/lib/Passes/PassRegistry.def |
 | llvm/test/Transforms/SampleProfile/Inputs/pseudo-probe-update.prof |
 | llvm/include/llvm/IR/PseudoProbe.h |
 | llvm/include/llvm/Passes/StandardInstrumentations.h |
 | llvm/test/Transforms/SampleProfile/pseudo-probe-emit-inline.ll |
 | llvm/test/Transforms/SampleProfile/pseudo-probe-update.ll |
 | llvm/test/Transforms/SampleProfile/pseudo-probe-profile.ll |
 | clang/test/CodeGen/pseudo-probe-emit.c |
 | llvm/test/Transforms/SampleProfile/pseudo-probe-emit.ll |
 | llvm/lib/IR/PseudoProbe.cpp |
 | llvm/include/llvm/IR/Intrinsics.td |
 | llvm/include/llvm/IR/IntrinsicInst.h |
 | llvm/include/llvm/Transforms/IPO/SampleProfileProbe.h |
 | llvm/lib/Passes/PassBuilder.cpp |
 | llvm/test/Transforms/SampleProfile/pseudo-probe-inline.ll |
 | llvm/test/Transforms/SampleProfile/pseudo-probe-verify.ll |
Commit
e2bd29a0d680158a66472859a18af0f1d450bbe1
by eschweitz[flang][NFC] Update the CG rewrite pass. Add description and dependencies.
Differential Revision: https://reviews.llvm.org/D95888
|
 | flang/include/flang/Optimizer/CodeGen/CGPasses.td |
Commit
ec10f0660963c77413f31a9b232b453f09425387
by riddleriver[mlir][Pattern] Create a new IRRewriter class to enable sharing code with pattern rewrites
This revision adds two new classes, RewriterBase and IRRewriter. RewriterBase is a new shared base class between IRRewriter and PatternRewriter. PatternRewriter will continue to be the base class used to perform rewrites within a rewrite pattern. IRRewriter on the other hand, is a new class that allows for tracking IR rewrites from outside of a rewrite pattern. In this revision all of the old API from PatternRewriter is moved to RewriterBase, but the distinction between IRRewriter and PatternRewriter is kept on the chance that a necessary API divergence happens in the future.
Currently if you want to have some utility that transforms a piece of IR and share it between pattern and non-pattern code, you have to duplicate it. This revision enables the creation of utilities that can be invoked from rewrite patterns and normal transformation code:
```c++ void someSharedUtility(RewriterBase &rewriter, ...) { // Some interesting IR mutation here. }
// Some RewritePattern LogicalResult MyPattern::matchAndRewrite(Operation *op, PatternRewriter &rewriter) { ... someSharedUtility(rewriter, ...); ... }
// Some Pass void MyPass::runOnOperation() { ... IRRewriter rewriter(...); someSharedUtility(rewriter, ...); } ```
Differential Revision: https://reviews.llvm.org/D94638
|
 | mlir/lib/IR/PatternMatch.cpp |
 | mlir/include/mlir/IR/PatternMatch.h |
Commit
ff1147c3635685ba6aefbdc9394300adb5404595
by ctetreauRevert "Ensure that InstructionCost actually implements a total ordering"
This reverts commit b481cd519e07b3ad2bd3e81c89b0dd8efd68d6bc.
|
 | llvm/include/llvm/Support/InstructionCost.h |
 | llvm/unittests/Support/InstructionCostTest.cpp |
Commit
619e2e095fb1cd1e60b745cf1a10af9f67a4cd41
by davelee.com[lldb] Convert assertTrue(a == b) to assertEqual(a, b)
Convert `assertTrue(a == b)` to `assertEqual(a, b)` to produce better failure messages.
These were mostly done via regex search & replace, with some manual fixes.
Differential Revision: https://reviews.llvm.org/D95813
|
 | lldb/test/API/functionalities/conditional_break/TestConditionalBreak.py |
 | lldb/test/API/python_api/frame/inlines/TestInlinedFrame.py |
 | lldb/test/API/python_api/disassemble-raw-data/TestDisassembleRawData.py |
 | lldb/test/API/python_api/watchpoint/watchlocation/TestTargetWatchAddress.py |
 | lldb/test/API/python_api/lldbutil/frame/TestFrameUtils.py |
 | lldb/test/API/lang/cpp/template/TestTemplateArgs.py |
 | lldb/test/API/python_api/watchpoint/TestSetWatchpoint.py |
 | lldb/test/API/python_api/watchpoint/condition/TestWatchpointConditionAPI.py |
 | lldb/test/API/lang/objc/foundation/TestSymbolTable.py |
 | lldb/test/API/lang/objc/objc-class-method/TestObjCClassMethod.py |
 | lldb/test/API/functionalities/breakpoint/breakpoint_in_delayslot/TestAvoidBreakpointInDelaySlot.py |
 | lldb/test/API/python_api/function_symbol/TestDisasmAPI.py |
 | lldb/test/API/lang/cpp/class_types/TestClassTypes.py |
 | lldb/test/API/python_api/event/TestEvents.py |
 | lldb/test/API/lang/objc/objc-checker/TestObjCCheckers.py |
 | lldb/test/API/terminal/TestSTTYBeforeAndAfter.py |
 | lldb/test/API/python_api/lldbutil/iter/TestLLDBIterator.py |
 | lldb/test/API/python_api/disassemble-raw-data/TestDisassemble_VST1_64.py |
 | lldb/test/API/tools/lldb-vscode/breakpoint-events/TestVSCode_breakpointEvents.py |
 | lldb/test/API/functionalities/breakpoint/breakpoint_ignore_count/TestBreakpointIgnoreCount.py |
 | lldb/test/API/python_api/type/TestTypeList.py |
 | lldb/test/API/python_api/symbol-context/TestSymbolContext.py |
 | lldb/test/API/python_api/thread/TestThreadAPI.py |
 | lldb/test/API/functionalities/data-formatter/data-formatter-synthval/TestDataFormatterSynthVal.py |
 | lldb/test/API/lang/objc/foundation/TestObjCMethods.py |
 | lldb/test/API/python_api/process/read-mem-cstring/TestReadMemCString.py |
 | lldb/test/API/python_api/watchpoint/TestWatchpointIter.py |
 | lldb/test/API/tools/lldb-vscode/console/TestVSCode_console.py |
 | lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/atomic/TestLibCxxAtomic.py |
 | lldb/test/API/lang/cpp/class_static/TestStaticVariables.py |
 | lldb/test/API/lang/objc/blocks/TestObjCIvarsInBlocks.py |
 | lldb/test/API/tools/lldb-server/registers-target-xml-reading/TestGdbRemoteTargetXmlPacket.py |
 | lldb/test/API/functionalities/exec/TestExec.py |
 | lldb/test/API/lang/objc/foundation/TestObjectDescriptionAPI.py |
 | lldb/test/API/lang/c/bitfields/TestBitfields.py |
 | lldb/test/API/functionalities/tty/TestTerminal.py |
 | lldb/test/API/functionalities/return-value/TestReturnValue.py |
 | lldb/test/API/python_api/target/TestTargetAPI.py |
 | lldb/test/API/python_api/value/TestValueAPI.py |
 | lldb/test/API/functionalities/data-formatter/vector-types/TestVectorTypesFormatting.py |
 | lldb/test/API/python_api/watchpoint/watchlocation/TestSetWatchlocation.py |
 | lldb/test/API/lang/cpp/dynamic-value/TestCppValueCast.py |
 | lldb/test/API/functionalities/breakpoint/serialize/TestBreakpointSerialization.py |
 | lldb/test/API/functionalities/type_get_module/TestTypeGetModule.py |
 | lldb/test/API/python_api/sbdata/TestSBData.py |
 | lldb/test/API/lang/c/stepping/TestStepAndBreakpoints.py |
 | lldb/test/API/commands/register/register/register_command/TestRegisters.py |
 | lldb/test/API/python_api/value/linked_list/TestValueAPILinkedList.py |
 | lldb/test/API/python_api/function_symbol/TestSymbolAPI.py |
 | lldb/test/API/commands/watchpoints/watchpoint_events/TestWatchpointEvents.py |
 | lldb/test/API/tools/lldb-vscode/module/TestVSCode_module.py |
 | lldb/test/API/python_api/process/io/TestProcessIO.py |
 | lldb/test/API/tools/lldb-vscode/variables/TestVSCode_variables.py |
 | lldb/test/API/functionalities/breakpoint/breakpoint_conditions/TestBreakpointConditions.py |
 | lldb/test/API/python_api/frame/TestFrames.py |
Commit
bab74864168bb5e28ecbc0294fe1095d8da7f569
by rnkDisable CFI in __get_elem to allow casting a pointer to uninitialized memory
Fixes usage of shared_ptr with CFI enabled, which is llvm.org/pr48993.
Differential Revision: https://reviews.llvm.org/D95827
|
 | libcxx/include/memory |
Commit
29fffff8d36ab722345c8697ec67c778c315faa7
by joker.ephRevert "Fix namespace for MLIR Async Runtime"
This reverts commit b7d80058ff4649d1a15ef930269458dbb17145d9.
The mlir-windows buildbot is broken.
|
 | mlir/include/mlir/ExecutionEngine/AsyncRuntime.h |
 | mlir/lib/ExecutionEngine/AsyncRuntime.cpp |
Commit
3fb83853791cabd08fbc6cd35ed2b82c0ffcc2d6
by Louis Dionne[libc++] Add new queues for specific macOS system versions
This will allow running back-deployment testing on macOS only on systems running the right version of macOS. For the time being, we're cheating because we don't have actual machines running older than 10.15.
|
 | libcxx/utils/ci/buildkite-pipeline.yml |
 | libcxx/utils/ci/macos-ci-setup |
Commit
0c71c914faa371ba502a2e1835f763104837cb9f
by martin[libcxx] Implement the current_path function for windows
Differential Revision: https://reviews.llvm.org/D91169
|
 | libcxx/src/filesystem/posix_compat.h |
 | libcxx/src/filesystem/operations.cpp |
Commit
83d705adb2e043e576c9cbaf9709795bc69fe5cf
by martin[libcxx] Implement the canonical function for windows
Differential Revision: https://reviews.llvm.org/D91170
|
 | libcxx/src/filesystem/operations.cpp |
 | libcxx/src/filesystem/posix_compat.h |
Commit
d8e90716dfd186943359c7ade83cc2d1d247f140
by flo[ConstraintElimination] Skip pointer casts.
We should be able to look through pointer casts that do not impact the value.
|
 | llvm/test/Transforms/ConstraintElimination/pointercast.ll |
 | llvm/lib/Transforms/Scalar/ConstraintElimination.cpp |
Commit
e1a4322f8136788228d915a7384c5679b39dfeed
by jianzhouzh[dfsan] Clean TLS after sigaction callbacks
DFSan uses TLS to pass metadata of arguments and return values. When an instrumented function accesses the TLS, if a signal callback happens, and the callback calls other instrumented functions with updating the same TLS, the TLS is in an inconsistent state after the callback ends. This may cause either under-tainting or over-tainting.
This fix follows MSan's workaround. https://github.com/llvm/llvm-project/commit/cb22c67a21e4b5e1ade65141117a70be318be072 It simply resets TLS at restore. This prevents from over-tainting. Although under-tainting may still happen, a taint flow can be found eventually if we run a DFSan-instrumented program multiple times. The alternative option is saving the entire TLS. However the TLS storage takes 2k bytes, and signal calls could be nested. So it does not seem worth.
This diff fixes sigaction. A following diff will be fixing signal.
Reviewed-by: morehouse
Differential Revision: https://reviews.llvm.org/D95642
|
 | compiler-rt/test/dfsan/sigaction.c |
 | compiler-rt/test/dfsan/sigaction_stress_test.c |
 | compiler-rt/lib/dfsan/dfsan_custom.cpp |
 | compiler-rt/lib/dfsan/dfsan.h |
 | compiler-rt/test/dfsan/custom.cpp |
 | compiler-rt/lib/dfsan/dfsan.cpp |
Commit
32e98f05fe108e7b25dcf2031c499b96a1436e1d
by richardDiagnose if a SLEB128 is too large to fit in an int64_t.
Previously we'd hit UB due to an invalid left shift operand.
Also fix the WASM emitter to properly use SLEB128 encoding instead of ULEB128 encoding for signed fields so that negative numbers don't result in overly-large values that we can't read back any more.
In passing, don't diagnose a non-canonical ULEB128 that fits in a uint64_t but has redundant trailing zero bytes.
Reviewed By: dblaikie, aardappel
Differential Revision: https://reviews.llvm.org/D95510
|
 | llvm/include/llvm/Support/LEB128.h |
 | llvm/unittests/Support/LEB128Test.cpp |
 | llvm/lib/ObjectYAML/WasmEmitter.cpp |
Commit
9dc06762470cb5a6cde8de5833cb75262e1bacb0
by 31459023+hctim[GWP-ASan] Add aligned allocations.
Adds a new allocation API to GWP-ASan that handles size+alignment restrictions.
Differential Revision: https://reviews.llvm.org/D94830
|
 | compiler-rt/lib/gwp_asan/guarded_pool_allocator.h |
 | compiler-rt/lib/gwp_asan/utilities.cpp |
 | compiler-rt/lib/gwp_asan/utilities.h |
 | compiler-rt/lib/gwp_asan/guarded_pool_allocator.cpp |
 | compiler-rt/lib/gwp_asan/tests/basic.cpp |
 | compiler-rt/lib/gwp_asan/tests/alignment.cpp |
 | compiler-rt/lib/gwp_asan/common.h |
 | compiler-rt/lib/gwp_asan/CMakeLists.txt |
 | compiler-rt/lib/gwp_asan/tests/crash_handler_api.cpp |
 | compiler-rt/lib/gwp_asan/options.inc |
 | compiler-rt/lib/gwp_asan/common.cpp |
 | compiler-rt/lib/gwp_asan/crash_handler.cpp |
Commit
30973f6fe01cc0a9624147466f0c54b91a1b61d7
by 31459023+hctim[GWP-ASan] Add locking around unwinder for atfork protection.
Unwinders (like libc's backtrace()) can call their own locks (like the libdl lock). We need to let the unwinder release the locks before forking. Wrap a new lock around the unwinder for atfork protection.
Reviewed By: eugenis
Differential Revision: https://reviews.llvm.org/D95889
|
 | compiler-rt/lib/gwp_asan/guarded_pool_allocator.h |
 | compiler-rt/lib/gwp_asan/guarded_pool_allocator.cpp |
Commit
0dcf3324cfb4429e85b54e857f9bb86f423ffc5e
by 31459023+hctimRevert "[GWP-ASan] Add aligned allocations."
This reverts commit 9dc06762470cb5a6cde8de5833cb75262e1bacb0.
Should not have been committed, was a bad rebase. Review still continuing on D94830.
|
 | compiler-rt/lib/gwp_asan/common.h |
 | compiler-rt/lib/gwp_asan/crash_handler.cpp |
 | compiler-rt/lib/gwp_asan/CMakeLists.txt |
 | compiler-rt/lib/gwp_asan/tests/crash_handler_api.cpp |
 | compiler-rt/lib/gwp_asan/utilities.cpp |
 | compiler-rt/lib/gwp_asan/guarded_pool_allocator.cpp |
 | compiler-rt/lib/gwp_asan/guarded_pool_allocator.h |
 | compiler-rt/lib/gwp_asan/utilities.h |
 | compiler-rt/lib/gwp_asan/common.cpp |
 | compiler-rt/lib/gwp_asan/options.inc |
 | compiler-rt/lib/gwp_asan/tests/basic.cpp |
 | compiler-rt/lib/gwp_asan/tests/alignment.cpp |
Commit
4f58b1bd29747ff491148ef8e27bf310b7f07d97
by plotfi[AArch64] Homogeneous Prolog and Epilog Size Optimization
Second land attempt. MachineVerifier DefRegState expensive check errors fixed.
Prologs and epilogs handle callee-save registers and tend to be irregular with different immediate offsets that are not often handled by the MachineOutliner. Commit D18619/a5335647d5e8 (combining stack operations) stretched irregularity further.
This patch tries to emit homogeneous stores and loads with the same offset for prologs and epilogs respectively. We have observed that this canonicalizes (homogenizes) prologs and epilogs significantly and results in a greatly increased chance of outlining, resulting in a code size reduction.
Despite the above results, there are still size wins to be had that the MachineOutliner does not provide due to the special handling X30/LR. To handle the LR case, his patch custom-outlines prologs and epilogs in place. It does this by doing the following:
* Injects HOM_Prolog and HOM_Epilog pseudo instructions during a Prolog and Epilog Injection Pass. * Lowers and optimizes said pseudos in a AArchLowerHomogneousPrologEpilog Pass. * Outlined helpers are created on demand. Identical helpers are merged by the linker. * An opt-in flag is introduced to enable this feature. Another threshold flag is also introduced to control the aggressiveness of outlining for application's need.
This reduced an average of 4% of code size on LLVM-TestSuite/CTMark targeting arm64/-Oz.
Differential Revision: https://reviews.llvm.org/D76570
|
 | llvm/lib/Target/AArch64/AArch64TargetMachine.cpp |
 | llvm/lib/Target/AArch64/AArch64FrameLowering.cpp |
 | llvm/lib/Target/AArch64/AArch64LowerHomogeneousPrologEpilog.cpp |
 | llvm/test/CodeGen/AArch64/arm64-homogeneous-prolog-epilog-bad-outline.mir |
 | llvm/test/CodeGen/AArch64/arm64-homogeneous-prolog-epilog.ll |
 | llvm/lib/Target/AArch64/AArch64.h |
 | llvm/lib/Target/AArch64/AArch64FrameLowering.h |
 | llvm/lib/Target/AArch64/CMakeLists.txt |
 | llvm/test/CodeGen/AArch64/arm64-homogeneous-prolog-epilog-frame-tail.ll |
 | llvm/lib/Target/AArch64/AArch64InstrInfo.td |
 | llvm/test/CodeGen/AArch64/arm64-homogeneous-prolog-epilog-no-helper.ll |
Commit
2569ab4deb400206fc6c1347a3fab0e042860b82
by llvmgnsyncbot[gn build] Port 4f58b1bd2974
|
 | llvm/utils/gn/secondary/llvm/lib/Target/AArch64/BUILD.gn |
Commit
dd4dbad87bd0cf67760a5786d760efdee41b20b0
by aeubanks[test][NewPM] Pin various tests to the legacy PM
tut-simplify-cfg hasn't been ported to the new PM. llvm-lto2's -enable-new-pm defaults to the CMake flag, so the legacy PM extension test needs to be pinned.
Reviewed By: MaskRay, ychen
Differential Revision: https://reviews.llvm.org/D95898
|
 | llvm/test/Examples/IRTransforms/SimplifyCFG/tut-simplify-cfg-blockaddress.ll |
 | llvm/test/Examples/IRTransforms/SimplifyCFG/tut-simplify-cfg5-del-phis-for-dead-block.ll |
 | llvm/test/Examples/IRTransforms/SimplifyCFG/tut-simplify-cfg4-multiple-duplicate-cfg-updates.ll |
 | llvm/test/Examples/IRTransforms/SimplifyCFG/tut-simplify-cfg6-dead-self-loop.ll |
 | llvm/test/Examples/IRTransforms/SimplifyCFG/tut-simplify-cfg3-phis.ll |
 | llvm/test/Examples/IRTransforms/SimplifyCFG/tut-simplify-cfg2-dead-block-order.ll |
 | llvm/test/Feature/load_extension.ll |
 | llvm/test/Examples/IRTransforms/SimplifyCFG/tut-simplify-cfg1.ll |
Commit
efc5926c20602cb40b86e8c592014103224994e9
by pklausler[flang] Add TypeAndShape::MeasureElementSizeInBytes()
Split up MeasureSizeInBytes() so that array element sizes can be calculated accurately; use the new API in some places where DynamicType::MeasureSizeInBytes() was being used but the new API performs better due to TypeAndShape having precise CHARACTER length information.
Differential Revision: https://reviews.llvm.org/D95897
|
 | flang/lib/Evaluate/shape.cpp |
 | flang/lib/Evaluate/fold-integer.cpp |
 | flang/include/flang/Evaluate/characteristics.h |
 | flang/lib/Evaluate/characteristics.cpp |
 | flang/lib/Semantics/compute-offsets.cpp |
Commit
eec87db2a66dcc52ce8c89433631a6a2867fd508
by i[FileCheck] Make --allow-unused-prefixes cl::ZeroOrMore
cl::ZeroOrMore allows the option to be specified multiple times, which makes downstream projects possible to specify a default value in lit configuration while some tests can override the value.
|
 | llvm/test/FileCheck/allow-unused-prefixes.txt |
 | llvm/utils/FileCheck/FileCheck.cpp |
Commit
cf5c517c05e056ab083770b8baed1897b5fcac10
by diego.caballero[mlir][Vector] Add lowering to LLVM for vector.bitcast
Add the conversion pattern for vector.bitcast to lower it to the LLVM Dialect.
Reviewed By: ThomasRaoux, aartbik
Differential Revision: https://reviews.llvm.org/D95579
|
 | mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir |
 | mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp |
Commit
5b7619c90b1c0cfc7f5e67053dc55dca56afbf43
by antiagainst[mlir] Fix scf.for single iteration canonicalization check
We should be check whether lb + step >= ub to determine whether this is a single iteration. Previously we were checking lb + lb >= ub.
Reviewed By: ftynse
Differential Revision: https://reviews.llvm.org/D95440
|
 | mlir/test/Dialect/SCF/canonicalize.mlir |
 | mlir/lib/Dialect/SCF/SCF.cpp |
 | mlir/test/Dialect/Linalg/fusion.mlir |
Commit
2668714747c5a35fcdce45fb2d09d73fa4a46134
by sivachandra[libc] Add hardware implementations of ceil and ceilf for aarch64.
This change also introduces a new source layout for adding machine specific and generic implementations. To keep the scope of this change small, this new pattern is only applied for ceil, ceilf and ceill. Follow up changes will switch all math functions in to the new pattern.
Reviewed By: lntue
Differential Revision: https://reviews.llvm.org/D95850
|
 | libc/src/math/generic/CMakeLists.txt |
 | libc/test/src/math/CMakeLists.txt |
 | libc/src/math/ceil.cpp |
 | libc/src/math/ceill.cpp |
 | libc/src/math/aarch64/ceil.cpp |
 | libc/src/math/aarch64/CMakeLists.txt |
 | libc/src/math/generic/ceilf.cpp |
 | libc/src/math/generic/ceill.cpp |
 | libc/test/src/math/generic/CMakeLists.txt |
 | libc/src/math/CMakeLists.txt |
 | libc/src/math/aarch64/ceilf.cpp |
 | libc/src/math/generic/ceil.cpp |
 | libc/src/math/ceilf.cpp |
Commit
02d4b365bf4f8c2cb56e5612902f6c3bb4316493
by Jessica Paquette[GlobalISel] Check if branches use the same MBB in matchOptBrCondByInvertingCond
If the G_BR + G_BRCOND in this combine use the same MBB, then it will infinite loop. Don't allow that to happen.
Differential Revision: https://reviews.llvm.org/D95895
|
 | llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp |
 | llvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-br.mir |
Commit
1e377a273f59375d8e6a424f66f069b3adfa1ca4
by Matthew.ArsenaultAMDGPU: Don't consider global pressure when bundling soft clauses
This should only consider whether the pressure impact of the bundle at the given point in the program will decrease the occupancy. High VGPR pressure was incorrectly blocking the formation of scalar bundles, and vice versa. This was also blocking bundling from high pressure situations at other points in the program.
|
 | llvm/test/CodeGen/AMDGPU/soft-clause-bundle-local-pressure.mir |
 | llvm/lib/Target/AMDGPU/SIFormMemoryClauses.cpp |
 | llvm/lib/Target/AMDGPU/GCNRegPressure.h |
Commit
af2cbe8effcade9913c0f2cff295f664f185df54
by Matthew.ArsenaultAMDGPU: Fix adding extra operands for i128 asm constraints
We don't register i128 as a legal type with addRegisterClass, but it appears in the list of legal register types. This inconsistency resulted in the asm constraint lowering trying to use 2 128-bit registers for these operands. This would leave behind a dead def that would waste registers.
Regresses GlobalISel tests for i128 load/store, but these aren't very important right now. Ideally these would not depend on the list of register types.
|
 | llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-load-local-128.mir |
 | llvm/test/CodeGen/AMDGPU/inline-asm.i128.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-load-flat.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-store-flat.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-store-global.mir |
 | llvm/lib/Target/AMDGPU/SIRegisterInfo.td |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-load-global.mir |
Commit
608ee55a317f9f7307c90c720c3ab019926cdb49
by medismail.bennani[lldb/test] Stop recording fundamental return types (NFC)
It seems that recording fundamental return type is bogus.
This can trigger asserts when running a test with reproducers so this patch updates the `SBTarget::IsLoaded` test to stop recording them.
Differential Revision: https://reviews.llvm.org/D95686
Signed-off-by: Med Ismail Bennani <medismail.bennani@gmail.com>
|
 | lldb/source/API/SBTarget.cpp |
Commit
b0869a7d72f121b77d48d6496c6c3f00dd4731da
by czhengsz[PowerPC] [NFC] fix wording typos
Post commit comments address for D92071.
|
 | llvm/lib/Target/PowerPC/PPCInstrInfo.cpp |
Commit
8178a55b25704e150edf4c595a4283bc757c8fb8
by nullptr.cpp[VFS] Fix Wreturn-type gcc warning (NFC)
GCC warning: ``` In file included from /llvm-project/llvm/lib/Support/VirtualFileSystem.cpp:13: /llvm-project/llvm/include/llvm/Support/VirtualFileSystem.h: In static member function ‘static bool llvm::vfs::RedirectingFileSystem::RemapEntry::classof(const llvm::vfs::RedirectingFileSystem::Entry*)’: /llvm-project/llvm/include/llvm/Support/VirtualFileSystem.h:681:5: warning: control reaches end of non-void function [-Wreturn-type] 681 | } | ^ ```
|
 | llvm/include/llvm/Support/VirtualFileSystem.h |
Commit
fb7c36636ded085e87daa4010f1dfc73a748c794
by i[yaml2obj][wasm] Support numeric relocation type
Differential Revision: https://reviews.llvm.org/D95661
|
 | llvm/lib/ObjectYAML/WasmYAML.cpp |
 | llvm/test/ObjectYAML/wasm/event_section.yaml |
Commit
ad50c8633321a2a76b6e49daf57c7eaea4494536
by nullptr.cpp[clang-format] Fix MSVC "unsafe use of type 'bool' in operation" warning (NFC)
MSVC warning: ``` \llvm-project\clang\lib\Format\BreakableToken.cpp(1002): warning C4804: '-': unsafe use of type 'bool' in operation ```
|
 | clang/lib/Format/BreakableToken.cpp |
Commit
c90c261e44e7251163602f5e0dab10c8a374a90c
by nullptr.cpp[CSSPGO] Fix MSVC initializing truncation warning (NFC)
MSVC warning: ``` \llvm-project\llvm\include\llvm\Transforms\IPO\SampleProfileProbe.h(65): warning C4305: 'initializing': truncation from 'double' to 'const float' ```
|
 | llvm/include/llvm/Transforms/IPO/SampleProfileProbe.h |
Commit
de305b04257d01fc08bb27a20f1cfe586e1c0379
by serguei.katkov[Statepoint] Handle 'undef' operand tied to def
FixupStatepoints pass does not take into account the undef use it skips may have a tied def. So when defs are handled pass considers that tied-use should be spilled and triggers an assert.
FixupStatepoints should skip undef def as well.
Reviewers: reames, dantrushin Reviewed By: dantrushin Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D95858
|
 | llvm/lib/CodeGen/FixupStatepointCallerSaved.cpp |
 | llvm/test/CodeGen/X86/statepoint-fixup-undef-def.mir |
Commit
c97592c5df09850404a9ddbfb614c7df271d1dfe
by n.james93[clang-tidy] Fix crash in readability-identifier-naming check
`isParamInMainLikeFunction` didn't check if the function had an identifer name before calling getName() which could lead to an assert.
|
 | clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp |
Commit
3f568e1fbb4163cd7ddba3d0e9fff0d7415c38b2
by jianzhouzh[dfsan] Wrap memmove
Reviewed-by: morehouse
Differential Revision: https://reviews.llvm.org/D95883
|
 | compiler-rt/lib/dfsan/done_abilist.txt |
 | compiler-rt/lib/dfsan/dfsan_custom.cpp |
 | compiler-rt/test/dfsan/custom.cpp |
Commit
4454a9cd77e7481f6a2d75b4986fe7fbc364204d
by n.james93[NFC] Fix typo in comment
|
 | clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp |
Commit
98b71c53517f89017c765ac73259cb136f5e4955
by aeubanks[Docs] Update HowToSubmitABug
With the new PM imminent, bugpoint will diverge from opt, meaning it may not reproduce a crash with the same arguments passed to opt. We need to specify alternatives to bugpoint for reducing crashes.
I looked at the rest of the document to see if anything could be improved. Major highlights:
* Run -Xclang -disable-llvm-passes instead of -O0 for skipping IR passes * Mention the files that clang dumps on a crash * Remove outdated reference to `delta` and plug `creduce` instead * Mention llvm-reduce on top of bugpoint * Mention --print-before-all --print-module-scope * Mention sanitizers in addition to valgrind * Mention opt-bisect for miscompiles
Reviewed By: fhahn, MaskRay
Differential Revision: https://reviews.llvm.org/D95578
|
 | llvm/docs/HowToSubmitABug.rst |
Commit
c7189ba78578d029e0162720319de3c1c6fc348b
by kai.wang[RISCV] Add new vector instructions in v0.10.
* Add new vector instructions in v0.10. - load/store for mask value vle1.v vse1.v - vsetivli for 0-31 immediate vector length. * Rename vector instructions in v0.10. - vfrsqrte7 -> vfrsqrt7 - vfrece7 -> vfrec7 * Reserve memory width encodings for EEW>128b.
Differential Revision: https://reviews.llvm.org/D95781
|
 | llvm/lib/Target/RISCV/RISCVExpandPseudoInsts.cpp |
 | llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td |
 | llvm/test/CodeGen/RISCV/rvv/rv64-vsetvli-intrinsics.ll |
 | llvm/test/CodeGen/RISCV/vfrece7-rv32.ll |
 | llvm/test/CodeGen/RISCV/rvv/vse1-rv32.ll |
 | llvm/test/MC/RISCV/rvv/store.s |
 | llvm/test/CodeGen/RISCV/vfrece7-rv64.ll |
 | llvm/test/MC/RISCV/rvv/fothers.s |
 | llvm/test/MC/RISCV/rvv/load.s |
 | llvm/test/CodeGen/RISCV/rvv/vfrsqrt7-rv64.ll |
 | llvm/test/CodeGen/RISCV/rvv/vle1-rv32.ll |
 | llvm/test/CodeGen/RISCV/rvv/vle1-rv64.ll |
 | llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp |
 | llvm/test/MC/RISCV/rvv/zvlsseg.s |
 | llvm/test/CodeGen/RISCV/rvv/rv32-vsetvli-intrinsics.ll |
 | llvm/test/CodeGen/RISCV/vfrsqrte7-rv64.ll |
 | llvm/test/MC/RISCV/rvv/invalid.s |
 | llvm/include/llvm/IR/IntrinsicsRISCV.td |
 | llvm/lib/Target/RISCV/RISCVInstrFormatsV.td |
 | llvm/test/CodeGen/RISCV/rvv/vse1-rv64.ll |
 | llvm/test/MC/RISCV/rvv/vsetvl.s |
 | llvm/test/CodeGen/RISCV/rvv/cleanup-vsetivli.mir |
 | llvm/test/CodeGen/RISCV/vfrsqrte7-rv32.ll |
 | llvm/lib/Target/RISCV/RISCVInstrInfoV.td |
 | llvm/test/CodeGen/RISCV/rvv/vfrec7-rv64.ll |
 | llvm/test/CodeGen/RISCV/rvv/vfrec7-rv32.ll |
 | llvm/lib/Target/RISCV/RISCVCleanupVSETVLI.cpp |
 | llvm/test/CodeGen/RISCV/rvv/vfrsqrt7-rv32.ll |
Commit
fcf03e728007fa4aa1f64985a3a9bf91fd476d78
by Pushpinder.Singh[OpenMP] Add OpenMP offloading toolchain for AMDGPU
This patch adds AMDGPUOpenMPToolChain for supporting OpenMP offloading to AMD GPU's.
Originally authored by Greg Rodgers
Reviewed By: jdoerfert
Differential Revision: https://reviews.llvm.org/D94961
|
 | clang/lib/Driver/Driver.cpp |
 | clang/lib/Driver/ToolChains/AMDGPUOpenMP.cpp |
 | clang/test/Driver/amdgpu-openmp-toolchain.c |
 | clang/lib/Driver/CMakeLists.txt |
 | clang/lib/Driver/ToolChains/AMDGPU.h |
 | clang/lib/Driver/ToolChains/HIP.h |
 | clang/lib/Driver/ToolChains/AMDGPUOpenMP.h |
Commit
63baeec66e7fd07c2085eee42663fae2b05a9917
by kai.wang[RISCV] Load/store vector mask types.
Use vle1.v/vse1.v to load/store vector mask types.
Differential Revision: https://reviews.llvm.org/D93364
|
 | llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td |
 | llvm/test/CodeGen/RISCV/rvv/load-mask.ll |
Commit
b86e9c83a6d1eea6d78718051210ac7bbc04bc31
by llvmgnsyncbot[gn build] Port fcf03e728007
|
 | llvm/utils/gn/secondary/clang/lib/Driver/BUILD.gn |
Commit
c18231e3dda0c7bd82f3e8bbdc5d55d6ddf767ed
by kazu[CodeGen] Drop unnecessary const from return types (NFC)
Identified with const-return-type.
|
 | llvm/include/llvm/CodeGen/SelectionDAGNodes.h |
 | llvm/include/llvm/CodeGen/SelectionDAG.h |
Commit
dc3d5453bc5fcaeb321a195c7dccb6dc8639ff9f
by kazu[Transforms/Utils] Use range-based for loops (NFC)
|
 | llvm/lib/Transforms/Utils/CodeExtractor.cpp |
 | llvm/lib/Transforms/Utils/BasicBlockUtils.cpp |
 | llvm/lib/Transforms/Utils/SSAUpdater.cpp |
Commit
511c9a76fb98efda5019b4e6d07bea395ce1df78
by kazu[AsmPrinter] Use ListSeparator (NFC)
|
 | llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp |
 | llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp |
Commit
97ba5cde52664200819446c1a18de28faf2ed1c6
by phosek[InstrProfiling] Use !associated metadata for counters, data and values
C identifier name input sections such as __llvm_prf_* are GC roots so they cannot be discarded. In LLD, the SHF_LINK_ORDER flag overrides the C identifier name semantics.
The !associated metadata may be attached to a global object declaration with a single argument that references another global object, and it gets lowered to SHF_LINK_ORDER flag. When a function symbol is discarded by the linker, setting up !associated metadata allows linker to discard counters, data and values associated with that function symbol.
Note that !associated metadata is only supported by ELF, it does not have any effect on non-ELF targets.
Differential Revision: https://reviews.llvm.org/D76802
|
 | llvm/test/Transforms/PGOProfile/counter_promo.ll |
 | llvm/test/Instrumentation/InstrProfiling/icall.ll |
 | llvm/test/Instrumentation/InstrProfiling/linkage.ll |
 | compiler-rt/test/profile/CMakeLists.txt |
 | llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp |
 | llvm/test/Transforms/PGOProfile/counter_promo_mexits.ll |
 | compiler-rt/test/profile/instrprof-gc-sections.c |
 | clang/lib/CodeGen/BackendUtil.cpp |
 | llvm/include/llvm/Transforms/Instrumentation/InstrProfiling.h |
 | compiler-rt/test/CMakeLists.txt |
 | llvm/include/llvm/Transforms/Instrumentation.h |
 | llvm/test/Transforms/PGOProfile/associated.ll |
Commit
40117b700f723a27b90989a429ceb66c0873b161
by martin[libcxx] Implement the permissions function for windows
Differential Revision: https://reviews.llvm.org/D91171
|
 | libcxx/src/filesystem/operations.cpp |
 | libcxx/src/filesystem/posix_compat.h |
Commit
cdc60a3b9aa523b49329a7a5e4c1774d3b9e3db9
by martin[libcxx] Implement the read_symlink function for windows
Differential Revision: https://reviews.llvm.org/D91172
|
 | libcxx/src/filesystem/operations.cpp |
 | libcxx/src/filesystem/posix_compat.h |
Commit
08274d7d5db7c4dddc271b84239a01cd116e42b8
by sam.mccall[clang-include-fixer] Pre-reserve vector size. NFC
|
 | clang-tools-extra/clang-include-fixer/SymbolIndexManager.cpp |
Commit
fae6d129dac27fa8c98c1680ac79af7b453ec7af
by pengfei.wang[X86] Correct types in tablegen multiclasses found by D95874.
Reviewed By: craig.topper
Differential Revision: https://reviews.llvm.org/D95926
|
 | llvm/lib/Target/X86/X86InstrInfo.td |
 | llvm/lib/Target/X86/X86InstrSSE.td |
 | llvm/lib/Target/X86/X86InstrFMA.td |
 | llvm/lib/Target/X86/X86InstrAVX512.td |
 | llvm/lib/Target/X86/X86InstrFPStack.td |
 | llvm/include/llvm/Target/TargetSelectionDAG.td |
Commit
d4626eb0bd5b9331b2f62cadd726eca7c2e7890a
by david.sherwood[VPlan][NFC] Introduce constructors for VPIteration
This patch adds constructors to VPIteration as a cleaner way of initialising the struct and replaces existing constructions of the form:
{Part, Lane}
with
VPIteration(Part, Lane)
I have also added a default constructor, which is used by VPlan.cpp when deciding whether to replicate a block or not.
This refactoring will be required in a later patch that adds more members and functions to VPIteration.
Differential Revision: https://reviews.llvm.org/D95676
|
 | llvm/lib/Transforms/Vectorize/VPlan.h |
 | llvm/lib/Transforms/Vectorize/LoopVectorize.cpp |
 | llvm/lib/Transforms/Vectorize/VPlan.cpp |
Commit
369f7de3135a517a69c45084d4b175f7b0d5e6f5
by andre.simoesdiasvieira[LIBC] Add optimized memcpy routine for AArch64
This patch adds an optimized memcpy routine for AArch64 tuned and benchmarked on Neoverse-N1.
Differential Revision: https://reviews.llvm.org/D92235
|
 | libc/src/string/aarch64/CMakeLists.txt |
 | libc/src/string/CMakeLists.txt |
 | libc/src/string/aarch64/memcpy.cpp |
Commit
2cbcf3e297d1ca210118e21fca6c5e55e22f23be
by caroline.concatto[AArch64][SVE]Add cost model for broadcast shuffle
This patch adds a cost model for SK_Broadcast in AArch64TTIImpl::getShuffleCost with scalable vector. Without this patch, the scalable vector type relies on BasicTTIImpl cost implementation and assert.
Differential Revision: https://reviews.llvm.org/D95598
|
 | llvm/test/Analysis/CostModel/AArch64/sve-shuffle-broadcast.ll |
 | llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp |
Commit
d49efdc9696afee4b972c54bc3678b28c5700047
by sebastian.neubauerRevert "[AMDGPU] Add a new Clamp Pattern to the GlobalISel Path."
This reverts commits 62af0305b7cc..677a3529d3e6 from D93708. They cause failures in the sanitizer builds because of uninitialized values.
A fix is in D95878, but it might take some time until this is pushed, so reverting the changes for now.
|
 | llvm/lib/Target/AMDGPU/AMDGPUGISel.td |
 | llvm/lib/Target/AMDGPU/AMDGPUCombine.td |
 | llvm/lib/Target/AMDGPU/AMDGPUPreLegalizerCombiner.cpp |
 | llvm/lib/Target/AMDGPU/SIInstructions.td |
 | llvm/include/llvm/CodeGen/GlobalISel/MIPatternMatch.h |
 | llvm/lib/Target/AMDGPU/AMDGPUInstrInfo.td |
 | llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/combine-short-clamp.ll |
Commit
d38973aa4d6a2c8be97b9781ca7325ca3eb0c40d
by powerman1st[clang][AVR] Improve avr-ld command line options
Reviewed By: dylanmckay, MaskRay
Differential Revision: https://reviews.llvm.org/D93579
|
 | clang/test/Driver/avr-ld.c |
 | clang/lib/Driver/ToolChains/AVR.cpp |
Commit
9caf364d69db3cd0ce0fba99dba95dbc2b646fbc
by sven.vanhaastregt[OpenCL] Add cl_khr_subgroup_ballot to TableGen BIFs
Add the builtin functions brought by the cl_khr_subgroup_ballot extension to `-fdeclare-opencl-builtins`.
Also add placeholder comments for the other Extended Subgroup Functions from the OpenCL Extension Specification.
Add a comment clarifying the scope of the test.
Differential Revision: https://reviews.llvm.org/D95523
|
 | clang/lib/Sema/OpenCLBuiltins.td |
 | clang/test/SemaOpenCL/fdeclare-opencl-builtins.cl |
Commit
e6a62ac62571229d941dfe81affabdbc47e478eb
by sven.vanhaastregt[OpenCL] Add cl_khr_subgroup_non_uniform_vote to TableGen BIFs
Add the builtin functions brought by the cl_khr_subgroup_non_uniform_vote extension to `-fdeclare-opencl-builtins`.
|
 | clang/lib/Sema/OpenCLBuiltins.td |
Commit
5bc6e75386e71129d3cbdcae6486a244a5301d54
by praveen[Flang][OpenMP] Add semantic checks for invalid branches into or out of OpenMP constructs
OpenMP 4.5 - Check invalid branches into OpenMP strucutred blocks. Check invalid branches leaving OpenMP structured blocks.
Test cases : omp-do-cycle.f90, omp-invalid-branch.f90
Resolve related test cases marked as XFAIL
Reviewed By: kiranchandramohan
Differential Revision: https://reviews.llvm.org/D92735
|
 | flang/test/Semantics/omp-parallel02.f90 |
 | flang/lib/Semantics/check-directive-structure.h |
 | flang/test/Semantics/omp-simd01.f90 |
 | flang/test/Semantics/omp-do-cycle.f90 |
 | flang/test/Semantics/omp-parallell01.f90 |
 | flang/test/Semantics/omp-parallel01.f90 |
 | flang/lib/Semantics/resolve-directives.cpp |
 | flang/test/Semantics/omp-taskloop01.f90 |
 | flang/test/Semantics/omp-invalid-branch.f90 |
 | flang/test/Semantics/omp-taskloop02.f90 |
 | flang/test/Semantics/omp-parallell02.f90 |
 | flang/test/Semantics/omp-clause-validity01.f90 |
 | flang/lib/Semantics/check-omp-structure.cpp |
 | flang/test/Semantics/omp-do07.f90 |
 | flang/test/Semantics/omp-task01.f90 |
Commit
54afcade3bbcf4a085c8a8c3c22429921420e54d
by usx[clangd] Report xref for base methods.
See: https://github.com/clangd/clangd/issues/668
``` struct A { virtual void foo() = 0; }; struct B : A { void foo() override; }; ```
Find refs on `B::foo()` will show: - decls of `A::foo()` (new) - decls of `B::foo()` - refs to `A::foo()` (new) - refs to `B::foo()`.
Differential Revision: https://reviews.llvm.org/D95852
|
 | clang-tools-extra/clangd/XRefs.cpp |
 | clang-tools-extra/clangd/unittests/XRefsTests.cpp |
Commit
3fda262b7d7bdbf9db5b1d6602602733b4cf4f35
by powerman1st[clang][AVR][NFC] Fix a typo
Fix a typo in commit d38973aa4d6a2c8be97b9781ca7325ca3eb0c40d
|
 | clang/lib/Driver/ToolChains/AVR.cpp |
Commit
dd2dac2fd076b76e2897306ad8f95766ebddf6c3
by rengolinFix MLIR Async Runtime DLL on Windows
The AsyncRuntime declares prototypes for extern "C" functions inside a namespace in the header, but not inside that namespace in the definition. This causes Visual Studio to treat them as different entities and thus the dllexport is ignored for the definitions.
Using the same namespace fixes this issue.
Secondly, this commit moves the dllexport to be consistent with the JITs expectation.
This is an update to https://reviews.llvm.org/D95386 that fixes the compile issues in old versions of Visual studio.
Differential Revision: https://reviews.llvm.org/D95933
|
 | mlir/lib/ExecutionEngine/AsyncRuntime.cpp |
 | mlir/include/mlir/ExecutionEngine/AsyncRuntime.h |
Commit
e635feb15a91e6eeb77876031be2811e63d542f3
by anastasia.stulova[OpenCL] Fix address space in binding of initializer lists to referencs
Prevent materializing temporaries in the address space of the references they are bind to. The temporaries should always be in the same address space - private for OpenCL.
Tags: #clang
Differential Revision: https://reviews.llvm.org/D95608
|
 | clang/lib/Sema/SemaInit.cpp |
 | clang/test/CodeGenOpenCLCXX/addrspace-references.cl |
 | clang/test/SemaOpenCLCXX/address-space-references.cl |
Commit
e48f444751cf781c42934b242b81f549da77bad0
by vince.a.bridgers[Sema] Fix -Warray-bounds false negative when casting an out-of-bounds array item
Patch by Ilya Mirsky!
Fixes: http://llvm.org/PR44343
Reviewed By: rsmith
Differential Revision: https://reviews.llvm.org/D71714
|
 | clang/lib/Sema/SemaChecking.cpp |
 | clang/include/clang/Sema/Sema.h |
 | clang/test/Parser/cxx-ambig-decl-expr.cpp |
 | clang/test/SemaCXX/array-bounds.cpp |
Commit
7a45f27ba156e311bf1deaa42761ec08d8e34d05
by anastasia.stulova[OpenCL][Docs] Fix command line flag in the example.
Fixed incorrect example of clang command line with the builtin function declarations in OpenCLSupport.
Tags: #clang
|
 | clang/docs/OpenCLSupport.rst |
Commit
32b7c2fa42a2fe83f9754f219b3fe07fd1e03c4f
by llvm-dev[X86][SSE] Support variable-index float/double vector insertion on SSE41+ targets (PR47924)
Extends D95779 to permit insertion into float/doubles vectors while avoiding a lot of aliased memory traffic.
The scalar value is already on the simd unit, so we only need to transfer and splat the index value, then perform the select.
SSE4 codegen is a little bulky due to the tied register requirements of (non-VEX) BLENDPS/PD but the extra moves are cheap so shouldn't be an actual problem.
Differential Revision: https://reviews.llvm.org/D95866
|
 | llvm/lib/Target/X86/X86ISelLowering.cpp |
 | llvm/test/CodeGen/X86/insertelement-var-index.ll |
Commit
916c4121c10bc39b51754c3ac2483317568a4856
by spatel[LoopVectorize] add test for fake min/max; NFC
This goes with the dyn_cast fix: 0fa61304d247a61
That was made after noticing that the assert was over-reaching here: bbed5f2f8a ( D95690 )
|
 | llvm/test/Transforms/LoopVectorize/float-minmax-instruction-flag.ll |
Commit
9719f17011a2d5b4020eaaa04b6346c2d10db80c
by Matthew.ArsenaultAMDGPU: Move handling of allocation of fixed ABI inputs
For the fixed ABI, set this in the initial argument constructor, rather than relying on the allocation logic to set the values. Also stop passing them for amdgpu_gfx, since the DAG path seems to skip these. I'm unclear on what amdgpu_gfx's expectations are. This will allow moving the special input registers out of the normal argument range.
|
 | llvm/test/CodeGen/AMDGPU/amdpal-callable.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call.ll |
 | llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call-return-values.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-indirect-call.ll |
 | llvm/lib/Target/AMDGPU/AMDGPUCallLowering.cpp |
 | llvm/lib/Target/AMDGPU/SIISelLowering.cpp |
Commit
e59d336e75f4670b1a702c2281b3fed27ba4c426
by Abhina.Sreeskantharajan[test] Use host platform specific error message substitution in lit tests - continued
On z/OS, other error messages are not matched correctly in lit tests.
``` EDC5121I Invalid argument. EDC5111I Permission denied. ```
This patch adds a lit substitution to fix it.
Reviewed By: jhenderson
Differential Revision: https://reviews.llvm.org/D95808
|
 | llvm/docs/TestingGuide.rst |
 | llvm/test/tools/yaml2obj/ELF/DWARF/debug-gnu-pubnames.yaml |
 | clang/test/Analysis/taint-generic.c |
 | llvm/test/tools/llvm-ar/error-opening-permission.test |
 | clang/test/Format/style-on-command-line.cpp |
 | llvm/test/tools/llvm-elfabi/fail-file-write.test |
 | lld/test/ELF/lto/thinlto-emit-imports.ll |
 | llvm/utils/lit/lit/llvm/config.py |
 | lld/test/COFF/thinlto-emit-imports.ll |
 | lld/test/ELF/lto/resolution-err.ll |
 | lld/test/ELF/lto/thinlto-cant-write-index.ll |
Commit
06829034ca64b8c83a5b20d8abe5ddbfe7af0004
by aqjuneRevert "[ConstantFold] Fold more operations to poison"
This reverts commit 53040a968dc2ff20931661e55f05da2ef8b964a0 due to its bad interaction with select i1 -> and/or i1 transformation.
This fixes: https://bugs.llvm.org/show_bug.cgi?id=49005 https://bugs.llvm.org/show_bug.cgi?id=48435
|
 | llvm/test/Transforms/InstCombine/partally-redundant-left-shift-input-masking-after-truncation-variant-d.ll |
 | llvm/test/Transforms/SROA/phi-gep.ll |
 | llvm/test/Transforms/VectorCombine/X86/insert-binop-inseltpoison.ll |
 | llvm/test/Transforms/InstSimplify/ConstProp/vector-undef-elts.ll |
 | llvm/test/Transforms/InstSimplify/ConstProp/vscale-inseltpoison.ll |
 | clang/test/Frontend/fixed_point_unary.c |
 | llvm/test/Transforms/VectorCombine/X86/insert-binop-with-constant.ll |
 | llvm/test/Transforms/InstCombine/partally-redundant-left-shift-input-masking-variant-a.ll |
 | llvm/test/Transforms/InstSimplify/ConstProp/cast.ll |
 | llvm/test/Transforms/InstCombine/canonicalize-shl-lshr-to-masking.ll |
 | llvm/test/Transforms/InstCombine/partally-redundant-left-shift-input-masking-variant-d.ll |
 | llvm/test/Transforms/InstCombine/shift-add.ll |
 | llvm/test/Transforms/InstSimplify/ConstProp/InsertElement-inseltpoison.ll |
 | llvm/lib/IR/ConstantFold.cpp |
 | llvm/test/Transforms/InstSimplify/div.ll |
 | llvm/test/Transforms/InstCombine/partally-redundant-left-shift-input-masking-after-truncation-variant-b.ll |
 | llvm/test/Transforms/InstCombine/icmp.ll |
 | llvm/test/Transforms/InstSimplify/ConstProp/vector-undef-elts-inseltpoison.ll |
 | llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-fold-binop-select.ll |
 | llvm/test/Transforms/InstSimplify/ConstProp/poison.ll |
 | llvm/test/Transforms/InstCombine/partally-redundant-left-shift-input-masking-after-truncation-variant-c.ll |
 | llvm/test/Transforms/InstCombine/partally-redundant-left-shift-input-masking-variant-c.ll |
 | llvm/test/Transforms/InstSimplify/ConstProp/shift.ll |
 | llvm/test/Transforms/InstCombine/canonicalize-lshr-shl-to-masking.ll |
 | llvm/test/Transforms/InstSimplify/undef.ll |
 | llvm/test/Transforms/InstCombine/select-of-bittest.ll |
 | llvm/test/Transforms/InstSimplify/ConstProp/vscale.ll |
 | llvm/test/Transforms/InstCombine/partally-redundant-left-shift-input-masking-variant-e.ll |
 | llvm/test/Transforms/InstCombine/partally-redundant-left-shift-input-masking-after-truncation-variant-a.ll |
 | llvm/test/Transforms/InstCombine/shift-add-inseltpoison.ll |
 | llvm/unittests/IR/ConstantsTest.cpp |
 | llvm/test/Transforms/VectorCombine/X86/insert-binop.ll |
 | llvm/test/Transforms/InstCombine/partally-redundant-left-shift-input-masking-variant-b.ll |
 | llvm/test/Transforms/InstSimplify/ConstProp/InsertElement.ll |
 | llvm/test/Transforms/InstCombine/partally-redundant-left-shift-input-masking-after-truncation-variant-e.ll |
 | llvm/test/Transforms/SROA/select-gep.ll |
 | llvm/test/Transforms/InstSimplify/rem.ll |
 | llvm/test/Transforms/InstCombine/apint-shift.ll |
 | llvm/test/Transforms/InstCombine/canonicalize-ashr-shl-to-masking.ll |
Commit
26ec7853863842e05b5a25fadbf3ae1ffe1ae8f0
by jay.foad[AMDGPU] Fix multiclass template parameter types. NFC.
This fixes TableGen parser errors that will be reported when D95874 is applied.
Differential Revision: https://reviews.llvm.org/D95955
|
 | llvm/lib/Target/AMDGPU/VOPCInstructions.td |
Commit
be0bf04b19ffa380ef2f15fefa402ac1b6d29f03
by flo[ConstraintElimination] Add some tests with conds in loop header.
This patch adds a set of tests in which we can add the information from the pre-header to a loop header, but currently do not do so.
|
 | llvm/test/Transforms/ConstraintElimination/dom.ll |
 | llvm/test/Transforms/ConstraintElimination/loops.ll |
Commit
81b69879c946533c71cc484bd8d9202bf1e34bfe
by kevin.neal[FPEnv][X86] Platform builtins edition: clang should get from the AST the metadata for constrained FP builtins
Currently clang is not correctly retrieving from the AST the metadata for constrained FP builtins. This patch fixes that for the X86 specific builtins.
Differential Revision: https://reviews.llvm.org/D94614
|
 | clang/test/CodeGen/X86/fma-builtins-constrained.c |
 | clang/test/CodeGen/X86/avx-builtins-constrained-cmp.c |
 | clang/test/CodeGen/X86/avx512dq-builtins-constrained.c |
 | clang/lib/CodeGen/CGBuiltin.cpp |
 | clang/test/CodeGen/X86/avx512f-builtins-constrained.c |
 | clang/test/CodeGen/X86/sse-builtins-constrained.c |
Commit
34eb0adaa9cd76f5bb0549f5a32d6ef452fe977e
by pklausler[flang] Add -fsyntax-only to f18; retain -fparse-only synonym
Now that semantics is working, the standard -fsyntax-only option of GNU and Clang should be used as the name of the option that causes f18 to just run the front-end. Support both options in f18, silently accepting the old option as a synonym for the new one (as preferred by the code owner), and replace all instances of the old -fparse-only option with -fsyntax-only throughout the source base.
Differential Revision: https://reviews.llvm.org/D95887
|
 | flang/test/Semantics/offsets03.f90 |
 | flang/test/Semantics/getdefinition04.f90 |
 | flang/tools/f18/CMakeLists.txt |
 | flang/test/Semantics/getdefinition02.f |
 | flang/tools/f18-parse-demo/f18-parse-demo.cpp |
 | flang/test/Frontend/prescanner-diag.f90 |
 | flang/test/Semantics/offsets02.f90 |
 | flang/test/Semantics/missing_newline.f90 |
 | flang/test/Semantics/test_errors.sh |
 | flang/test/Semantics/empty.f90 |
 | flang/test/Semantics/getsymbols01.f90 |
 | flang/test/Semantics/oldparam03.f90 |
 | flang/test/Semantics/rewrite01.f90 |
 | flang/tools/f18/f18.cpp |
 | flang/test/Lower/pre-fir-tree01.f90 |
 | flang/test/Lower/pre-fir-tree04.f90 |
 | flang/test/Semantics/modifiable01.f90 |
 | flang/test/Semantics/getsymbols02.f90 |
 | flang/test/Flang-Driver/syntax-only.f90 |
 | flang/test/Semantics/oldparam02.f90 |
 | flang/test/Semantics/data08.f90 |
 | flang/test/Flang-Driver/parse-error.f95 |
 | flang/test/Semantics/oldparam01.f90 |
 | flang/test/Semantics/offsets01.f90 |
 | flang/test/Semantics/getsymbols04.f90 |
 | flang/test/Semantics/getdefinition01.f90 |
 | flang/test/Semantics/resolve100.f90 |
 | flang/test/Semantics/data05.f90 |
 | flang/test/Lower/pre-fir-tree02.f90 |
 | flang/test/Semantics/call17.f90 |
 | flang/test/Semantics/getdefinition05.f90 |
 | flang/test/Semantics/getsymbols05.f90 |
 | flang/test/Semantics/data09.f90 |
 | flang/docs/ImplementingASemanticCheck.md |
 | flang/docs/Overview.md |
 | flang/test/Evaluate/test_folding.sh |
 | flang/test/Semantics/test_modfile.sh |
 | flang/test/Semantics/final02.f90 |
 | flang/test/Lower/pre-fir-tree05.f90 |
 | flang/test/Semantics/getsymbols03-a.f90 |
 | flang/test/Semantics/mod-file-rewriter.f90 |
 | flang/test/Semantics/getdefinition03-a.f90 |
 | flang/test/Semantics/typeinfo01.f90 |
 | flang/test/Lower/pre-fir-tree03.f90 |
Commit
3562d253dacf06487bb563388fea613e49b0da14
by kparzysz[Hexagon] Add ELF flags for Hexagon V68
|
 | llvm/include/llvm/BinaryFormat/ELF.h |
Commit
93afc3452cd4ebdb145e309f4d82f82e2f496479
by jianzhouzh[dfsan] Clean TLS after signal callbacks
Similar to https://reviews.llvm.org/D95642, this diff fixes signal.
Reviewed-by: morehouse
Differential Revision: https://reviews.llvm.org/D95896
|
 | compiler-rt/lib/dfsan/done_abilist.txt |
 | compiler-rt/lib/dfsan/dfsan_custom.cpp |
 | compiler-rt/test/dfsan/custom.cpp |
Commit
4463e39d91c6c54e671f409ae6e170d67239c577
by SourabhSingh.Tomar[flang][NFCI] Relpace `LoopOp` Op with `DoLoopOp` Op in FIR Dialect
Part of upstreaming effort, PR: https://github.com/flang-compiler/f18-llvm-project/pull/296
Reviewed By: schweitz
Differential Revision: https://reviews.llvm.org/D95950
|
 | flang/lib/Optimizer/Dialect/FIROps.cpp |
 | flang/include/flang/Optimizer/Transforms/Passes.td |
 | flang/include/flang/Optimizer/Dialect/FIROps.h |
 | flang/lib/Lower/IO.cpp |
 | flang/include/flang/Optimizer/Dialect/FIROps.td |
 | flang/lib/Lower/DoLoopHelper.cpp |
Commit
ddc2f1e3fb4f8f9ae7dd130e40b60cfc775eba24
by jeremy.morse[DWARF] Location-less inlined variables should not have DW_TAG_variable
Discussed in this thread:
https://lists.llvm.org/pipermail/llvm-dev/2021-January/148139.html
DwarfDebug::collectEntityInfo accidentally distinguishes between variable locations that never have a location specified, and variable locations that have an empty location specified. The latter leads to the creation of an empty variable referring to the abstract origin.
Fix this by seeking a non-empty location before producing a concrete entity, to guarantee a DW_AT_location will be produced. Other loops in collectEntityInfo and endFunctionImpl take care of examining the retainedNodes collection and ensuring optimised-out variables are created.
Differential Revision: https://reviews.llvm.org/D95617
|
 | llvm/test/DebugInfo/NVPTX/debug-addr-class.ll |
 | llvm/include/llvm/CodeGen/DbgEntityHistoryCalculator.h |
 | llvm/test/DebugInfo/NVPTX/debug-info.ll |
 | llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp |
 | llvm/lib/CodeGen/AsmPrinter/DbgEntityHistoryCalculator.cpp |
 | llvm/test/DebugInfo/Generic/no-empty-child-vars.ll |
 | llvm/test/DebugInfo/NVPTX/debug-loc-offset.ll |
Commit
daaa0e35012758121be5e97389735b1b82feb38b
by flo[VPlan] Manage induction value creation using VPValues.
This patch updates the induction value creation to use VPValues of recipes to map the created values. This should bring is one step closer to being able to optimize induction recipes directly in VPlan.
Currently widenIntOrFpInduction also generates vector values for a cast of the induction, if it exists. Make this explicit by adding the cast instruction to the values defined by the recipe.
Reviewed By: gilr
Differential Revision: https://reviews.llvm.org/D92284
|
 | llvm/lib/Transforms/Vectorize/LoopVectorize.cpp |
 | llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp |
 | llvm/lib/Transforms/Vectorize/VPlan.cpp |
 | llvm/lib/Transforms/Vectorize/VPlan.h |
Commit
d32deaab4d5366569c96a5ef5f7e4d1b6201dedb
by jeremy.morseRevert "[DWARF] Location-less inlined variables should not have DW_TAG_variable"
This reverts commit ddc2f1e3fb4f8f9ae7dd130e40b60cfc775eba24.
A build-bot objected:
http://lab.llvm.org:8011/#builders/105/builds/5486
|
 | llvm/test/DebugInfo/Generic/no-empty-child-vars.ll |
 | llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp |
 | llvm/test/DebugInfo/NVPTX/debug-addr-class.ll |
 | llvm/test/DebugInfo/NVPTX/debug-info.ll |
 | llvm/include/llvm/CodeGen/DbgEntityHistoryCalculator.h |
 | llvm/lib/CodeGen/AsmPrinter/DbgEntityHistoryCalculator.cpp |
 | llvm/test/DebugInfo/NVPTX/debug-loc-offset.ll |
Commit
3c31b78455dac6e94ba182b02ecf2a58253b0811
by tianshilei1992[OpenMP] Fixed an issue that taskwait doesn't work on detachable task
D77609 mistakenly changed the bebavior of task waiting on detachable task that a detachable task is not waited, based on https://lists.llvm.org/pipermail/openmp-dev/2021-February/003836.html. This patch fixed it. Thank Raúl for the report.
Reviewed By: jdoerfert
Differential Revision: https://reviews.llvm.org/D95798
|
 | openmp/runtime/test/tasking/bug_taskwait_detach.cpp |
 | openmp/runtime/src/kmp_tasking.cpp |
Commit
f2879559ac11d88f1f9f043d4c0fec981ac2a9e6
by SourabhSingh.Tomar[flang] Enable FIR types and Dialect round trip tests
Reviewed By: schweitz, mehdi_amini
Differential Revision: https://reviews.llvm.org/D95958
|
 | flang/test/Fir/fir-ops.fir |
 | flang/test/Fir/fir-types.fir |
Commit
34da12dd1fb327bb56f5003a727a73c78929a98d
by craig.topper[DAGCombiner] Remove (sra (shl X, C), C) if X has more than C sign bits.
If sext_inreg is supported, we will turn this into sext_inreg. That will then remove it if there are enough sign bits. But if sext_inreg isn't supported, we can still remove the shift pair based on sign bits.
Split from D95890.
|
 | llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp |
 | llvm/test/CodeGen/Mips/atomic.ll |
Commit
6038d68bafa4d6d7e53a1e35952fbec9d06234fb
by Stanislav.Mekhanoshin[AMDGPU] Added -mcpu to couple more tests. NFC.
|
 | llvm/test/CodeGen/AMDGPU/skip-if-dead.ll |
 | llvm/test/CodeGen/AMDGPU/adjust-writemask-invalid-copy.ll |
Commit
477e3fe4f874b1c4d5896f3bfaf7b3b8a6d38103
by Matthew.ArsenaultRevert "AMDGPU: Don't consider global pressure when bundling soft clauses"
This reverts commit 1e377a273f59375d8e6a424f66f069b3adfa1ca4.
A regression was reported.
|
 | llvm/lib/Target/AMDGPU/GCNRegPressure.h |
 | llvm/test/CodeGen/AMDGPU/soft-clause-bundle-local-pressure.mir |
 | llvm/lib/Target/AMDGPU/SIFormMemoryClauses.cpp |
Commit
d81069e796f76abc3747af646c9b6176e4a91de7
by mcgrathr[scudo/standalone] Use zx_system_get_page_size() on Fuchsia
Fuchsia is migrating to a variable page size.
Reviewed By: hctim
Differential Revision: https://reviews.llvm.org/D95921
|
 | compiler-rt/lib/scudo/standalone/fuchsia.cpp |
Commit
09fe23a61c62da68ff776ec0b69cb9c7477c9ad5
by mcgrathr[gwp_asan] Use zx_system_get_page_size() on Fuchsia
Fuchsia is migrating to a variable page size.
Reviewed By: hctim
Differential Revision: https://reviews.llvm.org/D95920
|
 | compiler-rt/lib/gwp_asan/platform_specific/guarded_pool_allocator_fuchsia.cpp |
Commit
5580fa10dbda49199ddc553294c0d18e0d21373a
by Jonas Devlieghere[lldb] Fix debugserver-entitlements.plist path
|
 | lldb/tools/debugserver/source/CMakeLists.txt |
Commit
d886da042c65e7bac3dc77215abf2f29b6a87de6
by Matthew.ArsenaultRegisterCoalescer: Prune undef subranges from copy pairs in loops
If we had a pair of copies inside a loop which introduced new liveness to a subregister which was undef before the loop, we would have a dummy phi-only segment remaining across the loop body. Later, this false segment would confuse RenameIndependentSubregs causing it to introduce IMPLICIT_DEFs with broken value numbering.
It seems always adding the lanes to ShrinkMask is OK, so any conditions should be purely a compile time filter.
|
 | llvm/test/CodeGen/AMDGPU/loop-live-out-copy-undef-subrange.ll |
 | llvm/test/CodeGen/AMDGPU/coalesce-identity-copies-undef-subregs.mir |
 | llvm/lib/CodeGen/RegisterCoalescer.cpp |
Commit
163dcd851309d0bfbbbe0b7810335f30d88ee879
by jezng[lld-macho] Associate each Symbol with an InputFile
This makes our error messages more informative. But the bigger motivation is for LTO symbol resolution, which will be in an upcoming diff. The changes in this one are largely mechanical.
Reviewed By: #lld-macho, smeenai
Differential Revision: https://reviews.llvm.org/D94316
|
 | lld/MachO/ExportTrie.cpp |
 | lld/MachO/Driver.cpp |
 | lld/MachO/InputFiles.cpp |
 | lld/MachO/Symbols.cpp |
 | lld/MachO/Writer.cpp |
 | lld/test/MachO/invalid/abs-duplicate.s |
 | lld/test/MachO/invalid/duplicate-symbol.s |
 | lld/MachO/SymbolTable.h |
 | lld/MachO/Symbols.h |
 | lld/MachO/SymbolTable.cpp |
 | lld/MachO/SyntheticSections.cpp |
Commit
f843bb82c042f9e669135957bb5bd1c233c5c316
by jezng[lld-macho] Force-loading should share code path with regular archive loads
This extends {D92539} to work even when we are loading archive members via `-force_load`. I uncovered this issue while trying to force-load archives containing bitcode -- we were segfaulting.
In addition to fixing the `-force_load` case, this diff also addresses the behavior of `-ObjC` when LTO bitcode is involved -- we need to force-load those archive members if they contain ObjC categories.
Reviewed By: #lld-macho, smeenai
Differential Revision: https://reviews.llvm.org/D95265
|
 | lld/MachO/CMakeLists.txt |
 | lld/test/MachO/invalid/bad-archive-member.s |
 | lld/test/MachO/lto-archive.ll |
 | lld/MachO/InputFiles.cpp |
 | lld/test/MachO/invalid/bad-archive.s |
 | lld/MachO/Driver.h |
 | lld/MachO/Driver.cpp |
 | lld/MachO/DriverUtils.cpp |
Commit
4b2169fb6b3ce75e946806070debb9f0d38e415a
by jezng[lld-macho] Remove stray ehFrame change
Per https://reviews.llvm.org/D95121#inline-897943.
|
 | lld/MachO/Writer.cpp |
Commit
2d2e0000d31fb76f5201e3b40bc33790a1086450
by jezng[lld-macho] Rename VERSION CONTROL to VERSION TARGETING in helptext
Per https://reviews.llvm.org/D94938#inline-896740.
|
 | lld/MachO/Options.td |
Commit
15aa78abb6ca22294e72767d5ed2aea0b1cf23f9
by mcgrathr[sanitizer_common] Use zx_system_get_page_size() on Fuchsia
Fuchsia is migrating to a variable page size.
Reviewed By: phosek, charco
Differential Revision: https://reviews.llvm.org/D95919
|
 | compiler-rt/lib/sanitizer_common/sanitizer_fuchsia.cpp |
 | compiler-rt/lib/asan/asan_fuchsia.cpp |
Commit
bbb7555403855f5c2a61d62ae59f1e970ea37ec1
by sivachandra[libc][NFC] Move generic math implementations to the generic directory.
This expands the pattern suggest in https://reviews.llvm.org/D95850 to all math functions.
|
 | libc/src/math/generic/ilogbf.cpp |
 | libc/src/math/generic/llrintl.cpp |
 | libc/src/math/generic/copysignl.cpp |
 | libc/src/math/frexpl.cpp |
 | libc/src/math/generic/CMakeLists.txt |
 | libc/src/math/sinf.cpp |
 | libc/src/math/fabs.cpp |
 | libc/src/math/ldexpl.cpp |
 | libc/src/math/generic/ilogb.cpp |
 | libc/src/math/nextafter.cpp |
 | libc/src/math/truncf.cpp |
 | libc/src/math/lrintf.cpp |
 | libc/src/math/expf.cpp |
 | libc/src/math/generic/fdim.cpp |
 | libc/src/math/sincosf.cpp |
 | libc/src/math/roundf.cpp |
 | libc/src/math/generic/exp2f.cpp |
 | libc/src/math/generic/lround.cpp |
 | libc/src/math/generic/rint.cpp |
 | libc/src/math/generic/floorl.cpp |
 | libc/src/math/generic/fabs.cpp |
 | libc/src/math/generic/lrintl.cpp |
 | libc/src/math/copysign.cpp |
 | libc/src/math/generic/fdiml.cpp |
 | libc/src/math/generic/nextafter.cpp |
 | libc/src/math/llrintl.cpp |
 | libc/src/math/remquo.cpp |
 | libc/src/math/generic/nearbyint.cpp |
 | libc/src/math/generic/expf.cpp |
 | libc/src/math/generic/exp_utils.cpp |
 | libc/src/math/ldexpf.cpp |
 | libc/src/math/generic/copysignf.cpp |
 | libc/src/math/generic/logbf.cpp |
 | libc/src/math/generic/modff.cpp |
 | libc/src/math/ldexp.cpp |
 | libc/src/math/generic/nearbyintl.cpp |
 | libc/src/math/generic/remainder.cpp |
 | libc/src/math/modff.cpp |
 | libc/src/math/ilogbf.cpp |
 | libc/src/math/copysignf.cpp |
 | libc/src/math/generic/ldexp.cpp |
 | libc/src/math/remainder.cpp |
 | libc/src/math/sincosf_data.cpp |
 | libc/src/math/generic/llrintf.cpp |
 | libc/src/math/generic/fmaxf.cpp |
 | libc/src/math/generic/logb.cpp |
 | libc/src/math/generic/roundf.cpp |
 | libc/src/math/fdiml.cpp |
 | libc/src/math/generic/llroundl.cpp |
 | libc/src/math/generic/math_utils.h |
 | libc/src/math/generic/truncl.cpp |
 | libc/src/math/generic/fminl.cpp |
 | libc/src/math/generic/hypotf.cpp |
 | libc/src/math/logbl.cpp |
 | libc/src/math/generic/rintl.cpp |
 | libc/src/math/CMakeLists.txt |
 | libc/src/math/generic/fmaf.cpp |
 | libc/src/math/fmaxl.cpp |
 | libc/src/math/generic/sinf.cpp |
 | libc/src/math/generic/modf.cpp |
 | libc/src/math/generic/remquof.cpp |
 | libc/src/math/math_utils.h |
 | libc/src/math/floorf.cpp |
 | libc/src/math/generic/fmin.cpp |
 | libc/src/math/exp2f.cpp |
 | libc/src/math/generic/fmaxl.cpp |
 | libc/src/math/generic/math_utils.cpp |
 | libc/src/math/rintf.cpp |
 | libc/src/math/generic/trunc.cpp |
 | libc/src/math/generic/sincosf_data.cpp |
 | libc/src/math/round.cpp |
 | libc/src/math/fabsl.cpp |
 | libc/src/math/generic/remquol.cpp |
 | libc/src/math/fmaxf.cpp |
 | libc/src/math/math_utils.cpp |
 | libc/src/math/llround.cpp |
 | libc/src/math/generic/fabsl.cpp |
 | libc/src/math/generic/exp_utils.h |
 | libc/src/math/floor.cpp |
 | libc/src/math/fmin.cpp |
 | libc/src/math/frexpf.cpp |
 | libc/src/math/nearbyint.cpp |
 | libc/src/math/generic/sqrt.cpp |
 | libc/src/math/generic/fmax.cpp |
 | libc/src/math/ilogb.cpp |
 | libc/src/math/fdim.cpp |
 | libc/src/math/fmax.cpp |
 | libc/src/math/generic/floorf.cpp |
 | libc/src/math/generic/lrint.cpp |
 | libc/src/math/generic/truncf.cpp |
 | libc/src/math/generic/cosf.cpp |
 | libc/src/math/lroundl.cpp |
 | libc/src/math/fdimf.cpp |
 | libc/src/math/lrint.cpp |
 | libc/src/math/exp_utils.h |
 | libc/src/math/nextafterl.cpp |
 | libc/src/math/generic/modfl.cpp |
 | libc/src/math/modf.cpp |
 | libc/src/math/copysignl.cpp |
 | libc/src/math/roundl.cpp |
 | libc/src/math/sincosf_utils.h |
 | libc/src/math/fminf.cpp |
 | libc/src/math/sqrtl.cpp |
 | libc/src/math/remquol.cpp |
 | libc/src/math/generic/frexpf.cpp |
 | libc/src/math/llroundf.cpp |
 | libc/src/math/fabsf.cpp |
 | libc/src/math/llrintf.cpp |
 | libc/src/math/generic/remainderl.cpp |
 | libc/src/math/truncl.cpp |
 | libc/src/math/generic/ldexpl.cpp |
 | libc/src/math/modfl.cpp |
 | libc/src/math/sqrtf.cpp |
 | libc/src/math/generic/nextafterf.cpp |
 | libc/src/math/remainderl.cpp |
 | libc/src/math/generic/sincosf_utils.h |
 | libc/src/math/generic/lrintf.cpp |
 | libc/src/math/generic/fabsf.cpp |
 | libc/src/math/generic/remainderf.cpp |
 | libc/src/math/generic/roundl.cpp |
 | libc/src/math/hypotf.cpp |
 | libc/src/math/cosf.cpp |
 | libc/src/math/generic/frexpl.cpp |
 | libc/src/math/nearbyintl.cpp |
 | libc/src/math/generic/hypot.cpp |
 | libc/src/math/generic/fdimf.cpp |
 | libc/src/math/ilogbl.cpp |
 | libc/src/math/logb.cpp |
 | libc/src/math/generic/remquo.cpp |
 | libc/src/math/generic/ilogbl.cpp |
 | libc/src/math/generic/llround.cpp |
 | libc/src/math/remainderf.cpp |
 | libc/src/math/floorl.cpp |
 | libc/src/math/generic/ldexpf.cpp |
 | libc/src/math/trunc.cpp |
 | libc/src/math/exp_utils.cpp |
 | libc/src/math/generic/lroundf.cpp |
 | libc/src/math/remquof.cpp |
 | libc/src/math/generic/floor.cpp |
 | libc/src/math/nextafterf.cpp |
 | libc/src/math/llroundl.cpp |
 | libc/src/math/generic/llrint.cpp |
 | libc/src/math/generic/sqrtf.cpp |
 | libc/src/math/generic/frexp.cpp |
 | libc/src/math/nearbyintf.cpp |
 | libc/src/math/frexp.cpp |
 | libc/src/math/fmaf.cpp |
 | libc/src/math/generic/rintf.cpp |
 | libc/src/math/lrintl.cpp |
 | libc/src/math/generic/sincosf.cpp |
 | libc/src/math/generic/copysign.cpp |
 | libc/src/math/hypot.cpp |
 | libc/src/math/lroundf.cpp |
 | libc/src/math/rintl.cpp |
 | libc/src/math/sqrt.cpp |
 | libc/src/math/llrint.cpp |
 | libc/src/math/rint.cpp |
 | libc/src/math/generic/llroundf.cpp |
 | libc/src/math/generic/nearbyintf.cpp |
 | libc/src/math/logbf.cpp |
 | libc/src/math/generic/nextafterl.cpp |
 | libc/src/math/generic/fminf.cpp |
 | libc/src/math/fminl.cpp |
 | libc/src/math/lround.cpp |
 | libc/src/math/generic/logbl.cpp |
 | libc/src/math/generic/lroundl.cpp |
 | libc/src/math/generic/round.cpp |
 | libc/src/math/generic/sqrtl.cpp |
Commit
eb5c0a90e7d96325cfc537629bef769448eb9b71
by jianzhouzh[dfsan] Test IGN and DFL for sigaction
Reviewed-by: morehouse
Differential Revision: https://reviews.llvm.org/D95957
|
 | compiler-rt/test/dfsan/custom.cpp |
Commit
15f26c5f5191fd4cfdece0e9621efd395ba57bc8
by jianzhouzh[dfsan] Wrap strcat
Reviewed-by: morehouse
Differential Revision: https://reviews.llvm.org/D95923
|
 | compiler-rt/lib/dfsan/done_abilist.txt |
 | compiler-rt/test/dfsan/custom.cpp |
 | compiler-rt/lib/dfsan/dfsan_custom.cpp |
Commit
2018dafce50cbd1363fdd4e24c76e98852843a19
by psteinfeld[flang] Fix calls to LBOUND() intrinsic for arrays with lower bounds not 1
Constant folding for calls to LBOUND() was not working when the lower bound of a constant array was not 1.
I fixed this and re-enabled the test in Evaluate/folding16.f90 that previously was silently failing. I slightly changed the test to parenthesize the first argument to exercise all of the new code.
Differential Revision: https://reviews.llvm.org/D95894
|
 | flang/lib/Evaluate/fold-integer.cpp |
 | flang/test/Evaluate/folding16.f90 |
Commit
39fbb5c3e307ac06c7ca83aca8e3c76ed99b25f3
by Matthew.ArsenaultRegisterCoalescer: Fix not setting undef on coalesced subregister uses
This was only adding undef to the use if the copy itself had a subregister index. It did not consider the subrange liveness if the use had a subreg index to begin with.
|
 | llvm/lib/CodeGen/RegisterCoalescer.cpp |
 | llvm/test/CodeGen/AMDGPU/undef-subreg-use-after-coalesce.mir |
Commit
8a43ec7faa274257325823f312ca2e7657c79785
by csiggSet GPU context before {cu,hip}MemHostRegister.
Differential Revision: https://reviews.llvm.org/D95856
|
 | mlir/tools/mlir-rocm-runner/rocm-runtime-wrappers.cpp |
 | mlir/tools/mlir-cuda-runner/cuda-runtime-wrappers.cpp |
Commit
62ce4b048ff76adb4bb67a40aa28f69e0be26349
by Justin Bogner[GlobalISel] Combine narrowScalar of G_ADD and G_SUB. NFC
These two cases have identical implementations other than an unreachable part of `G_ADD` that checks if the scalar we're narrowing is a vector. Combining them to avoid unnecessary divergence.
|
 | llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp |
Commit
4a35941dbde63964240d30309e2b72d8be8fabb6
by csiggDelete CUDA context after linking device code.
Differential Revision: https://reviews.llvm.org/D95857
|
 | mlir/tools/mlir-cuda-runner/mlir-cuda-runner.cpp |
Commit
0b2af1a2889423bb797856841ac81cf10d01c696
by Yaxun.Liu[NFC][CUDA] Refactor registering device variable
Extract registering device variable to CUDA runtime codegen function since it will be called in multiple places.
Reviewed by: Artem Belevich
Differential Revision: https://reviews.llvm.org/D95558
|
 | clang/lib/CodeGen/CodeGenModule.cpp |
 | clang/lib/CodeGen/CGCUDANV.cpp |
 | clang/lib/CodeGen/CGCUDARuntime.h |
Commit
b8f13db5b7aa4245d96a07218298dcaa0ec93bb6
by xur[SampleFDO][NFC] Detach SampleProfileLoader from SampleCoverageTracker
This patch detaches SampleProfileLoader from class SampleCoverageTracker. We plan to move SampleProfileLoader to a template class. This would remain SampleCoverageTracker as a class. Also make callsiteIsHot() as a file static function.
Differential Revision: https://reviews.llvm.org/D95823
|
 | llvm/lib/Transforms/IPO/SampleProfile.cpp |
Commit
554cf3729e651b3b5416e081e63670fbe71cf91e
by fcloutier[clang-tblgen] AnnotateAttr::printPretty has spurious comma when no variadic argument is specified
rdar://73742471 Differential Revision: https://reviews.llvm.org/D95695
|
 | clang/utils/TableGen/ClangAttrEmitter.cpp |
 | clang/test/AST/ast-print-attr.c |
Commit
0bb198510210da2dc64b47e37a930ce62a04cd68
by kparzysz[Hexagon] Add LLVM instruction definitions for Hexagon V68
|
 | llvm/lib/Target/Hexagon/HexagonDepITypes.h |
 | llvm/include/llvm/IR/IntrinsicsHexagonDep.td |
 | llvm/lib/Target/Hexagon/HexagonDepIICHVX.td |
 | llvm/lib/Target/Hexagon/HexagonScheduleV68.td |
 | llvm/lib/Target/Hexagon/HexagonDepTimingClasses.h |
 | llvm/lib/Target/Hexagon/HexagonDepIICScalar.td |
 | llvm/lib/Target/Hexagon/HexagonDepMappings.td |
 | llvm/lib/Target/Hexagon/HexagonDepDecoders.inc |
 | llvm/lib/Target/Hexagon/HexagonDepMapAsm2Intrin.td |
 | llvm/lib/Target/Hexagon/HexagonSubtarget.h |
 | llvm/lib/Target/Hexagon/HexagonDepArch.td |
 | llvm/lib/Target/Hexagon/HexagonDepArch.h |
 | llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp |
 | llvm/lib/Target/Hexagon/HexagonDepInstrInfo.td |
 | llvm/lib/Target/Hexagon/HexagonDepOperands.td |
 | llvm/lib/Target/Hexagon/HexagonDepITypes.td |
 | llvm/lib/Target/Hexagon/HexagonSchedule.td |
 | llvm/lib/Target/Hexagon/HexagonDepMask.h |
 | llvm/lib/Target/Hexagon/Hexagon.td |
 | llvm/lib/Target/Hexagon/HexagonDepInstrFormats.td |
Commit
8d73bee4edc2b5029d20777a8d4c740ea782b691
by csigg[mlir] Add gpu async integration test.
Reviewed By: herhut
Differential Revision: https://reviews.llvm.org/D94421
|
 | mlir/lib/Conversion/GPUCommon/ConvertLaunchFuncToRuntimeCalls.cpp |
 | mlir/test/mlir-cuda-runner/async.mlir |
 | mlir/tools/mlir-cuda-runner/mlir-cuda-runner.cpp |
 | mlir/lib/Conversion/GPUCommon/CMakeLists.txt |
Commit
6b14c126884981bb4c2d767d2f2ea5f5864b5b39
by richardFix overflowing signed left shift, found by ubsan buildbot.
|
 | llvm/include/llvm/Support/LEB128.h |
Commit
9da05cf6ed16e8b8c0829d1fb34be3cdcad85d1c
by Vitaly Buka[asan] Fix pthread_create interceptor
AsanThread::Destroy implementation expected to be called on child thread.
I missed authors concern regarding this reviewing D95184.
Reviewed By: delcypher
Differential Revision: https://reviews.llvm.org/D95731
|
 | compiler-rt/lib/sanitizer_common/sanitizer_thread_registry.cpp |
 | compiler-rt/test/sanitizer_common/TestCases/Posix/create_thread_fail.cpp |
 | compiler-rt/lib/asan/asan_thread.cpp |
 | compiler-rt/lib/sanitizer_common/sanitizer_thread_registry.h |
Commit
f02054460137940d66559b0c4e675a86af23439a
by aeubanks[NewPM][HelloWorld] Move HelloWorld to Utils
To prevent creating a new component, which creates a new library.
Reviewed By: ychen
Differential Revision: https://reviews.llvm.org/D95907
|
 | llvm/utils/gn/secondary/llvm/lib/Transforms/HelloNew/BUILD.gn |
 | llvm/utils/gn/secondary/llvm/lib/Passes/BUILD.gn |
 | llvm/lib/Transforms/Utils/CMakeLists.txt |
 | llvm/docs/WritingAnLLVMNewPMPass.rst |
 | llvm/lib/Transforms/CMakeLists.txt |
 | llvm/lib/Passes/CMakeLists.txt |
 | llvm/lib/Transforms/HelloNew/HelloWorld.cpp |
 | llvm/include/llvm/Transforms/HelloNew/HelloWorld.h |
 | llvm/lib/Transforms/HelloNew/CMakeLists.txt |
 | llvm/lib/Passes/PassBuilder.cpp |
 | llvm/lib/Transforms/Utils/HelloWorld.cpp |
 | llvm/utils/gn/secondary/llvm/lib/Transforms/Utils/BUILD.gn |
 | llvm/include/llvm/Transforms/Utils/HelloWorld.h |
Commit
ea5b75de49999e0fa496fc855aa88e009956c999
by jezng[lld-macho] Try to fix Windows build
|
 | lld/MachO/Target.cpp |
Commit
9db61142965e6f4b382e7ff7bde8af5d8396fe98
by GeorgeLyonAdd API for adding arguments to blocks
This just exposes a missing API
Differential Revision: https://reviews.llvm.org/D95968
|
 | mlir/test/CAPI/ir.c |
 | mlir/include/mlir-c/IR.h |
 | mlir/lib/CAPI/IR/IR.cpp |
Commit
d41c6d51cbadbbd0f81c6ac0d6628d01b881e2a5
by arthur.j.odwyer[libc++] Rationalize our treatment of contiguous iterators and __unwrap_iter().
- Implement C++20's changes to `reverse_iterator`, so that it won't be accidentally counted as a contiguous iterator in C++20 mode. - Implement C++20's changes to `move_iterator` as well. - `move_iterator` should not be contiguous. This fixes a bug where we optimized `std::copy`-of-move-iterators in an observable way. Add a regression test for that bugfix. - Add libcxx tests for `__is_cpp17_contiguous_iterator` of all relevant standard iterator types. Particularly check that vector::iterator is still considered contiguous in all C++ modes, even C++03.
After this patch, there continues to be no supported way to write your own iterator type in C++17-and-earlier such that libc++ will consider it "contiguous"; however, we now fully support the C++20 approach (in C++20 mode only). If you want user-defined contiguous iterators in C++17-and-earlier, libc++'s position is "please upgrade to C++20."
Differential Revision: https://reviews.llvm.org/D94807
|
 | libcxx/include/iterator |
 | libcxx/test/std/algorithms/alg.modifying.operations/alg.move/contiguous_trivial_optimization.pass.cpp |
 | libcxx/test/support/test_iterators.h |
 | libcxx/test/libcxx/iterators/contiguous_iterators.pass.cpp |
 | libcxx/include/filesystem |
 | libcxx/include/algorithm |
 | libcxx/include/memory |
 | libcxx/test/std/iterators/predef.iterators/move.iterators/move.iterator/types.pass.cpp |
 | libcxx/include/__memory/pointer_traits.h |
 | libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iterator/types.pass.cpp |
 | libcxx/test/libcxx/iterators/trivial_iterators.pass.cpp |
Commit
4dc08cc3aa41a28ca6ec82bb9c7183048761aad5
by zequanwu[Coverage] Propogate counter to condition of conditional operator
Clang usually propagates counter mapping region for conditions of `if`, `while`, `for`, etc from parent counter. We should do the same for condition of conditional operator.
Differential Revision: https://reviews.llvm.org/D95918
|
 | clang/lib/CodeGen/CoverageMappingGen.cpp |
 | clang/test/CoverageMapping/macro-expressions.cpp |
 | clang/test/CoverageMapping/if.cpp |
Commit
98e50a7d4c12d2c32eb15e55cbb2e1f89a802e28
by Jonas Devlieghere[lldb] Honor the CPU type & subtype when launching on macOS
Honor the CPU type (and subtype) when launching the inferior on macOS.
Part of this functionality was thought to be no longer needed and removed in 85bd4369610fe60397455c8e0914a09288285e84, however it's still needed, for example to launch binaries under Rosetta 2 on Apple Silicon.
This patch will use posix_spawnattr_setarchpref_np if available and fallback to posix_spawnattr_setbinpref_np if not.
Differential revision: https://reviews.llvm.org/D95922
|
 | lldb/test/API/macosx/posix_spawn/arm64.c |
 | lldb/test/API/macosx/posix_spawn/x86_64.c |
 | lldb/test/API/macosx/posix_spawn/x86_64h.c |
 | lldb/source/Utility/ArchSpec.cpp |
 | lldb/test/API/macosx/posix_spawn/TestLaunchProcessPosixSpawn.py |
 | lldb/test/API/macosx/posix_spawn/Makefile |
 | lldb/source/Host/macosx/objcxx/Host.mm |
Commit
b3901ef09c74443c7d9deeb1c140ce6b0ea3f13c
by Jonas Devlieghere[lldb] Check for both Lua 5.3 and 5.4 error messages in the tests.
|
 | lldb/test/Shell/ScriptInterpreter/Lua/breakpoint_callback.test |
 | lldb/test/Shell/ScriptInterpreter/Lua/fail_breakpoint_oneline.test |
Commit
1a13ee1efb62c048c5a38090fe9e64a09df23c03
by Amara Emerson[GlobalISel] Add sext(constant) -> constant artifact combine.
This is the G_SEXT counterpart to the existing G_ZEXT/G_ANYEXT combines.
Differential Revision: https://reviews.llvm.org/D95729
|
 | llvm/test/CodeGen/X86/GlobalISel/legalize-ptr-add.mir |
 | llvm/include/llvm/CodeGen/GlobalISel/LegalizationArtifactCombiner.h |
 | llvm/test/CodeGen/AArch64/GlobalISel/legalize-extract-vector-elt.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-saddo.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ssubo.mir |
Commit
b15cbaf5a03d0b32dbc32c37766e32ccf66e6c87
by richardPR49020: Diagnose brace elision in designated initializers in C++.
This is a corner of the differences between C99 designators and C++20 designators that we'd previously overlooked. As with other such cases, this continues to be permitted as an extension and allowed by default, behind the -Wc99-designators warning flag, except in cases where it leads to a conformance difference (such as in overload resolution and in a SFINAE context).
|
 | clang/lib/Sema/SemaInit.cpp |
 | clang/test/SemaCXX/cxx2a-initializer-aggregates.cpp |
 | clang/include/clang/Basic/DiagnosticSemaKinds.td |
Commit
669ddd1e9b1226432b003dbba05b99f8e992285b
by aeubanksTurn on the new pass manager by default
This turns on the new pass manager by default for the optimization pipeline in Clang and ThinLTO in various LLD backends. This also makes uses of `opt -instcombine` use the new pass manager (unless specifically opted out).
This does not affect the backend target-dependent codegen pipeline.
If this causes regressions, you can opt out of the new pass manager either via the -DENABLE_EXPERIMENTAL_NEW_PASS_MANAGER=OFF CMake flag while building LLVM, or via various compiler flags, e.g. -flegacy-pass-manager for Clang or -Wl,--lto-legacy-pass-manager for ELF LLD. Please file bugs for any regressions.
Major differences: * The inliner works slightly differently * -O1 does some amount of inlining * LCSSA and LoopSimplify are run before all loop passes * Loop unswitching is implemented slightly differently * A new SpeculateAroundPHIs pass is added to the pipeline
https://lists.llvm.org/pipermail/llvm-dev/2021-January/148098.html
Reviewed By: asbirlea, ychen, MaskRay, echristo
Differential Revision: https://reviews.llvm.org/D95380
|
 | llvm/CMakeLists.txt |
Commit
b0a8e41cfff717ff067bf63412d6edb0280608cd
by floRevert "[LTOCodeGenerator] Use lto::Config for options (NFC)."
This reverts commit 0d487cf87aa1b609b7db061def3e5ad068576ecf because it is causing failures on green dragon.
|
 | llvm/include/llvm/LTO/legacy/LTOCodeGenerator.h |
 | llvm/lib/LTO/LTOCodeGenerator.cpp |
Commit
0a17664b47c153aa26a0d31b4835f26375440ec6
by floRevert "[LTO] Add option enable NewPM with LTOCodeGenerator."
This reverts commit 7a6a2cc81aaf064e6f5bc9a9a16973f552d2bdc2 because it is causing failures on green dragon.
|
 | llvm/test/Other/X86/lto-hot-cold-split.ll |
 | llvm/include/llvm/LTO/legacy/LTOCodeGenerator.h |
 | llvm/lib/LTO/LTOCodeGenerator.cpp |
 | llvm/tools/llvm-lto/llvm-lto.cpp |
 | llvm/test/LTO/X86/diagnostic-handler-remarks.ll |
 | llvm/test/LTO/X86/disable-verify.ll |
Commit
7db390cc7738a9ba0ed7d4ca59ab6ea2e69c47e9
by floRevert "[LTO] Use lto::backend for code generation."
This reverts commit 6a59f0560648b43324b5aed51b9ef996404a25e0, because it is causing failures on green dragon.
|
 | llvm/test/LTO/X86/disable-verify.ll |
 | llvm/lib/LTO/LTOCodeGenerator.cpp |
 | llvm/tools/llvm-lto/llvm-lto.cpp |
 | llvm/test/tools/lto/print-stats.ll |
 | llvm/include/llvm/LTO/legacy/LTOCodeGenerator.h |
Commit
1f06f41993b6363e6b2c4f22a13488a3e687f31b
by richardPR44325 (and duplicates): don't issue -Wzero-as-null-pointer-constant when rewriting 'a < b' as '(a <=> b) < 0'.
It's pretty common for comparison category types to use a pointer or pointer-to-member type as their '0' parameter.
|
 | clang/test/SemaCXX/cxx2a-three-way-comparison.cpp |
 | clang/lib/Sema/Sema.cpp |
Commit
c0199b2a21705747c999a59bfa77d7fc6e4500a5
by steveire[clang-tidy] Use new mapping matchers
Use mapAnyOf() and matchers based on it.
Use of binaryOperation() means that modernize-loop-convert and readability-container-size-empty can now be used with rewritten binary operators.
Differential Revision: https://reviews.llvm.org/D94131
|
 | clang-tools-extra/clang-tidy/cert/MutatingCopyCheck.cpp |
 | clang-tools-extra/clang-tidy/modernize/LoopConvertCheck.cpp |
 | clang-tools-extra/clang-tidy/bugprone/InfiniteLoopCheck.cpp |
 | clang-tools-extra/clang-tidy/bugprone/SpuriouslyWakeUpFunctionsCheck.cpp |
 | clang-tools-extra/test/clang-tidy/checkers/modernize-loop-convert-rewritten-binop.cpp |
 | clang-tools-extra/test/clang-tidy/checkers/readability-container-size-empty-cxx20.cpp |
 | clang-tools-extra/clang-tidy/performance/MoveConstArgCheck.cpp |
 | clang-tools-extra/clang-tidy/modernize/UseEqualsDefaultCheck.cpp |
 | clang-tools-extra/clang-tidy/readability/RedundantControlFlowCheck.cpp |
 | clang-tools-extra/clang-tidy/bugprone/UnhandledSelfAssignmentCheck.cpp |
 | clang-tools-extra/clang-tidy/bugprone/SuspiciousStringCompareCheck.cpp |
 | clang-tools-extra/clang-tidy/llvm/PreferIsaOrDynCastInConditionalsCheck.cpp |
 | clang-tools-extra/clang-tidy/readability/ContainerSizeEmptyCheck.cpp |
 | clang-tools-extra/clang-tidy/cppcoreguidelines/AvoidGotoCheck.cpp |
 | clang-tools-extra/clang-tidy/utils/DeclRefExprUtils.cpp |
 | clang-tools-extra/clang-tidy/bugprone/UseAfterMoveCheck.cpp |
Commit
26e9c99010b6870ee5c8ce998a84214e06f3f3a9
by akhuang[Docs] Add some documentation for constructor homing, a debug info optimization (-fuse-ctor-homing)
Adding this, since there's currently no documentation about this.
Differential Revision: https://reviews.llvm.org/D95911
|
 | clang/docs/UsersManual.rst |
Commit
493f1407927cdf6db2e08f150ed9f9b8abe4ac45
by arthur.j.odwyer[libc++] [P0879] constexpr std::sort
This completes libc++'s implementation of P0879 "Constexpr for swap and swap related functions." http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0879r0.html
For the feature-macro adjustment, see https://cplusplus.github.io/LWG/issue3256
Differential Revision: https://reviews.llvm.org/D93661
|
 | libcxx/test/std/language.support/support.limits/support.limits.general/algorithm.version.pass.cpp |
 | libcxx/test/std/language.support/support.limits/support.limits.general/version.version.pass.cpp |
 | libcxx/docs/Cxx2aStatusIssuesStatus.csv |
 | libcxx/docs/FeatureTestMacroTable.rst |
 | libcxx/include/version |
 | libcxx/test/std/algorithms/alg.sorting/alg.sort/sort/sort_constexpr.pass.cpp |
 | libcxx/test/std/algorithms/alg.sorting/alg.sort/sort/sort_constexpr_comp.pass.cpp |
 | libcxx/utils/generate_feature_test_macro_components.py |
 | libcxx/docs/Cxx2aStatusPaperStatus.csv |
 | libcxx/include/algorithm |
Commit
a1f6bb20db14ec72e2a01731dff222565eedb2ff
by Jessica Paquette[AArch64][GlobalISel] Emit G_ASSERT_ZEXT in assignValueToAddress for ZExt params
When we have a zeroext parameter coming in on the stack, build
``` %x = G_LOAD ... %x_assert_zext = G_ASSERT_ZEXT %x, narrow_size %trunc = G_TRUNC %x_assert_zext ```
Rather than just loading into the truncated type.
This allows us to optimize cases like this: https://godbolt.org/z/vfjhW8
Differential Revision: https://reviews.llvm.org/D95805
|
 | llvm/lib/Target/AArch64/GISel/AArch64CallLowering.cpp |
 | llvm/test/CodeGen/AArch64/GlobalISel/call-lowering-zeroext.ll |
Commit
b9953141439b460f4023c2d684b7f789bebfc885
by thakisRevert "[InstrProfiling] Use !associated metadata for counters, data and values"
This reverts commit 97ba5cde52664200819446c1a18de28faf2ed1c6. Still breaks tests: https://reviews.llvm.org/D76802#2540647
|
 | llvm/test/Transforms/PGOProfile/counter_promo.ll |
 | llvm/include/llvm/Transforms/Instrumentation.h |
 | llvm/include/llvm/Transforms/Instrumentation/InstrProfiling.h |
 | llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp |
 | llvm/test/Instrumentation/InstrProfiling/linkage.ll |
 | clang/lib/CodeGen/BackendUtil.cpp |
 | compiler-rt/test/CMakeLists.txt |
 | compiler-rt/test/profile/CMakeLists.txt |
 | llvm/test/Instrumentation/InstrProfiling/icall.ll |
 | compiler-rt/test/profile/instrprof-gc-sections.c |
 | llvm/test/Transforms/PGOProfile/associated.ll |
 | llvm/test/Transforms/PGOProfile/counter_promo_mexits.ll |
Commit
56fcd4ea8dafecbd71ff6eda7db6407d66505c93
by Jessica Paquette[AArch64][GlobalISel] Change store value type from p0 -> s64 to import patterns
Similar to the G_PTR_ADD + G_LOAD twiddling we do in `preISelLower`.
The imported patterns expect scalars only, so they can't handle things like
``` G_STORE %ptr1, %ptr2 ```
To get around this, use s64 instead.
(This probably makes a good portion of the manual selection code for G_STORE dead.)
This is a 0.2% geomean code size improvement on CTMark at -Os.
(Best is consumer-typeset @ -0.7%)
Differential Revision: https://reviews.llvm.org/D95908
|
 | llvm/test/CodeGen/AArch64/GlobalISel/select-store.mir |
 | llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp |
 | llvm/test/CodeGen/AArch64/GlobalISel/sext-inreg-ldrow-16b.mir |
 | llvm/test/CodeGen/AArch64/GlobalISel/store-addressing-modes.mir |
 | llvm/test/CodeGen/AArch64/GlobalISel/store-wro-addressing-modes.mir |
Commit
c82b24f4756e436b0d25b458e6c5a3fc1820d66e
by wlei[CSSPGO][llvm-profgen] Pseudo probe based CS profile generation
This change implements profile generation infra for pseudo probe in llvm-profgen. During virtual unwinding, the raw profile is extracted into range counter and branch counter and aggregated to sample counter map indexed by the call stack context. This change introduces the last step and produces the eventual profile. Specifically, the body of function sample is recorded by going through each probe among the range and callsite target sample is recorded by extracting the callsite probe from branch's source.
Please refer https://groups.google.com/g/llvm-dev/c/1p1rdYbL93s and https://reviews.llvm.org/D89707 for more context about CSSPGO and llvm-profgen.
**Implementation**
- Extended `PseudoProbeProfileGenerator` for pseudo probe based profile generation. - `populateBodySamplesWithProbes` reading range counter is responsible for recording function body samples and inferring caller's body samples. - `populateBoundarySamplesWithProbes` reading branch counter is responsible for recording call site target samples. - Each sample is recorded with its calling context(named `ContextId`). Remind that the probe based context key doesn't include the leaf frame probe info, so the `ContextId` string is created from two part: one from the probe stack strings' concatenation and other one from the leaf frame probe. - Added regression test
Test Plan:
ninja & ninja check-llvm
Differential Revision: https://reviews.llvm.org/D92998
|
 | llvm/test/tools/llvm-profgen/inline-cs-pseudoprobe.test |
 | llvm/test/tools/llvm-profgen/noinline-cs-pseudoprobe.test |
 | llvm/tools/llvm-profgen/PerfReader.cpp |
 | llvm/tools/llvm-profgen/ProfileGenerator.cpp |
 | llvm/tools/llvm-profgen/PseudoProbe.cpp |
 | llvm/tools/llvm-profgen/PseudoProbe.h |
 | llvm/tools/llvm-profgen/ProfileGenerator.h |
 | llvm/tools/llvm-profgen/ProfiledBinary.h |
Commit
e3bb1c80fe68110f6362af0413c04cd77a05fbac
by Jonas Devlieghere[lldb] Rollback to using i386 for the watch simulator
I switched the watch simulator test from i386 to using x86_64, but apparently that's not supported on the bots. Rollback to using i386 and solve the original issue by passing the target, similar to what I did in TestSimulatorPlatform.py.
|
 | lldb/test/API/tools/lldb-server/TestAppleSimulatorOSType.py |
Commit
26b5be66f9c540028136f4fb4538c5786104abb9
by llvm-project[OpenMPIRBuilder] Implement collapseLoops.
The collapseLoops method implements a transformations facilitating the implementation of the collapse-clause. It takes a list of loops from a loop nest and reduces it to a single loop that can be used by other methods that are implemented on just a single loop, such as createStaticWorkshareLoop.
This patch shares some changes with D92974 (such as adding some getters to CanonicalLoopNest), used by both patches.
Reviewed By: jdoerfert
Differential Revision: https://reviews.llvm.org/D93268
|
 | llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp |
 | llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp |
 | llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h |
Commit
0f0ce3c12edefd25448e39c4d20718a10d3d42c1
by tianshilei1992[OpenMP][NVPTX] Take functions in `deviceRTLs` as `convergent`
OpenMP device compiler (similar to other SPMD compilers) assumes that functions are convergent by default to avoid invalid transformations, such as the bug (https://bugs.llvm.org/show_bug.cgi?id=49021).
Reviewed By: jdoerfert
Differential Revision: https://reviews.llvm.org/D95971
|
 | clang/test/OpenMP/target_attribute_convergent.cpp |
 | openmp/libomptarget/test/offloading/bug49021.cpp |
 | clang/lib/Frontend/CompilerInvocation.cpp |
Commit
a1d5bdf8192fccf5dddeb3c18a187e9ffe2c2dbd
by joker.ephMake the folder more robust against op fold() methods that generate a type mismatch
We could extend this with an interface to allow dialect to perform a type conversion, but that would make the folder creating operation which isn't the case at the moment, and isn't necessarily always desirable.
Reviewed By: rriddle
Differential Revision: https://reviews.llvm.org/D95991
|
 | mlir/test/lib/Dialect/Test/TestDialect.cpp |
 | mlir/test/lib/Dialect/Test/TestOps.td |
 | mlir/lib/Transforms/Utils/FoldUtils.cpp |
 | mlir/test/Transforms/test-canonicalize.mlir |
Commit
c95c0db2eb687edb91afa628655bb5025f7e863b
by joker.eph[MLIR] Fix building unittests in in-tree build
Reviewed By: mehdi_amini
Differential Revision: https://reviews.llvm.org/D95978
|
 | mlir/CMakeLists.txt |
Commit
0609f257dc2e2c3e4c7cd30fe2ffd520117e706b
by wlei[CSSPGO][llvm-profgen] Compress recursive cycles in calling context
This change compresses the context string by removing cycles due to recursive function for CS profile generation. Removing recursion cycles is a way to normalize the calling context which will be better for the sample aggregation and also make the context promoting deterministic. Specifically for implementation, we recognize adjacent repeated frames as cycles and deduplicated them through multiple round of iteration. For example: Considering a input context string stack: [“a”, “a”, “b”, “c”, “a”, “b”, “c”, “b”, “c”, “d”] For first iteration,, it removed all adjacent repeated frames of size 1: [“a”, “b”, “c”, “a”, “b”, “c”, “b”, “c”, “d”] For second iteration, it removed all adjacent repeated frames of size 2: [“a”, “b”, “c”, “a”, “b”, “c”, “d”] So in the end, we get compressed output: [“a”, “b”, “c”, “d”]
Compression will be called in two place: one for sample's context key right after unwinding, one is for the eventual context string id in the ProfileGenerator. Added a switch `compress-recursion` to control the size of duplicated frames, default -1 means no size limit. Added unit tests and regression test for this.
Differential Revision: https://reviews.llvm.org/D93556
|
 | llvm/unittests/tools/llvm-profgen/ContextCompressionTest.cpp |
 | llvm/tools/llvm-profgen/ProfiledBinary.h |
 | llvm/test/tools/llvm-profgen/recursion-compression-noprobe.test |
 | llvm/tools/llvm-profgen/ProfileGenerator.cpp |
 | llvm/tools/llvm-profgen/PseudoProbe.h |
 | llvm/unittests/tools/llvm-profgen/CMakeLists.txt |
 | llvm/unittests/tools/CMakeLists.txt |
 | llvm/test/tools/llvm-profgen/Inputs/recursion-compression-pseudoprobe.perfbin |
 | llvm/tools/llvm-profgen/ProfiledBinary.cpp |
 | llvm/test/tools/llvm-profgen/Inputs/recursion-compression-noprobe.perfbin |
 | llvm/test/tools/llvm-profgen/recursion-compression-pseudoprobe.test |
 | llvm/tools/llvm-profgen/PerfReader.cpp |
 | llvm/tools/llvm-profgen/ProfileGenerator.h |
 | llvm/test/tools/llvm-profgen/Inputs/recursion-compression-pseudoprobe.perfscript |
 | llvm/test/tools/llvm-profgen/Inputs/recursion-compression-noprobe.perfscript |
 | llvm/tools/llvm-profgen/PseudoProbe.cpp |
Commit
1714ad2336293f351b15dd4b518f9e8618ec38f2
by wlei[CSSPGO][llvm-profgen] Aggregate samples on call frame trie to speed up profile generation
For CS profile generation, the process of call stack unwinding is time-consuming since for each LBR entry we need linear time to generate the context( hash, compression, string concatenation). This change speeds up this by grouping all the call frame within one LBR sample into a trie and aggregating the result(sample counter) on it, deferring the context compression and string generation to the end of unwinding.
Specifically, it uses `StackLeaf` as the top frame on the stack and manipulates(pop or push a trie node) it dynamically during virtual unwinding so that the raw sample can just be recoded on the leaf node, the path(root to leaf) will represent its calling context. In the end, it traverses the trie and generates the context on the fly.
Results: Our internal branch shows about 5X speed-up on some large workloads in SPEC06 benchmark.
Differential Revision: https://reviews.llvm.org/D94110
|
 | llvm/tools/llvm-profgen/ProfiledBinary.cpp |
 | llvm/tools/llvm-profgen/PerfReader.cpp |
 | llvm/tools/llvm-profgen/ProfiledBinary.h |
 | llvm/tools/llvm-profgen/PerfReader.h |
Commit
781a1b1e3683f44bcf5af27ecdb71a494c707abe
by aeubanks[test] Pin spir-codegen.ll to legacy PM
-polly-enable-delicm is not supported under the new PM but is tested here: Assertion `!EnableDeLICM && "This option is not implemented"' failed.
|
 | polly/test/GPGPU/spir-codegen.ll |
Commit
aade0ec23b5986a9c478c4093d029a5db8a2c012
by AkiraFix the guaranteed alignment of memory returned by malloc/new on Darwin
The guaranteed alignment is 16 bytes on Darwin.
rdar://73431623
Differential Revision: https://reviews.llvm.org/D95910
|
 | clang/lib/Basic/TargetInfo.cpp |
 | clang/test/Preprocessor/init-aarch64.c |
 | clang/test/Preprocessor/init-arm.c |
Commit
b4de30f6afe446a38c30626e611daa5509f19b92
by kazu[Support] Drop unnecessary const from return types (NFC)
Identified with const-return-type.
|
 | llvm/lib/Support/ScopedPrinter.cpp |
 | llvm/include/llvm/Support/ScopedPrinter.h |
Commit
643c00f717a2cc20a85cdbfa3681e8f61af8c64f
by kazu[TableGen] Use ListSeparator (NFC)
|
 | llvm/utils/TableGen/CodeGenSchedule.cpp |
Commit
be37475897c1efe00c632de4896e31bcfec62585
by kazu[Transforms/IPO] Use range-based for loops (NFC)
|
 | llvm/lib/Transforms/IPO/SampleProfile.cpp |
 | llvm/lib/Transforms/IPO/ArgumentPromotion.cpp |
 | llvm/lib/Transforms/IPO/PartialInlining.cpp |
 | llvm/lib/Transforms/IPO/HotColdSplitting.cpp |
 | llvm/lib/Transforms/IPO/MergeFunctions.cpp |
Commit
9511fa2ddab73c7c93c97df514a00cee5e12e1b2
by yedeng.yd[NFC][Coroutine] Remove redundant comment
The functionallity in the TODO was added before: https://reviews.llvm.org/rGb3a722e66b75328ab5e2eb5c8572022cb083855b
|
 | llvm/lib/Transforms/Coroutines/CoroFrame.cpp |
Commit
0ed758b26041ef4ec57e8511d289fb0b84468775
by davelee.com[lldb] Convert more assertTrue to assertEqual (NFC)
Follow up to D95813, this converts multiline assertTrue to assertEqual.
Differential Revision: https://reviews.llvm.org/D95899
|
 | lldb/test/API/commands/process/launch-with-shellexpand/TestLaunchWithShellExpand.py |
 | lldb/test/API/lang/objc/objc-stepping/TestObjCStepping.py |
 | lldb/test/API/functionalities/inline-stepping/TestInlineStepping.py |
 | lldb/test/API/functionalities/target-new-solib-notifications/TestModuleLoadedNotifys.py |
 | lldb/test/API/macosx/indirect_symbol/TestIndirectSymbols.py |
 | lldb/test/API/commands/expression/call-throws/TestCallThatThrows.py |
 | lldb/test/API/python_api/objc_type/TestObjCType.py |
 | lldb/test/API/commands/watchpoints/watchpoint_events/TestWatchpointEvents.py |
 | lldb/test/API/commands/frame/language/TestGuessLanguage.py |
 | lldb/test/API/functionalities/breakpoint/address_breakpoints/TestAddressBreakpoints.py |
 | lldb/test/API/lang/objc/objc-ivar-offsets/TestObjCIvarOffsets.py |
 | lldb/test/API/lang/objc/objc-static-method/TestObjCStaticMethod.py |
 | lldb/test/API/commands/expression/call-restarts/TestCallThatRestarts.py |
 | lldb/test/API/commands/disassemble/basic/TestFrameDisassemble.py |
 | lldb/test/API/commands/register/register/register_command/TestRegisters.py |
 | lldb/test/API/python_api/thread/TestThreadAPI.py |
 | lldb/test/API/functionalities/dynamic_value_child_count/TestDynamicValueChildCount.py |
 | lldb/test/API/python_api/sbdata/TestSBData.py |
 | lldb/test/API/macosx/queues/TestQueues.py |
 | lldb/test/API/python_api/event/TestEvents.py |
 | lldb/test/API/api/listeners/TestListener.py |
 | lldb/test/API/functionalities/thread/exit_during_break/TestExitDuringBreak.py |
 | lldb/test/API/python_api/formatters/TestFormattersSBAPI.py |
 | lldb/test/API/lang/cpp/class_static/TestStaticVariables.py |
 | lldb/test/API/lang/cpp/template/TestTemplateArgs.py |
 | lldb/test/API/python_api/signals/TestSignalsAPI.py |
 | lldb/test/API/macosx/thread-names/TestInterruptThreadNames.py |
 | lldb/test/API/functionalities/step-avoids-no-debug/TestStepNoDebug.py |
 | lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/atomic/TestLibCxxAtomic.py |
 | lldb/test/API/python_api/sbvalue_persist/TestSBValuePersist.py |
 | lldb/test/API/lang/cpp/diamond/TestDiamond.py |
 | lldb/test/API/lang/cpp/gmodules/TestWithModuleDebugging.py |
 | lldb/test/API/python_api/value/change_values/TestChangeValueAPI.py |
 | lldb/test/API/lang/cpp/nsimport/TestCppNsImport.py |
 | lldb/test/API/lang/objc/single-entry-dictionary/TestObjCSingleEntryDictionary.py |
 | lldb/test/API/python_api/lldbutil/iter/TestLLDBIterator.py |
 | lldb/test/API/functionalities/thread/break_after_join/TestBreakAfterJoin.py |
 | lldb/test/API/functionalities/plugins/python_os_plugin/TestPythonOSPlugin.py |
 | lldb/test/API/lang/objc/blocks/TestObjCIvarsInBlocks.py |
 | lldb/test/API/functionalities/thread/create_after_attach/TestCreateAfterAttach.py |
 | lldb/test/API/python_api/target/TestTargetAPI.py |
 | lldb/test/API/functionalities/breakpoint/source_regexp/TestSourceRegexBreakpoints.py |
 | lldb/test/API/functionalities/memory/read/TestMemoryRead.py |
 | lldb/test/API/lang/objc/objc-static-method-stripped/TestObjCStaticMethodStripped.py |
 | lldb/test/API/lang/c/array_types/TestArrayTypes.py |
 | lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/list/TestDataFormatterLibcxxList.py |
 | lldb/test/API/lang/objc/foundation/TestObjCMethods.py |
 | lldb/test/API/functionalities/thread/multi_break/TestMultipleBreakpoints.py |
 | lldb/test/API/functionalities/thread/create_during_step/TestCreateDuringStep.py |
 | lldb/test/API/lang/objc/objc-baseclass-sbtype/TestObjCBaseClassSBType.py |
 | lldb/test/API/macosx/safe-to-func-call/TestSafeFuncCalls.py |
 | lldb/test/API/lang/c/bitfields/TestBitfields.py |
 | lldb/test/API/lang/c/unions/TestUnionMembers.py |
 | lldb/test/API/functionalities/breakpoint/breakpoint_language/TestBreakpointLanguage.py |
 | lldb/test/API/functionalities/signal/TestSendSignal.py |
 | lldb/test/API/python_api/value/TestValueAPI.py |
 | lldb/test/API/functionalities/data-formatter/format-propagation/TestFormatPropagation.py |
 | lldb/test/API/functionalities/thread/thread_specific_break_plus_condition/TestThreadSpecificBpPlusCondition.py |
 | lldb/test/API/lang/cpp/global_operators/TestCppGlobalOperators.py |
 | lldb/test/API/lang/cpp/breakpoint-commands/TestCPPBreakpointCommands.py |
 | lldb/test/API/python_api/frame/TestFrames.py |
 | lldb/test/API/python_api/watchpoint/TestWatchpointIter.py |
 | lldb/test/API/python_api/watchpoint/TestSetWatchpoint.py |
 | lldb/test/API/lang/objc/global_ptrs/TestGlobalObjects.py |
 | lldb/test/API/functionalities/exec/TestExec.py |
 | lldb/test/API/lang/objc/objc-ivar-stripped/TestObjCIvarStripped.py |
 | lldb/test/API/commands/frame/var/TestFrameVar.py |
 | lldb/test/API/functionalities/breakpoint/breakpoint_hit_count/TestBreakpointHitCount.py |
 | lldb/test/API/lang/c/stepping/TestStepAndBreakpoints.py |
 | lldb/test/API/lang/objc/objc-dyn-sbtype/TestObjCDynamicSBType.py |
 | lldb/test/API/lang/cpp/exceptions/TestCPPExceptionBreakpoints.py |
 | lldb/test/API/lang/cpp/limit-debug-info/TestWithLimitDebugInfo.py |
 | lldb/test/API/lang/cpp/member-and-local-vars-with-same-name/TestMembersAndLocalsWithSameName.py |
 | lldb/test/API/functionalities/avoids-fd-leak/TestFdLeak.py |
 | lldb/test/API/functionalities/breakpoint/breakpoint_names/TestBreakpointNames.py |
 | lldb/test/API/functionalities/data-formatter/synthupdate/TestSyntheticFilterRecompute.py |
Commit
b42ccdf38fe3d04765d1c265b4819c045d451e09
by phosek[NFC] Fix the noprofile attribute comment
|
 | llvm/include/llvm/IR/Attributes.td |
Commit
a2c1054c303f20be006e9ef20739dbb88bd9ae02
by kyrtzidis[ASTReader] Always rebuild a cached module that has errors
A module in the cache with an error should just be a cache miss. If allowing errors (with -fallow-pcm-with-compiler-errors), a rebuild is needed so that the appropriate diagnostics are output and in case search paths have changed. If not allowing errors, the module was built *allowing* errors and thus should be rebuilt regardless.
Reviewed By: akyrtzi
Differential Revision: https://reviews.llvm.org/D95989
|
 | clang/test/Modules/Inputs/module.map |
![]() |