zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

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:
Msrc/zig_llvm.cpp | 3+++
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);