#
d6e44ab5 |
| 01-Feb-2008 |
Evan Cheng <evan.cheng@apple.com> |
Remove the nasty LABEL hack with a much less evil one. Now llvm.dbg.func.start implies a stoppoint is set. SelectionDAGISel records a new source line but does not create a ISD::LABEL node for this sp
Remove the nasty LABEL hack with a much less evil one. Now llvm.dbg.func.start implies a stoppoint is set. SelectionDAGISel records a new source line but does not create a ISD::LABEL node for this special stoppoint. Asm printer will magically print this label. This ensures nothing is emitted before.
llvm-svn: 46635
show more ...
|
#
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
|
#
4863fcc3 |
| 31-Jan-2008 |
Evan Cheng <evan.cheng@apple.com> |
Also avoid adding callee save code before debug labels.
llvm-svn: 46586
|
#
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
|
#
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 ...
|
#
1694a53c |
| 06-Jan-2008 |
Duncan Sands <baldrick@free.fr> |
Remove an unused variable.
llvm-svn: 45655
|
#
3592b235 |
| 05-Jan-2008 |
Owen Anderson <resistor@mac.com> |
I should not be allowed to commit when sleepy.
llvm-svn: 45608
|
#
eee14601 |
| 01-Jan-2008 |
Owen Anderson <resistor@mac.com> |
Move some more instruction creation methods from RegisterInfo into InstrInfo.
llvm-svn: 45484
|
#
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 ...
|
#
81798417 |
| 30-Dec-2007 |
Chris Lattner <sabre@nondot.org> |
MachineOperand::getImmedValue -> MachineOperand::getImm
llvm-svn: 45454
|
#
f3ebc3f3 |
| 29-Dec-2007 |
Chris Lattner <sabre@nondot.org> |
Remove attribution from file headers, per discussion on llvmdev.
llvm-svn: 45418
|
#
bb263018 |
| 05-Dec-2007 |
Evan Cheng <evan.cheng@apple.com> |
Add a argument to storeRegToStackSlot and storeRegToAddr to specify whether the stored register is killed.
llvm-svn: 44600
|
Revision tags: llvmorg-2.1.0 |
|
#
383a3247 |
| 14-Jul-2007 |
Anton Korobeynikov <asl@math.spbu.ru> |
Long live the exception handling!
This patch fills the last necessary bits to enable exceptions handling in LLVM. Currently only on x86-32/linux.
In fact, this patch adds necessary intrinsics (and
Long live the exception handling!
This patch fills the last necessary bits to enable exceptions handling in LLVM. Currently only on x86-32/linux.
In fact, this patch adds necessary intrinsics (and their lowering) which represent really weird target-specific gcc builtins used inside unwinder.
After corresponding llvm-gcc patch will land (easy) exceptions should be more or less workable. However, exceptions handling support should not be thought as 'finished': I expect many small and not so small glitches everywhere.
llvm-svn: 39855
show more ...
|
#
5b0757a4 |
| 31-May-2007 |
Lauro Ramos Venancio <lauro.venancio@gmail.com> |
Fix PR1424. When a function has FP, the register scavenging spill slot offset already was calculated.
llvm-svn: 37371
|
Revision tags: llvmorg-2.0.0 |
|
#
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
|
#
8cd28f0f |
| 01-May-2007 |
Evan Cheng <evan.cheng@apple.com> |
If call frame is not part of stack frame and no dynamic alloc, eliminateFrameIndex() must adjust SP offset with size of call frames.
llvm-svn: 36625
|
#
77c545e6 |
| 01-May-2007 |
Evan Cheng <evan.cheng@apple.com> |
Under normal circumstances, when a frame pointer is not required, we reserve argument space for call sites in the function immediately on entry to the current function. This eliminates the need for a
Under normal circumstances, when a frame pointer is not required, we reserve argument space for call sites in the function immediately on entry to the current function. This eliminates the need for add/sub sp brackets around call sites. However, this is not always a good idea. If the "call frame" is large and the target load / store instructions have small immediate field to encode sp offset, this can cause poor codegen. In the worst case, this can make it impossible to scavenge a register if the reserved spill slot is pushed too far apart from sp / fp.
llvm-svn: 36607
show more ...
|
#
0ba17453 |
| 25-Apr-2007 |
Evan Cheng <evan.cheng@apple.com> |
Match MachineFunction::UsedPhysRegs changes.
llvm-svn: 36452
|
#
b975bebe |
| 25-Apr-2007 |
Chris Lattner <sabre@nondot.org> |
support for >4G stack frames
llvm-svn: 36425
|
#
9bd98ea4 |
| 25-Apr-2007 |
Chris Lattner <sabre@nondot.org> |
support > 4G stack objects
llvm-svn: 36422
|
#
f73d2150 |
| 09-Apr-2007 |
Chris Lattner <sabre@nondot.org> |
Fix a bug introduced with my previous patch, where it didn't correctly handle instructions which replace themselves when FI's are rewritten (common on ppc). This fixes CodeGen/PowerPC/2006-10-17-ppc6
Fix a bug introduced with my previous patch, where it didn't correctly handle instructions which replace themselves when FI's are rewritten (common on ppc). This fixes CodeGen/PowerPC/2006-10-17-ppc64-alloca.ll
llvm-svn: 35789
show more ...
|
#
0df53574 |
| 09-Apr-2007 |
Chris Lattner <sabre@nondot.org> |
Fix CodeGen/Generic/2007-04-08-MultipleFrameIndices.ll and PR1308: some instructions can have multiple frame indices in them. If this happens, rewrite all of them.
llvm-svn: 35785
|