aboutsummaryrefslogtreecommitdiff
path: root/backend/lib/AsmPrinter/TargetMCInstLowering.cpp
diff options
context:
space:
mode:
authorRichard-Qin-X <richard.qin.001@gmail.com>2026-08-09 18:31:49 +0800
committerRichard-Qin-X <richard.qin.001@gmail.com>2026-08-09 18:31:49 +0800
commit379ff50dcc7ccf977379aee68fa9d10f69065d23 (patch)
treee0fac3952d46d0bbcaea32bcfc6087c95fff2992 /backend/lib/AsmPrinter/TargetMCInstLowering.cpp
parent495c675771f43cfa12ab7a426a538be72fec1805 (diff)
downloadrcc-project-379ff50dcc7ccf977379aee68fa9d10f69065d23.tar.gz
rcc-project-379ff50dcc7ccf977379aee68fa9d10f69065d23.tar.xz
[MC] Implement RV64GC assembly emission
Diffstat (limited to 'backend/lib/AsmPrinter/TargetMCInstLowering.cpp')
-rw-r--r--backend/lib/AsmPrinter/TargetMCInstLowering.cpp49
1 files changed, 49 insertions, 0 deletions
diff --git a/backend/lib/AsmPrinter/TargetMCInstLowering.cpp b/backend/lib/AsmPrinter/TargetMCInstLowering.cpp
new file mode 100644
index 0000000..c171034
--- /dev/null
+++ b/backend/lib/AsmPrinter/TargetMCInstLowering.cpp
@@ -0,0 +1,49 @@
+// SPDX-License-Identifier: GPL-3.0-or-later
+
+#include "rcc/CodeGen/TargetMCInstLowering.h"
+
+namespace rcc {
+
+Expected<void> TargetMCInstLowering::emitTerminalInstruction(const MachineInstr &,
+ MachineMCContext &,
+ mc::MCStreamer &) const {
+ return makeUnexpected(ErrorCode::Unsupported,
+ "target does not support this terminal emission instruction");
+}
+
+Expected<void> TargetMCInstLowering::emitFileHeader(MachineMCContext &, mc::MCStreamer &) const {
+ return {};
+}
+
+Expected<void> TargetMCInstLowering::emitFileTrailer(MachineMCContext &, mc::MCStreamer &) const {
+ return {};
+}
+
+Expected<void> TargetMCInstLowering::emitGenericConstant(const GenericConstantData &, std::uint64_t,
+ MachineMCContext &,
+ mc::MCStreamer &) const {
+ return makeUnexpected(ErrorCode::Unsupported,
+ "target does not support assembly emission for generic constants");
+}
+
+Expected<void> TargetMCInstLowering::emitGlobalInitializer(const GlobalInitializer &,
+ MachineMCContext &,
+ mc::MCStreamer &) const {
+ return makeUnexpected(ErrorCode::Unsupported,
+ "target does not support assembly emission for global initializers");
+}
+
+Expected<void> TargetMCInstLowering::emitTargetConstant(const TargetConstant &, MachineMCContext &,
+ mc::MCStreamer &) const {
+ return makeUnexpected(ErrorCode::Unsupported,
+ "target does not support assembly emission for this target constant");
+}
+
+Expected<void> TargetMCInstLowering::emitTargetJumpTable(const MachineFunction &,
+ const MachineJumpTableEntry &,
+ MachineMCContext &,
+ mc::MCStreamer &) const {
+ return makeUnexpected(ErrorCode::Unsupported, "target does not support this jump-table encoding");
+}
+
+} // namespace rcc