Lines Matching defs:GateRegion
27 class GateRegion : public ChunkObject {
29 GateRegion(Chunk* chunk) : gateList_(chunk), preds_(chunk),
31 ~GateRegion() = default;
38 void AddSucc(GateRegion *to)
96 GateRegion* GetSimpleSuccRegion() const
99 GateRegion* dst = succs_[0];
107 void ReplaceSucc(GateRegion* oldSucc, GateRegion* newSucc)
117 bool RemovePred(GateRegion* removedRegion)
128 void AddPred(GateRegion* r)
148 ChunkVector<GateRegion*>& GetPreds()
184 GateRegion* GetDominator() const
189 ChunkVector<GateRegion*>& GetDominatedRegions()
231 GateRegion* iDominator_ {nullptr};
233 ChunkVector<GateRegion*> preds_;
234 ChunkVector<GateRegion*> succs_;
235 ChunkVector<GateRegion*> dominatedRegions_;
254 GateRegion* loopHead {nullptr};
256 ChunkVector<GateRegion*>* loopExits {nullptr};
286 GateInfo(GateRegion* region) : region(region) {}
287 GateRegion* region {nullptr};
288 GateRegion* upperBound {nullptr};
331 GateRegion* FindPredRegion(GateRef input);
332 GateRegion* GetCommonDominator(GateRegion* left, GateRegion* right) const;
348 GateRegion* GateToRegion(GateRef gate) const
354 GateRegion* GateToUpperBound(GateRef gate) const
360 GateRegion* GetEntryRegion() const
366 void AddFixedGateToRegion(GateRef gate, GateRegion* region)
382 void AddRootGateToRegion(GateRef gate, GateRegion* region)
395 void BindGate(GateRef gate, GateRegion* region)
407 GateRegion* region = GateToRegion(gate);
441 LoopInfo* GetLoopInfo(GateRegion *region)
452 size_t OptimizeControls(GateRegion *region);
453 void MoveAndClear(GateRegion *from, GateRegion *to);
466 ChunkVector<GateRegion*> regionList_;