Chromium Code Reviews| Index: src/IceCfg.h |
| diff --git a/src/IceCfg.h b/src/IceCfg.h |
| index 490d1d065d7c46b0c5cd6abc59d5d9190a7047f6..3fdc808543c6e3d88d3194d228cb92ebad127451 100644 |
| --- a/src/IceCfg.h |
| +++ b/src/IceCfg.h |
| @@ -22,6 +22,7 @@ |
| #include "IceGlobalContext.h" |
| #include "IceStringPool.h" |
| #include "IceTypes.h" |
| +#include "IceLoopAnalyzer.h" |
|
Jim Stichnoth
2016/07/15 22:14:33
alphabetize includes if possible
manasijm
2016/07/18 22:27:46
Done.
|
| namespace Ice { |
| @@ -301,7 +302,8 @@ private: |
| uint32_t CombinedAlignment, InstList &Insts, |
| AllocaBaseVariableType BaseVariableType); |
| void findRematerializable(); |
| - CfgVector<Inst *> findLoopInvariantInstructions(SizeT LoopHeaderIndex); |
| + CfgVector<Inst *> |
| + findLoopInvariantInstructions(const CfgUnorderedSet<SizeT> &Body); |
| GlobalContext *Ctx; |
| uint32_t SequenceNumber; /// output order for emission |
| @@ -332,12 +334,12 @@ 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() |
| /// should be called to avoid spurious validation failures. |
| const CfgNode *CurrentNode = nullptr; |
| + LoopAnalyzer::LoopInfo Loops; |
| public: |
| static void TlsInit() { CfgAllocatorTraits::init(); } |