This is an archive of the discontinued LLVM Phabricator instance.

[X86] Remove FP0-6 operands from call instructions in FPStackifier pass. Only count defs as returns.
ClosedPublic

Authored by craig.topper on Jan 1 2020, 8:53 PM.

Details

Summary

All FP0-6 operands should be removed by the FP stackifier. By
removing these we fix the machine verifier error in PR39437.

I've also made it so that only defs are counted for STReturns
which removes what I think were extra stack cleanup instructions.

Event Timeline

craig.topper created this revision.Jan 1 2020, 8:53 PM
Herald added a project: Restricted Project. · View Herald TranscriptJan 1 2020, 8:53 PM
Herald added a subscriber: hiraditya. · View Herald Transcript

Remove bad assert. The assert was checking the calling convention of the function we're compiling, but we need the calling convention of the function that the call instruction references. But I don't think you can get that at this level.

RKSimon accepted this revision.Jan 2 2020, 8:46 AM

LGTM

This revision is now accepted and ready to land.Jan 2 2020, 8:46 AM