forked from OSchip/llvm-project
f9bbcd1afd
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. llvm-svn: 78142 |
||
---|---|---|
.. | ||
AsmPrinter | ||
TargetInfo | ||
CMakeLists.txt | ||
Makefile | ||
Mips.h | ||
Mips.td | ||
MipsCallingConv.td | ||
MipsDelaySlotFiller.cpp | ||
MipsISelDAGToDAG.cpp | ||
MipsISelLowering.cpp | ||
MipsISelLowering.h | ||
MipsInstrFPU.td | ||
MipsInstrFormats.td | ||
MipsInstrInfo.cpp | ||
MipsInstrInfo.h | ||
MipsInstrInfo.td | ||
MipsMachineFunction.h | ||
MipsRegisterInfo.cpp | ||
MipsRegisterInfo.h | ||
MipsRegisterInfo.td | ||
MipsSchedule.td | ||
MipsSubtarget.cpp | ||
MipsSubtarget.h | ||
MipsTargetAsmInfo.cpp | ||
MipsTargetAsmInfo.h | ||
MipsTargetMachine.cpp | ||
MipsTargetMachine.h |