summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/RegAllocBasic.cpp
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2016-04-13 01:40:19 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2016-04-13 01:40:19 +0000
commit22ef956a45e01463f24e7b7d335606f301865b3f (patch)
tree93303525128c2a4476d31d02ef530599fec90405 /llvm/lib/CodeGen/RegAllocBasic.cpp
parentb2d2a018d6383f6e568de4de056f80433f32bf5f (diff)
downloadbcm5719-llvm-22ef956a45e01463f24e7b7d335606f301865b3f.tar.gz
bcm5719-llvm-22ef956a45e01463f24e7b7d335606f301865b3f.zip
Change how we apply relocations.
With this patch we use the first scan over the relocations to remember the information we found about them: will them be relaxed, will a plt be used, etc. With that the actual relocation application becomes much simpler. That is particularly true for the interfaces in Target.h. This unfortunately means that we now do two passes over relocations for non SHF_ALLOC sections. I think this can be solved by factoring out the code that scans a single relocation. It can then be used both as a scan that record info and for a dedicated direct relocation of non SHF_ALLOC sections. I also think it is possible to reduce the number of enum values by representing a target with just an OutputSection and an offset (which can be from the start or end). This should unblock adding features like relocation optimizations. llvm-svn: 266158
Diffstat (limited to 'llvm/lib/CodeGen/RegAllocBasic.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud