; RUN: opt < %s -passes=function-attrs -S | FileCheck %s | |
; CHECK: define ptr @a(ptr nocapture readonly %p) | |
define ptr @a(ptr %p) { | |
%tmp = load ptr, ptr %p | |
ret ptr %tmp | |
} | |
; CHECK: define ptr @b(ptr %q) | |
define ptr @b(ptr %q) { | |
%mem = alloca ptr | |
store ptr %q, ptr %mem | |
%tmp = call ptr @a(ptr %mem) | |
ret ptr %tmp | |
} | |
; CHECK: define ptr @c(ptr readnone returned %r) | |
@g = global i32 0 | |
define ptr @c(ptr %r) { | |
%a = icmp eq ptr %r, null | |
store i32 1, ptr @g | |
ret ptr %r | |
} |