- Dec 22, 2023
-
-
Dimitry Andric authored
After 05a4212c a number of long double related declarations are enabled in `int_types.h`, whenever the CPU architecture and platform support it. However, this does not work with FreeBSD's standalone environment, which disallows any use of floating point. In add98b24 this was made conditional with `CRT_HAS_FLOATING_POINT`, so use that macro to also determine whether `HAS_80_BIT_LONG_DOUBLE` can be turned on.
-
Arthur Eubanks authored
Reapply "[X86] Set SHF_X86_64_LARGE for globals with explicit well-known large section name (#74381)" This reverts commit 19fff858. Now that explicit large globals are handled properly in the small code model.
-
Andrzej Warzyński authored
Extends fold-arith-extf-into-vector-contract.mlir by adding a test case for scalable vectors.
-
Kazu Hirata authored
-
Arthur Eubanks authored
By looking at whether a global is large instead of looking at the code model. This also fixes references to large data in the small code model. We now always fold any 32-bit offset into the addressing mode with the large code model since it uses 64-bit relocations.
-
Tomas Matheson authored
This reverts commit 9f0f5587. Fix expensive checks failure by properly marking register def for ADR.
-
Kazu Hirata authored
This patch fixes: flang/lib/Optimizer/Transforms/StackArrays.cpp:452:7: error: ignoring return value of function declared with 'nodiscard' attribute [-Werror,-Wunused-result]
-
David Li authored
Depositing value into the lowest byte/word is a common code pattern. This patch improves the code generation for it to avoid redundant AND and OR operations.
-
Walter Lee authored
Xcode 14.3.1 seems to have dropped these flags so we are creating unit tests to reproduce the issue.
-
Tomas Matheson authored
This reverts commit 199a0f9f. Fixed the left-shift of signed integer which was causing UB.
-
Billy Zhu authored
Follow up to the discussion from #75258, and serves as an alternate solution for #74670. Set the location to Unknown for deduplicated / moved / materialized constants by OperationFolder. This makes sure that the folded constants don't end up with an arbitrary location of one of the original ops that became it, and that hoisted ops don't confuse the stepping order.
-
Benjamin Maxwell authored
Also, for consistency make the ZeroOp lowering switch on the ArmSMETileType, rather than the element bit width.
-
Finn Plummer authored
Add missing constant propogation folder for SNegate, [Logical]Not. Implement additional folding when !(!x) for all ops. This helps for readability of lowered code into SPIR-V. Part of work for #70704
-
Maksim Levental authored
-
Oleksandr "Alex" Zinenko authored
This enum is used by dataflow analyses to indicate whether further propagation is necessary to reach the fix point. Accidentally discarding such a value will likely lead to propagation stopping early, leading to incomplete or incorrect results. The most egregious example is the duality between `join` on the analysis class, which triggers propagation internally, and `join` on the lattice class that does not and expects the caller to trigger it depending on the returned `ChangeResult`.
-
Jakub Kuderski authored
Each vector element is reduced independently, which is a form of multi-reduction. The plan is to allow for gradual lowering of multi-reduction that results in fewer `gpu.shuffle` ops at the end: 1d `vector.multi_reduction` --> 1d `gpu.subgroup_reduce` --> smaller 1d `gpu.subgroup_reduce` --> packed `gpu.shuffle` over i32 For example we can perform 2 independent f16 reductions with a series of `gpu.shuffles` over i32, reducing the final number of `gpu.shuffles` by 2x.
-
LLVM GN Syncbot authored
-
Dinar Temirbulatov authored
Add SME2 MLA/MLS builtins.
-
Mikhail Gudim authored
…396)" This reverts commit 8773c9be.
-
Nico Weber authored
-
Nico Weber authored
-
Craig Topper authored
IR intrinsics were already defined, but no codegen support had been added. I extracted this code from our downstream. Some of it may have come from https://repo.hca.bsc.es/gitlab/rferrer/llvm-epi/ originally.
-
Tomas Matheson authored
This reverts commit 934b1099. Buildbot failues on sanitizer-x86_64-linux-fast
-
Tomas Matheson authored
This reverts commit 5992ce90. Builtbot failures with expensive checks enabled.
-
Kazu Hirata authored
-
Kazu Hirata authored
-
- Dec 21, 2023
-
-
Nikita Popov authored
Currently isGuaranteedNotToBeUndef() is the same as isGuaranteedNotToBeUndefOrPoison(). This function is used in places where we only care about undef (due to multi-use issues), not poison. Make it more precise by only considering instructions that can create undef (like loads or call), and ignore those that can only create poison. In particular, we can ignore poison-generating flags. This means that inferring more flags has less chance to pessimize other transforms.
-
Nikita Popov authored
Add m_NNegZext() and m_SExtLike() matchers to make doing these kinds of changes simpler in the future.
-
Nikita Popov authored
-
Jay Foad authored
-
Kerry McLaughlin authored
This patch enables the following builtins for SME2: - svld1, svld1_vnum - svldnt1, svldnt1_vnum - svst1, svst1_vnum - svstnt1, svstnt1_vnum
-
madanial0 authored
The AIX linker does not support the `--whole-archive` option, removing the option if the OS is AIX. --------- Co-authored-by:Mark Danial <mark.danial@ibm.com>
-
Shengchen Kan authored
According to Intel SDE, ADCX reads CF and ADOX reads OF. `Uses` was set to empty by accident, the bug was not exposed b/c compiler never emits these instructions.
-
Jay Foad authored
It is used for FLAT atomics as well as Global atomics.
-
Chia authored
Alive2 proof: https://alive2.llvm.org/ce/z/2P8gq- This patch closes #73905
-
Krzysztof Parzyszek authored
Handle one more case missed in ad37c8694e.
-
Nikita Popov authored
-
Radu Salavat authored
Enable and test 'rdynamic' flag
-
Shengchen Kan authored
1. Simplify the variable name 2. Change HasOddOpcode to HasEvenOpcode b/c a. opcode of any 8-bit arithmetic instruction is even b. opcode of a 16/32/64-bit arithmetic instruction is usually odd, but it can be even sometimes, e.g. INC/DEC, ADCX/ADOX c. so that we can remove `let Opcode = o` for the mentioned corner cases. -
Nikita Popov authored
Shufflevector semantics have changed so that poison mask elements return poison rather than undef. Reflect this in the canCreateUndefOrPoison() implementation.
-