llvm-project/llvm/test/Transforms/InstCombine/2006-06-28-infloop.ll

21 lines
780 B
LLVM

; 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)