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)
commitb2d3f035e2ad90890b80cd45348adf4daec20e19
tree4cd88fcf541457576b4923f7d544a558694bcb46
parent0ca58b33cf2888443688f3fcdaada2ddd2a9b944
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.

llvm-svn: 220324
llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp