|  | ; Test parsing indirect calls in Subzero. | 
|  |  | 
|  | ; RUN: %p2i -i %s --insts | FileCheck %s | 
|  | ; RUN: %if --need=allow_disable_ir_gen --command \ | 
|  | ; RUN:   %p2i -i %s --args -notranslate -timing -no-ir-gen \ | 
|  | ; RUN: | %if --need=allow_disable_ir_gen --command \ | 
|  | ; RUN:   FileCheck --check-prefix=NOIR %s | 
|  |  | 
|  | define internal void @CallIndirectVoid(i32 %f_addr) { | 
|  | entry: | 
|  | %f = inttoptr i32 %f_addr to void ()* | 
|  | call void %f() | 
|  | ret void | 
|  | } | 
|  |  | 
|  | ; CHECK:      define internal void @CallIndirectVoid(i32 %f_addr) { | 
|  | ; CHECK-NEXT: entry: | 
|  | ; CHECK-NEXT:   call void %f_addr() | 
|  | ; CHECK-NEXT:   ret void | 
|  | ; CHECK-NEXT: } | 
|  |  | 
|  | define internal i32 @CallIndirectI32(i32 %f_addr) { | 
|  | entry: | 
|  | %f = inttoptr i32 %f_addr to i32(i8, i1)* | 
|  | %r = call i32 %f(i8 1, i1 false) | 
|  | ret i32 %r | 
|  | } | 
|  |  | 
|  | ; CHECK-NEXT: define internal i32 @CallIndirectI32(i32 %f_addr) { | 
|  | ; CHECK-NEXT: entry: | 
|  | ; CHECK-NEXT:   %r = call i32 %f_addr(i8 1, i1 false) | 
|  | ; CHECK-NEXT:   ret i32 %r | 
|  | ; CHECK-NEXT: } | 
|  |  | 
|  | ; NOIR: Total across all functions |