History log of /llvm-project-15.0.7/llvm/lib/CodeGen/LiveDebugVariables.cpp (Results 176 – 200 of 223)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 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 ...


123456789