1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py 2; RUN: opt -S < %s | FileCheck %s 3 4; This is an overloaded struct return, we should not try to update it to an 5; anonymous struct return. 6 7%ty = type { i32 } 8 9define %ty @test(%ty %arg) { 10; CHECK-LABEL: @test( 11; CHECK-NEXT: [[COPY:%.*]] = call [[TY:%.*]] @llvm.ssa.copy.s_tys([[TY]] [[ARG:%.*]]) 12; CHECK-NEXT: ret [[TY]] [[COPY]] 13; 14 %copy = call %ty @llvm.ssa.copy.s_tys(%ty %arg) 15 ret %ty %copy 16} 17 18define %ty @test_not_real_intrinsic() { 19; CHECK-LABEL: @test_not_real_intrinsic( 20; CHECK-NEXT: [[RET:%.*]] = call [[TY:%.*]] @llvm.dummy() 21; CHECK-NEXT: ret [[TY]] [[RET]] 22; 23 %ret = call %ty @llvm.dummy() 24 ret %ty %ret 25} 26 27declare %ty @llvm.dummy() 28 29declare %ty @llvm.ssa.copy.s_tys(%ty) 30