//===- MachineSSAUpdater.h - Unstructured SSA Update Tool -------*- C++ -*-===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// // // This file declares the MachineSSAUpdater class. // //===----------------------------------------------------------------------===// #ifndef LLVM_CODEGEN_MACHINESSAUPDATER_H #define LLVM_CODEGEN_MACHINESSAUPDATER_H #include "llvm/CodeGen/MachineRegisterInfo.h" #include "llvm/CodeGen/Register.h" namespace llvm { class MachineBasicBlock; class MachineFunction; class MachineInstr; class MachineOperand; class MachineRegisterInfo; class TargetInstrInfo; class TargetRegisterClass; template<typename T> class SmallVectorImpl; template<typename T> class SSAUpdaterTraits; /// MachineSSAUpdater - This class updates SSA form for a set of virtual /// registers defined in multiple blocks. This is used when code duplication /// or another unstructured transformation wants to rewrite a set of uses of one /// vreg with uses of a set of vregs. class MachineSSAUpdater { … }; } // end namespace llvm #endif // LLVM_CODEGEN_MACHINESSAUPDATER_H