* reload1.c (reload_combine_note_store): Be more careful with
STRICT_LOW_PART, ZERO_EXTRACT and SIGN_EXTRACT.
(move2add_note_store): Likewise.
From-SVN: r25055
* cppfiles.c (read_and_prescan): Cast the result of `xrealloc' to
U_CHAR* when assigning to one. Ensure the values of a ?: operator
have the same type.
* cppinit.c (initialize_char_syntax): Use K&R function definition.
From-SVN: r25054
Support for ARM9
* config/arm/arm.c (all_procs): Add arm9 and arm9tdmi.
* config/arm/arm.h ((TARGET_CPU_arm9, TARGET_CPUD_arm9tdmi): Define.
(TARGET_CPU_DEFAULT): Rework to support ARM9.
(CPP_CPU_ARCH_SPEC): Likewise.
(enum processor_type): Likewise.
* config/arm/arm.md (attr cpu): Add arm9.
General scheduling changes
* config/arm/arm.c (MAX_INSNS_SKIPPED): Delete.
(max_insns_skipped): New variable.
(arm_override_options): If generating hard floating point code for
the FPA, emit code for version 3.
When optimizing for space, don't synthesize constants.
Reword several flags based on the requested processor and optimization
level.
(use_return_insn): New argument iscond, all callers changed. Don't
use a return insn if it will be conditional and that would be
expensive; eg on StrongARM.
(arm_adjust_cost): Anti- and output- dependencies normally have no
cost.
(load_multiple_sequence): Newer ARMs don't benefit from ldm if
the sequence is short.
(final_prescan_insn): Use max_insns_skipped instead of
MAX_INSNS_SKIPPED. Note whether we will make a return instruction
conditional, and aviod this if it would be expensive.
* config/arm/arm.md (scheduling attributes and function units):
Rewrite to better describe ARM8, 9 and StrongARM.
* config/arm/arm.md (*movhi_insn_littleend): Make op0 predicate
s_register_operand.
(*ifcompare_plus_move): Use arm_rhs_operand in place of
arm_rhsm_operand. Rework constraints.
(*if_plus_move): Likewise.
(*ifcompare_move_plus): Likewise.
(*if_move_plus): Likewise.
(*ifcompre_arith_move): Likewise.
(*if_arith_move): Likewise.
(*ifcompare_move_arith): Likewise.
(*if_move_arith): Likewise.
* config/arm/xm-netbsd.h: Don't include arm/xm-arm.h.
From-SVN: r25053
�
Fri Feb 5 11:49:49 1999 Benjamin Kosnik <bkoz@loony.cygnus.com>
* c-common.c (decl_attributes): Fix reserved space for init_priority.
* tree.h (MAX_RESERVED_INIT_PRIORITY): New macro.
From-SVN: r25047
�
Fri Feb 5 11:49:49 1999 Benjamin Kosnik <bkoz@loony.cygnus.com>
* c-common.c (decl_attributes): Fix reserved space for init_priority.
* tree.h (MAX_RESERVED_INIT_PRIORITY): New macro.
From-SVN: r25046
�
Fri Feb 5 11:49:49 1999 Benjamin Kosnik <bkoz@loony.cygnus.com>
* c-common.c (decl_attributes): Fix reserved space for init_priority.
* tree.h (MAX_RESERVED_INIT_PRIORITY): New macro.
From-SVN: r25045
1999-02-05 Andrew Haley <aph@cygnus.com>
* class.c (make_class_data): The superclass of an interface should
be null, not class Object.
* lex.c (java_lex): Sign extend hex literals.
From-SVN: r25039
* decl2.c: Remove flag_init_priority. Always enable initp stuff.
(start_objects, finish_objects): Only use special
init_priority code if the user specified a priority.
(do_ctors, do_dtors): Use DEFAULT_INIT_PRIORITY for the non-initp
objects.
From-SVN: r25037
* pt.c (unify): Call coerce_template_parms with the COMPLAIN flag
turned off.
* lex.c (retrofit_lang_decl): Split out...
(build_lang_decl): From here.
* decl.c (pushdecl): Call it for functions generated by the middle
end that don't have DECL_LANG_SPECIFIC.
* decl2.c: Remove flag_init_priority. Always enable initp stuff.
(start_objects, finish_objects): Only use special
init_priority code if the user specified a priority.
(do_ctors, do_dtors): Use DEFAULT_INIT_PRIORITY for the non-initp
objects.
From-SVN: r25036
* loop.c (first_loop_store_insn): New file-scope variable.
(prescan_loop): Set it.
(check_dbra_loop): Check if a store depends on a register
that is set after the store.
From-SVN: r25034
* loop.c (scan_loop): New argument loop_cont. Changed caller.
(strength_reduce): New argument loop_cont. Changed caller.
Before clearing not_every_iteration after a label, check if
we are not already past LOOP_CONT.
From-SVN: r25026
1999-02-04 Andrew Haley <aph@cygnus.com>
* class.c (build_utf8_ref): Output signatures using '.' as a
separator, rather than '/'.
(make_class_data): Likewise.
From-SVN: r25022
* config/mips/mips.md ([u]divmodsi4,[u]divmoddi4,[u]divsi3,[u]divdi3,
[u]modsi3,[u]moddi3) : Don't copy the "zero" argument to a register
before calling gen_div_trap.
From-SVN: r25019