From d0462e7eced40140da69302eaf07b0752030b1c6 Mon Sep 17 00:00:00 2001 From: Mike Urbach Date: Fri, 16 Dec 2022 13:17:03 -0700 Subject: [PATCH] Bump LLVM to b6772e6e2045ab491b41d3767f788250800f97ea. (#4444) This is NFC. The only change is related to the transition from llvm::None to std::nullopt, so I cleaned those up. This LLVM commit includes a few additions to the MLIR Python API that will be good to build on top of. --- include/circt/Dialect/FSM/FSMOps.td | 2 +- include/circt/Dialect/HW/HWStructure.td | 2 +- include/circt/Dialect/Interop/Interop.td | 2 +- include/circt/Dialect/SystemC/SystemCStructure.td | 2 +- lib/Dialect/FIRRTL/FIRRTLUtils.cpp | 4 ++-- lib/Dialect/MSFT/DeviceDB.cpp | 6 ++++-- lib/Dialect/Moore/MooreTypes.cpp | 2 +- llvm | 2 +- tools/circt-reduce/Tester.cpp | 2 +- 9 files changed, 13 insertions(+), 11 deletions(-) diff --git a/include/circt/Dialect/FSM/FSMOps.td b/include/circt/Dialect/FSM/FSMOps.td index 68827adbde54..858e77b416bb 100644 --- a/include/circt/Dialect/FSM/FSMOps.td +++ b/include/circt/Dialect/FSM/FSMOps.td @@ -239,7 +239,7 @@ def OutputOp : FSMOp<"output", [HasParent<"StateOp">, ReturnLike, Terminator]> { let arguments = (ins Variadic:$operands); - let builders = [ OpBuilder<(ins), "build($_builder, $_state, llvm::None);"> ]; + let builders = [ OpBuilder<(ins), "build($_builder, $_state, std::nullopt);"> ]; let assemblyFormat = [{ attr-dict ($operands^ `:` qualified(type($operands)))? }]; diff --git a/include/circt/Dialect/HW/HWStructure.td b/include/circt/Dialect/HW/HWStructure.td index 6dd2cb33e45d..a32f64b907dc 100644 --- a/include/circt/Dialect/HW/HWStructure.td +++ b/include/circt/Dialect/HW/HWStructure.td @@ -535,7 +535,7 @@ def OutputOp : HWOp<"output", [Terminator, HasParent<"HWModuleOp">, let arguments = (ins Variadic:$outputs); let builders = [ - OpBuilder<(ins), "build($_builder, $_state, llvm::None);"> + OpBuilder<(ins), "build($_builder, $_state, std::nullopt);"> ]; let assemblyFormat = "attr-dict ($outputs^ `:` qualified(type($outputs)))?"; diff --git a/include/circt/Dialect/Interop/Interop.td b/include/circt/Dialect/Interop/Interop.td index 860cf43a27e5..82f0ae2dd886 100644 --- a/include/circt/Dialect/Interop/Interop.td +++ b/include/circt/Dialect/Interop/Interop.td @@ -204,7 +204,7 @@ def ReturnOp : InteropOp<"return", [ let arguments = (ins Variadic:$returnValues); let builders = [OpBuilder<(ins), [{ - build($_builder, $_state, llvm::None); + build($_builder, $_state, std::nullopt); }]>]; let assemblyFormat = "attr-dict ($returnValues^ `:` type($returnValues))?"; diff --git a/include/circt/Dialect/SystemC/SystemCStructure.td b/include/circt/Dialect/SystemC/SystemCStructure.td index 9473fd58c03a..e90a215dcceb 100644 --- a/include/circt/Dialect/SystemC/SystemCStructure.td +++ b/include/circt/Dialect/SystemC/SystemCStructure.td @@ -477,7 +477,7 @@ def ReturnOp : SystemCOp<"cpp.return", [ let arguments = (ins Variadic:$returnValues); let builders = [OpBuilder<(ins), [{ - build($_builder, $_state, llvm::None); + build($_builder, $_state, std::nullopt); }]>]; let assemblyFormat = "attr-dict ($returnValues^ `:` type($returnValues))?"; diff --git a/lib/Dialect/FIRRTL/FIRRTLUtils.cpp b/lib/Dialect/FIRRTL/FIRRTLUtils.cpp index c8721c382c50..e56557efb170 100644 --- a/lib/Dialect/FIRRTL/FIRRTLUtils.cpp +++ b/lib/Dialect/FIRRTL/FIRRTLUtils.cpp @@ -663,12 +663,12 @@ circt::firrtl::maybeStringToLocation(StringRef spelling, bool skipParsing, unsigned lineNo = 0, columnNo = 0; StringRef filename = decodeLocator(spelling, lineNo, columnNo); if (filename.empty()) - return {false, llvm::None}; + return {false, std::nullopt}; // If info locators are ignored, don't actually apply them. We still do all // the verification above though. if (skipParsing) - return {true, llvm::None}; + return {true, std::nullopt}; /// Return an FileLineColLoc for the specified location, but use a bit of /// caching to reduce thrasing the MLIRContext. diff --git a/lib/Dialect/MSFT/DeviceDB.cpp b/lib/Dialect/MSFT/DeviceDB.cpp index 0d329c368a65..e82674e2d71f 100644 --- a/lib/Dialect/MSFT/DeviceDB.cpp +++ b/lib/Dialect/MSFT/DeviceDB.cpp @@ -379,7 +379,8 @@ void PlacementDB::walkPlacements( // X loop. SmallVector> cols(placements.begin(), placements.end()); - maybeSort(cols, walkOrder.transform([](auto wo) { return wo.columns; })); + maybeSort(cols, llvm::transformOptional(walkOrder, + [](auto wo) { return wo.columns; })); for (auto colF : cols) { size_t x = colF.first; if (x < xmin || x > xmax) @@ -388,7 +389,8 @@ void PlacementDB::walkPlacements( // Y loop. SmallVector> rows(yMap.begin(), yMap.end()); - maybeSort(rows, walkOrder.transform([](auto wo) { return wo.rows; })); + maybeSort(rows, llvm::transformOptional(walkOrder, + [](auto wo) { return wo.rows; })); for (auto rowF : rows) { size_t y = rowF.first; if (y < ymin || y > ymax) diff --git a/lib/Dialect/Moore/MooreTypes.cpp b/lib/Dialect/Moore/MooreTypes.cpp index 4ee88b01c6a6..1508ce44edb2 100644 --- a/lib/Dialect/Moore/MooreTypes.cpp +++ b/lib/Dialect/Moore/MooreTypes.cpp @@ -770,7 +770,7 @@ Optional PackedDim::getRange() const { } Optional PackedDim::getSize() const { - return getRange().transform([](auto r) { return r.size; }); + return llvm::transformOptional(getRange(), [](auto r) { return r.size; }); } const detail::DimStorage *PackedDim::getImpl() const { diff --git a/llvm b/llvm index 53406427cdf4..b6772e6e2045 160000 --- a/llvm +++ b/llvm @@ -1 +1 @@ -Subproject commit 53406427cdf4290986d1a48ea0d582ad195bff15 +Subproject commit b6772e6e2045ab491b41d3767f788250800f97ea diff --git a/tools/circt-reduce/Tester.cpp b/tools/circt-reduce/Tester.cpp index 97662e6677b5..1937a1fb3c19 100644 --- a/tools/circt-reduce/Tester.cpp +++ b/tools/circt-reduce/Tester.cpp @@ -46,7 +46,7 @@ bool Tester::isInteresting(StringRef testCase) const { // Run the tester. std::string errMsg; int result = llvm::sys::ExecuteAndWait( - testScript, testerArgs, /*Env=*/None, /*Redirects=*/None, + testScript, testerArgs, /*Env=*/std::nullopt, /*Redirects=*/std::nullopt, /*SecondsToWait=*/0, /*MemoryLimit=*/0, &errMsg); if (result < 0) llvm::report_fatal_error(