aboutsummaryrefslogtreecommitdiff
path: root/gcc/rust/backend/rust-compile-asm.cc
diff options
context:
space:
mode:
authorbadumbatish <tanghocle456@gmail.com>2024-08-01 16:22:32 -0700
committerArthur Cohen <arthur.cohen@embecosm.com>2025-03-19 15:32:07 +0100
commit0bad7500da4f08d03e668cbba8935a9f0803664c (patch)
tree261acf12f9b58a3da0a9d85264c7320ef76594c8 /gcc/rust/backend/rust-compile-asm.cc
parent29c6aba1d8dc925a0f43b68928004344ea212987 (diff)
downloadgcc-0bad7500da4f08d03e668cbba8935a9f0803664c.zip
gcc-0bad7500da4f08d03e668cbba8935a9f0803664c.tar.gz
gcc-0bad7500da4f08d03e668cbba8935a9f0803664c.tar.bz2
gccrs: Perform lowering hir output operand to tree
gcc/rust/ChangeLog: * backend/rust-compile-asm.cc (CompileAsm::asm_build_expr): Add debug comment (CompileAsm::asm_construct_outputs): Perform lowering hir output operand to tree
Diffstat (limited to 'gcc/rust/backend/rust-compile-asm.cc')
-rw-r--r--gcc/rust/backend/rust-compile-asm.cc12
1 files changed, 11 insertions, 1 deletions
diff --git a/gcc/rust/backend/rust-compile-asm.cc b/gcc/rust/backend/rust-compile-asm.cc
index 32ad84e..d179c35 100644
--- a/gcc/rust/backend/rust-compile-asm.cc
+++ b/gcc/rust/backend/rust-compile-asm.cc
@@ -26,6 +26,7 @@ CompileAsm::asm_build_expr (HIR::InlineAsm &expr)
ASM_BASIC_P (asm_expr) = expr.is_simple_asm ();
ASM_VOLATILE_P (asm_expr) = false;
ASM_INLINE_P (asm_expr) = expr.is_inline_asm ();
+ /*Backend::debug (asm_expr);*/
return asm_expr;
}
@@ -91,8 +92,17 @@ CompileAsm::asm_construct_outputs (HIR::InlineAsm &expr)
== AST::InlineAsmOperand::RegisterType::Out)
{
auto out = output.get_out ();
+
tree out_tree = CompileExpr::Compile (out.expr.get (), this->ctx);
- Backend::debug (out_tree);
+ // expects a tree list
+ // TODO: This assumes that the output is a register
+ std::string expr_name = "=r";
+ auto name = build_string (expr_name.size () + 1, expr_name.c_str ());
+ head
+ = chainon (head, build_tree_list (build_tree_list (NULL_TREE, name),
+ out_tree));
+
+ /*Backend::debug (head);*/
/*head = chainon (head, out_tree);*/
}
}