diff options
Diffstat (limited to 'tools/llvm-ld/Optimize.cpp')
-rw-r--r-- | tools/llvm-ld/Optimize.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/tools/llvm-ld/Optimize.cpp b/tools/llvm-ld/Optimize.cpp index c676809f77..5dc9424be9 100644 --- a/tools/llvm-ld/Optimize.cpp +++ b/tools/llvm-ld/Optimize.cpp @@ -163,6 +163,9 @@ void Optimize(Module* M) { // Cleanup and simplify the code after the scalar optimizations. addPass(Passes, createInstructionCombiningPass()); + // Delete basic blocks, which optimization passes may have killed... + addPass(Passes, createCFGSimplificationPass()); + // Now that we have optimized the program, discard unreachable functions... addPass(Passes, createGlobalDCEPass()); } |