aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
diff options
context:
space:
mode:
authorManman Ren <manman.ren@gmail.com>2014-03-25 00:16:25 +0000
committerManman Ren <manman.ren@gmail.com>2014-03-25 00:16:25 +0000
commit78cf02a07b601e1c2b5f4c02fb7f5296a18729ef (patch)
treef1faacb0b9c5429fd5f9a0f44eafdf7cdd5d58c5 /llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
parent2f2c876e4f342ce4a1d103fb4e9b2c65372df8a1 (diff)
downloadllvm-78cf02a07b601e1c2b5f4c02fb7f5296a18729ef.zip
llvm-78cf02a07b601e1c2b5f4c02fb7f5296a18729ef.tar.gz
llvm-78cf02a07b601e1c2b5f4c02fb7f5296a18729ef.tar.bz2
Register Allocator: check other options before using a CSR for the first time.
When register allocator's stage is RS_Spill, we choose spill over using the CSR for the first time, if the spill cost is lower than CSRCost. When register allocator's stage is < RS_Split, we choose pre-splitting over using the CSR for the first time, if the cost of splitting is lower than CSRCost. CSRCost is set with command-line option "regalloc-csr-first-time-cost". The default value is 0 to generate the same codes as before this commit. With a value of 15 (1 << 14 is the entry frequency), I measured performance gain of 3% on 253.perlbmk and 1.7% on 197.parser, with instrumented PGO, on an arm device. rdar://16162005 llvm-svn: 204690
Diffstat (limited to 'llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp')
0 files changed, 0 insertions, 0 deletions