gollvm: sync with LLVM trunks

LLVM trunk D64183 wrapped MachineModuleInfo as MachineModuleInfoWrapperPass.
Trunk D68142 changed the argument type of LoadInst::setAlignment function from
unsigned to llvm::MaybeAlign.
Trunk D68268 changed the argument type of StoreInst::setAlignment function from
unsigned to llvm::MaybeAlign.
Trunk D68297 removed the second argument of function llvm::removeUnreachableBlocks.

This CL syncs gollvm with these four LLVM trunks.

Change-Id: Id4c587cf3319f90a4424d300e151d9de789a6d8b
Reviewed-on: https://go-review.googlesource.com/c/gollvm/+/201379
Reviewed-by: Than McIntosh <thanm@google.com>
diff --git a/bridge/go-llvm-builtins.cpp b/bridge/go-llvm-builtins.cpp
index f860161..6f0f0b2 100644
--- a/bridge/go-llvm-builtins.cpp
+++ b/bridge/go-llvm-builtins.cpp
@@ -419,7 +419,7 @@
       llvmOrder(llvm::cast<llvm::ConstantInt>(args[1])->getZExtValue()) :
       llvm::AtomicOrdering::SequentiallyConsistent;
   load->setAtomic(o);
-  load->setAlignment(sz);
+  load->setAlignment(llvm::MaybeAlign(sz));
   return load;
 }
 
@@ -449,7 +449,7 @@
       llvmOrder(llvm::cast<llvm::ConstantInt>(args[2])->getZExtValue()) :
       llvm::AtomicOrdering::SequentiallyConsistent;
   store->setAtomic(o);
-  store->setAlignment(sz);
+  store->setAlignment(llvm::MaybeAlign(sz));
   return store;
 }
 
diff --git a/driver/CompileGo.cpp b/driver/CompileGo.cpp
index d47ad5e..4d04c31 100644
--- a/driver/CompileGo.cpp
+++ b/driver/CompileGo.cpp
@@ -965,8 +965,8 @@
     // Set PassConfig options provided by TargetMachine.
     passConfig->setDisableVerify(noverify);
     codeGenPasses.add(passConfig);
-    MachineModuleInfo *MMI = new MachineModuleInfo(lltm);
-    codeGenPasses.add(MMI);
+    MachineModuleInfoWrapperPass *MMIWP = new MachineModuleInfoWrapperPass(lltm);
+    codeGenPasses.add(MMIWP);
     passConfig->addISelPasses();
     passConfig->addMachinePasses();
     passConfig->setInitialized();
@@ -977,7 +977,7 @@
     if (enable_gc_)
       codeGenPasses.add(createGoAnnotationPass());
 
-    lltm->addAsmPrinter(codeGenPasses, *OS, nullptr, ft, MMI->getContext());
+    lltm->addAsmPrinter(codeGenPasses, *OS, nullptr, ft, MMIWP->getMMI().getContext());
 
     codeGenPasses.add(createFreeMachineFunctionPass());
   }
diff --git a/passes/GoStatepoints.cpp b/passes/GoStatepoints.cpp
index 9b272b9..bc3d81c 100644
--- a/passes/GoStatepoints.cpp
+++ b/passes/GoStatepoints.cpp
@@ -2122,7 +2122,7 @@
   // statepoints surviving this pass.  This makes testing easier and the
   // resulting IR less confusing to human readers.
   DomTreeUpdater DTU(DT, DomTreeUpdater::UpdateStrategy::Lazy);
-  bool MadeChange = removeUnreachableBlocks(F, nullptr, &DTU);
+  bool MadeChange = removeUnreachableBlocks(F, &DTU);
 
   // Rewrite all the calls that need statepoints to invokes, so we can
   // attach a stack map through its landing pad.