Fix dce
commitb2d15f73bd96bf24763a269eda1219f6a8d0d217
authorMark Williams <mwilliams@fb.com>
Mon, 17 Apr 2017 21:44:22 +0000 (17 14:44 -0700)
committerHhvm Bot <hhvm-bot@users.noreply.github.com>
Mon, 17 Apr 2017 21:57:45 +0000 (17 14:57 -0700)
tree0b6815c41897ed116f8af704ec0cb662f9e896f7
parent65196cad8ce92f5c3b749a6fe5c0ff1e244a363e
Fix dce

Summary:
While refactoring some of the dce code in D4816792 I lost an important
check, which meant we didn't re-analyze predecessor blocks when their
output state changed. Everything still worked (somewhat by luck) until
I made a last minute simplification to the forcedUpdate code
(previously it checked predecessors directly, and I changed it to
reprocess the block instead; which made it rely on the broken code for
correctness).

Reviewed By: ricklavoie

Differential Revision: D4899803

fbshipit-source-id: bdf7701b8304db51e68935d7727925523432f24e
hphp/hhbbc/dce.cpp
hphp/test/slow/hhbbc/dce_006.php [new file with mode: 0644]
hphp/test/slow/hhbbc/dce_006.php.expect [new file with mode: 0644]