//===-- llvm/Target/TargetLowering.h - Target Lowering Info -----*- C++ -*-===////// The LLVM Compiler Infrastructure//// This file is distributed under the University of Illinois Open Source// License. See LICENSE.TXT for details.////===----------------------------------------------------------------------===////// This file describes how to lower LLVM code to machine code. This has two// main components://// 1. Which ValueTypes are natively supported by the target.// 2. Which operations are supported for supported ValueTypes.// 3. Cost thresholds for alternative implementations of certain operations.//// In addition it has a few other components, like information about FP// immediates.////===----------------------------------------------------------------------===//#ifndef LLVM_TARGET_TARGETLOWERING_H#define LLVM_TARGET_TARGETLOWERING_H#include"llvm/Constants.h"#include"llvm/InlineAsm.h"#include"llvm/CodeGen/SelectionDAGNodes.h"#include"llvm/CodeGen/RuntimeLibcalls.h"#include"llvm/ADT/APFloat.h"#include"llvm/ADT/STLExtras.h"#include<map>#include<vector>namespacellvm{classFunction;classFastISel;classMachineBasicBlock;classMachineFunction;classMachineFrameInfo;classMachineInstr;classSDNode;classSDValue;classSelectionDAG;classTargetData;classTargetMachine;classTargetRegisterClass;classTargetSubtarget;classValue;classVectorType;//===----------------------------------------------------------------------===///// TargetLowerin