- Mar 05, 2024
-
-
Benoit Jacob authored
This allows users who include `llvm-project` as a subrepository to access the `LLVM_VERSION_MAJOR` variable on par with if they were relying on an installed LLVM and `FindLLVM.cmake`. They just need to do something like: ``` get_directory_property(LLVM_VERSION_MAJOR DIRECTORY "third_party/llvm-project/llvm" LLVM_VERSION_MAJOR) ``` Context: https://github.com/openxla/iree/pull/16606 -- like other projects with similar needs that I found by some googling, our work-around had been to rely on the CMake cached variable `CLANG_EXECUTABLE_VERSION`. Being cached, it over time inevitably ended up having a wrong value.
-
Fehr Mathieu authored
-
Alexey Bataev authored
Added support for runtime strides. Reviewers: preames, RKSimon Reviewed By: preames Pull Request: https://github.com/llvm/llvm-project/pull/81517
-
Ingo Müller authored
This is a follow up of #83004, which made the same change for `MLIR_CUDA_CONVERSIONS_ENABLED`. As the previous PR, this PR commit exposes mentioned CMake variable through `mlir-config.h` and uses the macro that is introduced with the same name. This replaces the macro `MLIR_ROCM_CONVERSIONS_ENABLED`, which the CMake files previously defined manually.
-
James Westwood authored
… AAPCS frame chain fix (#82801)" This reverts commit 00e4a419. This patch was found to cause miscompilations and compilation failures.
-
Yingwei Zheng authored
https://github.com/llvm/llvm-project/blob/762f762504967efbe159db5c737154b989afc9bb/llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp#L394-L407 Comment from @topperc: > This transforms assumes the mask is a non-zero splat. We only know its a splat and not provably all 0s. The mask is a constexpr that includes the address of the global variable. We can't resolve the constant expression to an exact value. Fixes #83947.
-
Weining Lu authored
Buildbot failure: https://lab.llvm.org/buildbot/#/builders/5/builds/41530/steps/9/logs/stdio
-
bcahoon authored
The promote alloca to vector transformation assumes that the vector index is a constant value. If it is not a constant, then either an assert occurs or the tranformation generates an incorrect index.
-
Douglas Deslauriers authored
Parenthesized list intializers are sequenced operations, see C++20 [decl.init]p16.5 and [decl.init]p16.6.2.2 for more details. Fixes #83474
-
Balazs Benics authored
In PR #83677 I was surprised to see that outdated checker callback signatures are a problem. It turns out, we need the `registerChecker...` function to invoke the `Mgr.registerChecker<>()` which would instantiate the `_register` calls, that would take the address of the defined checker callbacks. Consequently, if the expected signatures mismatch, it won't compile from now on, so we have static guarantee that this issue never pops up again. Given we need the `register` call, at this point we could just hook this checker into the `debug` package and make it never registered. It shouldn't hurt anyone :)
-
Krystian Stasiowski authored
[Clang][Sema] Fix crash when using name of UnresolvedUsingValueDecl with template arguments (#83842) The following snippet causes a crash: ``` template<typename T> struct A : T { using T::f; void f(); void g() { f<int>(); // crash here } }; ``` This happens because we cast the result of `getAsTemplateNameDecl` as a `TemplateDecl` in `Sema::ClassifyName`, which we cannot do for an `UnresolvedUsingValueDecl`. This patch fixes the crash by considering a name to be that of a template if _any_ function declaration is found per [temp.names] p3.3. -
Jay Foad authored
Define BUF Real instructions with this general pattern for all architectures (not just GFX11): multiclass Something_Real_gfx11<...> { defvar ps = !cast<Pseudo>(NAME); def _gfx11 : ...; } This allows removing a huge amount of repetition in the definitions of individual Real instructions, where they would have to !cast their own name to a Pseudo and pass that in as a class argument. -
Nikita Popov authored
When inlining across functions with different target features, we perform roughly two checks: 1. The caller features must be a superset of the callee features. 2. Calls in the callee cannot use types where the target features would change the call ABI (e.g. by changing whether something is passed in a zmm or two ymm registers). The latter check is very crude right now. The latter check currently also catches inline asm "calls". I believe that inline asm should be excluded from this check, as it is independent from the usual call ABI, and instead governed by the inline asm constraint string. Fixes https://github.com/llvm/llvm-project/issues/67054.
-
Yingwei Zheng authored
This patch adds support for canonicalization of icmp with a scalable splat. Some optimizations assume that `icmp pred X, APInt C` is in canonical form. Fixes https://github.com/llvm/llvm-project/issues/83931.
-
Yeting Kuo authored
Previously SelectionDAGBuilder used ABI alignment for compressstore/expandload. This patch allows SelectionDAGBuilder to use parameter alignment like vp intrinsics. This does not follow the original code to default use vector type alignment, since it is possible implemented to unaligned vector alignment.
-
Atousa Duprat authored
Add functionality to APInt::toString() that allows it to insert separators between groups of digits, using the C++ literal separator ' between groups. Fixes issue #58228 Reviewers: @AaronBallman, @cjdb, @tbaederr
-
Paul Walker authored
This allows the removal of FFR related psuedo nodes that only existed to work round machine verifier failures.
-
Joseph Huber authored
Summary: The other test locations only give these messages when we are in verbose logging mode. The average user does not care about which tests are not being built, and most platforms will have missing tests.
-
Jay Foad authored
The Base_ prefix seems redundant on a class that is only used for GFX11.
-
Jay Foad authored
This class only existed to set the dlc bit for GFX11 atomics. It is simpler to set dlc for all loads/stores/atomics in the base class.
-
Wang Pengcheng authored
We should generate the `MCInstPredicate` twice, one with `FirstMI` and another with `SecondMI`.
-
SahilPatidar authored
[InstCombine] Fix Failure to convert vector fp comparisons that can be represented as integers #82241 (#83274) Resolve #82241 --------- Co-authored-by:SahilPatidar <patidarsahil@2001gmail.com>
-
Benjamin Kramer authored
According to the PTX ISA this doesn't exist (and ptxas rejects it) See https://github.com/pytorch/pytorch/issues/118589
-
martinboehme authored
I was wondering about this when I recently used `Regex`, and I thought it would be nice to have a test documenting this behavior.
-
Simon Pilgrim authored
-
Simon Pilgrim authored
-
AtariDreams authored
As of now, we only check if a class directly inherits from NSObject to determine if said class has fixed offsets and can therefore "opt-out" from the non-fragile ABI for ivars. However, if an NSObject subclass has fixed offsets, then so must the subclasses of that subclass, so this allows us to optimize instances of subclasses of subclasses that inherit from NSObject and so on. To determine this, we need to find that the compiler can see the implementation of each intermediate class, as that means it is statically linked. Fixes: #81369
-
Jay Foad authored
This allows removing a couple of MTBUF helper (multi)classes.
-
Luke Lau authored
An EXTRACT_VECTOR_ELT can extend the element to the width of its result type, leaving the high bits undefined. Previously if we attempted to query the bytes in these high bits we would recurse and hit an assertion. This fixes it by bailing if the index is outside of the vector element size. I think the assertion Index < ByteWidth may still be incorrect, since ByteWidth is calculated from Op.getValueSizeInBits(). I believe this should be Op.getScalarValueSizeInBits() whenever VectorIndex is set since we're querying the element now, not the vector. But I couldn't think of a test case to trigger it. It can be addressed in a follow-up patch. Fixes #83920
-
Kiran Chandramohan authored
As a temporary solution, lower workshare to the single directive
-
Adrian Kuegel authored
-
Graham Hunter authored
Post-commit fixup patch for a request on https://github.com/llvm/llvm-project/pull/81135
-
Adrian Kuegel authored
move constructors should be marked noexcept
-
Jay Foad authored
Since svn r133708 visitPHINode no longer has to check basic block argument types. Better 13 years late than never!
-
Balazs Benics authored
Remove the unused method `CoreEngine::ExecuteWorkListWithInitialState`.
-
Yeting Kuo authored
Align attribute has already been used for masked.compress/expandload in commit #83519, #83763 and #83516.
-
Amirreza Ashouri authored
IMHO it would be productive to make a similar change for `typeid`, in `ParseCXXTypeid`, in order to improve Clang's error message for https://godbolt.org/z/oKKWxeYra But that might be better done by adding a new DeclaratorContext specifically for TypeidArg, instead of pretending that the argument to `typeid` is a template argument, because I don't know what else that change might affect. Fixes #77585
-
cor3ntin authored
Due to improper use of RecursiveASTVisitor. Fixes #80630
-
Nikita Popov authored
This contains two updates: * Generalize the "no loads stores of aggregates" to "no values of aggregate type" in general, and be clearer about the exceptions where it is okay to use them. * Mention that you should not load/store non-byte-size types.
-
Shourya Goel authored
Fixes: https://github.com/llvm/llvm-project/issues/64803 Removed unsupported branch command and changed Regex to accept /cherry-pick: command.
-