#
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
|
#
b0d06b43 |
| 07-Jan-2008 |
Chris Lattner <sabre@nondot.org> |
Move a bunch more accessors from TargetInstrInfo to TargetInstrDescriptor
llvm-svn: 45680
|
#
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 ...
|
#
e35dfb82 |
| 30-Dec-2007 |
Chris Lattner <sabre@nondot.org> |
Start using the simplified methods for adding operands.
llvm-svn: 45432
|
#
f3ebc3f3 |
| 29-Dec-2007 |
Chris Lattner <sabre@nondot.org> |
Remove attribution from file headers, per discussion on llvmdev.
llvm-svn: 45418
|
#
8e223793 |
| 17-Nov-2007 |
Evan Cheng <evan.cheng@apple.com> |
Live interval splitting:
When a live interval is being spilled, rather than creating short, non-spillable intervals for every def / use, split the interval at BB boundaries. That is, for every BB wh
Live interval splitting:
When a live interval is being spilled, rather than creating short, non-spillable intervals for every def / use, split the interval at BB boundaries. That is, for every BB where the live interval is defined or used, create a new interval that covers all the defs and uses in the BB.
This is designed to eliminate one common problem: multiple reloads of the same value in a single basic block. Note, it does *not* decrease the number of spills since no copies are inserted so the split intervals are *connected* through spill and reloads (or rematerialization). The newly created intervals can be spilled again, in that case, since it does not span multiple basic blocks, it's spilled in the usual manner. However, it can reuse the same stack slot as the previously split interval.
This is currently controlled by -split-intervals-at-bb.
llvm-svn: 44198
show more ...
|
#
9d86ef12 |
| 08-Nov-2007 |
Owen Anderson <resistor@mac.com> |
Bring UsedBlocks back. StrongPHIElimination needs this information.
llvm-svn: 43866
|
#
a406b47f |
| 05-Nov-2007 |
Evan Cheng <evan.cheng@apple.com> |
Handle cases where a register and one of its super-register are both marked as defined on the same instruction. This fixes PR1767.
llvm-svn: 43699
|
Revision tags: llvmorg-2.1.0 |
|
#
9da02f5e |
| 14-Sep-2007 |
Dan Gohman <gohman@apple.com> |
Remove isReg, isImm, and isMBB, and change all their users to use isRegister, isImmediate, and isMachineBasicBlock, which are equivalent, and more popular.
llvm-svn: 41958
|
#
d8317967 |
| 12-Sep-2007 |
Evan Cheng <evan.cheng@apple.com> |
Fixed a typo that's causing a missing kill marker.
llvm-svn: 41893
|
#
c16847b1 |
| 11-Sep-2007 |
Evan Cheng <evan.cheng@apple.com> |
Sometimes a MI can define a register as well as defining a super-register at the same time. Do not mark the "smaller" def as dead.
llvm-svn: 41871
|
#
d8ded484 |
| 01-Aug-2007 |
Evan Cheng <evan.cheng@apple.com> |
Bugs: missing partial uses and redundant partial defs.
llvm-svn: 40688
|
#
147d9fa5 |
| 20-Jul-2007 |
Dan Gohman <gohman@apple.com> |
Don't assume that only Uses can be kills. Defs are marked as kills initially when there are no uses. This fixes a dangling-pointer bug, where pointers to deleted instructions were not removed from ki
Don't assume that only Uses can be kills. Defs are marked as kills initially when there are no uses. This fixes a dangling-pointer bug, where pointers to deleted instructions were not removed from kills lists. More info here: http://lists.cs.uiuc.edu/pipermail/llvmdev/2007-July/009749.html
llvm-svn: 40131
show more ...
|
#
f9ef7056 |
| 17-Jul-2007 |
Evan Cheng <evan.cheng@apple.com> |
Dead code.
llvm-svn: 39979
|
#
e66f822e |
| 27-Jun-2007 |
Evan Cheng <evan.cheng@apple.com> |
Replace std::set with SmallPtrSet.
llvm-svn: 37746
|
#
d8417d91 |
| 26-Jun-2007 |
Evan Cheng <evan.cheng@apple.com> |
Properly handle kills of a physical register which has sub-registers that are read by later instructions.
llvm-svn: 37739
|
Revision tags: llvmorg-2.0.0 |
|
#
fc2377d4 |
| 14-May-2007 |
Evan Cheng <evan.cheng@apple.com> |
When marking a register as being implicitly defined, make sure to clear its partial use info as well.
llvm-svn: 37046
|
#
9e17872c |
| 08-May-2007 |
Evan Cheng <evan.cheng@apple.com> |
Eliminate MarkVirtRegAliveInBlock recursion.
llvm-svn: 36943
|
#
8c78a0bf |
| 03-May-2007 |
Devang Patel <dpatel@apple.com> |
Drop 'const'
llvm-svn: 36662
|
#
e95c6ad8 |
| 02-May-2007 |
Devang Patel <dpatel@apple.com> |
Use 'static const char' instead of 'static const int'. Due to darwin gcc bug, one version of darwin linker coalesces static const int, which defauts PassID based pass identification.
llvm-svn: 36652
|
#
09f162ca |
| 01-May-2007 |
Devang Patel <dpatel@apple.com> |
Do not use typeinfo to identify pass in pass manager.
llvm-svn: 36632
|
#
910c8085 |
| 26-Apr-2007 |
Evan Cheng <evan.cheng@apple.com> |
Rename findRegisterUseOperand to findRegisterUseOperandIdx to avoid confusion.
llvm-svn: 36483
|
#
ed23a138 |
| 26-Apr-2007 |
Evan Cheng <evan.cheng@apple.com> |
Minor bug.
llvm-svn: 36473
|