Test that the instruction combiner can fold away a cast in a GEP instruction.

This occurs in 164.gzip, as a result of it declaring arrays extern.

llvm-svn: 11701
This commit is contained in:
Chris Lattner 2004-02-22 05:24:09 +00:00
parent 87d72eb23f
commit 9c08d09de6
1 changed files with 8 additions and 0 deletions

View File

@ -2,6 +2,8 @@
; RUN: llvm-as < %s | opt -instcombine -die | llvm-dis | grep '%c' | not grep cast
%inbuf = external global [32832 x ubyte]
implementation
int %test1(int %A) {
@ -79,3 +81,9 @@ int* %test12() {
%c = cast [4 x sbyte]* %p to int*
ret int* %c
}
ubyte *%test13(long %A) {
%c = getelementptr [0 x ubyte]* cast ([32832 x ubyte]* %inbuf to [0 x ubyte]*), long 0, long %A
ret ubyte* %c
}