brintos

brintos / llvm-project-archived public Read only

0
0
Text · 842 B · efc56d9 Raw
34 lines · plain
1; RUN: llc < %s -verify-machineinstrs -mtriple=i686-linux -mattr=-sse | FileCheck %s2; PR117683 4@ptr = external dso_local global ptr5 6define void @baz() nounwind ssp {7entry:8  %0 = load ptr, ptr @ptr, align 49  %cmp = icmp eq ptr %0, null10  fence seq_cst11  br i1 %cmp, label %if.then, label %if.else12 13; Make sure the fence comes before the comparison, since it14; clobbers EFLAGS.15 16; CHECK: lock orl {{.*}}, (%esp)17; CHECK-NEXT: testl [[REG:%e[a-z]+]], [[REG]]18 19if.then:                                          ; preds = %entry20  tail call void @foo() nounwind21  br label %if.end22 23if.else:                                          ; preds = %entry24  tail call void @bar() nounwind25  br label %if.end26 27if.end:                                           ; preds = %if.else, %if.then28  ret void29}30 31declare void @foo(...)32 33declare void @bar(...)34