CodeGen peephole: fold redundant phys reg copies
[oota-llvm.git] / test / CodeGen / X86 / 2008-03-12-ThreadLocalAlias.ll
index fab9b770045d0fd7a4834986fa4b76dc46a26cbe..2ca003e052aa658b73a93ea1319c7e14b48951c1 100644 (file)
@@ -8,7 +8,7 @@ target triple = "i386-pc-linux-gnu"
 @__resp = thread_local global %struct.__res_state* @_res               ; <%struct.__res_state**> [#uses=1]
 @_res = global %struct.__res_state zeroinitializer, section ".bss"             ; <%struct.__res_state*> [#uses=1]
 
-@__libc_resp = hidden thread_local alias %struct.__res_state** @__resp         ; <%struct.__res_state**> [#uses=2]
+@__libc_resp = hidden thread_local alias %struct.__res_state*, %struct.__res_state** @__resp           ; <%struct.__res_state**> [#uses=2]
 
 define i32 @foo() {
 ; CHECK-LABEL: foo:
@@ -16,12 +16,12 @@ define i32 @foo() {
 entry:
        %retval = alloca i32            ; <i32*> [#uses=1]
        %"alloca point" = bitcast i32 0 to i32          ; <i32> [#uses=0]
-       %tmp = load %struct.__res_state** @__libc_resp, align 4         ; <%struct.__res_state*> [#uses=1]
+       %tmp = load %struct.__res_state*, %struct.__res_state** @__libc_resp, align 4           ; <%struct.__res_state*> [#uses=1]
        %tmp1 = getelementptr %struct.__res_state, %struct.__res_state* %tmp, i32 0, i32 0              ; <i32*> [#uses=1]
        store i32 0, i32* %tmp1, align 4
        br label %return
 return:                ; preds = %entry
-       %retval2 = load i32* %retval            ; <i32> [#uses=1]
+       %retval2 = load i32, i32* %retval               ; <i32> [#uses=1]
        ret i32 %retval2
 }
 
@@ -31,11 +31,11 @@ define i32 @bar() {
 entry:
        %retval = alloca i32            ; <i32*> [#uses=1]
        %"alloca point" = bitcast i32 0 to i32          ; <i32> [#uses=0]
-       %tmp = load %struct.__res_state** @__libc_resp, align 4         ; <%struct.__res_state*> [#uses=1]
+       %tmp = load %struct.__res_state*, %struct.__res_state** @__libc_resp, align 4           ; <%struct.__res_state*> [#uses=1]
        %tmp1 = getelementptr %struct.__res_state, %struct.__res_state* %tmp, i32 0, i32 0              ; <i32*> [#uses=1]
        store i32 1, i32* %tmp1, align 4
        br label %return
 return:                ; preds = %entry
-       %retval2 = load i32* %retval            ; <i32> [#uses=1]
+       %retval2 = load i32, i32* %retval               ; <i32> [#uses=1]
        ret i32 %retval2
 }