1*854f268cSBenjamin Kramer //===- lib/MC/MCInstrInfo.cpp - Target Instruction Info -------------------===// 2*854f268cSBenjamin Kramer // 3*854f268cSBenjamin Kramer // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4*854f268cSBenjamin Kramer // See https://llvm.org/LICENSE.txt for license information. 5*854f268cSBenjamin Kramer // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6*854f268cSBenjamin Kramer // 7*854f268cSBenjamin Kramer //===----------------------------------------------------------------------===// 8*854f268cSBenjamin Kramer 9*854f268cSBenjamin Kramer #include "llvm/MC/MCInstrInfo.h" 10*854f268cSBenjamin Kramer #include "llvm/MC/MCInst.h" 11*854f268cSBenjamin Kramer #include "llvm/MC/MCSubtargetInfo.h" 12*854f268cSBenjamin Kramer 13*854f268cSBenjamin Kramer using namespace llvm; 14*854f268cSBenjamin Kramer getDeprecatedInfo(MCInst & MI,const MCSubtargetInfo & STI,std::string & Info) const15*854f268cSBenjamin Kramerbool MCInstrInfo::getDeprecatedInfo(MCInst &MI, const MCSubtargetInfo &STI, 16*854f268cSBenjamin Kramer std::string &Info) const { 17*854f268cSBenjamin Kramer unsigned Opcode = MI.getOpcode(); 18*854f268cSBenjamin Kramer if (ComplexDeprecationInfos && ComplexDeprecationInfos[Opcode]) 19*854f268cSBenjamin Kramer return ComplexDeprecationInfos[Opcode](MI, STI, Info); 20*854f268cSBenjamin Kramer if (DeprecatedFeatures && DeprecatedFeatures[Opcode] != uint8_t(-1U) && 21*854f268cSBenjamin Kramer STI.getFeatureBits()[DeprecatedFeatures[Opcode]]) { 22*854f268cSBenjamin Kramer // FIXME: it would be nice to include the subtarget feature here. 23*854f268cSBenjamin Kramer Info = "deprecated"; 24*854f268cSBenjamin Kramer return true; 25*854f268cSBenjamin Kramer } 26*854f268cSBenjamin Kramer return false; 27*854f268cSBenjamin Kramer } 28