vast
vast copied to clipboard
Forward Typedefs
Allow use of a typedef in an mlir document without defining it in that mlir document
- how this means having some kind of underlying type mapping/sizing/something for it maybe type aliases are actually special, though, maybe I can relax on them not needing definitions but I'd like to be able to use them as if they were does a "hinted sizeof" and "hinted alignof" make sense?
- it's a symbolic expression with a hinted concrete value
- from an api standpoint, any time a (re)definition type if synthesized, I'd want to know an alternative, wholly crazy notion, could be that we abstract structure field access entirely by function call, but I can see how that would also be a big ask, and not necessarily any better
- though field access by function call would have some desirable lowering and provenance-maintenance properties specifically, field access would operate on an opaque pointer, and so we could lower down to the llvm-like levels, where we lose the true "structure" of a structure, but more accurately maintain the access patterns
- it'd also be interesting from an defs/use perspective of "finding everywhere a field is accessed" unless there is a way of using some kind of token value in place of a gep index like llvm does it?