diff --git a/include/triton/Analysis/Allocation.h b/include/triton/Analysis/Allocation.h index 47b7dbbcdf17..d2e6af52e7d0 100644 --- a/include/triton/Analysis/Allocation.h +++ b/include/triton/Analysis/Allocation.h @@ -245,8 +245,6 @@ class ModuleAllocation : public CallGraph { FuncOffsetMapT sharedMemoryValue; }; -template Interval(T, T) -> Interval; - } // namespace mlir #endif // TRITON_ANALYSIS_ALLOCATION_H diff --git a/include/triton/Analysis/Membar.h b/include/triton/Analysis/Membar.h index 158055561064..cce981b3fc2c 100644 --- a/include/triton/Analysis/Membar.h +++ b/include/triton/Analysis/Membar.h @@ -72,7 +72,7 @@ class MembarAnalysis { /// in the following circumstances: /// - RAW: If a shared memory write is followed by a shared memory read, and /// their addresses are intersected, a barrier is inserted. - /// - WAR: If a shared memory read is followed by a shared memory read, and + /// - WAR: If a shared memory read is followed by a shared memory write, and /// their addresses are intersected, a barrier is inserted. /// The following circumstances do not require a barrier: /// - WAW: not possible because overlapped memory allocation is not allowed. diff --git a/lib/Analysis/Membar.cpp b/lib/Analysis/Membar.cpp index 31f36d52e7f7..36c54a73139a 100644 --- a/lib/Analysis/Membar.cpp +++ b/lib/Analysis/Membar.cpp @@ -81,9 +81,8 @@ void MembarAnalysis::visitTerminator(Operation *op, SmallVector &successors) { if (auto branchInterface = dyn_cast(op)) { Block *parentBlock = branchInterface->getBlock(); - for (Block *successor : parentBlock->getSuccessors()) { - successors.push_back(successor); - } + successors.append(std::begin(parentBlock->getSuccessors()), + std::end(parentBlock->getSuccessors())); return; } // Otherwise, it could be a return op