diff options
author | Chao-ying Fu <fu@mips.com> | 2009-04-10 18:20:22 +0000 |
---|---|---|
committer | Chao-ying Fu <chaoyingfu@gcc.gnu.org> | 2009-04-10 18:20:22 +0000 |
commit | 1afc5373043f7cc388ceed855be6f7d0f5dc24d1 (patch) | |
tree | 6e37fe7e1f86ddb16c584d6ceb5493f7b05e1620 /gcc/doc/tm.texi | |
parent | aa070a60c3bdc70201b0fdc44da357cab854a50f (diff) | |
download | gcc-1afc5373043f7cc388ceed855be6f7d0f5dc24d1.zip gcc-1afc5373043f7cc388ceed855be6f7d0f5dc24d1.tar.gz gcc-1afc5373043f7cc388ceed855be6f7d0f5dc24d1.tar.bz2 |
tm.texi (Instruction Output): Document TARGET_ASM_FINAL_POSTSCAN_INSN.
2009-04-10 Chao-ying Fu <fu@mips.com>
* doc/tm.texi (Instruction Output): Document
TARGET_ASM_FINAL_POSTSCAN_INSN.
* target.h (final_postscan_insn): New field in asm_out.
* target-def.h (TARGET_ASM_FINAL_POSTSCAN_INSN): New define.
(TARGET_ASM_OUT): Add TARGET_ASM_FINAL_POSTSCAN_INSN.
* final.c (final_scan_insn): Call
targetm.asm_out.final_postscan_insn after outputting
an asm macro and a normal instruction.
* config/mips/mips.h (FINAL_PRESCAN_INSN): New define.
* config/mips/mips-protos.h (mips_final_prescan_insn): Declare.
* config/mips/mips.c (mips_at_reg_p): New for_each_rtx callback.
(mips_final_prescan_insn, mips_final_postscan_insn): New functions.
(TARGET_ASM_FINAL_POSTSCAN_INSN): New define.
From-SVN: r145934
Diffstat (limited to 'gcc/doc/tm.texi')
-rw-r--r-- | gcc/doc/tm.texi | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/gcc/doc/tm.texi b/gcc/doc/tm.texi index 665b269..0396a70 100644 --- a/gcc/doc/tm.texi +++ b/gcc/doc/tm.texi @@ -8193,6 +8193,19 @@ writing conditional output routines in those patterns. If this macro is not defined, it is equivalent to a null statement. @end defmac +@deftypefn {Target Hook} void TARGET_ASM_FINAL_POSTSCAN_INSN (FILE *@var{FILE}, rtx @var{insn}, rtx *@var{opvec}, int @var{noperands}) +If defined, this target hook is a function which is executed just after the +output of assembler code for @var{insn}, to change the mode of the assembler +if necessary. + +Here the argument @var{opvec} is the vector containing the operands +extracted from @var{insn}, and @var{noperands} is the number of +elements of the vector which contain meaningful data for this insn. +The contents of this vector are what was used to convert the insn +template into assembler code, so you can change the assembler mode +by checking the contents of the vector. +@end deftypefn + @defmac PRINT_OPERAND (@var{stream}, @var{x}, @var{code}) A C compound statement to output to stdio stream @var{stream} the assembler syntax for an instruction operand @var{x}. @var{x} is an |