//===- 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_MAX=8191;constintHexagon_MEMD_OFFSET_MIN=8192;constintHexagon_MEMH_OFFSET_MAX=2047;constintHexagon_MEMH_OFFSET_MIN=2048;constintHexagon_MEMB_OFFSET_MAX=1023;constintHexagon_MEMB_OFFSET_MIN=