summaryrefslogtreecommitdiffstats
path: root/llvm/test/Transforms/FunctionAttrs/arg_nocapture.ll
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test/Transforms/FunctionAttrs/arg_nocapture.ll')
-rw-r--r--llvm/test/Transforms/FunctionAttrs/arg_nocapture.ll12
1 files changed, 7 insertions, 5 deletions
diff --git a/llvm/test/Transforms/FunctionAttrs/arg_nocapture.ll b/llvm/test/Transforms/FunctionAttrs/arg_nocapture.ll
index 94d692e1d79..917d037ab3a 100644
--- a/llvm/test/Transforms/FunctionAttrs/arg_nocapture.ll
+++ b/llvm/test/Transforms/FunctionAttrs/arg_nocapture.ll
@@ -1,5 +1,4 @@
; RUN: opt -functionattrs -attributor -attributor-disable=false -S < %s | FileCheck %s
-; RUN: opt -functionattrs -attributor -attributor-disable=false -attributor-verify=true -S < %s | FileCheck %s
;
; Test cases specifically designed for the "no-capture" argument attribute.
; We use FIXME's to indicate problems and missing attributes.
@@ -87,11 +86,12 @@ entry:
;
; Other arguments are possible here due to the no-return behavior.
;
-; FIXME: no-return missing
; CHECK: define noalias nonnull align 536870912 dereferenceable(4294967295) i32* @srec16(i32* nocapture readnone %a)
define i32* @srec16(i32* %a) #0 {
entry:
%call = call i32* @srec16(i32* %a)
+; CHECK: %call = call i32* @srec16(i32* %a)
+; CHECK-NEXT: unreachable
%call1 = call i32* @srec16(i32* %call)
%call2 = call i32* @srec16(i32* %call1)
%call3 = call i32* @srec16(i32* %call2)
@@ -131,7 +131,7 @@ entry:
; }
;
; void *scc_C(short *a) {
-; return scc_A((int*)(scc_C(a) ? scc_B((double*)a) : scc_C(a)));
+; return scc_A((int*)(scc_A(a) ? scc_B((double*)a) : scc_C(a)));
; }
define float* @scc_A(i32* %a) {
entry:
@@ -183,8 +183,10 @@ cond.end: ; preds = %cond.false, %cond.t
define i8* @scc_C(i16* %a) {
entry:
- %call = call i8* @scc_C(i16* %a)
- %tobool = icmp ne i8* %call, null
+ %bc = bitcast i16* %a to i32*
+ %call = call float* @scc_A(i32* %bc)
+ %bc2 = bitcast float* %call to i8*
+ %tobool = icmp ne i8* %bc2, null
br i1 %tobool, label %cond.true, label %cond.false
cond.true: ; preds = %entry
OpenPOWER on IntegriCloud