aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen/RegAllocLinearScan.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
commitf4f5a77fdc8e3b3cdcbe247ce28d480519d5162c (patch)
tree9da5be1ecc3a12a651f48b4151691d14e5d58dfa /lib/CodeGen/RegAllocLinearScan.cpp
parent99266d81a2a1fddd8c8587367b9ba83cf7e02efe (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