[PATCH] Mark vastart_save_xmm_regs as changing EFLAGS
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.
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).
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
More information about the llvm-commits