Lines Matching defs:reachingDef
183 /// promotion. `reachingDef` is the value the slot should contain at the
186 Value computeReachingDefInBlock(Block *block, Value reachingDef);
189 /// promotion. `reachingDef` corresponds to the initial value the
192 void computeReachingDefInRegion(Region *region, Value reachingDef);
324 // provide a valid `reachingDef` for it.
450 Value reachingDef) {
457 reachingDefs.insert({memOp, reachingDef});
461 Value stored = memOp.getStored(slot, builder, reachingDef, dataLayout);
464 reachingDef = stored;
470 return reachingDef;
474 Value reachingDef) {
475 assert(reachingDef && "expected an initial reaching def to be provided");
477 computeReachingDefInBlock(®ion->front(), reachingDef);
483 Value reachingDef;
491 {domTree.getNode(®ion->front()), reachingDef});
502 job.reachingDef = blockArgument;
508 job.reachingDef = computeReachingDefInBlock(block, job.reachingDef);
509 assert(job.reachingDef);
515 .append(job.reachingDef);
521 dfsStack.emplace_back<DfsJob>({child, job.reachingDef});
576 Value reachingDef = reachingDefs.lookup(toPromoteMemOp);
579 if (!reachingDef)
580 reachingDef = getOrCreateDefaultValue();
584 slot, info.userToBlockingUses[toPromote], builder, reachingDef,