LLVM 23.0.0git
HexagonMachineFunctionInfo.cpp
Go to the documentation of this file.
1//= HexagonMachineFunctionInfo.cpp - Hexagon machine function info *- 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
13
14using namespace llvm;
15
16// pin vtable to this file
17void HexagonMachineFunctionInfo::anchor() {}
18
25
27 const TargetRegisterInfo &TRI) {
29 if (Reg.isValid()) {
31 OS << printReg(Reg, &TRI);
32 }
33 return Dest;
34}
35
39
43
Register Reg
Register const TargetRegisterInfo * TRI
static yaml::StringValue regToString(Register Reg, const TargetRegisterInfo &TRI)
Hexagon target-specific information for each MachineFunction.
MachineFunctionInfo * clone(BumpPtrAllocator &Allocator, MachineFunction &DestMF, const DenseMap< MachineBasicBlock *, MachineBasicBlock * > &Src2DstMBB) const override
Make a functionally equivalent copy of this MachineFunctionInfo in MF.
void initializeBaseYamlFields(const yaml::HexagonFunctionInfo &YamlMFI)
Ty * cloneInfo(const Ty &Old)
Wrapper class representing virtual and physical registers.
Definition Register.h:20
TargetRegisterInfo base class - We assume that the target defines a static array of TargetRegisterDes...
A raw_ostream that writes to an std::string.
This is an optimization pass for GlobalISel generic memory operations.
BumpPtrAllocatorImpl<> BumpPtrAllocator
The standard BumpPtrAllocator which just uses the default template parameters.
Definition Allocator.h:383
LLVM_ABI Printable printReg(Register Reg, const TargetRegisterInfo *TRI=nullptr, unsigned SubIdx=0, const MachineRegisterInfo *MRI=nullptr)
Prints virtual and physical registers with or without a TRI instance.
MachineFunctionInfo - This class can be derived from and used by targets to hold private target-speci...
Hexagon-specific MachineFunction properties for YAML serialization.
void mappingImpl(yaml::IO &YamlIO) override
This class should be specialized by any type that needs to be converted to/from a YAML mapping.
Definition YAMLTraits.h:62
A wrapper around std::string which contains a source range that's being set during parsing.