blob: 0ff3a41f47d30ef21fc72c68840a4e0aa5846aac [file] [log] [blame]
Michael Gottesmanf1d3b7c2013-08-12 20:52:06 +00001//=- PHIEliminationUtils.h - Helper functions for PHI elimination -*- C++ -*-=//
Cameron Zwarichda592a9e2010-12-05 19:51:05 +00002//
Chandler Carruth2946cd72019-01-19 08:50:56 +00003// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
Cameron Zwarichda592a9e2010-12-05 19:51:05 +00006//
7//===----------------------------------------------------------------------===//
8
Benjamin Kramera7c40ef2014-08-13 16:26:38 +00009#ifndef LLVM_LIB_CODEGEN_PHIELIMINATIONUTILS_H
10#define LLVM_LIB_CODEGEN_PHIELIMINATIONUTILS_H
Cameron Zwarichda592a9e2010-12-05 19:51:05 +000011
12#include "llvm/CodeGen/MachineBasicBlock.h"
13
14namespace llvm {
15 /// findPHICopyInsertPoint - Find a safe place in MBB to insert a copy from
16 /// SrcReg when following the CFG edge to SuccMBB. This needs to be after
17 /// any def of SrcReg, but before any subsequent point where control flow
18 /// might jump out of the basic block.
19 MachineBasicBlock::iterator
20 findPHICopyInsertPoint(MachineBasicBlock* MBB, MachineBasicBlock* SuccMBB,
21 unsigned SrcReg);
22}
23
24#endif