[PATCH] D64174: [DAGCombine] Do several rounds of combine for addcarry nodes.

Amaury SECHET via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jul 3 16:58:03 PDT 2019


deadalnix created this revision.
deadalnix added reviewers: arsenm, hfinkel, baldrick, efriedma, RKSimon, craig.topper, niravd.
Herald added a project: LLVM.

addcarry 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 D57367 <https://reviews.llvm.org/D57367> that specialize in the specific case of large intereger optimization.


Repository:
  rL LLVM

https://reviews.llvm.org/D64174

Files:
  lib/CodeGen/SelectionDAG/DAGCombiner.cpp
  test/CodeGen/X86/addcarry.ll
  test/CodeGen/X86/subcarry.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D64174.207927.patch
Type: text/x-patch
Size: 12417 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190703/9a6ec60c/attachment.bin>


More information about the llvm-commits mailing list