- Mar 18, 2022
-
-
Benjamin Kramer authored
No need for a unordered_map of enum, which is also broken in GCC before 6.1. No functionality change intended.
-
Benjamin Kramer authored
So we don't end up with a copy of std::sort in every dialect definition. NFCI.
-
Benjamin Kramer authored
This isn't performance sensitive and array_pod_sort is a lot smaller. NFCI.
-
Stanislav Mekhanoshin authored
Differential Revision: https://reviews.llvm.org/D121843
-
LLVM GN Syncbot authored
-
Kevin P. Neal authored
[FPEnv][InstSimplify] Teach CannotBeNegativeZero() about constrained intrinsics.
-
Johannes Doerfert authored
-
Pavel Labath authored
D120762 accidentally moved the interrupt check into the block which was reading stdio. This meant that a ^C only took effect after a regular character has been pressed. This patch fixes that and adds a (pexpect) test. Differential revision: https://reviews.llvm.org/D121912
-
Zahira Ammarguellat authored
FLT_EVAL_METHOD tells the user the precision at which, temporary results are evaluated but when fast-math is enabled, the numeric values are not guaranteed to match the source semantics, so the eval-method is meaningless. For example, the expression `x + y + z` has as source semantics `(x + y) + z`. FLT_EVAL_METHOD is telling the user at which precision `(x + y)` is evaluated. With fast-math enable the compiler can choose to evaluate the expression as `(y + z) + x`. The correct behavior is to set the FLT_EVAL_METHOD to `-1` to tell the user that the precision of the intermediate values is unknow. This patch is doing that. Differential Revision: https://reviews.llvm.org/D121122
-
Vang Thao authored
When collecting trivially rematerializable defs, skip any subreg defs. We do not want to sink these. Differential Revision: https://reviews.llvm.org/D121874
-
Sterling Augustine authored
Differential Revision: https://reviews.llvm.org/D121922
-
Louis Dionne authored
We've been meaning to remove support for the legacy testing configuration for a long time. This patch switches the default from the legacy config to the appropriate new-style configuration based on a few hints. We've been running with the new-style configuration for more than a year in our CI, however it's possible that this will uncover issues with some users that run the tests on platforms that we don't support yet with the new-style configs. Unfortunately, there is no way to know about it other than to land this patch and see whether anything breaks. Differential Revision: https://reviews.llvm.org/D121632
-
William S. Moses authored
Constant fold powf, given two constant operands and a compatible type Reviewed By: ftynse Differential Revision: https://reviews.llvm.org/D121845
-
Alexey Bataev authored
No need to schedule entry nodes where all instructions are not memory read/write instructions and their operands are either constants, or arguments, or phis, or instructions from others blocks, or their users are phis or from the other blocks. The resulting vector instructions can be placed at the beginning of the basic block without scheduling (if operands does not need to be scheduled) or at the end of the block (if users are outside of the block). It may save some compile time and scheduling resources. Differential Revision: https://reviews.llvm.org/D121121
-
Dominic Chen authored
Differential Revision: https://reviews.llvm.org/D121859
-
Uday Bondhugula authored
Fold affine.load ops on global constant memrefs when indices are all constant. Reviewed By: ayzhuang Differential Revision: https://reviews.llvm.org/D120612
-
Johannes Doerfert authored
This reverts commit a597d6a7 and reapplies 07b17664. In AMD GPU device code the globals are in AS(1). Before, we crashed if the global was a structure. Now we simply cast away the AS before we generate the code to initialize the global. Differential Revision: https://reviews.llvm.org/D121837 Fixes: https://github.com/llvm/llvm-project/issues/54421
-
Johannes Doerfert authored
-
Julian Lettner authored
For MachO, lower `@llvm.global_dtors` into `@llvm_global_ctors` with `__cxa_atexit` calls to avoid emitting the deprecated `__mod_term_func`. Reuse the existing `WebAssemblyLowerGlobalDtors.cpp` to accomplish this. Enable fallback to the old behavior via Clang driver flag (`-fregister-global-dtors-with-atexit`) or llc / code generation flag (`-lower-global-dtors-via-cxa-atexit`). This escape hatch will be removed in the future. Differential Revision: https://reviews.llvm.org/D121736
-
Jim Kitchen authored
When the sparse_tensor dialect lowers linalg.generic, it makes inferences about how the operations should affect the looping logic. For example, multiplication is an intersection while addition is a union of two sparse tensors. The new binary and unary op separate the looping logic from the computation by nesting the computation code inside a block which is merged at the appropriate level in the lowered looping code. The binary op can have custom computation code for the overlap, left, and right sparse overlap regions. The unary op can have custom computation code for the present and absent values. Reviewed by: aartbik Differential Revision: https://reviews.llvm.org/D121018
-
Archibald Elliott authored
There is a crash in the ARM backend when attempting to decode a "tsb csync" instruction using `llvm-objdump --triple=armv8.4a -d`. The crash was in `ARMMCInstrAnalysis::evaluateBranch` where the number of operands in the decoded instruction (0) did not match the number of operands in the instruction description (1). This is becuase `tsb csync` looks like it has an operand during assembly, but there is only one valid operand (csync), so there is no encoding space in the instruction for the operand, so the decoder never has a field to decode that represents `csync`. The fix is to add a custom decode method, which ensures that this instruction does have the right number of operands after decoding. This method merely adds the only available operand value, `ARM_TSB::CSYNC`. Reviewed By: tmatheson Differential Revision: https://reviews.llvm.org/D121479
-
Augusto Noronha authored
The strippable Swift reflection sections contain subtractor relocations that need to be applied. There are two situations we need to support. 1) Both symbols used in the relocation come from the .o file (for example, one symbol lives in __swift5_fieldmd and the second in __swift5_reflstr). 2) One symbol comes from th .o file and the second from the main binary (for example, __swift5_fieldmd and __swift5_typeref). Differential Revision: https://reviews.llvm.org/D120574
-
Dominic Chen authored
Differential Revision: https://reviews.llvm.org/D121850
-
Dominic Chen authored
Explicitly specify the class name to avoid selecting the wrong Run function, and inherit from the correct Test parent Differential Revision: https://reviews.llvm.org/D121854
-
Dominic Chen authored
Differential Revision: https://reviews.llvm.org/D121856
-
Dominic Chen authored
Tests can register multiple allocators, but only the first will initialize since it initializes the TSDRegistrySharedT. Then, destruction of subsequent allocator may end up unmapping a nullptr PrimaryBase with non-zero PrimarySize. Differential Revision: https://reviews.llvm.org/D121858
-
Dominic Chen authored
Differential Revision: https://reviews.llvm.org/D121860
-
Dominic Chen authored
Differential Revision: https://reviews.llvm.org/D121861
-
Ellis Hoag authored
When we build clang without asserts we should still check the result of `InlineFunction()` to be sure there wasn't an error. Otherwise we could incorrectly merge attributes in the next line. This also removes a redundent call to `getCaller()`. Reviewed By: nikic Differential Revision: https://reviews.llvm.org/D121722
-
Zixu Wang authored
-
Craig Topper authored
-
Yuanfang Chen authored
So it matches `__STDCPP_DEFAULT_NEW_ALIGNMENT__`. Reviewed By: probinson, aaron.ballman Differential Revision: https://reviews.llvm.org/D118850
-
Matt Arsenault authored
This reverts commit c46aab01. This evidently blocks compiling in some cases that used to work before. I'm also not fully convinced this is the correct place to fix this problem.
-
Stanislav Gatev authored
Model nullopt, value, and conversion assignment operators. Reviewed-by: xazax.hun Differential Revision: https://reviews.llvm.org/D121863
-
Craig Topper authored
Currently we allow half types in vectors if the scalar Zfh extension is enabled. This behavior is not inline with the vector spec. For f32 and f64 types, the Zve32f, Zve64f, Zve64d, and V explicitly control the availablity of floating point types in vectors. In order to make our compiler compliant, we either need to remove all support for half in vectors or we need an extension to control it. Draft spec here https://github.com/riscv/riscv-v-spec/pull/780 Reviewed By: kito-cheng Differential Revision: https://reviews.llvm.org/D121345
-
Florian Hahn authored
Test case for #54023.
-
LLVM GN Syncbot authored
-
Sterling Augustine authored
This reverts commit 81417261.
-
David Goldman authored
-
Andrzej Warzynski authored
All option forwarding tests should be added to frontend-forwarding.f90 rather than files corresponding to various options. This patch moves such test for `-mllvm` accordingly.
-