diff options
| author | Chad Rosier <mcrosier@apple.com> | 2013-06-28 18:57:01 +0000 |
|---|---|---|
| committer | Chad Rosier <mcrosier@apple.com> | 2013-06-28 18:57:01 +0000 |
| commit | ee740c4d88cca4f9056ca4370cb90209ed4ee8db (patch) | |
| tree | 32f0afc0416521a7ca70a064d2f504538d3cfcee /llvm/lib/Target | |
| parent | a67de2b1bc0e6c91a73b5a0bd66d1f733086d513 (diff) | |
| download | bcm5719-llvm-ee740c4d88cca4f9056ca4370cb90209ed4ee8db.tar.gz bcm5719-llvm-ee740c4d88cca4f9056ca4370cb90209ed4ee8db.zip | |
Fix an off-by-one error. Also make the code a little more explicit in what it
is trying to do.
llvm-svn: 185191
Diffstat (limited to 'llvm/lib/Target')
| -rw-r--r-- | llvm/lib/Target/X86/X86FloatingPoint.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/llvm/lib/Target/X86/X86FloatingPoint.cpp b/llvm/lib/Target/X86/X86FloatingPoint.cpp index 8522c8cee6b..a4ea1a9eab0 100644 --- a/llvm/lib/Target/X86/X86FloatingPoint.cpp +++ b/llvm/lib/Target/X86/X86FloatingPoint.cpp @@ -115,9 +115,10 @@ namespace { unsigned Mask = 0; for (MachineBasicBlock::livein_iterator I = MBB->livein_begin(), E = MBB->livein_end(); I != E; ++I) { - unsigned Reg = *I - X86::FP0; - if (Reg < 8) - Mask |= 1 << Reg; + unsigned Reg = *I; + if (Reg < X86::FP0 || Reg > X86::FP6) + continue; + Mask |= 1 << (Reg - X86::FP0); } return Mask; } |

