Skip to content

Commit 6267454

Browse files
Merge pull request swiftlang#85752 from felipepiovezan/felipe/cherry_pick_dbgdeclarevalue_swift
[IRGenDebugInfo] Replace llvm.dbg.coroframe_entry with dbg.declare_value
2 parents c5c0e06 + 4569b82 commit 6267454

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
@@ -3774,7 +3774,7 @@ struct DbgIntrinsicEmitter {
37743774
PointerUnion<llvm::BasicBlock *, llvm::Instruction *> InsertPt;
37753775
irgen::IRBuilder &IRBuilder;
37763776
llvm::DIBuilder &DIBuilder;
3777-
AddrDbgInstrKind ForceDbgDeclareOrCoro;
3777+
AddrDbgInstrKind ForceDbgDeclareOrDeclareValue;
37783778

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

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

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

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

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

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

38953895
if (InCoroContext && AddrDInstKind != AddrDbgInstrKind::DbgValueDeref)
3896-
AddrDInstKind = AddrDbgInstrKind::DbgCoroFrameEntry;
3896+
AddrDInstKind = AddrDbgInstrKind::DbgDeclareValue;
38973897

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

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

39043904
if (AddrDInstKind == AddrDbgInstrKind::DbgDeclare ||
3905-
AddrDInstKind == AddrDbgInstrKind::DbgCoroFrameEntry) {
3905+
AddrDInstKind == AddrDbgInstrKind::DbgDeclareValue) {
39063906
ParentBlock = Alloca->getParent();
39073907
InsertBefore = std::next(Alloca->getIterator());
39083908
}
@@ -3930,7 +3930,7 @@ void IRGenDebugInfoImpl::emitDbgIntrinsic(
39303930
// in the coroutine context by creating a llvm.dbg.declare for the variable
39313931
// in the entry block of each funclet.
39323932
if (AddrDInstKind == AddrDbgInstrKind::DbgDeclare ||
3933-
AddrDInstKind == AddrDbgInstrKind::DbgCoroFrameEntry) {
3933+
AddrDInstKind == AddrDbgInstrKind::DbgDeclareValue) {
39343934
// Function arguments in async functions are emitted without a shadow copy
39353935
// (that would interfere with coroutine splitting) but with a
39363936
// 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)