Home | History | Annotate | Download | only in MC
      1 //===-- MCInstrAnalysis.cpp - InstrDesc target hooks ------------*- C++ -*-===//
      2 //
      3 //                     The LLVM Compiler Infrastructure
      4 //
      5 // This file is distributed under the University of Illinois Open Source
      6 // License. See LICENSE.TXT for details.
      7 //
      8 //===----------------------------------------------------------------------===//
      9 
     10 #include "llvm/MC/MCInstrAnalysis.h"
     11 using namespace llvm;
     12 
     13 bool MCInstrAnalysis::evaluateBranch(const MCInst &Inst, uint64_t Addr,
     14                                      uint64_t Size, uint64_t &Target) const {
     15   if (Inst.getNumOperands() == 0 ||
     16       Info->get(Inst.getOpcode()).OpInfo[0].OperandType != MCOI::OPERAND_PCREL)
     17     return false;
     18 
     19   int64_t Imm = Inst.getOperand(0).getImm();
     20   Target = Addr+Size+Imm;
     21   return true;
     22 }
     23