diff options
| author | Peter Smith <peter.smith@linaro.org> | 2016-07-08 11:13:40 +0000 |
|---|---|---|
| committer | Peter Smith <peter.smith@linaro.org> | 2016-07-08 11:13:40 +0000 |
| commit | de01b98a26468ce579bd2f662a46a4d856f6bb87 (patch) | |
| tree | ebdecead72c0115e05879da3859c8ed9249e4a14 /llvm/lib/CodeGen/SafeStackLayout.cpp | |
| parent | 67d58216956633f86aef0c1bd99c955cafa4dabb (diff) | |
| download | bcm5719-llvm-de01b98a26468ce579bd2f662a46a4d856f6bb87.tar.gz bcm5719-llvm-de01b98a26468ce579bd2f662a46a4d856f6bb87.zip | |
Add Thunk support framework for ARM and Mips
Generalise the Mips LA25 Thunk code and implement ARM and Thumb
interworking Thunks.
- Introduce a new module Thunks.cpp to store the Target Specific Thunk
implementations.
- DefinedRegular and Shared have a ThunkData field to record Thunk.
- A Target can have more than one type of Thunk.
- Support PC-relative calls to Thunks.
- Support Thunks to PLT entries.
- Existing Mips LA25 Thunk code integrated.
- Support for ARMv7A interworking Thunks.
Limitations:
- Only one Thunk per SymbolBody, this is sufficient for all currently
implemented Thunks.
- ARM thunks assume presence of V6T2 MOVT and MOVW instructions.
Differential revision: http://reviews.llvm.org/D21891
llvm-svn: 274836
Diffstat (limited to 'llvm/lib/CodeGen/SafeStackLayout.cpp')
0 files changed, 0 insertions, 0 deletions

