optimize away stackrestore calls that have no intervening alloca or call.
[oota-llvm.git] / test / Transforms / InstCombine / 2004-02-23-ShiftShiftOverflow.ll
1 ; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | not grep 34
2
3 int %test(int %X) {
4         ; Do not fold into shr X, 34, as this uses undefined behavior!
5         %Y = shr int %X, ubyte 17
6         %Z = shr int %Y, ubyte 17
7         ret int %Z
8 }
9
10 int %test2(int %X) {
11         ; Do not fold into shl X, 34, as this uses undefined behavior!
12         %Y = shl int %X, ubyte 17
13         %Z = shl int %Y, ubyte 17
14         ret int %Z
15 }