History log of /llvm-project/llvm/lib/CodeGen/LiveRangeEdit.cpp (Results 76 – 100 of 156)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 07066cca 19-May-2015 Matthias Braun <matze@braunis.de>

MachineInstr: Remove unused parameter.

llvm-svn: 237726


Revision tags: llvmorg-3.6.1, llvmorg-3.6.1-rc1, llvmorg-3.5.2, llvmorg-3.5.2-rc1, llvmorg-3.6.0, llvmorg-3.6.0-rc4, llvmorg-3.6.0-rc3, llvmorg-3.6.0-rc2
# 349d5886 27-Jan-2015 Eric Christopher <echristo@gmail.com>

MachineRegisterInfo can access TII off of the MachineFunction's
subtarget and so doesn't need the TargetMachine or to access via
getSubtargetImpl. Update all callers.

llvm-svn: 227160


# 311730ac 21-Jan-2015 Matthias Braun <matze@braunis.de>

LiveIntervalAnalysis: Factor out code to update liveness on vreg def removal

This cleans up code and is more in line with the general philosophy of
modifying LiveIntervals through LiveIntervalAnalys

LiveIntervalAnalysis: Factor out code to update liveness on vreg def removal

This cleans up code and is more in line with the general philosophy of
modifying LiveIntervals through LiveIntervalAnalysis instead of changing
them directly.

This also fixes a case where SplitEditor::removeBackCopies() would miss
the subregister ranges.

llvm-svn: 226690

show more ...


# cfb8ad29 21-Jan-2015 Matthias Braun <matze@braunis.de>

LiveIntervalAnalysis: Factor out code to update liveness on physreg def removal

This cleans up code and is more in line with the general philosophy of
modifying LiveIntervals through LiveIntervalAna

LiveIntervalAnalysis: Factor out code to update liveness on physreg def removal

This cleans up code and is more in line with the general philosophy of
modifying LiveIntervals through LiveIntervalAnalysis instead of changing
them directly.

llvm-svn: 226687

show more ...


Revision tags: llvmorg-3.6.0-rc1
# 36768c68 24-Dec-2014 Matthias Braun <matze@braunis.de>

LiveRangeEdit: Check for completely empy subranges after removing ValNos.

Completely empty subranges are not allowed and must be removed when
subreg liveness is enabled.

llvm-svn: 224804


Revision tags: llvmorg-3.5.1, llvmorg-3.5.1-rc2
# 09afa1ea 11-Dec-2014 Matthias Braun <matze@braunis.de>

LiveInterval: Use range based for loops for subregister ranges.

llvm-svn: 223991


# 96761959 10-Dec-2014 Matthias Braun <matze@braunis.de>

LiveInterval: Use more range based for loops for value numbers and segments.

llvm-svn: 223978


# fe896c70 10-Dec-2014 Matthias Braun <matze@braunis.de>

LiveRangeEdit: Adapt eliminateDeadDef() to subregister liveness.

llvm-svn: 223882


Revision tags: llvmorg-3.5.1-rc1
# f98c6064 17-Nov-2014 Craig Topper <craig.topper@gmail.com>

Add missing semicolon from r222118.

llvm-svn: 222119


# cf0444ba 17-Nov-2014 Craig Topper <craig.topper@gmail.com>

Move register class name strings to a single array in MCRegisterInfo to reduce static table size and number of relocation entries.

Indices into the table are stored in each MCRegisterClass instead o

Move register class name strings to a single array in MCRegisterInfo to reduce static table size and number of relocation entries.

Indices into the table are stored in each MCRegisterClass instead of a pointer. A new method, getRegClassName, is added to MCRegisterInfo and TargetRegisterInfo to lookup the string in the table.

llvm-svn: 222118

show more ...


Revision tags: llvmorg-3.5.0, llvmorg-3.5.0-rc4, llvmorg-3.5.0-rc3, llvmorg-3.5.0-rc2
# c3053129 29-Jul-2014 Jiangning Liu <jiangning.liu@arm.com>

Add TargetInstrInfo interface isAsCheapAsAMove.

llvm-svn: 214158


Revision tags: llvmorg-3.5.0-rc1, llvmorg-3.4.2, llvmorg-3.4.2-rc1, llvmorg-3.4.1, llvmorg-3.4.1-rc2
# 1b9dde08 22-Apr-2014 Chandler Carruth <chandlerc@gmail.com>

[Modules] Remove potential ODR violations by sinking the DEBUG_TYPE
define below all header includes in the lib/CodeGen/... tree. While the
current modules implementation doesn't check for this kind

[Modules] Remove potential ODR violations by sinking the DEBUG_TYPE
define below all header includes in the lib/CodeGen/... tree. While the
current modules implementation doesn't check for this kind of ODR
violation yet, it is likely to grow support for it in the future. It
also removes one layer of macro pollution across all the included
headers.

Other sub-trees will follow.

llvm-svn: 206837

show more ...


# c0196b1b 14-Apr-2014 Craig Topper <craig.topper@gmail.com>

[C++11] More 'nullptr' conversion. In some cases just using a boolean check instead of comparing to nullptr.

llvm-svn: 206142


Revision tags: llvmorg-3.4.1-rc1
# b36376ef 17-Mar-2014 Owen Anderson <resistor@mac.com>

Switch a number of loops in lib/CodeGen over to range-based for-loops, now that
the MachineRegisterInfo iterators are compatible with it.

llvm-svn: 204075


# 16c6bf49 13-Mar-2014 Owen Anderson <resistor@mac.com>

Phase 2 of the great MachineRegisterInfo cleanup. This time, we're changing
operator* on the by-operand iterators to return a MachineOperand& rather than
a MachineInstr&. At this point they almost

Phase 2 of the great MachineRegisterInfo cleanup. This time, we're changing
operator* on the by-operand iterators to return a MachineOperand& rather than
a MachineInstr&. At this point they almost behave like normal iterators!

Again, this requires making some existing loops more verbose, but should pave
the way for the big range-based for-loop cleanups in the future.

llvm-svn: 203865

show more ...


Revision tags: llvmorg-3.4.0, llvmorg-3.4.0-rc3, llvmorg-3.4.0-rc2, llvmorg-3.4.0-rc1
# ea3ac161 11-Nov-2013 Arnaud A. de Grandmaison <arnaud.adegm@gmail.com>

CalcSpillWeights: give a better describing name to calculateSpillWeights

Besides, this relates it more obviously to the VirtRegAuxInfo::calculateSpillWeightAndHint.

No functionnal change.

llvm-svn

CalcSpillWeights: give a better describing name to calculateSpillWeights

Besides, this relates it more obviously to the VirtRegAuxInfo::calculateSpillWeightAndHint.

No functionnal change.

llvm-svn: 194404

show more ...


# 34e1be94 10-Oct-2013 Matthias Braun <matze@braunis.de>

Represent RegUnit liveness with LiveRange instance

Previously LiveInterval has been used, but having a spill weight and
register number is unnecessary for a register unit.

llvm-svn: 192397


# 88dd0abd 10-Oct-2013 Matthias Braun <matze@braunis.de>

Pass LiveQueryResult by value

This makes the API a bit more natural to use and makes it easier to make
LiveRanges implementation details private.

llvm-svn: 192394


# 3bf33075 30-Aug-2013 Andrew Trick <atrick@apple.com>

Use LiveRangeQuery for instruction-level liveness queries.

Remove redundant or bug-prone LiveInterval APIs.

llvm-svn: 189685


# ff604773 30-Aug-2013 Andrew Trick <atrick@apple.com>

Replace LiveInterval::killedAt with isKilledAtInstr.

Return true for LRGs that end at EarlyClobber or Register slots.

llvm-svn: 189642


# 9d8103de 14-Aug-2013 Mark Lacey <mark.lacey@apple.com>

Auto-compute live intervals on demand.

When new virtual registers are created during splitting/spilling, defer
creation of the live interval until we need to use the live interval.

Along with the r

Auto-compute live intervals on demand.

When new virtual registers are created during splitting/spilling, defer
creation of the live interval until we need to use the live interval.

Along with the recent commits to notify LiveRangeEdit when new virtual
registers are created, this makes it possible for functions like
TargetInstrInfo::loadRegFromStackSlot() and
TargetInstrInfo::storeRegToStackSlot() to create multiple virtual
registers as part of the process of generating loads/stores for
different register classes, and then have the live intervals for those
new registers computed when they are needed.

llvm-svn: 188437

show more ...


# f367cd92 14-Aug-2013 Mark Lacey <mark.lacey@apple.com>

Notify LiveRangeEdit of new virtual registers.

Add a delegate class to MachineRegisterInfo with a single virtual
function, MRI_NoteNewVirtualRegister(). Update LiveRangeEdit to inherit
from this del

Notify LiveRangeEdit of new virtual registers.

Add a delegate class to MachineRegisterInfo with a single virtual
function, MRI_NoteNewVirtualRegister(). Update LiveRangeEdit to inherit
from this delegate class and override the definition of the callback
with an implementation that tracks the newly created virtual registers.

llvm-svn: 188435

show more ...


# f9ea8854 14-Aug-2013 Mark Lacey <mark.lacey@apple.com>

Track new virtual registers by register number.

Track new virtual registers by register number, rather than by the live
interval created for them. This is the first step in separating the
creation o

Track new virtual registers by register number.

Track new virtual registers by register number, rather than by the live
interval created for them. This is the first step in separating the
creation of new virtual registers and new live intervals. Eventually
live intervals will be created and populated on demand after the virtual
registers have been created and used in instructions.

llvm-svn: 188434

show more ...


# 4417c7b2 14-Aug-2013 Jakob Stoklund Olesen <stoklund@2pi.dk>

Remove unnecessary parameter to RenumberValues.

Patch by Matthias Braun!

llvm-svn: 188393


Revision tags: llvmorg-3.3.1-rc1
# cbd7305d 22-Jun-2013 Andrew Trick <atrick@apple.com>

Prevent LiveRangeEdit from deleting bundled instructions.

We have no targets on trunk that bundle before regalloc. However, we
have been advertising regalloc as bundle safe for use with out-of-tree

Prevent LiveRangeEdit from deleting bundled instructions.

We have no targets on trunk that bundle before regalloc. However, we
have been advertising regalloc as bundle safe for use with out-of-tree
targets. We need to at least contain the parts of the code that are
still unsafe.

llvm-svn: 184620

show more ...


1234567