- Nov 20, 2023
-
-
Oleksandr "Alex" Zinenko authored
-
Kolya Panchenko authored
HCFG builder doesn't correctly handle cases when non-outermost loop is requested to be vectorized [Original] Differential Revision: https://reviews.llvm.org/D150700
-
Alexey Bataev authored
No need to emit bitcat op for integer operands if it is detected that after minbitwidth analysis the type is the same.
-
Benjamin Maxwell authored
These were placed in LegalizeForLLVMExport.cpp, which is the wrong stage for these, as these lower to high-level ArmSME ops, not intrinsics.
-
bcahoon authored
When storing a subvector, too many element were written when the size of the alloca is smaller than the size of the vector store. This patch checks for the minimum of the alloca vector and the store vector to determine the number of elements to store.
-
-
Graham Hunter authored
Parameters marked as uniform take a scalar value, assuming the value is invariant in the scalar loop. In order to support this, we need to stop asking for a vector function variant with a default shape assuming that all arguments will become vector arguments, and instead consider all available variants and their parameter types.
-
David Spickett authored
-
Nikita Popov authored
Use the function value type instead of the element type of the function pointer type. Fixes https://github.com/llvm/llvm-project/issues/72798.
-
Bruno De Fraine authored
This moves the SROA implementation from SROAPass into a separate SROA class that is defined in the cpp file, and reduces the SROAPass class to a thin NewPM wrapper. This allows to remove all implementation details from the SROA header, and the SROALegacyPass can wrap the SROA class instead of the NewPM SROAPass. The trigger for this change is a GCC warning about visibility of implementation details in the SROA header after D138238. Credits to Nikita Popov for suggesting this reorganization.
-
Valery Pykhtin authored
Add live-through register set printing, assuming live-through register is in live-in and live-out sets, has no redefinitions but may have uses in the block.
-
Hans authored
It's a user-facing tool, so including it makes sense. Fixes https://github.com/llvm/llvm-project/issues/72754
-
Timm Bäder authored
The previous code was just an open-coded version of isArrayRoot().
-
Simon Pilgrim authored
Reduces diff in #72227
-
Simon Pilgrim authored
Adds missing check prefixes
-
Timm Bäder authored
-
dewen authored
We have STURHi store patterns but would fail to select from unscaled offsets. This adds the missing pattern.
-
Florian Hahn authored
Add an additional test case where we currently incorrectly identify a dependence as Foward instead of ForwardButPreventsForwarding. Also cleans up the names in the tests a bit to improve readability.
-
Utkarsh Saxena authored
s/makred/marked
-
Simon Pilgrim authored
[DAG] narrowExtractedVectorBinOp - ensure we limit late node creation to LegalOperations only (#72130) Avoids infinite issues in some upcoming patches to help D152928 - x86 sees a number of regressions that are addressed by extending SimplifyDemandedVectorEltsForTargetNode to cover more binop opcodes
-
Graham Hunter authored
When folding urem instructions we can end up not recognizing that the output will always be 0 due to Value*s being different, despite generating the same data (in this case, 2 different calls to vscale). This patch recognizes the (x << N) & (add (x << M), -1) pattern that instcombine replaces urem with after the two vscale calls have been reduced to one via CSE, then replaces with 0 when x is a power of 2 and N >= M.
-
Matthias Springer authored
* Declare arguments/results with `let` statements. * Rename `transp` to `permutation`. * Change type of `transp` from `I64ArrayAttr` to `DenseI64ArrayAttr` (provides direct access to `ArrayRef<int64_t>` instead of `ArrayAttr`).
-
hstk30-hw authored
Fixes https://github.com/llvm/llvm-project/issues/65884
-
h-vetinari authored
Unless specified as a "raw" string, Python will try to interpret backslashes, which means they don't get passed on correctly to the underlying regex-engine, unless escaped manually (`\\`). Use raw strings in `llvm/test/lit.cfg.py` to avoid a `SyntaxWarning`: ``` llvm/test/lit.cfg.py:275: SyntaxWarning: invalid escape sequence '\d' match = re.search("release (\d+)\.(\d+)", ptxas_out) ``` Other such warning present in 17.0.x were already fixed in 7ed0f5b6. -
Rin authored
When there is a COPY instruction in the loop with other uses, we want to hoist the COPY, which in turn leads to the users being hoisted as well. Co-authored-by David Green : David.Green@arm.com
-
Sam Tebbs authored
The svldr_vnum and svstr_vnum builtins always modify the base register and tile slice and provide immediate offsets of zero, even when the offset provided to the builtin is an immediate. This patch optimises the output of the builtins when the offset is an immediate, to pass it directly to the instruction and to not need the base register and tile slice updates.
-
Kai Luo authored
-
Mehdi Amini authored
-
Mehdi Amini authored
-
Mehdi Amini authored
-
Mehdi Amini authored
-
Mehdi Amini authored
-
Aiden Grossman authored
Currently, when making the ioctl system call, we're not preserving rcx and r11. The system call will clobber these registers, meaning that the values of the registers in the snippet will be different than expected. This patch fixes that be preserving the registers around the system call, similar to how the other registers involved in the making the system call get preserved. Fixes #72741.
-
Aiden Grossman authored
If there were some scheduler effects where something like the parent process got interrupted while the child process continued to run, there would be nothing blocking it from exiting before the parent process issued a PTRACE_ATTACH call. This would cause transient failures as this occurred pretty rarely. This patch removes the possibility of a transient failure by ensuring that the parent process attaches to the child process before sending the counter file descriptor through the socket, ensuring that the child process has at most progressed to being blocked in the read call for the counter file descriptor.
-
Aiden Grossman authored
This pass isn't used anywhere upstream and thus has no test coverage. Because of these reasons, remove it.
-
Sunil Kuravinakop authored
Diff Revision: https://reviews.llvm.org/D123235
-
Aiden Grossman authored
This legacy pass isn't used anywhere upstream and thus has no test coverage, so remove it.
-
Aiden Grossman authored
This pass isn't used upstream anywhere and doesn't have have a create...() function, thus isn't tested anywhere. Because of this, remove it.
-
Aiden Grossman authored
UnifyFunctionExitNodesLegacyPass isn't used anywhere in upstream and thus isn't tested at all. For these reasons, remove it.
-
Diana authored
For chain functions, PAL uses a `backend_stack_size` metadata item, which at the moment has the same meaning as `stack_frame_size_in_bytes`. We emit both for now in order to simplify coordination with PAL. The new item must be emitted in the `shader_functions` section, just as the metadata for other module entry functions. For simplicity, we mark chain functions as module entry functions and emit the same metadata for all of them.
-