diff options
author | Pat Gavlin <pgavlin@gmail.com> | 2016-08-01 17:24:22 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-08-01 17:24:22 -0700 |
commit | d7ca197675ef4e17ad3d7eaa4f14f364557fa2a3 (patch) | |
tree | 46d6eb4894a96c953e932770f9d387faa0a1a09a /src/jit/lsra.h | |
parent | e5dd7a7518460fbd80f1474c4b79b4c562dfbf2c (diff) | |
parent | 41a1d0a422c8c444479809ab9acd3854d8bf66cc (diff) | |
download | coreclr-d7ca197675ef4e17ad3d7eaa4f14f364557fa2a3.tar.gz coreclr-d7ca197675ef4e17ad3d7eaa4f14f364557fa2a3.tar.bz2 coreclr-d7ca197675ef4e17ad3d7eaa4f14f364557fa2a3.zip |
Merge pull request #6533 from pgavlin/LSRA
Replace the LSRA stack with a hash table.
Diffstat (limited to 'src/jit/lsra.h')
-rw-r--r-- | src/jit/lsra.h | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/jit/lsra.h b/src/jit/lsra.h index f492e1ac39..7832f5ae45 100644 --- a/src/jit/lsra.h +++ b/src/jit/lsra.h @@ -7,6 +7,7 @@ #define _LSRA_H_ #include "arraylist.h" +#include "smallhash.h" #include "nodeinfo.h" // Minor and forward-reference types @@ -300,11 +301,15 @@ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX // to the next RefPosition in code order // THIS IS THE OPTION CURRENTLY BEING PURSUED +class LocationInfoList; +class LocationInfoListNodePool; + class LinearScan : public LinearScanInterface { friend class RefPosition; friend class Interval; friend class Lowering; + friend class TreeNodeInfo; public: @@ -610,7 +615,8 @@ private: void resolveConflictingDefAndUse(Interval* interval, RefPosition* defRefPosition); void buildRefPositionsForNode(GenTree *tree, BasicBlock *block, - ArrayStack<LocationInfo> *stack, + LocationInfoListNodePool& listNodePool, + HashTableBase<GenTree*, LocationInfoList>& operandToLocationInfoMap, LsraLocation loc); #if FEATURE_PARTIAL_SIMD_CALLEE_SAVE |