testcase, ensure this never breaks.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30137 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/test/CodeGen/X86/test-load-fold.ll b/test/CodeGen/X86/test-load-fold.ll
new file mode 100644
index 0000000..5d2d286
--- /dev/null
+++ b/test/CodeGen/X86/test-load-fold.ll
@@ -0,0 +1,29 @@
+; RUN: llvm-as < %s | llc
+	%struct._obstack_chunk = type { sbyte*, %struct._obstack_chunk*, [4 x sbyte] }
+	%struct.obstack = type { int, %struct._obstack_chunk*, sbyte*, sbyte*, sbyte*, int, int, %struct._obstack_chunk* (...)*, void (...)*, sbyte*, ubyte }
+%stmt_obstack = external global %struct.obstack		; <%struct.obstack*> [#uses=1]
+
+implementation   ; Functions:
+
+void %expand_start_bindings() {
+entry:
+	br bool false, label %cond_true, label %cond_next
+
+cond_true:		; preds = %entry
+	%new_size.0.i = select bool false, int 0, int 0		; <int> [#uses=1]
+	%tmp.i = load uint* cast (ubyte* getelementptr (%struct.obstack* %stmt_obstack, int 0, uint 10) to uint*)		; <uint> [#uses=1]
+	%tmp.i = cast uint %tmp.i to ubyte		; <ubyte> [#uses=1]
+	%tmp21.i = and ubyte %tmp.i, 1		; <ubyte> [#uses=1]
+	%tmp22.i = seteq ubyte %tmp21.i, 0		; <bool> [#uses=1]
+	br bool %tmp22.i, label %cond_false30.i, label %cond_true23.i
+
+cond_true23.i:		; preds = %cond_true
+	ret void
+
+cond_false30.i:		; preds = %cond_true
+	%tmp35.i = tail call %struct._obstack_chunk* null( int %new_size.0.i )		; <%struct._obstack_chunk*> [#uses=0]
+	ret void
+
+cond_next:		; preds = %entry
+	ret void
+}