diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2017-05-18 16:45:36 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2017-05-18 16:45:36 +0000 |
commit | a6465bbb726badf86e520d15d29b6a65a2d1007d (patch) | |
tree | da6e6a0d2e88de46f878ca93d433ad7def4d8c1f /llvm/lib/CodeGen/StackProtector.cpp | |
parent | 246c1c47ea6137b5b36352e84eadb3329d7fcba2 (diff) | |
download | bcm5719-llvm-a6465bbb726badf86e520d15d29b6a65a2d1007d.tar.gz bcm5719-llvm-a6465bbb726badf86e520d15d29b6a65a2d1007d.zip |
Alternative way to detemplate GotSection.
GetSection is a template because write calls relocate.
relocate has two parts. The non alloc code really has to be a
template, as it is looking a raw input file data.
The alloc part is only a template because of getSize.
This patch folds the value of getSize early, detemplates
getRelocTargetVA and splits relocate into a templated non alloc case
and a regular function for the alloc case. This has the nice advantage
of making sure we collect all the information we need for relocations
before getting to InputSection::relocateNonAlloc.
Since we know got is alloc, it can just call the function directly and
avoid the template.
llvm-svn: 303355
Diffstat (limited to 'llvm/lib/CodeGen/StackProtector.cpp')
0 files changed, 0 insertions, 0 deletions