forked from OSchip/llvm-project
16 lines
386 B
LLVM
16 lines
386 B
LLVM
; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | not grep 34
|
|
|
|
int %test(int %X) {
|
|
; Do not fold into shr X, 34, as this uses undefined behavior!
|
|
%Y = shr int %X, ubyte 17
|
|
%Z = shr int %Y, ubyte 17
|
|
ret int %Z
|
|
}
|
|
|
|
int %test2(int %X) {
|
|
; Do not fold into shl X, 34, as this uses undefined behavior!
|
|
%Y = shl int %X, ubyte 17
|
|
%Z = shl int %Y, ubyte 17
|
|
ret int %Z
|
|
}
|