diff --git a/lib/Dialect/FIRRTL/Import/FIRParser.cpp b/lib/Dialect/FIRRTL/Import/FIRParser.cpp index ce4dc3a2ff6d..003e9ca98b5d 100644 --- a/lib/Dialect/FIRRTL/Import/FIRParser.cpp +++ b/lib/Dialect/FIRRTL/Import/FIRParser.cpp @@ -2429,11 +2429,6 @@ ParseResult FIRStmtParser::parseProbe(Value &result) { staticRef.getDefiningOp())) return emitError(startTok.getLoc(), "cannot probe memories or their ports"); - // TODO: Once PR 4801 lands, remove this. - if (!cast(staticRef.getType()).isPassive()) - return emitError(startTok.getLoc(), - "probe of non-passive types not yet supported"); - result = builder.create(staticRef); return success(); @@ -2468,11 +2463,6 @@ ParseResult FIRStmtParser::parseRWProbe(Value &result) { staticRef.getDefiningOp())) return emitError(startTok.getLoc(), "cannot probe memories or their ports"); - // TODO: Once PR 4801 lands, remove this. - if (!cast(staticRef.getType()).isPassive()) - return emitError(startTok.getLoc(), - "probe of non-passive types not yet supported"); - result = builder.create(staticRef); return success(); diff --git a/test/Dialect/FIRRTL/parse-basic.fir b/test/Dialect/FIRRTL/parse-basic.fir index e91bf18faae2..5120a9ee1f13 100644 --- a/test/Dialect/FIRRTL/parse-basic.fir +++ b/test/Dialect/FIRRTL/parse-basic.fir @@ -1197,10 +1197,10 @@ circuit MyModule : ; CHECK: firrtl.circuit "MyModule" { out <= read(rc.rw) ; ref.sub parsing - ; CHECK-DAG: %[[AGG:.+]] = firrtl.wire interesting_name : !firrtl.bundle, b: uint> - ; CHECK-DAG: %[[AGG2:.+]] = firrtl.wire interesting_name : !firrtl.bundle> - wire agg : { a : UInt<1>, b : UInt } - wire agg2 : { a : UInt, b : UInt<1> } + ; CHECK-DAG: %[[AGG:.+]] = firrtl.wire interesting_name : !firrtl.bundle, b: uint> + ; CHECK-DAG: %[[AGG2:.+]] = firrtl.wire interesting_name : !firrtl.bundle> + wire agg : { flip a : UInt<1>, b : UInt } + wire agg2 : { a : UInt, flip b : UInt<1> } ; CHECK-DAG: %[[AGG_B:.+]] = firrtl.subfield %[[AGG]][b] ; CHECK-DAG: %[[AGG_B_PROBE:.+]] = firrtl.ref.send %[[AGG_B]] ; CHECK-DAG: %[[READ_AGG_B_PROBE:.+]] = firrtl.ref.resolve %[[AGG_B_PROBE]] diff --git a/test/Dialect/FIRRTL/parse-errors.fir b/test/Dialect/FIRRTL/parse-errors.fir index f901e4fb449b..5e8522bd53e7 100644 --- a/test/Dialect/FIRRTL/parse-errors.fir +++ b/test/Dialect/FIRRTL/parse-errors.fir @@ -550,11 +550,3 @@ circuit DefineWidths: output p : Probe define p = probe(in) ; expected-error {{may not connect different non-base types}} -;// ----- - -; This should be supported, needs internal support to land first. -circuit ProbeNonPassive: - module ProbeNonPassive: - input in : {a: UInt<1>, flip b: UInt<1>} - output p : Probe<{a: UInt<1>, b: UInt<1>}> - define p = probe(in) ; expected-error {{probe of non-passive types not yet supported}}