payload: {"push_id":3878014696,"size":1,"distinct_size":1,"ref":"refs/heads/bjorn/compiler/fix-slow-beam_ssa_dead/ERL-1014","head":"1b3df71de30ea4285c8ee353f69f201bdde459d8","before":"ab1a7d2868a20864dc4d6b9656b46ea310dff448","commits":[{"sha":"1b3df71de30ea4285c8ee353f69f201bdde459d8","author":{"name":"Björn Gustavsson","email":"8a2957e0063f2abf61bd145b6236a74a3708ac54@erlang.org"},"message":"Avoid extremely long compilation times for huge functions\n\nCompiling this example takes less than a second for OTP 21:\n\n    -define(B, {?A,?A,?A,?A,?A}).\n    -define(C, {?B,?B,?B,?B,?B}).\n    -define(D, {?C,?C,?C,?C,?C}).\n    -define(E, {?D,?D,?D}).\n\n    f() -> ?E = foo:bar().\n\nThe compilation time for OTP 22 is about 10 seconds. Most of the\ntime is spent in the beam_ssa_dead sub pass.\n\nThis commit introduces several optimizations to bring the compilation\ntime down to about a second.\n\nThe most important of those optimizations is limiting the effort spent\nsearching forward for a joining point for the success and failure\nlabels for a two-way branch. This change is helped by the change of\nrepresentation of variable sets from `ordset` to `cerl_sets`.\n\nhttps://bugs.erlang.org/browse/ERL-1014","distinct":true,"url":"https://api.github.com/repos/bjorng/otp/commits/1b3df71de30ea4285c8ee353f69f201bdde459d8"}]}
other: {"actor":{"display_login":"bjorng"}}