Chris Lattner | 4d21cb4 | 2003-04-17 19:21:22 +0000 | [diff] [blame] | 1 | ; This test checks to make sure that constant exprs fold in some simple situations |
| 2 | |
Tanya Lattner | 709f6ec | 2008-02-16 23:55:46 +0000 | [diff] [blame] | 3 | ; RUN: llvm-as < %s | llvm-dis | not grep cast |
Chris Lattner | 4d21cb4 | 2003-04-17 19:21:22 +0000 | [diff] [blame] | 4 | |
Tanya Lattner | 709f6ec | 2008-02-16 23:55:46 +0000 | [diff] [blame] | 5 | @A = global i32* bitcast (i8* null to i32*) ; Cast null -> fold |
| 6 | @B = global i32** bitcast (i32** @A to i32**) ; Cast to same type -> fold |
| 7 | @C = global i32 trunc (i64 42 to i32) ; Integral casts |
| 8 | @D = global i32* bitcast(float* bitcast (i32* @C to float*) to i32*) ; cast of cast ptr->ptr |
| 9 | @E = global i32 ptrtoint(float* inttoptr (i8 5 to float*) to i32) ; i32 -> ptr -> i32 |
Chris Lattner | 4d21cb4 | 2003-04-17 19:21:22 +0000 | [diff] [blame] | 10 | |
| 11 | ; Test folding of binary instrs |
Tanya Lattner | 709f6ec | 2008-02-16 23:55:46 +0000 | [diff] [blame] | 12 | @F = global i32* inttoptr (i32 add (i32 5, i32 -5) to i32*) |
| 13 | @G = global i32* inttoptr (i32 sub (i32 5, i32 5) to i32*) |
Chris Lattner | 4d21cb4 | 2003-04-17 19:21:22 +0000 | [diff] [blame] | 14 | |