Comments (3)
It is expected in our implementation; I'm genuinely not sure if this is expected in MLIR's implementation on the top of my head.
The former example:
"qssa.mytest"()<{test = !llvm.array<2xi32>}>: () -> ()
Is in generic syntax, so expects fully qualified attributes as above.
The latter:
qssa.mytest <2 x i32>
Is in custom syntax inferred by the declarative syntax framework.
The logic is, because you constraint the attribute in a way that we can infer it is an !llvm.array
, it just elides the name in custom syntax.
So:
- As long as it roundtrips (parses and prints correctly between both syntax, i.e, always keep representing the same thing and not erroring), yes, it is the expected behaviour
- If you really want the fully qualified version to be used in declarative assembly syntax, MLIR's way is to have
qualified($test)
instead of just$test
in your syntax, to enforce it; but this is not implemented yet in xDSL; but shouldn't be a big deal
For the record, I agree that the resulting syntax here is weird to read ahah - but I think it might be functionally correct
If you want qualified
implemented in xDSL's declarative syntax, let's open a dedicated issue?
Also, could you then ping me again here or there? I'm not following all issues 😅
from xdsl.
It makes sense that the attribute name can always be inferred here, it just seemed strange that this was the output to me. I have no need for the qualified flag so I'll close the issue for now
from xdsl.
@PapyChacal, is this expected?
from xdsl.
Related Issues (20)
- transformations: (dmp) Update `stencil_global_to_local.py` to match `stencil.ExternalLoadOp`
- backend: (csl) Add remaining missing features for code demo
- core: Meditate on the attribute names situation. HOT 1
- arith: Missing `fastmath` property on `arith.cmpf`
- memref: Missing `reinterpret_cast`
- Missing custom syntax for `math.exp`
- epic, backend: (risc-v) Lowering NsNet2 IREE kernels
- Pyright: Update from 1.345 HOT 1
- Toy example tests fail locally HOT 2
- backend: (risc-v) `IndexError` when translating a `memref` with non-identity strides HOT 1
- Tests on main fail without mlir installed
- testing: marimo tests should run all tests and report all that fail, not stop at first one
- Type Conversion of function arguments HOT 1
- Precision limit in xDSL output HOT 1
- Wrong values on large dense arrays after xdsl-opt HOT 2
- remove zero return in riscv_snitch config ops
- dialects: merge snitch dialects HOT 3
- Add `_stream` suffix when creating stream block arguments in memref-streamify pass
- Split `linalg.generic` attributes over multiple lines in custom syntax.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from xdsl.