diff options
author | Alex Bradbury <asb@lowrisc.org> | 2019-03-30 17:59:30 +0000 |
---|---|---|
committer | Alex Bradbury <asb@lowrisc.org> | 2019-03-30 17:59:30 +0000 |
commit | 0b2803ee6578b50a536bfbacfba288cefa0172c6 (patch) | |
tree | 7520c7c2fdc6912d4f426ae47b8cbf8801653205 /clang/lib/Serialization/ModuleManager.cpp | |
parent | 10c9032c02394c6dd6102f4387cd315f19738616 (diff) | |
download | llvm-0b2803ee6578b50a536bfbacfba288cefa0172c6.zip llvm-0b2803ee6578b50a536bfbacfba288cefa0172c6.tar.gz llvm-0b2803ee6578b50a536bfbacfba288cefa0172c6.tar.bz2 |
[RISCV] Add codegen support for ilp32f, ilp32d, lp64f, and lp64d ("hard float") ABIs
This patch adds support for the RISC-V hard float ABIs, building on top of
rL355771, which added basic target-abi parsing and MC layer support. It also
builds on some re-organisations and expansion of the upstream ABI and calling
convention tests which were recently committed directly upstream.
A number of aspects of the RISC-V float hard float ABIs require frontend
support (e.g. flattening of structs and passing int+fp for fp+fp structs in a
pair of registers), and will be addressed in a Clang patch.
As can be seen from the tests, it would be worthwhile extending
RISCVMergeBaseOffsets to handle constant pool as well as global accesses.
Differential Revision: https://reviews.llvm.org/D59357
llvm-svn: 357352
Diffstat (limited to 'clang/lib/Serialization/ModuleManager.cpp')
0 files changed, 0 insertions, 0 deletions