{"push_id":1104051096,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"01a542927d700791ef19fcaa840a8443164512b6","before":"6a6190de10d2a84c1073def7585db92265a3bd73","commits":[{"sha":"01a542927d700791ef19fcaa840a8443164512b6","author":{"email":"71eab3ed3d51db0f4cf11b125aa0a655cfc1b887@gmail.com","name":"Dan Gohman"},"message":"[WebAssembly] Move register stackification and coloring to a late phase.\n\nMove the register stackification and coloring passes to run very late, after\nPEI, tail duplication, and most other passes. This means that all code emitted\nand expanded by those passes is now exposed to these passes. This also\neliminates the need for prologue/epilogue code to be manually stackified,\nwhich significantly simplifies the code.\n\nThis does require running LiveIntervals a second time. It's useful to think\nof these late passes not as late optimization passes, but as a domain-specific\ncompression algorithm based on knowledge of liveness information. It's used to\ncompress the code after all conventional optimizations are complete, which is\nwhy it uses LiveIntervals at a phase when actual optimization passes don't\ntypically need it.\n\nDifferential Revision: http://reviews.llvm.org/D20075\n\n\ngit-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269012 91177308-0d34-0410-b5e6-96231b3b80d8","distinct":true,"url":"https://api.github.com/repos/llvm-project/llvm/commits/01a542927d700791ef19fcaa840a8443164512b6"}]}