| 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() | 
|  |