llvm-6502/lib/Target/Mips
Dan Gohman 98ca4f2a32 Major calling convention code refactoring.
Instead of awkwardly encoding calling-convention information with ISD::CALL,
ISD::FORMAL_ARGUMENTS, ISD::RET, and ISD::ARG_FLAGS nodes, TargetLowering
provides three virtual functions for targets to override:
LowerFormalArguments, LowerCall, and LowerRet, which replace the custom
lowering done on the special nodes. They provide the same information, but
in a more immediately usable format.

This also reworks much of the target-independent tail call logic. The
decision of whether or not to perform a tail call is now cleanly split
between target-independent portions, and the target dependent portion
in IsEligibleForTailCallOptimization.

This also synchronizes all in-tree targets, to help enable future
refactoring and feature work.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78142 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-05 01:29:28 +00:00
..
AsmPrinter this really shouldn't switch sections without telling the asmprinter, but 2009-08-03 21:57:00 +00:00
TargetInfo Factor commonality in triple match routines into helper template for registering 2009-07-26 05:03:33 +00:00
CMakeLists.txt CMake build fixes, from Xerxes Ranby 2009-07-02 18:53:52 +00:00
Makefile Add TargetInfo libraries for all targets. 2009-07-15 06:35:19 +00:00
Mips.h Add new helpers for registering targets. 2009-07-25 06:49:55 +00:00
Mips.td Added support for fround, fextend and FP_TO_SINT 2009-05-27 17:23:44 +00:00
MipsCallingConv.td Added support for Mips O32 Calling Convention 2009-03-19 02:12:28 +00:00
MipsDelaySlotFiller.cpp Remove non-DebugLoc versions of BuildMI from IA64, Mips. 2009-02-13 02:34:39 +00:00
MipsInstrFormats.td
MipsInstrFPU.td Added support for fround, fextend and FP_TO_SINT 2009-05-27 17:23:44 +00:00
MipsInstrInfo.cpp Remove unused member functions. 2009-07-24 07:43:59 +00:00
MipsInstrInfo.h Remove unused member functions. 2009-07-24 07:43:59 +00:00
MipsInstrInfo.td Added support for fround, fextend and FP_TO_SINT 2009-05-27 17:23:44 +00:00
MipsISelDAGToDAG.cpp Minor code simplifications. 2009-08-01 03:42:59 +00:00
MipsISelLowering.cpp Major calling convention code refactoring. 2009-08-05 01:29:28 +00:00
MipsISelLowering.h Major calling convention code refactoring. 2009-08-05 01:29:28 +00:00
MipsMachineFunction.h Major calling convention code refactoring. 2009-08-05 01:29:28 +00:00
MipsRegisterInfo.cpp Major calling convention code refactoring. 2009-08-05 01:29:28 +00:00
MipsRegisterInfo.h Added support for fp callee saved registers. 2008-08-06 06:14:43 +00:00
MipsRegisterInfo.td Added support for fround, fextend and FP_TO_SINT 2009-05-27 17:23:44 +00:00
MipsSchedule.td
MipsSubtarget.cpp Remove -disable-mips-abicall and -enable-mips-absolute-call command-line 2009-08-03 02:22:28 +00:00
MipsSubtarget.h Remove -disable-mips-abicall and -enable-mips-absolute-call command-line 2009-08-03 02:22:28 +00:00
MipsTargetAsmInfo.cpp Remove -disable-mips-abicall and -enable-mips-absolute-call command-line 2009-08-03 02:22:28 +00:00
MipsTargetAsmInfo.h remove TargetAsmInfo::TM, which is now dead. The basic TAI class now 2009-08-02 04:27:24 +00:00
MipsTargetMachine.cpp Remove -disable-mips-abicall and -enable-mips-absolute-call command-line 2009-08-03 02:22:28 +00:00
MipsTargetMachine.h Remove -disable-mips-abicall and -enable-mips-absolute-call command-line 2009-08-03 02:22:28 +00:00