forked from OSchip/llvm-project
25 lines
443 B
LLVM
25 lines
443 B
LLVM
|
; RUN: llc < %s -mtriple=x86_64-apple-darwin | FileCheck %s
|
||
|
|
||
|
declare void @free_v()
|
||
|
|
||
|
define void @f(i32* %x, i32 %c32, i32* %y) {
|
||
|
; CHECK-LABEL: f
|
||
|
entry:
|
||
|
%v = load i32, i32* %x, !invariant.load !0
|
||
|
; CHECK: movl (%rdi), %ebx
|
||
|
; CHECK: free_v
|
||
|
; CHECK-NOT: movl (%rdi), %ebx
|
||
|
call void @free_v()
|
||
|
%c = icmp ne i32 %c32, 0
|
||
|
br i1 %c, label %left, label %merge
|
||
|
|
||
|
left:
|
||
|
store i32 %v, i32* %y
|
||
|
br label %merge
|
||
|
|
||
|
merge:
|
||
|
ret void
|
||
|
}
|
||
|
|
||
|
!0 = !{}
|