Keep track of incoming argument's location while emitting LiveIns.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124611 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Devang Patel
2011-01-31 21:38:14 +00:00
parent 97f6d5b241
commit e9a7ea6865
13 changed files with 144 additions and 32 deletions

View File

@ -851,8 +851,17 @@ void SelectionDAGISel::SelectAllBasicBlocks(const Function &Fn) {
PrepareEHLandingPad();
// Lower any arguments needed in this block if this is the entry block.
if (LLVMBB == &Fn.getEntryBlock())
if (LLVMBB == &Fn.getEntryBlock()) {
for (BasicBlock::const_iterator DBI = LLVMBB->begin(), DBE = LLVMBB->end();
DBI != DBE; ++DBI) {
if (const DbgInfoIntrinsic *DI = dyn_cast<DbgInfoIntrinsic>(DBI)) {
const DebugLoc DL = DI->getDebugLoc();
SDB->setCurDebugLoc(DL);
break;
}
}
LowerArguments(LLVMBB);
}
// Before doing SelectionDAG ISel, see if FastISel has been requested.
if (FastIS) {