[PATCH] Mark vastart_save_xmm_regs as changing EFLAGS

Andrew Trick atrick at apple.com
Mon Dec 16 22:12:08 PST 2013


On Dec 15, 2013, at 12:25 AM, Duncan P. N. Exon Smith <dexonsmith at apple.com> wrote:

> This patch marks vastart_save_xmm_regs as changing EFLAGS.
> 
> The vastart_save_xmm_regs pseudo-instruction expands to a test and a
> branch, so it modifies EFLAGS.  Mark it so, or else the scheduler might
> place it in the middle of another test+branch.
> 
> This fixes a bug exposed by r192750, which turned on the MI Scheduler
> for X86.

LGTM.

For the record, the SD scheduler was the one reordering the TEST/VASTART. The change that caused it was moving to source order scheduling. As a result the TEST ended up in a totally different MI block.

Incidentally, MI Scheduler still fails to schedule the test+je together because test appears to have unmodelled side effects (unrelated issue).

-Andy

> 
> <vastart-defs-eflags.patch>_______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits




More information about the llvm-commits mailing list