aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/CodeGen/CodeGenModule.h
diff options
context:
space:
mode:
authorDavid Green <david.green@arm.com>2025-06-24 13:08:59 +0100
committerGitHub <noreply@github.com>2025-06-24 13:08:59 +0100
commit825ad86aea5016f0466347862c8f6d23894ddc5a (patch)
tree14421deec2b02c4631afbecaac48d9c6930470aa /clang/lib/CodeGen/CodeGenModule.h
parentdb72f6cbe6344581e98c2aa2ef7f82c04c74d3d7 (diff)
downloadllvm-825ad86aea5016f0466347862c8f6d23894ddc5a.zip
llvm-825ad86aea5016f0466347862c8f6d23894ddc5a.tar.gz
llvm-825ad86aea5016f0466347862c8f6d23894ddc5a.tar.bz2
[DAG] Fold nested add(add(reduce(a), b), add(reduce(c), d)) (#115150)
This patch reassociates `add(add(vecreduce(a), b), add(vecreduce(c), d))` into `add(vecreduce(add(a, c)), add(b, d))`, to combine the reductions into a single node. This comes up after unrolling vectorized loops. There is another small change to move reassociateReduction inside fadd outside of a AllowNewConst block, as new constants will not be created and it should be OK to perform the combine later after legalization.
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.h')
0 files changed, 0 insertions, 0 deletions