aboutsummaryrefslogtreecommitdiffstats
path: root/lib/DebugInfo/DWARFDebugInfoEntry.h
diff options
context:
space:
mode:
authorEli Bendersky <eliben@google.com>2013-01-15 23:22:09 +0000
committerEli Bendersky <eliben@google.com>2013-01-15 23:22:09 +0000
commit9ccb76998f741a7d3f0f217392a783dfb99c6e87 (patch)
tree4f87f004af99d84cd1e61b3fbb2b5814441feba0 /lib/DebugInfo/DWARFDebugInfoEntry.h
parent1c99a7f4892a24eb227802e042917d05d8cd415f (diff)
downloadexternal_llvm-9ccb76998f741a7d3f0f217392a783dfb99c6e87.zip
external_llvm-9ccb76998f741a7d3f0f217392a783dfb99c6e87.tar.gz
external_llvm-9ccb76998f741a7d3f0f217392a783dfb99c6e87.tar.bz2
Optimize the memory usage of MC bundling, by creating a new type of fragment
into which we can emit single instructions without fixups (which is most instructions). This is an optimization required because MCDataFragment is prety large (240 bytes on x64), with no change in functionality. For large programs, this reduces memory usage overhead required for bundling by 40%. To make the code as palatable as possible, the MCEncodedFragment interface was further fragmented (no pun intended) and MCEncodedFragmentWithFixups is used as the interface to work against when the user expects fixups. MCDataFragment and MCRelaxableFragment implement this interface, while the new MCCompactEncodedInstFragment implements MCEncodeFragment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172572 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/DebugInfo/DWARFDebugInfoEntry.h')
0 files changed, 0 insertions, 0 deletions