Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -363,8 +363,11 @@ class TMemToSharedMemPattern : public OpRewritePattern<TMEMLoadOp> {
SmallVector<std::pair<Value, Attribute>> uses;
uses.push_back({tmemLoadOp.getResult(), newEncoding});
bool foundImprovedStore = false;
llvm::DenseSet<std::pair<Value, Attribute>> visited;
while (!uses.empty()) {
auto [v, encoding] = uses.pop_back_val();
if (!visited.insert({v, encoding}).second)
Comment on lines +366 to +369

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P0 Badge Include headers for new DenseSet usage

The new llvm::DenseSet<std::pair<Value, Attribute>> visited relies on both the llvm::DenseSet declaration and DenseMapInfo<Attribute>. This file does not include either llvm/ADT/DenseSet.h or mlir/Support/LLVM.h, so the compilation unit will fail to build once this code is seen because DenseSet and DenseMapInfo<mlir::Attribute> are undefined here. Add the appropriate headers before using the set.

Useful? React with 👍 / 👎.

continue;
for (auto user : v.getUsers()) {
if (auto localStore = dyn_cast<gpu::LocalStoreOp>(user)) {
// Check if the store benefits from the new layout.
Expand Down
Loading