【发布时间】:2015-03-13 21:07:21
【问题描述】:
有什么简单的方法可以让 LLVM 不发出带有 1-byte-displacement 的短跳转指令,比如
75 30 JNE +30、eb 1a JMP +1a等;
而是只发出带有 3 字节零填充的 4-byte-displacement 跳转指令,例如
0f 85 30 00 00 00 JNE +30、e9 1a 00 00 00 JMPQ +1a等,
x86_64架构下?
显然,这会增加代码大小。
【问题讨论】:
-
用于研究目的。禁用放松是什么意思?
-
是的,四字节位移大于一字节位移。
标签: assembly compiler-construction llvm compiler-optimization instrumentation