blob: 51a769d9bb3dae2d7f2da2f6aa9662094f37dfce [file] [log] [blame]
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001; Test that the IsDigitOptimizer works correctly
Dan Gohman3c7d3082009-09-11 18:01:28 +00002; RUN: opt < %s -simplify-libcalls -S | \
Dan Gohmanf17a25c2007-07-18 16:29:46 +00003; RUN: not grep call
4
Tanya Lattner003eae52008-03-10 07:21:50 +00005declare i32 @isdigit(i32)
Dan Gohmanf17a25c2007-07-18 16:29:46 +00006
Tanya Lattner003eae52008-03-10 07:21:50 +00007declare i32 @isascii(i32)
Dan Gohmanf17a25c2007-07-18 16:29:46 +00008
Tanya Lattner003eae52008-03-10 07:21:50 +00009define i32 @main() {
10 %val1 = call i32 @isdigit( i32 47 ) ; <i32> [#uses=1]
11 %val2 = call i32 @isdigit( i32 48 ) ; <i32> [#uses=1]
12 %val3 = call i32 @isdigit( i32 57 ) ; <i32> [#uses=1]
13 %val4 = call i32 @isdigit( i32 58 ) ; <i32> [#uses=1]
14 %rslt1 = add i32 %val1, %val2 ; <i32> [#uses=1]
15 %rslt2 = add i32 %val3, %val4 ; <i32> [#uses=1]
16 %sum = add i32 %rslt1, %rslt2 ; <i32> [#uses=1]
17 %rslt = call i32 @isdigit( i32 %sum ) ; <i32> [#uses=1]
18 %tmp = call i32 @isascii( i32 %rslt ) ; <i32> [#uses=1]
19 ret i32 %tmp
Dan Gohmanf17a25c2007-07-18 16:29:46 +000020}
Tanya Lattner003eae52008-03-10 07:21:50 +000021