This is not a NFC change b/c we add more instructions like
IMUL16/32/64r, MOV16ao16 and MOV16rr_REV etc to the list.
But I think it's reasonable.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Comment Actions
I'm slightly worried about IMUL16/32/64r because it writes EAX/EDX. No other instruction in the list has a physical register output.
llvm/lib/Target/X86/X86InstrInfo.cpp | ||
---|---|---|
402 | Some of these are in isMOVSXD not isMOVSX | |
llvm/test/CodeGen/X86/speculative-load-hardening.ll | ||
82 | What instruction addition caused this change? |
Comment Actions
This function is added by @chandlerc in D44824. According the description of the function
Returns true if the instruction has no behavior (specified or otherwise)
that is based on the value of any of its register operands
I believe it doesn't matter the instruction has a physical register output.
llvm/test/CodeGen/X86/speculative-load-hardening.ll | ||
---|---|---|
82 | It was casued by the missing isMOVSXD. |
Some of these are in isMOVSXD not isMOVSX