diff --git a/configure.ac b/configure.ac
index 7ebdcad7ab17dc54ed46e8e08085b4a04612dc69..dbd91685b02fea84e453538eea6e08c782315af6 100644
--- a/configure.ac
+++ b/configure.ac
@@ -554,8 +554,8 @@ AC_SUBST(InstallNameToolCmd)
 # tools we are looking for. In the past, GHC supported a number of
 # versions of LLVM simultaneously, but that stopped working around
 # 3.5/3.6 release of LLVM.
-LlvmMinVersion=10  # inclusive
-LlvmMaxVersion=15 # not inclusive
+LlvmMinVersion=11  # inclusive
+LlvmMaxVersion=16 # not inclusive
 AC_SUBST([LlvmMinVersion])
 AC_SUBST([LlvmMaxVersion])
 sUPPORTED_LLVM_VERSION_MIN=$(echo \($LlvmMinVersion\) | sed 's/\./,/')
diff --git a/llvm-passes b/llvm-passes
index 14eb62d87cff5838a3bb074b26f8b2b18b30af11..52d203e74501ee2f753c14218ea64aecb49931ce 100644
--- a/llvm-passes
+++ b/llvm-passes
@@ -1,5 +1,5 @@
 [
-(0, "-mem2reg -globalopt -lower-expect"),
-(1, "-O1 -globalopt"),
-(2, "-O2")
+(0, "-enable-new-pm=0 -mem2reg -globalopt -lower-expect"),
+(1, "-enable-new-pm=0 -O1 -globalopt"),
+(2, "-enable-new-pm=0 -O2")
 ]