blob: c42535756e8f1adc2d050db437768edc75ef48c0 [file] [log] [blame]
; RUN: opt -disable-output -passes="function(print<memoryssa>),cgscc(function-attrs),function(print<memoryssa>)" < %s 2>&1 | FileCheck %s
@g = external global i16
define i16 @fn() {
%v = load i16, ptr @g
ret i16 %v
}
declare void @fn2(i16)
; CHECK-LABEL: MemorySSA for function: test
; CHECK: 1 = MemoryDef(3)
; CHECK-NEXT: %call = call i16 @fn(i32 0)
; CHECK-LABEL: MemorySSA for function: test
; CHECK: MemoryUse(2)
; CHECK-NEXT: %call = call i16 @fn(i32 0)
define void @test() {
entry:
br label %loop
loop:
%call = call i16 @fn(i32 0) ; intentional signature mismatch
call void @fn2(i16 %call)
br i1 false, label %loop, label %exit
exit:
ret void
}