Reapply 239795 - [InstCombine] Propagate non-null facts to call parameters
authorPhilip Reames <listmail@philipreames.com>
Tue, 16 Jun 2015 20:24:25 +0000 (20:24 +0000)
committerPhilip Reames <listmail@philipreames.com>
Tue, 16 Jun 2015 20:24:25 +0000 (20:24 +0000)
commit489a03c7544f4d6873d41a2d2d43c13687fd3f0e
treef3dc2cd9e8697a36ed552e74953949348f56d3d8
parent2cd20fef7101b99ae00e326f240e45ce9c3f1d48
Reapply 239795 - [InstCombine] Propagate non-null facts to call parameters

The original change broke clang side tests.  I will be submitting those momentarily.  This change includes post commit feedback on the original change from from Pete Cooper.

Original Submission comments:
If a parameter to a function is known non-null, use the existing parameter attributes to record that fact at the call site. This has no optimization benefit by itself - that I know of - but is an enabling change for http://reviews.llvm.org/D9129.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@239849 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/IR/CallSite.h
lib/Transforms/InstCombine/InstCombineCalls.cpp
test/CodeGen/NVPTX/intrin-nocapture.ll
test/Transforms/Inline/byval-tail-call.ll
test/Transforms/InstCombine/select.ll