Revert "Temporarily Revert "Add basic loop fusion pass.""

The reversion apparently deleted the test/Transforms directory.

Will be re-reverting again.

llvm-svn: 358552
diff --git a/llvm/test/Transforms/Inline/inline_dce.ll b/llvm/test/Transforms/Inline/inline_dce.ll
new file mode 100644
index 0000000..97d9f3f
--- /dev/null
+++ b/llvm/test/Transforms/Inline/inline_dce.ll
@@ -0,0 +1,36 @@
+; This checks to ensure that the inline pass deletes functions if they get 
+; inlined into all of their callers.
+
+; RUN: opt < %s -inline -S | \
+; RUN:   not grep @reallysmall
+
+define internal i32 @reallysmall(i32 %A) {
+; CHECK-NOT: @reallysmall
+entry:
+  ret i32 %A
+}
+
+define void @caller1() {
+; CHECK-LABEL: define void @caller1()
+entry:
+  call i32 @reallysmall(i32 5)
+; CHECK-NOT: call
+  ret void
+}
+
+define void @caller2(i32 %A) {
+; CHECK-LABEL: define void @caller2(i32 %A)
+entry:
+  call i32 @reallysmall(i32 %A)
+; CHECK-NOT: call
+  ret void
+}
+
+define i32 @caller3(i32 %A) {
+; CHECK-LABEL: define void @caller3(i32 %A)
+entry:
+  %B = call i32 @reallysmall(i32 %A)
+; CHECK-NOT: call
+  ret i32 %B
+}
+