Fix DefInlineFP use update leak via InlineSuspend
Summary:
If there is a path from an InlineSuspend to its corresponding DefInlineFP, e.g.
because the caller calls the inlined callee in a loop, when pdce-inliner would
try to sink DefInlineFP out of the main blocks, it would try to recursively
update its uses, crossing InlineSuspend, reaching DefInlineFP and incorrectly
update main blocks with the newly defined DefInlineFP in its successors. Then
we would crash on attempts to unify FP.
Avoid this issue by not propagating the new FP beyond InlineSuspend opcodes.
Reviewed By: ricklavoie
Differential Revision:
D10318321
fbshipit-source-id:
594b0ee41554c450c5bab8748c96b6a7d6a3dc31