diff options
author | Evan Cheng <evan.cheng@apple.com> | 2008-04-28 22:07:13 +0000 |
---|---|---|
committer | Evan Cheng <evan.cheng@apple.com> | 2008-04-28 22:07:13 +0000 |
commit | 80cb49ea90ad34a368bba08c09c3ad026e4ce898 (patch) | |
tree | da57facaaf6ffc4f3918df9fa81f3e5981e303c7 /test/CodeGen/X86/2008-04-28-CyclicSchedUnit.ll | |
parent | 267e470bb607ee261035b5665c1927a978f387ce (diff) | |
download | external_llvm-80cb49ea90ad34a368bba08c09c3ad026e4ce898.zip external_llvm-80cb49ea90ad34a368bba08c09c3ad026e4ce898.tar.gz external_llvm-80cb49ea90ad34a368bba08c09c3ad026e4ce898.tar.bz2 |
Fix a bug in RegsForValue::getCopyToRegs() that causes cyclical scheduling units. If it's creating multiple CopyToReg nodes that are "flagged" together, it should not create a TokenFactor for it's chain outputs:
c1, f1 = CopyToReg
c2, f2 = CopyToReg
c3 = TokenFactor c1, c2
...
= user c3, ..., f2
Now that the two CopyToReg's and the user are "flagged" together. They effectively forms a single scheduling unit. The TokenFactor is now both an operand and a successor of the Flagged nodes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50376 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/X86/2008-04-28-CyclicSchedUnit.ll')
0 files changed, 0 insertions, 0 deletions