Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Rename virtRegMap to avoid confusion with the VirtRegMap that it isn't. | Jakob Stoklund Olesen | 2010-12-03 | 1 | -5/+5 | |
| | | | | llvm-svn: 120846 | |||||
* | Coalesce debug locations when possible, causing less DBG_VALUE instructions to | Jakob Stoklund Olesen | 2010-12-03 | 1 | -2/+34 | |
| | | | | | | be emitted. llvm-svn: 120845 | |||||
* | Emit DBG_VALUE instructions from LiveDebugVariables. | Jakob Stoklund Olesen | 2010-12-03 | 1 | -1/+181 | |
| | | | | llvm-svn: 120842 | |||||
* | Also update virtRegMap when renaming virtual registers. | Jakob Stoklund Olesen | 2010-12-03 | 1 | -1/+11 | |
| | | | | llvm-svn: 120841 | |||||
* | Update LiveDebugVariables during coalescing. | Jakob Stoklund Olesen | 2010-12-02 | 1 | -0/+49 | |
| | | | | llvm-svn: 120720 | |||||
* | Implement the first half of LiveDebugVariables. | Jakob Stoklund Olesen | 2010-12-02 | 1 | -2/+505 | |
| | | | | | | | | | | | | | | | | | | | 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 | |||||
* | Stub out a new LiveDebugVariables pass. | Jakob Stoklund Olesen | 2010-11-30 | 1 | -0/+50 | |
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 |