1261991Sdim//=- PHIEliminationUtils.h - Helper functions for PHI elimination -*- C++ -*-=// 2218885Sdim// 3218885Sdim// The LLVM Compiler Infrastructure 4218885Sdim// 5218885Sdim// This file is distributed under the University of Illinois Open Source 6218885Sdim// License. See LICENSE.TXT for details. 7218885Sdim// 8218885Sdim//===----------------------------------------------------------------------===// 9218885Sdim 10280031Sdim#ifndef LLVM_LIB_CODEGEN_PHIELIMINATIONUTILS_H 11280031Sdim#define LLVM_LIB_CODEGEN_PHIELIMINATIONUTILS_H 12218885Sdim 13218885Sdim#include "llvm/CodeGen/MachineBasicBlock.h" 14218885Sdim 15218885Sdimnamespace llvm { 16218885Sdim /// findPHICopyInsertPoint - Find a safe place in MBB to insert a copy from 17218885Sdim /// SrcReg when following the CFG edge to SuccMBB. This needs to be after 18218885Sdim /// any def of SrcReg, but before any subsequent point where control flow 19218885Sdim /// might jump out of the basic block. 20218885Sdim MachineBasicBlock::iterator 21218885Sdim findPHICopyInsertPoint(MachineBasicBlock* MBB, MachineBasicBlock* SuccMBB, 22218885Sdim unsigned SrcReg); 23218885Sdim} 24218885Sdim 25218885Sdim#endif 26