1 ; RUN: opt %s -deadargelim -S | FileCheck %s 2 3 4 @block_addr = global i8* blockaddress(@varargs_func, %l1) 5 ; CHECK: @block_addr = global i8* blockaddress(@varargs_func, %l1) 6 7 8 ; This function is referenced by a "blockaddress" constant but it is 9 ; not address-taken, so the pass should be able to remove its unused 10 ; varargs. 11 12 define internal i32 @varargs_func(i8* %addr, ...) { 13 indirectbr i8* %addr, [ label %l1, label %l2 ] 14 l1: 15 ret i32 1 16 l2: 17 ret i32 2 18 } 19 ; CHECK: define internal i32 @varargs_func(i8* %addr) { 20 21 define i32 @caller(i8* %addr) { 22 %r = call i32 (i8*, ...) @varargs_func(i8* %addr) 23 ret i32 %r 24 } 25 ; CHECK: %r = call i32 @varargs_func(i8* %addr) 26