This is an archive of the discontinued LLVM Phabricator instance.

AArch64: Don't lower ISD::SELECT to ISD::SELECT_CC
ClosedPublic

Authored by MatzeB on Mar 9 2015, 4:11 PM.

Details

Summary

Instead of lowering SELECT to SELECT_CC which is further lowered later
immediately call the SELECT_CC lowering code. This is preferable
because:

  • Avoids an unnecessary roundtrip through the legalization queues with an intermediate node.
  • More importantly: Lowered operations get visited last leading to SELECT_CC getting visited with legalized operands and unlegalized ones for preexisting SELECT_CC nodes. This does not hurt the current code (hence no testcase) but is required for another patch I am working on.

Diff Detail

Event Timeline

MatzeB updated this revision to Diff 21530.Mar 9 2015, 4:11 PM
MatzeB retitled this revision from to AArch64: Don't lower ISD::SELECT to ISD::SELECT_CC.
MatzeB added a reviewer: t.p.northover.
MatzeB updated this object.
MatzeB added a subscriber: Unknown Object (MLST).
ab added a subscriber: ab.Mar 9 2015, 9:56 PM
t.p.northover accepted this revision.Apr 6 2015, 1:49 PM
t.p.northover edited edge metadata.

This looks reasonable to me.

Tim.

This revision is now accepted and ready to land.Apr 6 2015, 1:49 PM
This revision was automatically updated to reflect the committed changes.