From 7f47b0c271931466d8ce88c0928ff2bef8f8109f Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Tue, 11 Apr 2017 03:37:44 -0400 Subject: run alwaysinline pass in debug mode before this commit, the optimized IR code that is displayed in --verbose mode is not actually what gets emitted to an object file. that is now corrected, and we make sure to run the alwaysinliner pass even in debug mode, so you can rely on "inline" keyword inlining a function, guaranteed. See #306 --- src/link.cpp | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) (limited to 'src/link.cpp') diff --git a/src/link.cpp b/src/link.cpp index ebabdd46aa..b9328eff28 100644 --- a/src/link.cpp +++ b/src/link.cpp @@ -746,18 +746,10 @@ void codegen_link(CodeGen *g, const char *out_file) { buf_resize(&lj.out_file, 0); } - bool is_optimized = g->is_release_build; - if (is_optimized) { - if (g->verbose) { - fprintf(stderr, "\nOptimization:\n"); - fprintf(stderr, "---------------\n"); - } - - ZigLLVMOptimizeModule(g->target_machine, g->module); - - if (g->verbose) { - LLVMDumpModule(g->module); - } + if (g->verbose) { + fprintf(stderr, "\nOptimization:\n"); + fprintf(stderr, "---------------\n"); + LLVMDumpModule(g->module); } if (g->verbose) { fprintf(stderr, "\nLink:\n"); -- cgit v1.2.3