[PATCH] D57367: [DAGCombine] Do several rounds of combine for nodes using SimplifyDemandedBits.
Amaury SECHET via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Jan 28 19:09:34 PST 2019
deadalnix created this revision.
deadalnix added reviewers: arsenm, hfinkel, baldrick, efriedma, RKSimon, craig.topper, niravd, xbolva00.
Herald added a subscriber: wdng.
SimplifyDemandedBits can explore severallevels of the DAG docompute its result. This means that a transformation in the DAG that isn't immediately related to a node might affect it.
We therefore add these nodes to the DeepPatternNodes set so that they can be processed again in case the DAG is modfied.
In the future, other node may be added to the set as need arises.
This is a variation on D33587 <https://reviews.llvm.org/D33587> that should be more lightweight as it focuses the extra work on node that are actually likely to benefit from it rather than the whole DAG.
Repository:
rL LLVM
https://reviews.llvm.org/D57367
Files:
lib/CodeGen/SelectionDAG/DAGCombiner.cpp
test/CodeGen/X86/avg.ll
test/CodeGen/X86/avx512-intrinsics-upgrade.ll
test/CodeGen/X86/bypass-slow-division-32.ll
test/CodeGen/X86/combine-fcopysign.ll
test/CodeGen/X86/combine-srem.ll
test/CodeGen/X86/constant-combines.ll
test/CodeGen/X86/illegal-bitfield-loadstore.ll
test/CodeGen/X86/jump_sign.ll
test/CodeGen/X86/legalize-shift-64.ll
test/CodeGen/X86/movmsk.ll
test/CodeGen/X86/not-and-simplify.ll
test/CodeGen/X86/pr32282.ll
test/CodeGen/X86/pr33844.ll
test/CodeGen/X86/pr35765.ll
test/CodeGen/X86/pr38185.ll
test/CodeGen/X86/sat-add.ll
test/CodeGen/X86/shift-double-x86_64.ll
test/CodeGen/X86/shift-double.ll
test/CodeGen/X86/uadd_sat_vec.ll
test/CodeGen/X86/unfold-masked-merge-scalar-constmask-innerouter.ll
test/CodeGen/X86/unfold-masked-merge-scalar-constmask-interleavedbits.ll
test/CodeGen/X86/unfold-masked-merge-scalar-constmask-interleavedbytehalves.ll
test/CodeGen/X86/unfold-masked-merge-scalar-constmask-lowhigh.ll
test/CodeGen/X86/vector-reduce-smax-widen.ll
test/CodeGen/X86/vector-reduce-smax.ll
test/CodeGen/X86/vector-reduce-smin-widen.ll
test/CodeGen/X86/vector-reduce-smin.ll
test/CodeGen/X86/vector-reduce-umax-widen.ll
test/CodeGen/X86/vector-reduce-umax.ll
test/CodeGen/X86/vector-reduce-umin-widen.ll
test/CodeGen/X86/vector-reduce-umin.ll
test/CodeGen/X86/vector-sext-widen.ll
test/CodeGen/X86/vector-sext.ll
test/CodeGen/X86/vector-trunc-packus-widen.ll
test/CodeGen/X86/vector-trunc-packus.ll
test/CodeGen/X86/vector-trunc-ssat-widen.ll
test/CodeGen/X86/vector-trunc-ssat.ll
test/CodeGen/X86/vector-truncate-combine.ll
test/CodeGen/X86/xor.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D57367.184008.patch
Type: text/x-patch
Size: 267186 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190129/4485c8e8/attachment-0001.bin>
More information about the llvm-commits
mailing list