# HG changeset patch # User Christian Kamm # Date 1223818394 -7200 # Node ID 06c05906b05487255f0ace295038cb4ebac88a66 # Parent 9d6d32b969d75337268e5983214451735682e29e Always run SimplifyCFG to workaround LLVM bug 2613. diff -r 9d6d32b969d7 -r 06c05906b054 gen/toobj.cpp --- a/gen/toobj.cpp Sun Oct 12 15:31:24 2008 +0200 +++ b/gen/toobj.cpp Sun Oct 12 15:33:14 2008 +0200 @@ -20,6 +20,7 @@ #include "llvm/Module.h" #include "llvm/ModuleProvider.h" #include "llvm/PassManager.h" +#include "llvm/LinkAllPasses.h" #include "llvm/System/Program.h" #include "llvm/System/Path.h" #include "llvm/Support/raw_ostream.h" @@ -162,6 +163,12 @@ } } + // always run this pass to eliminate dead code that breaks debug info + llvm::PassManager pm; + pm.add(new llvm::TargetData(ir.module)); + pm.add(llvm::createCFGSimplificationPass()); + pm.run(*ir.module); + // run optimizer ldc_optimize_module(ir.module, global.params.optimizeLevel, global.params.llvmInline);