Convert cgUnboxPtr to SSA

Summary: Introduce cond() for generating if/then/else blocks that produce
one value with a phidef{} instruction. Use it to make UnboxPtr
emit SSA-style code.

Reviewed By: @alexmalyshev

Differential Revision: D1568368
Convert cgCountArray to SSA

Summary: Introduce unlikelyCond() for generating if/then/else blocks
where the "true" case is unlikely. Use it for cgCountArray().

Reviewed By: @alexmalyshev

Differential Revision: D1568375
Convert cgInstanceOf() and cgLdClsCtx() to SSA

Reviewed By: @alexmalyshev

Differential Revision: D1568392
convert cgConvDblToInt() and cgConvObjToBool to SSA

Reviewed By: @alexmalyshev

Differential Revision: D1568404
Convert LdFuncCachedCommon() and LdClsCachedCommon() to SSA

Reviewed By: @alexmalyshev

Differential Revision: D1568449
Fix crash in inferTypes

Summary: When we clear m_propSym we need to clear m_propSymValid

Reviewed By: @jdelong

Differential Revision: D1568567
Remove clang warning suppressions, and fix fallout

Summary: We were suppressing various clang warnings. Mostly harmless
fixes. I think the pdo one was a real buffer overrun waiting to happen.

Reviewed By: @edwinsmith, @bertmaher

Differential Revision: D1566241
Delete unused preprocessor.ml

Reviewed By: @elgenie

Differential Revision: D1568390
Better management of g_context

Summary: Avoid destroying g_context twice per request.
Leave it null between requests.
Verify that there are no smart slabs allocated when a thread is flushed

Reviewed By: @jdelong

Differential Revision: D1559352
Replace calls to is_a with instanceof at IR gen time

Summary: These are equivalent in behavior; the PHP docs for is_a actually say you
should use instanceof instead.

Reviewed By: @edwinsmith

Differential Revision: D1556806
convert mbstring to hni

Summary: fixes #3675

Reviewed By: @ptarjan

Differential Revision: D1543361
Support zlib.output_compression_level option in set_ini

Summary: See previous discussion in post https://fburl.com/48881545 and D1547385, we want to experiment with different gzip compression level to see the impact on client.

Cowardly defered implementation for other zlib options as I'm noob to hhvm.

Reviewed By: @markw65

Differential Revision: D1558813