mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-02-19 06:31:18 +00:00
Refactoring the x86 and x86-64 calling convention implementations,
unifying the copied algorithms and saving over 500 LOC. There should be no functionality change, but please test on your favorite x86 target. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45627 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
df303bd7f2
commit
86737665b8
File diff suppressed because it is too large
Load Diff
@ -17,6 +17,7 @@
|
|||||||
|
|
||||||
#include "X86Subtarget.h"
|
#include "X86Subtarget.h"
|
||||||
#include "X86RegisterInfo.h"
|
#include "X86RegisterInfo.h"
|
||||||
|
#include "X86MachineFunctionInfo.h"
|
||||||
#include "llvm/Target/TargetLowering.h"
|
#include "llvm/Target/TargetLowering.h"
|
||||||
#include "llvm/CodeGen/SelectionDAG.h"
|
#include "llvm/CodeGen/SelectionDAG.h"
|
||||||
#include "llvm/CodeGen/CallingConvLower.h"
|
#include "llvm/CodeGen/CallingConvLower.h"
|
||||||
@ -438,22 +439,11 @@ namespace llvm {
|
|||||||
const CCValAssign &VA, SDOperand Chain,
|
const CCValAssign &VA, SDOperand Chain,
|
||||||
SDOperand Arg);
|
SDOperand Arg);
|
||||||
|
|
||||||
// C and StdCall Calling Convention implementation.
|
// Call lowering helpers.
|
||||||
SDOperand LowerCCCArguments(SDOperand Op, SelectionDAG &DAG,
|
bool IsCalleePop(SDOperand Op);
|
||||||
bool isStdCall = false);
|
CCAssignFn *CCAssignFnForNode(SDOperand Op) const;
|
||||||
SDOperand LowerCCCCallTo(SDOperand Op, SelectionDAG &DAG, unsigned CC);
|
NameDecorationStyle NameDecorationForFORMAL_ARGUMENTS(SDOperand Op);
|
||||||
|
|
||||||
// X86-64 C Calling Convention implementation.
|
|
||||||
SDOperand LowerX86_64CCCArguments(SDOperand Op, SelectionDAG &DAG);
|
|
||||||
SDOperand LowerX86_64CCCCallTo(SDOperand Op, SelectionDAG &DAG,unsigned CC);
|
|
||||||
|
|
||||||
// fast calling convention (tail call) implementation for 32/64bit
|
|
||||||
SDOperand LowerX86_TailCallTo(SDOperand Op,
|
|
||||||
SelectionDAG & DAG, unsigned CC);
|
|
||||||
unsigned GetAlignedArgumentStackSize(unsigned StackSize, SelectionDAG &DAG);
|
unsigned GetAlignedArgumentStackSize(unsigned StackSize, SelectionDAG &DAG);
|
||||||
// Fast and FastCall Calling Convention implementation.
|
|
||||||
SDOperand LowerFastCCArguments(SDOperand Op, SelectionDAG &DAG);
|
|
||||||
SDOperand LowerFastCCCallTo(SDOperand Op, SelectionDAG &DAG, unsigned CC);
|
|
||||||
|
|
||||||
std::pair<SDOperand,SDOperand> FP_TO_SINTHelper(SDOperand Op,
|
std::pair<SDOperand,SDOperand> FP_TO_SINTHelper(SDOperand Op,
|
||||||
SelectionDAG &DAG);
|
SelectionDAG &DAG);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user