//===-- Instructions.cpp - Implement the LLVM instructions ----------------===////// The LLVM Compiler Infrastructure//// This file was developed by the LLVM research group and is distributed under// the University of Illinois Open Source License. See LICENSE.TXT for details.////===----------------------------------------------------------------------===////// This file implements all of the non-inline methods for the LLVM instruction// classes.////===----------------------------------------------------------------------===//#include"llvm/BasicBlock.h"#include"llvm/Constants.h"#include"llvm/DerivedTypes.h"#include"llvm/Function.h"#include"llvm/Instructions.h"#include"llvm/Support/CallSite.h"usingnamespacellvm;unsignedCallSite::getCallingConv()const{if(CallInst*CI=dyn_cast<CallInst>(I))returnCI->getCallingConv();elsereturncast<InvokeInst>(I)->getCallingConv();}voidCallSite::setCallingConv(unsignedCC){if(CallInst*CI=dyn_cast<CallInst>(I))CI->setCallingConv(CC);elsecast<InvokeInst>(I)->setCallingConv(CC);}//===----------------------------------------------------------------------===//// TerminatorInst Class//===----------------------------------------------------------------------===//TerminatorInst::TerminatorInst(Instruction::TermOpsiType,Use*Ops