Fix the SD scheduler to avoid gluing the same node twice.
authorAndrew Trick <atrick@apple.com>
Thu, 26 Apr 2012 21:48:25 +0000 (21:48 +0000)
committerAndrew Trick <atrick@apple.com>
Thu, 26 Apr 2012 21:48:25 +0000 (21:48 +0000)
commitaec9240be2bc0bc852167b26fd2e217355ecd745
treefd7c533f08b919cda9e45923caa503ef8266794c
parent06e950ecb21514b0d09f942c108ad346102278f1
Fix the SD scheduler to avoid gluing the same node twice.

DAGCombine strangeness may result in multiple loads from the same
offset. They both may try to glue themselves to another load. We could
insist that the redundant loads glue themselves to each other, but the
beter fix is to bail out from bad gluing at the time we detect it.

Fixes rdar://11314175: BuildSchedUnits assert.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155668 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp
test/CodeGen/X86/2012-04-26-sdglue.ll [new file with mode: 0644]