//===-- HexagonISelDAGToDAG.cpp - A dag to dag inst selector for Hexagon --===////// The LLVM Compiler Infrastructure//// This file is distributed under the University of Illinois Open Source// License. See LICENSE.TXT for details.////===----------------------------------------------------------------------===////// This file defines an instruction selector for the Hexagon target.////===----------------------------------------------------------------------===//#define DEBUG_TYPE "hexagon-isel"#include"HexagonISelLowering.h"#include"HexagonTargetMachine.h"#include"llvm/Intrinsics.h"#include"llvm/CodeGen/SelectionDAGISel.h"#include"llvm/Support/Compiler.h"#include"llvm/Support/Debug.h"usingnamespacellvm;//===----------------------------------------------------------------------===//// Instruction Selector Implementation//===----------------------------------------------------------------------===////===--------------------------------------------------------------------===///// HexagonDAGToDAGISel - Hexagon specific code to select Hexagon machine/// instructions for SelectionDAG operations.///namespace{classHexagonDAGToDAGISel:publicSelectionDAGISel{/// Subtarget - Keep a pointer to the Hexagon Subtarget around so that we can/// make the right decision when generating code for different targets.constHexagonSubtarget&Subtarget;// Keep a reference to HexagonTargetMachine.HexagonTargetMachine&TM;constHexagonInstrInfo*TII;