Lines Matching defs:gate
20 void UselessGateElimination::PushGate(GateRef gate)
22 workList_.push_back(gate);
23 acc_.SetMark(gate, MarkCode::VISITED);
35 for (auto gate : gateList_) {
36 if (acc_.GetOpCode(gate) == OpCode::LOOP_BEGIN) {
37 PushGate(gate);
38 } else if (acc_.IsProlog(gate) || acc_.IsRoot(gate)) {
39 acc_.SetMark(gate, MarkCode::VISITED);
47 GateRef gate = workList_.back();
50 acc_.GetIns(gate, ins);
59 void UselessGateElimination::ReplaceDead(GateRef gate)
61 auto uses = acc_.Uses(gate);
65 acc_.DeleteGate(gate);
70 for (auto gate : gateList_) {
71 if (acc_.GetMark(gate) != MarkCode::VISITED) {
72 ReplaceDead(gate);