summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms
diff options
context:
space:
mode:
authorJakob Stoklund Olesen <stoklund@2pi.dk>2010-07-16 16:38:12 +0000
committerJakob Stoklund Olesen <stoklund@2pi.dk>2010-07-16 16:38:12 +0000
commit0e5fb020a040c1e504e1b503939c01a66e799f09 (patch)
treedddbb9557d1e37b00031bcdcba068df2e6a95d38 /llvm/lib/Transforms
parent1ea025bef936ff80bc0e1d9ac0782fe1c806d77f (diff)
downloadbcm5719-llvm-0e5fb020a040c1e504e1b503939c01a66e799f09.tar.gz
bcm5719-llvm-0e5fb020a040c1e504e1b503939c01a66e799f09.zip
Allow x87 FP registers to be alive globally in a function.
FP_REG_KILL instructions are still inserted, but can be disabled by passing -live-x87 to llc. The X87FPRegKillInserterPass is going to be removed shortly. CFG edges are partioned into bundles where the x87 stack must be allocated identically. Code is insertad at the end of each basic block that shuffles the live FP registers to match the outgoing bundles expectations. This fix is in preparation for some upcoming register allocator improvements that may extend the live range of registers beyond a basic block, similar to LICM. It also provides a nice runtime speedup if you are building with -mfpmath=387. llvm-svn: 108529
Diffstat (limited to 'llvm/lib/Transforms')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud