diff options
| author | lachsinc <lachlansinclair@gmail.com> | 2018-09-18 14:17:43 +1000 |
|---|---|---|
| committer | lachsinc <lachlansinclair@gmail.com> | 2018-09-18 14:17:43 +1000 |
| commit | 8a789e33b03e7842f36205cbb5a41c3a87134c77 (patch) | |
| tree | 29dc6761a8ce3215acba76a14aea263cf7218654 /src/main.cpp | |
| parent | 2f86f8f8e0618a88c2794362e5f99db29876ef9d (diff) | |
Remove llc/opt hack. XX.bc now contains useful debug info thanks to removal of optimization flags in debug builds.
Diffstat (limited to 'src/main.cpp')
| -rw-r--r-- | src/main.cpp | 20 |
1 files changed, 2 insertions, 18 deletions
diff --git a/src/main.cpp b/src/main.cpp index 8e250b799..ed72b5f0a 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -661,16 +661,10 @@ void remove_temp_files(String output_base) { } i32 exec_llvm_opt(String output_base) { - // NOTE(lachsinc): See note below in exec_llvm_llc. - if (build_context.ODIN_DEBUG == true) return 0; - #if defined(GB_SYSTEM_WINDOWS) // For more passes arguments: http://llvm.org/docs/Passes.html return system_exec_command_line_app("llvm-opt", false, "\"%.*sbin/opt\" \"%.*s.ll\" -o \"%.*s.bc\" %.*s " - "-mem2reg " - "-memcpyopt " - "-die " "", LIT(build_context.ODIN_ROOT), LIT(output_base), LIT(output_base), @@ -680,9 +674,6 @@ i32 exec_llvm_opt(String output_base) { // with the Windows version, while they will be system-provided on MacOS and GNU/Linux return system_exec_command_line_app("llvm-opt", false, "opt \"%.*s.ll\" -o \"%.*s.bc\" %.*s " - "-mem2reg " - "-memcpyopt " - "-die " "", LIT(output_base), LIT(output_base), LIT(build_context.opt_flags)); @@ -690,21 +681,15 @@ i32 exec_llvm_opt(String output_base) { } i32 exec_llvm_llc(String output_base) { - // NOTE(lachsinc): HACK!! opt.exe seems to strip away CodeView/PDB symbols regardless of - // To get around this we will use the non-optimized (.ll) version during debug build. - // There's probably better way to deal with this involving arguments or passing - // additional things (.ll file) into llc. - #if defined(GB_SYSTEM_WINDOWS) // For more arguments: http://llvm.org/docs/CommandGuide/llc.html return system_exec_command_line_app("llvm-llc", false, - "\"%.*sbin\\llc\" \"%.*s%s\" -filetype=obj -O%d " + "\"%.*sbin\\llc\" \"%.*s.bc\" -filetype=obj -O%d " "-o \"%.*s.obj\" " "%.*s " "", LIT(build_context.ODIN_ROOT), LIT(output_base), - build_context.ODIN_DEBUG ? ".ll" : ".bc", build_context.optimization_level, LIT(output_base), LIT(build_context.llc_flags)); @@ -712,12 +697,11 @@ i32 exec_llvm_llc(String output_base) { // NOTE(zangent): Linux / Unix is unfinished and not tested very well. // For more arguments: http://llvm.org/docs/CommandGuide/llc.html return system_exec_command_line_app("llc", false, - "llc \"%.*s%s\" -filetype=obj -relocation-model=pic -O%d " + "llc \"%.*s.bc\" -filetype=obj -relocation-model=pic -O%d " "%.*s " "%s" "", LIT(output_base), - build_context.ODIN_DEBUG ? ".ll" : ".bc", build_context.optimization_level, LIT(build_context.llc_flags), str_eq_ignore_case(cross_compile_target, str_lit("Essence")) ? "-mtriple=x86_64-pc-none-elf" : ""); |