标签: compiler-construction switch-statement clang llvm jump-table
在x86-64的C / C ++中,如果switch / case语句相对较大(超过3或4个条目),LLVM将生成跳转表,而不是条件跳转指令。
在Clang / LLVM中,如何导出这些表的基本,索引和比例信息?程序源代码可用。
例如,对于 jmpq *0x400000(,%rbx,8),
jmpq *0x400000(,%rbx,8)
如何导出基本0x400000,将与%rbx中的值进行比较的索引值以及比例8?
0x400000
%rbx
8