Skip to content
  1. Dec 03, 2010
  2. Dec 02, 2010
    • Jakob Stoklund Olesen's avatar
      Update LiveDebugVariables during coalescing. · 9ec20111
      Jakob Stoklund Olesen authored
      llvm-svn: 120720
      9ec20111
    • Jakob Stoklund Olesen's avatar
      Implement the first half of LiveDebugVariables. · 4be0bd79
      Jakob Stoklund Olesen authored
      Scan the MachineFunction for DBG_VALUE instructions, and replace them with a
      data structure similar to LiveIntervals. The live range of a DBG_VALUE is
      determined by propagating it down the dominator tree until a new DBG_VALUE is
      found. When a DBG_VALUE lives in a register, its live range is confined to the
      live range of the register's value.
      
      LiveDebugVariables runs before coalescing, so DBG_VALUEs are not artificially
      extended when registers are joined.
      
      The missing half will recreate DBG_VALUE instructions from the intervals when
      register allocation is complete.
      
      The pass is disabled by default. It can be enabled with the temporary command
      line option -live-debug-variables.
      
      llvm-svn: 120636
      4be0bd79
  3. Nov 30, 2010
    • Jakob Stoklund Olesen's avatar
      Stub out a new LiveDebugVariables pass. · d4900a64
      Jakob Stoklund Olesen authored
      This analysis is going to run immediately after LiveIntervals. It will stay
      alive during register allocation and keep track of user variables mentioned in
      DBG_VALUE instructions.
      
      When the register allocator is moving values between registers and the stack, it
      is very hard to keep track of DBG_VALUE instructions. We usually get it wrong.
      This analysis maintains a data structure that makes it easy to update DBG_VALUE
      instructions.
      
      llvm-svn: 120385
      d4900a64
Loading