- Jul 30, 2022
-
-
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
-
Fangrui Song authored
To reduce diff for my upcoming parallel input section initialization patch.
-
Anlun Xu authored
Add more test cases for sparse reshape Reviewed By: Peiming Differential Revision: https://reviews.llvm.org/D130603
-
Sunho Kim authored
OrcJIT was missing in LLVM_LINK_COMPONENTS.
-
tlattner authored
-
Fangrui Song authored
This reverts commit c26dc290. The new Zstd dispatch has an ongoing design discussion related to https://reviews.llvm.org/D130516#3688123 . Revert for now before it is resolved.
-
Argyrios Kyrtzidis authored
[ASTWriter] Provide capability to output a PCM/PCH file that does not write out information about its output path This is useful to enable sharing of the same PCH file even when it's intended for a different output path. The only information this option disables writing is for `ORIGINAL_PCH_DIR` record which is treated as optional and (when present) used as fallback for resolving input file paths relative to it. Differential Revision: https://reviews.llvm.org/D130710
-
Luís Marques authored
Differential Revision: https://reviews.llvm.org/D128562
-
Rafael Auler authored
This patch refactors BAT to be testable as a library, so we can have open-source tests on it. This further fixes an issue with basic blocks that lack a valid input offset, making BAT omit those when writing translation tables. Test Plan: new testcases added, new testing tool added (llvm-bat-dump) Differential Revision: https://reviews.llvm.org/D129382
-
Sanjay Patel authored
The isa<Constant> check could misfire on an instruction with 2 constant operands. This bug was introduced with bb789381 (D36988). See issue #56810 for a C source example that exposed the bug.
-
Craig Topper authored
For constants in the range [-2047, 2048] we use addi. If the constant is -2048 we can use xori. If we don't match this explicitly, we'll emit an LI for the -2048 followed by an XOR.
-
Sam Clegg authored
A LazySymbol is one that lives in `.a` archive and gets pulled in by a strong reference. However, weak references to such symbols do not result in them be loaded from the archive. In this case we want to treat such symbols at undefined rather then lazy, once symbols resolution is complete. This fixes a crash bug in the linker when weakly referenced symbol that lives in an archive file is live at the end of the link. In the case of dynamic linking this is expected to turn into an import with (in the case of a function symbol) a function index. Differential Revision: https://reviews.llvm.org/D130736
-
Sam Clegg authored
Differential Revision: https://reviews.llvm.org/D130738
-
Sanjay Patel authored
See issue #56810
-
Sanjay Patel authored
-
Slava Gurevich authored
Fixing potential int overflow and uninitialized variables. These were found by Coverity static code inspection. Differential Revision: https://reviews.llvm.org/D130795
-
Jay Foad authored
This just avoids explicitly passing in 'this' as an argument in a bunch of places. Differential Revision: https://reviews.llvm.org/D130752
-
Jay Foad authored
The table of contents in the HTML version of this doc takes up 25 pages (in my browser, on my 4K monitor) and is too long for me to navigate comfortably. And most of it is irrelevant detail like this: - Bitwise Binary Operations - 'shl' Instruction - Syntax: - Overview: - Arguments: - Semantics: - Example: - 'lshr' Instruction - Syntax: - Overview: - Arguments: - Semantics: - Example: Reducing the contents depth from 4 to 3 removes most of this detail, leaving just a list of instructions, which only takes up 7 pages and I find it much easier to navigate. Incidentally the depth was set to 3 when this document was first converted to reST and was only increased to 4 in what looks like an accidental change: 08013345 Differential Revision: https://reviews.llvm.org/D130635 -
Sam Estep authored
This patch enables context-sensitive analysis of multiple different calls to the same function (see the `ContextSensitiveSetBothTrueAndFalse` example in the `TransferTest` suite) by replacing the `Environment` copy-assignment with a call to the new `popCall` method, which `std::move`s some fields but specifically does not move `DeclToLoc` and `ExprToLoc` from the callee back to the caller. To enable this, the `StorageLocation` for a given parameter needs to be stable across different calls to the same function, so this patch also improves the modeling of parameter initialization, using `ReferenceValue` when necessary (for arguments passed by reference). This approach explicitly does not work for recursive calls, because we currently only plan to use this context-sensitive machinery to support specialized analysis models we write, not analysis of arbitrary callees. Reviewed By: ymandel, xazax.hun Differential Revision: https://reviews.llvm.org/D130726
-
Dimitry Andric authored
Instead of detecting `_Float16` support at CMake configuration time, detect it at compile time by checking for the predefined (by the compiler) macro `__FLT16_MAX__` instead. This solves the issue where compiler-rt is built simultaneously for both x86_64 and i386 targets, and the CMake configuration uses x86_64 compilation to detect `_Float16` support, while it may not be supported by the i386 target (if it does not have SSE2). While here, rename `COMPILERT_RT_HAS_FLOAT16` to `CRT_HAS_FLOAT16`, to conform more to the naming style used in `int_lib.h` and `int_types.h`. Reviewed By: MaskRay Differential Revision: https://reviews.llvm.org/D130718
-
Blue Gaston authored
Tests require a weak symbol for dyld weak-def coalescing. Differential Revision: https://reviews.llvm.org/D130732 Adding additional weak attribute
-
Austin Kerbow authored
It is not necessary to wait for all outstanding memory operations before barriers on hardware that can back off of the barrier in the event of an exception when traps are enabled. Add a new subtarget feature which tracks which HW has this ability. Reviewed By: #amdgpu, rampitec Differential Revision: https://reviews.llvm.org/D130722
-