Change the GlobalAlias constructor to look a bit more like GlobalVariable.

This is part of the fix for pr10367. A GlobalAlias always has a pointer type,
so just have the constructor build the type.

llvm-svn: 208983
diff --git a/llvm/lib/Transforms/Utils/CloneModule.cpp b/llvm/lib/Transforms/Utils/CloneModule.cpp
index 5d180a54..1a36414 100644
--- a/llvm/lib/Transforms/Utils/CloneModule.cpp
+++ b/llvm/lib/Transforms/Utils/CloneModule.cpp
@@ -67,8 +67,10 @@
   // Loop over the aliases in the module
   for (Module::const_alias_iterator I = M->alias_begin(), E = M->alias_end();
        I != E; ++I) {
-    GlobalAlias *GA = new GlobalAlias(I->getType(), I->getLinkage(),
-                                      I->getName(), nullptr, New);
+    auto *PTy = cast<PointerType>(I->getType());
+    auto *GA =
+        new GlobalAlias(PTy->getElementType(), I->getLinkage(), I->getName(),
+                        nullptr, New, PTy->getAddressSpace());
     GA->copyAttributesFrom(I);
     VMap[I] = GA;
   }