mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-23 03:02:36 +01:00
[llvm-exegesis] Don't use unsupported aliasing instructions
Since some instruction types aren't allowed as the main instruction also don't allow them for aliasing instructions. Differential Revision: https://reviews.llvm.org/D73220
This commit is contained in:
parent
0c1c818a0d
commit
02c4274a22
@ -49,6 +49,13 @@ computeAliasingInstructions(const LLVMState &State, const Instruction *Instr,
|
||||
if (OtherOpcode == Instr->Description.getOpcode())
|
||||
continue;
|
||||
const Instruction &OtherInstr = State.getIC().getInstr(OtherOpcode);
|
||||
const MCInstrDesc &OtherInstrDesc = OtherInstr.Description;
|
||||
// Ignore instructions that we cannot run.
|
||||
if (OtherInstrDesc.isPseudo() ||
|
||||
OtherInstrDesc.isBranch() || OtherInstrDesc.isIndirectBranch() ||
|
||||
OtherInstrDesc.isCall() || OtherInstrDesc.isReturn()) {
|
||||
continue;
|
||||
}
|
||||
if (OtherInstr.hasMemoryOperands())
|
||||
continue;
|
||||
if (!State.getExegesisTarget().allowAsBackToBack(OtherInstr))
|
||||
|
Loading…
Reference in New Issue
Block a user