- Mar 10, 2022
-
-
serge-sans-paille authored
Some extra minor cleanup. Discourse thread: https://discourse.llvm.org/t/include-what-you-use-include-cleanup Differential Revision: https://reviews.llvm.org/D121329
-
Nikita Popov authored
Avoid checks that are irrelevant for opaque pointers, and pick load/GEP types independently of the pointer type. The GEP case at least could be done more efficiently by directly generating a type, but this would require some significant API changes.
-
Simon Pilgrim authored
As discussed on Issue #32161 this fold can be generalized a lot more than it currently is, but this patch at least adds vector support. Differential Revision: https://reviews.llvm.org/D121358
-
Simon Pilgrim authored
GFNI can efficiently perform vXi8 shift/rotates by constant splats using X86ISD::GF2P8AFFINEQB
-
Simon Pilgrim authored
-
Sanjay Patel authored
The intended folds were removed because an underlying analysis was not correct ( b48fe158 ).
-
Nico Weber authored
This reverts commit 7f230fee. Breaks CodeGenCUDA/link-device-bitcode.cu in check-clang, and many LLVM tests, see comments on https://reviews.llvm.org/D121169
-
Shraiysh Vaishay authored
This patch adds lowering from omp.atomic.update to LLVM IR. Whenever a special LLVM IR instruction is available for the operation, `atomicrmw` instruction is emitted, otherwise a compare-exchange loop based update is emitted. Depends on D119522 Reviewed By: ftynse, peixin Differential Revision: https://reviews.llvm.org/D119657
-
Florian Hahn authored
Move FP16 tests to fp16cast function, as suggested in D113700.
-
Nico Weber authored
-
alex-t authored
We have a pattern that undo sub x, c -> add x, -c canonicalization since c is more likely an inline immediate than -c. This patch enables it to select scalar or vector subtracion by the input node divergence. Reviewed By: foad Differential Revision: https://reviews.llvm.org/D121360
-
Stanislav Gatev authored
This commit reverts e0cc28df and moves UncheckedOptionalAccessModelTest.cpp into clang/unittests/Analysis/FlowSensitive, to avoid build failures. The test will be moved back into a Models subdir in a follow up patch that will address the build configuration issues. Original description: Adds a dataflow analysis that detects unsafe accesses to values of type `std::optional`, `absl::optional`, or `base::Optional`. Reviewed-by: ymandel, xazax.hun Differential Revision: https://reviews.llvm.org/D121197
-
Nikita Popov authored
I used the wrong build to generate the checks, sorry :(
-
Nikita Popov authored
-
Nikita Popov authored
Also rename variables to avoid file check clash.
-
Michel Weber authored
When `addCoalescedPolyhedron` was called with `j == n - 1`, the `polyhedrons`-vector was not properly updated (the `IntegerPolyhedron` at position `n - 2` was "lost"). This patch adds special handling to that case and a regression testcase. Reviewed By: Groverkss Differential Revision: https://reviews.llvm.org/D121356
-
Groverkss authored
This patch moves PresburgerSpace::removeIdRange(idStart, idLimit) to PresburgerSpace::removeIdRange(kind, idStart, idLimit), i.e. identifiers can only be removed at once for a single kind. This makes users of PresburgerSpace to not assume any inside ordering of identifier kinds. Reviewed By: arjunp Differential Revision: https://reviews.llvm.org/D121079
-
Weining Lu authored
With the addition of disassembler now we can do instructions 'round-trip' test that assembles `.s` to obj with `llvm-mc` and disassembles it with `llvm-objdump` to check instruction mnemonics. Reviewed By: xen0n, MaskRay Differential Revision: https://reviews.llvm.org/D120477
-
serge-sans-paille authored
As a follow-up to 7f230fee
-
Simon Pilgrim authored
As mentioned on Issue #32161 we don't even have uniform vector support for this fold
-
serge-sans-paille authored
after: 1061034926 before: 1063332844 Differential Revision: https://reviews.llvm.org/D121169
-
serge-sans-paille authored
Most notably, Pass.h is no longer included by TargetMachine.h before: 1063570306 after: 1063332844 Differential Revision: https://reviews.llvm.org/D121168
-
Nikita Popov authored
As far as I can tell, these names are only intended to be informative, so just use a generic "PointerType" for opaque pointers. The code in solveDIType() also treats pointers as basic types (and does not try to encode the pointed-to type further), so I believe this should be fine. Differential Revision: https://reviews.llvm.org/D121280
-
Luke authored
Inspired by reviews.llvm.org/D107790. Reviewed By: craig.topper Differential Revision: https://reviews.llvm.org/D119834
-
Craig Topper authored
Similar to what we do for other loads/stores, use the intrinsic version that we already have custom isel for. Reviewed By: rogfer01 Differential Revision: https://reviews.llvm.org/D121166
-
Craig Topper authored
Other targets like ARM, AArch64, and X86 have similar tests. Reviewed By: asb Differential Revision: https://reviews.llvm.org/D120840
-
Amir Ayupov authored
Addresses ThreadSanitizer warning Reviewed By: rafauler Differential Revision: https://reviews.llvm.org/D121337
-
Amir Ayupov authored
Addresses fuzzer crash Reviewed By: rafauler Differential Revision: https://reviews.llvm.org/D121336
-
Siva Chandra Reddy authored
Reviewed By: abrachet Differential Revision: https://reviews.llvm.org/D121334
-
Carl Ritson authored
-
Ahmed Bougacha authored
35ca7d9d broke 471c4f82 for -arch flags that don't map 1:1 to the triple arch. This has been broken for the many years since. It hasn't mattered much since then, mostly because few people use it, but also because it works for x86_64/i386, armv7/armv7s don't differ much, arm64 is its own arch, and arm64/arm64_32 have different arches (and it's a rare combination anyway). But arm64/arm64e exposes this issue again. Patch by: Justin Bogner <mail@justinbogner.com> with some added tests.
-
Yaxun (Sam) Liu authored
Fix a typo about -fno-gpu-sanitize handling and disable warnings when -fno-gpu-sanitize is specified. Reviewed by: Artem Belevich Differential Revision: https://reviews.llvm.org/D121302
-
Yaxun (Sam) Liu authored
The clang compiler prepends the HIP header include paths to the search list using -internal-isystem when building for the HIP language. This prevents warnings related to things like reserved identifiers when including the HIP headers even when ROCm is installed in a non-system directory, such as /opt/rocm. However, when HIP is installed in /usr, then the prepended include path would be /usr/include. That is a problem, because the C standard library headers are stored in /usr/include and the C++ standard library headers must come before the C library headers in the search path list (because the C++ standard library headers use #include_next to include the C standard library headers). While the HIP wrapper headers _do_ need to be earlier in the search than the C++ headers, those headers get their own subdirectory and their own explicit -internal-isystem argument. This include path is for <hip/hip_runtime_api.h> and <hip/hip_runtime.h>, which do not require a particular search ordering with respect to the C or C++ headers. Thus, HIP include path is added after other system include paths. With contribution from Cordell Bloor. Reviewed by: Artem Belevich Differential Revision: https://reviews.llvm.org/D120132
-
LLVM GN Syncbot authored
-
Brad Smith authored
Arm is not quite ready for unwinding yet.
-
Xiang1 Zhang authored
Reviewed By: craig.topper Differential Revision: https://reviews.llvm.org/D120000
-
Yevgeny Rouban authored
opt::setDefaultImpl() is changed to set the option value to the option type's default if the Default field is not set. This results in option value reset by Option::reset() or ResetAllOptionOccurrences() even if the cl::init() is not specified. Example: StackOption<std::string> Str("str"); // No cl::init(). Str = "some value"; cl::ResetAllOptionOccurrences(); EXPECT_EQ("", Str); // The Str is reset. Reviewed By: lattner Differential Revision: https://reviews.llvm.org/D115433 -
Vitaly Buka authored
"1.1" is double which can't be represented precicely as a float.
-
Craig Topper authored
Most other targets support 'generic', but RISCV issues an error. This can require a special case in tools that use LLVM that aren't clang. This patch treats "generic" the same as an empty string and remaps it to generic-rv/rv64 based on the triple. Unfortunately, it has to be added to RISCV.td because MCSubtargetInfo is constructed and parses the CPU before RISCVSubtarget's constructor gets a chance to remap it. The CPU will then reparsed and the state in the MCSubtargetInfo subclass will be updated again. Fixes PR54146. Reviewed By: khchen Differential Revision: https://reviews.llvm.org/D121149
-
Florian Mayer authored
-