- Uses Protobuf to represent RV32 General (G) Instruction Set with extensions I,M,A,F,D,C, with no constraints on either register or immediate operand values (that is, with no constraints on register class or immediate range). Also includes pseudoinstructions.
- Updated fuzzer driver flow:
(1) to invoke fuzzed llvm-mc assembler, GNU assembler, and GNU disassembler.
(2) To use the status of calling each tool to categorize test failures.
- Created single fuzzer executable that supports rv32imafdc.
- Kept the example fuzzer with sample grammar and corresponding Python script.
Related: https://reviews.llvm.org/D49521
When you have the Load instructions ready, upload to this same patch so it has RV32I complete in this patch, except for the CSR instrs.