| ; XFAIL: * |
| ; this testcase is distilled from this C source: |
| ; int *foo(unsigned N, unsigned M) { |
| ; unsigned i = (N+1)*sizeof(int); |
| ; unsigned j = (M+1)*sizeof(int); |
| ; return (int*)malloc(i+j); |
| ; } |
| |
| ; RUN: llvm-as < %s | opt -raise | llvm-dis | not grep bitcast |
| |
| implementation |
| |
| int* %test(uint %N, uint %M) { |
| %reg111 = shl uint %N, ubyte 2 ; <uint> [#uses=1] |
| %reg109 = add uint %reg111, 4 ; <uint> [#uses=1] |
| %reg114 = shl uint %M, ubyte 2 ; <uint> [#uses=1] |
| %reg112 = add uint %reg114, 4 ; <uint> [#uses=1] |
| %reg116 = add uint %reg109, %reg112 ; <uint> [#uses=1] |
| %reg117 = malloc sbyte, uint %reg116 ; <sbyte*> [#uses=1] |
| %cast221 = cast sbyte* %reg117 to int* ; <int*> [#uses=1] |
| ret int* %cast221 |
| } |