xref: /freebsd/contrib/llvm-project/llvm/lib/CodeGen/PHIEliminationUtils.h (revision dd41de95a84d979615a2ef11df6850622bf6184e)
1 //=- PHIEliminationUtils.h - Helper functions for PHI elimination -*- C++ -*-=//
2 //
3 // 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
6 //
7 //===----------------------------------------------------------------------===//
8 
9 #ifndef LLVM_LIB_CODEGEN_PHIELIMINATIONUTILS_H
10 #define LLVM_LIB_CODEGEN_PHIELIMINATIONUTILS_H
11 
12 #include "llvm/CodeGen/MachineBasicBlock.h"
13 
14 namespace 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
25