mini-llvm 0.1.0
Loading...
Searching...
No Matches
RISCVInstructionVisitor.h
Go to the documentation of this file.
1// SPDX-License-Identifier: MIT
2
3#pragma once
4
5#include <cstdlib>
6#include <utility>
7
10
11namespace mini_llvm::mir {
12
13class RISCVCall;
14class RISCVJALR;
15class RISCVRet;
16
18public:
19 virtual void visitRISCVCall(RISCVCall &I) { visitRISCVCall(std::as_const(I)); }
20 virtual void visitRISCVJALR(RISCVJALR &I) { visitRISCVJALR(std::as_const(I)); }
21 virtual void visitRISCVRet(RISCVRet &I) { visitRISCVRet(std::as_const(I)); }
22
23 virtual void visitRISCVCall(const RISCVCall &) { abort(); }
24 virtual void visitRISCVJALR(const RISCVJALR &) { abort(); }
25 virtual void visitRISCVRet(const RISCVRet &) { abort(); }
26};
27
28} // namespace mini_llvm::mir
#define MINI_LLVM_EXPORT
Definition Compiler.h:17
Definition RISCVCall.h:22
Definition RISCVInstructionVisitor.h:17
virtual void visitRISCVRet(const RISCVRet &)
Definition RISCVInstructionVisitor.h:25
virtual void visitRISCVJALR(const RISCVJALR &)
Definition RISCVInstructionVisitor.h:24
virtual void visitRISCVRet(RISCVRet &I)
Definition RISCVInstructionVisitor.h:21
virtual void visitRISCVCall(const RISCVCall &)
Definition RISCVInstructionVisitor.h:23
virtual void visitRISCVJALR(RISCVJALR &I)
Definition RISCVInstructionVisitor.h:20
virtual void visitRISCVCall(RISCVCall &I)
Definition RISCVInstructionVisitor.h:19
Definition RISCVJALR.h:20
Definition RISCVRet.h:19
Definition BasicBlock.h:22