| #
e38859dc |
| 28-Jun-2012 |
Bill Wendling <[email protected]> |
Move lib/Analysis/DebugInfo.cpp to lib/VMCore/DebugInfo.cpp and include/llvm/Analysis/DebugInfo.h to include/llvm/DebugInfo.h.
The reasoning is because the DebugInfo module is simply an interface to
Move lib/Analysis/DebugInfo.cpp to lib/VMCore/DebugInfo.cpp and include/llvm/Analysis/DebugInfo.h to include/llvm/DebugInfo.h.
The reasoning is because the DebugInfo module is simply an interface to the debug info MDNodes and has nothing to do with analysis.
llvm-svn: 159312
show more ...
|
| #
48a1647c |
| 22-Jun-2012 |
Jakob Stoklund Olesen <[email protected]> |
Don't depend on live ranges being present.
DBG_VALUE instructions could be referring to non-existing virtual registers.
llvm-svn: 159020
|
| #
3244963e |
| 22-Jun-2012 |
Jakob Stoklund Olesen <[email protected]> |
Use regunit liveness to guide LiveDebugVariables.
This should produce the same results as using physreg liveness directly.
llvm-svn: 159009
|
| #
385970f2 |
| 15-May-2012 |
Jakob Stoklund Olesen <[email protected]> |
Handle NewReg==OldReg in renameRegister().
This can happen when widening a virtual register to a super-register class.
llvm-svn: 156867
|
|
Revision tags: llvmorg-3.1.0, llvmorg-3.1.0-rc3, llvmorg-3.1.0-rc2, llvmorg-3.1.0-rc1 |
|
| #
6a0c6797 |
| 15-Mar-2012 |
Eric Christopher <[email protected]> |
Tabs.
llvm-svn: 152842
|
| #
be153e66 |
| 15-Mar-2012 |
Eric Christopher <[email protected]> |
Typo.
llvm-svn: 152841
|
| #
7f8e563a |
| 07-Dec-2011 |
Evan Cheng <[email protected]> |
Add bundle aware API for querying instruction properties and switch the code generator to it. For non-bundle instructions, these behave exactly the same as the MC layer API.
For properties like mayL
Add bundle aware API for querying instruction properties and switch the code generator to it. For non-bundle instructions, these behave exactly the same as the MC layer API.
For properties like mayLoad / mayStore, look into the bundle and if any of the bundled instructions has the property it would return true. For properties like isPredicable, only return true if *all* of the bundled instructions have the property. For properties like canFoldAsLoad, isCompare, conservatively return false for bundles.
llvm-svn: 146026
show more ...
|
|
Revision tags: llvmorg-3.0.0, llvmorg-3.0.0-rc4 |
|
| #
90b5e565 |
| 13-Nov-2011 |
Jakob Stoklund Olesen <[email protected]> |
Rename SlotIndexes to match how they are used.
The old naming scheme (load/use/def/store) can be traced back to an old linear scan article, but the names don't match how slots are actually used.
Th
Rename SlotIndexes to match how they are used.
The old naming scheme (load/use/def/store) can be traced back to an old linear scan article, but the names don't match how slots are actually used.
The load and store slots are not needed after the deferred spill code insertion framework was deleted.
The use and def slots don't make any sense because we are using half-open intervals as is customary in C code, but the names suggest closed intervals. In reality, these slots were used to distinguish early-clobber defs from normal defs.
The new naming scheme also has 4 slots, but the names match how the slots are really used. This is a purely mechanical renaming, but some of the code makes a lot more sense now.
llvm-svn: 144503
show more ...
|
| #
28df7ef8 |
| 13-Nov-2011 |
Jakob Stoklund Olesen <[email protected]> |
Stop tracking spill slot uses in VirtRegMap.
Nobody cared, StackSlotColoring scans the instructions to find used stack slots.
llvm-svn: 144485
|
|
Revision tags: llvmorg-3.0.0-rc3, llvmorg-3.0.0-rc2, llvmorg-3.0.0-rc1 |
|
| #
67b014b2 |
| 16-Sep-2011 |
Benjamin Kramer <[email protected]> |
Namespacify.
llvm-svn: 139892
|
| #
f9e2ae9b |
| 13-Sep-2011 |
Devang Patel <[email protected]> |
Use a cache to maintain list of machine basic blocks for a given UserValue.
llvm-svn: 139616
|
| #
37a62058 |
| 10-Aug-2011 |
Devang Patel <[email protected]> |
While extending definition range of a debug variable, consult lexical scopes also. There is no point extending debug variable out side its lexical block. This provides 6x compile time speedup in some
While extending definition range of a debug variable, consult lexical scopes also. There is no point extending debug variable out side its lexical block. This provides 6x compile time speedup in some cases.
llvm-svn: 137250
show more ...
|
| #
6c1ed31b |
| 09-Aug-2011 |
Devang Patel <[email protected]> |
Print variable's inline location in debug output.
llvm-svn: 137096
|
| #
eabc3cea |
| 04-Aug-2011 |
Devang Patel <[email protected]> |
Increment counter inside insertDebugValue().
llvm-svn: 136915
|
| #
b456866b |
| 04-Aug-2011 |
Devang Patel <[email protected]> |
Add counter.
llvm-svn: 136901
|
| #
2539af60 |
| 03-Aug-2011 |
Jakob Stoklund Olesen <[email protected]> |
Correctly handle multiple DBG_VALUE instructions at the same SlotIndex.
It is possible to have multiple DBG_VALUEs for the same variable:
32L TEST32rr %vreg0<kill>, %vreg0, %EFLAGS<imp-def>; GR32:%
Correctly handle multiple DBG_VALUE instructions at the same SlotIndex.
It is possible to have multiple DBG_VALUEs for the same variable:
32L TEST32rr %vreg0<kill>, %vreg0, %EFLAGS<imp-def>; GR32:%vreg0 DBG_VALUE 2, 0, !"i" DBG_VALUE %noreg, %0, !"i"
When that happens, keep the last one instead of the first.
llvm-svn: 136842
show more ...
|
| #
338e4326 |
| 06-Jul-2011 |
Devang Patel <[email protected]> |
Typo.
llvm-svn: 134559
|
| #
89bd2ae5 |
| 08-May-2011 |
Jakob Stoklund Olesen <[email protected]> |
Remove an assertion to fix PR9872.
It can happen that a live debug variable is the last use of a sub-register, and the register allocator will pick a larger register class for the virtual register.
Remove an assertion to fix PR9872.
It can happen that a live debug variable is the last use of a sub-register, and the register allocator will pick a larger register class for the virtual register. If the allocated register doesn't support the sub-register index, just use %noreg for the debug variables instead of asserting.
In PR9872, a debug variable ends up in the sub_8bit_hi part of a GR32_ABCD register. The register is split and one part is inflated to GR32 and assigned %ESI because there are no more normal uses of sub_8bit_hi.
Since %ESI doesn't have that sub-register, substPhysReg asserted. Now it will simply insert a %noreg instead, and the debug variable will be marked unavailable in that range.
We don't currently have a way of saying: !"value" is in bits 8-15 of %ESI, I don't know if DWARF even supports that.
llvm-svn: 131073
show more ...
|
| #
57c8f58a |
| 06-May-2011 |
Jakob Stoklund Olesen <[email protected]> |
Iterate backwards over debug locations when splitting them so they can be safely erased.
This should unbreak dragonegg-i386-linux and build-self-4-mingw32.
llvm-svn: 131007
|
| #
f8da0288 |
| 06-May-2011 |
Jakob Stoklund Olesen <[email protected]> |
Update LiveDebugVariables after live range splitting.
After a virtual register is split, update any debug user variables that resided in the old register. This ensures that the LiveDebugVariables ar
Update LiveDebugVariables after live range splitting.
After a virtual register is split, update any debug user variables that resided in the old register. This ensures that the LiveDebugVariables are still correct after register allocation.
This may create DBG_VALUE instructions that place a user variable in a register in parts of the function and in a stack slot in other parts. DwarfDebug currently doesn't support that.
llvm-svn: 130998
show more ...
|
| #
c86fe059 |
| 06-May-2011 |
Jakob Stoklund Olesen <[email protected]> |
Use TargetMachine hooks to properly print debug variable locations.
llvm-svn: 130997
|
| #
0ab5e2cd |
| 15-Apr-2011 |
Chris Lattner <[email protected]> |
Fix a ton of comment typos found by codespell. Patch by Luis Felipe Strano Moraes!
llvm-svn: 129558
|
|
Revision tags: llvmorg-2.9.0, llvmorg-2.9.0-rc3, llvmorg-2.9.0-rc2 |
|
| #
ec0ac3ca |
| 22-Mar-2011 |
Jakob Stoklund Olesen <[email protected]> |
Reapply r128045 and r128051 with fixes.
This will extend the ranges of debug info variables in registers until they are clobbered.
Fix 1: Don't mistake DBG_VALUE instructions referring to incoming
Reapply r128045 and r128051 with fixes.
This will extend the ranges of debug info variables in registers until they are clobbered.
Fix 1: Don't mistake DBG_VALUE instructions referring to incoming arguments on the stack with DBG_VALUE instructions referring to variables in the frame pointer. This fixes the gdb test-suite failure.
Fix 2: Don't trace through copies to physical registers setting up call arguments. These registers are call clobbered, and the source register is more likely to be a callee-saved register that can be extended through the call instruction.
llvm-svn: 128114
show more ...
|
| #
b0f98bb5 |
| 22-Mar-2011 |
Andrew Trick <[email protected]> |
Revert r128045 and r128051, debug info enhancements.
Temporarily reverting these to see if we can get llvm-objdump to link. Hopefully this is not the problem.
llvm-svn: 128097
|
| #
9c057ee4 |
| 22-Mar-2011 |
Jakob Stoklund Olesen <[email protected]> |
Dont emit 'DBG_VALUE %noreg, ...' to terminate user variable ranges.
These ranges get completely jumbled by the post-ra scheduler, and it is not really reasonable to expect it to make sense of them.
Dont emit 'DBG_VALUE %noreg, ...' to terminate user variable ranges.
These ranges get completely jumbled by the post-ra scheduler, and it is not really reasonable to expect it to make sense of them.
Instead, teach DwarfDebug to notice when user variables in registers are clobbered, and terminate the ranges there.
llvm-svn: 128045
show more ...
|