Bump version to 19.1.0-rc3
[llvm-project.git] / llvm / test / CodeGen / X86 / 2009-02-03-AnalyzedTwice.ll
blob648caf07888025f450eef8644ae64dca8fe26e9f
1 ; RUN: llc < %s
2 ; PR3411
4 target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:32:32"
5 target triple = "i386-pc-linux-gnu"
6 @g_3 = external dso_local global i32            ; <ptr> [#uses=1]
8 define void @bar(i64 %p_66) nounwind {
9 entry:
10         br i1 false, label %bb, label %bb1
12 bb:             ; preds = %entry
13         unreachable
15 bb1:            ; preds = %entry
16         %0 = load i32, ptr @g_3, align 4                ; <i32> [#uses=2]
17         %1 = sext i32 %0 to i64         ; <i64> [#uses=1]
18         %2 = or i64 %1, %p_66           ; <i64> [#uses=1]
19         %3 = shl i64 %2, 0              ; <i64> [#uses=1]
20         %4 = and i64 %3, %p_66          ; <i64> [#uses=1]
21         %5 = icmp eq i64 %4, 1          ; <i1> [#uses=1]
22         %6 = trunc i64 %p_66 to i32             ; <i32> [#uses=2]
23         %7 = or i32 %0, %6              ; <i32> [#uses=2]
24         %8 = sub i32 %7, %6             ; <i32> [#uses=1]
25         %iftmp.0.0 = select i1 %5, i32 %8, i32 %7               ; <i32> [#uses=1]
26         %9 = tail call i32 @foo(i32 %iftmp.0.0) nounwind                ; <i32> [#uses=0]
27         ret void
30 declare i32 @foo(i32)