[PATCH] D29489: Optimize SETCC + VSEL of incompatible or illegal types

Eli Friedman via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Feb 6 18:05:37 PST 2017


efriedma added a comment.

> I am not sure of what the best place to insert this function would be, but currently I need to call it from both PromoteIntOp_SELECT() and WidenVecRes_SELECT(), both called on the VSELECT.

You land in WidenVecRes_SELECT if the VSELECT result type is illegal, and PromoteIntOp_SELECT if the VSELECT result type is legal.  I'm surprised PromoteIntOp_SELECT doesn't do the right thing without your special-case code, though; could you trace through and figure out what's happening?  What goes wrong after PromoteTargetBoolean promotes the SETCC to an appropriate type?


https://reviews.llvm.org/D29489





More information about the llvm-commits mailing list