aboutsummaryrefslogtreecommitdiff
path: root/clang/utils/TableGen/RISCVVEmitter.cpp
diff options
context:
space:
mode:
authorLuke Lau <luke@igalia.com>2025-09-03 09:09:19 +0800
committerGitHub <noreply@github.com>2025-09-03 01:09:19 +0000
commitc33ccfa52b2db90bae72ac11ee50639231e93310 (patch)
tree5287773bde869e3cbc3301b240126feb3665845f /clang/utils/TableGen/RISCVVEmitter.cpp
parent410764cff5d657e66a64a8250958db99fb721385 (diff)
downloadllvm-c33ccfa52b2db90bae72ac11ee50639231e93310.zip
llvm-c33ccfa52b2db90bae72ac11ee50639231e93310.tar.gz
llvm-c33ccfa52b2db90bae72ac11ee50639231e93310.tar.bz2
[VPlan] Reassociate (x & y) & z -> x & (y & z) (#155383)
This PR reassociates logical ands in order to enable more simplifications. The driving motivation for this is that with tail folding all blocks inside the loop body will end up using the header mask. However this can end up nestled deep within a chain of logical ands from other edges. Typically the header mask will be a leaf nested in the LHS, e.g. (headermask & y) & z. So pulling it out allows it to be simplified further, e.g. allows it to be optimised away to VP intrinsics with EVL tail folding.
Diffstat (limited to 'clang/utils/TableGen/RISCVVEmitter.cpp')
0 files changed, 0 insertions, 0 deletions