Make comparison IR ops layout agnostic
Summary:
Make comparison IR ops layout-agnostic by dispatching to the generic ArrayData helper. These ops are relatively cold in strobelight, so we anticipate a negligible perf impact. This allows us to mark the associated bytecodes as layout-agnostic.
To preserve optimizations, keyset comparisons (which do not reenter or throw) are explicitly flagged to still allow DCE and similar optimizations.
Furthermore, the Vec comparison helpers have been removed, and the ArrayData ones have been updated to account for the inconsistent vec/varray comparison behavior until it's migrated safely.
Differential Revision:
D23588960
fbshipit-source-id:
88a0b4c08cbe9f64a14e2e26a374db179957cd1c