//===----------------------- MIRNamer.cpp - MIR Namer ---------------------===// // // 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 // //===----------------------------------------------------------------------===// // // The purpose of this pass is to rename virtual register operands with the goal // of making it easier to author easier to read tests for MIR. This pass reuses // the vreg renamer used by MIRCanonicalizerPass. // // Basic Usage: // // llc -o - -run-pass mir-namer example.mir // //===----------------------------------------------------------------------===// #include "MIRVRegNamerUtils.h" #include "llvm/ADT/PostOrderIterator.h" #include "llvm/CodeGen/MachineFunctionPass.h" #include "llvm/InitializePasses.h" usingnamespacellvm; namespace llvm { extern char &MIRNamerID; } // namespace llvm #define DEBUG_TYPE … namespace { class MIRNamer : public MachineFunctionPass { … }; } // end anonymous namespace char MIRNamer::ID; char &llvm::MIRNamerID = …; INITIALIZE_PASS_BEGIN(MIRNamer, "mir-namer", "Rename Register Operands", false, false) INITIALIZE_PASS_END(MIRNamer, "mir-namer", "Rename Register Operands", false, false)