terralang / terra

Terra is a low-level system programming language that is embedded in and meta-programmed by the Lua programming language.
terralang.org
Other
2.71k stars 197 forks source link

Modernize use of LLVM pointer types #639

Closed elliottslaughter closed 11 months ago

elliottslaughter commented 12 months ago

This is the first part of the migration toward opaque pointers (#553). Starting with the easy cases, I'm trying to reduce the compiler's reliance on looking up pointee types. But this PR may not get 100% of all the cases.

elliottslaughter commented 11 months ago

Ok, I think that's all the easy cases. Everything else either (a) becomes superfluous once pointer types are removed (i.e., there will be no more bitcasts, so it doesn't matter what we bitcast to), or (b) is more challenging (i.e., I need to figure out how to get types safely out of Clang without them being pruned).