summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/LiveIntervals.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2004-02-22 19:47:26 +0000
committerChris Lattner <sabre@nondot.org>2004-02-22 19:47:26 +0000
commitcdd56634b0a851253cb38def58704de9e451da30 (patch)
tree476b1d05f8d2f5c645416f67a5da43b9032a7428 /llvm/lib/CodeGen/LiveIntervals.cpp
parent19aef9e75758f38de90b5917d1315b4f1a7b475a (diff)
downloadbcm5719-llvm-cdd56634b0a851253cb38def58704de9e451da30.tar.gz
bcm5719-llvm-cdd56634b0a851253cb38def58704de9e451da30.zip
Only insert FP_REG_KILL instructions in MachineBasicBlocks that actually
use FP instructions. This reduces the number of instructions inserted in 176.gcc (for example) from 58074 to 101 (it doesn't use much FP, which is typical). This reduction speeds up the entire code generator. In the case of 176.gcc, llc went from taking 31.38s to 24.78s. The passes that sped up the most are the register allocator and the 2 live variable analysis passes, which sped up 2.3, 1.3, and 1.5s respectively. The asmprinter pass also sped up because it doesn't print the instructions in comments :) Note that this patch is likely to expose latent bugs in machine code passes, because now basicblock can be empty, where they were never empty before. I cleaned out regalloclocal, but who knows about linscan :) llvm-svn: 11717
Diffstat (limited to 'llvm/lib/CodeGen/LiveIntervals.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud