Commit
da47a63e039428fdf8f827381fa87c84f36581ef
by lebedev.ri[NFC][X86][Costmodel] Add AVX512DQ runlines to trunc.ll/extend.ll
|
 | llvm/test/Analysis/CostModel/X86/trunc.ll |
 | llvm/test/Analysis/CostModel/X86/extend.ll |
Commit
7dbbb5d3a46e1526cfa126ae02a5856d7ce0fda9
by dimitrycompiler-rt: Use FreeBSD's elf_aux_info to detect AArch64 HW features
Using the out-of-line LSE atomics helpers for AArch64 on FreeBSD also requires adding support for initializing __aarch64_have_lse_atomics correctly. On Linux this is done with getauxval(3), on FreeBSD with elf_aux_info(3), which has a slightly different interface.
Differential Revision: https://reviews.llvm.org/D109330
|
 | compiler-rt/lib/builtins/cpu_model.c |
Commit
fbfe8fcbc31d492d5538c09782b787bba89d01e5
by jhuber6[Libomptarget] Remove undefined symbol in old runtime
A function with no definition was left in the old runtime, causing linker errors when trying to compile.
Reviewed By: tianshilei1992
Differential Revision: https://reviews.llvm.org/D114264
|
 | openmp/libomptarget/deviceRTLs/target_interface.h |
Commit
ec7b0d4d3458cf42c4e40da2ea391b29ba1731dd
by uday[MLIR] Simplify Semi-affine expressions by rule based matching and replacing "expr - q * (expr floordiv q)" with "expr mod q" expression.
Add rule based matching for detecting and transforming "expr - q * (expr floordiv q)" to "expr mod q", where q is a symbolic exxpression, in simplifyAdd function.
Reviewed By: bondhugula, dcaballe
Differential Revision: https://reviews.llvm.org/D112985
|
 | mlir/test/Dialect/Affine/simplify-affine-structures.mlir |
 | mlir/lib/IR/AffineExpr.cpp |
Commit
401b76fdf2b328520cc71d829ea726b74bb2192f
by arthur.j.odwyer[libc++] [test] Eliminate libcpp-no-noexcept-function-type and libcpp-no-structured-bindings.
At this point, every supported compiler that claims a -std=c++17 mode should also support these features.
Differential Revision: https://reviews.llvm.org/D113436
|
 | libcxx/test/std/utilities/meta/meta.rel/is_nothrow_invocable.pass.cpp |
 | libcxx/utils/libcxx/test/features.py |
 | libcxxabi/test/catch_member_function_pointer_02.pass.cpp |
 | libcxxabi/test/catch_function_03.pass.cpp |
 | libcxx/test/std/utilities/tuple/tuple.tuple/tuple.helper/tuple_size_structured_bindings.pass.cpp |
Commit
1d007d0e5a929c3f5cb25aea18d6c8a16326c02e
by spatel[InstCombine] add tests for bitwise logic with bool op; NFC
|
 | llvm/test/Transforms/InstCombine/and.ll |
 | llvm/test/Transforms/InstCombine/or.ll |
Commit
337948ac6e2260fc4d5a1901b4f667a2a0a52ee3
by spatel[InstCombine] add folds for binop with sexted bool and constant operands
This is a generalization/extension of the existing and/or folds noted with TODO comments. Those have a one-use constraint that is not necessary.
Potential follow-ups are noted by the TODO comments in the new function. We can also call this function from other binop visit* functions, but we need to add tests first.
This solves: https://llvm.org/PR52543
https://alive2.llvm.org/ce/z/NWuCR5
|
 | llvm/lib/Transforms/InstCombine/InstCombineInternal.h |
 | llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp |
 | llvm/lib/Transforms/InstCombine/InstructionCombining.cpp |
 | llvm/test/Transforms/InstCombine/and.ll |
 | llvm/test/Transforms/InstCombine/or.ll |
Commit
cf8efbd30e430fdd87a8120430d8e44ce0909f76
by flo[VPlan] Wrap vector loop blocks in region.
A first step towards modeling preheader and exit blocks in VPlan as well. Keeping the vector loop in a region allows for changing the VF as we traverse region boundaries.
Reviewed By: Ayal
Differential Revision: https://reviews.llvm.org/D113182
|
 | llvm/test/Transforms/LoopVectorize/first-order-recurrence-sink-replicate-region.ll |
 | llvm/test/Transforms/LoopVectorize/vplan-dot-printing.ll |
 | llvm/test/Transforms/LoopVectorize/vplan-printing.ll |
 | llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-gep.ll |
 | llvm/lib/Transforms/Vectorize/LoopVectorize.cpp |
 | llvm/test/Transforms/LoopVectorize/icmp-uniforms.ll |
 | llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge.ll |
 | llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge-vf1.ll |
Commit
25a9ee52f139edc71043fbb218818aa735faa7b4
by nikita.ppv[CVP] Add tests for implied conditions using urem (NFC)
|
 | llvm/test/Transforms/CorrelatedValuePropagation/urem.ll |
Commit
cd84cab6b37f615d0babd0b1c7b9e3acef5586c2
by nikita.ppv[LVI] Support urem in implied conditions
If (X urem M) >= C we know that X >= C. Make use of this fact when computing the implied condition range.
In some cases we could also establish an upper bound, but that's both tricker and not interesting in practice.
Alive: https://alive2.llvm.org/ce/z/R5ZGSW
|
 | llvm/lib/Analysis/LazyValueInfo.cpp |
 | llvm/test/Transforms/CorrelatedValuePropagation/urem.ll |
Commit
0a2bde94a06cea489c33004d66f574204c771031
by nikita.ppv[LVI] Drop requirement that modulus is constant
If we're looking only at the lower bound, the actual modulus doesn't matter. This is a leftover from when I wanted to consider the upper bound as well, where the modulus does matter.
|
 | llvm/lib/Analysis/LazyValueInfo.cpp |
 | llvm/test/Transforms/CorrelatedValuePropagation/urem.ll |
Commit
fefe20b99313d6b0738806d1504652c3b7edb9e0
by flx[clang-tidy] performance-unnecessary-copy-initialization: Correctly match the type name of the thisPointertype.
The matching did not work correctly for pointer and reference types.
Differential Revision: https://reviews.llvm.org/D114212
Reviewed-by: courbet
|
 | clang-tools-extra/clang-tidy/performance/UnnecessaryCopyInitialization.cpp |
 | clang-tools-extra/test/clang-tidy/checkers/performance-unnecessary-copy-initialization-excluded-container-types.cpp |
Commit
aeba28bc62442f4d3a29cc189fd68fca48ee0612
by nikita.ppv[DSE] Drop hasAnalyzableMemoryWrite() (NFCI)
The functionality of hasAnalyzableMemoryWrite() is effectively subsumed by getLocForWriteEx(), which will return None if the instruction is not analyzable. The implementations don't match exactly (e.g. getLocForWriteEx() does not limit non-calls to stores), but in conjunction with the isRemovable() check, it ends up being the same.
|
 | llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp |
Commit
df70cf5e140966458039975fe94971846bcf901d
by lebedev.ri[NFC][X86][Costmodel] Actually test +prefer-256-bit in replication-shuffle-related tests :(
While -prefer-256-bit indeed becomes complete with D114314, the real-world (the one with +prefer-256-bit) coverage is lacking.
Hilarious.
|
 | llvm/test/Analysis/CostModel/X86/shuffle-replication-i8.ll |
 | llvm/test/Analysis/CostModel/X86/shuffle-replication-i64.ll |
 | llvm/test/Analysis/CostModel/X86/extend.ll |
 | llvm/test/Analysis/CostModel/X86/shuffle-replication-i16.ll |
 | llvm/test/Analysis/CostModel/X86/trunc.ll |
 | llvm/test/Analysis/CostModel/X86/shuffle-replication-i1.ll |
 | llvm/test/Analysis/CostModel/X86/shuffle-replication-i32.ll |
Commit
e74114add3b3e3caf9461ac019ce68b4cb2ab721
by arthur.j.odwyer[libc++] [doc] Mark some spaceship-related LWG issues as "Complete."
LWG3330 has been "Completed" since D99309, which was in the 13.x timeframe. Reviewed as part of D110738.
|
 | libcxx/docs/Status/SpaceshipPapers.csv |
 | libcxx/docs/Status/Cxx20Issues.csv |
Commit
dca681fee93e12d1e06733b607dec9f11d538151
by joeloser93[libc++][NFC] Fix typo in ranges::iterator_t synopsis
The `iterator_t` alias template is on `T` not a `R` like the other neighboring alias templates. Fix the typo.
|
 | libcxx/include/ranges |