| ; test that casted mallocs get converted to malloc of the right type | |
| ; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | \ | |
| ; RUN: not grep bitcast | |
| ; The target datalayout is important for this test case. We have to tell | |
| ; instcombine that the ABI alignment for a long is 4-bytes, not 8, otherwise | |
| ; it won't do the transform. | |
| target datalayout = "e-i64:32:64" | |
| int* %test(uint %size) { | |
| %X = malloc long, uint %size | |
| %ret = bitcast long* %X to int* | |
| ret int* %ret | |
| } |