diff --git a/README.md b/README.md
index e3a6bfa..86bbe8a 100644
--- a/README.md
+++ b/README.md
@@ -47,9 +47,9 @@
 % cd workarea
 
 // Sources
-% git clone http://llvm.org/git/llvm.git
+% git clone https://github.com/llvm/llvm-project.git
 ...
-% cd llvm/tools
+% cd llvm-project/llvm/tools
 % git clone https://go.googlesource.com/gollvm
 ...
 % cd gollvm
@@ -73,7 +73,7 @@
 % cd workarea
 % mkdir build-debug
 % cd build-debug
-% cmake -DCMAKE_BUILD_TYPE=Debug -DLLVM_USE_LINKER=gold -G Ninja ../llvm
+% cmake -DCMAKE_BUILD_TYPE=Debug -DLLVM_USE_LINKER=gold -G Ninja ../llvm-project/llvm
 ...
 % ninja gollvm
 ...
@@ -91,7 +91,7 @@
 ```
 % mkdir build.rel
 % cd build.rel
-% cmake -DCMAKE_INSTALL_PREFIX=/my/install/dir -DCMAKE_BUILD_TYPE=Release -DLLVM_USE_LINKER=gold -G Ninja ../llvm
+% cmake -DCMAKE_INSTALL_PREFIX=/my/install/dir -DCMAKE_BUILD_TYPE=Release -DLLVM_USE_LINKER=gold -G Ninja ../llvm-project/llvm
 
 // Build all of gollvm
 % ninja gollvm
diff --git a/cmake/modules/ConfigSetup.cmake b/cmake/modules/ConfigSetup.cmake
index dc271ed..f0a0e41 100644
--- a/cmake/modules/ConfigSetup.cmake
+++ b/cmake/modules/ConfigSetup.cmake
@@ -136,9 +136,7 @@
 # Issue an error if the C compiler doesn't support -fsplit-stack
 # (in theory you can build libgo without it, so I suppose this could
 # be changed to a warning).
-if(NOT C_SUPPORTS_SPLIT_STACK)
-  message(SEND_ERROR "C compiler does not support -fsplit-stack")
-else()
+if(C_SUPPORTS_SPLIT_STACK)
   set(USING_SPLIT_STACK 1)
 endif()
 set(USE_LIBFFI 1)
diff --git a/driver/CompileGo.cpp b/driver/CompileGo.cpp
index 4d04c31..5c64b4b 100644
--- a/driver/CompileGo.cpp
+++ b/driver/CompileGo.cpp
@@ -929,7 +929,7 @@
 
   legacy::PassManager codeGenPasses;
   bool noverify = args_.hasArg(gollvm::options::OPT_noverify);
-  TargetMachine::CodeGenFileType ft = TargetMachine::CGFT_AssemblyFile;
+  CodeGenFileType ft = CGFT_AssemblyFile;
 
   // Add passes to emit bitcode or LLVM IR as appropriate. Here we mimic
   // clang behavior, which is to emit bitcode when "-emit-llvm" is specified
diff --git a/passes/GC.cpp b/passes/GC.cpp
index cba387d..adc7cbb 100644
--- a/passes/GC.cpp
+++ b/passes/GC.cpp
@@ -24,6 +24,7 @@
 #include "llvm/MC/MCObjectFileInfo.h"
 #include "llvm/MC/MCStreamer.h"
 #include "llvm/Support/Casting.h"
+#include "llvm/Support/CommandLine.h"
 #include <vector>
 
 using namespace llvm;
diff --git a/passes/GoNilChecks.cpp b/passes/GoNilChecks.cpp
index 955366f..753db33 100644
--- a/passes/GoNilChecks.cpp
+++ b/passes/GoNilChecks.cpp
@@ -53,6 +53,7 @@
 #include "llvm/MC/MCInstrDesc.h"
 #include "llvm/MC/MCRegisterInfo.h"
 #include "llvm/Pass.h"
+#include "llvm/InitializePasses.h"
 #include "llvm/Support/CommandLine.h"
 #include <cassert>
 #include <cstdint>
diff --git a/passes/GoStatepoints.cpp b/passes/GoStatepoints.cpp
index bc3d81c..a6801ba 100644
--- a/passes/GoStatepoints.cpp
+++ b/passes/GoStatepoints.cpp
@@ -59,6 +59,7 @@
 #include "llvm/IR/Value.h"
 #include "llvm/IR/ValueHandle.h"
 #include "llvm/Pass.h"
+#include "llvm/InitializePasses.h"
 #include "llvm/Support/Casting.h"
 #include "llvm/Support/CommandLine.h"
 #include "llvm/Support/Compiler.h"
@@ -1701,7 +1702,7 @@
               IRBuilder<> Builder(&I);
               Value *Zero = Constant::getNullValue(Int8Ty);
               Value *Siz = I.getOperand(0);
-              Builder.CreateMemSet(V, Zero, Siz, 0);
+              Builder.CreateMemSet(V, Zero, Siz, MaybeAlign(0));
             }
             InstToDelete.push_back(&I);
           }
@@ -2913,7 +2914,7 @@
       for (Value *Alloca : ToClobber) {
         unsigned Siz =
             DL.getTypeStoreSize(Alloca->getType()->getPointerElementType());
-        Builder.CreateMemSet(Alloca, Bad, Siz, 0);
+        Builder.CreateMemSet(Alloca, Bad, Siz, MaybeAlign(0));
         //dbgs() << "clobber " << *Alloca << " at " << *Inst << "\n";
       }
     }
