diff options
author | Chris Lattner <sabre@nondot.org> | 2006-05-10 19:00:36 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2006-05-10 19:00:36 +0000 |
commit | f4f5a77fdc8e3b3cdcbe247ce28d480519d5162c (patch) | |
tree | 9da5be1ecc3a12a651f48b4151691d14e5d58dfa /lib/CodeGen/RegAllocLinearScan.cpp | |
parent | 99266d81a2a1fddd8c8587367b9ba83cf7e02efe (diff) |
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).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28215 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/RegAllocLinearScan.cpp')
0 files changed, 0 insertions, 0 deletions