Speculatively revert 112699 and 112702, they seem to be causing
self host errors on clang-x86-64.

llvm-svn: 112719
diff --git a/llvm/lib/Transforms/Scalar/LICM.cpp b/llvm/lib/Transforms/Scalar/LICM.cpp
index 85ed358..fa71ab5 100644
--- a/llvm/lib/Transforms/Scalar/LICM.cpp
+++ b/llvm/lib/Transforms/Scalar/LICM.cpp
@@ -526,7 +526,7 @@
   SSAUpdater SSA(&NewPHIs);
   
   if (!I.use_empty())
-    SSA.Initialize(I.getType(), I.getName());
+    SSA.Initialize(&I);
   
   // Insert a copy of the instruction in each exit block of the loop that is
   // dominated by the instruction.  Each exit block is known to only be in the
@@ -728,7 +728,7 @@
     SomeValue = LoopUses[0];
   else
     SomeValue = cast<StoreInst>(LoopUses[0])->getOperand(0);
-  SSA.Initialize(SomeValue->getType(), SomeValue->getName());
+  SSA.Initialize(SomeValue);
 
   // First step: bucket up uses of the pointers by the block they occur in.
   // This is important because we have to handle multiple defs/uses in a block