aboutsummaryrefslogtreecommitdiff
path: root/src/zig_llvm.cpp
diff options
context:
space:
mode:
authorAndrew Kelley <superjoe30@gmail.com>2018-02-25 18:09:39 -0500
committerAndrew Kelley <superjoe30@gmail.com>2018-02-25 18:09:39 -0500
commitb018c64ca2c92f5d6a4d3e5dcdfdc0cf70680027 (patch)
tree76425a06065c2726dabdc7f020667c5a8cc973db /src/zig_llvm.cpp
parentfe354ebb5c71aa6c5600251d2c3db53b8c5dc8eb (diff)
downloadzig-b018c64ca2c92f5d6a4d3e5dcdfdc0cf70680027.tar.gz
zig-b018c64ca2c92f5d6a4d3e5dcdfdc0cf70680027.zip
add coroutine LLVM passes
Diffstat (limited to 'src/zig_llvm.cpp')
-rw-r--r--src/zig_llvm.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/zig_llvm.cpp b/src/zig_llvm.cpp
index 34defc6dc6..16a087cee4 100644
--- a/src/zig_llvm.cpp
+++ b/src/zig_llvm.cpp
@@ -32,6 +32,7 @@
#include <llvm/Support/TargetParser.h>
#include <llvm/Support/raw_ostream.h>
#include <llvm/Target/TargetMachine.h>
+#include <llvm/Transforms/Coroutines.h>
#include <llvm/Transforms/IPO.h>
#include <llvm/Transforms/IPO/PassManagerBuilder.h>
#include <llvm/Transforms/IPO/AlwaysInliner.h>
@@ -129,6 +130,8 @@ bool ZigLLVMTargetMachineEmitToFile(LLVMTargetMachineRef targ_machine_ref, LLVMM
PMBuilder->Inliner = createFunctionInliningPass(PMBuilder->OptLevel, PMBuilder->SizeLevel, false);
}
+ addCoroutinePassesToExtensionPoints(*PMBuilder);
+
// Set up the per-function pass manager.
legacy::FunctionPassManager FPM = legacy::FunctionPassManager(module);
auto tliwp = new(std::nothrow) TargetLibraryInfoWrapperPass(tlii);