@@ -1777,7 +1777,9 @@ bool DataflowState::process(
1777
1777
if (auto debug = DebugVarCarryingInst::getFromValue (address)) {
1778
1778
debug.markAsMoved ();
1779
1779
if (auto varInfo = debug.getVarInfo ()) {
1780
- builder.createDebugValue (
1780
+ SILBuilderWithScope undefBuilder (builder);
1781
+ undefBuilder.setCurrentDebugScope (debug.inst ->getDebugScope ());
1782
+ undefBuilder.createDebugValue (
1781
1783
debug.inst ->getLoc (),
1782
1784
SILUndef::get (address->getType (), builder.getModule ()), *varInfo,
1783
1785
false /* poison*/ , true /* was moved*/ );
@@ -1923,7 +1925,9 @@ static bool performSingleBasicBlockAnalysis(DataflowState &dataflowState,
1923
1925
// Also, mark the alloc_stack as being moved at some point.
1924
1926
if (auto debug = DebugVarCarryingInst::getFromValue (address)) {
1925
1927
if (auto varInfo = debug.getVarInfo ()) {
1926
- builder.createDebugValue (
1928
+ SILBuilderWithScope undefBuilder (builder);
1929
+ undefBuilder.setCurrentDebugScope (debug.inst ->getDebugScope ());
1930
+ undefBuilder.createDebugValue (
1927
1931
debug.inst ->getLoc (),
1928
1932
SILUndef::get (address->getType (), builder.getModule ()), *varInfo,
1929
1933
false ,
@@ -2031,11 +2035,15 @@ static bool performSingleBasicBlockAnalysis(DataflowState &dataflowState,
2031
2035
IsInitialization);
2032
2036
if (auto debug = DebugVarCarryingInst::getFromValue (address)) {
2033
2037
if (auto varInfo = debug.getVarInfo ()) {
2034
- builder.createDebugValue (
2035
- debug.inst ->getLoc (),
2036
- SILUndef::get (address->getType (), builder.getModule ()), *varInfo,
2037
- false ,
2038
+ {
2039
+ SILBuilderWithScope undefBuilder (builder);
2040
+ undefBuilder.setCurrentDebugScope (debug.inst ->getDebugScope ());
2041
+ undefBuilder.createDebugValue (
2042
+ debug.inst ->getLoc (),
2043
+ SILUndef::get (address->getType (), builder.getModule ()), *varInfo,
2044
+ false ,
2038
2045
/* was moved*/ true );
2046
+ }
2039
2047
{
2040
2048
// Make sure at the reinit point to create a new debug value after the
2041
2049
// reinit instruction so we reshow the variable.
@@ -2078,7 +2086,9 @@ static bool performSingleBasicBlockAnalysis(DataflowState &dataflowState,
2078
2086
dumpBitVector (llvm::dbgs (), bitVector); llvm::dbgs () << ' \n ' );
2079
2087
if (auto debug = DebugVarCarryingInst::getFromValue (address)) {
2080
2088
if (auto varInfo = debug.getVarInfo ()) {
2081
- builder.createDebugValue (
2089
+ SILBuilderWithScope undefBuilder (builder);
2090
+ undefBuilder.setCurrentDebugScope (debug.inst ->getDebugScope ());
2091
+ undefBuilder.createDebugValue (
2082
2092
debug.inst ->getLoc (),
2083
2093
SILUndef::get (address->getType (), builder.getModule ()), *varInfo,
2084
2094
false ,
0 commit comments