This is an archive of the discontinued LLVM Phabricator instance.

DAGCombiner: Factor out some and/or combines.
ClosedPublic

Authored by MatzeB on Mar 2 2015, 8:21 PM.

Details

Summary

This is in preparation for changing visitSELECT to normalize towards
select(Cond0, select(Cond1, X, Y), Y);
select(Cond0, X, select(Cond1, X, Y)) which perfom an implicit and/or of
the conditions.

The factored function contains all DAGCombine rules which reduce two values
combined by an And/Or operation to a single value. This does not include rules
involving constants as visitSELECT already handles that case.

Diff Detail

Repository
rL LLVM

Event Timeline

MatzeB updated this revision to Diff 21076.Mar 2 2015, 8:21 PM
MatzeB retitled this revision from to DAGCombiner: Factor out some and/or combines..
MatzeB updated this object.
MatzeB edited the test plan for this revision. (Show Details)
MatzeB added a reviewer: chandlerc.
MatzeB set the repository for this revision to rL LLVM.
hfinkel accepted this revision.Mar 4 2015, 11:37 AM
hfinkel added a reviewer: hfinkel.
hfinkel added a subscriber: hfinkel.

LGTM.

lib/CodeGen/SelectionDAG/DAGCombiner.cpp
2781 ↗(On Diff #21076)

Line too long?

This revision is now accepted and ready to land.Mar 4 2015, 11:37 AM
chandlerc edited edge metadata.Mar 5 2015, 3:00 PM

FYI, this didn't go to the mailing list at all as far as I can tell. Please
make sure that patches do go to the list. It's really important.

MatzeB added a subscriber: Unknown Object (MLST).Mar 5 2015, 3:04 PM

Added missing llvm-commits subscriber.

This revision was automatically updated to reflect the committed changes.