aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/MachineBasicBlock.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2006-05-10 19:00:36 +0000
committerChris Lattner <sabre@nondot.org>2006-05-10 19:00:36 +0000
commita36ee4ea34ce3c31a474e9d5bcf03eacb1f57fa5 (patch)
treeb07db4b7fa66358ee6748668d546caa78f369c29 /llvm/lib/CodeGen/MachineBasicBlock.cpp
parent1a0e0c1c9e2be5ca5d8e1dbc5b6819f7cb473161 (diff)
downloadllvm-a36ee4ea34ce3c31a474e9d5bcf03eacb1f57fa5.zip
llvm-a36ee4ea34ce3c31a474e9d5bcf03eacb1f57fa5.tar.gz
llvm-a36ee4ea34ce3c31a474e9d5bcf03eacb1f57fa5.tar.bz2
Two changes:
1. Implement InstCombine/deadcode.ll by not adding instructions in unreachable blocks (due to constants in conditional branches/switches) to the worklist. This causes them to be deleted before instcombine starts up, leading to better optimization. 2. In the prepass over instructions, do trivial constprop/dce as we go. This has the effect of improving the effectiveness of #1. In addition, it *significantly* speeds up instcombine on test cases with large amounts of constant folding code (for example, that produced by code specialization or partial evaluation). In one example, it speeds up instcombine from 0.0589s to 0.0224s with a release build (a 2.6x speedup). llvm-svn: 28215
Diffstat (limited to 'llvm/lib/CodeGen/MachineBasicBlock.cpp')
0 files changed, 0 insertions, 0 deletions