aboutsummaryrefslogtreecommitdiff
path: root/llvm/tools/llvm-cov/SourceCoverageViewText.cpp
diff options
context:
space:
mode:
authorJames Molloy <james.molloy@arm.com>2016-09-13 10:28:11 +0000
committerJames Molloy <james.molloy@arm.com>2016-09-13 10:28:11 +0000
commit3e4bc661345ff7c904bc4f895a2b0f312fd851f5 (patch)
tree5837694e91a45cc630acccb785f127fc28428ceb /llvm/tools/llvm-cov/SourceCoverageViewText.cpp
parent0d0bbfd63e4887b9848f0b2b6cbd6bf588ff869e (diff)
downloadllvm-3e4bc661345ff7c904bc4f895a2b0f312fd851f5.zip
llvm-3e4bc661345ff7c904bc4f895a2b0f312fd851f5.tar.gz
llvm-3e4bc661345ff7c904bc4f895a2b0f312fd851f5.tar.bz2
[ARM] Promote small global constants to constant pools
If a constant is unamed_addr and is only used within one function, we can save on the code size and runtime cost of an indirection by changing the global's storage to inside the constant pool. For example, instead of: ldr r0, .CPI0 bl printf bx lr .CPI0: &format_string format_string: .asciz "hello, world!\n" We can emit: adr r0, .CPI0 bl printf bx lr .CPI0: .asciz "hello, world!\n" This can cause significant code size savings when many small strings are used in one function (4 bytes per string). llvm-svn: 281314
Diffstat (limited to 'llvm/tools/llvm-cov/SourceCoverageViewText.cpp')
0 files changed, 0 insertions, 0 deletions