//===-- RegAllocLinearScan.cpp - Linear Scan register allocator -----------===////// The LLVM Compiler Infrastructure//// This file is distributed under the University of Illinois Open Source// License. See LICENSE.TXT for details.////===----------------------------------------------------------------------===////// This file implements a linear scan register allocator.////===----------------------------------------------------------------------===//#define DEBUG_TYPE "regalloc"#include"VirtRegMap.h"#include"VirtRegRewriter.h"#include"Spiller.h"#include"llvm/Function.h"#include"llvm/CodeGen/CalcSpillWeights.h"#include"llvm/CodeGen/LiveIntervalAnalysis.h"#include"llvm/CodeGen/LiveStackAnalysis.h"#include"llvm/CodeGen/MachineFunctionPass.h"#include"llvm/CodeGen/MachineInstr.h"#include"llvm/CodeGen/MachineLoopInfo.h"#include"llvm/CodeGen/MachineRegisterInfo.h"#include"llvm/CodeGen/Passes.h"#include"llvm/CodeGen/RegAllocRegistry.h"#include"llvm/CodeGen/RegisterCoalescer.h"#include"llvm/Target/TargetRegisterInfo.h"#include"llvm/Target/TargetMachine.h"#include"llvm/Target/TargetOptions.h"#include"llvm/Target/TargetInstrInfo.h"#