Improve memory effects for inlining instructions
commit37e4b35abb2a72ee9180413809d8903699d26db0
authorPaul Bissonnette <paulbiss@fb.com>
Mon, 6 May 2019 17:42:48 +0000 (6 10:42 -0700)
committerHhvm Bot <hhvm-bot@users.noreply.github.com>
Mon, 6 May 2019 18:06:07 +0000 (6 11:06 -0700)
treea62fc5588c28b9513970de3d4317f4f1e2372253
parent2c2538a350952011e3ff624bfdde0aa5ff32f610
Improve memory effects for inlining instructions

Summary: I have a few more ideas for improving store-elim/load-elim leveraging the custom memory effects types for DefInlineFP/InlineReturn. I've noticed that even though we try to eliminate the frame entirely sometimes the memory effects for DefInlineFP and InlineReturn can mess with load/store elim in ways that prevent instructions that pin the frame from being elided.

Reviewed By: ricklavoie

Differential Revision: D15215193

fbshipit-source-id: 38637e25a44143ea1541cc121c3d37c68d891462
hphp/runtime/vm/jit/alias-analysis.cpp
hphp/runtime/vm/jit/frame-state.cpp
hphp/runtime/vm/jit/irgen-inlining.cpp
hphp/runtime/vm/jit/licm.cpp
hphp/runtime/vm/jit/load-elim.cpp
hphp/runtime/vm/jit/memory-effects.cpp
hphp/runtime/vm/jit/memory-effects.h
hphp/runtime/vm/jit/refcount-opts.cpp
hphp/runtime/vm/jit/store-elim.cpp