OSDN Git Service

[MachineSink] Don't break ImplicitNulls
authorSanjoy Das <sanjoy@playingwithpointers.com>
Wed, 20 Jan 2016 00:06:14 +0000 (00:06 +0000)
committerSanjoy Das <sanjoy@playingwithpointers.com>
Wed, 20 Jan 2016 00:06:14 +0000 (00:06 +0000)
commite0f8e1a9a9a1638281bb01e6969654724b91199d
tree48b70a96d9f9572bcc72c1e72855015ab408e490
parent0e2919828282541c960f31a7aaed3653b3ca8e62
[MachineSink] Don't break ImplicitNulls

Summary:
This teaches MachineSink to not sink instructions that might break the
implicit null check optimization that runs later.  This should not
affect frontends that do not use implicit null checks.

Reviewers: aadg, reames, hfinkel, atrick

Subscribers: majnemer, llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@258254 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/MachineSink.cpp
test/CodeGen/X86/machine-sink-and-implicit-null-checks.ll [new file with mode: 0644]