diff options
Diffstat (limited to 'llvm/lib/CodeGen/SelectionDAG')
| -rw-r--r-- | llvm/lib/CodeGen/SelectionDAG/FastISel.cpp | 22 | 
1 files changed, 11 insertions, 11 deletions
| diff --git a/llvm/lib/CodeGen/SelectionDAG/FastISel.cpp b/llvm/lib/CodeGen/SelectionDAG/FastISel.cpp index 8aa37a06dc2..49bfbffa623 100644 --- a/llvm/lib/CodeGen/SelectionDAG/FastISel.cpp +++ b/llvm/lib/CodeGen/SelectionDAG/FastISel.cpp @@ -342,17 +342,17 @@ bool FastISel::SelectCall(const User *I) {      // 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<const AllocaInst*, int>::iterator SI = -      StaticAllocaMap.find(AI); -    if (SI == StaticAllocaMap.end()) break; // VLAs. -    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<Instruction>(I)); +    if (AI) { +      DenseMap<const AllocaInst*, int>::iterator SI = +        StaticAllocaMap.find(AI); +      if (SI == StaticAllocaMap.end()) break; // VLAs. +      int FI = SI->second; +      if (!DI->getDebugLoc().isUnknown()) +        MF.getMMI().setVariableDbgInfo(DI->getVariable(), FI, DI->getDebugLoc()); +    } else +      // Building the map above is target independent.  Generating DBG_VALUE +      // inline is target dependent; do this now. +      (void)TargetSelectInstruction(cast<Instruction>(I));      return true;    }    case Intrinsic::dbg_value: { | 

