| Index: src/IceCfg.h
|
| diff --git a/src/IceCfg.h b/src/IceCfg.h
|
| index 42e6ef121c519417faf5393e42a74bf62728e4f5..26c312748e520a3ef3e46cfe25dc35eb2f30bae8 100644
|
| --- a/src/IceCfg.h
|
| +++ b/src/IceCfg.h
|
| @@ -202,6 +202,7 @@ public:
|
| void shuffleNodes();
|
| void localCSE();
|
| void shortCircuitJumps();
|
| + void loopInvariantCodeMotion();
|
|
|
| /// Scan allocas to determine whether we need to use a frame pointer.
|
| /// If SortAndCombine == true, merge all the fixed-size allocas in the
|
| @@ -215,7 +216,7 @@ public:
|
| void doNopInsertion();
|
| void genCode();
|
| void genFrame();
|
| - void computeLoopNestDepth();
|
| + void generateLoopInfo();
|
| void livenessLightweight();
|
| void liveness(LivenessMode Mode);
|
| bool validateLiveness() const;
|
| @@ -330,7 +331,7 @@ private:
|
| /// Globals required by this CFG. Mostly used for the profiler's globals.
|
| std::unique_ptr<VariableDeclarationList> GlobalInits;
|
| CfgVector<InstJumpTable *> JumpTables;
|
| -
|
| + CfgUnorderedMap<SizeT, CfgVector<SizeT>> LoopInfo;
|
| /// CurrentNode is maintained during dumping/emitting just for validating
|
| /// Variable::DefNode. Normally, a traversal over CfgNodes maintains this, but
|
| /// before global operations like register allocation, resetCurrentNode()
|
|
|