[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