//===-- PreAllocSplitting.cpp - Pre-allocation Interval Spltting Pass. ----===////// The LLVM Compiler Infrastructure//// This file is distributed under the University of Illinois Open Source// License. See LICENSE.TXT for details.////===----------------------------------------------------------------------===////// This file implements the machine instruction level pre-register allocation// live interval splitting pass. It finds live interval barriers, i.e.// instructions which will kill all physical registers in certain register// classes, and split all live intervals which cross the barrier.////===----------------------------------------------------------------------===//#define DEBUG_TYPE "pre-alloc-split"#include"VirtRegMap.h"#include"llvm/CodeGen/LiveIntervalAnalysis.h"#include"llvm/CodeGen/LiveStackAnalysis.h"#include"llvm/CodeGen/MachineDominators.h"#include"llvm/CodeGen/MachineFrameInfo.h"#include"llvm/CodeGen/MachineFunctionPass.h"#include"llvm/CodeGen/MachineLoopInfo.h"#include"llvm/CodeGen/MachineRegisterInfo.h"#include"llvm/CodeGen/Passes.h"#include"llvm/CodeGen/RegisterCoalescer.h"#include"llvm/Target/TargetInstrInfo.h"#include"llvm/Target/TargetMachine.h"#include"llvm/Target/TargetOptions.h"#include"llvm/Target/TargetRegisterInfo.h"#include"llvm/Support/CommandLine.h"#include"llvm/Support/Debug.h"#include"llvm/Support/ErrorHandling.h"#include"llvm/ADT/DenseMap.h"#include"llvm/ADT/DepthFirstIterator.h"