This is an archive of the discontinued LLVM Phabricator instance.

[Transforms/Scalar/SeparateConstOffsetFromGEP] Distribute sext/zext to the operands of and/or/xor
ClosedPublic

Authored by jingyue on May 20 2014, 7:16 PM.

Details

Reviewers
eliben
hfinkel
Summary

Enhancement: extract a constant offset from "s/zext and/or/xor A, B".

Refactor: Extract some common logic into Distributable.

Added a test @ext_or to verify this transformation.

Diff Detail

Event Timeline

jingyue updated this revision to Diff 9650.May 20 2014, 7:16 PM
jingyue retitled this revision from to [Transforms/Scalar/SeparateConstOffsetFromGEP] Distribute sext/zext to the operands of and/or/xor.
jingyue updated this object.
jingyue edited the test plan for this revision. (Show Details)
jingyue added reviewers: eliben, hfinkel.
jingyue added a subscriber: Unknown Object (MLST).
jingyue updated this revision to Diff 9712.May 22 2014, 11:20 AM

Fixed a compiler warning

ping

This patch gives 2.5x speedup on one of our key benchmarks.

eliben accepted this revision.May 27 2014, 9:28 AM
eliben edited edge metadata.

LGTM

This revision is now accepted and ready to land.May 27 2014, 9:28 AM
jingyue closed this revision.May 27 2014, 11:08 AM

Committed revision 209670. Thanks for reviewing!