diff --git a/.gitmodules b/.gitmodules index da83380c05..8a26989566 100644 --- a/.gitmodules +++ b/.gitmodules @@ -2,3 +2,4 @@ path = llvm url = https://github.com/llvm/llvm-project.git shallow = true + branch = main diff --git a/include/circt-c/Dialect/Comb.h b/include/circt-c/Dialect/Comb.h index 9e1ba222ad..90fcf4a277 100644 --- a/include/circt-c/Dialect/Comb.h +++ b/include/circt-c/Dialect/Comb.h @@ -11,7 +11,7 @@ #ifndef CIRCT_C_DIALECT_COMB_H #define CIRCT_C_DIALECT_COMB_H -#include "mlir-c/Registration.h" +#include "mlir-c/IR.h" #ifdef __cplusplus extern "C" { diff --git a/include/circt-c/Dialect/ESI.h b/include/circt-c/Dialect/ESI.h index 973ec0c73c..0faf2fe16f 100644 --- a/include/circt-c/Dialect/ESI.h +++ b/include/circt-c/Dialect/ESI.h @@ -11,7 +11,7 @@ #ifndef CIRCT_C_DIALECT_ESI_H #define CIRCT_C_DIALECT_ESI_H -#include "mlir-c/Registration.h" +#include "mlir-c/IR.h" #ifdef __cplusplus extern "C" { diff --git a/include/circt-c/Dialect/FSM.h b/include/circt-c/Dialect/FSM.h index 57f2086288..772c6508bd 100644 --- a/include/circt-c/Dialect/FSM.h +++ b/include/circt-c/Dialect/FSM.h @@ -11,7 +11,7 @@ #ifndef CIRCT_C_DIALECT_FSM_H #define CIRCT_C_DIALECT_FSM_H -#include "mlir-c/Registration.h" +#include "mlir-c/IR.h" #ifdef __cplusplus extern "C" { diff --git a/include/circt-c/Dialect/HW.h b/include/circt-c/Dialect/HW.h index 49d0fa5e3d..c0396083fc 100644 --- a/include/circt-c/Dialect/HW.h +++ b/include/circt-c/Dialect/HW.h @@ -18,7 +18,6 @@ #define CIRCT_C_DIALECT_HW_H #include "mlir-c/IR.h" -#include "mlir-c/Registration.h" #ifdef __cplusplus extern "C" { diff --git a/include/circt-c/Dialect/LLHD.h b/include/circt-c/Dialect/LLHD.h index 9462dd4abb..5b196e822d 100644 --- a/include/circt-c/Dialect/LLHD.h +++ b/include/circt-c/Dialect/LLHD.h @@ -9,7 +9,7 @@ #ifndef CIRCT_C_DIALECT_LLHD_H #define CIRCT_C_DIALECT_LLHD_H -#include "mlir-c/Registration.h" +#include "mlir-c/IR.h" #ifdef __cplusplus extern "C" { diff --git a/include/circt-c/Dialect/MSFT.h b/include/circt-c/Dialect/MSFT.h index fc65ca03b9..8419792044 100644 --- a/include/circt-c/Dialect/MSFT.h +++ b/include/circt-c/Dialect/MSFT.h @@ -14,7 +14,6 @@ #include "circt/Dialect/MSFT/MSFTDialect.h" #include "mlir-c/IR.h" #include "mlir-c/Pass.h" -#include "mlir-c/Registration.h" #ifdef __cplusplus extern "C" { diff --git a/include/circt-c/Dialect/Moore.h b/include/circt-c/Dialect/Moore.h index ea57af4140..e51a03b8a5 100644 --- a/include/circt-c/Dialect/Moore.h +++ b/include/circt-c/Dialect/Moore.h @@ -9,7 +9,7 @@ #ifndef CIRCT_C_DIALECT_MOORE_H #define CIRCT_C_DIALECT_MOORE_H -#include "mlir-c/Registration.h" +#include "mlir-c/IR.h" #ifdef __cplusplus extern "C" { diff --git a/include/circt-c/Dialect/SV.h b/include/circt-c/Dialect/SV.h index d27af258bc..08b52d4a86 100644 --- a/include/circt-c/Dialect/SV.h +++ b/include/circt-c/Dialect/SV.h @@ -11,7 +11,7 @@ #ifndef CIRCT_C_DIALECT_SV_H #define CIRCT_C_DIALECT_SV_H -#include "mlir-c/Registration.h" +#include "mlir-c/IR.h" #ifdef __cplusplus extern "C" { diff --git a/include/circt-c/Dialect/Seq.h b/include/circt-c/Dialect/Seq.h index 6ba02ac566..268fd6fa51 100644 --- a/include/circt-c/Dialect/Seq.h +++ b/include/circt-c/Dialect/Seq.h @@ -11,7 +11,7 @@ #ifndef CIRCT_C_DIALECT_SEQ_H #define CIRCT_C_DIALECT_SEQ_H -#include "mlir-c/Registration.h" +#include "mlir-c/IR.h" #ifdef __cplusplus extern "C" { diff --git a/include/circt/Dialect/SV/SVTypeDecl.td b/include/circt/Dialect/SV/SVTypeDecl.td index 407d0a9c1d..51237d4488 100644 --- a/include/circt/Dialect/SV/SVTypeDecl.td +++ b/include/circt/Dialect/SV/SVTypeDecl.td @@ -130,7 +130,7 @@ class SV_Attr traits = []> def ModportStruct : SV_Attr<"ModportStruct", "mod_port"> { let parameters = (ins - ModportDirectionAttr:$direction, + "::circt::sv::ModportDirectionAttr":$direction, "mlir::FlatSymbolRefAttr":$signal); let assemblyFormat = "`<` struct(params) `>`"; diff --git a/lib/Bindings/Python/CIRCTModule.cpp b/lib/Bindings/Python/CIRCTModule.cpp index 0f85fa380b..0212faba77 100644 --- a/lib/Bindings/Python/CIRCTModule.cpp +++ b/lib/Bindings/Python/CIRCTModule.cpp @@ -18,7 +18,7 @@ #include "circt-c/Dialect/Seq.h" #include "circt-c/ExportVerilog.h" #include "mlir-c/Bindings/Python/Interop.h" -#include "mlir-c/Registration.h" +#include "mlir-c/IR.h" #include "mlir/Bindings/Python/PybindAdaptors.h" #include "llvm-c/ErrorHandling.h" diff --git a/lib/Dialect/HW/HWAttributes.cpp b/lib/Dialect/HW/HWAttributes.cpp index fed90aa164..f07a5ea7b2 100644 --- a/lib/Dialect/HW/HWAttributes.cpp +++ b/lib/Dialect/HW/HWAttributes.cpp @@ -43,9 +43,7 @@ void HWDialect::registerAttributes() { Attribute HWDialect::parseAttribute(DialectAsmParser &p, Type type) const { StringRef attrName; Attribute attr; - if (p.parseKeyword(&attrName)) - return Attribute(); - auto parseResult = generatedAttributeParser(p, attrName, type, attr); + auto parseResult = generatedAttributeParser(p, &attrName, type, attr); if (parseResult.hasValue()) return attr; diff --git a/lib/Dialect/HW/HWTypes.cpp b/lib/Dialect/HW/HWTypes.cpp index 1c6c27280c..4075b87ef0 100644 --- a/lib/Dialect/HW/HWTypes.cpp +++ b/lib/Dialect/HW/HWTypes.cpp @@ -171,9 +171,7 @@ static ParseResult parseHWElementType(Type &result, AsmParser &p) { typeString.startswith("uarray<") || typeString.startswith("struct<") || typeString.startswith("typealias<") || typeString.startswith("int<")) { llvm::StringRef mnemonic; - if (p.parseKeyword(&mnemonic)) - llvm_unreachable("should have an array or inout keyword here"); - auto parseResult = generatedTypeParser(p, mnemonic, result); + auto parseResult = generatedTypeParser(p, &mnemonic, result); return parseResult.hasValue() ? success() : failure(); } diff --git a/lib/Dialect/Moore/MooreTypes.cpp b/lib/Dialect/Moore/MooreTypes.cpp index a388210267..2574bfa2ad 100644 --- a/lib/Dialect/Moore/MooreTypes.cpp +++ b/lib/Dialect/Moore/MooreTypes.cpp @@ -1549,10 +1549,7 @@ static ParseResult parseMooreType(DialectAsmParser &parser, Subset subset, Type &type) { llvm::SMLoc loc = parser.getCurrentLocation(); StringRef mnemonic; - if (parser.parseKeyword(&mnemonic)) - return failure(); - - OptionalParseResult result = generatedTypeParser(parser, mnemonic, type); + OptionalParseResult result = generatedTypeParser(parser, &mnemonic, type); if (result.hasValue()) return result.getValue(); diff --git a/llvm b/llvm index dd74d3117d..bd228a1772 160000 --- a/llvm +++ b/llvm @@ -1 +1 @@ -Subproject commit dd74d3117de0fd96383beeb4b4b913efcb9f4328 +Subproject commit bd228a17727ec0f51f8606bbcfb4fe65aebbd0dd diff --git a/test/CAPI/CMakeLists.txt b/test/CAPI/CMakeLists.txt index 4d8ed7097b..a9a8177865 100644 --- a/test/CAPI/CMakeLists.txt +++ b/test/CAPI/CMakeLists.txt @@ -8,7 +8,6 @@ target_link_libraries(circt-capi-ir-test PRIVATE ${dialect_libs} - MLIRCAPIRegistration CIRCTCAPIComb CIRCTCAPIHW CIRCTCAPISeq diff --git a/test/CAPI/ir.c b/test/CAPI/ir.c index 7f38f6700d..e1d13f121d 100644 --- a/test/CAPI/ir.c +++ b/test/CAPI/ir.c @@ -17,7 +17,7 @@ #include "mlir-c/AffineMap.h" #include "mlir-c/BuiltinTypes.h" #include "mlir-c/Diagnostics.h" -#include "mlir-c/Registration.h" +#include "mlir-c/IR.h" #include #include diff --git a/test/Dialect/FIRRTL/parse-errors.fir b/test/Dialect/FIRRTL/parse-errors.fir index 52cdb04eb1..02ddfa41f6 100644 --- a/test/Dialect/FIRRTL/parse-errors.fir +++ b/test/Dialect/FIRRTL/parse-errors.fir @@ -133,7 +133,7 @@ circuit invalid_bits : module invalid_bits: input a: UInt<8> output b: UInt<4> - ; expected-error@+1 {{high must be equal or greater than low, but got high = 4, low = 7}}; + ; expected-error @+1 {{high must be equal or greater than low, but got high = 4, low = 7}} b <= bits(a, 4, 7) ;// -----