@@ -132,7 +132,7 @@ class InlineGlobalSlotsAnalysis : public DataFlowAnalysis {
132132public:
133133 InlineGlobalSlotsAnalysis (DataFlowSolver &solver);
134134 LogicalResult initialize (Operation *top) override ;
135- LogicalResult visit (ProgramPoint point) override ;
135+ LogicalResult visit (ProgramPoint * point) override ;
136136
137137private:
138138 // / The local transfer function determining the safety of `value`.
@@ -170,7 +170,7 @@ LogicalResult InlineGlobalSlotsAnalysis::initialize(Operation *top) {
170170 if (auto initialize = dyn_cast<Torch::InitializeGlobalSlotsOp>(op)) {
171171 initializeGlobalSlotsOp = initialize;
172172 }
173- if (failed (visit (op )))
173+ if (failed (visit (getProgramPointAfter (op) )))
174174 return WalkResult::interrupt ();
175175
176176 return WalkResult::advance ();
@@ -180,8 +180,8 @@ LogicalResult InlineGlobalSlotsAnalysis::initialize(Operation *top) {
180180 return success ();
181181}
182182
183- LogicalResult InlineGlobalSlotsAnalysis::visit (ProgramPoint point) {
184- if (auto op = dyn_cast<Operation *>(point )) {
183+ LogicalResult InlineGlobalSlotsAnalysis::visit (ProgramPoint * point) {
184+ if (auto op = point-> getOperation ( )) {
185185 for (auto value : op->getResults ()) {
186186 bool isSafe = isValueSafeTransferFunction (value);
187187 auto *state = getOrCreate<InlineGlobalSlotsAnalysisState>(value);
@@ -196,7 +196,7 @@ LogicalResult InlineGlobalSlotsAnalysis::visit(ProgramPoint point) {
196196 auto *flatSymbolRefPoint =
197197 getLatticeAnchor<FlatSymbolRefLatticeAnchor>(globalSlot);
198198 auto *valueState = getOrCreateFor<InlineGlobalSlotsAnalysisState>(
199- globalSlot, globalSlotGet.getResult ());
199+ getProgramPointAfter ( globalSlot) , globalSlotGet.getResult ());
200200 auto *globalState =
201201 getOrCreate<InlineGlobalSlotsAnalysisState>(flatSymbolRefPoint);
202202 propagateIfChanged (globalState,
@@ -223,7 +223,7 @@ bool InlineGlobalSlotsAnalysis::isValueSafeTransferFunction(Value value) {
223223 if ((op->hasTrait <Torch::OpTrait::ReadOnly>() || isMemoryEffectFree (op)) &&
224224 llvm::all_of (op->getResults (), [&](Value result) {
225225 auto *state = getOrCreateFor<InlineGlobalSlotsAnalysisState>(
226- value.getDefiningOp (), result);
226+ getProgramPointAfter ( value.getDefiningOp () ), result);
227227 return state->isSafe ;
228228 }))
229229 continue ;
@@ -234,7 +234,7 @@ bool InlineGlobalSlotsAnalysis::isValueSafeTransferFunction(Value value) {
234234 SymbolTable::lookupNearestSymbolFrom<GlobalSlotOp>(op, symName);
235235
236236 auto *state = getOrCreateFor<InlineGlobalSlotsAnalysisState>(
237- value.getDefiningOp (),
237+ getProgramPointAfter ( value.getDefiningOp () ),
238238 getLatticeAnchor<FlatSymbolRefLatticeAnchor>(globalSlot));
239239 if (state->isSafe )
240240 continue ;
0 commit comments