#
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 ...
|