Skip to content
  1. Jun 17, 2013
  2. Jun 16, 2013
    • David Blaikie's avatar
      DebugInfo: remove target-specific Frame Index handling for DBG_VALUE MachineInstrs · b735b4d6
      David Blaikie authored
      Frame index handling is now target-agnostic, so delete the target hooks
      for creation & asm printing of target-specific addressing in DBG_VALUEs
      and any related functions.
      
      llvm-svn: 184067
      b735b4d6
    • David Blaikie's avatar
      Debug Info: Simplify Frame Index handling in DBG_VALUE Machine Instructions · 0252265b
      David Blaikie authored
      Rather than using the full power of target-specific addressing modes in
      DBG_VALUEs with Frame Indicies, simply use Frame Index + Offset. This
      reduces the complexity of debug info handling down to two
      representations of values (reg+offset and frame index+offset) rather
      than three or four.
      
      Ideally we could ensure that frame indicies had been eliminated by the
      time we reached an assembly or dwarf generation, but I haven't spent the
      time to figure out where the FIs are leaking through into that & whether
      there's a good place to convert them. Some FI+offset=>reg+offset
      conversion is done (see PrologEpilogInserter, for example) which is
      necessary for some SelectionDAG assumptions about registers, I believe,
      but it might be possible to make this a more thorough conversion &
      ensure there are no remaining FIs no matter how instruction selection
      is performed.
      
      llvm-svn: 184066
      0252265b
    • David Blaikie's avatar
      MachineOperand::setIsDebug should ensure the register is /not/ a definition · 80d05549
      David Blaikie authored
      This currently unused function appeared to be asserting in the wrong
      direction - DebugValues are never definitions of registers, only uses.
      Curiously we don't perform any of these checks for the more common (&
      actually used) case of MachineOperand::CreateReg (or other Create
      functions).
      
      llvm-svn: 184065
      80d05549
Loading