3 ms·
IR changes are not that significant. I followed LLVM from nearly the very beginning, and very rarely I was forced to amend something to keep up with the change.
by sklogic 11y ago
IR changes are not that significant. I followed LLVM from nearly the very beginning, and very rarely I was forced to amend something to keep up with the change. The biggest thing in the few past releases was the change in metadata (which got its own class hierarchy, separate from the values).
The very amount of tests in the LLVM source tree ensures that nobody will be motivated to do any significant change unless it is really, really needed, otherwise you'd be forced to do a lot of painful work to update all the tests.
Also, compiling to C pretty much rules out having a REPL for free and all the other fun, while with LLVM it's trivial.
- azakai 11y agoAside from metadata, some other large changes that have been going on are * the removal of pointer types (still happening) * the use/user flip In my experience these have been significant in the amount of work it takes to track.
- sklogic 11y agoBoth were not that big - at least not for the C API and text IR users. Worse for the C++ users, obviously, but that was never promised to stay stable and not covered by such a huge number of tests to deter any breaking changes.
- azakai 11y agoAgreed that using the C API can be easier. But for text IR though, the changes were extensive. Scripts were provided that helped, but still, it was a bunch of work to add types/remove types due to the pointer types changes.