; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 5 ; RUN: opt -S -passes="function(print),cgscc(function-attrs),function(loop-mssa(licm))" < %s 2>/dev/null | FileCheck %s @g = external global i16 define i16 @fn() { ; CHECK-LABEL: define i16 @fn( ; CHECK-SAME: ) #[[ATTR0:[0-9]+]] { ; CHECK-NEXT: [[V:%.*]] = load i16, ptr @g, align 2 ; CHECK-NEXT: ret i16 [[V]] ; %v = load i16, ptr @g ret i16 %v } declare void @fn2(i16) define void @test() { ; CHECK-LABEL: define void @test() { ; CHECK-NEXT: [[ENTRY:.*:]] ; CHECK-NEXT: br label %[[LOOP:.*]] ; CHECK: [[LOOP]]: ; CHECK-NEXT: [[CALL:%.*]] = call i16 @fn(i32 0) ; CHECK-NEXT: call void @fn2(i16 [[CALL]]) ; CHECK-NEXT: br i1 false, label %[[LOOP]], label %[[EXIT:.*]] ; CHECK: [[EXIT]]: ; CHECK-NEXT: ret void ; 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 }