diff options
author | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2012-02-22 22:52:52 +0000 |
---|---|---|
committer | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2012-02-22 22:52:52 +0000 |
commit | 02634be4d4c8a72b652ae3e76b327a12593b03d4 (patch) | |
tree | a6f15c2e39a29052887e7b55b251ea9c2f2432ee /lib/CodeGen/ScheduleDAGInstrs.cpp | |
parent | be2af7ee781cd0083124514f497b8cf3070776ec (diff) | |
download | llvm-02634be4d4c8a72b652ae3e76b327a12593b03d4.tar.gz llvm-02634be4d4c8a72b652ae3e76b327a12593b03d4.tar.bz2 llvm-02634be4d4c8a72b652ae3e76b327a12593b03d4.tar.xz |
Don't compute latencies for regmask operands.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151211 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/ScheduleDAGInstrs.cpp')
-rw-r--r-- | lib/CodeGen/ScheduleDAGInstrs.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/CodeGen/ScheduleDAGInstrs.cpp b/lib/CodeGen/ScheduleDAGInstrs.cpp index 61bca5294e..5c1247f987 100644 --- a/lib/CodeGen/ScheduleDAGInstrs.cpp +++ b/lib/CodeGen/ScheduleDAGInstrs.cpp @@ -737,7 +737,9 @@ void ScheduleDAGInstrs::ComputeOperandLatency(SUnit *Def, SUnit *Use, // %Q1<def> = VMULv8i16 %Q1<kill>, %Q3<kill>, ... // What we want is to compute latency between def of %D6/%D7 and use of // %Q3 instead. - DefIdx = DefMI->findRegisterDefOperandIdx(Reg, false, true, TRI); + unsigned Op2 = DefMI->findRegisterDefOperandIdx(Reg, false, true, TRI); + if (DefMI->getOperand(Op2).isReg()) + DefIdx = Op2; } MachineInstr *UseMI = Use->getInstr(); // For all uses of the register, calculate the maxmimum latency |