[ImplicitNullChecks] Work with implicit defs.
authorSanjoy Das <sanjoy@playingwithpointers.com>
Mon, 20 Jul 2015 20:31:39 +0000 (20:31 +0000)
committerSanjoy Das <sanjoy@playingwithpointers.com>
Mon, 20 Jul 2015 20:31:39 +0000 (20:31 +0000)
commita4b0d863f94612ce83fd9cae7143e24adb67f668
treef0f714cfca1da291de5900a2ec69380275d8c414
parent40fefe0084d266d3c6d03e98a3c8c16e76091932
[ImplicitNullChecks] Work with implicit defs.

Summary:
This change generalizes the implicit null checks pass to work with
instructions that don't have any explicit register defs.  This lets us
use X86's `cmp` against memory as faulting load instructions.

Reviewers: reames, JosephTremoulet

Subscribers: llvm-commits

Differential Revision: http://reviews.llvm.org/D11286

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@242703 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/ImplicitNullChecks.cpp
lib/Target/X86/X86MCInstLower.cpp
test/CodeGen/X86/implicit-null-check.ll