Profile-Guided Optimization for Indirect Branch in an LLVM-Based Binary Translator
A binary translator emulates the binary files of the source instruction set by the target instruction set. Emulating an indirect branch requires mapping a source program counter address to a target program counter address.
The work translates AArch64 binary to RISC-V binary and runs on the RISC-V board.
Develop the profile-guided optimization for indirect branch
Collect and analyze the execution frequency of each destination for each source indirect branch instruction to construct address mapping tables.
Accelerate the process of finding the target address as branch destination when emulating a source indirect branch instruction.