diff options
| author | Cameron Zwarich <zwarich@apple.com> | 2011-02-24 10:00:08 +0000 |
|---|---|---|
| committer | Cameron Zwarich <zwarich@apple.com> | 2011-02-24 10:00:08 +0000 |
| commit | 6470647383c46c978f4f185c66d51adb05a920f9 (patch) | |
| tree | 25da6bf06b767bf14cdc4c67675ac1420e89555e /llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp | |
| parent | b670d512e9d58d04d168c0aa4c852bfcd386f68b (diff) | |
| download | llvm-6470647383c46c978f4f185c66d51adb05a920f9.zip llvm-6470647383c46c978f4f185c66d51adb05a920f9.tar.gz llvm-6470647383c46c978f4f185c66d51adb05a920f9.tar.bz2 | |
Refactor the LiveOutInfo interface into a few methods on FunctionLoweringInfo
and make the actual map private.
llvm-svn: 126376
Diffstat (limited to 'llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp')
| -rw-r--r-- | llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp b/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp index 452f561..ba0e855 100644 --- a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp +++ b/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp @@ -641,16 +641,17 @@ SDValue RegsForValue::getCopyFromRegs(SelectionDAG &DAG, // If the source register was virtual and if we know something about it, // add an assert node. if (!TargetRegisterInfo::isVirtualRegister(Regs[Part+i]) || - !RegisterVT.isInteger() || RegisterVT.isVector() || - !FuncInfo.LiveOutRegInfo.inBounds(Regs[Part+i])) + !RegisterVT.isInteger() || RegisterVT.isVector()) + continue; + + const FunctionLoweringInfo::LiveOutInfo *LOI = + FuncInfo.GetLiveOutRegInfo(Regs[Part+i]); + if (!LOI) continue; - - const FunctionLoweringInfo::LiveOutInfo &LOI = - FuncInfo.LiveOutRegInfo[Regs[Part+i]]; unsigned RegSize = RegisterVT.getSizeInBits(); - unsigned NumSignBits = LOI.NumSignBits; - unsigned NumZeroBits = LOI.KnownZero.countLeadingOnes(); + unsigned NumSignBits = LOI->NumSignBits; + unsigned NumZeroBits = LOI->KnownZero.countLeadingOnes(); // FIXME: We capture more information than the dag can represent. For // now, just use the tightest assertzext/assertsext possible. |
