Skip to content

Commit 1cd15ed

Browse files
Merge pull request #85796 from felipepiovezan/felipe/cherry_pick_dbgdeclarevalue_swift_main
[IRGenDebugInfo] Replace llvm.dbg.coroframe_entry with dbg.declare_value
2 parents 968f086 + 0cff9c7 commit 1cd15ed

File tree

2 files changed

+13
-13
lines changed

2 files changed

+13
-13
lines changed

lib/IRGen/IRGenDebugInfo.cpp

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3775,7 +3775,7 @@ struct DbgIntrinsicEmitter {
37753775
PointerUnion<llvm::BasicBlock *, llvm::Instruction *> InsertPt;
37763776
irgen::IRBuilder &IRBuilder;
37773777
llvm::DIBuilder &DIBuilder;
3778-
AddrDbgInstrKind ForceDbgDeclareOrCoro;
3778+
AddrDbgInstrKind ForceDbgDeclareOrDeclareValue;
37793779

37803780
/// Initialize the emitter and initialize the emitter to assume that it is
37813781
/// going to insert an llvm.dbg.declare or an llvm.dbg.addr either at the
@@ -3784,7 +3784,7 @@ struct DbgIntrinsicEmitter {
37843784
DbgIntrinsicEmitter(irgen::IRBuilder &IRBuilder, llvm::DIBuilder &DIBuilder,
37853785
AddrDbgInstrKind AddrDInstrKind)
37863786
: InsertPt(), IRBuilder(IRBuilder), DIBuilder(DIBuilder),
3787-
ForceDbgDeclareOrCoro(AddrDInstrKind) {
3787+
ForceDbgDeclareOrDeclareValue(AddrDInstrKind) {
37883788
auto *ParentBB = IRBuilder.GetInsertBlock();
37893789
auto InsertBefore = IRBuilder.GetInsertPoint();
37903790

@@ -3811,13 +3811,13 @@ struct DbgIntrinsicEmitter {
38113811
llvm::DIExpression *Expr,
38123812
const llvm::DILocation *DL,
38133813
llvm::Instruction *InsertBefore) {
3814-
if (ForceDbgDeclareOrCoro == AddrDbgInstrKind::DbgDeclare)
3814+
if (ForceDbgDeclareOrDeclareValue == AddrDbgInstrKind::DbgDeclare)
38153815
return DIBuilder.insertDeclare(Addr, VarInfo, Expr, DL,
38163816
InsertBefore->getIterator());
38173817

3818-
if (ForceDbgDeclareOrCoro == AddrDbgInstrKind::DbgCoroFrameEntry)
3819-
return DIBuilder.insertCoroFrameEntry(Addr, VarInfo, Expr, DL,
3820-
InsertBefore->getIterator());
3818+
if (ForceDbgDeclareOrDeclareValue == AddrDbgInstrKind::DbgDeclareValue)
3819+
return DIBuilder.insertDeclareValue(Addr, VarInfo, Expr, DL,
3820+
InsertBefore->getIterator());
38213821

38223822
Expr = llvm::DIExpression::append(Expr, llvm::dwarf::DW_OP_deref);
38233823
return DIBuilder.insertDbgValueIntrinsic(Addr, VarInfo, Expr, DL,
@@ -3828,11 +3828,11 @@ struct DbgIntrinsicEmitter {
38283828
llvm::DIExpression *Expr,
38293829
const llvm::DILocation *DL,
38303830
llvm::BasicBlock *Block) {
3831-
if (ForceDbgDeclareOrCoro == AddrDbgInstrKind::DbgDeclare)
3831+
if (ForceDbgDeclareOrDeclareValue == AddrDbgInstrKind::DbgDeclare)
38323832
return DIBuilder.insertDeclare(Addr, VarInfo, Expr, DL, Block);
38333833

3834-
if (ForceDbgDeclareOrCoro == AddrDbgInstrKind::DbgCoroFrameEntry)
3835-
return DIBuilder.insertCoroFrameEntry(Addr, VarInfo, Expr, DL, Block);
3834+
if (ForceDbgDeclareOrDeclareValue == AddrDbgInstrKind::DbgDeclareValue)
3835+
return DIBuilder.insertDeclareValue(Addr, VarInfo, Expr, DL, Block);
38363836

38373837
Expr = llvm::DIExpression::append(Expr, llvm::dwarf::DW_OP_deref);
38383838
return DIBuilder.insertDbgValueIntrinsic(Addr, VarInfo, Expr, DL, Block);
@@ -3894,7 +3894,7 @@ void IRGenDebugInfoImpl::emitDbgIntrinsic(
38943894
AddrDInstKind = AddrDbgInstrKind::DbgValueDeref;
38953895

38963896
if (InCoroContext && AddrDInstKind != AddrDbgInstrKind::DbgValueDeref)
3897-
AddrDInstKind = AddrDbgInstrKind::DbgCoroFrameEntry;
3897+
AddrDInstKind = AddrDbgInstrKind::DbgDeclareValue;
38983898

38993899
DbgIntrinsicEmitter inserter{Builder, DBuilder, AddrDInstKind};
39003900

@@ -3903,7 +3903,7 @@ void IRGenDebugInfoImpl::emitDbgIntrinsic(
39033903
auto InsertBefore = Builder.GetInsertPoint();
39043904

39053905
if (AddrDInstKind == AddrDbgInstrKind::DbgDeclare ||
3906-
AddrDInstKind == AddrDbgInstrKind::DbgCoroFrameEntry) {
3906+
AddrDInstKind == AddrDbgInstrKind::DbgDeclareValue) {
39073907
ParentBlock = Alloca->getParent();
39083908
InsertBefore = std::next(Alloca->getIterator());
39093909
}
@@ -3931,7 +3931,7 @@ void IRGenDebugInfoImpl::emitDbgIntrinsic(
39313931
// in the coroutine context by creating a llvm.dbg.declare for the variable
39323932
// in the entry block of each funclet.
39333933
if (AddrDInstKind == AddrDbgInstrKind::DbgDeclare ||
3934-
AddrDInstKind == AddrDbgInstrKind::DbgCoroFrameEntry) {
3934+
AddrDInstKind == AddrDbgInstrKind::DbgDeclareValue) {
39353935
// Function arguments in async functions are emitted without a shadow copy
39363936
// (that would interfere with coroutine splitting) but with a
39373937
// llvm.dbg.declare to give CoroSplit.cpp license to emit a shadow copy

lib/IRGen/IRGenDebugInfo.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ enum ArtificialKind : bool { RealValue = false, ArtificialValue = true };
5353
enum class AddrDbgInstrKind : uint8_t {
5454
DbgDeclare,
5555
DbgValueDeref,
56-
DbgCoroFrameEntry,
56+
DbgDeclareValue,
5757
};
5858

5959
/// Helper object that keeps track of the current CompileUnit, File,

0 commit comments

Comments
 (0)