As always, lots of goodness went into the compiler. Here are some highlights.
– Constant arrays are now hoisted by default from locals into initialized globals when possible, making their const-ness and reusability more obvious.
– We’ve enabled AppVeyor on pull requests and commits. You’ll see the status on the main readme as well as posts in the pull request comment threads.
– The doc for SPIR-V Codegen is now in. More will come over time to be sure.
– dndxc has a ‘Print all passes‘ option to display diffs and see how each pass affects the code.
– More tests and fixes as usual.
Here’s a quick screenshot of the new pass printing in action. Note that passes that make changes are starred on the left pane, and that prune-eh does, oddly enough, make a change in the IR, by introducing the nounwind attribute (something we could have probably done earlier in any case).