summaryrefslogtreecommitdiff
path: root/release_23/test/Transforms/InstCombine/2006-06-28-infloop.ll
blob: 84e751037b4d823dbc0dc9d54376b7cc7fd560e6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
; RUN: llvm-as < %s | opt -instcombine -disable-output

target datalayout = "E-p:32:32"
target triple = "powerpc-apple-darwin8"

define void @test() {
entry:
        %tmp = getelementptr { i64, i64, i64, i64 }* null, i32 0, i32 3         ; <i64*> [#uses=1]
        %tmp.upgrd.1 = load i64* %tmp           ; <i64> [#uses=1]
        %tmp8.ui = load i64* null               ; <i64> [#uses=1]
        %tmp8 = bitcast i64 %tmp8.ui to i64             ; <i64> [#uses=1]
        %tmp9 = and i64 %tmp8, %tmp.upgrd.1             ; <i64> [#uses=1]
        %sext = trunc i64 %tmp9 to i32          ; <i32> [#uses=1]
        %tmp27.i = sext i32 %sext to i64                ; <i64> [#uses=1]
        tail call void @foo( i32 0, i64 %tmp27.i )
        unreachable
}

declare void @foo(i32, i64)