• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1; RUN: llc -O2 < %s | FileCheck %s
2target datalayout = "e-m:e-i64:64-n32:64"
3target triple = "powerpc64le-unknown-linux-gnu"
4
5; Check that the conditional return block of fmax_double3.exit was not
6; duplicated into the if.then.i block
7; CHECK: # %if.then.i
8; CHECK: xxlxor
9; CHECK: stxvd2x
10; CHECK-NOT: bclr
11; CHECK: {{^}}.LBB{{[0-9_]+}}:
12; CHECK-SAME: # %fmax_double3.exit
13; CHECK: bclr
14; CHECK: # %if.then
15; Function Attrs: nounwind
16define void @__fmax_double3_3D_exec(<2 x double>* %input6, i1 %bool1, i1 %bool2) #0 {
17entry:
18  br i1 %bool1, label %if.then.i, label %fmax_double3.exit
19
20if.then.i:                                        ; preds = %entry
21  store <2 x double> zeroinitializer, <2 x double>* %input6, align 32
22  br label %fmax_double3.exit
23
24fmax_double3.exit:                                ; preds = %if.then.i, %entry
25  br i1 %bool2, label %if.then, label %do.end
26
27if.then:                                          ; preds = %fmax_double3.exit
28  unreachable
29
30do.end:                                           ; preds = %fmax_double3.exit
31  ret void
32}
33
34attributes #0 = { nounwind }
35