Skip to content
  • 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
Loading