[llvm-commits] [llvm] r118022 - /llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
Devang Patel
dpatel at apple.com
Tue Nov 2 10:19:04 PDT 2010
Author: dpatel
Date: Tue Nov 2 12:19:03 2010
New Revision: 118022
URL: http://llvm.org/viewvc/llvm-project?rev=118022&view=rev
Log:
If value map does not have register for an argument then try to find frame index before giving up.
Modified:
llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
Modified: llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp?rev=118022&r1=118021&r2=118022&view=diff
==============================================================================
--- llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp (original)
+++ llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp Tue Nov 2 12:19:03 2010
@@ -3980,12 +3980,11 @@
if (!Reg) {
// Check if ValueMap has reg number.
DenseMap<const Value *, unsigned>::iterator VMI = FuncInfo.ValueMap.find(V);
- if (VMI == FuncInfo.ValueMap.end())
- return false;
- Reg = VMI->second;
+ if (VMI != FuncInfo.ValueMap.end())
+ Reg = VMI->second;
}
-
- if (!Reg && N.getNode())
+
+ if (!Reg && N.getNode()) {
// Check if frame index is available.
if (LoadSDNode *LNode = dyn_cast<LoadSDNode>(N.getNode()))
if (FrameIndexSDNode *FINode =
@@ -3993,6 +3992,10 @@
Reg = TRI->getFrameRegister(MF);
Offset = FINode->getIndex();
}
+ }
+
+ if (!Reg)
+ return false;
MachineInstrBuilder MIB = BuildMI(MF, getCurDebugLoc(),
TII->get(TargetOpcode::DBG_VALUE))
More information about the llvm-commits
mailing list