summaryrefslogtreecommitdiff
path: root/gcc/rtl.def
diff options
context:
space:
mode:
authoraoliva <aoliva@138bc75d-0d04-0410-961f-82ee72b054a4>2007-03-09 07:36:43 +0000
committeraoliva <aoliva@138bc75d-0d04-0410-961f-82ee72b054a4>2007-03-09 07:36:43 +0000
commit09fb10e8536409ff71e3580d00064a9ca99bc3a8 (patch)
tree48b68219ea2954e8bd644e2a8f092df8fd7a9b90 /gcc/rtl.def
parent58d16c5f65a4e27ed9c17f0dd1135a6d9d941bfd (diff)
downloadgcc-09fb10e8536409ff71e3580d00064a9ca99bc3a8.tar.gz
* rtl.def (ASM_INPUT): Add location.
* rtl.h (ASM_INPUT_SOURCE_LOCATION): New. (ASM_INPUT_SOURCE_FILE, ASM_INPUT_SOURCE_LINE): New. (decode_asm_operands): Add loc operand. (gen_rtx_ASM_INPUT, gen_rtx_ASM_INPUT_loc): Define. * stmt.c (expand_asm): Rename to... (expand_asm_loc): ... this. Add locus argument. Pass it on to gen_rtx_ASM_INPUT_loc. (expand_asm_expr): Adjust. * recog.c (decode_asm_operands): Add loc operand. (check_asm_operands, extract_insn): Adjust. * reload1.c (maybe_fix_stack_asms): Likewise. * final.c (asm_insn_count): Likewise. (final_scan_insn): Output # line before and after asm. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@122742 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/rtl.def')
-rw-r--r--gcc/rtl.def12
1 files changed, 10 insertions, 2 deletions
diff --git a/gcc/rtl.def b/gcc/rtl.def
index 7a04d88735c..a49f1649e8a 100644
--- a/gcc/rtl.def
+++ b/gcc/rtl.def
@@ -168,15 +168,15 @@ DEF_RTL_EXPR(COND_EXEC, "cond_exec", "ee", RTX_EXTRA)
/* Several operations to be done in parallel (perhaps under COND_EXEC). */
DEF_RTL_EXPR(PARALLEL, "parallel", "E", RTX_EXTRA)
+#ifdef USE_MAPPED_LOCATION
/* A string that is passed through to the assembler as input.
One can obviously pass comments through by using the
assembler comment syntax.
These occur in an insn all by themselves as the PATTERN.
They also appear inside an ASM_OPERANDS
as a convenient way to hold a string. */
-DEF_RTL_EXPR(ASM_INPUT, "asm_input", "s", RTX_EXTRA)
+DEF_RTL_EXPR(ASM_INPUT, "asm_input", "si", RTX_EXTRA)
-#ifdef USE_MAPPED_LOCATION
/* An assembler instruction with operands.
1st operand is the instruction template.
2nd operand is the constraint for the output.
@@ -190,6 +190,14 @@ DEF_RTL_EXPR(ASM_INPUT, "asm_input", "s", RTX_EXTRA)
6th is the source line number. */
DEF_RTL_EXPR(ASM_OPERANDS, "asm_operands", "ssiEEi", RTX_EXTRA)
#else
+/* A string that is passed through to the assembler as input.
+ One can obviously pass comments through by using the
+ assembler comment syntax.
+ These occur in an insn all by themselves as the PATTERN.
+ They also appear inside an ASM_OPERANDS
+ as a convenient way to hold a string. */
+DEF_RTL_EXPR(ASM_INPUT, "asm_input", "ssi", RTX_EXTRA)
+
/* An assembler instruction with operands.
1st operand is the instruction template.
2nd operand is the constraint for the output.