> LLVM IL is more cluttered with type annotations and casts.
With LLVM moving to typeless pointers[1], this will be less true in the future than it is now.
[1] https://groups.google.com/forum/#!topic/llvm-dev/vphBegBWyyE
> LLVM IL is more cluttered with type annotations and casts.
With LLVM moving to typeless pointers[1], this will be less true in the future than it is now.
[1] https://groups.google.com/forum/#!topic/llvm-dev/vphBegBWyyE
Nothing is stopping you from writing LLVM that doesn't use types though! That's entirely a front end decision. If you wanted to, in your front end, you could never emit record or array types and do book keeping on cells in memory entirely on your own using pointer arithmetic / pointertoint / inttopointer. Doing so is entirely at the expense of the speed of the generated code though!
Casts are evil: they break aliasing analysis, they screw up address spaces, they break more advanced forms of vectorisation (like polyhedral analysis), etc.