mirror of
git://gcc.gnu.org/git/gcc.git
synced 2024-12-20 19:10:13 +08:00
stmt.c (expand_asm_operands): Invoke MD_ASM_CLOBBERS if present.
* stmt.c (expand_asm_operands): Invoke MD_ASM_CLOBBERS if present. * tm.texi (MD_ASM_CLOBBERS): Document it. From-SVN: r29064
This commit is contained in:
parent
773c6f0076
commit
57bcb97aac
@ -1,3 +1,28 @@
|
||||
Thu Sep 2 13:00:48 1999 Richard Henderson <rth@cygnus.com>
|
||||
|
||||
* stmt.c (expand_asm_operands): Invoke MD_ASM_CLOBBERS if present.
|
||||
* tm.texi (MD_ASM_CLOBBERS): Document it.
|
||||
|
||||
Thu Sep 2 10:22:40 1999 Richard Henderson <rth@cygnus.com>
|
||||
|
||||
* dwarf2out.c (dwarf2out_line): Constify `lastfile'.
|
||||
* except.c (expand_rethrow): Remove unused variable.
|
||||
* expr.c (do_jump_by_parts_greater_rtx): Likewise.
|
||||
* flow.c (replace_insns): Likewise.
|
||||
(create_edge_list, verify_edge_list): Likewise.
|
||||
* gcse.c (cprop_cc0_jump): Protect declaration with HAVE_cc0.
|
||||
|
||||
* genemit.c (gen_expand): Only emit `operands[N]' decl if there
|
||||
is special code to run.
|
||||
(main): Don't define operands to emit_operand.
|
||||
* genrecog.c (main): Don't emit an empty peephole2_insn function.
|
||||
|
||||
* rtl.h (NOTE_BASIC_BLOCK): Use X0BBDEF.
|
||||
|
||||
* alpha/alpha.h (normal_memory_operand): Declare.
|
||||
(reg_no_subreg_operand): Declare.
|
||||
* alpha/elf.h (ASM_DECLARE_OBJECT_NAME): Use HOST_WIDE_INT_PRINT_DEC.
|
||||
|
||||
Thu Sep 2 10:19:20 1999 Richard Henderson <rth@cygnus.com>
|
||||
|
||||
* c-parse.in (compstmt_primary_start): New, broken out of first
|
||||
|
@ -1153,6 +1153,14 @@ expand_asm_operands (string, outputs, inputs, clobbers, vol, filename, line)
|
||||
return;
|
||||
}
|
||||
|
||||
#ifdef MD_ASM_CLOBBERS
|
||||
/* Sometimes we wish to automatically clobber registers across an asm.
|
||||
Case in point is when the i386 backend moved from cc0 to a hard reg --
|
||||
maintaining source-level compatability means automatically clobbering
|
||||
the flags register. */
|
||||
MD_ASM_CLOBBERS (clobbers);
|
||||
#endif
|
||||
|
||||
/* Count the number of meaningful clobbered registers, ignoring what
|
||||
we would ignore later. */
|
||||
nclobbers = 0;
|
||||
|
@ -7713,6 +7713,11 @@ unit may not be bound to undefined symbols in another translation unit
|
||||
without user intervention. For instance, under Microsoft Windows
|
||||
symbols must be explicitly imported from shared libraries (DLLs).
|
||||
|
||||
@findex MD_ASM_CLOBBERS
|
||||
@item MD_ASM_CLOBBERS
|
||||
A C statement that adds to @var{CLOBBERS} @code{STRING_CST} trees for
|
||||
any hard regs the port wishes to automatically clobber for all asms.
|
||||
|
||||
@findex ISSUE_RATE
|
||||
@item ISSUE_RATE
|
||||
A C expression that returns how many instructions can be issued at the
|
||||
|
Loading…
Reference in New Issue
Block a user