diff options
author | Mehdi Amini <mehdi.amini@apple.com> | 2015-09-11 01:33:48 +0000 |
---|---|---|
committer | Mehdi Amini <mehdi.amini@apple.com> | 2015-09-11 01:33:48 +0000 |
commit | 2bd08527ff6ceb81105cac362c03789ff7d14c25 (patch) | |
tree | ecaed675810df344bbd0bc0cb7ec7879330f8c5e /llvm | |
parent | 243d90f5499f6e1406a965c33fd8420d8916bb14 (diff) | |
download | bcm5719-llvm-2bd08527ff6ceb81105cac362c03789ff7d14c25.tar.gz bcm5719-llvm-2bd08527ff6ceb81105cac362c03789ff7d14c25.zip |
Revert "[InstCombineCalls] Use isKnownNonNullAt() to check nullness of passing arguments at callsite"
This reverts commit r247356.
Breaks test/Transforms/InstCombine/pr8547.ll with:
Wrong types for attribute: byval inalloca nest noalias nocapture nonnull readnone readonly sret dereferenceable(1) dereferenceable_or_null(1)
%call = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str, i64 0, i64 0), i32 nonnull %conv2) #0
LLVM ERROR: Broken function found, compilation aborted!
From: Mehdi Amini <mehdi.amini@apple.com>
llvm-svn: 247371
Diffstat (limited to 'llvm')
-rw-r--r-- | llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp | 2 | ||||
-rw-r--r-- | llvm/test/Transforms/InstCombine/call_nonnull_arg.ll | 17 |
2 files changed, 1 insertions, 18 deletions
diff --git a/llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp b/llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp index 900953af6c6..cc7d4be7a78 100644 --- a/llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp +++ b/llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp @@ -1537,7 +1537,7 @@ Instruction *InstCombiner::visitCallSite(CallSite CS) { unsigned ArgNo = 0; for (Value *V : CS.args()) { if (!CS.paramHasAttr(ArgNo+1, Attribute::NonNull) && - isKnownNonNullAt(V, CS.getInstruction(), DT, TLI)) { + isKnownNonNull(V)) { AttributeSet AS = CS.getAttributes(); AS = AS.addAttribute(CS.getInstruction()->getContext(), ArgNo+1, Attribute::NonNull); diff --git a/llvm/test/Transforms/InstCombine/call_nonnull_arg.ll b/llvm/test/Transforms/InstCombine/call_nonnull_arg.ll deleted file mode 100644 index cac53d3d47a..00000000000 --- a/llvm/test/Transforms/InstCombine/call_nonnull_arg.ll +++ /dev/null @@ -1,17 +0,0 @@ -; RUN: opt < %s -instcombine -S | FileCheck %s - -; InstCombine should mark null-checked argument as nonnull at callsite -declare void @dummy(i32*) - -define void @test(i32* %a) { -; CHECK-LABEL: @test -; CHECK: call void @dummy(i32* nonnull %a) -entry: - %cond = icmp eq i32* %a, null - br i1 %cond, label %is_null, label %not_null -not_null: - call void @dummy(i32* %a) - ret void -is_null: - unreachable -} |