summaryrefslogtreecommitdiff
path: root/src/jit/decomposelongs.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/jit/decomposelongs.h')
-rw-r--r--src/jit/decomposelongs.h12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/jit/decomposelongs.h b/src/jit/decomposelongs.h
index af9b342fb2..8965a0b330 100644
--- a/src/jit/decomposelongs.h
+++ b/src/jit/decomposelongs.h
@@ -35,13 +35,14 @@ private:
}
// Driver functions
- void DecomposeRangeHelper();
- GenTree* DecomposeNode(LIR::Use& use);
+ void DecomposeRangeHelper();
+ GenTree* DecomposeNode(GenTree* tree);
// Per-node type decompose cases
GenTree* DecomposeLclVar(LIR::Use& use);
GenTree* DecomposeLclFld(LIR::Use& use);
GenTree* DecomposeStoreLclVar(LIR::Use& use);
+ GenTree* DecomposeStoreLclFld(LIR::Use& use);
GenTree* DecomposeCast(LIR::Use& use);
GenTree* DecomposeCnsLng(LIR::Use& use);
GenTree* DecomposeCall(LIR::Use& use);
@@ -51,10 +52,15 @@ private:
GenTree* DecomposeNeg(LIR::Use& use);
GenTree* DecomposeArith(LIR::Use& use);
GenTree* DecomposeShift(LIR::Use& use);
+ GenTree* DecomposeRotate(LIR::Use& use);
+ GenTree* DecomposeMul(LIR::Use& use);
+ GenTree* DecomposeUMod(LIR::Use& use);
// Helper functions
- GenTree* FinalizeDecomposition(LIR::Use& use, GenTree* loResult, GenTree* hiResult);
+ GenTree* FinalizeDecomposition(LIR::Use& use, GenTree* loResult, GenTree* hiResult, GenTree* insertResultAfter);
+ GenTree* RepresentOpAsLocalVar(GenTree* op, GenTree* user, GenTree** edge);
+ GenTree* StoreNodeToVar(LIR::Use& use);
static genTreeOps GetHiOper(genTreeOps oper);
static genTreeOps GetLoOper(genTreeOps oper);