1 ; RUN: llc < %s -mtriple=x86_64-apple-darwin | FileCheck %s 2 3 declare void @free_v() 4 5 define void @f(i32* %x, i32 %c32, i32* %y) { 6 ; CHECK-LABEL: f 7 entry: 8 %v = load i32, i32* %x, !invariant.load !0 9 ; CHECK: movl (%rdi), %ebx 10 ; CHECK: free_v 11 ; CHECK-NOT: movl (%rdi), %ebx 12 call void @free_v() 13 %c = icmp ne i32 %c32, 0 14 br i1 %c, label %left, label %merge 15 16 left: 17 store i32 %v, i32* %y 18 br label %merge 19 20 merge: 21 ret void 22 } 23 24 !0 = !{} 25