//===- HexagonInstrInfo.cpp - Hexagon Instruction Information -------------===////// The LLVM Compiler Infrastructure//// This file is distributed under the University of Illinois Open Source// License. See LICENSE.TXT for details.////===----------------------------------------------------------------------===////// This file contains the Hexagon implementation of the TargetInstrInfo class.////===----------------------------------------------------------------------===//#include"HexagonRegisterInfo.h"#include"HexagonInstrInfo.h"#include"HexagonSubtarget.h"#include"Hexagon.h"#include"llvm/ADT/STLExtras.h"#include"llvm/ADT/SmallVector.h"#include"llvm/CodeGen/DFAPacketizer.h"#include"llvm/CodeGen/MachineInstrBuilder.h"#include"llvm/CodeGen/MachineRegisterInfo.h"#include"llvm/CodeGen/MachineFrameInfo.h"#include"llvm/CodeGen/MachineMemOperand.h"#include"llvm/CodeGen/PseudoSourceValue.h"#include"llvm/Support/MathExtras.h"#define GET_INSTRINFO_CTOR#include"HexagonGenInstrInfo.inc"#include"HexagonGenDFAPacketizer.inc"usingnamespacellvm;////// Constants for Hexagon instructions.///constintHexagon_MEMW_OFFSET_MAX=4095;constintHexagon_MEMW_OFFSET_MIN=4096;constintHexagon_MEMD_OFFSET_M