HomePhabricator

[ImplicitNullCheck] Handle instructions that preserve zero value

Authored by anna on Sep 10 2020, 10:14 AM.

Description

[ImplicitNullCheck] Handle instructions that preserve zero value

This is the first in a series of patches to make implicit null checks
more general. This patch identifies instructions that preserves zero
value of a register and considers that as a valid instruction to hoist
along with the faulting load. See added testcases.

Reviewed-By: reames, dantrushin

Differential Revision: https://reviews.llvm.org/D87108