//===- X86ISelDAGToDAG.cpp - A DAG pattern matching inst selector for X86 -===////// The LLVM Compiler Infrastructure//// This file was developed by the Evan Cheng and is distributed under// the University of Illinois Open Source License. See LICENSE.TXT for details.////===----------------------------------------------------------------------===////// This file defines a DAG pattern matching instruction selector for X86,// converting from a legalized dag to a X86 dag.////===----------------------------------------------------------------------===//#define DEBUG_TYPE "x86-isel"#include"X86.h"#include"X86InstrBuilder.h"#include"X86ISelLowering.h"#include"X86RegisterInfo.h"#include"X86Subtarget.h"#include"X86TargetMachine.h"#include"llvm/GlobalValue.h"#include"llvm/Instructions.h"#include"llvm/Intrinsics.h"#include"llvm/Support/CFG.h"#include"llvm/Type.h"#include"llvm/CodeGen/MachineConstantPool.h"#include"llvm/CodeGen/MachineFunction.h"#include"llvm/CodeGen/MachineFrameInfo.h"#include"llvm/CodeGen/MachineInstrBuilder.h"#include"llvm/CodeGen/SSARegMap.h"#include"llvm/CodeGen/SelectionDAGISel.h"#include"llvm/Target/TargetMachine.h"#include"llvm/Support/Compiler.h"#include"llvm/Support/Debug.h"#include"llvm/Support/MathExtras.h"#include"llvm/ADT/Statistic.h"#include<queue>#include<set>usingnamespace