-
Notifications
You must be signed in to change notification settings - Fork 10
Refactor and clean IR
module
#62
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
Conversation
`mlirLogicalResult*` functions in the C-API are header-only
The Brutus example works now with this PR on both Julia 1.10 and 1.11 |
Codecov ReportAttention: Patch coverage is
❗ Your organization needs to install the Codecov GitHub app to enable full functionality. Additional details and impacted files@@ Coverage Diff @@
## main #62 +/- ##
========================================
+ Coverage 0.84% 2.72% +1.87%
========================================
Files 107 125 +18
Lines 27916 28525 +609
========================================
+ Hits 236 777 +541
- Misses 27680 27748 +68 ☔ View full report in Codecov by Sentry. |
I've refactored the
IR
module so it's easier to maintain and read. I have renamed some functions for more Julia-like names. Also, I have added some missing methods inIR
which use functionality from the C-API.One of the biggest changes is that I've renamed
MLIRType
toType
. I found out that if we useCore.Type
inside theIR
module instead of the implicitType
, then there is no symbol clash. In order to avoid other clashes, this type is not exported so we need to access it likeMLIR.IR.Type
.Some of these changes are opinionated, some of them not. Please, tell me your opinion.
New features
Identifier
,SymbolTable
,IntegerSet
,AffineExpr
,AffineMap
typesMLIRType
renamed toType
with no clash withCore.Type
To do
Type
Attribute
@affinemap
Affine map util #35To do list for other PRs
simplify(::AffineMap)
MemRefDescriptor
Attribute
s:StridedLayout
ResourceElementsAttr