diff options
author | Sergey Andreenko <seandree@microsoft.com> | 2018-02-14 15:38:58 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-02-14 15:38:58 -0800 |
commit | 94510ef330ad1ecb31540a949a68d4e09c164c64 (patch) | |
tree | 37161f66b2cf10ad90232a23c1700026b3734e27 /src/jit/gtstructs.h | |
parent | 7910a37a1cf5b963997994b6884475c224585e90 (diff) | |
download | coreclr-94510ef330ad1ecb31540a949a68d4e09c164c64.tar.gz coreclr-94510ef330ad1ecb31540a949a68d4e09c164c64.tar.bz2 coreclr-94510ef330ad1ecb31540a949a68d4e09c164c64.zip |
[RyuJit] Stack level setter (#15597)
* create a new phase: StackLevelSetter
* add repro
* Fix grammar mistakes
* use the default hash
* delete values from the map.
* create gentree::OperIsPutArgStkOrSplit
* fix more comments
* delete an extra condition that is always true
* use GTSTRUCT_2_SPECIAL for PutArgStk
* extract fgUseThrowHelperBlocks
* optimize memory for amd64 and additional checks for x86
* change checks
The previous version was wrong, because morph can call fgAddCodeRef several times for the same instruction during different phases.
* fix comments
* fix genJumpToThrowHlpBlk
* small ref in genJumpToThrowHlpBlk
* fix rebase problems.
* use fgUseThrowHelperBlocks instead of !opts.compDbgCode
* add throwHelperBlocksUsed for throughput.
Diffstat (limited to 'src/jit/gtstructs.h')
-rw-r--r-- | src/jit/gtstructs.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/jit/gtstructs.h b/src/jit/gtstructs.h index f3ff0217f2..6cfb92c98e 100644 --- a/src/jit/gtstructs.h +++ b/src/jit/gtstructs.h @@ -109,10 +109,12 @@ GTSTRUCT_1(Qmark , GT_QMARK) GTSTRUCT_1(PhiArg , GT_PHI_ARG) GTSTRUCT_1(StoreInd , GT_STOREIND) GTSTRUCT_N(Indir , GT_STOREIND, GT_IND, GT_NULLCHECK, GT_BLK, GT_STORE_BLK, GT_OBJ, GT_STORE_OBJ, GT_DYN_BLK, GT_STORE_DYN_BLK) +#if defined(LEGACY_BACKEND) || !defined(_TARGET_ARM_) GTSTRUCT_1(PutArgStk , GT_PUTARG_STK) -#if !defined(LEGACY_BACKEND) && defined(_TARGET_ARM_) +#else // defined(_TARGET_ARM_) && !defined(LEGACY_BACKEND) +GTSTRUCT_2_SPECIAL(PutArgStk, GT_PUTARG_STK, GT_PUTARG_SPLIT) GTSTRUCT_1(PutArgSplit , GT_PUTARG_SPLIT) -#endif +#endif // defined(LEGACY_BACKEND) || !defined(_TARGET_ARM_) GTSTRUCT_1(PhysReg , GT_PHYSREG) #ifdef FEATURE_SIMD GTSTRUCT_1(SIMD , GT_SIMD) |