History log of /llvm-project/llvm/lib/CodeGen/MachineInstr.cpp (Results 626 – 650 of 809)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 1c6c16ea 31-Jan-2008 Evan Cheng <evan.cheng@apple.com>

Add an extra operand to LABEL nodes which distinguishes between debug, EH, or misc labels. This fixes the EH breakage. However I am not convinced this is *the* solution.

llvm-svn: 46609


# 3646fdda 31-Jan-2008 Dan Gohman <gohman@apple.com>

Create a new class, MemOperand, for describing memory references
in the backend. Introduce a new SDNode type, MemOperandSDNode, for
holding a MemOperand in the SelectionDAG IR, and add a MemOperand
l

Create a new class, MemOperand, for describing memory references
in the backend. Introduce a new SDNode type, MemOperandSDNode, for
holding a MemOperand in the SelectionDAG IR, and add a MemOperand
list to MachineInstr, and code to manage them. Remove the offset
field from SrcValueSDNode; uses of SrcValueSDNode that were using
it are all all using MemOperandSDNode now.

Also, begin updating some getLoad and getStore calls to use the
PseudoSourceValue objects.

Most of this was written by Florian Brander, some
reorganization and updating to TOT by me.

llvm-svn: 46585

show more ...


# 2a8a4856 24-Jan-2008 Owen Anderson <resistor@mac.com>

Move some functionality for adding flags to MachineInstr's into methods on MachineInstr rather than LiveVariables.

llvm-svn: 46295


# f3efadcb 07-Jan-2008 Chris Lattner <sabre@nondot.org>

remove #includage

llvm-svn: 45697


# 03ad8850 07-Jan-2008 Chris Lattner <sabre@nondot.org>

rename TargetInstrDescriptor -> TargetInstrDesc.
Make MachineInstr::getDesc return a reference instead
of a pointer, since it can never be null.

llvm-svn: 45695


# f376c99e 07-Jan-2008 Chris Lattner <sabre@nondot.org>

rename hasVariableOperands() -> isVariadic(). Add some comments.
Evan, please review the comments I added to getNumDefs to make sure
that they are accurate, thx.

llvm-svn: 45687


# b0d06b43 07-Jan-2008 Chris Lattner <sabre@nondot.org>

Move a bunch more accessors from TargetInstrInfo to TargetInstrDescriptor

llvm-svn: 45680


# e55e1156 07-Jan-2008 Chris Lattner <sabre@nondot.org>

Add predicates methods to TargetOperandInfo, and switch all clients
over to using them, instead of diddling Flags directly. Change the
various flags from const variables to enums.

llvm-svn: 45677


# a98c679d 07-Jan-2008 Chris Lattner <sabre@nondot.org>

Rename MachineInstr::getInstrDescriptor -> getDesc(), which reflects
that it is cheap and efficient to get.

Move a variety of predicates from TargetInstrInfo into
TargetInstrDescriptor, which makes

Rename MachineInstr::getInstrDescriptor -> getDesc(), which reflects
that it is cheap and efficient to get.

Move a variety of predicates from TargetInstrInfo into
TargetInstrDescriptor, which makes it much easier to query a predicate
when you don't have TII around. Now you can use MI->getDesc()->isBranch()
instead of going through TII, and this is much more efficient anyway. Not
all of the predicates have been moved over yet.

Update old code that used MI->getInstrDescriptor()->Flags to use the
new predicates in many places.

llvm-svn: 45674

show more ...


# caaf8aae 01-Jan-2008 Chris Lattner <sabre@nondot.org>

Make MachineRegisterInfo::getVRegDef more efficient by aiming the keep the def of the vreg at the start of the list, so the list doesn't need to be traversed.

llvm-svn: 45483


# 0cb9dd7a 01-Jan-2008 Chris Lattner <sabre@nondot.org>

switch the register iterator to act more like hte LLVM value iterator: dereferencing
it now returns the machineinstr of the use. To get the operand, use I.getOperand().

Add a new MachineRegisterInf

switch the register iterator to act more like hte LLVM value iterator: dereferencing
it now returns the machineinstr of the use. To get the operand, use I.getOperand().

Add a new MachineRegisterInfo::replaceRegWith, which is basically like
Value::replaceAllUsesWith.

llvm-svn: 45482

show more ...


# 961e7427 01-Jan-2008 Chris Lattner <sabre@nondot.org>

Implement automatically updated def/use lists for all MachineInstr register
operands. The lists are currently kept in MachineRegisterInfo, but it does
not yet provide an iterator interface to them.

Implement automatically updated def/use lists for all MachineInstr register
operands. The lists are currently kept in MachineRegisterInfo, but it does
not yet provide an iterator interface to them.

llvm-svn: 45477

show more ...


# 574e7166 31-Dec-2007 Chris Lattner <sabre@nondot.org>

properly encapsulate the parent field of MBB and MI with get/set accessors.

llvm-svn: 45469


# a10fff51 31-Dec-2007 Chris Lattner <sabre@nondot.org>

Rename SSARegMap -> MachineRegisterInfo in keeping with the idea
that "machine" classes are used to represent the current state of
the code being compiled. Given this expanded name, we can start
m

Rename SSARegMap -> MachineRegisterInfo in keeping with the idea
that "machine" classes are used to represent the current state of
the code being compiled. Given this expanded name, we can start
moving other stuff into it. For now, move the UsedPhysRegs and
LiveIn/LoveOuts vectors from MachineFunction into it.

Update all the clients to match.

This also reduces some needless #includes, such as MachineModuleInfo
from MachineFunction.

llvm-svn: 45467

show more ...


# a5bb370a 30-Dec-2007 Chris Lattner <sabre@nondot.org>

Add new shorter predicates for testing machine operands for various types:
e.g. MO.isMBB() instead of MO.isMachineBasicBlock(). I don't plan on
switching everything over, so new clients should jus

Add new shorter predicates for testing machine operands for various types:
e.g. MO.isMBB() instead of MO.isMachineBasicBlock(). I don't plan on
switching everything over, so new clients should just start using the
shorter names.

Remove old long accessors, switching everything over to use the short
accessor: getMachineBasicBlock() -> getMBB(),
getConstantPoolIndex() -> getIndex(), setMachineBasicBlock -> setMBB(), etc.

llvm-svn: 45464

show more ...


# 6005589f 30-Dec-2007 Chris Lattner <sabre@nondot.org>

More cleanups for MachineOperand:
- Eliminate the static "print" method for operands, moving it
into MachineOperand::print.
- Change various set* methods for register flags to take a bool

More cleanups for MachineOperand:
- Eliminate the static "print" method for operands, moving it
into MachineOperand::print.
- Change various set* methods for register flags to take a bool
for the value to set it to. Remove unset* methods.
- Group methods more logically by operand flavor in MachineOperand.h

llvm-svn: 45461

show more ...


# c98c0e57 30-Dec-2007 Chris Lattner <sabre@nondot.org>

MachineOperand:
- Add getParent() accessors.
- Move SubReg out of the AuxInfo union, to make way for future changes.
- Remove the getImmedValue/setImmedValue methods.
- in some MachineOperand

MachineOperand:
- Add getParent() accessors.
- Move SubReg out of the AuxInfo union, to make way for future changes.
- Remove the getImmedValue/setImmedValue methods.
- in some MachineOperand::Create* methods, stop initializing fields that are dead.

MachineInstr:
- Delete one copy of the MachineInstr printing code, now there is only one dump
format and one copy of the code.
- Make MachineOperand use the parent field to get info about preg register names if
no target info is otherwise available.
- Move def/use/kill/dead flag printing to the machineoperand printer, so they are
always printed for an operand.

llvm-svn: 45460

show more ...


# 35fecece 30-Dec-2007 Chris Lattner <sabre@nondot.org>

simpilfy some register printing code.

llvm-svn: 45458


# 383a873a 30-Dec-2007 Chris Lattner <sabre@nondot.org>

eliminate a copy of the machineoperand printing stuff. Keep the copy that
knows how to print offsets.

llvm-svn: 45457


# 49bd29da 30-Dec-2007 Chris Lattner <sabre@nondot.org>

Simplify and clean up some machine operand/instr printing/dumping stuff.

llvm-svn: 45456


# 0dad74d2 30-Dec-2007 Chris Lattner <sabre@nondot.org>

two register machineoperands are not identical unless their subregs match.

llvm-svn: 45455


# 81798417 30-Dec-2007 Chris Lattner <sabre@nondot.org>

MachineOperand::getImmedValue -> MachineOperand::getImm

llvm-svn: 45454


# 3c6ce5b4 30-Dec-2007 Chris Lattner <sabre@nondot.org>

make machine operands fatter: give each one an up-pointer to the
machineinstr that owns it.

llvm-svn: 45449


# e35dfb82 30-Dec-2007 Chris Lattner <sabre@nondot.org>

Start using the simplified methods for adding operands.

llvm-svn: 45432


# c288ff1d 30-Dec-2007 Chris Lattner <sabre@nondot.org>

simplify some code by factoring operand construction better.

llvm-svn: 45428


1...<<21222324252627282930>>...33