diff --git a/src/DwarfParser.hpp b/src/DwarfParser.hpp
index 4bfd045..de0eb6d 100644
--- a/src/DwarfParser.hpp
+++ b/src/DwarfParser.hpp
@@ -88,9 +88,6 @@
     int32_t           cfaRegisterOffset;  // CFA = (cfaRegister)+cfaRegisterOffset
     int64_t           cfaExpression;      // CFA = expression
     uint32_t          spExtraArgSize;
-    uint32_t          codeOffsetAtStackDecrement;
-    bool              registersInOtherRegisters;
-    bool              sameValueUsed;
     RegisterLocation  savedRegisters[kMaxRegisterNumber + 1];
     enum class InitializeTime { kLazy, kNormal };
 
@@ -521,8 +518,6 @@
         // value has not changed, so no need to restore from frame.
         // We model this as if the register was never saved.
         results->setRegisterLocation(reg, kRegisterUnused, initialState);
-        // set flag to disable conversion to compact unwind
-        results->sameValueUsed = true;
         _LIBUNWIND_TRACE_DWARF("DW_CFA_same_value(reg=%" PRIu64 ")\n", reg);
         break;
       case DW_CFA_register:
@@ -540,8 +535,6 @@
         }
         results->setRegister(reg, kRegisterInRegister, (int64_t)reg2,
                              initialState);
-        // set flag to disable conversion to compact unwind
-        results->registersInOtherRegisters = true;
         _LIBUNWIND_TRACE_DWARF(
             "DW_CFA_register(reg=%" PRIu64 ", reg2=%" PRIu64 ")\n", reg, reg2);
         break;
@@ -598,7 +591,6 @@
       case DW_CFA_def_cfa_offset:
         results->cfaRegisterOffset =
             (int32_t)addressSpace.getULEB128(p, instructionsEnd);
-        results->codeOffsetAtStackDecrement = (uint32_t)codeOffset;
         _LIBUNWIND_TRACE_DWARF("DW_CFA_def_cfa_offset(%d)\n",
                                results->cfaRegisterOffset);
         break;
@@ -662,7 +654,6 @@
         results->cfaRegisterOffset =
             (int32_t)(addressSpace.getSLEB128(p, instructionsEnd) *
                       cieInfo.dataAlignFactor);
-        results->codeOffsetAtStackDecrement = (uint32_t)codeOffset;
         _LIBUNWIND_TRACE_DWARF("DW_CFA_def_cfa_offset_sf(%d)\n",
                                results->cfaRegisterOffset);
         break;
