//===-- SimpleRegisterCoalescing.cpp - Register Coalescing ----------------===////// 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 simple register coalescing pass that attempts to// aggressively coalesce every register copy that it can.////===----------------------------------------------------------------------===//#define DEBUG_TYPE "regcoalescing"#include"SimpleRegisterCoalescing.h"#include"VirtRegMap.h"#include"LiveDebugVariables.h"#include"llvm/CodeGen/LiveIntervalAnalysis.h"#include"llvm/Value.h"#include"llvm/Analysis/AliasAnalysis.h"#include"llvm/CodeGen/MachineFrameInfo.h"#include"llvm/CodeGen/MachineInstr.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/Support/CommandLine.h"#include"llvm/Support/Debug.h"#include"llvm/Support/ErrorHandling.h"