summaryrefslogtreecommitdiff
path: root/src/jit/codegeninterface.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/jit/codegeninterface.h')
-rw-r--r--src/jit/codegeninterface.h85
1 files changed, 4 insertions, 81 deletions
diff --git a/src/jit/codegeninterface.h b/src/jit/codegeninterface.h
index 371bb1ea23..e6948ad3ca 100644
--- a/src/jit/codegeninterface.h
+++ b/src/jit/codegeninterface.h
@@ -37,11 +37,8 @@ class emitter;
struct RegState
{
regMaskTP rsCalleeRegArgMaskLiveIn; // mask of register arguments (live on entry to method)
-#ifdef LEGACY_BACKEND
- unsigned rsCurRegArgNum; // current argument number (for caller)
-#endif
- unsigned rsCalleeRegArgCount; // total number of incoming register arguments of this kind (int or float)
- bool rsIsFloat; // true for float argument registers, false for integer argument registers
+ unsigned rsCalleeRegArgCount; // total number of incoming register arguments of this kind (int or float)
+ bool rsIsFloat; // true for float argument registers, false for integer argument registers
};
//-------------------- CodeGenInterface ---------------------------------
@@ -57,13 +54,11 @@ public:
CodeGenInterface(Compiler* theCompiler);
virtual void genGenerateCode(void** codePtr, ULONG* nativeSizeOfCode) = 0;
-#ifndef LEGACY_BACKEND
- // genSpillVar is called by compUpdateLifeVar in the RyuJIT backend case.
+ // genSpillVar is called by compUpdateLifeVar.
// TODO-Cleanup: We should handle the spill directly in CodeGen, rather than
// calling it from compUpdateLifeVar. Then this can be non-virtual.
virtual void genSpillVar(GenTree* tree) = 0;
-#endif // !LEGACY_BACKEND
//-------------------------------------------------------------------------
// The following property indicates whether to align loops.
@@ -105,14 +100,6 @@ public:
// in RegSet::rsUnspillOneReg, it needs to mark the new register as "trash"
RegTracker regTracker;
-public:
-#ifdef LEGACY_BACKEND
- void trashReg(regNumber reg)
- {
- regTracker.rsTrackRegTrash(reg);
- }
-#endif
-
protected:
Compiler* compiler;
bool m_genAlignLoops;
@@ -128,9 +115,7 @@ public:
// Liveness-related fields & methods
public:
void genUpdateRegLife(const LclVarDsc* varDsc, bool isBorn, bool isDying DEBUGARG(GenTree* tree));
-#ifndef LEGACY_BACKEND
void genUpdateVarReg(LclVarDsc* varDsc, GenTree* tree);
-#endif // !LEGACY_BACKEND
protected:
#ifdef DEBUG
@@ -147,11 +132,6 @@ protected:
void genUpdateLife(GenTree* tree);
void genUpdateLife(VARSET_VALARG_TP newLife);
-#ifdef LEGACY_BACKEND
- regMaskTP genLiveMask(GenTree* tree);
- regMaskTP genLiveMask(VARSET_VALARG_TP liveSet);
-#endif
-
TreeLifeUpdater<true>* treeLifeUpdater;
public:
@@ -296,59 +276,11 @@ protected:
#endif
public:
-#if FEATURE_STACK_FP_X87
- FlatFPStateX87 compCurFPState;
- unsigned genFPregCnt; // count of current FP reg. vars (including dead but unpopped ones)
-
- void SetRegVarFloat(regNumber reg, var_types type, LclVarDsc* varDsc);
-
- void inst_FN(instruction ins, unsigned stk);
-
- // Keeps track of the current level of the FP coprocessor stack
- // (excluding FP reg. vars).
- // Do not use directly, instead use the processor agnostic accessor
- // methods below
- //
- unsigned genFPstkLevel;
-
- void genResetFPstkLevel(unsigned newValue = 0);
- unsigned genGetFPstkLevel();
- FlatFPStateX87* FlatFPAllocFPState(FlatFPStateX87* pInitFrom = 0);
-
- void genIncrementFPstkLevel(unsigned inc = 1);
- void genDecrementFPstkLevel(unsigned dec = 1);
-
- static const char* regVarNameStackFP(regNumber reg);
-
- // FlatFPStateX87_ functions are the actual verbs to do stuff
- // like doing a transition, loading register, etc. It's also
- // responsible for emitting the x87 code to do so. We keep
- // them in Compiler because we don't want to store a pointer to the
- // emitter.
- void FlatFPX87_MoveToTOS(FlatFPStateX87* pState, unsigned iVirtual, bool bEmitCode = true);
- void FlatFPX87_SwapStack(FlatFPStateX87* pState, unsigned i, unsigned j, bool bEmitCode = true);
-
-#endif // FEATURE_STACK_FP_X87
-
-#ifndef LEGACY_BACKEND
- regNumber genGetAssignedReg(GenTree* tree);
-#endif // !LEGACY_BACKEND
-
-#ifdef LEGACY_BACKEND
- // Changes GT_LCL_VAR nodes to GT_REG_VAR nodes if possible.
- bool genMarkLclVar(GenTree* tree);
-
- void genBashLclVar(GenTree* tree, unsigned varNum, LclVarDsc* varDsc);
-#endif // LEGACY_BACKEND
-
-public:
unsigned InferStructOpSizeAlign(GenTree* op, unsigned* alignmentWB);
unsigned InferOpSizeAlign(GenTree* op, unsigned* alignmentWB);
void genMarkTreeInReg(GenTree* tree, regNumber reg);
-#if CPU_LONG_USES_REGPAIR
- void genMarkTreeInRegPair(GenTree* tree, regPairNo regPair);
-#endif
+
// Methods to abstract target information
bool validImmForInstr(instruction ins, ssize_t val, insFlags flags = INS_FLAGS_DONT_CARE);
@@ -367,10 +299,6 @@ public:
void reloadReg(var_types type, TempDsc* tmp, regNumber reg);
void reloadFloatReg(var_types type, TempDsc* tmp, regNumber reg);
-#ifdef LEGACY_BACKEND
- void SpillFloat(regNumber reg, bool bIsCall = false);
-#endif // LEGACY_BACKEND
-
// The following method is used by xarch emitter for handling contained tree temps.
TempDsc* getSpillTempDsc(GenTree* tree);
@@ -401,11 +329,6 @@ public:
verbose = value;
}
bool verbose;
-#ifdef LEGACY_BACKEND
- // Stress mode
- int genStressFloat();
- regMaskTP genStressLockedMaskFloat();
-#endif // LEGACY_BACKEND
#endif // DEBUG
// The following is set to true if we've determined that the current method