}
-void CGDebugInfo::EmitStopPoint(llvm::Function *Fn, CGBuilderTy &Builder) {
+void CGDebugInfo::EmitStopPoint(CGBuilderTy &Builder) {
if (CurLoc.isInvalid() || CurLoc.isMacroID()) return;
// Don't bother if things are the same as last time.
/// EmitRegionStart- Constructs the debug code for entering a declarative
/// region - "llvm.dbg.region.start.".
-void CGDebugInfo::EmitRegionStart(llvm::Function *Fn, CGBuilderTy &Builder) {
+void CGDebugInfo::EmitRegionStart(CGBuilderTy &Builder) {
llvm::DIDescriptor D =
DebugFactory.CreateLexicalBlock(RegionStack.empty() ?
llvm::DIDescriptor() :
/// EmitRegionEnd - Constructs the debug code for exiting a declarative
/// region - "llvm.dbg.region.end."
-void CGDebugInfo::EmitRegionEnd(llvm::Function *Fn, CGBuilderTy &Builder) {
+void CGDebugInfo::EmitRegionEnd(CGBuilderTy &Builder) {
assert(!RegionStack.empty() && "Region stack mismatch, stack empty!");
// Provide an region stop point.
- EmitStopPoint(Fn, Builder);
+ EmitStopPoint(Builder);
RegionStack.pop_back();
}
/// EmitStopPoint - Emit a call to llvm.dbg.stoppoint to indicate a change of
/// source line.
- void EmitStopPoint(llvm::Function *Fn, CGBuilderTy &Builder);
+ void EmitStopPoint(CGBuilderTy &Builder);
/// EmitFunctionStart - Emit a call to llvm.dbg.function.start to indicate
/// start of a new function.
/// EmitRegionStart - Emit a call to llvm.dbg.region.start to indicate start
/// of a new block.
- void EmitRegionStart(llvm::Function *Fn, CGBuilderTy &Builder);
+ void EmitRegionStart(CGBuilderTy &Builder);
/// EmitRegionEnd - Emit call to llvm.dbg.region.end to indicate end of a
/// block.
- void EmitRegionEnd(llvm::Function *Fn, CGBuilderTy &Builder);
+ void EmitRegionEnd(CGBuilderTy &Builder);
/// EmitDeclareOfAutoVariable - Emit call to llvm.dbg.declare for an automatic
/// variable declaration.
DI->setLocation(S->getLocEnd());
else
DI->setLocation(S->getLocStart());
- DI->EmitStopPoint(CurFn, Builder);
+ DI->EmitStopPoint(Builder);
}
}
CGDebugInfo *DI = getDebugInfo();
if (DI) {
DI->setLocation(S.getLBracLoc());
- DI->EmitRegionStart(CurFn, Builder);
+ DI->EmitRegionStart(Builder);
}
// Keep track of the current cleanup stack depth.
if (DI) {
DI->setLocation(S.getRBracLoc());
- DI->EmitRegionEnd(CurFn, Builder);
+ DI->EmitRegionEnd(Builder);
}
RValue RV;
CGDebugInfo *DI = getDebugInfo();
if (DI) {
DI->setLocation(S.getSourceRange().getBegin());
- DI->EmitRegionStart(CurFn, Builder);
+ DI->EmitRegionStart(Builder);
}
{
if (DI) {
DI->setLocation(S.getSourceRange().getEnd());
- DI->EmitRegionEnd(CurFn, Builder);
+ DI->EmitRegionEnd(Builder);
}
// Emit the fall-through block.
// Emit debug descriptor for function end.
if (CGDebugInfo *DI = getDebugInfo()) {
DI->setLocation(EndLoc);
- DI->EmitRegionEnd(CurFn, Builder);
+ DI->EmitRegionEnd(Builder);
}
EmitFunctionEpilog(*CurFnInfo);