[PATCH] D18093: [ScheduleDAGInstrs] Handle instructions with multiple MMOs

Geoff Berry via llvm-commits llvm-commits at lists.llvm.org
Fri Mar 11 11:39:31 PST 2016


gberry created this revision.
gberry added reviewers: atrick, hfinkel.
gberry added a subscriber: llvm-commits.
Herald added subscribers: mcrosier, MatzeB.

In getUnderlyingObjectsForInstr(): Don't give up on instructions with
multiple MMOs, instead look through all the MMOs and if they all meet
the conservative criteria previously used for single MMO instructions,
then return all of the underlying objects derived from the MMOs.

The change to ScheduleDAGInstrs::buildSchedGraph() is needed to avoid
the case where multiple underlying objects are present and are related
in such a way that successive iterations of the loop end up adding a
dependency from an instruction to itself.

http://reviews.llvm.org/D18093

Files:
  lib/CodeGen/ScheduleDAGInstrs.cpp
  test/CodeGen/AArch64/arm64-misched-multimmo.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D18093.50455.patch
Type: text/x-patch
Size: 4842 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160311/76e4db5e/attachment.bin>


More information about the llvm-commits mailing list