-
Notifications
You must be signed in to change notification settings - Fork 613
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[binder] Implement OM #3626
[binder] Implement OM #3626
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Map and tuple is removed.
Rebased to the main branch for changes in #3627. Map and tuple supports are removed now. |
val obj = evaluator.instantiate("PropertyTest_Class", Seq(om.newBasePathEmpty)) | ||
val path = obj.field("p").asInstanceOf[PanamaCIRCTOMEvaluatorValuePath].asString | ||
|
||
assert(path == "OMReferenceTarget:~PropertyTest|PropertyTest>i") | ||
|
||
converter.mlirStream | ||
}) should include("om.class.field @p") | ||
.and(include("om.class.field @a, %3 : !om.list<!om.list<!om.integer>>")) | ||
.and(include("om.class.field @b, %3 : !om.list<!om.list<!om.integer>>")) | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good first try
This PR depends on llvm/circt#6413 for the property types API. |
81c8cda
to
5d7e59a
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
From a design perspective, this PR lgtm, wait for circt next version to get it in.
rebase it plz. |
05ea3f6
to
1e6e043
Compare
bd81f82
to
df76b08
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Due to #3627, Corresponding C-API should be removed in CIRCT, please CIRCT to remove them to reduce the C-API size.
omTypeIsAMapType | ||
omMapTypeGetKeyType |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Map and Tuple are removed in #3627, please make sure.
omEvaluatorMapGetElement | ||
omEvaluatorMapGetKeys | ||
omEvaluatorValueIsAMap | ||
omEvaluatorMapGetType |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Map and Tuple are removed in #3627, please make sure.
# MapAttr API | ||
omAttrIsAMapAttr | ||
omMapAttrGetNumElements | ||
omMapAttrGetElementKey | ||
omMapAttrGetElementValue |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Map and Tuple are removed in #3627, please make sure.
omEvaluatorValueIsATuple | ||
omEvaluatorTupleGetNumElements | ||
omEvaluatorTupleGetElement |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Map and Tuple are removed in #3627, please make sure.
They are not the same thing, explained here #3626 (comment). |
I'd like to merge this commit, but @SpriteOvO need to do some clean up in CIRCT. We are maintaining a lot of C-APIs in the binder, we need to clean up the unused APIs |
Interesting. |
This PR is still working in progress, we will update more details once it is ready for review.