Deleted instructions don't do anything
commit12e46a006d731c8a79a99049e770a60a126fd8a0
authorMark Williams <mwilliams@fb.com>
Fri, 17 Mar 2017 21:57:40 +0000 (17 14:57 -0700)
committerHhvm Bot <hhvm-bot@users.noreply.github.com>
Mon, 20 Mar 2017 23:32:56 +0000 (20 16:32 -0700)
treef270f94117ebf9dad70196bc4a59636319f85932
parent5bf38b7c2e33d0bf98ef11080e375ec3411d9dc9
Deleted instructions don't do anything

Summary:
Even after D4716282 I was seeing SetLs that appeared to be dead, but
weren't deleted. I noticed that CGetL called AddLocGen even when it
was going to be removed - so stop doing that. Auditing the rest of the
AddLocGens turned up one more case.

There are still a few places where we are probably going to delete the
instruction, but have to mark its effects anyway, just in case.

I have more dce diffs that will hopefully give us a way to deal with
that.

Reviewed By: ricklavoie

Differential Revision: D4728909

fbshipit-source-id: c33e812fe4d59090e5bcbcd750b433132154ff28
hphp/hhbbc/dce.cpp