Revert "Change debug info default variable tracking system" (#33021)
authorJan Kotas <jkotas@microsoft.com>
Sun, 1 Mar 2020 09:37:17 +0000 (01:37 -0800)
committerGitHub <noreply@github.com>
Sun, 1 Mar 2020 09:37:17 +0000 (01:37 -0800)
src/coreclr/src/jit/codegenarmarch.cpp
src/coreclr/src/jit/codegencommon.cpp
src/coreclr/src/jit/codegeninterface.h
src/coreclr/src/jit/emit.cpp
src/coreclr/src/jit/emit.h
src/coreclr/src/jit/emitpub.h

index 4350e1d..47678ff 100644 (file)
@@ -2412,11 +2412,11 @@ void CodeGen::genRegCopy(GenTree* treeNode)
 
 #ifdef USING_VARIABLE_LIVE_RANGE
                 // Report the home change for this variable
-                varLiveKeeper->siUpdateVariableLiveRange(varDsc, lcl->GetLclNum());
+                varLiveKeeper->siUpdateVariableLiveRange(varDsc, lcl->GetLclNum())
 #endif // USING_VARIABLE_LIVE_RANGE
 
-                // The new location is going live
-                genUpdateRegLife(varDsc, /*isBorn*/ true, /*isDying*/ false DEBUGARG(treeNode));
+                    // The new location is going live
+                    genUpdateRegLife(varDsc, /*isBorn*/ true, /*isDying*/ false DEBUGARG(treeNode));
             }
         }
     }
index 2de0553..12fd7a5 100644 (file)
@@ -11474,19 +11474,9 @@ void CodeGenInterface::VariableLiveKeeper::VariableLiveDescriptor::startLiveRang
     // Is the first "VariableLiveRange" or the previous one has been closed so its "m_EndEmitLocation" is valid
     noway_assert(m_VariableLiveRanges->empty() || m_VariableLiveRanges->back().m_EndEmitLocation.Valid());
 
-    if (!m_VariableLiveRanges->empty() && m_VariableLiveRanges->back().m_EndEmitLocation.IsPreviousInsNum(emit) &&
-        siVarLoc::Equals(&varLocation, &(m_VariableLiveRanges->back().m_VarLocation)))
-    {
-        // The variable is being born just after the instruction at which it died.
-        // In this case, i.e. an update of the variable's value, we coalesce the live ranges.
-        m_VariableLiveRanges->back().m_EndEmitLocation.Init();
-    }
-    else
-    {
-        // Creates new live range with invalid end
-        m_VariableLiveRanges->emplace_back(varLocation, emitLocation(), emitLocation());
-        m_VariableLiveRanges->back().m_StartEmitLocation.CaptureLocation(emit);
-    }
+    // Creates new live range with invalid end
+    m_VariableLiveRanges->emplace_back(varLocation, emitLocation(), emitLocation());
+    m_VariableLiveRanges->back().m_StartEmitLocation.CaptureLocation(emit);
 
 #ifdef DEBUG
     if (!m_VariableLifeBarrier->hasLiveRangesToDump())
index 9d4f49f..2b48480 100644 (file)
 #include "treelifeupdater.h"
 #include "emit.h"
 
-#if 0
+#if 1
 // Enable USING_SCOPE_INFO flag to use psiScope/siScope info to report variables' locations.
 #define USING_SCOPE_INFO
 #endif
-#if 1
+#if 0
 // Enable USING_VARIABLE_LIVE_RANGE flag to use VariableLiveRange info to report variables' locations.
 // Note: if both USING_SCOPE_INFO and USING_VARIABLE_LIVE_RANGE are defined, then USING_SCOPE_INFO
 // information is reported to the debugger.
index 3069502..779b1a4 100644 (file)
@@ -65,21 +65,6 @@ UNATIVE_OFFSET emitLocation::GetFuncletPrologOffset(emitter* emit) const
     return emit->emitCurIGsize;
 }
 
-//------------------------------------------------------------------------
-// IsPreviousInsNum: Returns true if the emitter is on the next instruction
-//  of the same group as this emitLocation.
-//
-// Arguments:
-//  emit - an emitter* instance
-//
-bool emitLocation::IsPreviousInsNum(const emitter* emit) const
-{
-    assert(Valid());
-    bool isSameGroup  = (ig == emit->emitCurIG);
-    bool isSameInsNum = (emitGetInsNumFromCodePos(codePos) == emitGetInsNumFromCodePos(emit->emitCurOffset()) - 1);
-    return isSameGroup && isSameInsNum;
-}
-
 #ifdef DEBUG
 void emitLocation::Print(LONG compMethodID) const
 {
index 2a3e5a7..3045610 100644 (file)
@@ -191,8 +191,6 @@ public:
 
     UNATIVE_OFFSET GetFuncletPrologOffset(emitter* emit) const;
 
-    bool emitLocation::IsPreviousInsNum(const emitter* emit) const;
-
 #ifdef DEBUG
     void Print(LONG compMethodID) const;
 #endif // DEBUG
@@ -2391,7 +2389,7 @@ inline unsigned emitGetInsOfsFromCodePos(unsigned codePos)
     return (codePos >> 16);
 }
 
-inline unsigned emitter::emitCurOffset() const
+inline unsigned emitter::emitCurOffset()
 {
     unsigned codePos = emitCurIGinsCnt + (emitCurIGsize << 16);
 
index bc8abf3..cd28e03 100644 (file)
@@ -65,7 +65,7 @@ void emitFinishPrologEpilogGeneration();
 /************************************************************************/
 
 void*    emitCurBlock();
-unsigned emitCurOffset() const;
+unsigned emitCurOffset();
 
 UNATIVE_OFFSET emitCodeOffset(void* blockPtr, unsigned codeOffs);