Delete Check* -> Jmp shortcut in preOptimizeCheckLocation()
commitd5e894af58acc19dded5fbcff83076c7420fbebf
authorMax Wang <mwang@fb.com>
Fri, 4 Nov 2016 18:14:20 +0000 (4 11:14 -0700)
committerHhvm Bot <hhvm-bot-bot@fb.com>
Fri, 4 Nov 2016 18:35:30 +0000 (4 11:35 -0700)
tree7525e151064ddcf3b3df09b84cb25da62ce577b4
parent05608721cd308b3a89aaa1be6ca17d154ccb209f
Delete Check* -> Jmp shortcut in preOptimizeCheckLocation()

Summary:
We expect that the type of the location or value is appropriately
refined after we gen any Check* instruction, but this optimization makes
it not so.  This should already be covered by load-elim, so just stop
doing it here.

This causes us to produce more TBottoms than before, which we handle
gracefully except for some asserts, which are also amended in this diff.

Reviewed By: swtaarrs

Differential Revision: D4123864

fbshipit-source-id: 25593f73c1b86202ac65fbc8f3bbc4f4d21d4b08
hphp/runtime/vm/jit/frame-state.cpp
hphp/runtime/vm/jit/ir-builder.cpp
hphp/runtime/vm/jit/irgen-builtin.cpp