llvm-6502/lib/Target/X86
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
..
.cvsignore ignore generated files 2004-11-21 00:01:54 +00:00
Makefile Adjust to changes in asmwriter filenames 2004-12-16 17:33:24 +00:00
X86.h * Remove trailing whitespace 2005-04-21 23:38:14 +00:00
X86.td Add support for the -x86-asm-syntax flag, which can be used to choose between 2004-10-03 20:36:57 +00:00
X86AsmPrinter.cpp * Remove trailing whitespace 2005-04-21 23:38:14 +00:00
X86CodeEmitter.cpp * Remove trailing whitespace 2005-04-21 23:38:14 +00:00
X86FloatingPoint.cpp * Remove trailing whitespace 2005-04-21 23:38:14 +00:00
X86InstrBuilder.h * Remove trailing whitespace 2005-04-21 23:38:14 +00:00
X86InstrInfo.cpp * Remove trailing whitespace 2005-04-21 23:38:14 +00:00
X86InstrInfo.h * Remove trailing whitespace 2005-04-21 23:38:14 +00:00
X86InstrInfo.td add 'ret imm' instruction 2005-05-13 17:56:48 +00:00
X86ISelPattern.cpp Use target-specific nodes for calls. This allows the fastcc code to not have 2005-05-14 08:48:15 +00:00
X86ISelSimple.cpp Fix UnitTests/2005-05-13-SDivTwo.c 2005-05-13 21:48:20 +00:00
X86JITInfo.cpp * Remove trailing whitespace 2005-04-21 23:38:14 +00:00
X86JITInfo.h * Remove trailing whitespace 2005-04-21 23:38:14 +00:00
X86PeepholeOpt.cpp * Remove trailing whitespace 2005-04-21 23:38:14 +00:00
X86RegisterInfo.cpp switch to having the callee pop stack operands for fastcc. This is currently buggy 2005-05-13 21:44:04 +00:00
X86RegisterInfo.h * Remove trailing whitespace 2005-04-21 23:38:14 +00:00
X86RegisterInfo.td Minor optimization to allocate R8 registers in a better order. 2005-01-05 16:09:16 +00:00
X86Relocations.h * Remove trailing whitespace 2005-04-21 23:38:14 +00:00
X86TargetMachine.cpp Enable pattern isel by default 2005-05-12 19:56:09 +00:00
X86TargetMachine.h * Remove trailing whitespace 2005-04-21 23:38:14 +00:00