forked from OSchip/llvm-project
Revert "[mlir][drr] NFC: avoid SmallVector when collecting substitution values"
This reverts commit 2f8b164ca2
, which
causes a breakage on Clang 5.
This commit is contained in:
parent
4fd92cc475
commit
60f1d26366
|
@ -345,7 +345,7 @@ std::string tblgen::SymbolInfoMap::SymbolInfo::getAllRangeUse(
|
|||
case Kind::Value: {
|
||||
assert(index < 0 && "only allowed for symbol bound to result");
|
||||
assert(op == nullptr);
|
||||
auto repl = formatv(fmt, formatv("ValueRange{{{0}}", name));
|
||||
auto repl = formatv(fmt, formatv("{{{0}}", name));
|
||||
LLVM_DEBUG(llvm::dbgs() << repl << " (Value)\n");
|
||||
return std::string(repl);
|
||||
}
|
||||
|
|
|
@ -612,8 +612,15 @@ void PatternEmitter::emitRewriteLogic() {
|
|||
auto val = handleResultPattern(resultTree, offsets[i], 0);
|
||||
os.indent(4) << "\n";
|
||||
// Resolve each symbol for all range use so that we can loop over them.
|
||||
// We need an explicit cast to `SmallVector` to capture the cases where
|
||||
// `{0}` resolves to an `Operation::result_range` as well as cases that
|
||||
// are not iterable (e.g. vector that gets wrapped in additional braces by
|
||||
// RewriterGen).
|
||||
// TODO(b/147096809): Revisit the need for materializing a vector.
|
||||
os << symbolInfoMap.getAllRangeUse(
|
||||
val, " for (Value v : {0}) {{ tblgen_repl_values.push_back(v); }",
|
||||
val,
|
||||
" for (auto v : SmallVector<Value, 4>{ {0} }) {{ "
|
||||
"tblgen_repl_values.push_back(v); }",
|
||||
"\n");
|
||||
}
|
||||
os.indent(4) << "\n";
|
||||
|
|
Loading…
Reference in New Issue