diff options
author | Ana Pazos <apazos@codeaurora.org> | 2018-04-25 22:42:38 +0000 |
---|---|---|
committer | Ana Pazos <apazos@codeaurora.org> | 2018-04-25 22:42:38 +0000 |
commit | c85505450ab6ad33a133516291bc268c0f09b572 (patch) | |
tree | 12e6660d6dfbf258cae730ed5e94011b78e8b758 /llvm/lib/MC/MCCodeView.cpp | |
parent | 5fcebff4851aa942d82df428990acf5c8410cf25 (diff) | |
download | llvm-c85505450ab6ad33a133516291bc268c0f09b572.zip llvm-c85505450ab6ad33a133516291bc268c0f09b572.tar.gz llvm-c85505450ab6ad33a133516291bc268c0f09b572.tar.bz2 |
[RISCV] More validations on the input value of -march=
Supporting additional rules for parsing ISA string.
- RISC-V ISA strings must be lowercase.
E.g.: rv32IMC is not supported, rv32imc is correct.
- Multi-letter extensions are to be separated by a single
underscore '_'. The extension prefix counts as a letter.
This means extensions that start with 's', 'sx' and 'sx'
are all multi-letter.
E.g.:
xasb is a single non-standard extension named 'xasb'
xa_sb are two extensions, the non-standard user level extension
'xa', and the supervisor level extension 'sb'.
- Standard user-level extensions are specified following
a canonical order, according to Table 22.1 in
RISC-V User-Level ISA V2.2.
- Non-standard user-level 'x' extensions,
standard supervisor-level 's' extensions and
non-standard supervisor-level 'sx' extensions
are also specified following a canonical order according
to Table 22.1 in RISC-V User-Level ISA V2.2:
'x' extensions, follwed by 's' extensions and then 'sx' extensions.
- Extensions might have a version number.
Underscores may be used to separate ISA subset components to
improve readability and to provide disambiguation.
E.g.: rv32i2_m3_a1_f2_d2
- Version numbers are divided into major and minor numbers,
separated by a 'p'. If the minor version is 0, then 'p0' can
be omitted.
- Additional checks for dependent extensions and invalid
extensions combinations.
E.g.:
'e' requires rv32
'e' can't be combined with 'f' nor 'd'
'q' requires rv64
- TODO items have also been marked with comments in the code.
Reviewers: asb, kito-cheng
Reviewed By: asb
Subscribers: edward-jones, mgrang, zzheng, rbar, johnrusso, simoncook, jordy.potman.lists, sabuasal, niosHD, shiva0217, cfe-commits
Differential Revision: https://reviews.llvm.org/D45284
llvm-svn: 330880
Diffstat (limited to 'llvm/lib/MC/MCCodeView.cpp')
0 files changed, 0 insertions, 0 deletions