aboutsummaryrefslogtreecommitdiff
path: root/backend/include/rcc/CodeGen/MachineRegisterInfo.h
diff options
context:
space:
mode:
authorRichard-Qin-X <richard.qin.001@gmail.com>2026-08-14 04:33:41 +0800
committerRichard-Qin-X <richard.qin.001@gmail.com>2026-08-14 04:33:41 +0800
commit8be4d04455f70892a94d1e0798e266c948b4750a (patch)
tree6ef304317a6980ecfbe32868d64cd05f5e8af8bd /backend/include/rcc/CodeGen/MachineRegisterInfo.h
parentaa69e15c6909c3b162b15f5326f0a72ba9bb7163 (diff)
downloadrcc-project-8be4d04455f70892a94d1e0798e266c948b4750a.tar.gz
rcc-project-8be4d04455f70892a94d1e0798e266c948b4750a.tar.xz
[CodeGen] Match LLVM Legalizer ownership
Diffstat (limited to 'backend/include/rcc/CodeGen/MachineRegisterInfo.h')
-rw-r--r--backend/include/rcc/CodeGen/MachineRegisterInfo.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/backend/include/rcc/CodeGen/MachineRegisterInfo.h b/backend/include/rcc/CodeGen/MachineRegisterInfo.h
index e0538d3..456115f 100644
--- a/backend/include/rcc/CodeGen/MachineRegisterInfo.h
+++ b/backend/include/rcc/CodeGen/MachineRegisterInfo.h
@@ -21,6 +21,7 @@
namespace rcc {
class MachineOperand;
+class MachineInstr;
class RegOperandIterator final {
public:
@@ -153,6 +154,9 @@ public:
[[nodiscard]] bool useEmpty(Register Reg, bool IncludeDebug = true) const noexcept;
[[nodiscard]] bool hasOneUse(Register Reg, bool IncludeDebug = true) const noexcept;
[[nodiscard]] const MachineOperand *getUniqueVRegDef(Register Reg) const noexcept;
+ [[nodiscard]] MachineInstr *getVRegDef(Register Reg) noexcept;
+ [[nodiscard]] const MachineInstr *getVRegDef(Register Reg) const noexcept;
+ [[nodiscard]] Expected<LowLevelType> getType(Register Reg) const;
[[nodiscard]] Expected<std::size_t> replaceRegWith(Register OldReg, Register NewReg);
[[nodiscard]] Expected<void> verifyDefUseChains() const;