llvm-project
llvm-project copied to clipboard
The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.
``` $ clang-tidy -p build/ -checks=*,-llvmlibc*,-google-readability-braces-around-statements,-hicpp-braces-around-statements,-readability-braces-around-statements,-fuchsia-default-arguments-calls,-altera-*,-readability-simplify-boolean-expr,-readability-function-cognitive-complexity,-modernize-use-trailing-return-type,-llvm-include-order,-cppcoreguidelines-avoid-do-while source/main.cpp PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace. Stack dump: 0. Program arguments: clang-tidy -p build/ -checks=*,-llvmlibc*,-google-readability-braces-around-statements,-hicpp-braces-around-statements,-readability-braces-around-statements,-fuchsia-default-arguments-calls,-altera-*,-readability-simplify-boolean-expr,-readability-function-cognitive-complexity,-modernize-use-trailing-return-type,-llvm-include-order,-cppcoreguidelines-avoid-do-while source/main.cpp 1....
This patch adds the nuw (no unsigned wrap) and nsw (no signed wrap) poison-generating flags to the trunc instruction. Discourse thread: https://discourse.llvm.org/t/rfc-add-nowrap-flags-to-trunc/77453
JITLink is using the `lllvm::StringRef` type in many places where `llvm::orc::SymbolStringPtr` would result in better performance and memory footprint, e.g. https://github.com/llvm/llvm-project/blob/77480556c41fbca36b918323c69cb77f8e02b56c/llvm/include/llvm/ExecutionEngine/JITLink/JITLink.h#L648-L649 In such cases the string should be interned in...
https://alive2.llvm.org/ce/z/bFW9vZ online Alive timed out for this one, you'll need local alive2 with larger smt-to. ```llvm define i64 @src(float %0) { if.end27: %1 = fptosi float %0 to i32 %2...
[clang-tidy] add check to suggest replacement of nested std::min or std::max with initializer lists
closes #25340 Identifies cases where `std::min` or `std::max` is used to find the minimum or maximum value among more than two items through repeated calls. The check replaces these calls...
This change removes the log, log2, log10, sin, trunc intrinsics with parameters of type double as it is not available in the DCX compiler. https://learn.microsoft.com/en-us/windows/win32/direct3dhlsl/dx-graphics-hlsl-log https://learn.microsoft.com/en-us/windows/win32/direct3dhlsl/dx-graphics-hlsl-log2 https://learn.microsoft.com/en-us/windows/win32/direct3dhlsl/dx-graphics-hlsl-log10 https://learn.microsoft.com/en-us/windows/win32/direct3dhlsl/dx-graphics-hlsl-sin https://learn.microsoft.com/en-us/windows/win32/direct3dhlsl/dx-graphics-hlsl-trunc Closes...
Fixes: #85286
As noticed on #84759 - we should be able to allow folds to generally match any binary ops that are recognized by the TLI.isBinOp/isCommutativeBinOp callbacks, allowing us to match target...
Similar to #85625, some of the codegen is still far from optimal but this helps fix quite a few fallback cases.
https://alive2.llvm.org/ce/z/n53up6 https://godbolt.org/z/q6vrbxTo3 ```llvm define i1 @src(double %0) { if.end155: %1 = fptrunc double %0 to float %2 = fcmp oge float %1, 1.000000e+02 ret i1 %2 } define i1 @tgt(double...