use jit_assembler::riscv64::{Riscv64InstructionBuilder, reg};
use jit_assembler::common::InstructionBuilder;
#[cfg(feature = "register-tracking")]
fn main() {
let mut builder = Riscv64InstructionBuilder::new();
builder
.add(reg::T0, reg::T1, reg::T2) .addi(reg::T3, reg::SP, 16) .mul(reg::A0, reg::A1, reg::A2) .ld(reg::S0, reg::T0, 8) .sd(reg::SP, reg::S1, -16);
let usage = builder.register_usage();
println!("=== Register Usage Analysis ===");
println!("Total registers used: {}", usage.register_count());
println!("Caller-saved registers: {:?}", usage.caller_saved_registers());
println!("Callee-saved registers: {:?}", usage.callee_saved_registers());
println!("Special registers: {:?}", usage.special_registers());
println!("Needs stack frame: {}", usage.needs_stack_frame());
println!("Usage info: {}", usage);
}
#[cfg(not(feature = "register-tracking"))]
fn main() {
println!("Register tracking feature is not enabled. Run with --features register-tracking");
}