Get rid of ReadOnlySection duplicate
[oota-llvm.git] / test / CodeGen / Alpha / jmp_table.ll
index c6729e1f8ba03f2f339a37de822d217430c84f8c..d7b61163e7b80399a6144a277c79748a8f8cfa96 100644 (file)
@@ -1,98 +1,99 @@
-; try to check that we have the most important instructions, which shouldn't appear otherwise
-; RUN: llvm-as < %s | llc -march=alpha | grep 'jmp'
-; RUN: llvm-as < %s | llc -march=alpha | grep 'gprel32'
-; RUN: llvm-as < %s | llc -march=alpha | grep 'ldl'
+; try to check that we have the most important instructions, which shouldn't 
+; appear otherwise
+; RUN: llvm-as < %s | llc -march=alpha | grep jmp
+; RUN: llvm-as < %s | llc -march=alpha | grep gprel32
+; RUN: llvm-as < %s | llc -march=alpha | grep ldl
+; RUN: llvm-as < %s | llc -march=alpha | grep rodata
+; END.
 
-target endian = little
-target pointersize = 64
+target datalayout = "e-p:64:64"
 target triple = "alphaev67-unknown-linux-gnu"
-%str = internal constant [2 x sbyte] c"1\00"           ; <[2 x sbyte]*> [#uses=1]
-%str1 = internal constant [2 x sbyte] c"2\00"          ; <[2 x sbyte]*> [#uses=1]
-%str2 = internal constant [2 x sbyte] c"3\00"          ; <[2 x sbyte]*> [#uses=1]
-%str3 = internal constant [2 x sbyte] c"4\00"          ; <[2 x sbyte]*> [#uses=1]
-%str4 = internal constant [2 x sbyte] c"5\00"          ; <[2 x sbyte]*> [#uses=1]
-%str5 = internal constant [2 x sbyte] c"6\00"          ; <[2 x sbyte]*> [#uses=1]
-%str6 = internal constant [2 x sbyte] c"7\00"          ; <[2 x sbyte]*> [#uses=1]
-%str7 = internal constant [2 x sbyte] c"8\00"          ; <[2 x sbyte]*> [#uses=1]
+@str = internal constant [2 x i8] c"1\00"               ; <[2 x i8]*> [#uses=1]
+@str1 = internal constant [2 x i8] c"2\00"              ; <[2 x i8]*> [#uses=1]
+@str2 = internal constant [2 x i8] c"3\00"              ; <[2 x i8]*> [#uses=1]
+@str3 = internal constant [2 x i8] c"4\00"              ; <[2 x i8]*> [#uses=1]
+@str4 = internal constant [2 x i8] c"5\00"              ; <[2 x i8]*> [#uses=1]
+@str5 = internal constant [2 x i8] c"6\00"              ; <[2 x i8]*> [#uses=1]
+@str6 = internal constant [2 x i8] c"7\00"              ; <[2 x i8]*> [#uses=1]
+@str7 = internal constant [2 x i8] c"8\00"              ; <[2 x i8]*> [#uses=1]
 
-implementation   ; Functions:
-
-int %main(int %x, sbyte** %y) {
+define i32 @main(i32 %x, i8** %y) {
 entry:
-       %x_addr = alloca int            ; <int*> [#uses=2]
-       %y_addr = alloca sbyte**                ; <sbyte***> [#uses=1]
-       %retval = alloca int, align 4           ; <int*> [#uses=2]
-       %tmp = alloca int, align 4              ; <int*> [#uses=2]
-       %foo = alloca sbyte*, align 8           ; <sbyte**> [#uses=9]
-       "alloca point" = cast int 0 to int              ; <int> [#uses=0]
-       store int %x, int* %x_addr
-       store sbyte** %y, sbyte*** %y_addr
-       %tmp = load int* %x_addr                ; <int> [#uses=1]
-       switch int %tmp, label %bb15 [
-                int 1, label %bb
-                int 2, label %bb1
-                int 3, label %bb3
-                int 4, label %bb5
-                int 5, label %bb7
-                int 6, label %bb9
-                int 7, label %bb11
-                int 8, label %bb13
-       ]
+        %x_addr = alloca i32            ; <i32*> [#uses=2]
+        %y_addr = alloca i8**           ; <i8***> [#uses=1]
+        %retval = alloca i32, align 4           ; <i32*> [#uses=2]
+        %tmp = alloca i32, align 4              ; <i32*> [#uses=2]
+        %foo = alloca i8*, align 8              ; <i8**> [#uses=9]
+        %"alloca point" = bitcast i32 0 to i32          ; <i32> [#uses=0]
+        store i32 %x, i32* %x_addr
+        store i8** %y, i8*** %y_addr
+        %tmp.upgrd.1 = load i32* %x_addr                ; <i32> [#uses=1]
+        switch i32 %tmp.upgrd.1, label %bb15 [
+                 i32 1, label %bb
+                 i32 2, label %bb1
+                 i32 3, label %bb3
+                 i32 4, label %bb5
+                 i32 5, label %bb7
+                 i32 6, label %bb9
+                 i32 7, label %bb11
+                 i32 8, label %bb13
+        ]
 
-bb:            ; preds = %entry
-       %tmp = getelementptr [2 x sbyte]* %str, int 0, ulong 0          ; <sbyte*> [#uses=1]
-       store sbyte* %tmp, sbyte** %foo
-       br label %bb16
+bb:             ; preds = %entry
+        %tmp.upgrd.2 = getelementptr [2 x i8]* @str, i32 0, i64 0               ; <i8*> [#uses=1]
+        store i8* %tmp.upgrd.2, i8** %foo
+        br label %bb16
 
-bb1:           ; preds = %entry
-       %tmp2 = getelementptr [2 x sbyte]* %str1, int 0, ulong 0                ; <sbyte*> [#uses=1]
-       store sbyte* %tmp2, sbyte** %foo
-       br label %bb16
+bb1:            ; preds = %entry
+        %tmp2 = getelementptr [2 x i8]* @str1, i32 0, i64 0             ; <i8*> [#uses=1]
+        store i8* %tmp2, i8** %foo
+        br label %bb16
 
-bb3:           ; preds = %entry
-       %tmp4 = getelementptr [2 x sbyte]* %str2, int 0, ulong 0                ; <sbyte*> [#uses=1]
-       store sbyte* %tmp4, sbyte** %foo
-       br label %bb16
+bb3:            ; preds = %entry
+        %tmp4 = getelementptr [2 x i8]* @str2, i32 0, i64 0             ; <i8*> [#uses=1]
+        store i8* %tmp4, i8** %foo
+        br label %bb16
 
-bb5:           ; preds = %entry
-       %tmp6 = getelementptr [2 x sbyte]* %str3, int 0, ulong 0                ; <sbyte*> [#uses=1]
-       store sbyte* %tmp6, sbyte** %foo
-       br label %bb16
+bb5:            ; preds = %entry
+        %tmp6 = getelementptr [2 x i8]* @str3, i32 0, i64 0             ; <i8*> [#uses=1]
+        store i8* %tmp6, i8** %foo
+        br label %bb16
 
-bb7:           ; preds = %entry
-       %tmp8 = getelementptr [2 x sbyte]* %str4, int 0, ulong 0                ; <sbyte*> [#uses=1]
-       store sbyte* %tmp8, sbyte** %foo
-       br label %bb16
+bb7:            ; preds = %entry
+        %tmp8 = getelementptr [2 x i8]* @str4, i32 0, i64 0             ; <i8*> [#uses=1]
+        store i8* %tmp8, i8** %foo
+        br label %bb16
 
-bb9:           ; preds = %entry
-       %tmp10 = getelementptr [2 x sbyte]* %str5, int 0, ulong 0               ; <sbyte*> [#uses=1]
-       store sbyte* %tmp10, sbyte** %foo
-       br label %bb16
+bb9:            ; preds = %entry
+        %tmp10 = getelementptr [2 x i8]* @str5, i32 0, i64 0            ; <i8*> [#uses=1]
+        store i8* %tmp10, i8** %foo
+        br label %bb16
 
-bb11:          ; preds = %entry
-       %tmp12 = getelementptr [2 x sbyte]* %str6, int 0, ulong 0               ; <sbyte*> [#uses=1]
-       store sbyte* %tmp12, sbyte** %foo
-       br label %bb16
+bb11:           ; preds = %entry
+        %tmp12 = getelementptr [2 x i8]* @str6, i32 0, i64 0            ; <i8*> [#uses=1]
+        store i8* %tmp12, i8** %foo
+        br label %bb16
 
-bb13:          ; preds = %entry
-       %tmp14 = getelementptr [2 x sbyte]* %str7, int 0, ulong 0               ; <sbyte*> [#uses=1]
-       store sbyte* %tmp14, sbyte** %foo
-       br label %bb16
+bb13:           ; preds = %entry
+        %tmp14 = getelementptr [2 x i8]* @str7, i32 0, i64 0            ; <i8*> [#uses=1]
+        store i8* %tmp14, i8** %foo
+        br label %bb16
 
-bb15:          ; preds = %entry
-       br label %bb16
+bb15:           ; preds = %entry
+        br label %bb16
 
-bb16:          ; preds = %bb15, %bb13, %bb11, %bb9, %bb7, %bb5, %bb3, %bb1, %bb
-       %tmp17 = load sbyte** %foo              ; <sbyte*> [#uses=1]
-       %tmp18 = call int (...)* %print( sbyte* %tmp17 )                ; <int> [#uses=0]
-       store int 0, int* %tmp
-       %tmp19 = load int* %tmp         ; <int> [#uses=1]
-       store int %tmp19, int* %retval
-       br label %return
+bb16:           ; preds = %bb15, %bb13, %bb11, %bb9, %bb7, %bb5, %bb3, %bb1, %bb
+        %tmp17 = load i8** %foo         ; <i8*> [#uses=1]
+        %tmp18 = call i32 (...)* @print( i8* %tmp17 )           ; <i32> [#uses=0]
+        store i32 0, i32* %tmp
+        %tmp19 = load i32* %tmp         ; <i32> [#uses=1]
+        store i32 %tmp19, i32* %retval
+        br label %return
 
-return:                ; preds = %bb16
-       %retval = load int* %retval             ; <int> [#uses=1]
-       ret int %retval
+return:         ; preds = %bb16
+        %retval.upgrd.3 = load i32* %retval             ; <i32> [#uses=1]
+        ret i32 %retval.upgrd.3
 }
 
-declare int %print(...)
+declare i32 @print(...)
+