llvm/lib/Target
Chris Lattner 239738a162 Use target-specific nodes for calls. This allows the fastcc code to not have
to do ugly hackery to avoid emitting code like this:

   call foo
   mov vreg, EAX
   adjcallstackup ...

If foo is a fastcc call and if vreg gets spilled, we might end up with this:

   call foo
   mov [ESP+offset], EAX     ;; Offset doesn't consider the 12!
   sub ESP, 12

Which is bad.  The previous hacky code to deal with this was A) gross B) not
good enough.  In particular, it could miss cases and emit the bad code above.
Now we always emit this:

   call foo
   adjcallstackup ...
   mov vreg, EAX

directly.

This makes fastcc with callees poping the stack work much better.  Next
stop (finally!) really is tail calls.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22021 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-14 08:48:15 +00:00
..
Alpha treat TAILCALL nodes identically to CALL nodes 2005-05-13 20:29:26 +00:00
CBackend clean up the CBE output a bit 2005-05-06 06:58:42 +00:00
IA64 treat TAILCALL nodes identically to CALL nodes 2005-05-13 20:29:26 +00:00
PowerPC treat TAILCALL nodes identically to CALL nodes 2005-05-13 20:29:26 +00:00
Skeleton Convert tabs to spaces 2005-04-22 17:54:37 +00:00
Sparc Convert tabs to spaces 2005-04-22 18:06:01 +00:00
SparcV8 Convert tabs to spaces 2005-04-22 18:06:01 +00:00
SparcV9 clarify that these are v9 options 2005-05-13 19:45:45 +00:00
X86 Use target-specific nodes for calls. This allows the fastcc code to not have 2005-05-14 08:48:15 +00:00
Makefile Implement the --enable-targets= feature of the configure script. The make 2005-04-22 17:20:11 +00:00
MRegisterInfo.cpp Convert tabs to spaces 2005-04-22 17:54:37 +00:00
Target.td Add some bits that can be set for instructions. 2005-01-02 02:27:48 +00:00
TargetData.cpp Remove trailing whitespace 2005-04-21 22:55:34 +00:00
TargetFrameInfo.cpp Shut GCC 4.0 up about classes that have virtual functions but a non-virtual 2005-04-25 02:55:55 +00:00
TargetInstrInfo.cpp Convert tabs to spaces 2005-04-22 17:54:37 +00:00
TargetMachine.cpp capitalize 2005-05-13 19:48:34 +00:00
TargetMachineRegistry.cpp Remove trailing whitespace 2005-04-21 22:55:34 +00:00
TargetSchedInfo.cpp Convert tabs to spaces 2005-04-22 17:54:37 +00:00