Dan Gohman | 3c7d308 | 2009-09-11 18:01:28 +0000 | [diff] [blame^] | 1 | ; RUN: opt < %s -scalarrepl -instcombine -S | grep {ret i32 %x} |
Chris Lattner | c2a5f2a | 2009-02-02 18:02:59 +0000 | [diff] [blame] | 2 | target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:32:32" |
| 3 | target triple = "i386-pc-linux-gnu" |
| 4 | |
| 5 | %pair = type { [1 x i32], i32 } |
| 6 | |
| 7 | define i32 @f(i32 %x, i32 %y) { |
| 8 | %instance = alloca %pair |
| 9 | %first = getelementptr %pair* %instance, i32 0, i32 0 |
| 10 | %cast = bitcast [1 x i32]* %first to i32* |
| 11 | store i32 %x, i32* %cast |
| 12 | %second = getelementptr %pair* %instance, i32 0, i32 1 |
| 13 | store i32 %y, i32* %second |
| 14 | %v = load i32* %cast |
| 15 | ret i32 %v |
| 16 | } |