summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/X86/X86FrameLowering.h
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2017-10-03 20:59:43 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2017-10-03 20:59:43 +0000
commit476a7f9293df6c4d86ac672f33b483af980aed86 (patch)
tree1bb111111650c9a8674d2f353248248a6f961d35 /llvm/lib/Target/X86/X86FrameLowering.h
parenta952b44ed5d5db77bcc8a6d8b399cb713695914a (diff)
downloadbcm5719-llvm-476a7f9293df6c4d86ac672f33b483af980aed86.tar.gz
bcm5719-llvm-476a7f9293df6c4d86ac672f33b483af980aed86.zip
Pre-compute the tail of the archive
An archive looks like <header> <symbol table> <tail> The symbol table refers to offsets in the tail. A complication is that we would like to support symbol tables that use 64 bit offsets if it turns out that any of the offsets is too big. This patch changes the archive writer to first compute the tail. We cannot just compute one big StringRef since that would require reading every member upfront, but we can represent it as a series of StringRefs. Having done that it is much easier to compute the symbol table and all offsets are computed before it is written. With this if there is an accounting problem it will show up with a regular symbol table, not just when a 64 bit one is needed. llvm-svn: 314844
Diffstat (limited to 'llvm/lib/Target/X86/X86FrameLowering.h')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud