Nick Clifton [Tue, 27 Aug 2002 20:01:17 +0000 (20:01 +0000)]
config.gcc: Add v850e-*-* target.
2002-08-27 Nick Clifton <nickc@redhat.com>
Catherine Moore <clm@redhat.com>
Jim Wilson <wilson@cygnus.com>
* config.gcc: Add v850e-*-* target.
Add --with-cpu= support for v850.
* config/v850/lib1funcs.asm: Add v850e callt functions.
* config/v850/v850.h: Add support for v850e target.
* config/v850/v850.c: Add functions to support v850e target.
* config/v850/v850-protos.h: Add prototypes for new functions in v850.c.
* config/v850/v850.md: Add patterns for v850e instructions.
* doc/invoke.texi: Document new v850e command line switches.
Co-Authored-By: Catherine Moore <clm@redhat.com> Co-Authored-By: Jim Wilson <wilson@cygnus.com>
From-SVN: r56612
J"orn Rennecke [Tue, 27 Aug 2002 15:31:02 +0000 (15:31 +0000)]
Scheduling revamp:
* sh.md (attribute type): Add types mt_group, fload, pcfload, fpul_gp,
mac_gp ftrc_s and cwb. Add / Adjust definitions in individual insn
accordingly.
(attribute insn_class): Provide default definitions based on type.
Remove all insn-specific settings.
(various function units): Remove old SH4 scheduling.
(branch_zero, dfp_comp, late_fp_use, any_fp_comp, any_int_load):
New attributes. Set them where appropriate.
(cpu unit FS): Don't define / use.
(F3, load_store): New cpu units.
(F01): New reservation.
(all insn_reservations): Make dependent on sh4 pipeline model.
Fix latencies.
(nil, reg_mov, freg_mov, sh4_fpul_gp, sh4_call): New insn_reservations.
(sh4_mac_gp, fp_arith_ftrc, arith3, arith3b): Likewise.
(mt insn_reservation): Use type mt_group.
(insn_reservation load_store): Split into sh4_load, sh4_load_si,
sh4_fload and sh4_store.
(insn_reservation branch_zero and branch): Replace with sh4_branch.
(insn_reservation branch_far): Replace with sh4_return.
(insn_reservation return_from_exp): Rename to:
(sh4_return_from_exp). Change to be just d_lock*5.
(insn_reservation lds_to_pr): Rename to:
(sh4_lds_to_pr). Change to be just d_lock*2.
(insn_reservation ldsmem_to_pr, sts_from_pr): Change to be just
d_lock*2.
(insn_reservation prload_mem): Rename to:
(sh4_prstore_mem). Change to d_lock*2,nothing,memory.
(insn_reservation fpscr_store): Rename to:
(fpscr_load). Change to d_lock,nothing,F1*3.
(insn_reservation fpscr_store_mem): Rename to:
(fpscr_load_mem). Change to d_lock,nothing,(F1+memory),F1*2.
(insn_reservation multi): Change to
d_lock,(d_lock+f1_1),(f1_1|f1_2)*3,F2.
(insn_reservation fp_arith): Change to issue,F01,F2.
(insn_reservation fp_div: Change to issue,F01+F3,F2+F3,F3*7,F1+F3,F2.
(insn_reservation dp_float): Change to issue,F01,F1+F2,F2.
(insn_reservation fp_double_arith): Change to issue,F01,F1+F2,fpu*4,F2.
(insn_reservation fp_double_cmp): Change to
d_lock,(d_lock+F01),F1+F2,F2.
(insn_reservation dp_div): Change to
issue,F01+F3,F1+F2+F3,F2+F3,F3*16,F1+F3,(fpu+F3)*2,F2.
* sh.c (flow_dependent_p, flow_dependent_p_1): New functions.
(sh_adjust_cost, SHcompact): Differentiate between different
kinds of dependencies. Drop factor of ten for superscalar.
Use new instruction types. Add new exception rules.
Two small bug fixes:
* sh.md (mulhisi3, umulhisi3: Add a REG_EQUAL note.
Ziemowit Laski [Mon, 26 Aug 2002 21:17:20 +0000 (21:17 +0000)]
objc-act.c (get_super_receiver): If inside a class method of a category...
[gcc]
2002-08-26 Ziemowit Laski <zlaski@apple.com>
* objc/objc-act.c (get_super_receiver): If inside a class method
of a category, cast the receiver to 'id' before accessing the 'isa'
field so that <objc/objc-class.h> is not needed. For NeXT runtime.
[gcc/testsuite]
2002-08-26 Ziemowit Laski <zlaski@apple.com>
config/s390/s390.c (s390_machine_dependent_recorg): New function.
config/s390/s390-protos.h (s390_machine_dependent_reorg): Declare it.
config/s390/s390.h (MACHINE_DEPENDENT_REORG): Call it.
config/s390/s390.c (s390_split_branches, s390_chunkify_pool): Adapt
to being called from MACHINE_DEPENDENT_REORG. Update regs_ever_live.
config/s390/s390.c (s390_frame_info): Inline save_fprs_p. Always
assume BASE_REGISTER and RETURN_REGNUM need to be saved.
(s390_emit_prologue): Assume RETURN_REGNUM to be saved iff
function is not a leaf function. Use save_gprs and restore_gprs.
(s390_emit_epilogue): Likewise.
(save_gprs, restore_gprs): New functions.
(struct s390_frame): Remove return_reg_saved_p member.
(save_fprs_p): Remove.
(s390_optimize_prolog): New function.
(s390_legitimate_reload_constant): Remove now unnecessary check.
(s390_function_count): Remove.
(s390_output_symbolic_const): Replace s390_function_count by
current_function_funcdef_no.
(s390_output_constant_pool): Likewise.
(legitimize_pic_address): Use regs_ever_live to track PIC register
instead of current_function_uses_pic_offset_table.
(s390_emit_prologue): Likewise.
config/s390/s390.md ("call", "call_value"): Likewise.
Neil Booth [Mon, 26 Aug 2002 17:44:08 +0000 (17:44 +0000)]
c-opts.c (find_opt): Don't complain about wrong languages here.
* c-opts.c (find_opt): Don't complain about wrong languages
here. Return exact matches even for wrong language.
(c_common_decode_option): Complain about wrong languages
here.
Stuart Hastings [Sun, 25 Aug 2002 05:21:11 +0000 (05:21 +0000)]
function.h (struct function): Add flag all_throwers_are_sibcalls.
2002-08-24 Stuart Hastings <stuart@apple.com>
* function.h (struct function): Add flag
all_throwers_are_sibcalls.
* except.c (set_nothrow_function_flags): Replaces
nothrow_function_p. Set new flag.
* except.h (set_nothrow_function_flags): Replaces
nothrow_function_p.
* dwarf2out.c (struct dw_fde_struct): Add flag
all_throwers_are_sibcalls.
(output_call_frame_info): Test it.
(dwarf2out_begin_prologue) Propagate it from cfun to
dw_fde_struct.
* toplev.c (rest_of_compilation): Update calls to
nothrow_function_p.
* Makefile.am (libgcj_la_SOURCES): Remove name-finder.cc.
(core_java_source_files): Add VMThrowable.java and NameFinder.java
(nat_source_files): Remove natThrowable.cc, add natVMThrowable.cc
and natNameFinder.cc.
* Makefile.in: Regenerate.
* prims.cc: Use trace_enabled from VMThrowable.
* name-finder.cc: Removed.
* gcj/javaprims.h: Add class VMThrowable.
* gnu/gcj/runtime/NameFinder.java: New file.
* gnu/gcj/runtime/natNameFinder.cc: Likewise.
* include/name-finder.h: Removed.
* java/lang/Throwable.java (printStackTrace (PrintStream)): Use new
method stackTraceString().
(printStackTrace (PrintWriter)): Likewise.
(stackTraceString): Complete rewrite of old printStackTrace using
StringBuffer.
(stackTraceStringBuffer): New helper method for stackTraceString().
(fillInStackTrace): Delegate to VMTrowable.
(getStackTrace): Likewise.
(getStackTrace0): Removed.
(trace_enabled, stackTraceBytes): Moved to new VMThrowable.java.
(setStackTrace): Copy given array.
* java/lang/natThrowable.cc: Removed (replaced by natVMThrowable).
* java/lang/VMThrowable.java: New class.
* java/lang/natVMThrowable.cc: New file.
Alan Modra [Fri, 23 Aug 2002 01:18:06 +0000 (01:18 +0000)]
rs6000.c (output_mi_thunk): Don't determine insns for loading delta with num_insns_constant_wide.
* config/rs6000/rs6000.c (output_mi_thunk): Don't determine insns
for loading delta with num_insns_constant_wide. Calculate
delta_low, delta_high without using a conditional.
Paolo Carlini [Thu, 22 Aug 2002 20:30:13 +0000 (22:30 +0200)]
index.html: Add Loren James Rittle and Paolo Carlini to the list of v3 maintainers.
2002-08-22 Paolo Carlini <pcarlini@unitus.it>
* docs/html/faq/index.html: Add Loren James Rittle and
Paolo Carlini to the list of v3 maintainers.
* docs/html/faq/index.txt: Ditto.
* docs/html/17_intro/RELEASE-NOTES: Ditto.
* where.h (struct _ffewhere_file_): Mark GTY.
(ffewhere_file_kill): Remove prototype.
* where.c: Include ggc.h.
(struct _ffewhere_ll_, struct _ffewhere_root_ll_): Mark GTY.
(ffewhere_root_ll_): Ditto. Change type from struct
_ffewhere_root_ll_ to struct _ffewhere_root_ll_*. All uses
changed.
(ffewhere_file_kill): Remove.
(ffewhere_file_new): Use GC to allocate ffewhereFile objects.
(ffewhere_file_set): Use GC to allocate ffewhereLL_ objects.
(ffewhere_init_1): Use GC to allocate ffewhere_root_ll_ sentinel.
Include gt-f-where.h.
* lex.c (ffelex_current_wf_, ffelex_include_wherefile_): Mark GTY.
Include gt-f-lex.h.
* std.c (ffestd_S3P4): Don't call ffewhere_file_kill.
* config-lang.in (gtfiles): Add f/where.h f/where.c and f/lex.c.
* Make-lang.in (gt-f-lex.h gt-f-where.h): Add to dependents of
s-gtype.
(f/lex.o): Depend on gt-f-lex.h.
(f/where.o): Depend on gt-f-where.h.
Tom Tromey [Thu, 22 Aug 2002 00:42:40 +0000 (00:42 +0000)]
For PR java/6005 and PR java/7611:
* fold-const.c (fold_truthop): Use can_use_bit_fields_p.
(fold): Likewise.
* langhooks.c (lhd_can_use_bit_fields_p): New function.
* langhooks-def.h (lhd_can_use_bit_fields_p): Declare.
(LANG_HOOKS_CAN_USE_BIT_FIELDS_P): New define.
(LANG_HOOKS_INITIALIZER): Use it.
* langhooks.h (struct lang_hooks) [can_use_bit_fields_p]: New
field.
Joseph Myers [Wed, 21 Aug 2002 16:31:36 +0000 (17:31 +0100)]
re PR c/4319 (short accepted on typedef'd char)
* c-decl.c (grokdeclarator): Make invalid combinations with long,
short, signed or unsigned into hard errors. Fixes PR c/4319.
Also make duplicate modifiers such as "short short" into hard
errors.
Eric Christopher [Tue, 20 Aug 2002 21:53:28 +0000 (21:53 +0000)]
config.sub: Import from master repository.
2002-08-15 Eric Christopher <echristo@redhat.com>
* config.sub: Import from master repository.
* config.guess: Ditto.
2002-08-15 Eric Christopher <echristo@redhat.com>
Jeff Knaggs <jknaggs@redhat.com>
* config.gcc (mipsisa64sr71k-elf): New target.
* config/mips/sr71k.md: New file.
* config/mips/mips.md: Use it.
(rot*): Add sr71k specifics.
* config/mips/t-sr71k: New file.
* config/mips/mips.h (sr71k): New cpu.
(TARGET_SR71K): Use it.
(TUNE_SR71K): Ditto.
(GENERATE_BRANCHLIKELY): Ditto.
(ISA_HAS_MULHI, ISA_HAS_MULS, ISA_HAS_MSAC, ISA_HAS_MACC,
ISA_HAS_ROTR_SIISA_HAS_ROTR_DI): Ditto.
* config/mips/mips.c (sr71k): New cpu.
(mips_use_dfa_pipeline_interface): Use.
2002-08-15 Eric Christopher <echristo@redhat.com>
Richard Sandiford <rsandifo@redhat.com>
Aldy Hernandez <aldyh@redhat.com>
Graham Stott <grahams@redhat.com>
Michael Meissner <meissner@redhat.com>
Gavin Romig-Koch <gavin@redhat.com>
Ken Raeburn <raeburn@cygnus.com>
Alexandre Oliva <aoliva@redhat.com>
* config.gcc (mips64vr-elf): New target.
* config/mips/5400.md: New file.
* config/mips/5500.md: Ditto.
* config/mips/mips.md: Use them.
(frsqrt): New.
* config/mips/mips.c (vr4111, vr4121, vr4320, vr5400, vr5500): New
cpus.
(mips_issue_rate): Use them.
(mips_use_dfa_pipeline_interface): New function. Use for 5400 and 5500.
(TARGET_SCHEDUSE_DFA_PIPELINE_INTERFACE): Define. Use above.
* config/mips/mips.h (vr4111, vr4121, vr4320, vr5400, vr5500): New
cpus.
(TARGET_MIPSx): Use them.
(TUNE_MIPSx): Ditto.
(GETNATE_MULT3_SI): Ditto.
(ISA_HAS_BRANCHLIKELY): Ditto.
(ISA_HAS_CONDMOVE): Ditto.
(ISA_HAS_NMADD_NMSUB): Ditto.
(ISA_HAS_MULHI): New. Ditto.
(ISA_HAS_MULS): Ditto.
(ISA_HAS_MSAC): Ditto.
(ISA_HAS_MACC): Ditto.
(ISA_HAS_ROTR_SI): Ditto.
(ISA_HAS_ROTR_DI): Ditto.
(RTX_COSTS): Use.
cppinit.c (remove_dup_dir): Add head_ptr argument to handle removal at head.
* cppinit.c (remove_dup_dir): Add head_ptr argument to handle removal
at head.
(remove_dup_nonsys_dirs): New function.
(remove_dup_dirs): Change argument head to head_ptr. Remove warnings.
(merge_include_chains): Remove non-system include directories from
quote and bracket include chains when they duplicate equivalent system
directories.
* doc/cpp.texi (-I): Update.
* doc/cppopts.texi (-I): Update.
* doc/install.texi (--with-local-prefix): Further document usage of
this option.
* doc/invoke.texi (-I): Update.
expr.c (TARGET_MEM_FUNCTIONS): Transform to boolean.
* expr.c (TARGET_MEM_FUNCTIONS): Transform to boolean.
(emit_block_move): Split out subroutines.
(emit_block_move_via_movstr): New.
(emit_block_move_via_libcall): New. Emit bcopy via normal call also.
(emit_block_move_libcall_fn): New. Construct function prototype for
bcopy as well.
(clear_storage): Split out subroutines.
(clear_storage_via_clrstr): New.
(clear_storage_via_libcall): New. Emit bzero as a normal call also.
(clear_storage_libcall_fn): New. Construct function prototype for
bzero as well.
(emit_push_insn): Use emit_block_move.
(expand_assignment): Booleanize TARGET_MEM_FUNCTIONS.
(store_constructor): Likewise.
Ziemowit Laski [Tue, 20 Aug 2002 01:27:39 +0000 (01:27 +0000)]
objc-act.c (build_ivar_chain): Remove.
[gcc]
2002-08-19 Ziemowit Laski <zlaski@apple.com>
* objc/objc-act.c (build_ivar_chain): Remove.
(objc_copy_list): Likewise.
(get_class_ivars): Inline call to removed build_ivar_chain
function. Save off a clean copy of ivars in the CLASS_OWN_IVARS
slot; use that slot (rather than CLASS_IVARS) when accessing
ivars for base classes. Call copy_list and chainon instead of
objc_copy_list.
(build_private_template): Call get_class_ivars instead of
build_ivar_chain.
(start_class): Allocate room for the CLASS_OWN_IVARS slot.
(continue_class): Call get_class_ivars instead of
build_ivar_chain.
(encode_field_decl): Check for DECL_BIT_FIELD_TYPE instead
of DECL_BIT_FIELD (which may have been cleared).
* objc/objc-act.h (CLASS_OWN_IVARS): New accessor macro.
[gcc/testsuite]
2002-08-19 Ziemowit Laski <zlaski@apple.com>
* objc.dg/bitfield-1.m: New test.
* objc.dg/bitfield-2.m: New test.
Kaveh R. Ghazi [Tue, 20 Aug 2002 00:55:22 +0000 (00:55 +0000)]
genautomata.c (output_translate_vect, [...]): Mark variable with ATTRIBUTE_UNUSED in output file.
* genautomata.c (output_translate_vect, output_state_ainsn_table,
output_min_issue_delay_table): Mark variable with ATTRIBUTE_UNUSED
in output file.
(output_internal_min_issue_delay_func): Initialize variable in
output file.
Jonathan Wakely [Tue, 20 Aug 2002 00:44:19 +0000 (00:44 +0000)]
configopts.html, [...]: Conform to HTML 4.01 standard.
2002-08-19 Jonathan Wakely <jw@kayari.org>
* docs/html/configopts.html, docs/html/documentation.html,
docs/html/install.html, docs/html/22_locale/codecvt.html,
docs/html/22_locale/ctype.html, docs/html/22_locale/howto.html,
docs/html/22_locale/locale.html,
docs/html/22_locale/messages.html: Conform to HTML 4.01 standard.
Geoffrey Keating [Mon, 19 Aug 2002 18:18:12 +0000 (18:18 +0000)]
machmode.h (SCALAR_INT_MODE_P): New macro to test for scaler integer mode (MODE_INT or MODE_PARTIAL_INT).
* machmode.h (SCALAR_INT_MODE_P): New macro to test for
scaler integer mode (MODE_INT or MODE_PARTIAL_INT).
* explow.c (trunc_int_for_mode): Abort when the mode is not
a scaler integer mode.
* combine.c (expand_compound_operation): Don't expand Vector
or Complex modes into shifts.
(expand_field_assignment): Don't do bitwise arithmatic and
shifts on Vector or Complex modes.
(simplify_comparison): Don't call trunc_int_for_mode
for VOIDmode.
* recog.c (general_operand): Likewise.
(immediate_operand): Likewise.
(nonmemory_operand): Likewise.
Co-Authored-By: Steve Ellcey <sje@cup.hp.com>
From-SVN: r56443