Add a priority queue class, which is a wrapper around std::priority_queue
[oota-llvm.git] / test / Transforms / InstCombine / getelementptr_cast.ll
index ece73f77100815aefbca960cdf2d0c8efc9f7c0b..1d2fcce13d39892cf17691dea733c07ec8cc1222 100644 (file)
@@ -1,9 +1,11 @@
-; RUN: llvm-as < %s | opt -instcombine | llvm-dis | not grep 'getelementptr.*cast'
-%G = external global [3 x sbyte]
+; RUN: llvm-as < %s | opt -instcombine | llvm-dis | \
+; RUN:    notcast {} {getelementptr.*}
 
-implementation
+@G = external global [3 x i8]           ; <[3 x i8]*> [#uses=1]
 
-ubyte *%foo(uint %Idx) {
-%tmp = getelementptr ubyte* cast ([3 x sbyte]* %G to ubyte*), uint %Idx
-ret ubyte* %tmp
+define i8* @foo(i32 %Idx) {
+        %gep.upgrd.1 = zext i32 %Idx to i64             ; <i64> [#uses=1]
+        %tmp = getelementptr i8* getelementptr ([3 x i8]* @G, i32 0, i32 0), i64 %gep.upgrd.1              ; <i8*> [#uses=1]
+        ret i8* %tmp
 }
+