From: Shengchen Kan Date: Thu, 16 Apr 2020 04:37:24 +0000 (+0800) Subject: [X86] Add interface X86II::isPseudo X-Git-Tag: llvmorg-12-init~8861 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=71303b753c88e562380d88b64ba472559bfd9bbf;p=platform%2Fupstream%2Fllvm.git [X86] Add interface X86II::isPseudo Avoid duplicate code in X86MCCodeEmitter, NFCI. --- diff --git a/llvm/lib/Target/X86/MCTargetDesc/X86BaseInfo.h b/llvm/lib/Target/X86/MCTargetDesc/X86BaseInfo.h index f8e893d..e141c90 100644 --- a/llvm/lib/Target/X86/MCTargetDesc/X86BaseInfo.h +++ b/llvm/lib/Target/X86/MCTargetDesc/X86BaseInfo.h @@ -942,6 +942,11 @@ namespace X86II { return (TSFlags & X86II::FormMask) == PrefixByte; } + /// \returns true if the instruction with given opcode is a pseudo. + inline bool isPseudo(uint64_t TSFlags) { + return (TSFlags & X86II::FormMask) == Pseudo; + } + /// \returns the "base" X86 opcode for the specified machine /// instruction. inline uint8_t getBaseOpcodeFor(uint64_t TSFlags) { diff --git a/llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp b/llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp index 84c73aa..0176212 100644 --- a/llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp +++ b/llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp @@ -1362,7 +1362,7 @@ void X86MCCodeEmitter::emitPrefix(const MCInst &MI, raw_ostream &OS, uint64_t TSFlags = Desc.TSFlags; // Pseudo instructions don't get encoded. - if ((TSFlags & X86II::FormMask) == X86II::Pseudo) + if (X86II::isPseudo(TSFlags)) return; unsigned CurOp = X86II::getOperandBias(Desc); @@ -1382,7 +1382,7 @@ void X86MCCodeEmitter::encodeInstruction(const MCInst &MI, raw_ostream &OS, uint64_t TSFlags = Desc.TSFlags; // Pseudo instructions don't get encoded. - if ((TSFlags & X86II::FormMask) == X86II::Pseudo) + if (X86II::isPseudo(TSFlags)) return; unsigned NumOps = Desc.getNumOperands();