-
Notifications
You must be signed in to change notification settings - Fork 212
Open
Labels
dslxDSLX (domain specific language) implementation / front-endDSLX (domain specific language) implementation / front-enddslx:TIv2Bugs related to Type Inference v2Bugs related to Type Inference v2
Description
Describe the bug
I tried for a while to fix this but want to document since I think I have to put it down for a bit -- the following crashes in IR conversion:
fn f() { assert_eq(1, u32:32) }
Because at IR conversion time it sees u1
, u32
in the type info -- this seems incorrect as TIv2 should be creating a single type variable for both operands that has constraints placed on it, since the signature is (T, T) -> ()
i.e. the constraints to the LHS and RHS should be unified and the concretization would then be identical
Right now you get an error like:
libc++abi: terminating due to uncaught exception of type absl::lts_20250512::BadStatusOrAccess: Bad StatusOr access: INVALID_ARGUMENT: Could not build IR: Expected operand 1 of eq.5 to have type bits[1], has type bits[32].
Stack Trace:
0x1042af2f4: xls::BuilderBase::CreateBValue()
0x1042b9548: xls::BuilderBase::AddNode<>()
0x1042b6920: xls::BuilderBase::AddCompareOp()
0x1042b16e8: xls::BuilderBase::Eq()
0x102e8dae4: xls::dslx::FunctionConverter::HandleAssertEqBuiltin()
0x102e8f78c: xls::dslx::FunctionConverter::HandleInvocation()
0x102e7499c: xls::dslx::FunctionConverterVisitor::Visit()
0x102eb4b78: std::__1::__variant_detail::__visitation::__base::__dispatcher<>::__dispatch[abi:ne190102]<>()
0x102ea9834: xls::dslx::FunctionConverter::HandleStatement()
0x102e7499c: xls::dslx::FunctionConverterVisitor::Visit()
0x102ea9468: xls::dslx::FunctionConverter::HandleStatementBlock()
0x102e7499c: xls::dslx::FunctionConverterVisitor::Visit()
0x102e9f208: xls::dslx::FunctionConverter::HandleFunction()
0x102e6da1c: xls::dslx::(anonymous namespace)::ConvertCallGraph()
0x102e6c580: xls::dslx::ConvertModuleIntoPackage()
0x102e6eed0: xls::dslx::ConvertModuleToPackage()
0x102e5c70c: xls::dslx::AbstractTestRunner::ParseAndTest()
0x102e37490: main
0x19694ab98: start
Metadata
Metadata
Assignees
Labels
dslxDSLX (domain specific language) implementation / front-endDSLX (domain specific language) implementation / front-enddslx:TIv2Bugs related to Type Inference v2Bugs related to Type Inference v2
Type
Projects
Status
No status