Commit
b16400449fc763fdae2d2ce809ce61c88acb6684
by Stanislav.Mekhanoshin[AMDGPU] isPassEnabled() helper to check cl::opt and OptLevel
We have several checks for both cl::opt and OptLevel over our pass config, although these checks do not properly work if default value of a cl::opt will be false. Create a helper to use instead and properly handle it. NFC for now.
Differential Revision: https://reviews.llvm.org/D105517
|
 | llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp |
Commit
593bf9b4ded318a1d14c9aacfcaa0cf8dd0d9b62
by kai.wang[Clang][RISCV] Implement vlseg and vlsegff.
Differential Revision: https://reviews.llvm.org/D103527
|
 | clang/include/clang/Basic/IdentifierTable.h |
 | clang/test/CodeGen/RISCV/rvv-intrinsics/vlseg.c |
 | clang/lib/CodeGen/CGBuiltin.cpp |
 | clang/utils/TableGen/RISCVVEmitter.cpp |
 | clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vlseg.c |
 | clang/test/CodeGen/RISCV/rvv-intrinsics/vlsegff.c |
 | clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vlsegff.c |
 | clang/include/clang/Basic/riscv_vector.td |
Commit
4acf3807e35805548074b95a93fe441f4dd20fa1
by uday[MLIR] Split out GPU ops library from Transforms
Split out GPU ops library from GPU transforms. This allows libraries to depend on GPU Ops without needing/building its transforms.
Differential Revision: https://reviews.llvm.org/D105472
|
 | mlir/lib/Dialect/GPU/CMakeLists.txt |
 | mlir/tools/mlir-vulkan-runner/CMakeLists.txt |
 | mlir/lib/CAPI/Dialect/CMakeLists.txt |
 | mlir/lib/Conversion/SCFToGPU/CMakeLists.txt |
 | mlir/test/lib/Dialect/GPU/CMakeLists.txt |
 | mlir/lib/Conversion/GPUToNVVM/CMakeLists.txt |
 | mlir/lib/Conversion/GPUToSPIRV/CMakeLists.txt |
 | mlir/lib/Conversion/GPUCommon/CMakeLists.txt |
 | mlir/lib/Conversion/GPUToROCDL/CMakeLists.txt |
 | mlir/lib/Conversion/GPUToVulkan/CMakeLists.txt |
 | mlir/lib/Conversion/SPIRVToLLVM/CMakeLists.txt |
 | mlir/test/lib/Dialect/Linalg/CMakeLists.txt |
 | mlir/lib/Conversion/VectorToGPU/CMakeLists.txt |
 | mlir/test/lib/Dialect/SPIRV/CMakeLists.txt |
 | mlir/tools/mlir-spirv-cpu-runner/CMakeLists.txt |
Commit
1894c8938979915ee12217f9b7da00ecb53d2ed3
by i[llvm-readobj][test] Improve grouped option test
|
 | llvm/test/tools/llvm-readobj/ELF/merged.test |
 | llvm/test/tools/llvm-readobj/ELF/grouped.test |
Commit
0c1a7730f5372e862150f313df4d9c44757352f4
by uday[MLIR] Simplify affine.if having yield values and trivial conditions
When an affine.if operation is returning/yielding results and has a trivially true or false condition, then its 'then' or 'else' block, respectively, is promoted to the affine.if's parent block and then, the affine.if operation is replaced by the correct results/yield values. Relevant test cases are also added.
Signed-off-by: Srishti Srivastava <srishti.srivastava@polymagelabs.com>
Differential Revision: https://reviews.llvm.org/D105418
|
 | mlir/test/Dialect/Affine/simplify-affine-structures.mlir |
 | mlir/lib/Dialect/Affine/IR/AffineOps.cpp |
Commit
c2d4d6a1fde127316aae2fdd48b4322857987be3
by jperier[flang] Create HostAssocDetails symbols when needed for mis-parsed ArrayRef
Name resolution is always creating symbols with HostAssocDetails for host variable names inside internal procedures. This helps lowering identifying and dealing with such variables inside internal procedures.
However, the case where the variable appears in an ArrayRef mis-parsed as a FunctionRef goes through a different name resolution path that did not create such HostAssocDetails when needed. Pointer assignment RHS are also skipping this path.
Add the logic to create HostAssocDetails for host symbols inisde internal procedures that appear in mis-parsed ArrayRef or in pointer assignment RHS.
Differential Revision: https://reviews.llvm.org/D105464
|
 | flang/lib/Semantics/resolve-names.cpp |
 | flang/test/Semantics/symbol03.f90 |
Commit
ce098ccc1cd154d0c84d6a0bbe0f75c86f726c03
by jay.foad[AMDGPU] Simplify tablegen files. NFC.
There is no need to cast records to strings before comparing them.
|
 | llvm/lib/Target/AMDGPU/AMDGPUInstructions.td |
 | llvm/lib/Target/AMDGPU/BUFInstructions.td |
Commit
0c4e538d8fdaf66b4eb9f361f156d068e4f90abd
by nicolas.vasilache[mlir][Linalg] Add an InitTensor -> DimOp canonicalization pattern.
Differential Revision: https://reviews.llvm.org/D105537
|
 | mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp |
 | mlir/test/Dialect/Linalg/canonicalize.mlir |
Commit
b5d847b1b95750d0af40cfc8c71a8fec50bb8613
by zinenko[mlir] factor out common parts of the converstion to the LLVM dialect
"Standard-to-LLVM" conversion is one of the oldest passes in existence. It has become quite large due to the size of the Standard dialect itself, which is being split into multiple smaller dialects. Furthermore, several conversion features are useful for any dialect that is being converted to the LLVM dialect, which, without this refactoring, creates a dependency from those conversions to the "standard-to-llvm" one.
Put several of the reusable utilities from this conversion to a separate library, namely: - type converter from builtin to LLVM dialect types; - utility for building and accessing values of LLVM structure type; - utility for building and accessing values that represent memref in the LLVM dialect; - lowering options applicable everywhere.
Additionally, remove the type wrapping/unwrapping notion from the type converter that is no longer relevant since LLVM types has been reimplemented as first-class MLIR types.
Reviewed By: pifon2a
Differential Revision: https://reviews.llvm.org/D105534
|
 | mlir/include/mlir/Conversion/ComplexToLLVM/ComplexToLLVM.h |
 | mlir/include/mlir/Conversion/LLVMCommon/TypeConverter.h |
 | mlir/lib/Conversion/StandardToLLVM/CMakeLists.txt |
 | mlir/include/mlir/Conversion/GPUToROCDL/GPUToROCDLPass.h |
 | mlir/lib/Conversion/ComplexToLLVM/CMakeLists.txt |
 | mlir/include/mlir/Conversion/GPUToNVVM/GPUToNVVMPass.h |
 | mlir/lib/Conversion/SPIRVToLLVM/CMakeLists.txt |
 | mlir/lib/Conversion/ComplexToLLVM/ComplexToLLVM.cpp |
 | mlir/include/mlir/Conversion/LLVMCommon/StructBuilder.h |
 | mlir/lib/Conversion/GPUToNVVM/CMakeLists.txt |
 | mlir/lib/Conversion/CMakeLists.txt |
 | mlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp |
 | mlir/lib/Conversion/LLVMCommon/TypeConverter.cpp |
 | mlir/lib/Conversion/GPUToROCDL/CMakeLists.txt |
 | mlir/tools/mlir-vulkan-runner/CMakeLists.txt |
 | mlir/include/mlir/Conversion/StandardToLLVM/ConvertStandardToLLVMPass.h |
 | mlir/lib/Conversion/LLVMCommon/LoweringOptions.cpp |
 | mlir/lib/Conversion/LLVMCommon/MemRefBuilder.cpp |
 | mlir/lib/Conversion/SPIRVToLLVM/ConvertLaunchFuncToLLVMCalls.cpp |
 | mlir/include/mlir/Conversion/LLVMCommon/LoweringOptions.h |
 | mlir/lib/Conversion/LLVMCommon/CMakeLists.txt |
 | mlir/lib/Conversion/LLVMCommon/MemRefDescriptor.h |
 | mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp |
 | mlir/lib/Conversion/StandardToLLVM/StandardToLLVM.cpp |
 | mlir/include/mlir/Conversion/LLVMCommon/MemRefBuilder.h |
 | mlir/tools/mlir-vulkan-runner/mlir-vulkan-runner.cpp |
 | mlir/lib/Conversion/LLVMCommon/StructBuilder.cpp |
 | mlir/include/mlir/Conversion/StandardToLLVM/ConvertStandardToLLVM.h |
Commit
7586b47fb63dec619c209a395d12b35d01a54cd1
by Dylan.Fleming[SVE] Fix cast<FixedVectorType> in truncateToMinimalBitwidths
Reviewed By: sdesmalen
Differential Revision: https://reviews.llvm.org/D104239
|
 | llvm/test/Transforms/LoopVectorize/scalable-trunc-min-bitwidth.ll |
 | llvm/lib/Transforms/Vectorize/LoopVectorize.cpp |
Commit
94d5f2afbef0bc18cf92f6d147c336da990e7a40
by Saiyedul.Islam[Clang] Add test dependency on llvm-ar
Following clang driver tests invoke llvm-ar, so ensure that check-clang rebuilds llvm-ar.
* test/Driver/clang-offload-bundler.c * test/Driver/hip-link-save-temps.hip * test/Driver/hip-link-static-library.hip * test/Driver/hip-toolchain-rdc-static-lib.hip
Differential Revision: https://reviews.llvm.org/D105285
|
 | clang/test/CMakeLists.txt |
Commit
4ce26deac2a69492d5af349c25f285f6d493f82c
by david.green[DAG] Reassociate Add with Or
We already have reassociation code for Adds and Ors separately in DAG combiner, this adds it for the combination of the two where Ors act like Adds. It reassociates (add (or (x, c), y) -> (add (add (x, y), c)) where we know that the Ors operands have no common bits set, and the Or has one use.
Differential Revision: https://reviews.llvm.org/D104765
|
 | llvm/test/CodeGen/ARM/add-like-or.ll |
 | llvm/test/CodeGen/SystemZ/addr-01.ll |
 | llvm/test/CodeGen/Hexagon/isel-global-offset-alignment.ll |
 | llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp |
 | llvm/test/CodeGen/SystemZ/addr-02.ll |
Commit
50ad774777d28918c0b705712e59f8e9cd6d8e26
by zinenko[mlir][CAPI] Export mlirValueEqual in C API
Somehow it is not exported in C API.
Reviewed By: ftynse
Differential Revision: https://reviews.llvm.org/D105422
|
 | mlir/include/mlir-c/IR.h |
Commit
6e80e3bd1bef3e7408b29a6d7eda0efbb829a65f
by akuegelAdd Log1pOp to complex dialect.
Also add a lowering pattern from Complex to Standard/Math dialect.
Differential Revision: https://reviews.llvm.org/D105538
|
 | mlir/test/Conversion/ComplexToStandard/convert-to-standard.mlir |
 | mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp |
 | mlir/include/mlir/Dialect/Complex/IR/ComplexOps.td |
 | mlir/test/Dialect/Complex/ops.mlir |
Commit
8ae9ab43dd9eca7802db294d43d3192edddaf50e
by Dylan.Fleming[SVE] Fixed cast<FixedVectorType> on scalable vector in SelectionDAGBuilder::getUniformBase
Reviewed By: sdesmalen
Differential Revision: https://reviews.llvm.org/D105350
|
 | llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp |
 | llvm/test/CodeGen/AArch64/sve-masked-scatter.ll |
Commit
19885c7adf550ecaaf6191f45c5279d45290ca08
by mkazantsev[NFC] Remove duplicate function calls
Removed repeated call of L->getHeader(). Now using previously stored return value.
Patch by Dmitry Makogon!
Differential Revision: https://reviews.llvm.org/D105535 Reviewed By: mkazantsev
|
 | llvm/lib/Transforms/Scalar/LoopDeletion.cpp |
Commit
6829db727e9e67dfdb70dd0846ffd4e48e00a98d
by Louis Dionne[libc++] Implement copyable-box from Ranges
Differential Revision: https://reviews.llvm.org/D102135
|
 | libcxx/test/libcxx/ranges/range.adaptors/range.copy.wrap/assign.move.pass.cpp |
 | libcxx/include/CMakeLists.txt |
 | libcxx/test/libcxx/ranges/range.adaptors/range.copy.wrap/assign.copy.pass.cpp |
 | libcxx/test/libcxx/ranges/range.adaptors/range.copy.wrap/has_value.pass.cpp |
 | libcxx/include/__ranges/copyable_box.h |
 | libcxx/test/libcxx/ranges/range.adaptors/range.copy.wrap/ctor.in_place.pass.cpp |
 | libcxx/test/libcxx/ranges/range.adaptors/range.copy.wrap/no_unique_address.pass.cpp |
 | libcxx/test/libcxx/ranges/range.adaptors/range.copy.wrap/types.h |
 | libcxx/test/libcxx/ranges/range.adaptors/range.copy.wrap/properties.compile.pass.cpp |
 | libcxx/test/libcxx/ranges/range.adaptors/range.copy.wrap/ctor.default.pass.cpp |
 | libcxx/include/module.modulemap |
 | libcxx/test/libcxx/ranges/range.adaptors/range.copy.wrap/deref.pass.cpp |
Commit
645e599e9361afc85c77ec76f724e6ffd1822ca8
by llvmgnsyncbot[gn build] Port 6829db727e9e
|
 | llvm/utils/gn/secondary/libcxx/include/BUILD.gn |
Commit
a7da0296a663094e661c54a5ba2c4ce0239c312b
by llvm-dev[CostModel][X86] Adjust sitofp/uitofp SSE/AVX legalized costs based on llvm-mca reports.
Update (mainly) vXi8/vXi16 -> vXf32/vXf64 sitofp/uitofp costs based on the worst case costs from the script in D103695.
Move to using legalized types wherever possible, which allows us to prune the cost tables.
|
 | llvm/test/Transforms/SLPVectorizer/X86/uitofp.ll |
 | llvm/test/Analysis/CostModel/X86/sitofp.ll |
 | llvm/test/Transforms/SLPVectorizer/X86/sitofp-inseltpoison.ll |
 | llvm/test/Transforms/SLPVectorizer/X86/sitofp.ll |
 | llvm/test/Analysis/CostModel/X86/cast.ll |
 | llvm/lib/Target/X86/X86TargetTransformInfo.cpp |
 | llvm/test/Analysis/CostModel/X86/uitofp.ll |
Commit
9a0af63d05eeec8d333af147f3f1bda1efe63b30
by nicolas.vasilache[mlir][Linalg] Proper handling of ForOp and TiledLoopOp
The `bufferizesToMemoryRead` condition was too optimistics in the case of operands that map to a block argument. This is the case for ForOp and TiledLoopOp. For such ops, forward the call to all uses of the matching BBArg.
Differential Revision: https://reviews.llvm.org/D105540
|
 | mlir/test/Dialect/Linalg/comprehensive-module-bufferize-analysis.mlir |
 | mlir/lib/Dialect/Linalg/Transforms/ComprehensiveBufferize.cpp |
Commit
35df2f6fbd1ae2e6f9313454e5446212fcbcf90a
by nicolas.vasilacheRefactor GenericPadTensorOpVectorizationPattern
Refactor the original code to rewrite a PadTensorOp into a sequence of InitTensorOp, FillOp and InsertSliceOp without vectorization by default. `GenericPadTensorOpVectorizationPattern` provides a customized OptimizeCopyFn to vectorize the copying step.
Reviewed By: silvas, nicolasvasilache, springerm
Differential Revision: https://reviews.llvm.org/D105293
|
 | mlir/test/Dialect/Linalg/generalize-pad-tensor.mlir |
 | mlir/lib/Dialect/Linalg/Transforms/Bufferize.cpp |
 | mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp |
 | mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp |
 | mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h |
 | mlir/test/lib/Dialect/Linalg/TestLinalgTransforms.cpp |
 | mlir/test/Integration/Dialect/Linalg/CPU/test-padtensor.mlir |
Commit
d0b282e10bc91ea19a9b1a0ca4ed81d0c65e7cd3
by nicolas.vasilache[mlir][Linalg] Rewrite PadTensorOp to enable its comprehensive bufferization.
Add the rewrite of PadTensorOp to InitTensor + InsertSlice before the bufferization analysis starts.
This is exercised via a more advanced integration test.
Since the new behavior triggers folding, 2 tests need to be updated. One of those seems to exhibit a folding issue with `switch` and is modified.
Differential Revision: https://reviews.llvm.org/D105549
|
 | mlir/test/Dialect/Linalg/comprehensive-module-bufferize-analysis.mlir |
 | mlir/test/Dialect/Linalg/comprehensive-module-bufferize-invalid.mlir |
 | mlir/lib/Dialect/Linalg/Transforms/ComprehensiveBufferize.cpp |
 | mlir/test/Integration/Dialect/Linalg/CPU/test-comprehensive-bufferize.mlir |
Commit
6412a13539ab2914eed8e1df83c399b9a16e3408
by pifon[mlir] Move common reshapeops-related code to ReshapeOpsUtils.h.
This is a first step to move (Tensor)Expand/CollapseShapeOp to tensor/memref dialects.
Differential Revision: https://reviews.llvm.org/D105547
|
 | mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp |
 | mlir/lib/Dialect/Utils/CMakeLists.txt |
 | mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp |
 | mlir/lib/Conversion/TosaToLinalg/CMakeLists.txt |
 | mlir/include/mlir/Dialect/Linalg/IR/LinalgOps.h |
 | mlir/lib/Dialect/Utils/ReshapeOpsUtils.cpp |
 | mlir/include/mlir/Dialect/Utils/ReshapeOpsUtils.h |
Commit
b3c80dd8943a0d962bea1969b7a9e0147504d293
by a.bataev[OPENMP]Remove const firstprivate allocation as a variable in a constant space.
Current implementation is not compatible with asynchronous target regions, need to remove it.
Differential Revision: https://reviews.llvm.org/D105375
|
 | clang/lib/CodeGen/CGOpenMPRuntime.h |
 | clang/lib/CodeGen/CGOpenMPRuntime.cpp |
 | clang/lib/CodeGen/CGStmtOpenMP.cpp |
 | clang/test/OpenMP/target_firstprivate_codegen.cpp |
 | clang/test/OpenMP/nvptx_target_firstprivate_codegen.cpp |
 | clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp |
 | clang/lib/CodeGen/CGOpenMPRuntimeGPU.h |
Commit
4c7e9a38529341293d8a4096ed2354aa518237f2
by llvm-dev[CostModel][X86] Adjust sext/zext SSE/AVX legalized costs based on llvm-mca reports.
Update costs based on the worst case costs from the script in D103695.
Move to using legalized types wherever possible, which allows us to prune the cost tables.
|
 | llvm/test/Analysis/CostModel/X86/extend.ll |
 | llvm/lib/Target/X86/X86TargetTransformInfo.cpp |
 | llvm/test/Analysis/CostModel/X86/arith-overflow.ll |
 | llvm/test/Transforms/SLPVectorizer/X86/sext.ll |
 | llvm/test/Analysis/CostModel/X86/reduce-mul.ll |
 | llvm/test/Transforms/SLPVectorizer/X86/zext.ll |
 | llvm/test/Analysis/CostModel/X86/masked-intrinsic-cost.ll |
 | llvm/test/Analysis/CostModel/X86/min-legal-vector-width.ll |
 | llvm/test/Analysis/CostModel/X86/arith-fix.ll |
 | llvm/test/Analysis/CostModel/X86/intrinsic-cost-kinds.ll |
 | llvm/test/Analysis/CostModel/X86/uitofp.ll |
 | llvm/test/Analysis/CostModel/X86/rem.ll |
 | llvm/test/Analysis/CostModel/X86/masked-intrinsic-cost-inseltpoison.ll |
 | llvm/test/Analysis/CostModel/X86/cast.ll |
 | llvm/test/Transforms/SLPVectorizer/X86/sext-inseltpoison.ll |
 | llvm/test/Analysis/CostModel/X86/arith.ll |
 | llvm/test/Transforms/SLPVectorizer/X86/zext-inseltpoison.ll |
 | llvm/test/Analysis/CostModel/X86/sitofp.ll |
 | llvm/test/Analysis/CostModel/X86/sse-itoi.ll |
Commit
6de42e104f325f5f4bcb67d808fc3ad9fe4a66bb
by llvm-dev[IndVarSimplify][X86] Regenerate loop-invariant-conditions.ll test checks
|
 | llvm/test/Transforms/IndVarSimplify/X86/loop-invariant-conditions.ll |
Commit
ee6ca9c7dfd900b2906e5e457666287212b2c378
by zarko[AIX] Use VSSRC/VSFRC Register classes for f32/f64 callee arguments on P8 and above
Adding usage of VSSRC and VSFRC when adding the live in registers on AIX. This matches the behaviour of the rest of PPC Subtargets.
Reviewed By: nemanjai, #powerpc
Differential Revision: https://reviews.llvm.org/D104396
|
 | llvm/test/CodeGen/PowerPC/aix-p8vector-liveins.ll |
 | llvm/lib/Target/PowerPC/PPCISelLowering.cpp |
Commit
033de11150d3f34679ff5447600b99bb0c511ea6
by aschwaighofer[coro async] Move code to proper switch
While upstreaming patches this code somehow was applied to the wrong switch statement.
Differential Revision: https://reviews.llvm.org/D105504
|
 | llvm/lib/Transforms/Coroutines/CoroSplit.cpp |
Commit
d6595278291425804d05985652831d2781abdf06
by pifon[mlir] Use indices instead of affine maps when composing 2 reshape ops.
https://llvm.discourse.group/t/rfc-reshape-ops-restructuring/3310
Differential Revision: https://reviews.llvm.org/D105550
|
 | mlir/include/mlir/Dialect/Utils/ReshapeOpsUtils.h |
 | mlir/lib/Dialect/Utils/ReshapeOpsUtils.cpp |
Commit
97215fe3f4d51977d7f4bbc65249ccfc0212a8ae
by sander.desmalen[CostModel] Express cost(urem) as cost(div+mul+sub) when set to Expand.
The Legalizer expands the operations of urem/srem into a div+mul+sub or divrem when those are legal/custom. This patch changes the cost-model to reflect that cost.
Since there is no 'divrem' Instruction in LLVM IR, the cost of divrem is assumed to be the same as div+mul+sub since the three operations will need to be executed at runtime regardless.
Patch co-authored by David Sherwood (@david-arm)
Reviewed By: RKSimon, paulwalker-arm
Differential Revision: https://reviews.llvm.org/D103799
|
 | llvm/test/Analysis/CostModel/AArch64/sve-remainder.ll |
 | llvm/include/llvm/CodeGen/BasicTTIImpl.h |
 | llvm/test/Analysis/CostModel/ARM/divrem.ll |
 | llvm/test/Analysis/CostModel/X86/rem.ll |
Commit
feef171f762aa205b5f993e127b364f501a4d002
by Louis Dionne[libc++] NFC: Fix incorrect comments in CMake
|
 | libcxxabi/test/CMakeLists.txt |
 | libcxx/test/CMakeLists.txt |
Commit
2e4ec3e5d6a3bf7f61bea6898286cba64be7b764
by tstellarunittests: Fix build with LLVM_LINK_LLVM_DYLIB=ON
The build system was linking the PluginsTests unittest against libLLVM.so and LLVMAsmParser which was causing the test to fail with this error:
LLVM ERROR: inconsistency in registered CommandLine options
We need to add llvm libraries to LLVM_LINK_COMPONENTS so that they are dropped from the linker arguments when linking with LLVM_LINK_LLVM_DYLIB=ON
Reviewed By: aeubanks
Differential Revision: https://reviews.llvm.org/D105523
|
 | llvm/unittests/Passes/CMakeLists.txt |
Commit
2c03d92ee637537c0d6ea4ba05474d41b3131bd7
by tstellarunittests: Fix library dependency name
Corrects the library name of LLVMAsmParser added in 2e4ec3e5d6a3bf7f61bea6898286cba64be7b764.
|
 | llvm/unittests/Passes/CMakeLists.txt |
Commit
b55aedd0b8cf6dbd6d3d08e1a9a40fd73eb6b2dc
by patacca[Polly][Isl] Use isl::union_set::unite() instead of isl::union_set::add_set(). NFC
This is part of an effort to reduce the differences between the custom C++ bindings used right now by polly in `lib/External/isl/include/isl/isl-noxceptions.h` and the official isl C++ interface.
Changes made: - Use `isl::union_set::unite()` instead of `isl::union_set::add_set()` - `isl-noexceptions.h` has been generated by this https://github.com/patacca/isl/commit/390c44982b5cee7eb43f8f7a80e185e6d21466b2
Depends on D104994
Reviewed By: Meinersbur
Differential Revision: https://reviews.llvm.org/D105444
|
 | polly/lib/Transform/DeLICM.cpp |
 | polly/lib/Support/ISLTools.cpp |
 | polly/lib/Transform/MaximalStaticExpansion.cpp |
 | polly/lib/External/isl/include/isl/isl-noexceptions.h |
 | polly/lib/Transform/ZoneAlgo.cpp |
 | polly/unittests/DeLICM/DeLICMTest.cpp |
 | polly/lib/Analysis/DependenceInfo.cpp |
Commit
7215dcfe3688eea82648136e812753539f30c08f
by Dylan.Fleming[SVE] Fix ShuffleVector cast<FixedVectorType> in truncateToMinimalBitwidths
Depends on D104239
Reviewed By: sdesmalen
Differential Revision: https://reviews.llvm.org/D105341
|
 | llvm/lib/Transforms/Vectorize/LoopVectorize.cpp |
 | llvm/test/Transforms/LoopVectorize/scalable-trunc-min-bitwidth.ll |
Commit
5888a194c1043b20bb2e4039ca28ef2a1e63e796
by irina.dobrescu[AArch64][GlobalISel] Lower vector types for min/max
Differential Revision: https://reviews.llvm.org/D105433
|
 | llvm/test/CodeGen/AArch64/GlobalISel/legalize-min-max.mir |
 | llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp |
Commit
723144665b7f7afe1555e69eeb3c705c8044d7d0
by listmail[LV] Unconditionally branch from middle to scalar preheader if the scalar loop must execute (try 4)
Resubmit after the following changes:
* Fix a latent bug related to unrolling with required epilogue (see e49d65f). I believe this is the cause of the prior PPC buildbot failure. * Disable non-latch exits for epilogue vectorization to be safe (9ffa90d) * Split out assert movement (600624a) to reduce churn if this gets reverted again.
Previous commit message (try 3)
Resubmit after fixing test/Transforms/LoopVectorize/ARM/mve-gather-scatter-tailpred.ll
Previous commit message...
This is a resubmit of 3e5ce4 (which was reverted by 7fe41ac). The original commit caused a PPC build bot failure we never really got to the bottom of. I can't reproduce the issue, and the bot owner was non-responsive. In the meantime, we stumbled across an issue which seems possibly related, and worked around a latent bug in 80e8025. My best guess is that the original patch exposed that latent issue at higher frequency, but it really is just a guess.
Original commit message follows...
If we know that the scalar epilogue is required to run, modify the CFG to end the middle block with an unconditional branch to scalar preheader. This is instead of a conditional branch to either the preheader or the exit block.
The motivation to do this is to support multiple exit blocks. Specifically, the current structure forces us to identify immediate dominators and *which* exit block to branch from in the middle terminator. For the multiple exit case - where we know require scalar will hold - these questions are ill formed.
This is the last change needed to support multiple exit loops, but since the diffs are already large enough, I'm going to land this, and then enable separately. You can think of this as being NFCIish prep work, but the changes are a bit too involved for me to feel comfortable tagging the review that way.
Differential Revision: https://reviews.llvm.org/D94892
|
 | llvm/test/Transforms/LoopVectorize/ARM/mve-gather-scatter-tailpred.ll |
 | llvm/test/Transforms/LoopVectorize/interleaved-accesses.ll |
 | llvm/test/Transforms/LoopVectorize/unroll_nonlatch.ll |
 | llvm/test/Transforms/LoopVectorize/first-order-recurrence-complex.ll |
 | llvm/lib/Transforms/Vectorize/LoopVectorize.cpp |
 | llvm/test/Transforms/LoopVectorize/loop-form.ll |
Commit
d0fe294729a2ac45625ed45a5619c8405a14db49
by Daniel.McIntosh[SystemZ][z/OS][libcxx] mark aligned allocation tests UNSUPPORTED on z/OS
zOS doesn't support aligned allocation, so these tests are failing. For more details on aligned allocation in zOS, see https://reviews.llvm.org/D87611 and https://reviews.llvm.org/D90178
Reviewed By: ldionne, #libc
Differential Revision: https://reviews.llvm.org/D102798
|
 | libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_align_val_t_nothrow.pass.cpp |
 | libcxx/test/libcxx/language.support/support.dynamic/libcpp_deallocate.sh.cpp |
 | libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_align_val_t_nothrow.pass.cpp |
 | libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/delete_align_val_t_replace.pass.cpp |
 | libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_align_val_t_replace.pass.cpp |
 | libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_align_val_t_nothrow_replace.pass.cpp |
 | libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_align_val_t.pass.cpp |
 | libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/delete_align_val_t_replace.pass.cpp |
 | libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_align_val_t_replace.pass.cpp |
 | libcxx/test/libcxx/language.support/support.dynamic/new_faligned_allocation.pass.cpp |
 | libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_align_val_t.pass.cpp |
 | libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_align_val_t_nothrow_replace.pass.cpp |
Commit
366805ea175e12d98903e35854c9898964fecde2
by andre.simoesdiasvieira[LIBC] Add an optimized memcmp implementation for AArch64
Differential Revision: https://reviews.llvm.org/D105441
|
 | libc/test/src/string/memcmp_test.cpp |
 | libc/src/string/memory_utils/elements_aarch64.h |
 | libc/test/src/string/CMakeLists.txt |
 | libc/src/string/CMakeLists.txt |
 | libc/src/string/aarch64/memcmp.cpp |
 | libc/src/string/memory_utils/elements.h |
Commit
2937f8d14840f54bb10daf71c7af236f4d897884
by aschwaighofer[coro async] Cap the alignment of spilled values (vs. allocas) at the max frame alignment
Before this patch we would normally use the ABI alignment which can be to high for the context alginment.
For spilled values we don't need ABI alignment, since the frame entry's address is not escaped.
rdar://79664965
Differential Revision: https://reviews.llvm.org/D105288
|
 | llvm/test/Transforms/Coroutines/coro-async.ll |
 | llvm/lib/Transforms/Coroutines/CoroFrame.cpp |
Commit
29cc50e17a6800ca75cd23ed85ae1ddf3e3dcc14
by Raphael Isemann[LLDB][GUI] Add initial forms support
This patch adds initial support for forms for the LLDB GUI. The currently supported form elements are Text fields, Integer fields, Boolean fields, Choices fields, File fields, Directory fields, and List fields.
A form can be created by subclassing FormDelegate. In the constructor, field factory methods can be used to add new fields, storing the returned pointer in a member variable. One or more actions can be added using the AddAction method. The method takes a function with an interface void(Window &). This function will be executed whenever the user executes the action.
Example form definition:
```lang=cpp class TestFormDelegate : public FormDelegate { public: TestFormDelegate() { m_text_field = AddTextField("Text", "The big brown fox."); m_file_field = AddFileField("File", "/tmp/a"); m_directory_field = AddDirectoryField("Directory", "/tmp/"); m_integer_field = AddIntegerField("Number", 5); std::vector<std::string> choices; choices.push_back(std::string("Choice 1")); choices.push_back(std::string("Choice 2")); choices.push_back(std::string("Choice 3")); choices.push_back(std::string("Choice 4")); choices.push_back(std::string("Choice 5")); m_choices_field = AddChoicesField("Choices", 3, choices); m_bool_field = AddBooleanField("Boolean", true); TextFieldDelegate default_field = TextFieldDelegate("Text", "The big brown fox."); m_text_list_field = AddListField("Text List", default_field);
AddAction("Submit", [this](Window &window) { Submit(window); }); }
void Submit(Window &window) { SetError("An example error."); }
protected: TextFieldDelegate *m_text_field; FileFieldDelegate *m_file_field; DirectoryFieldDelegate *m_directory_field; IntegerFieldDelegate *m_integer_field; BooleanFieldDelegate *m_bool_field; ChoicesFieldDelegate *m_choices_field; ListFieldDelegate<TextFieldDelegate> *m_text_list_field; }; ```
Reviewed By: clayborg
Differential Revision: https://reviews.llvm.org/D104395
|
 | lldb/source/Core/IOHandlerCursesGUI.cpp |
Commit
d8fc4e9c0d697b0a3569c2652a2eff284c4d38c8
by johannes[Flang][Docs] Update meeting URL
|
 | flang/docs/GettingInvolved.md |
Commit
d7e65757ed8f2dfe17b71cf169a3c83a155d1c2b
by thakis[lld/mac] Tweak reserve() argument in unwind code
addEntriesForFunctionsWithoutUnwindInfo() can add entries to cuVector, so cuCount can be stale. Use cuVector.size() instead.
No behavior change.
|
 | lld/MachO/UnwindInfoSection.cpp |
Commit
ded8866f4a4600c69f3d1d6f5e0c9ec7bd9ade45
by llvm-dev[X86][Atom] Fix vector fp<->int resource/throughputs
Match whats documented in the Intel AOM - almost all the conversion instructions requires BOTH ports (apart from the MMX cvtpi2ps/cvtpi2ps instructions which we already override) - this was being incorrectly modelled as EITHER port.
Now that we can use in-order models in llvm-mca, the atom model is a good "worst case scenario" analysis for x86.
|
 | llvm/test/tools/llvm-mca/X86/Atom/resources-sse1.s |
 | llvm/lib/Target/X86/X86ScheduleAtom.td |
 | llvm/test/tools/llvm-mca/X86/Atom/resources-sse2.s |
Commit
223261cbaa6b4c74cf9eebca3452ec0d15ea018e
by gchateletFix broken libc test
|
 | libc/test/src/string/memcmp_test.cpp |
Commit
d4cb286b05f5192f6cbae310bd30cad3f05f13ac
by walter erquinigo[NFC][lldb-vscode] Fix launch test
Using br for creating breakpoints fails if there are other commands that start with br.
|
 | lldb/test/API/tools/lldb-vscode/launch/TestVSCode_launch.py |
Commit
8a7b5ebf4d8fd5f4cfe1daf72e0e58df7f716e4c
by thakis[lld/mac] Don't crash when dead-stripping removes all unwind info
If the input has compact unwind info but all of it is removed after dead stripping, we would crash. Now we don't write any __unwind_info section at all, like ld64.
This is a bit awkward to implement because we only know the final state of unwind info after UnwindInfoSectionImpl<Ptr>::finalize(), which is called after sections are added. So add a small amount of bookkeeping to relocateCompactUnwind() instead (which runs earlier) so that we can predict what finalize() will do before it runs.
Fixes PR51010.
Differential Revision: https://reviews.llvm.org/D105557
|
 | lld/MachO/UnwindInfoSection.cpp |
 | lld/MachO/UnwindInfoSection.h |
 | lld/test/MachO/compact-unwind.s |
Commit
e25a384055fc19f7dd300a4cdaed73f7ff6d0770
by vyng[lld-macho][nfc] Rename test file to be more descriptive (rather than referencing the bug number)
Differential Revision: https://reviews.llvm.org/D105559
|
 | lld/test/MachO/bug_50812.s |
 | lld/test/MachO/obj-file-with-stabs.s |
Commit
f5603aa050cefff9052e9085920f3aa2d1d31b86
by efriedma[ScalarEvolution] Make sure getMinusSCEV doesn't negate pointers.
Add a function removePointerBase that returns, essentially, S - getPointerBase(S). Use it in getMinusSCEV instead of actually subtracting pointers.
Differential Revision: https://reviews.llvm.org/D105503
|
 | llvm/lib/Analysis/ScalarEvolution.cpp |
Commit
d2e32fa493a272c21dee2c6cbf52e501f9ee3908
by yitzhakm[libTooling] Add support for implicit `this` to `buildAddressOf`.
Changes `buildAddressOf` to return `this` when given an implicit `this` expression.
Differential Revision: https://reviews.llvm.org/D105551
|
 | clang/unittests/Tooling/SourceCodeBuildersTest.cpp |
 | clang/lib/Tooling/Transformer/SourceCodeBuilders.cpp |
Commit
3ebfeb258698db82b7525cfaa1efd04db93d72ba
by Raphael Isemann[lldb][docs] Force documentation emission of special Python class members
The current LLDB Python docs are missing documentation for all the special members such as conversion functions (`__int__`) and other special functions (`__len__`).
The reason for that is that the `automodapi` plugin we're using to generate the *.rst files simply doesn't emit them. There doesn't seem to be any config option to enable those in `automodapi` and it's not even clear why they are filtered. I assume the leading underscore in their names makes them look like private methods.
This patch just forcibly adds a few selected special members functions to the list of functions that sphinx should always document. This will cause sphinx to warn if a class doesn't have one of those functions but it's better than not having them documented.
The main motivation here is that since `SBAddress.__int__` is one of the few functions that is only available in the embedded Python REPL which would be good to have in the public documentation.
Fixes rdar://64647665
Reviewed By: JDevlieghere
Differential Revision: https://reviews.llvm.org/D105480
|
 | lldb/docs/conf.py |
Commit
e81ba283131cf76ae62fa9b601a24d080578efaa
by pctammela[lldb/lua] Add scripted watchpoints for Lua
Add support for Lua scripted watchpoints, with basic tests.
Differential Revision: https://reviews.llvm.org/D105034
|
 | lldb/bindings/lua/lua-swigsafecast.swig |
 | lldb/source/Plugins/ScriptInterpreter/Lua/Lua.h |
 | lldb/source/Plugins/ScriptInterpreter/Lua/ScriptInterpreterLua.h |
 | lldb/bindings/lua/lua-wrapper.swig |
 | lldb/test/Shell/ScriptInterpreter/Lua/watchpoint_callback.test |
 | lldb/unittests/ScriptInterpreter/Lua/LuaTests.cpp |
 | lldb/source/Plugins/ScriptInterpreter/Lua/ScriptInterpreterLua.cpp |
 | lldb/source/Plugins/ScriptInterpreter/Lua/Lua.cpp |
Commit
3c5721d77275d2a7bdaeeadd0b1c3864f1166110
by aaronFix a failing assertion with -Wcast-align
When there is unknown type in a struct in code compiled with -Wcast-align, the compiler crashes due to clang::ASTContext::getASTRecordLayout() failing an assert.
Added check that the RecordDecl is valid before calling getASTRecordLayout().
|
 | clang/lib/Sema/SemaChecking.cpp |
 | clang/test/Sema/warn-cast-align.c |
Commit
291025389c2c84cde840c54f6c400d59d79be8b9
by thomasraoux[mlir][vector] Refactor Vector Unrolling and remove Tuple ops
Simplify vector unrolling pattern to be more aligned with rest of the patterns and be closer to vector distribution. The new implementation uses ExtractStridedSlice/InsertStridedSlice instead of the Tuple ops. After this change the ops based on Tuple don't have any more used so they can be removed.
This allows removing signifcant amount of dead code and will allow extending the unrolling code going forward.
Differential Revision: https://reviews.llvm.org/D105381
|
 | mlir/test/Integration/Dialect/Vector/CPU/test-contraction.mlir |
 | mlir/include/mlir/Dialect/Vector/VectorUtils.h |
 | mlir/include/mlir/Dialect/Vector/VectorOps.h |
 | mlir/lib/Dialect/Vector/VectorOps.cpp |
 | mlir/test/Dialect/Vector/vector-slices-transforms.mlir |
 | mlir/test/Integration/Dialect/Vector/CPU/test-transpose.mlir |
 | mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir |
 | mlir/test/Dialect/Vector/vector-transforms.mlir |
 | mlir/test/Dialect/Vector/vector-transfer-unroll.mlir |
 | mlir/test/Dialect/Vector/invalid.mlir |
 | mlir/test/Integration/Dialect/Vector/CPU/test-extract-slices.mlir |
 | mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVMPass.cpp |
 | mlir/lib/Dialect/Vector/VectorUtils.cpp |
 | mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp |
 | mlir/include/mlir/Dialect/Vector/VectorOps.td |
 | mlir/include/mlir/Dialect/Vector/VectorTransforms.h |
 | mlir/lib/Dialect/Vector/VectorTransforms.cpp |
 | mlir/test/Integration/Dialect/Vector/CPU/test-insert-slices.mlir |
 | mlir/test/Dialect/Vector/ops.mlir |
Commit
71dc0f1c02cd00a431fc327b0ea86524fad28afe
by jianzhouzh[dfsan][NFC] Add Origin Tracking into doc
Reviewed By: morehouse
Differential Revision: https://reviews.llvm.org/D105378
|
 | clang/docs/DataFlowSanitizer.rst |
Commit
da289a174fc6617c7be37be2947480510fd4f02a
by silvasean[mlir] Allow conversion to LLVM for ElementsAttr's with size 0
The code seems to correctly handle the case that this assertion was guarding.
Differential Revision: https://reviews.llvm.org/D105379
|
 | mlir/test/Target/LLVMIR/llvmir.mlir |
 | mlir/lib/Target/LLVMIR/ModuleTranslation.cpp |
Commit
97c473ad394ad9360cd89eda5a8e5aeb4b5d90fe
by spatel[SLP] rename variable to not be misleading; NFC
The reduction matching was probably only dealing with binops when it was written, but we have now generalized it to handle select and intrinsics too, so assert on that too.
|
 | llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp |
Commit
84c15bc018fa2b64f36790ae06f76c418a5407ad
by nikita.ppv[SCEVExpander] Support opaque pointers
This adds support for opaque pointers to expandAddToGEP() by always generating an i8 GEP for opaque pointers. After looking at some other cases (constexpr GEP folding, SROA GEP generation), I've come around to the idea that we should use i8 GEPs for opaque pointers, because the alternative would be to guess a GEP type from surrounding code, which will not be reliable. Ultimately, i8 GEPs is where we want to end up anyway, and opaque pointers just make that the natural choice.
There are a couple of other places in SCEVExpander that check pointer element types, I plan to update those when I run across usable test coverage that doesn't assert elsewhere.
Differential Revision: https://reviews.llvm.org/D105398
|
 | llvm/test/Transforms/LoopStrengthReduce/opaque-ptr.ll |
 | llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp |
Commit
6a06dbafa14e3bdd8eef604254e8acea8f513b2c
by nemanja.i.ibm[PowerPC] Disable permuted SCALAR_TO_VECTOR on LE without direct moves
There are some patterns involving the permuted scalar to vector node for which we don't have patterns without direct moves on little endian subtargets. This causes selection errors. While we can of course add the missing patterns, any additional effort to make this work is not useful since there is no support for any CPU that can run in little endian mode and does not support direct moves.
|
 | llvm/test/CodeGen/PowerPC/pr47916.ll |
 | llvm/lib/Target/PowerPC/PPCISelLowering.cpp |
 | llvm/test/CodeGen/PowerPC/canonical-merge-shuffles.ll |
Commit
d20b013b490e0603ba21b5ccff966d7e11025775
by martin[COFF] [CodeView] Add a few new enum values
These are undocumented, but are visible in the SDK headers since some versions ago.
Differential Revision: https://reviews.llvm.org/D105513
|
 | llvm/lib/ObjectYAML/COFFYAML.cpp |
 | llvm/include/llvm/DebugInfo/CodeView/CodeView.h |
 | llvm/lib/DebugInfo/CodeView/EnumTables.cpp |
 | llvm/include/llvm/BinaryFormat/COFF.h |
Commit
7a7da69fbe288de088bfee47d2f7c21da2132085
by martin[LLD] [COFF] Avoid thread exhaustion on 32-bit Windows host
LLD on 32-bit Windows would frequently fail on large projects with an exception "thread constructor failed: Exec format error". The stack trace pointed to this usage of std::async, and looking at the implementation in libc++ it seems using std::async with std::launch::async results in the immediate creation of a new thread for every call. This could result in a potentially unbounded number of threads, depending on the number of input files. This seems to be hitting some limit in 32-bit Windows host.
I took the easy route, and only use threads on 64-bit Windows, not all Windows as before. I was thinking a more proper solution might involve using a thread pool rather than blindly spawning any number of new threads, but that may have other unforeseen consequences.
Reviewed By: rnk
Differential Revision: https://reviews.llvm.org/D105506
|
 | lld/COFF/Driver.cpp |
Commit
9bcce1c9aab0b1752a6758eede23817bac80c489
by martin[CodeView] Add missing cases for new enum values
This fixes warnings while building llvm-pdbutil after d20b013b490e0603ba21b5ccff966d7e11025775.
|
 | llvm/tools/llvm-pdbutil/MinimalSymbolDumper.cpp |
Commit
eaf22ba0118a70c04ea866441207f54fb93e804a
by gh[MLIR] Provide lowering of std switch to llvm switch
This patch allows lowering of std switch to llvm switch
Differential Revision: https://reviews.llvm.org/D105580
|
 | mlir/test/Conversion/StandardToLLVM/convert-to-llvmir.mlir |
 | mlir/lib/Conversion/StandardToLLVM/StandardToLLVM.cpp |
Commit
9a11c70c1856f4e801d0863c552c754f28110237
by gh[SCF] Handle lowering of Execute region to Standard CFG
Lower SCF.executeregionop to llvm by essentially inlining the region and replacing the return
Differential Revision: https://reviews.llvm.org/D105567
|
 | mlir/lib/Conversion/SCFToStandard/SCFToStandard.cpp |
 | mlir/test/Conversion/SCFToStandard/convert-to-cfg.mlir |
Commit
85bac9d7f93419ad73cee42a87465d50286a46fe
by efriedma[AArch64] Simplify sve-breakdown-scalable-vectortype.ll.
Fix the calling convention so we don't spill every SVE register.
|
 | llvm/test/CodeGen/AArch64/sve-breakdown-scalable-vectortype.ll |
Commit
458c230b5ef893238d2471fcff27cd275e8026d5
by Adrian PrantlGlobalISel/AArch64: don't optimize away redundant branches at -O0
This patch prevents GlobalISel from optimizing out redundant branch instructions when compiling without optimizations.
The motivating example is code like the following common pattern in Swift, where users expect to be able to set a breakpoint on the early exit:
public func f(b: Bool) { guard b else { return // I would like to set a breakpoint here. } ... }
The patch modifies two places in GlobalISEL: The first one is in IRTranslator.cpp where the removal of redundant branches is made conditional on the optimization level. The second one is in AArch64InstructionSelector.cpp where an -O0 *only* optimization is being removed.
Disabling these optimizations increases code size at -O0 by ~8%. However, doing so improves debuggability, and debug builds are the primary reason why developers compile without optimizations. We thus concluded that this is the right trade-off.
rdar://79515454
Differential Revision: https://reviews.llvm.org/D105238
|
 | llvm/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator.ll |
 | llvm/test/CodeGen/AArch64/unwind-preserved.ll |
 | llvm/test/DebugInfo/AArch64/fallthrough-branch.ll |
 | llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp |
 | llvm/test/CodeGen/AArch64/GlobalISel/arm64-atomic.ll |
 | llvm/test/CodeGen/Mips/GlobalISel/llvm-ir/phi.ll |
 | llvm/test/CodeGen/Mips/GlobalISel/llvm-ir/jump_table_and_brjt.ll |
 | llvm/test/CodeGen/Mips/GlobalISel/llvm-ir/long_ambiguous_chain_s32.ll |
 | llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp |
 | llvm/test/CodeGen/Mips/GlobalISel/llvm-ir/long_ambiguous_chain_s64.ll |
Commit
8e22539067d9376c4f808b25f543feba728d40c9
by nikita.ppv[IR] Make some pointer element type accesses explicit (NFC)
Explicitly fetch the pointer element type in various deprecated methods, so we can hopefully remove support from this from the base GEP constructor.
|
 | llvm/include/llvm/IR/IRBuilder.h |
 | llvm/include/llvm/IR/Instructions.h |
Commit
cae3b831f4304d4487dd7c767ff88face51ea0dc
by i[llvm-nm] Switch command line parsing from llvm::cl to OptTable
Part of https://lists.llvm.org/pipermail/llvm-dev/2021-July/151622.html "Binary utilities: switch command line parsing from llvm::cl to OptTable"
Users should generally observe no difference as long as they only use intended option forms. Behavior changes:
* `-t=d` is removed. Use `-t d` instead. * `--demangle=0` cannot be used. Omit the option or use `--no-demangle` instead. * `--help-list` is removed. This is a `cl::` specific option.
Note:
* `-t` diagnostic gets improved. * This patch avoids cl::opt collision if we decide to support multiplexing for binary utilities * One-dash long options are still supported. * The `-s` collision (`-s segment section` for Mach-O) is unfortunate. `-s` means `--print-armap` in GNU nm. * This patch removes the last `cl::multi_val` use case from the `llvm/lib/Support/CommandLine.cpp` library
`-M` (`--print-armap`), `-U` (`--defined-only`), and `-W` (`--no-weak`) are now deprecated. They could conflict with future GNU nm options. (--print-armap has an existing alias -s, so GNU will unlikely add a new one. --no-weak (not in GNU nm) is rarely used anyway.)
`--just-symbol-name` is now deprecated in favor of `--format=just-symbols` and `-j`.
Reviewed By: jhenderson
Differential Revision: https://reviews.llvm.org/D105330
|
 | llvm/test/tools/llvm-nm/X86/radix.s |
 | llvm/test/tools/llvm-nm/just-symbols.test |
 | llvm/test/Object/nm-universal-binary.test |
 | llvm/test/tools/llvm-nm/format-sysv-layout.test |
 | llvm/tools/llvm-nm/llvm-nm.cpp |
 | llvm/docs/CommandGuide/llvm-nm.rst |
 | llvm/utils/gn/secondary/llvm/tools/llvm-nm/BUILD.gn |
 | llvm/tools/llvm-nm/CMakeLists.txt |
 | llvm/test/tools/llvm-nm/libtool-version.test |
 | utils/bazel/llvm-project-overlay/llvm/BUILD.bazel |
 | llvm/tools/llvm-nm/Opts.td |
 | llvm/docs/ReleaseNotes.rst |
 | llvm/test/tools/llvm-nm/format-bsd.test |
 | llvm/test/tools/llvm-nm/help.test |
Commit
e000b848e65c3fc7d3c153d15cd20bbd92d9427c
by nikita.ppv[IR] Simplify Attribute::getAsString() (NFC)
Avoid enumerating all attributes here and instead use getNameFromAttrKind(), which is based on the tablegen data.
This only leaves us with custom handling for int attributes, which don't have uniform printing.
|
 | llvm/lib/IR/Attributes.cpp |
Commit
f42bc8424e775e96bcf35925e80df26179418faa
by nikita.ppv[AsmWriter] Simplify type attribute printing (NFC)
Avoid enumerating all supported type attributes, instead fetch their name from the attribute kind.
|
 | llvm/lib/IR/AsmWriter.cpp |
Commit
ab0096de05709dd36b69155e08d156d073c69501
by david.green[ARM] Add some opaque pointer gather/scatter tests. NFC
They seem to work OK. Some other test cleanups at the same time.
|
 | llvm/test/CodeGen/Thumb2/mve-gather-ptrs.ll |
 | llvm/test/CodeGen/Thumb2/mve-gather-scatter-opt.ll |
 | llvm/test/CodeGen/Thumb2/mve-gather-scatter-optimisation.ll |
 | llvm/test/CodeGen/Thumb2/mve-scatter-ind32-unscaled.ll |
 | llvm/test/CodeGen/Thumb2/mve-gather-scatter-ptr-address.ll |
 | llvm/test/CodeGen/Thumb2/mve-scatter-increment.ll |
 | llvm/test/CodeGen/Thumb2/mve-scatter-ptrs.ll |
 | llvm/test/CodeGen/Thumb2/mve-gather-ind32-scaled.ll |
 | llvm/test/CodeGen/Thumb2/mve-gather-ind32-unscaled.ll |
 | llvm/test/CodeGen/Thumb2/mve-gather-scatter-tailpred.ll |
Commit
af3baf1761bb2fff4f5b27e51ccbe3a9340516b8
by patrickeholland[MCA] [AMDGPU] Adding an implementation to AMDGPUCustomBehaviour for handling s_waitcnt instructions.
This commit also makes some slight changes to the scheduling model for AMDGPU to set the RetireOOO flag for all scheduling classes.
This flag is only used by llvm-mca and allows instructions to retire out of order.
See the differential link below for a deeper explanation of everything.
Differential Revision: https://reviews.llvm.org/D104730
|
 | llvm/tools/llvm-mca/lib/AMDGPU/AMDGPUCustomBehaviour.cpp |
 | llvm/lib/Target/AMDGPU/SISchedule.td |
 | llvm/tools/llvm-mca/lib/AMDGPU/AMDGPUCustomBehaviour.h |
 | llvm/test/tools/llvm-mca/AMDGPU/gfx9-retireooo.s |
 | llvm/test/tools/llvm-mca/AMDGPU/gfx10-double.s |
Commit
81ee4952f122b49772e09a1da4e2e51577d1690a
by George Burgess IVutils: add a revert checker
Chrome OS and Android have found it useful to have an automated revert checker. It was requested to upstream it, since other folks in the LLVM community may also find value in it.
The tests depend on having a full (non-shallow) checkout of LLVM. This seems reasonable to me, since:
- the tests should only be run if the user is developing on this script - it's kind of hard to develop on this script without local git history :)
If people really want, the tests' dependency on LLVM's history can be removed. It's mostly just effort/complexity that doesn't seem necessary.
Differential Revision: https://reviews.llvm.org/D105578
|
 | llvm/utils/revert_checker_test.py |
 | llvm/utils/revert_checker.py |
Commit
d338e79a4cc1d52a6b5a1a241c2318a7288c0240
by aeubanks[OpaquePtr] Remove checking pointee type for byval/preallocated type
These currently always require a type parameter. The bitcode reader already upgrades old bitcode without the type parameter to use the pointee type.
In cases where the caller does not have byval but the callee does, we need to follow CallBase::paramHasAttr() and also look at the callee for the byval type so that CallBase::isByValArgument() and CallBase::getParamByValType() are in sync. Do the same for preallocated.
While we're here add a corresponding version for inalloca since we'll need it soon.
Reviewed By: nikic
Differential Revision: https://reviews.llvm.org/D104663
|
 | llvm/include/llvm/IR/InstrTypes.h |
 | llvm/unittests/IR/AttributesTest.cpp |
Commit
89f2d98b9870263106adfeb20c835d4751963cf7
by Jinsong Ji[PowerPC] Add P7 RUN line for load and splat test
|
 | llvm/test/CodeGen/PowerPC/load-and-splat.ll |
Commit
aad41e229966e3371256de6adf8f4812803efaf6
by aeubanks[OpaquePtr] Use ArgListEntry::IndirectType for lowering ABI attributes
Consolidate PreallocatedType and ByValType into IndirectType, and use that for inalloca.
|
 | llvm/include/llvm/CodeGen/TargetLowering.h |
 | llvm/lib/CodeGen/SelectionDAG/FastISel.cpp |
 | llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp |
 | llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp |
Commit
b81aa458afd023323dcd4400164f6a43d981d7de
by i[llvm-nm][test] Fix just-symbols.test
|
 | llvm/test/tools/llvm-nm/just-symbols.test |
Commit
966386514bec9366ca85d1599f4c866eee9f1927
by leonardchan[compiler-rt][hwasan] Setup hwasan thread handling on Fuchsia
This patch splits up hwasan thread creation between `__sanitizer_before_thread_create_hook`, `__sanitizer_thread_create_hook`, and `__sanitizer_thread_start_hook`. The linux implementation creates the hwasan thread object inside the new thread. On Fuchsia, we know the stack bounds before thread creation, so we can initialize part of the thread object in `__sanitizer_before_thread_create_hook`, then initialize the stack ring buffer in `__sanitizer_thread_start_hook` once we enter the thread.
Differential Revision: https://reviews.llvm.org/D104085
|
 | compiler-rt/lib/hwasan/CMakeLists.txt |
 | compiler-rt/lib/hwasan/hwasan_thread.cpp |
 | compiler-rt/lib/hwasan/hwasan_fuchsia.cpp |
Commit
2c60d22610325bcd6fb4c4bcc8b522b9fdfb46ee
by mizvekov[clang] disable P2266 simpler implicit moves under -fms-compatibility
The Microsoft STL currently has some issues with P2266. We disable it for now in that mode, but we might come back later with a more targetted approach.
Signed-off-by: Matheus Izvekov <mizvekov@gmail.com>
Reviewed By: aaron.ballman
Differential Revision: https://reviews.llvm.org/D105518
|
 | clang/test/SemaCXX/cxx2b-p2266-disable-with-msvc-compat.cpp |
 | clang/lib/Frontend/InitPreprocessor.cpp |
 | clang/lib/Sema/SemaStmt.cpp |
Commit
398bfa2eadbea371ab20f4dd8cadbef432b35627
by leonardchan[compiler-rt][Fuchsia] Disable interceptors while enabling new/delete replacements
This disables use of hwasan interceptors which we do not use on Fuchsia. This explicitly sets the macro for defining the hwasan versions of new/delete.
Differential Revision: https://reviews.llvm.org/D103544
|
 | compiler-rt/CMakeLists.txt |
 | compiler-rt/lib/hwasan/CMakeLists.txt |
Commit
0fdb25cd954c5aaf86259e713f03d119ab9f2700
by Stanislav.Mekhanoshin[AMDGPU] Disable garbage collection passes
Differential Revision: https://reviews.llvm.org/D105593
|
 | llvm/lib/CodeGen/GCRootLowering.cpp |
 | llvm/include/llvm/CodeGen/Passes.h |
 | llvm/lib/CodeGen/CodeGen.cpp |
 | llvm/lib/CodeGen/TargetPassConfig.cpp |
 | llvm/lib/CodeGen/ShadowStackGCLowering.cpp |
 | llvm/test/CodeGen/AMDGPU/llc-pipeline.ll |
 | llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp |
Commit
877e835addd78126a2ff2b8030af17a5ea92df09
by thakis[gn build] (semi-manually) port 966386514bec
|
 | llvm/utils/gn/secondary/compiler-rt/lib/hwasan/BUILD.gn |
Commit
74c308c56a2d0f000dfed3287311ce46a94ae3c8
by rupprecht[Bazel] Fixes for b5d847b1b95750d0af40cfc8c71a8fec50bb8613 and 6412a13539ab2914eed8e1df83c399b9a16e3408
|
 | utils/bazel/llvm-project-overlay/mlir/BUILD.bazel |
Commit
e37dbc6e5703c2755d5fb81949eb32f07bc6ebd6
by thakis[gn build] (manually) port ef16c8eaa5cd5679759 (MCACustomBehaviorAMDGPU)
|
 | llvm/utils/gn/secondary/llvm/tools/llvm-mca/BUILD.gn |
 | llvm/utils/gn/secondary/llvm/tools/llvm-mca/lib/AMDGPU/BUILD.gn |
Commit
31d10ea10ee1c24e6c7d7c172e52960717d41817
by Jinsong Ji[AIX] Don't pass no-integrated-as by default
D105314 added the abibility choose to use AsmParser for parsing inline asm. -no-intergrated-as will override this default if specified explicitly.
If toolchain choose to use MCAsmParser for inline asm, don't pass the option to disable integrated-as explictly unless set by user.
Reviewed By: #powerpc, shchenz
Differential Revision: https://reviews.llvm.org/D105512
|
 | clang/test/Driver/aix-as.c |
 | clang/lib/Driver/ToolChains/AIX.h |
 | clang/lib/Driver/ToolChains/Clang.cpp |
 | clang/include/clang/Driver/ToolChain.h |
 | clang/lib/Driver/ToolChains/AIX.cpp |
Commit
a22ecb4508288f6900ad9216ef1490ab72ad68ed
by qiucofan[PowerPC] Fix i64 to vector lowering on big endian
Lowering for scalar to vector would skip if current subtarget is big endian and the scalar is larger or equal than 64 bits. However there's some issue in implementation that SToVRHS may refer to SToVLHS's scalar size if SToVLHS is present, which leads to some crash.o
Reviewed By: nemanjai, shchenz
Differential Revision: https://reviews.llvm.org/D105094
|
 | llvm/test/CodeGen/PowerPC/p8-scalar_vector_conversions.ll |
 | llvm/lib/Target/PowerPC/PPCISelLowering.cpp |
Commit
d38b9f1f31b1fa8ee885cfcd4ee7bd69771088c8
by patrickehollandRevert "[MCA] [AMDGPU] Adding an implementation to AMDGPUCustomBehaviour for handling s_waitcnt instructions."
Build failures when building with shared libraries. Reverting until I can fix.
Differential Revision: https://reviews.llvm.org/D104730
|
 | llvm/test/tools/llvm-mca/AMDGPU/gfx10-double.s |
 | llvm/tools/llvm-mca/lib/AMDGPU/AMDGPUCustomBehaviour.cpp |
 | llvm/tools/llvm-mca/lib/AMDGPU/AMDGPUCustomBehaviour.h |
 | llvm/lib/Target/AMDGPU/SISchedule.td |
 | llvm/test/tools/llvm-mca/AMDGPU/gfx9-retireooo.s |
Commit
88efb59b7829a97b3ea7d847bd84e8905a7dee42
by Lang Hames[ORC] Fix file comments.
|
 | llvm/include/llvm/ExecutionEngine/Orc/Shared/OrcError.h |
Commit
5471766f9d16fbc5a82dd9503729747d901242a1
by Lang Hames[ORC] Replace MachOJITDylibInitializers::SectionExtent with ExecutorAddressRange
MachOJITDylibInitializers::SectionExtent represented the address range of a section as an (address, size) pair. The new ExecutorAddressRange type generalizes this to an address range (for any object, not necessarily a section) represented as a (start-address, end-address) pair.
The aim is to express more of ORC (and the ORC runtime) in terms of simple types that can be serialized/deserialized via SPS. This will simplify SPS-based RPC involving arguments/return-values of these types.
|
 | llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp |
 | llvm/include/llvm/ExecutionEngine/Orc/MachOPlatform.h |
 | llvm/include/llvm/ExecutionEngine/Orc/Shared/CommonOrcRuntimeTypes.h |