Add a hack to the scheduler to disable pseudo-two-address dependencies in
authorDan Gohman <gohman@apple.com>
Tue, 8 Nov 2011 21:29:06 +0000 (21:29 +0000)
committerDan Gohman <gohman@apple.com>
Tue, 8 Nov 2011 21:29:06 +0000 (21:29 +0000)
commit9cae2d2225ba58a70ef8ff057feab6873f4af520
treea0c948c7431aeba1e389c126e0e2ce8f4b304b50
parent3568a1051efb9a9edbd4914b04b44e9d7bc1b004
Add a hack to the scheduler to disable pseudo-two-address dependencies in
basic blocks containing calls. This works around a problem in which
these artificial dependencies can get tied up in calling seqeunce
scheduling in a way that makes the graph unschedulable with the current
approach of using artificial physical register dependencies for calling
sequences. This fixes PR11314.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144124 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp
test/CodeGen/X86/fold-pcmpeqd-0.ll
test/CodeGen/X86/multiple-libcalls-and-twoaddr-deps-scheduling.ll [new file with mode: 0644]