- Mar 18, 2024
-
-
Nikolas Klauser authored
`__unconstrained_reverse_iterator` has outlived its usefullness, since the standard and subsequently the compilers have been fixed.
-
zicwangupa authored
Resolves #85065 --------- Co-authored-by:Matt Arsenault <arsenm2@gmail.com>
-
Nikolas Klauser authored
GCC 13 introduced the type trait `__remove_reference`. We can simplify the implementation of `remove_reference` a bit by using it.
-
martinboehme authored
This patch includes a test that causes an assertion failure without the other changes in this patch.
-
Benjamin Kramer authored
-
Bhuminjay Soni authored
This pull request fixes #77601 where using the `bitand` operator with boolean operands should not trigger the warning, as it would indicate an intentional use of bitwise AND rather than a typo or error. Fixes #77601
-
Chao Chen authored
Hi @joker-eph, This PR adds XeGPU 2D block operators. It contains: 1. `TensorDescType` and `TensorDescAttr` definitions 2. `MemoryScopeAttr` and `CacheHintAttr` definitions which are used by `TensorDescAttr`. 3. `CreateNdDescOp`, `PrefetchNdOp`, `LoadNdOp`, and `StoreNdOp` definitions, and their corresponding testcases for illustration. --------- Co-authored-by:Mehdi Amini <joker.eph@gmail.com>
-
-
Timm Bäder authored
-
Benjamin Kramer authored
-
Paul Walker authored
-
Rodrigo Salazar authored
On Windows you can not create symlinks without elevated privileges unless you have Windows developer mode enabled. There's ~67 libcxx tests that run into failures on windows if your environment is not set up correctly (Go to windows settings and enable "developer mode"). This change: - Adds a feature check for whether the host can create symlinks. (see libcxx/utils/libcxx/test/features.py) - Mark the feature as required for the 67 tests that hit failures on windows due to this. This will allow lit to correctly mark these tests as unsupported instead of unexpectedly failed (this is helpful since then you know you didn't break something with your change, it's just that it's not supported with your environment).
-
Benjamin Kramer authored
-
Orlando Cazalet-Hyams authored
Follow on from #84739, which updates the DIBuilder class. All the functions that have been added are temporary and will be deprecated in the future. The intention is that they'll help downstream projects adapt during the transition period. ``` New functions (all to be deprecated) ------------------------------------ LLVMIsNewDbgInfoFormat # Returns true if the module is in the new non-instruction mode. LLVMSetIsNewDbgInfoFormat # Convert to the requested debug info format. LLVMDIBuilderInsertDeclareIntrinsicBefore # Insert a debug intrinsic (old debug info format). LLVMDIBuilderInsertDeclareIntrinsicAtEnd # Same as above. LLVMDIBuilderInsertDbgValueIntrinsicBefore # Same as above. LLVMDIBuilderInsertDbgValueIntrinsicAtEnd # Same as above. LLVMDIBuilderInsertDeclareRecordBefore # Insert a debug record (new debug info format). LLVMDIBuilderInsertDeclareRecordAtEnd # Same as above. LLVMDIBuilderInsertDbgValueRecordBefore # Same as above. LLVMDIBuilderInsertDbgValueRecordAtEnd # Same as above. ``` The existing `LLVMDIBuilderInsert...` functions call through to the intrinsic versions (old debug info format) currently. In the next patch, I'll swap them to call the debug records versions (new debug info format). Downstream users of this API can query and change the current format using the first two functions above, or can instead opt to temporarily use intrinsics or records explicitly.
-
Paul Walker authored
The pass uses the TTI hook getIntImmCostIntrin that only supports scalar integer types. Whilst hoisting expensive vector constant is likely worthwhile, this is new behaviour and so I've followed the path taken by the GEP variant of collectConstantCandidates and simply bail for vector types.
-
Alfie Richards authored
This changs the way the assembly matcher works for Aarch32 parsing. Previously there was a pile of hacks which dictated whether the CC, CCOut, and VCC operands should be present which de-facto chose if the wide/narrow (or thumb1/thumb2/arm) instruction version were chosen. This meant much of the TableGen machinery present for the assembly matching was effectively being bypassed and worked around. This patch makes the CC and CCOut operands optional which allows the ASM matcher operate as it was designed and means we can avoid doing some of the hacks done previously. This also adds the option for the target to allow the prioritizing the smaller instruction encodings as is required for Aarch32.
-
Orlando Cazalet-Hyams authored
This patch fixes problems that pop up when clang emits DbgRecords instead of debug intrinsics. Note: this doesn't mean clang is emitting DbgRecords yet, because the modules it creates are still always in the old debug mode. That will come in a future patch. Depends on #84739
-
Vyacheslav Levytskyy authored
This PR: * adds Lifetime intrinsics/instructions * fixes how the binary header is emitted (correct version and better approximation of Bound) * add validation into more test cases
-
Yingwei Zheng authored
In commit https://github.com/llvm/llvm-project/commit/2b582440c16c72b6b021ea5c212ceda3bdfb2b9b, we canonicalize the isInf/isNanOrInf idiom into fabs+fcmp for better analysis/codegen (See also the discussion in https://github.com/llvm/llvm-project/pull/76338). This patch reverses the fabs+fcmp to `is.fpclass`. If the `is.fpclass` is not supported by the target, it will be expanded by TLI. Fixes the regression introduced by https://github.com/llvm/llvm-project/commit/2b582440c16c72b6b021ea5c212ceda3bdfb2b9b and https://github.com/llvm/llvm-project/pull/80414#issuecomment-1936374206.
-
Benjamin Kramer authored
These includes were removed in 426e6945
-
Orlando Cazalet-Hyams authored
This reverts commit 6f60ad7e. Buildbots: https://lab.llvm.org/buildbot/#/builders/196/builds/47206
-
Orlando Cazalet-Hyams authored
This reverts commit b097b3dc. Buildbots: https://lab.llvm.org/buildbot/#/builders/196/builds/47206
-
Orlando Cazalet-Hyams authored
-
Orlando Cazalet-Hyams authored
This patch fixes problems that pop up when clang emits DbgRecords instead of debug intrinsics. Note: this doesn't mean clang is emitting DbgRecords yet, because the modules it creates are still always in the old debug mode. That will come in a future patch. Depends on #84739
-
Christian Sigg authored
-
Orlando Cazalet-Hyams authored
-
Benjamin Kramer authored
-
Kareem Ergawy authored
One more step in extending support for delayed privatization. This diff adds support for scalar allocatables and pointers.
-
Sander de Smalen authored
For each call that changes the streaming-mode ISel inserts a COALESCER_BARRIER node for the FP and (non-scalable) vector arguments to the callee. When calling a non-streaming function from a streaming-compatible function, it's not required to have +sme (in case the SME code-path is not actually executed at runtime). The patterns to match the COALESCER_BARRIER however were still predicated with `HasSME`, which is incorrect. This patch tries to fix that.
-
Christian Sigg authored
Follow-up from https://github.com/llvm/llvm-project/pull/85604, this change also fixes the ArithDialect target.
-
Alfie Richards authored
This option means that in assembly matching instructions with smaller encodings will be preferred. This will be used for the ARM instruction set where this is the correct behavior after some other refactoring.
-
Alfie Richards authored
This fixes tied operand resolution in cases where there are optional operands before the tied operand.
-
Matthias Gehre authored
Emits `2.0e+00f` instead of `(float)2.0e+00`. This helps consumers of the emitted code, especially when there are large numbers of floating point literals, to have a simple AST.
-
Florian Hahn authored
SinkCandidate is a VPSingleDefRecipe now, so no cast is needed to access getUnderlyingInstr directly.
-
Christian Sigg authored
Adds a separate target for bufferization interfaces. `//mlir:ArithDialect` would need to depend on `//mlir:ValueBoundsOpInterface` as well, but that's creating a circular dependency.
-
Pierre van Houtryve authored
This change allows us to use `--lto-partitions` in some cases (not at all guaranteed it works perfectly), as LDS is lowered before the module is split for parallel codegen. We must run LowerLDS before splitting modules as it needs to see all callers of functions with LDS to properly lower them.
-
Nikolas Klauser authored
-
LLVM GN Syncbot authored
-
Christian Ulmann authored
This commit changes MLIR's SROA implementation back from being pattern based into a full pass. This is beneficial for upcoming changes that rely more heavily on the datalayout. Unfortunately, this change required substantial test changes, as the IRBuilder no cleans up the IR.
-