[llvm-dev] [X86] MoveImm flag for instructions
S. Bharadwaj Yadavalli via llvm-dev
llvm-dev at lists.llvm.org
Fri Feb 9 13:13:18 PST 2018
I am trying to categorize the machine instructions based on associated
static (i.e., as encoded in .td file) machine description and the
I would like to perform appropriate actions based on the kind of
instruction in a tool that I am working on.
For example, I'd like to distinguish between memop instructions involving
immediate vs register. While it appears that I would be able to accomplish
this by rummaging through the instruction operands, a combination of the
flag(s) MayLoad/MayStore and MoveImm seemed attractive/clean/efficient(?),
if the instruction description did indeed use the flags.
Hence the question.
On Fri, Feb 9, 2018 at 12:17 PM, Craig Topper <craig.topper at gmail.com>
> That flag is specifically used by the foldImmediate optimization in the
> Peephole pass. We don't implement the TLI foldImmediate hook the peephole
> pass uses on x86 so we have no reason to set the flag on any instructions
> What are you trying to do?
> On Fri, Feb 9, 2018 at 11:45 AM, S. Bharadwaj Yadavalli via llvm-dev <
> llvm-dev at lists.llvm.org> wrote:
>> I had (naively?) expected that the instruction to move immediate to
>> register or memory (such as MOV32mi, MOV32ri, MOV64mi32, MOV64ri,
>> MOV64ri32) would be marked with the flag MCID::MovImm via the
>> X86InstrInfo.td (and hence in the generated X86GenInstrInfo.inc).
>> I do not see that to be the case.
>> Can someone please tell me if my expectation is flawed? Is there a
>> better/different way to determine to test for move immediate to
>> register/memory instruction on X86 other that the existing interface
>> LLVM Developers mailing list
>> llvm-dev at lists.llvm.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the llvm-dev