diff --git a/llvm/lib/CodeGen/SelectionDAG/FastISel.cpp b/llvm/lib/CodeGen/SelectionDAG/FastISel.cpp index c40eaf629289..8aa37a06dc2f 100644 --- a/llvm/lib/CodeGen/SelectionDAG/FastISel.cpp +++ b/llvm/lib/CodeGen/SelectionDAG/FastISel.cpp @@ -340,6 +340,8 @@ bool FastISel::SelectCall(const User *I) { return true; const AllocaInst *AI = dyn_cast(Address); // Don't handle byval struct arguments or VLAs, for example. + // Note that if we have a byval struct argument, fast ISel is turned off; + // those are handled in SelectionDAGBuilder. if (!AI) break; DenseMap::iterator SI = StaticAllocaMap.find(AI); @@ -347,7 +349,7 @@ bool FastISel::SelectCall(const User *I) { int FI = SI->second; if (!DI->getDebugLoc().isUnknown()) MF.getMMI().setVariableDbgInfo(DI->getVariable(), FI, DI->getDebugLoc()); - + // Building the map above is target independent. Generating DBG_VALUE // inline is target dependent; do this now. (void)TargetSelectInstruction(cast(I));