RISC-V Compiler Simulator
- Compiles MiniC, a subset of C with int, float, pointers, arrays and recursion, showing the tokens, the abstract syntax tree growing as the parser builds it and the symbol table with its scopes.
- Generates LLVM IR as clang -O0 does and then RISC-V assembly, side by side and linked to the source: clicking a line in any of the three views highlights the matching lines in the other two.
- Draws the activation record of each function, runs the generated code and opens it in the processor simulator to watch it go through the pipeline.
- For research: mem2reg and SSA form, control flow graphs with dominators and natural loops, per block data flow graphs with the critical path, static and measured heat maps with the cycles of each instruction on the processor models, and classic and approximate optimizations (loop perforation, reduced precision, approximate multiplication) with error versus speedup curves. Graphs export to SVG and Graphviz DOT, data to CSV.
CSER