linux-packaging-mono/external/llvm/test/CodeGen/Generic/2014-02-05-OpaqueConstants.ll
Xamarin Public Jenkins (auto-signing) 8625704ad8 Imported Upstream version 5.18.0.179
Former-commit-id: 67aa10e65b237e1c4537630979ee99ebe1374215
2018-10-25 08:34:57 +00:00

20 lines
564 B
LLVM

; Test that opaque constants are not creating an infinite DAGCombine loop
; RUN: llc < %s
; XFAIL: r600, xcore
@a = common global i32* null, align 8
@c = common global i32 0, align 4
@b = common global i32* null, align 8
; Function Attrs: nounwind ssp uwtable
define void @fn() {
store i32* inttoptr (i64 68719476735 to i32*), i32** @a, align 8
%1 = load i32, i32* @c, align 4
%2 = sext i32 %1 to i64
%3 = lshr i64 %2, 12
%4 = and i64 %3, 68719476735
%5 = getelementptr inbounds i32, i32* null, i64 %4
store i32* %5, i32** @b, align 8
ret void
}