A Translation Method from 64-bit ARM Machine Code to LLVM IR for Binary-Level Optimization
Today, 64-bit ARM processors are used in a wide range of devices such as mobile and IoT devices. To improve the execution speed of application programs on such devices with limited computing resources, compiler optimization is quite important. However, optimization cannot be performed for programs for which source codes are not available. In this paper, we design a method to translate 64-bit ARM machine code into LLVM IR code, which is an intermediate representation of compiler infrastructure LLVM, for the purpose of optimization of 64-bit ARM binary without program source code. Our method intends to generate LLVM IR codes that are easy to analyze and transform, thus suitable for optimization by stack variable analysis and conditional branch optimization. Our evaluation results show that binary code generated from the translated IR code with applied optimization is as fast as the original binary code.
Authors
- Kanemitsu Ootsu
- Takashi Yokota (ORCID: https://orcid.org/0000-0002-3075-006X)
- S Nagao
Institutions
- Utsunomiya University (JP)
Publication Details
- Published
- 2024-11-26
- DOI
- https://doi.org/10.1109/candarw64572.2024.00064
- Citations
- 1
- Primary Topic
- Optical Systems and Laser Technology
- Type
- article
- Field-Weighted Citation Impact
- 0.21