diff --git a/gen/linker.cpp b/gen/linker.cpp index c6a1c199..98fb17fe 100644 --- a/gen/linker.cpp +++ b/gen/linker.cpp @@ -108,21 +108,22 @@ int linkExecutable(const char* argv0) switch(global.params.optimizeLevel) { case 0: - s = "-O0"; break; + args.push_back("-disable-opt"); + args.push_back("-globaldce"); + break; case 1: - s = "-O1"; break; + args.push_back("-disable-opt"); + args.push_back("-globaldce"); + args.push_back("-mem2reg"); case 2: - s = "-O2"; break; case 3: - s = "-O3"; break; case 4: - s = "-O4"; break; case 5: - s = "-O5"; break; + // use default optimization + break; default: assert(0); } - args.push_back(s); } // inlining @@ -156,6 +157,10 @@ int linkExecutable(const char* argv0) args.push_back("-ldl"); args.push_back("-lm"); } + else if (global.params.isWindows) + { + // FIXME: I'd assume kernel32 etc + } // object files for (int i = 0; i < global.params.objfiles->dim; i++) diff --git a/gen/toobj.cpp b/gen/toobj.cpp index d357decd..127a19b9 100644 --- a/gen/toobj.cpp +++ b/gen/toobj.cpp @@ -175,7 +175,7 @@ void Module::genobjfile(int multiobj) // write bytecode { - Logger::println("Writing LLVM bitcode\n"); + Logger::println("Writing LLVM bitcode to: %s\n", bcpath.c_str()); std::ofstream bos(bcpath.c_str(), std::ios::binary); llvm::WriteBitcodeToFile(ir.module, bos); } diff --git a/llvmdc.kdevelop.filelist b/llvmdc.kdevelop.filelist index 2cdbb9a2..3377f550 100644 --- a/llvmdc.kdevelop.filelist +++ b/llvmdc.kdevelop.filelist @@ -58,8 +58,6 @@ dmd/macro.h dmd/mangle.c dmd/mars.c dmd/mars.h -dmd/md5.c -dmd/md5.h dmd/mem.c dmd/mem.h dmd/module.c