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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11701 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2004-02-22 05:24:09 +00:00
parent 6d2fdcfb8a
commit 0ca4418b95

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
}