OSDN Git Service

[DAGCombine] More diamong carry pattern optimization.
authorAmaury Sechet <deadalnix@gmail.com>
Wed, 3 Jul 2019 16:15:59 +0000 (16:15 +0000)
committerAmaury Sechet <deadalnix@gmail.com>
Wed, 3 Jul 2019 16:15:59 +0000 (16:15 +0000)
commit3f006013307ee332de9ce48bbde502466c3cef10
tree9bb0ec98e249056a5b819870a08118f1c31e2b78
parent4393b17a68582ed9208d8ee6a0b2d2a5f0d9982e
[DAGCombine] More diamong carry pattern optimization.

Summary:
This diff improve the capability of DAGCOmbine to generate linear carries propagation in presence of a diamond pattern. It is now able to match a large variety of different patterns rather than some hardcoded one.

Arguably, the codegen in test cases is not better, but this is to be expected. The goal of this transformation is more about canonicalisation than actual optimisation.

Reviewers: hfinkel, RKSimon, craig.topper

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D57302

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@365051 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/SelectionDAG/DAGCombiner.cpp
test/CodeGen/X86/addcarry.ll
test/CodeGen/X86/subcarry.ll