diff options
Diffstat (limited to 'llvm/test/Regression/Transforms/InstCombine/div.ll')
| -rw-r--r-- | llvm/test/Regression/Transforms/InstCombine/div.ll | 68 |
1 files changed, 0 insertions, 68 deletions
diff --git a/llvm/test/Regression/Transforms/InstCombine/div.ll b/llvm/test/Regression/Transforms/InstCombine/div.ll deleted file mode 100644 index 18d93c2a76d..00000000000 --- a/llvm/test/Regression/Transforms/InstCombine/div.ll +++ /dev/null @@ -1,68 +0,0 @@ -; This test makes sure that div instructions are properly eliminated. -; - -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | not grep div - -implementation - -int %test1(int %A) { - %B = div int %A, 1 - ret int %B -} - -uint %test2(uint %A) { - %B = div uint %A, 8 ; => Shift - ret uint %B -} - -int %test3(int %A) { - %B = div int 0, %A ; => 0, don't need to keep traps - ret int %B -} - -int %test4(int %A) { - %B = div int %A, -1 ; 0-A - ret int %B -} - -uint %test5(uint %A) { - %B = div uint %A, 4294967280 - %C = div uint %B, 4294967292 - ret uint %C -} - -bool %test6(uint %A) { - %B = div uint %A, 123 - %C = seteq uint %B, 0 ; A < 123 - ret bool %C -} - -bool %test7(uint %A) { - %B = div uint %A, 10 - %C = seteq uint %B, 2 ; A >= 20 && A < 30 - ret bool %C -} - -bool %test8(ubyte %A) { - %B = div ubyte %A, 123 - %C = seteq ubyte %B, 2 ; A >= 246 - ret bool %C -} - -bool %test9(ubyte %A) { - %B = div ubyte %A, 123 - %C = setne ubyte %B, 2 ; A < 246 - ret bool %C -} - -uint %test10(uint %X, bool %C) { - %V = select bool %C, uint 64, uint 8 - %R = udiv uint %X, %V - ret uint %R -} - -int %test11(int %X, bool %C) { - %A = select bool %C, int 1024, int 32 - %B = udiv int %X, %A - ret int %B -} |

