OSDN Git Service

Preserve 'nonnull' when changing type of the load.
authorPhilip Reames <listmail@philipreames.com>
Tue, 21 Oct 2014 21:00:03 +0000 (21:00 +0000)
committerPhilip Reames <listmail@philipreames.com>
Tue, 21 Oct 2014 21:00:03 +0000 (21:00 +0000)
commit7b60e0eb39827c5c4d77164c8064d886c9305db9
treeb494750b04cabadb796f81f1d0bb5de539404be0
parent5127ff928b4dece075f278721b801135105938bd
Preserve 'nonnull' when changing type of the load.

When changing the type of a load in Chandler's recent InstCombine changes, we can preserve the new 'nonnull' metadata.

I considered adding an assert since 'nonnull' is only valid on pointer types, but casting a pointer to a non-pointer would involve more than a bitcast anyways.  If someone extends this transform to handle more than bitcasts, the verifier will report the malformed IR, so a separate assertion isn't needed.  Also, the fpmath flags would have the same problem.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@220324 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp