History log of /llvm-project/llvm/lib/CodeGen/MachineRegisterInfo.cpp (Results 151 – 175 of 188)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# da960069 09-Aug-2011 Jakob Stoklund Olesen <stoklund@2pi.dk>

Move CalculateRegClass to MRI::recomputeRegClass.

This function doesn't have anything to do with spill weights, and MRI
already has functions for manipulating the register class of a virtual
registe

Move CalculateRegClass to MRI::recomputeRegClass.

This function doesn't have anything to do with spill weights, and MRI
already has functions for manipulating the register class of a virtual
register.

llvm-svn: 137123

show more ...


# 9760f04e 29-Jul-2011 Jakob Stoklund Olesen <stoklund@2pi.dk>

Add an isSSA() flag to MachineRegisterInfo.

This flag is true from isel to register allocation when the machine
function is required to be in SSA form. The TwoAddressInstructionPass
and PHIEliminat

Add an isSSA() flag to MachineRegisterInfo.

This flag is true from isel to register allocation when the machine
function is required to be in SSA form. The TwoAddressInstructionPass
and PHIElimination passes clear the flag.

The SSA flag wil be used by the machine code verifier to check for SSA
form, and eventually an assertion can enforce it in +Asserts builds.
This will catch the common target error of creating machine code with
multiple defs of a virtual register.

llvm-svn: 136532

show more ...


# 21afabe7 27-Jun-2011 Evan Cheng <evan.cheng@apple.com>

Remove RegClass2VRegMap from MachineRegisterInfo.

llvm-svn: 133967


# 75703ca7 02-Jun-2011 Jakob Stoklund Olesen <stoklund@2pi.dk>

Make it possible to have unallocatable register classes.

Some register classes are only used for instruction operand constraints.
They should never be used for virtual registers. Previously, those
r

Make it possible to have unallocatable register classes.

Some register classes are only used for instruction operand constraints.
They should never be used for virtual registers. Previously, those
register classes were given an empty allocation order, but now you can
say 'let isAllocatable=0' in the register class definition.

TableGen calculates if a register is part of any allocatable register
class, and makes that information available in TargetRegisterDesc::inAllocatableClass.

The goal here is to eliminate use cases for overriding allocation_order_*
methods.

llvm-svn: 132508

show more ...


Revision tags: llvmorg-2.9.0, llvmorg-2.9.0-rc3, llvmorg-2.9.0-rc2, llvmorg-2.9.0-rc1
# f3292b21 21-Feb-2011 Devang Patel <dpatel@apple.com>

Revert r124611 - "Keep track of incoming argument's location while emitting LiveIns."
In other words, do not keep track of argument's location. The debugger (gdb) is not prepared to see line table e

Revert r124611 - "Keep track of incoming argument's location while emitting LiveIns."
In other words, do not keep track of argument's location. The debugger (gdb) is not prepared to see line table entries for arguments. For the debugger, "second" line table entry marks beginning of function body.
This requires some coordination with debugger to get this working.
- The debugger needs to be aware of prolog_end attribute attached with line table entries.
- The compiler needs to accurately mark prolog_end in line table entries (at -O0 and at -O1+)

llvm-svn: 126155

show more ...


# 56cc5fdf 31-Jan-2011 Devang Patel <dpatel@apple.com>

Keep track of incoming argument's location while emitting LiveIns.

llvm-svn: 124611


# 7f93d8d6 09-Jan-2011 Jakob Stoklund Olesen <stoklund@2pi.dk>

Use IndexedMap for MachineRegisterInfo as well. No functional change.

llvm-svn: 123106


# 18842783 06-Oct-2010 Jakob Stoklund Olesen <stoklund@2pi.dk>

Add MachineRegisterInfo::constrainRegClass and use it in MachineCSE.

This function is intended to be used when inserting a machine instruction that
trivially restricts the legal registers, like LEA

Add MachineRegisterInfo::constrainRegClass and use it in MachineCSE.

This function is intended to be used when inserting a machine instruction that
trivially restricts the legal registers, like LEA requiring a GR32_NOSP
argument.

llvm-svn: 115875

show more ...


Revision tags: llvmorg-2.8.0, llvmorg-2.8.0-rc3, llvmorg-2.8.0-rc2, llvmorg-2.8.0-rc1, llvmorg-2.8.0-rc0
# 0c76d6ec 10-Jul-2010 Jakob Stoklund Olesen <stoklund@2pi.dk>

Replace copyRegToReg with COPY everywhere in lib/CodeGen except for FastISel.

llvm-svn: 108062


# 9a2f0473 24-Jun-2010 Dan Gohman <gohman@apple.com>

Teach EmitLiveInCopies to omit copies for unused virtual registers,
and to clean up unused incoming physregs from the live-in list.

llvm-svn: 106805


# e5457c27 18-Jun-2010 Dan Gohman <gohman@apple.com>

Don't leak RegClass2VRegMap, which is now a new[] array instead of a
std::vector.

llvm-svn: 106298


# 882bb298 18-Jun-2010 Dan Gohman <gohman@apple.com>

Start TargetRegisterClass indices at 0 instead of 1, so that
MachineRegisterInfo doesn't have to confusingly allocate an extra
entry.

llvm-svn: 106296


# c488e92f 29-May-2010 Benjamin Kramer <benny.kra@googlemail.com>

Remove unused function.

llvm-svn: 105100


# 707b7cc4 29-May-2010 Evan Cheng <evan.cheng@apple.com>

Remove schedule-livein-copies. It's not being used.

llvm-svn: 105095


# 1b79babd 24-May-2010 Evan Cheng <evan.cheng@apple.com>

Avoid adding duplicate function live-in's.

llvm-svn: 104560


# 7767d274 13-May-2010 Dan Gohman <gohman@apple.com>

Add a utility function for conservatively clearing kill flags, and make
use of it in MachineCSE.

llvm-svn: 103726


# f25be991 11-May-2010 Jakob Stoklund Olesen <stoklund@2pi.dk>

Silence warning

llvm-svn: 103508


# 3f0241e0 11-May-2010 Jakob Stoklund Olesen <stoklund@2pi.dk>

Simplify the tracking of used physregs to a bulk bitor followed by a transitive
closure after allocating all blocks.

Add a few more test cases for -regalloc=fast.

llvm-svn: 103500


# 779c69bb 06-May-2010 Dan Gohman <gohman@apple.com>

Add a DebugLoc argument to TargetInstrInfo::copyRegToReg, so that it
doesn't have to guess.

llvm-svn: 103194


# 6e822459 28-Apr-2010 Evan Cheng <evan.cheng@apple.com>

Replace r102368 with code that's less fragile. This creates DBG_VALUE instructions for function arguments early and insert them after instruction selection is done.

llvm-svn: 102554


Revision tags: llvmorg-2.7.0
# 0e6fc61f 26-Apr-2010 Evan Cheng <evan.cheng@apple.com>

Insert dbg_value instructions for function entry block liveins (i.e. function arguments).

llvm-svn: 102368


# 2ca8fb22 14-Apr-2010 Dan Gohman <gohman@apple.com>

Move the code for initialing the entry block livein set out of
SelectionDAGISel.

llvm-svn: 101258


# 2b79ee8b 14-Apr-2010 Dan Gohman <gohman@apple.com>

Move the code for emitting livein copies out of SelectionDAGISel.

llvm-svn: 101254


# 6b1b1e43 13-Apr-2010 Dan Gohman <gohman@apple.com>

Move MachineRegisterInfo's isLiveIn and isLiveOut out of line.

llvm-svn: 101145


# f94d6839 03-Mar-2010 Evan Cheng <evan.cheng@apple.com>

Add MachineRegisterInfo::hasOneUse and hasOneNonDBGUse.

llvm-svn: 97663


12345678