[llvm-commits] [llvm] r102602 - in /llvm/trunk/lib/CodeGen/SelectionDAG: SelectionDAGBuilder.cpp SelectionDAGISel.cpp
Evan Cheng
evan.cheng at apple.com
Wed Apr 28 23:33:38 PDT 2010
Author: evancheng
Date: Thu Apr 29 01:33:38 2010
New Revision: 102602
URL: http://llvm.org/viewvc/llvm-project?rev=102602&view=rev
Log:
Re-enable 102565 with fixes.
Modified:
llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
Modified: llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp?rev=102602&r1=102601&r2=102602&view=diff
==============================================================================
--- llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp (original)
+++ llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp Thu Apr 29 01:33:38 2010
@@ -3707,15 +3707,17 @@
}
}
- if (!Reg)
- Reg = FuncInfo.ValueMap[V];
- if (!Reg)
- return false;
+ if (!Reg) {
+ DenseMap<const Value *, unsigned>::iterator VMI = FuncInfo.ValueMap.find(V);
+ if (VMI == FuncInfo.ValueMap.end())
+ return false;
+ Reg = VMI->second;
+ }
const TargetInstrInfo *TII = DAG.getTarget().getInstrInfo();
MachineInstrBuilder MIB = BuildMI(MF, getCurDebugLoc(),
TII->get(TargetOpcode::DBG_VALUE))
- .addReg(Reg).addImm(Offset).addMetadata(Variable);
+ .addReg(Reg, RegState::Debug).addImm(Offset).addMetadata(Variable);
FuncInfo.ArgDbgValues.push_back(&*MIB);
return true;
}
@@ -3896,15 +3898,11 @@
} else {
SDValue &N = NodeMap[V];
if (N.getNode()) {
-#if 0
if (!EmitFuncArgumentDbgValue(DI, V, Variable, Offset, N)) {
-#endif
SDV = DAG.getDbgValue(Variable, N.getNode(),
N.getResNo(), Offset, dl, SDNodeOrder);
DAG.AddDbgValue(SDV, N.getNode(), false);
-#if 0
}
-#endif
} else {
// We may expand this to cover more cases. One case where we have no
// data available is an unreferenced parameter; we need this fallback.
Modified: llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp?rev=102602&r1=102601&r2=102602&view=diff
==============================================================================
--- llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp (original)
+++ llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp Thu Apr 29 01:33:38 2010
@@ -212,15 +212,12 @@
SelectAllBasicBlocks(Fn);
- FuncInfo->clear();
-
- // If the first basic block in the function has live ins that need to be
+ // If the first basic block in the function has live ins that need to be
// copied into vregs, emit the copies into the top of the block before
// emitting the code for the block.
MachineBasicBlock *EntryMBB = MF->begin();
RegInfo->EmitLiveInCopies(EntryMBB, TRI, TII);
-#if 0
// Insert DBG_VALUE instructions for function arguments to the entry block.
for (unsigned i = 0, e = FuncInfo->ArgDbgValues.size(); i != e; ++i) {
MachineInstr *MI = FuncInfo->ArgDbgValues[e-i-1];
@@ -237,7 +234,6 @@
// Release function-specific state. SDB and CurDAG are already cleared
// at this point.
FuncInfo->clear();
-#endif
return true;
}
More information about the llvm-commits
mailing list