- Jul 31, 2022
-
-
Craig Topper authored
Based on review feedback from D130816.
-
Simon Pilgrim authored
Noticed by inspection and I can't seem to make a test case, but SSE arithmetic bit shifts clamp to the max shift amount (i.e. create a sign splat) - combineVectorShiftImm already does something similar.
-
Dmitry Vassiliev authored
This patch fixes the error llvm/lib/CodeGen/MachineScheduler.cpp(755): error C2065: 'MISchedCutoff': undeclared identifier in case of NDEBUG and LLVM_ENABLE_ABI_BREAKING_CHECKS. Note MISchedCutoff is declared under #ifndef NDEBUG. Reviewed By: RKSimon Differential Revision: https://reviews.llvm.org/D130425
-
- Jul 30, 2022
-
-
Sanjay Patel authored
https://alive2.llvm.org/ce/z/vBNiiM This matches variants of patterns that were folded with: b5a9361c
-
Austin Kerbow authored
-
Simon Pilgrim authored
-
Simon Pilgrim authored
warning: '\returns' command used in a comment that is attached to a function returning void
-
Simon Pilgrim authored
[X86] combineSelect fold 'smin' style pattern select(pcmpgt(RHS, LHS), LHS, RHS) -> select(pcmpgt(LHS, RHS), RHS, LHS) if pcmpgt(LHS, RHS) already exists Avoids repeated commuted comparisons when we're performing min/max and clamp patterns
-
Nuno Lopes authored
-
Sanjay Patel authored
Follow-up to d4940c0f to further limit the transform to avoid an unintended pattern/fold of a constant expression.
-
Simon Pilgrim authored
-
Simon Pilgrim authored
-
Nuno Lopes authored
-
Luo, Yuanke authored
-
Simon Pilgrim authored
-
Simon Pilgrim authored
-
Simon Pilgrim authored
-
Konstantin Varlamov authored
Differential Revision: https://reviews.llvm.org/D130532
-
Alexander Shaposhnikov authored
For power-of-2 C: ((X s>> ShiftC) ^ X) u< C --> (X + C) u< (C << 1) ((X s>> ShiftC) ^ X) u> (C - 1) --> (X + C) u> ((C << 1) - 1) (https://github.com/llvm/llvm-project/issues/56479) Test plan: 0/ ninja check-llvm check-clang + bootstrap LLVM/Clang 1/ https://alive2.llvm.org/ce/z/eEUfx3 Differential revision: https://reviews.llvm.org/D130433
-
Nikolas Klauser authored
Fixes https://github.com/llvm/llvm-project/issues/56504 Reviewed By: ldionne, Mordante, huixie90, #libc Spies: libcxx-commits, hewillk Differential Revision: https://reviews.llvm.org/D129794
-
Fangrui Song authored
-
Alexander Shaposhnikov authored
Add baseline tests. NFC. (https://github.com/llvm/llvm-project/issues/56479) Test plan: ninja check-all Differential revision: https://reviews.llvm.org/D130605
-
Fangrui Song authored
-
Dawid Jurczak authored
[NFC] Use more appropriate SmallVectorImpl::append call in std::initializer_list SmallVector constructor Since we are in constructor there is no need to perform redundant call to SmallVectorImpl::clear() inside assign function. Although calling cheaper append function instead assign doesn't make any difference on optimized builds (DSE does the job removing stores), we still save some cycles for debug binaries. Differential Revision: https://reviews.llvm.org/D130361
-
Phoebe Wang authored
-
Kazu Hirata authored
-
Kazu Hirata authored
-
Kazu Hirata authored
-
Kazu Hirata authored
-
Emmmer authored
According to [RISC-V DWARF Specification](https://github.com/riscv-non-isa/riscv-elf-psabi-doc/blob/master/riscv-dwarf.adoc) add RISCV DWARF Registers. Don't worry about the difference between riscv32 and riscv64, they just have different bytes of registers. Reviewed By: DavidSpickett Differential Revision: https://reviews.llvm.org/D130686
-
Siva Chandra Reddy authored
-
Weverything authored
15f3cd6b moved the handling of UsingType to a later point in the function getFullyQualifiedType. This moved it after the removal of an ElaboratedType and its qualifiers. However, the qualifiers were not added back, causing the fully qualified type to have a qualifier mismatch with the original type. Make sure the qualifers are added before continuing to fully qualify the type.
-
Carl Ritson authored
Apply merging to s_load as is done for s_buffer_load. Reviewed By: foad Differential Revision: https://reviews.llvm.org/D130742
-
Alexander Shaposhnikov authored
This is a follow-up to 2ebfda24 (replace "if" with "else if" since the cases nuw/nsw were meant to be handled separately). Test plan: 1/ ninja check-llvm check-clang check-lld 2/ Bootstrapped LLVM/Clang pass tests
-
Shafik Yaghmour authored
This is a follow-up to D130058 to fix how we handle the Max value we obtain from getValueRange(...) in IntExprEvaluator::VisitCastExpr(...) which in the case of an enum that contains an enumerator with the max integer value will overflow by one. The fix is to decrement the value of Max and use slt and ult for comparison Vs sle and ule.` Differential Revision: https://reviews.llvm.org/D130811
-
Aiden Grossman authored
Currently when assertions are enabled, the cc1 flag is not inserted into the llvmcmd section of object files with embedded bitcode. This deviates from the normal behavior where this is the first flag that is inserted. This error stems from incorrect use of the function generateCC1CommandLine() which requires manually adding in the -cc1 flag which is currently not done. Reviewed By: jansvoboda11 Differential Revision: https://reviews.llvm.org/D130620
-
Uday Bondhugula authored
Fix the hardcoded check for `FuncOp` in `getCommonBlock` utility: the check should have been for an op that starts an affine scope. The incorrect block returned in turn causes dependence analysis to function incorrectly. This change allows affine store-load forwarding to work correctly inside any ops that start an affine scope. Reviewed By: ftynse, dcaballe Differential Revision: https://reviews.llvm.org/D130749
-
Phoebe Wang authored
This reverts commit ce6d40f5. Revert due to it broke the sanitizer-windows buildbot: https://lab.llvm.org/buildbot/#/builders/127/builds/33583/steps/4/logs/stdio
-
Tue Ly authored
Implement cosf function that is correctly rounded to all rounding modes. Performance benchmark using perf tool from CORE-MATH project (https://gitlab.inria.fr/core-math/core-math/-/tree/master) on Ryzen 1700: Before this patch (not correctly rounded): ``` $ CORE_MATH_PERF_MODE="rdtsc" ./perf.sh cosf CORE-MATH reciprocal throughput : 19.043 System LIBC reciprocal throughput : 26.328 LIBC reciprocal throughput : 30.955 $ CORE_MATH_PERF_MODE="rdtsc" ./perf.sh cosf --latency GNU libc version: 2.31 GNU libc release: stable CORE-MATH latency : 49.995 System LIBC latency : 59.286 LIBC latency : 60.174 ``` After this patch (correctly rounded): ``` $ CORE_MATH_PERF_MODE="rdtsc" ./perf.sh cosf GNU libc version: 2.31 GNU libc release: stable CORE-MATH reciprocal throughput : 19.072 System LIBC reciprocal throughput : 26.286 LIBC reciprocal throughput : 13.631 $ CORE_MATH_PERF_MODE="rdtsc" ./perf.sh cosf --latency GNU libc version: 2.31 GNU libc release: stable CORE-MATH latency : 49.872 System LIBC latency : 59.468 LIBC latency : 56.119 ``` Reviewed By: orex, zimmermann6 Differential Revision: https://reviews.llvm.org/D130644
-
Naje George authored
Reviewed By: ktras Differential Revision: https://reviews.llvm.org/D130608
-