llvm-link: Verify input modules

Otherwise, broken input modules can cause assertions.  I've updated two
of the testcases that started failing (modules that had `Require` flags
but didn't meet their own requirements), but Rafael and I decided that
test/Linker/2011-08-22-ResolveAlias.ll should just be deleted outright
-- it's a leftover of the way llvm-gcc used to implement weakref.

llvm-svn: 233229
diff --git a/llvm/test/Linker/broken.ll b/llvm/test/Linker/broken.ll
new file mode 100644
index 0000000..2276401
--- /dev/null
+++ b/llvm/test/Linker/broken.ll
@@ -0,0 +1,8 @@
+; RUN: not llvm-link -o /dev/null %s 2>&1 | FileCheck %s
+
+; CHECK: input module '{{.*}}broken.ll' is broken
+define i32 @foo(i32 %v) {
+  %first = add i32 %v, %second
+  %second = add i32 %v, 3
+  ret i32 %first
+}