1226584Sdim//===-- MCInstrAnalysis.cpp - InstrDesc target hooks ------------*- C++ -*-===// 2226584Sdim// 3226584Sdim// The LLVM Compiler Infrastructure 4226584Sdim// 5226584Sdim// This file is distributed under the University of Illinois Open Source 6226584Sdim// License. See LICENSE.TXT for details. 7226584Sdim// 8226584Sdim//===----------------------------------------------------------------------===// 9226584Sdim 10226584Sdim#include "llvm/MC/MCInstrAnalysis.h" 11226584Sdimusing namespace llvm; 12226584Sdim 13263509Sdimbool MCInstrAnalysis::evaluateBranch(const MCInst &Inst, uint64_t Addr, 14263509Sdim uint64_t Size, uint64_t &Target) const { 15226584Sdim if (Inst.getNumOperands() == 0 || 16226584Sdim Info->get(Inst.getOpcode()).OpInfo[0].OperandType != MCOI::OPERAND_PCREL) 17263509Sdim return false; 18226584Sdim 19226584Sdim int64_t Imm = Inst.getOperand(0).getImm(); 20263509Sdim Target = Addr+Size+Imm; 21263509Sdim return true; 22226584Sdim} 23