Skip to content

Commit c1909a0

Browse files
committed
Signed-off-by: Alan Li <[email protected]>
1 parent 7b11dfc commit c1909a0

File tree

2 files changed

+8
-8
lines changed

2 files changed

+8
-8
lines changed

externals/llvm-project

Submodule llvm-project updated 2681 files

lib/Dialect/Torch/Transforms/InlineGlobalSlots.cpp

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@ class InlineGlobalSlotsAnalysis : public DataFlowAnalysis {
132132
public:
133133
InlineGlobalSlotsAnalysis(DataFlowSolver &solver);
134134
LogicalResult initialize(Operation *top) override;
135-
LogicalResult visit(ProgramPoint point) override;
135+
LogicalResult visit(ProgramPoint *point) override;
136136

137137
private:
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

Comments
 (0)