* config/mips/mips.c (mips_va_arg): For EABI, emit the queued
integer vararg POSTINCREMENT before the destination of the jump
for the hard fp case.
(function_arg_pass_by_reference): Pass a copy of CUM to
FUNCTION_ARG.
* config/mips/mips.h (GO_IF_LEGITIMATE_ADDRESS): Move check
for CONSTANT_ADDRESS_P above while loop for subreg.
From-SVN: r31328
* flow.c (propagate_block): When a prologue/epilogue insn
is marked dead, unconditionally clear libcall_is_dead and
insn_is_dead, and only dump rtl if warnings aren't being
suppressed.
From-SVN: r31327
* i386.c (ix86_attr_length_default): Handle TYPE_STR and TYPE_CLD.
* i386.md (FIRST_PSEUDO_REGISTER): Set to 20.
(FIXED_REGISTERS): Set dirflag as fixed.
(CALL_USED_REGISTERS): Set dirflag as used.
(REG_ALLOC_ORDER): Set dirflag as last one.
(DIRFLAG_REG): New macro.
(MD_ASM_CLOBBERS): Asm clobber dirflag for backward compatibility.
(HI_REGISTER_NAMES): Add dirflag.
(DEBUF_PRINT_REG): Handle dirflag.
* i386.md (type attribute): New cld and str types.
(length_opcode attribute): Set cld and str to 1.
(memory attribute): Set str to unknown - it is not clear from the
patterns.
(pent_np function unit): Prefixed string operations takes 12 cycles
minimally; cld takes 2 cycles.
(ppro_uops attribute): Str is "many" and cld is "few".
(ppro_p0 unit): Handle cld here.
(k6_alux unit): Handle cld and str types.
(k6_load unit): It is ocupied by str opcodes.
(k6_store unit): It is ocupied by str opcodes.
(athlon_decode): Str is vector decoded.
(athlon_ieu): Handle str and cld.
(cld pattern): New.
(movstrsi, clrstr, cmpstr, strlen expander): Emit cld instruction
(movstrsi_1, clrstrsi_1, cmpstrsi_1, strlensi_1,
cmpstrsi_nz_1 insn): Do not output cld instruction
From-SVN: r31326
* gcc.texi (G++ and GCC): Add Java and Chill.
(Bug Critera): Don't list languages.
* gcc.texi (Incompatibilities): No longer claim most C compilers
are K&R.
* gcc.texi (G++ and GCC): Update other front-ends list.
From-SVN: r31323
* haifa-sched.c (extract_bitlst): New parameter for size of the
bitset in bits. All callers changed. Avoid looking at undefined
bits in the bitset.
(edgeset_bitsize): New variable.
(schedule_region): Initialize edgeset_bitsize.
From-SVN: r31322
* elfos.h (ASM_OUTPUT_LIMITED_STRING): Add parentheses around
assignment used as truth value.
* function.c (assign_temp): Mark parameter `dont_promote' with
ATTRIBUTE_UNUSED. Wrap variable `unsignedp' with macro
PROMOTE_FOR_CALL_ONLY.
* genrecog.c (write_subroutine): Mark variable `operands' with
ATTRIBUTE_UNUSED.
* optabs.c (prepare_cmp_insn): Mark parameter `align' with
ATTRIBUTE_UNUSED.
* sdbout.c (sdbout_init): Likewise for parameter `asm_file'.
(sdbout_begin_block, sdbout_end_block): Likewise for `file'.
* toplev.c (note_deferral_of_defined_inline_function): Likewise
for `decl'.
From-SVN: r31293
* alpha.md (adddi_2+1): Limit offset such that it will be
loadable with a single ldah+lda pair.
(adddi_2+2): Explicitly fail split if we can't make it work.
From-SVN: r31267
2000-01-06 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
* defaults.h (DWARF_FRAME_REGISTERS): if not defined, default to
FIRST_PSEUDO_REGISTER
* dwarf2out.c: Don't include frame.h
* dwarfout.c: Likewise
* Makefile.in (dwarfout.o, dwarf2out.o): Remove dependence on
frame.h
From-SVN: r31257
* reg-stack.c (subst_stack_regs_pat): Handle correctly USEs of
dead registers.
* i386.c (movsf splitter): Fix typo in my last checkin.
From-SVN: r31256
2000-01-05 11:25 -0800 Zack Weinberg <zack@rabi.columbia.edu>
* c-decl.c (finish_enum): Simplify code to determine minimum and
maximum values of the enum, and calculate the type. Remove check
for FUNCTION_DECLs in the values list, which cannot happen. Replace
the DECL_INITIAL of each enumeration constant with a copy converted
to the enumeration type. When updating variant types, don't bother
updating the type itself.
* c-typeck.c (build_binary_op): Simplify conditional expressions
when weeding out spurious signed-unsigned warnings. Add new
spurious warning category: if the unsigned quantity is an enum
and its maximum value fits in signed_type(result_type). Update
commentary.
(build_conditional_expr): Warn here if one alternative is signed
and the other is unsigned.
From-SVN: r31244
* configure.in (m68*-*-rtemscoff*): New target, formal name for
old m68*-*-rtems*.
(m68*-*-rtemself*): New target.
(mips64orion-*-rtems*): Remove duplicate definition of tm_file.
(sparc*-*-rtemsaout*): New target, formal name for old sparc*-*-rtems*.
(sparc*-*-rtemself*): New target.
(sparc*-*-rtems*): Now elf not a.out.
* config/i386/rtems.h: Include config/rtems.h.
* config/i386/rtemself.h: Include config/rtems.h.
* config/i960/rtems.h: Include config/rtems.h.
* config/m68k/rtems.h: Include config/rtems.h.
* config/m68k/rtemself.h: Include config/rtems.h.
* config/mips/rtems64.h: Include config/rtems.h.
* config/pa/rtems.h: Include config/rtems.h.
* config/rs6000/rtems.h: Include config/rtems.h.
* config/sh/rtems.h: Include config/rtems.h.
* config/sh/rtemself.h: Include config/rtems.h.
* config/sparc/rtems.h: Include config/rtems.h.
* config/sparc/rtemself.h: Include config/rtems.h
From-SVN: r31231
2000-01-04 Stan Cox <scox@cygnus.com>
* haifa-sched.c (build_control_flow): Change unreachable simple
loop test to check if current block has only one predecessor.
(find_rgns): Initialize degree. Use dest as degree index, not src.
From-SVN: r31208