commit b018c64ca2c92f5d6a4d3e5dcdfdc0cf70680027 (tree)
parent fe354ebb5c71aa6c5600251d2c3db53b8c5dc8eb
Author: Andrew Kelley <superjoe30@gmail.com>
Date: Sun, 25 Feb 2018 18:09:39 -0500
add coroutine LLVM passes
Diffstat:
1 file changed, 3 insertions(+), 0 deletions(-)
diff --git 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);