The keynote speaker at CGO 2012 (Chris Lattner, LLVM) put some crazy thoughts into my head.
Want compiler to know about:
memory disjointness aliasing Usage of data structures (array of struct vs struct of arrays) whether arithmetic is done on a pointer (and the bounds) invariants (in loops and between methods)
A language needs to […]