LLVM for RISCV
summary
Describes adding bit-manipulation ops to the LLVM RISC-V backend with working RV32 and RV64 support now upstream, claiming parity with GCC for code size on the sponsor's workload and ongoing atomic lowering. Demonstrates a prototyped .insn assembler directive for quick experiments, full assembler support via tablegen patterns and SelectionDAG matching, lit tests for round trips, llc debug tracing, a ~12 GB debug clang/LLVM build and iterative ~30 s edit/compile cycles.
AI-written summary · about
chapters (6)
- 0:00Introduction to LLVM for RISC-V
- 5:27Compiler setup and toolchain
- 10:45Adding assembler support
- 17:02Implementing instruction selection
- 23:00Debugging and testing
- 26:53Resources and next steps
related talks
24mRISC V LLVM: Towards A Production-Ready LLVM-Based Toolchain
16mImprovements to RISC-V Vector code generation in LLVM
17mRISC-V LLVM State of the Union
21mProduction ready RISC V Support in LLVM Clang 9
17mMaking LLVM RISC-V Compiler More Performant for Everyone
21mOpen Source Compiler Tool Chains for RISC V Past, Present and Future
19mGetting the Most out of the LLVM Auto Vectorizer for RISC-V Vectors (RVV)
01h 25mRISC V Bit Manipulation ISA Extension Spec, Hardware, Software
