[RISCV] Correct Logic around ilp32e macros
authorSam Elliott <selliott@lowrisc.org>
Tue, 3 Sep 2019 08:47:58 +0000 (08:47 +0000)
committerSam Elliott <selliott@lowrisc.org>
Tue, 3 Sep 2019 08:47:58 +0000 (08:47 +0000)
commit03c9e139c7a71a0d44e382c0f6ca1064cfd97590
treec604a3ad6d31693967e4dfebd53062692e71b6c6
parent0469b0e4ef71ae4ae1f81055bc5399e04ac11927
[RISCV] Correct Logic around ilp32e macros

Summary:
GCC seperates the `__riscv_float_abi_*` macros and the
`__riscv_abi_rve` macro. If the chosen abi is ilp32e, `gcc -march=rv32i
-mabi=ilp32i -E -dM` shows that both `__riscv_float_abi_soft` and
`__riscv_abi_rve` are set.

This patch corrects the compiler logic around these defines.

At the moment, this patch will not change clang's behaviour, because we do not
accept the `ilp32e` abi yet.

Reviewers: luismarques, asb

Reviewed By: luismarques

Subscribers: rbar, johnrusso, simoncook, apazos, sabuasal, niosHD, kito-cheng, shiva0217, jrtc27, MaskRay, zzheng, edward-jones, rogfer01, MartinMosbeck, brucehoult, the_o, rkruppe, PkmX, jocewei, psnobl, benna, Jim, s.egerton, pzheng, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D66591

llvm-svn: 370709
clang/lib/Basic/Targets/RISCV.cpp