mini-llvm
0.1.0
Toggle main menu visibility
Loading...
Searching...
No Matches
PhysicalRegister.h
Go to the documentation of this file.
1
// SPDX-License-Identifier: MIT
2
3
#pragma once
4
5
#include <string>
6
7
#include "
mini-llvm/mir/Register.h
"
8
#include "
mini-llvm/mir/RegisterClass.h
"
9
#include "
mini-llvm/utils/Compiler.h
"
10
11
namespace
mini_llvm::mir
{
12
13
class
MINI_LLVM_EXPORT
PhysicalRegister
:
public
Register
{
14
public
:
15
virtual
int
idx
()
const
= 0;
16
virtual
std::string
name
()
const
= 0;
17
virtual
RegisterClass
Class
()
const
= 0;
18
virtual
bool
isPreserved
()
const
= 0;
19
virtual
bool
isAllocatable
()
const
= 0;
20
21
std::string
format
()
const override
{
22
return
"$"
+
name
();
23
}
24
};
25
26
}
// namespace mini_llvm::mir
Compiler.h
MINI_LLVM_EXPORT
#define MINI_LLVM_EXPORT
Definition
Compiler.h:17
RegisterClass.h
Register.h
mini_llvm::mir::PhysicalRegister
Definition
PhysicalRegister.h:13
mini_llvm::mir::PhysicalRegister::isPreserved
virtual bool isPreserved() const =0
mini_llvm::mir::PhysicalRegister::name
virtual std::string name() const =0
mini_llvm::mir::PhysicalRegister::isAllocatable
virtual bool isAllocatable() const =0
mini_llvm::mir::PhysicalRegister::format
std::string format() const override
Definition
PhysicalRegister.h:21
mini_llvm::mir::PhysicalRegister::Class
virtual RegisterClass Class() const =0
mini_llvm::mir::PhysicalRegister::idx
virtual int idx() const =0
mini_llvm::mir::Register::Register
Register()=default
mini_llvm::mir
Definition
BasicBlock.h:22
mini_llvm::mir::RegisterClass
RegisterClass
Definition
RegisterClass.h:7
include
mini-llvm
mir
PhysicalRegister.h
Generated by
1.17.0