[llvm-dev] Getting MachineInstr opcode mnemonics as strings
Ethan J. Johnson via llvm-dev
llvm-dev at lists.llvm.org
Tue Feb 16 21:30:55 PST 2016
Hello all,
Is there an easy way to get the human-readable opcode mnemonic (e.g.,
"MOV32ri64", "CMP32ri8", "JLE_1") for a MachineInstr? I am writing a
backend analysis pass for security research, where the idea is for a
researcher to examine the output of my pass and identify instructions
from it for use in an attack. Right now I'm representing unique
instructions with nondescript numeric symbols, like "i28" for the 28th
instruction; but it would be nice to give the reader something more
helpful like "i28_MOV32ri64".
MachineInstr doesn't have a getName() function like many other LLVM
IR/MachineIR objects; is there anything roughly equivalent to this? I'm
already using MachineInstr::print() for debugging output, but it's far
too verbose for this purpose. I thought about trying to parse the opcode
mnemonic out of the print() output, until I realized just how nasty that
would be (not to mention that it prints to a raw_ostream, not an
in-memory string).
Sincerely,
Ethan Johnson
--
Ethan J. Johnson
Computer Science PhD Student, Systems group, University of Rochester
ejohns48 at cs.rochester.edu
ethanjohnson at acm.org
PGP public key available from public directory or on request
More information about the llvm-dev
mailing list