This is an archive of the discontinued LLVM Phabricator instance.

[X86] Reduce some 32-bit imuls into lea + shift
ClosedPublic

Authored by mkuper on Jan 27 2015, 5:13 AM.

Details

Summary

The existing code only performs the transformation for imulq on 64-bit platforms. It makes as much sense to make it for imull, on both 32-bit and 64-bit.
It looks like there's some additional clean-up needed, as well as additional patterns, but that'll go into a separate review.

Also extended the test to cover more cases.

Diff Detail

Repository
rL LLVM

Event Timeline

mkuper updated this revision to Diff 18811.Jan 27 2015, 5:13 AM
mkuper retitled this revision from to [X86] Reduce some 32-bit imuls into lea + shift.
mkuper updated this object.
mkuper edited the test plan for this revision. (Show Details)
mkuper added reviewers: delena, nadav.
mkuper added a subscriber: Unknown Object (MLST).
nadav edited edge metadata.Jan 27 2015, 7:42 AM

LGTM.

This revision was automatically updated to reflect the committed changes.
llvm/trunk/test/CodeGen/X86/imul.ll