Revert "Change memcpy/memset/memmove to have dest and source alignments."

This reverts commit r253511.

This likely broke the bots in
http://lab.llvm.org:8011/builders/clang-ppc64-elf-linux2/builds/20202
http://bb.pgr.jp/builders/clang-3stage-i686-linux/builds/3787

llvm-svn: 253543
diff --git a/llvm/lib/Transforms/Scalar/ScalarReplAggregates.cpp b/llvm/lib/Transforms/Scalar/ScalarReplAggregates.cpp
index 679e241..114d22d 100644
--- a/llvm/lib/Transforms/Scalar/ScalarReplAggregates.cpp
+++ b/llvm/lib/Transforms/Scalar/ScalarReplAggregates.cpp
@@ -716,7 +716,7 @@
         SrcPtr = Builder.CreateBitCast(SrcPtr, AIPTy);
 
         LoadInst *SrcVal = Builder.CreateLoad(SrcPtr, "srcval");
-        SrcVal->setAlignment(MTI->getSrcAlignment());
+        SrcVal->setAlignment(MTI->getAlignment());
         Builder.CreateStore(SrcVal, NewAI);
       } else if (GetUnderlyingObject(MTI->getDest(), DL, 0) != OrigAI) {
         // Src must be OrigAI, change this to be a load from NewAI then a store
@@ -733,7 +733,7 @@
         Value *DstPtr = Builder.CreateBitCast(MTI->getDest(), AIPTy);
 
         StoreInst *NewStore = Builder.CreateStore(SrcVal, DstPtr);
-        NewStore->setAlignment(MTI->getDestAlignment());
+        NewStore->setAlignment(MTI->getAlignment());
       } else {
         // Noop transfer. Src == Dst
       }
@@ -2182,8 +2182,7 @@
   // that doesn't have anything to do with the alloca that we are promoting. For
   // memset, this Value* stays null.
   Value *OtherPtr = nullptr;
-  unsigned DestMemAlignment = MI->getDestAlignment();
-  unsigned SrcMemAlignment = 0;
+  unsigned MemAlignment = MI->getAlignment();
   if (MemTransferInst *MTI = dyn_cast<MemTransferInst>(MI)) { // memmove/memcopy
     if (Inst == MTI->getRawDest())
       OtherPtr = MTI->getRawSource();
@@ -2191,7 +2190,6 @@
       assert(Inst == MTI->getRawSource());
       OtherPtr = MTI->getRawDest();
     }
-    SrcMemAlignment = MTI->getSrcAlignment();
   }
 
   // If there is an other pointer, we want to convert it to the same pointer
@@ -2237,8 +2235,7 @@
   for (unsigned i = 0, e = NewElts.size(); i != e; ++i) {
     // If this is a memcpy/memmove, emit a GEP of the other element address.
     Value *OtherElt = nullptr;
-    unsigned OtherDestEltAlign = DestMemAlignment;
-    unsigned OtherSrcEltAlign = SrcMemAlignment;
+    unsigned OtherEltAlign = MemAlignment;
 
     if (OtherPtr) {
       Value *Idx[2] = { Zero,
@@ -2261,8 +2258,7 @@
       // mem intrinsic and the alignment of the element.  If the alignment of
       // the memcpy (f.e.) is 32 but the element is at a 4-byte offset, then the
       // known alignment is just 4 bytes.
-      OtherDestEltAlign = (unsigned)MinAlign(OtherDestEltAlign, EltOffset);
-      OtherSrcEltAlign = (unsigned)MinAlign(OtherSrcEltAlign, EltOffset);
+      OtherEltAlign = (unsigned)MinAlign(OtherEltAlign, EltOffset);
     }
 
     Value *EltPtr = NewElts[i];
@@ -2273,13 +2269,12 @@
       if (isa<MemTransferInst>(MI)) {
         if (SROADest) {
           // From Other to Alloca.
-          Value *Elt = new LoadInst(OtherElt, "tmp", false,
-                                    OtherSrcEltAlign, MI);
+          Value *Elt = new LoadInst(OtherElt, "tmp", false, OtherEltAlign, MI);
           new StoreInst(Elt, EltPtr, MI);
         } else {
           // From Alloca to Other.
           Value *Elt = new LoadInst(EltPtr, "tmp", MI);
-          new StoreInst(Elt, OtherElt, false, OtherDestEltAlign, MI);
+          new StoreInst(Elt, OtherElt, false, OtherEltAlign, MI);
         }
         continue;
       }
@@ -2342,11 +2337,9 @@
       Value *Src = SROADest ? OtherElt : EltPtr;  // Src ptr
 
       if (isa<MemCpyInst>(MI))
-        Builder.CreateMemCpy(Dst, Src, EltSize, OtherDestEltAlign,
-                             OtherSrcEltAlign, MI->isVolatile());
+        Builder.CreateMemCpy(Dst, Src, EltSize, OtherEltAlign,MI->isVolatile());
       else
-        Builder.CreateMemMove(Dst, Src, EltSize, OtherDestEltAlign,
-                              OtherSrcEltAlign, MI->isVolatile());
+        Builder.CreateMemMove(Dst, Src, EltSize,OtherEltAlign,MI->isVolatile());
     }
   }
   DeadInsts.push_back(MI);