[llvm-dev] adding prefixes to certain instructions x86 -- where to start?

Scott A. Carr via llvm-dev llvm-dev at lists.llvm.org
Fri Sep 11 07:38:21 PDT 2015


Hello,

I’ve been using LLVM IR passes for my research for about a year now, but for my next step I think I might have to dig into a backend.  I'm hoping someone could give me a pointer on how to get started.

The thing I would like to do is add and override address-size override prefix [1] to a given x86-64 instruction.  I’m hoping I can do something like:

1) Mark some IR instructions with metadata in my pass
2) Hack the backend to look for my metadata, and if found add the prefix when the machine instruction is emitted

Does this seem feasible?  Does the LLVM x86 backend currently have the capability of adding instruction prefixes and could someone please point out where I should look in the code for it?

Thanks,
Scott A. Carr
PhD Student
Purdue University CS

[1] http://wiki.osdev.org/X86-64_Instruction_Encoding#Operand-size_and_address-size_override_prefix


More information about the llvm-dev mailing list