Lines Matching refs:liveMap
178 static bool isUseSpeciallyKnownDead(OpOperand &use, LiveMap &liveMap) { in isUseSpeciallyKnownDead() argument
195 return !liveMap.wasProvenLive(*arg); in isUseSpeciallyKnownDead()
201 static void processValue(Value value, LiveMap &liveMap) { in processValue() argument
203 if (isUseSpeciallyKnownDead(use, liveMap)) in processValue()
205 return liveMap.wasProvenLive(use.getOwner()); in processValue()
208 liveMap.setProvedLive(value); in processValue()
211 static void propagateLiveness(Region ®ion, LiveMap &liveMap);
213 static void propagateTerminatorLiveness(Operation *op, LiveMap &liveMap) { in propagateTerminatorLiveness() argument
215 liveMap.setProvedLive(op); in propagateTerminatorLiveness()
222 liveMap.setProvedLive(arg); in propagateTerminatorLiveness()
233 liveMap.setProvedLive(op->getSuccessor(i)->getArgument(opI)); in propagateTerminatorLiveness()
237 static void propagateLiveness(Operation *op, LiveMap &liveMap) { in propagateLiveness() argument
240 propagateLiveness(region, liveMap); in propagateLiveness()
244 return propagateTerminatorLiveness(op, liveMap); in propagateLiveness()
247 if (liveMap.wasProvenLive(op)) in propagateLiveness()
252 return liveMap.setProvedLive(op); in propagateLiveness()
256 processValue(value, liveMap); in propagateLiveness()
259 static void propagateLiveness(Region ®ion, LiveMap &liveMap) { in propagateLiveness() argument
267 propagateLiveness(&op, liveMap); in propagateLiveness()
277 if (!liveMap.wasProvenLive(value)) in propagateLiveness()
278 processValue(value, liveMap); in propagateLiveness()
284 LiveMap &liveMap) { in eraseTerminatorSuccessorOperands() argument
303 if (!liveMap.wasProvenLive(successor->getArgument(arg))) in eraseTerminatorSuccessorOperands()
311 LiveMap &liveMap) { in deleteDeadness() argument
325 eraseTerminatorSuccessorOperands(block->getTerminator(), liveMap); in deleteDeadness()
328 if (!liveMap.wasProvenLive(&childOp)) { in deleteDeadness()
334 deleteDeadness(rewriter, childOp.getRegions(), liveMap)); in deleteDeadness()
343 [&](BlockArgument arg) { return !liveMap.wasProvenLive(arg); }); in deleteDeadness()
368 LiveMap liveMap; in runRegionDCE() local
370 liveMap.resetChanged(); in runRegionDCE()
373 propagateLiveness(region, liveMap); in runRegionDCE()
374 } while (liveMap.hasChanged()); in runRegionDCE()
376 return deleteDeadness(rewriter, regions, liveMap); in runRegionDCE()