Commit
1df1186ab12d87f42f3e8c5bd7703520d5bf1f17
by craig.topper[X86] Use some preprocessor macros to reduce the very similar repeated code in getVPTESTMOpc. NFCI
This function picks X86 opcode name based on type, masking, and whether not a load or broadcast has been folded using multiple switch statements. The contents of the switches mostly just vary in a few characters in the instruction name. So use some macros to build the instruction names to reduce the repetiveness.
|
 | llvm/lib/Target/X86/X86ISelDAGToDAG.cpp |
Commit
c8f1d442d0858f66fd4128fde6f67eb5202fa2b1
by Alex Lorenzsplit darwin-version-min-load-command.s into Arm64 subtest to avoid failures
Some buildbot configurations don't build the arm64 backend, so the test-cases that need arm64 should go into the aarch64 subdirectory.
|
 | llvm/test/MC/MachO/darwin-version-min-load-command.s |
 | llvm/test/MC/MachO/AArch64/arm-darwin-version-min-load-command.s |
Commit
4c2c6c7cc1663ee123be806fa02ead0f175568bc
by kbarton[PPC][NFC] Replace TM with Subtarget->getTargetMachine() in preparation for GlobalISel.
There are two uses of TM (instance of TargetMachine) when checking options. These will not work once we enable GlobalISel. This patch replaces those uses of TM with Subtarget->getTargetMachine().
|
 | llvm/lib/Target/PowerPC/PPCInstrInfo.td |
Commit
b210c9899bddf4c0332f8295b3b71938299e4835
by aeubanks[BasicAA] Replace -basicaa with -basic-aa in polly
Follow up to https://reviews.llvm.org/D82607.
|
 | polly/test/ScopInfo/NonAffine/non-affine-loop-condition-dependent-access_2.ll |
 | polly/test/ScopInfo/licm_reduction.ll |
 | polly/test/DependenceInfo/reduction_multiple_loops_array_sum_3.ll |
 | polly/test/Isl/CodeGen/simple_vec_cast.ll |
 | polly/test/ScheduleOptimizer/2012-04-16-Trivially-vectorizable-loops.ll |
 | polly/test/Isl/CodeGen/simple_vec_call.ll |
 | polly/test/Isl/CodeGen/create-conditional-scop.ll |
 | polly/test/Isl/Ast/single_loop_strip_mine.ll |
 | polly/test/Isl/CodeGen/invariant_load_hoist_alignment.ll |
 | polly/test/ScheduleOptimizer/prevectorization.ll |
 | polly/test/ScopInfo/NonAffine/non-affine-loop-condition-dependent-access_1.ll |
 | polly/test/Isl/CodeGen/loop_with_condition_ineq.ll |
 | polly/test/ScopDetect/simple_loop_with_param.ll |
 | polly/test/ScopInfo/mod_ref_read_pointer.ll |
 | polly/test/ScopDetectionDiagnostics/ReportMultipleNonAffineAccesses.ll |
 | polly/test/ScopInfo/reduction_disabled_multiplicative.ll |
 | polly/test/ScopInfo/reduction_multiple_loops_array_sum_1.ll |
 | polly/test/DependenceInfo/sequential_loops.ll |
 | polly/test/ScopDetect/intrinsics_1.ll |
 | polly/test/ScopInfo/licm_load.ll |
 | polly/test/ScopInfo/mod_ref_read_pointers.ll |
 | polly/test/Isl/CodeGen/loop_with_condition_2.ll |
 | polly/test/ScopInfo/reduction_invalid_different_operators.ll |
 | polly/test/ScopDetect/keep_going_expansion.ll |
 | polly/test/DependenceInfo/reduction_two_reductions_different_rloops.ll |
 | polly/test/ScopDetect/intrinsics_2.ll |
 | polly/test/Isl/CodeGen/MemAccess/default_aligned_new_access_function.ll |
 | polly/test/DependenceInfo/reduction_dependences_equal_non_reduction_dependences.ll |
 | polly/test/Isl/Ast/reduction_different_reduction_clauses.ll |
 | polly/test/ScheduleOptimizer/computeout.ll |
 | polly/test/DeadCodeElimination/chained_iterations_2.ll |
 | polly/test/DependenceInfo/reduction_multiple_reductions_2.ll |
 | polly/test/Isl/Ast/run-time-condition.ll |
 | polly/test/DependenceInfo/do_pluto_matmult.ll |
 | polly/test/DependenceInfo/reduction_partially_escaping_intermediate_in_other_stmt.ll |
 | polly/test/ScopDetect/simple_loop_with_param_2.ll |
 | polly/test/Isl/CodeGen/simple_vec_two_stmts.ll |
 | polly/test/ScopInfo/NonAffine/non_affine_parametric_loop.ll |
 | polly/www/documentation/gpgpucodegen.html |
 | polly/docs/HowToManuallyUseTheIndividualPiecesOfPolly.rst |
 | polly/test/ScopInfo/mod_ref_read_pointee_arguments.ll |
 | polly/test/ScopInfo/licm_store.ll |
 | polly/test/Isl/Ast/dependence_distance_varying_multiple.ll |
 | polly/test/Isl/CodeGen/simple_vec_stride_x.ll |
 | polly/test/ScopInfo/intra_and_inter_bb_scalar_dep.ll |
 | polly/test/Isl/CodeGen/OpenMP/loop-body-references-outer-values-3.ll |
 | polly/test/ScopInfo/assume_gep_bounds_2.ll |
 | polly/test/ScopInfo/inter_bb_scalar_dep.ll |
 | polly/test/ScopInfo/mod_ref_access_pointee_arguments.ll |
 | polly/test/ScopInfo/reduction_multiple_simple_binary.ll |
 | polly/test/Isl/CodeGen/loop_with_condition.ll |
 | polly/test/ScopInfo/intra_bb_scalar_dep.ll |
 | polly/test/ScopDetect/mod_ref_read_pointer.ll |
 | polly/test/Isl/CodeGen/run-time-condition.ll |
 | polly/test/ScopDetect/non-affine-loop-condition-dependent-access.ll |
 | polly/test/ScopInfo/tempscop-printing.ll |
 | polly/test/ScopInfo/scalar_to_array.ll |
 | polly/test/Isl/CodeGen/simple_vec_large_width.ll |
 | polly/test/Isl/CodeGen/loop_with_condition_nested.ll |
 | polly/test/ScopInfo/loop_carry.ll |
 | polly/docs/experiments/matmul/runall.sh |
 | polly/test/Isl/CodeGen/intrinsics_misc.ll |
 | polly/test/Isl/Ast/dependence_distance_multiple_constant.ll |
 | polly/test/Isl/CodeGen/simple_vec_const.ll |
 | polly/test/ScopInfo/memcpy-raw-source.ll |
 | polly/test/DeadCodeElimination/null_schedule.ll |
 | polly/test/ScheduleOptimizer/prevectorization-without-tiling.ll |
 | polly/test/DeadCodeElimination/chained_iterations.ll |
 | polly/test/ScopInfo/memcpy.ll |
 | polly/test/DependenceInfo/reduction_multiple_loops_array_sum_2.ll |
 | polly/test/ScopInfo/licm_potential_store.ll |
 | polly/test/ScopInfo/reduction_escaping_intermediate.ll |
 | polly/test/DeadCodeElimination/dead_iteration_elimination.ll |
 | polly/test/Isl/CodeGen/simple_vec_assign_scalar.ll |
 | polly/test/Isl/CodeGen/intrinsics_lifetime.ll |
 | polly/test/Isl/CodeGen/simple_vec_call_2.ll |
 | polly/test/ScopInfo/memmove.ll |
 | polly/test/Isl/CodeGen/simple_vec_assign_scalar_2.ll |
 | polly/test/DependenceInfo/reduction_multiple_loops_array_sum.ll |
 | polly/test/Isl/CodeGen/MemAccess/simple_stride_test.ll |
 | polly/test/ScopDetect/intrinsics_3.ll |
 | polly/test/Isl/CodeGen/reduction_2.ll |
 | polly/test/ScopInfo/isl_aff_out_of_bounds.ll |
 | polly/test/Isl/CodeGen/simple_vec_ptr_ptr_ty.ll |
 | polly/test/DependenceInfo/reduction_multiple_reductions.ll |
 | polly/test/ScopInfo/reduction_multiple_loops_array_sum.ll |
 | polly/test/DeadCodeElimination/computeout.ll |
 | polly/test/ScopInfo/licm_reduction_nested.ll |
 | polly/test/ScopInfo/reduction_escaping_intermediate_2.ll |
 | polly/test/Isl/CodeGen/partial_write_mapped_vector.ll |
 | polly/test/Isl/Ast/reduction_dependences_equal_non_reduction_dependences.ll |
 | polly/test/ScopInfo/NonAffine/non-affine-loop-condition-dependent-access_3.ll |
Commit
ffa63dde8e97a34b8914a151556551f74d4227e7
by sam.mccall[clangd] Run formatting operations asynchronously.
Summary: They don't need ASTs or anything, so they should still run immediately.
These were sync for historical reasons (they predate clangd having a pervasive threading model). This worked ok as they were "cheap". Aside for consistency, there are a couple of reasons to make them async: - they do IO (finding .clang-format) so aren't trivially cheap - having TUScheduler involved in running these tasks means we can use it as an injection point for configuration. (TUScheduler::run will need to learn about which file is being operated on, but that's an easy change). - adding the config system adds more potential IO, too
Reviewers: kbobyrev
Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, kadircet, usaxena95, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D82642
|
 | clang-tools-extra/clangd/unittests/ClangdTests.cpp |
 | clang-tools-extra/clangd/unittests/SyncAPI.cpp |
 | clang-tools-extra/clangd/unittests/SyncAPI.h |
 | clang-tools-extra/clangd/ClangdServer.cpp |
 | clang-tools-extra/clangd/ClangdServer.h |
 | clang-tools-extra/clangd/ClangdLSPServer.cpp |
Commit
9fbb2de8e475cbb4ffa71280eb2ddc4922af05f6
by riddleriver[mlir] Add support for defining Traits and Interfaces on Attributes/Types.
This revisions add mechanisms to Attribute/Type for attaching traits and interfaces. The mechanisms are modeled 1-1 after those for operations to keep the system consistent. AttrBase and TypeBase now accepts a trailing list of `Trait` types that will be attached to the object. These traits should inherit from AttributeTrait::TraitBase and TypeTrait::TraitBase respectively as necessary. A followup commit will refactor the interface gen mechanisms in ODS to support Attribute/Type interface generation and add tests for the mechanisms.
Differential Revision: https://reviews.llvm.org/D81883
|
 | mlir/include/mlir/IR/Types.h |
 | mlir/include/mlir/IR/Attributes.h |
 | mlir/lib/IR/Attributes.cpp |
 | mlir/lib/IR/Types.cpp |
 | mlir/include/mlir/IR/TypeSupport.h |
 | mlir/include/mlir/IR/StorageUniquerSupport.h |
 | mlir/include/mlir/IR/Dialect.h |
 | mlir/lib/IR/MLIRContext.cpp |
 | mlir/include/mlir/IR/AttributeSupport.h |
Commit
2e2cdd0a5230790300bdde7e5629fedef36d99b6
by riddleriver[mlir] Refactor InterfaceGen to support generating interfaces for Attributes and Types.
This revision adds support to ODS for generating interfaces for attributes and types, in addition to operations. These interfaces can be specified using `AttrInterface` and `TypeInterface` in place of `OpInterface`. All of the features of `OpInterface` are supported except for the `verify` method, which does not have a matching representation in the Attribute/Type world. Generating these interface can be done using `gen-(attr|type)-interface-(defs|decls|docs)`.
Differential Revision: https://reviews.llvm.org/D81884
|
 | mlir/lib/TableGen/CMakeLists.txt |
 | mlir/test/mlir-tblgen/interfaces.mlir |
 | mlir/test/lib/IR/CMakeLists.txt |
 | mlir/include/mlir/Interfaces/CallInterfaces.td |
 | mlir/tools/mlir-tblgen/OpInterfacesGen.cpp |
 | mlir/test/lib/Dialect/Test/CMakeLists.txt |
 | mlir/test/lib/Dialect/Test/TestTypes.h |
 | mlir/lib/TableGen/OpTrait.cpp |
 | mlir/lib/TableGen/Interfaces.cpp |
 | mlir/tools/mlir-opt/mlir-opt.cpp |
 | mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp |
 | mlir/include/mlir/TableGen/OpInterfaces.h |
 | mlir/test/lib/Dialect/Test/TestDialect.cpp |
 | mlir/test/lib/Dialect/Test/TestInterfaces.td |
 | mlir/tools/mlir-tblgen/SPIRVUtilsGen.cpp |
 | mlir/docs/Interfaces.md |
 | mlir/test/lib/IR/TestInterfaces.cpp |
 | mlir/lib/TableGen/OpInterfaces.cpp |
 | mlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOpsInterface.td |
 | mlir/tools/mlir-tblgen/OpFormatGen.cpp |
 | mlir/include/mlir/Interfaces/SideEffectInterfaces.td |
 | mlir/include/mlir/TableGen/OpTrait.h |
 | mlir/include/mlir/Interfaces/ControlFlowInterfaces.td |
 | mlir/docs/Traits.md |
 | mlir/test/lib/Dialect/Test/TestOps.td |
 | mlir/include/mlir/IR/OpBase.td |
 | mlir/include/mlir/IR/SymbolInterfaces.td |
 | mlir/tools/mlir-tblgen/DialectGen.cpp |
 | mlir/docs/OpDefinitions.md |
 | mlir/include/mlir/TableGen/Interfaces.h |
Commit
5d699d18b32c0e0c27eceec026ed399e76e7e8ef
by riddleriver[mlir] Remove locking for dialect/operation registration.
Moving forward dialects should only be registered in a thread safe context. This matches the existing usage we have today, but it allows for removing quite a bit of expensive locking from the context.
This led to ~.5 a second compile time improvement when running one conversion pass on a very large .mlir file(hundreds of thousands of operations).
Differential Revision: https://reviews.llvm.org/D82595
|
 | mlir/lib/IR/MLIRContext.cpp |
 | mlir/include/mlir/IR/Dialect.h |
Commit
3dfe1440aecc285992b0f325b13c1b95468f0074
by aeubanks[Docs][BasicAA] Rename -basicaa to -basic-aa in docs
Follow up to https://reviews.llvm.org/D82607.
|
 | llvm/docs/Passes.rst |
 | llvm/docs/AliasAnalysis.rst |
Commit
50ac7ce94f34c5f43b02185ae0c33e150e78b044
by hgreving[ModuloSchedule] Make PeelingModuloScheduleExpander inheritable.
Basically a NFC, but allows subclasses access to the entire PeelingModuloScheduleExpander class. We are doing this to allow backends, particularly one that are not necessarily upstreamed, to inherit from PeelingModuloScheduleExpander and access its basic structures.
Renames Info into LoopInfo for consistency in PeelingModuloScheduleExpander.
Differential Revision: https://reviews.llvm.org/D82673
|
 | llvm/include/llvm/CodeGen/ModuloSchedule.h |
 | llvm/lib/CodeGen/ModuloSchedule.cpp |
Commit
926fab7c4fcd0a7cf00ca69847fa5ae73dc863ea
by rnk[gn build] Update build for new OpenMP tablegen logic
Ports 1a70077b5a64189d9c04d1a2d7ea6ff0e49744d6 to gn from cmake.
|
 | llvm/utils/gn/secondary/llvm/include/llvm/Frontend/OpenMP/BUILD.gn |
Commit
8b6f675f448e8e340b5610a637d0fa7211cc0549
by aeubanksFix wrong title underline length
|
 | llvm/docs/AliasAnalysis.rst |
Commit
b6c490349d1524aefeb1c4a686411f860e6a3555
by richardA constexpr virtual function is implicitly inline so should never be a key function.
|
 | clang/test/CodeGenCXX/vtable-constexpr.cpp |
 | clang/lib/AST/RecordLayoutBuilder.cpp |
Commit
291ece0efa038000a31c93f132f6732ee8d30e89
by Matthew.ArsenaultAMDGPU/GlobalISel: Remove some selection tests which should be invalid
These use undef generic virtual register operands, which should be rejected by the verifier.
|
 | llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-build-vector.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-brcond.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-xor.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-or.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-and.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-copy.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-merge-values.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-unmerge-values.mir |
Commit
e9eab30339a70596386b175b415167cc97e062d5
by Matthew.ArsenaultGlobalISel: Disallow undef generic virtual register uses
With an undef operand, it's possible for getVRegDef to fail and return null. This is an edge case very little code bothered to consider. Proper gMIR should use G_IMPLICIT_DEF instead.
I initially tried to apply this restriction to all SSA MIR, so then getVRegDef would never fail anywhere. However, ProcessImplicitDefs does technically run while the function is in SSA. ProcessImplicitDefs and DetectDeadLanes would need to either move, or a new pseudo-SSA type of function property would need to be introduced.
|
 | llvm/lib/CodeGen/MachineVerifier.cpp |
 | llvm/test/MachineVerifier/generic-vreg-undef-use.mir |
Commit
679d101e7cbf26f82ed6bf3c9a73ab14a4897916
by thakis[gn build] (semi-manually) port ce6153a5282
|
 | llvm/utils/gn/secondary/libcxx/src/BUILD.gn |
Commit
144e57fc9535eb30e7a9a2b691bc15bd38b68a04
by guiand[Sanitizers] Implement interceptors for msgsnd, msgrcv
Differential Revision: https://reviews.llvm.org/D82897
|
 | compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h |
 | compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc |
 | compiler-rt/test/sanitizer_common/TestCases/Linux/sysmsg.c |
Commit
f9348f70c2330f3565ee01134bcba1dd38628c79
by aeubanks[Docs][BasicAA] Rename some more basicaa -> basic-aa
Follow up to https://reviews.llvm.org/D82607.
|
 | llvm/docs/WritingAnLLVMPass.rst |
Commit
5f56da3763ac6d5cc38b474fb05a2c89542d207e
by smeenai[llvm-install-name-tool] Tighten some path checks
Just having --implicit-check-not=/usr breaks when the LLVM checkout path contains '/usr', since llvm-objdump prints out the path to the input file in the first line. Tighten the checks by adding the 'name' prefix that's used when printing load command payloads. An alternative would be to redirect the input file into llvm-objdump, in which case it prints out 'a.out' as the file name, but I'm not sure how reliable that behavior is.
|
 | llvm/test/tools/llvm-objcopy/MachO/install-name-tool-id.test |
 | llvm/test/tools/llvm-objcopy/MachO/install-name-tool-change.test |
Commit
56fc6b987ab8a235cea9ae13fb8d6430aec8c30d
by douglas.yungFixup BDVER1 and ZNVER1 definitions that were accidentally changed in recent refactor.
- BDVER1 - Duplicate FeatureLZCNT removed - ZNVER1 - Duplicate FeatureLZCNT removed - Removed unsupported FeatureLWP - Swapped FeatureMMX and FeatureMOVBE to be in alphabetical order
|
 | llvm/lib/Support/X86TargetParser.cpp |
Commit
4eff2beefb2b655fc02d35de235fc86d72d05755
by richard[c++20] consteval functions don't get vtable slots.
For the Itanium C++ ABI, this implements the rule added in https://github.com/itanium-cxx-abi/cxx-abi/pull/83
For the MS C++ ABI, this implements the direction that seemed most plausible based on personal correspondence with MSVC developers, but is subject to change as they decide their ABI rule.
|
 | clang/include/clang/AST/VTableBuilder.h |
 | clang/test/CodeGenCXX/vtable-consteval.cpp |
 | clang/lib/AST/RecordLayoutBuilder.cpp |
 | clang/lib/AST/VTableBuilder.cpp |
 | clang/lib/CodeGen/CGExprConstant.cpp |
Commit
a22091b4f074483fa5779b0654820290ce09631d
by Xing[DWARFYAML][test] Make the checker stricter. NFC.
Currently, DWARFYAML doesn't emit the 0 byte for terminating the abbrev table for the given compilation unit. Before addressing this issue, we have to make the test stricter.
|
 | llvm/test/tools/yaml2obj/ELF/DWARF/debug-abbrev.yaml |
Commit
9a5e3a43923229af2c3d8c6828ef68cb2584c941
by aeubanks[NewPM] Add explicit init value to -enable-new-pm
So it's easier to test with it on by default.
Reviewed By: ychen
Differential Revision: https://reviews.llvm.org/D82922
|
 | llvm/tools/opt/opt.cpp |