Paolo Carlini [Thu, 19 Aug 2004 08:47:17 +0000 (08:47 +0000)]
baseline_symbols.txt: Update to 3.4.0.
2004-08-19 Paolo Carlini <pcarlini@suse.de>
* config/abi/x86_64-linux-gnu/baseline_symbols.txt: Update to 3.4.0.
From-SVN: r86242
Joseph Myers [Thu, 19 Aug 2004 08:01:50 +0000 (09:01 +0100)]
re PR c++/17041 (Erroneous "suggest parentheses around assignment used as truth value" warning in template members.)
PR c++/17041
* pt.c (tsubst_copy, tsubst_copy_and_build): Copy TREE_NO_WARNING
from input for MODOP_EXPR.
testsuite:
* g++.dg/Wparentheses-3.C: New test.
From-SVN: r86241
Dorit Naishlos [Thu, 19 Aug 2004 07:16:59 +0000 (07:16 +0000)]
tree-vectorizer.c (vect_can_force_dr_alignment_p): Replace STACK_BOUDARY with PREFERRED_STACK_BOUNDARY.
* tree-vectorizer.c (vect_can_force_dr_alignment_p): Replace
STACK_BOUDARY with PREFERRED_STACK_BOUNDARY.
From-SVN: r86240
Mark Mitchell [Thu, 19 Aug 2004 07:07:09 +0000 (07:07 +0000)]
* bpabi.h (FPUTYPE_DEFAULT): Set it to FPUTYPE_VFP.
From-SVN: r86239
Mark Mitchell [Thu, 19 Aug 2004 07:07:03 +0000 (07:07 +0000)]
bpabi.h (FPUTYPE_DEFAULT): Set it to FPUTYPE_VFP.
* bpabi.h (FPUTYPE_DEFAULT): Set it to FPUTYPE_VFP.
[[Split portion of a mixed commit.]]
From-SVN: r86238.2
Andrew Pinski [Thu, 19 Aug 2004 06:16:37 +0000 (06:16 +0000)]
varasm.c (ecode_reg_name): Do nothing if the asmspec is empty.
2004-08-18 Andrew Pinski <apinski@apple.com>
* varasm.c (ecode_reg_name): Do nothing if the asmspec is empty.
From-SVN: r86237
Mark Mitchell [Thu, 19 Aug 2004 06:13:19 +0000 (06:13 +0000)]
bpabi.c (__aeabi_ul2d): Give it default visibility.
* config/arm/bpabi.c (__aeabi_ul2d): Give it default visibility.
(__aeabi_ul2f): Likewise.
From-SVN: r86236
Richard Henderson [Thu, 19 Aug 2004 06:12:12 +0000 (23:12 -0700)]
xtensa.c (xtensa_expand_block_move): Expand block move to rtl completely.
* config/xtensa/xtensa.c (xtensa_expand_block_move): Expand block
move to rtl completely.
(struct meminsnbuf, xtensa_emit_block_move): Remove.
(xtensa_find_mode_for_size): Remove.
* config/xtensa/xtensa-protos.h (xtensa_emit_block_move): Remove.
* config/xtensa/xtensa.md (movmemsi_internal): Remove.
From-SVN: r86235
Richard Henderson [Thu, 19 Aug 2004 05:25:53 +0000 (22:25 -0700)]
mcore.c (mode_from_align): Remove DImode.
* config/mcore/mcore.c (mode_from_align): Remove DImode.
(block_move_sequence): Rewrite to use adjust_address.
(mcore_expand_block_move): Cleanup logic. Accept only operands.
Return boolean indicating success/failure.
* config/mcore/mcore-protos.h (mcore_expand_block_move): Update decl.
* config/mcore/mcore.md (movmemsi): Update to match.
From-SVN: r86234
Mark Mitchell [Thu, 19 Aug 2004 05:08:09 +0000 (05:08 +0000)]
* pt.c (dependent_template_p): Fix typo in commment.
From-SVN: r86233
Andrew Pinski [Thu, 19 Aug 2004 03:09:45 +0000 (03:09 +0000)]
class.c (make_local_function_alias): Only make a new decl if we support alias attribute on all decls.
* class.c (make_local_function_alias): Only make a new decl if we support
alias attribute on all decls.
From-SVN: r86232
Mike Stump [Thu, 19 Aug 2004 00:43:03 +0000 (00:43 +0000)]
invoke.texi (-mfix-and-continue): Add support for fast turn around debugging.
* doc/invoke.texi (-mfix-and-continue): Add support for
fast turn around debugging.
(-ffix-and-continue): Likewise.
(-mindirect-data): Likewise.
(-findirect-data): Likewise.
* config/darwin.c (TARGET_FIX_AND_CONTINUE): Likewise.
(indirect_data): Likewise.
(machopic_data_defined_p): Likewise.
(machopic_output_indirection): Likewise.
(darwin_encode_section_info): Likewise.
(darwin_fix_and_continue): Likewise.
(darwin_fix_and_continue_switch): Likewise.
* config/darwin.h (MACHO_SYMBOL_STATIC): Likewise.
* config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Likewise.
(SUBTARGET_OPTION_TRANSLATE_TABLE): Likewise.
(SUBTARGET_OPTIONS): Likewise.
(darwin_fix_and_continue): Likewise.
(darwin_fix_and_continue_switch): Likewise.
(TARGET_FIX_AND_CONTINUE): Likewise.
* config/rs6000.c (rs6000_emit_prologue): Likewise.
From-SVN: r86229
Steven Bosscher [Thu, 19 Aug 2004 00:32:41 +0000 (00:32 +0000)]
basic-block.h (struct edge_def): Remove crossing_edge.
* basic-block.h (struct edge_def): Remove crossing_edge.
(EDGE_CROSSING): New define.
(EDGE_ALL_FLAGS): Update.
* bb-reorder.c (find_traces_1_round, better_edge_p,
find_rarely_executed_basic_blocks_and_cr, fix_up_fall_thru_edges,
find_jump_block, fix_crossing_conditional_branches,
fix_crossing_unconditional_branches, add_reg_crossing_jump_notes):
Replace all occurences of crossing_edge with an edge flag check
or set/reset.
* cfgcleanup.c (try_simplify_condjump, try_forward_edges,
try_crossjump_bb): Likewise.
* cfglayout.c (fixup_reorder_chain): Likewise.
* cfgrtl.c (force_nonfallthru_and_redirect,
commit_one_edge_insertion): Likewise.
* Makefile.in (cfganal.o): Depend on TIMEVAR_H.
* tree-flow.h (compute_dominance_frontiers): Move prototype...
* basic-block.h: ...here.
* tree-cfg.c (compute_dominance_frontiers_1,
compute_dominance_frontiers): Move from here...
* cfganal.c: ...to here. Include timevar.h.
From-SVN: r86228
Matthias Klose [Thu, 19 Aug 2004 00:18:04 +0000 (00:18 +0000)]
baseline_symbols.txt: Update to 3.4.0.
2004-08-18 Matthias Klose <doko@debian.org>
* config/abi/hppa-linux-gnu/baseline_symbols.txt: Update to 3.4.0.
* config/abi/i386-linux-gnu/baseline_symbols.txt: New.
* config/abi/powerpc-linux-gnu/baseline_symbols.txt: New.
From-SVN: r86226
GCC Administrator [Thu, 19 Aug 2004 00:16:18 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r86224
James E Wilson [Thu, 19 Aug 2004 00:01:24 +0000 (00:01 +0000)]
Fix another mips typo.
* config/mips/mips.h (ASM_SPEC): In comment, change -meabi= to -mabi=.
From-SVN: r86219
James E Wilson [Wed, 18 Aug 2004 23:48:41 +0000 (23:48 +0000)]
Fix a simple typo.
* config/mips/sb1.md (ir_sb1_divsf_1pipe): Renamed from ...1pipes.
From-SVN: r86218
James E Wilson [Wed, 18 Aug 2004 23:45:32 +0000 (23:45 +0000)]
Add support for scheduling recip.fmt instructions.
* config/mips/mips.md (type): Add frdiv.
(divsf3+1, divsf3+2): Change type to frdiv.
* config/mips/sb1.md (ir_sb1_recipsf_2pipes, ir_sb1_recipsf_1pipe,
ir_sb1_recipdf_2pipes, ir_sb1_recipdf_1pipe): New.
* config/mips/3000.md (r3k_fdiv_single, r3k_fdiv_double): Add frdiv.
* config/mips/4300.md (r4300_fdiv_single, r4300_fdiv_double): Likewise.
* config/mips/4600.md (r4600_fdiv_single, f4600_fdiv_double): Likewise.
* config/mips/5000.md (r5k_fdiv_single): Likewise.
* config/mips/5400.md (ir_vr54_fdiv_sf, ir_vr54_fdiv_df): Likewise.
* config/mips/5500.md (ir_vr55_fdiv_sf, ir_vr55_fdiv_df): Likewise.
* config/mips/6000.md (r6k_fdiv_single, r6k_fdiv_double): Likewise.
* config/mips/7000.md (rm7_fp_divsqrt_df, rm7_fp_divsqrt_sf): Likewise.
* config/mips/9000.md (rm8k_fdivs, rm9k_fdivd): Likewise.
* config/mips/generic.md (generic_fdiv_single, generic_fdiv_double):
Likewise.
* config/mips/sr71k.md (ir_sr70_fdiv_sf, ir_sr70_fdiv_df): Likewise.
From-SVN: r86216
Robert Bowdidge [Wed, 18 Aug 2004 23:24:11 +0000 (16:24 -0700)]
config/rs6000/x-darwin: Remove XCFLAGS -mdynamic-no-pic to
get regression tester working again.
From-SVN: r86215
Zack Weinberg [Wed, 18 Aug 2004 22:41:53 +0000 (22:41 +0000)]
* Makefile.in (RTL_BASE_H): Update.
From-SVN: r86213
Zack Weinberg [Wed, 18 Aug 2004 22:31:03 +0000 (22:31 +0000)]
insn-notes.def, [...]: New files.
* insn-notes.def, reg-notes.def: New files.
* rtl.h: Use them to define enum insn_note and enum reg_note.
* rtl.c: Use them to define note_insn_name and reg_note_name.
* modulo-sched.c, sched-rgn.c, final.c: NOTE_DISABLE_SCHED_OF_BLOCK
renamed to NOTE_INSN_DISABLE_SCHED_OF_BLOCK.
From-SVN: r86212
Richard Earnshaw [Wed, 18 Aug 2004 22:23:57 +0000 (22:23 +0000)]
arm.c (arm_size_rtx_costs): New function.
* arm.c (arm_size_rtx_costs): New function.
(arm_override_options): Use it if optimizing for space.
From-SVN: r86211
Richard Henderson [Wed, 18 Aug 2004 21:08:35 +0000 (14:08 -0700)]
emit-rtl.c (gen_const_mem): New.
* emit-rtl.c (gen_const_mem): New.
* rtl.h (gen_const_mem): Declare.
* expr.c (do_tablejump): Use it.
* varasm.c (force_const_mem): Likewise.
* config/darwin.c (machopic_indirect_data_reference): Likewise.
(machopic_legitimize_pic_address): Likewise.
* config/arm/arm.c (legitimize_pic_address): Likewise.
* config/i386/i386.c (legitimize_pic_address): Likewise.
(legitimize_tls_address): Likewise.
* config/ia64/ia64.c (ia64_expand_tls_address): Likewise.
* config/ia64/ia64.md (load_fptr): Likewise.
* config/m32r/m32r.c (m32r_legitimize_pic_address): Likewise.
* config/pa/pa.c (legitimize_pic_address): Likewise.
* config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Likewise.
(rs6000_emit_move): Likewise.
* config/s390/s390.c (legitimize_pic_address): Likewise.
(legitimize_tls_address): Likewise.
* config/s390/s390.md (casesi): Likewise.
* config/sh/sh.c (sh_reorg): Likewise.
* config/sparc/sparc.c (legitimize_pic_address): Likewise.
* config/v850/v850.md (casesi): Likewise.
* config/darwin.c (machopic_indirect_call_target): Set MEM_NOTRAP_P.
* config/sh/sh.c (prepare_move_operands): Remove incorrect
use of MEM_READONLY_P.
From-SVN: r86207
Steven Bosscher [Wed, 18 Aug 2004 20:53:59 +0000 (20:53 +0000)]
Makefile.in (OBJS-common): Add postreload-gcse.c.
* Makefile.in (OBJS-common): Add postreload-gcse.c.
Add new postreload-gcse.o.
* cse.c (SAFE_HASH): Define as wrapper around safe_hash.
(lookup_as_function, insert, rehash_using_reg, use_related_value,
equiv_constant): Use SAFE_HASH instead of safe_hash.
(exp_equiv_p): Export. Add for_gcse argument when comparing
for GCSE.
(lookup, lookup_for_remove, merge_equiv_classes, find_best_addr,
find_comparison_args, fold_rtx, cse_insn): Update callers.
(hash_rtx): New function derived from old canon_hash and bits
from gcse.c hash_expr_1.
(canon_hash_string): Rename to hash_rtx_string.
(canon_hash, safe_hash): Make static inline. Call hash_rtx.
* cselib.c (hash_rtx): Rename to cselib_hash_rtx.
(cselib_lookup): Update this caller.
* gcse.c (modify_mem_list_set, canon_modify_mem_list_set):
Make static.
(hash_expr): Call hash_rtx.
(ldst_entry): Likewise.
(expr_equiv_p): Call exp_equiv_p.
(struct unoccr, hash_expr_1, hash_string_1, lookup_expr,
reg_used_on_edge, reg_set_between_after_reload_p,
reg_used_between_after_reload_p, get_avail_load_store_reg,
is_jump_table_basic_block, bb_has_well_behaved_predecessors,
get_bb_avail_insn, hash_scan_set_after_reload,
compute_hash_table_after_reload,
eliminate_partially_redundant_loads, gcse_after_reload,
get_bb_avail_insn, gcse_after_reload_main): Remove.
* postreload-gcse.c: New file, reincarnating most of the above.
* rtl.h (exp_equiv_p, hash_rtx): New prototypes.
(gcse_after_reload_main): Update prototype.
* timevar.def (TV_GCSE_AFTER_RELOAD): New timevar.
* passes.c (rest_of_handle_gcse2): Use it.
From-SVN: r86206
Diego Novillo [Wed, 18 Aug 2004 20:03:54 +0000 (20:03 +0000)]
tree-ssa-loop.c (pass_loop_init): Add TODO_dump_func.
* tree-ssa-loop.c (pass_loop_init): Add TODO_dump_func.
(pass_loop_done): Likewise.
From-SVN: r86205
Andrew Pinski [Wed, 18 Aug 2004 18:51:37 +0000 (18:51 +0000)]
darwin.md: Delete the altivec patterns which are handled differently now.
2004-08-18 Andrew Pinski <apinski@apple.com>
* config/rs6000/darwin.md: Delete the altivec patterns which are
handled differently now.
(load_macho_picbase_di): Make sure that is only happens for TARGET_64BIT
(macho_correct_pic_di): Likewise.
(call_indirect_nonlocal_darwin64): Likewise.
Delete the save world/saveFP/saveVec patterns.
Revert the reversion of: 2004-08-16 Stan Shebs <shebs@apple.com>
* config/darwin.c (macho_indirect_data_reference): Add DImode case.
* config/rs6000/rs6000.md: Include darwin.md.
(builtin_setjmp_receiver): Add DImode case.
* config/rs6000/rs6000.c (rs6000_emit_move): Add DImode case to
Darwin bits.
From-SVN: r86204
Matt Austern [Wed, 18 Aug 2004 18:41:01 +0000 (18:41 +0000)]
Dead code stripping
Dead code stripping
* darwin.h (EH_FRAME_SECTION_ATTR): Mark so it doesn't get stripped.
* darwin.c (darwin_file_end): Mark file as potentially strippable.
From-SVN: r86203
Richard Henderson [Wed, 18 Aug 2004 18:32:04 +0000 (11:32 -0700)]
alias.c (readonly_fields_p): Remove.
* alias.c (readonly_fields_p): Remove.
(objects_must_conflict_p): Don't call it.
* tree.h (readonly_fields_p): Remove.
* langhooks.h (struct lang_hooks): Remove honor_readonly.
* langhooks-def.h (LANG_HOOKS_HONOR_READONLY): Remove.
ada/
* misc.c (LANG_HOOKS_HONOR_READONLY): Remove.
From-SVN: r86200
Mark Mitchell [Wed, 18 Aug 2004 18:25:10 +0000 (18:25 +0000)]
re PR c++/17068 (ICE: tree check: expected class 'd', have 'x' (identifier_node) in dependent_template_p, at cp/pt.c:12043)
PR c++/17068
* pt.c (dependent_template_p): Treat IDENTIFIER_NODEs as
dependent.
PR c++/17068
* g++.dg/template/operator4.C: New test.
From-SVN: r86199
Diego Novillo [Wed, 18 Aug 2004 18:21:23 +0000 (18:21 +0000)]
tree-dfa.c (add_referenced_var): Only global variables are call-clobbered.
* tree-dfa.c (add_referenced_var): Only global variables are
call-clobbered.
* tree-flow.h (struct ptr_info_def): Add field pt_global_mem.
* tree-ssa-alias.c (compute_points_to_and_addr_escape): Mark
all pointers dereferenced if the statement dereferences them.
(create_name_tags): Do not create memory tags for pointers
that have PT_ANYTHING set.
Also check if PT_VARS is not empty before creating a name tag.
(compute_flow_sensitive_aliasing): Don't mark call-clobbered
variables that share the same alias set with a pointer that
may point anywhere.
(add_may_alias): Add FIXME comment to remove clobbering
aliased variables and tags.
(replace_may_alias): Likewise.
(set_pt_anything): Do not clear PT_VARS nor IS_DEREFERENCED.
(merge_pointed_to_info): If the original variable has not
points-to information, call set_pt_anything.
(add_pointed_to_var): Do not prevent adding a pointed-to
variable if the pointers is PT_ANYTHING.
If the variable is a global, set PT_GLOBAL_MEM.
(collect_points_to_info_r): Don't assume that PLUS_EXPRs of
pointer type only come in PTR+OFFSET flavours.
Always call merge_pointed_to_info on PHI arguments that are
SSA_NAMEs.
(get_nmt_for): Mark call-clobbered tags whose pointer points
to global memory.
* tree-ssa-operands.c (opf_kill_def, opf_no_vops): Switch
values.
(get_indirect_ref_operands): Always clear OPF_KILL_DEF from
FLAGS.
(add_stmt_operand): Abort if the caller tried to add a killing
definition for a memory tag.
* tree-ssa.c (verify_flow_sensitive_alias_info): Remove
unnecessary checks.
From-SVN: r86198
Bryce McKinlay [Wed, 18 Aug 2004 18:05:39 +0000 (18:05 +0000)]
re PR libgcj/17081 (Deserializing java.net.URI fails)
2004-08-18 Bryce McKinlay <mckinlay@redhat.com>
PR libgcj/17081
* java/net/URI.java (string): New field. Make all other fields
transient.
(readObject): Implemented.
(writeObject): Implemented.
(URI): Set 'string'.
From-SVN: r86197
Bryce McKinlay [Wed, 18 Aug 2004 17:57:03 +0000 (17:57 +0000)]
class.c (make_local_function_alias): New function.
2004-08-18 Bryce McKinlay <mckinlay@redhat.com>
* class.c (make_local_function_alias): New function. Create local
alias for public method DECL.
(make_method_value): Use make_local_function_alias.
* parse.y (craft_constructor): Don't special-case anonymous classes.
Always set ctor_name to init_identifier_node.
(lookup_method_invoke): Call layout_class_method when creating
anonymous class constructor.
From-SVN: r86196
J"orn Rennecke [Wed, 18 Aug 2004 17:44:28 +0000 (17:44 +0000)]
sh.h (CONDITIONAL_REGISTER_USAGE): Don't exclude fixed registers from call_used_regs.
* sh.h (CONDITIONAL_REGISTER_USAGE): Don't exclude fixed registers
from call_used_regs. Update call_really_used_regs.
(CALL_REALLY_USED_REGISTERS): Define.
* sh.c (output_stack_adjust, shmedia_target_regs_stack_space):
Replace call_used_regs with call_really_used_regs.
(calc_live_regs, sh_media_register_for_return): Likewise.
(sh5_schedule_saves, sh_expand_prologue, reg_unused_after): Likewise.
* sh.md (return_media): Likewise.
From-SVN: r86195
Andrew Pinski [Wed, 18 Aug 2004 17:28:40 +0000 (17:28 +0000)]
darwin.c (machopic_legitimize_pic_address): Only set MEM_READONLY_P in the non TARGET_TOC case.
2004-08-18 Andrew Pinski <apinski@apple.com>
* config/darwin.c (machopic_legitimize_pic_address): Only set MEM_READONLY_P
in the non TARGET_TOC case.
From-SVN: r86194
Zack Weinberg [Wed, 18 Aug 2004 17:05:14 +0000 (17:05 +0000)]
rtl.def (NIL): Delete.
* rtl.def (NIL): Delete.
* read-rtl.c (read_rtx): Handle (nil) like (define_constants).
Tighten the syntax a little.
* cfgloop.h, combine.c, cse.c, loop-iv.c, postreload.c, reload.c
* config/alpha/alpha.c, config/alpha/alpha.h, config/arc/arc.h
* config/arm/arm.h, config/frv/frv.h, config/i386/i386.c
* config/i386/predicates.md, config/m32r/m32r.h
* config/m68hc11/m68hc11.c, config/mcore/mcore.h, config/mips/mips.c
* config/mmix/mmix.c, config/pa/pa.h, config/sh/sh.h
* config/sparc/sparc.h, doc/tm.texi:
Replace all occurrences of NIL with UNKNOWN.
From-SVN: r86193
Zack Weinberg [Wed, 18 Aug 2004 16:39:40 +0000 (16:39 +0000)]
dojump.c (do_jump <unordered_bcc>): Do not recursively call self with a TRUTH_ORIF_EXPR...
* dojump.c (do_jump <unordered_bcc>): Do not recursively call
self with a TRUTH_ORIF_EXPR; generate the appropriate jump
sequence inline. Move drop_through_label code into this
block, being the only place it is used. Adjust comments.
From-SVN: r86192
Fariborz Jahanian [Wed, 18 Aug 2004 16:33:10 +0000 (16:33 +0000)]
save_world/rest_world for ppc-darwin.
Approved by Geoff Keating.
From-SVN: r86191
Caroline Tice [Wed, 18 Aug 2004 16:22:53 +0000 (09:22 -0700)]
Forgot to commit ChangeLog for rest of hot/cold partitioning update patch.
From-SVN: r86190
Caroline Tice [Wed, 18 Aug 2004 16:22:08 +0000 (09:22 -0700)]
Hot/cold partitioning update patch.
Hot/cold partitioning update patch. The problems that this patch
attemptd to address/fix are:
- Fix places where adding in_unlikely_executed_text to the enum data
type "in_section" threw off switch case statements.
- Make it work correctly (by turning it off) for functions where user
specifies "__attribute__ section"
- Make it work correctly (by turning it off) for linkonce sections
- Make it work correctly with -ffunction-sections flag
- Make it output correct cold section labels
- Undo some changes to original assembly code generation
- Turn off hot/cold partitioning in the presence of DWARF debugging (for
the moment)
- Turn off hot/cold partitioning for architectures that do not support
named sections
- Use variables rather than constants for cold section labels and names (to
work correctly with -ffunction-sections, among other things)
2004-08-18 Caroline Tice <ctice@apple.com>
* Makefile.in (STAGEFEEDBACK_FLAGS_TO_PASS) Add
"-freorder-blocks-and-partition" to the flags used in second
stage of profiledbootstrap.
* bb-reorder.c (push_to_next_round_p): Add new variable,
next_round_is_last; set and use variable to make sure, when
partitioning, that the last trace construction round consists
of all (and only) cold basic blocks.
(rotate_loop): Don't copy blocks that end in a section
crossing jump.
(copy_bb): Correctly initialize "partition" of duplicated bb.
(add_unlikely_executed_notes): Add a comment.
(find_rarely_executed_basic_blocks_and_crossing_edges): Modify
to make sure, if function contains hot blocks, that the
successors of ENTRY_BLOCK_PTR are hot; also, only look for
crossing edges if the architecture supports named sections.
(mark_bb_for_unlikely_executed_section): Modify to always
insert the NOTE_INSN_UNLIKELY_EXECUTED_CODE immediately after
the basic block note insn.
(fix_crossing_unconditional_branches): Remove extra space.
(fix_edges_for_rarely_executed_code): Modify to only do
partitioning work if the architecture supports named sections.
(reorder_basic_blocks): Modify to only add
NOTE_INSN_UNLIKELY_EXECUTED_CODE notes if the architecture
supports named sections.
* c-common.c (handle_section_attribute): Initialize new global
variable, user_defined_section_attribute, to true if user has
specified one.
* cfgcleanup.c (try_forward_edges): Modify to not attempt to
forward edges that cross section boundaries.
* cfglayout.c (fixup_reorder_chain): Modify to only fix up
partitioning information if the architecture supports named
sections.
* cfgrtl.c (target.h): Add statement to include this.
(rtl_split_block): Make sure newly created bb gets correct
partition.
(try_redirect_by_replacing_jump): Make sure redirection isn't
attempting to cross section boundaries.
(force_nonfallthru_and_redirect): Only do partition fix up if
architecture supports named sections.
(rtl_split_edge): Make sure newly created bb ends up in
correct partition.
(commit_one_edge_insertion): Remove code that incorrectly
updated basic block partition; Make sure partition fix up only
happens if architecture supports named sections and it's not
already done.
(rtl_verify_flow_info_1): Fix if-condition on test/error
condition that fallthru edges are not allowed to cross section
boundaries.
* defaults.h (NORMAL_TEXT_SECTION_NAME): Remove this.
* final.c (final_scan_insn): Remove redundant test from if-statement;
change calls to text_section into calls to function_section; add code
to only to partitioning fix up if architecture supports named
sections.
* ifcvt.c (find_if_case_1): Make sure newly created bb has correct
partition.
(if_convert): Add targetm.have_named_sections to test.
* output.h (unlikely_section_label): Extern declaration for new global
variable.
(unlikely_text_section_name): Likewise.
* opts.c (decode_options): If both partitioning and DWARF debugging
are turned on, issue a warning that this doesn't work, and change
partitiong to basic block reordering (without hot/cold partitions).
* passes.c (rest_of_handle_final): Re-set new global variable,
user_defined_section_attribute, to false.
(rest_of_compilation): Change options for calling partitioning
function: Don't call if the user defined the section attribute, and
don't call if DECL_ONE_ONLY is true for the current function.
* predict.c (choose_function_section): Return immediately if we
are doing hot/cold partitioning (i.e. let the basic block partitioning
determine where the function belongs).
* reg-stack.c (emit_swap_insn): Add condition to step over
NOTE_INSN_UNLIKELY_EXECUTED_CODE notes.
* toplev.c (user_defined_section_attribute): New global variable.
* toplev.h (user_defined_section_attribute): Extern declaration for new
global variable.
* varasm.c (unlikely_section_label): New global variable.
(unlikely_text_section_name): New global variable.
(unlikely_text_section): Add code to initialize unlikely_text_section_name
if necessary; modify to use unlikely_text_section_name and
unlikely_section_label; also to use named_section properly.
(in_unlikely_text_section): Modify to work correctly with named_section
and to use unlikely_text_section_name.
(named_section): Add code to work properly with cold section.
(function_section): Clean up if-statement.
* config/darwin.c (darwin_asm_named_section): Return to original code,
removing use of SECTION_FORMAT_STRING.
* config/arm/pe.h (switch_to_section): Add case for
in_unlikely_executed_text to switch statement.
* config/i386/cygming.h (switch_to_section): Likewise.
* config/i386/darwin.h (NORMAL_TEXT_SECTION_NAME): Remove.
(SECTION_FORMAT_STRING): Likewise.
* config/mcore/mcore.h (switch_to_section): Likewise.
* config/rs6000/darwin.h (NORMAL_TEXT_SECTION_NAME): Remove.
From-SVN: r86189
Bryce McKinlay [Wed, 18 Aug 2004 15:51:47 +0000 (15:51 +0000)]
re PR libgcj/17079 ([PATCH] Log messages whose logging level is equal to the threshold discarded by java.util.logging.Handler)
2004-08-18 Bryce McKinlay <mckinlay@redhat.com>
PR libgcj/17079
* java/util/logging/Handler.java (isLoggable): Accept record if its
log level equals the threshold level. From Robin Green.
From-SVN: r86187
David Daney [Wed, 18 Aug 2004 15:12:32 +0000 (15:12 +0000)]
natPosixProcess.cc (waitForSignal): Use sigsuspend instead of sigwait.
2004-08-18 David Daney <ddaney@avtrex.com>
* java/lang/natPosixProcess.cc (waitForSignal): Use sigsuspend
instead of sigwait.
From-SVN: r86186
Roger Sayle [Wed, 18 Aug 2004 15:07:55 +0000 (15:07 +0000)]
i386.h (FIXED_REGISTERS): Update encoding to be -ffixed-reg safe, by preserving the meanings of zero and one.
* config/i386/i386.h (FIXED_REGISTERS): Update encoding to be
-ffixed-reg safe, by preserving the meanings of zero and one.
(CALL_USED_REGISTERS): Likewise.
(CONDITIONAL_REGISTER_USAGE): Update to process new encodings.
From-SVN: r86185
Paul Brook [Wed, 18 Aug 2004 13:08:08 +0000 (13:08 +0000)]
* trans-types.c (gfc_sym_type): Use pointer types for optional args.
From-SVN: r86182
Kaz Kojima [Wed, 18 Aug 2004 12:24:16 +0000 (12:24 +0000)]
sh.c (split_branches): Check the result of next_active_insn.
* config/sh/sh.c (split_branches): Check the result of
next_active_insn.
(sh_output_mi_thunk): Call init_flow if basic_block_info is null.
Call rtl_register_cfg_hooks.
From-SVN: r86181
Dorit Nuzman [Wed, 18 Aug 2004 11:09:36 +0000 (11:09 +0000)]
Part of the vectorizer patch that was accidently left out...:
* config/i386/i386.h (UNITS_PER_SIMD_WORD): Define.
* config/rs6000/rs6000.h (UNITS_PER_SIMD_WORD): Define.
From-SVN: r86180
Richard Henderson [Wed, 18 Aug 2004 08:25:01 +0000 (01:25 -0700)]
rtl.h (MEM_READONLY_P): Replace RTX_UNCHANGING_P.
* rtl.h (MEM_READONLY_P): Replace RTX_UNCHANGING_P.
* alias.c (true_dependence): Update to match new semantics.
(canon_true_dependence, write_dependence_p): Likewise.
(anti_dependence, output_dependence): Update write_dependence_p args.
(unchanging_anti_dependence): Remove.
* calls.c (purge_mem_unchanging_flag): Remove.
(fixup_tail_calls): Don't call it.
(expand_call): Don't add unchanging memory to function usage.
* expr.c (emit_block_move_via_libcall): Likewise.
(clear_storage_via_libcall): Don't clobber RTX_UNCHANGING_P mems.
(get_subtarget): Don't use RTX_UNCHANGING_P.
(expand_assignment, store_constructor, expand_expr_real_1): Likewise.
(do_tablejump): Set MEM_READONLY_P, not RTX_UNCHANGING_P.
* combine.c (get_last_value_validate): Use MEM_READONLY_P.
* cse.c (insert): Don't use RTX_UNCHANGING_P.
(cse_insn, canon_hash): Use MEM_READONLY_P.
* emit-rtl.c (set_mem_attributes_minus_bitpos): Use MEM_READONLY_P
instead of RTX_UNCHANGING_P.
* explow.c (maybe_set_unchanging): Remove.
* expr.h (maybe_set_unchanging): Remove.
* flow.c (insn_dead_p, mark_used_regs): Use anti_dependence.
* function.c (assign_stack_temp_for_type): Don't use RTX_UNCHANGING_P.
(assign_parm_setup_reg, expand_function_start): Likewise.
* integrate.c (copy_rtx_and_substitute): Likewise.
* ra-rewrite.c (emit_colors): Likewise.
* regmove.c (copy_src_to_dest, regmove_optimize): Likewise.
(fixup_match_1): Likewise.
* reload1.c (reload, alter_reg): Likewise.
* local-alloc.c (validate_equiv_mem): Check MEM_READONLY_P,
not RTX_UNCHANGING_P.
(equiv_init_varies_p): Likewise.
* loop-invariant.c (check_maybe_invariant): Likewise.
* resource.c (mark_referenced_resources, mark_set_resources): Likewise.
* loop.c (note_addr_stored): Likewise.
(prescan_loop): Likewise. Don't check function usage for clobbered
unchanging memory.
* rtlanal.c (rtx_unstable_p): Check MEM_READONLY_P,
not RTX_UNCHANGING_P.
(rtx_varies_p, modified_between_p, modified_in_p): Likewise.
* varasm.c (force_const_mem): Likewise.
* stmt.c (expand_decl): Don't set RTX_UNCHANGING_P.
* web.c (entry_register): Likewise.
* tree-gimple.h (get_base_address): Move decl ...
* tree.h: ... here.
* doc/rtl.texi (MEM_READONLY_P): Replace RTX_UNCHANGING_P.
* config/alpha/alpha.c (alpha_set_memflags_1): Rewrite to be
called via for_each_rtx. Copy MEM_SCALAR_P, MEM_NOTRAP_P too.
(alpha_set_memflags): Update to match.
* config/darwin.c (machopic_indirect_data_reference): Set
MEM_READONLY_P instead of RTX_UNCHANGING_P.
(machopic_indirect_call_target): Likewise.
(machopic_legitimize_pic_address): Likewise.
* config/arm/arm.c (legitimize_pic_address, arm_gen_load_multiple,
arm_gen_store_multiple, arm_gen_movmemqi): Likewise.
* config/arm/arm.md (load_multiple, store_multiple): Likewise.
* config/frv/frv.md (symGOT2reg): Likewise.
* config/i386/i386.c (legitimize_pic_address,
legitimize_tls_address, ix86_split_to_parts): Likewise.
* config/ia64/ia64.c (ia64_expand_tls_address): Likewise.
* config/ia64/ia64.md (load_fptr): Likewise.
* config/m32r/m32r.c (m32r_legitimize_pic_address): Likewise.
* config/m68k/m68k.c (legitimize_pic_address): Likewise.
* config/mcore/mcore.c (block_move_sequence): Likewise.
* config/mn10300/mn10300.md (symGOT2reg): Likewise.
* config/pa/pa.c (legitimize_pic_address): Likewise.
* config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Likewise.
(rs6000_emit_move): Likewise.
* config/s390/s390.c (legitimize_pic_address): Likewise.
(legitimize_tls_address): Likewise.
* config/s390/s390.md (casesi): Likewise.
* config/sh/sh.c (prepare_move_operands, sh_reorg): Likewise.
* config/sh/sh.md (symGOT2reg): Likewise.
* config/sparc/sparc.c (legitimize_pic_address): Likewise.
* config/v850/v850.md (casesi): Likewise.
* config/ia64/ia64.c (gen_thread_pointer): Don't set RTX_UNCHANGING_P.
* config/iq2000/iq2000.c (save_restore_insns): Likewise.
* config/mips/mips.c (mips_restore_gp): Likewise.
(mips_save_restore_reg, mips16_gp_pseudo_reg): Likewise.
* config/sh/sh.c (sh_reorg): Likewise.
From-SVN: r86178
Richard Henderson [Wed, 18 Aug 2004 07:46:33 +0000 (00:46 -0700)]
tree.h (struct tree_decl): Add gimple_formal_temp.
* tree.h (struct tree_decl): Add gimple_formal_temp.
(DECL_GIMPLE_FORMAL_TEMP_P): New.
* gimplify.c (pop_gimplify_context): Clear it.
(lookup_tmp_var): Set it, if is_formal.
(gimplify_init_constructor): Use rhs_predicate_for for COMPLEX.
Use is_gimple_val for VECTOR. Simplify return value.
(gimplify_save_expr): Use and set DECL_GIMPLE_FORMAL_TEMP_P.
(gimplify_expr): Likewise.
* tree-gimple.c (is_gimple_formal_tmp_rhs): Rename from
is_gimple_tmp_rhs for clarity. Update all callers.
(is_gimple_reg_rhs): Simplify logic.
(is_gimple_formal_tmp_var): Rename from is_gimple_tmp_var for
clarity; use DECL_GIMPLE_FORMAL_TEMP_P.
(is_gimple_formal_tmp_reg): Similarly.
* tree-gimple.h: Update decls.
* tree-ssa-copyrename.c (copy_rename_partition_coalesce): Use
DECL_IGNORED_P, not DECL_ARTIFICIAL. Tidy formatting.
* tree-ssa-live.c (var_union, type_var_init): Likewise.
java/
* java-gimplify.c (java_gimplify_expr): Move '2' handling into
default case. Treat '<' similarly. Update for
is_gimple_formal_tmp_var name change.
testsuite/
* gcc.dg/
20040206-1.c: XFAIL.
From-SVN: r86176
Paolo Bonzini [Wed, 18 Aug 2004 07:12:19 +0000 (07:12 +0000)]
c4x.c (legitimize_operands): Remove calls to preserve_subexpressions_p.
2004-04-18 Paolo Bonzini <bonzini@gnu.org>
* config/c4x/c4x.c (legitimize_operands): Remove calls to
preserve_subexpressions_p.
From-SVN: r86175
Ian Lance Taylor [Wed, 18 Aug 2004 03:41:56 +0000 (03:41 +0000)]
Split ChangeLog
From-SVN: r86172
Mark Mitchell [Wed, 18 Aug 2004 02:55:14 +0000 (02:55 +0000)]
re PR c++/16246 (Incorrect template argument deduction)
PR c++/16246
* pt.c (unify): Tidy ARRAY_TYPE handling. Make sure that non-type
arguments have the same type as the corresponding parameter.
PR c++/16246
* g++.dg/template/array7.C: New test.
From-SVN: r86169
David Edelsohn [Wed, 18 Aug 2004 02:27:18 +0000 (02:27 +0000)]
varasm.c (MAX_OFILE_ALIGNMENT): Move ...
* varasm.c (MAX_OFILE_ALIGNMENT): Move ...
* defaults.h (MAX_OFILE_ALIGNMENT): ... here.
From-SVN: r86168
Ziemowit Laski [Wed, 18 Aug 2004 01:58:13 +0000 (01:58 +0000)]
gcc.c (default_compilers): Add info about ".mm", ".M" and ".mii" Objective-C++ extensions.
[gcc/ChangeLog]
2004-08-18 Ziemowit Laski <zlaski@apple.com>
* gcc.c (default_compilers): Add info about ".mm", ".M" and ".mii"
Objective-C++ extensions.
* gengtype.c (get_file_basename): Match entire subdirectory name
('cp', 'objc', 'objcp') rather than just its suffix.
(get_base_file_bitmap): Allow for files to belong to more than one
language.
(get_output_file_with_visibility): Treat objc/objc-act.h as a header
used by more than one front-end.
From-SVN: r86167
Victor Leikehman [Wed, 18 Aug 2004 01:20:06 +0000 (01:20 +0000)]
re PR fortran/13278 (derived type namelist I/O support missing, causes ICE)
2004-08-18 Victor Leikehman <lei@il.ibm.com>
PR fortran/13278
* trans-io.c (transfer_namelist_element): New. Recursively handle
derived-type variables. Pass string lengths.
(build_dt): Code moved to build_namelist, with some
changes and additions.
(gfc_build_io_library_fndecls): Declare the fifth
argument in st_set_nml_var_char -- string_length.
libgfortran/
* io/transfer.c (st_set_nml_var)
* io/write.c (namelist_write): Allow var_name and var_name_len to be
null. For strings, use string_length field instead of len.
* io/io.h (struct namelist_type): New field string_length.
(st_set_nml_var_char): New argument string_length.
From-SVN: r86166
Mark Mitchell [Wed, 18 Aug 2004 00:58:52 +0000 (00:58 +0000)]
re PR c++/16215 (Bad error message when requesting member of non-aggregate type)
PR c++/16215
* parser.c (cp_parser_name_lookup_error): If parser->object_scope
is set use it for diagnostic purposes.
(cp_parser_pseudo_destructor_name): Remove special-case error
message.
From-SVN: r86165
GCC Administrator [Wed, 18 Aug 2004 00:16:20 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r86163
Richard Earnshaw [Tue, 17 Aug 2004 23:38:53 +0000 (23:38 +0000)]
arm.md (addsi3, [...]): Rework to avoid use of preserve_subexpressions_p.
* arm.md (addsi3, subsi3, andsi3, iorsi3, movsi, movhi): Rework to
avoid use of preserve_subexpressions_p.
From-SVN: r86159
Richard Henderson [Tue, 17 Aug 2004 23:33:46 +0000 (16:33 -0700)]
re PR tree-optimization/17051 (ICE: internal compiler error: verify_ssa failed.for SSA_NAME: l_addr<D8610>_650)
PR 17051
* tree-sra.c (scalarize_use): Mark all v_defs for !is_output too.
From-SVN: r86158
Paolo Carlini [Tue, 17 Aug 2004 22:58:55 +0000 (22:58 +0000)]
baseline_symbols.txt: Update to 3.4.0.
2004-08-17 Paolo Carlini <pcarlini@suse.de>
* config/abi/alpha-linux-gnu/baseline_symbols.txt: Update to 3.4.0.
From-SVN: r86155
DJ Delorie [Tue, 17 Aug 2004 22:51:28 +0000 (18:51 -0400)]
extend.texi: Document new xstormy16 attribute.
* doc/extend.texi: Document new xstormy16 attribute.
* config/stormy16/stormy16.c (xstormy16_splittable_below100_operand): New.
(xstormy16_splittable_below100_or_register): New.
(combine_bnp): New.
(xstormy16_reorg): New.
(TARGET_MACHINE_DEPENDENT_REORG): Define.
* config/stormy16/stormy16.md (movqi_internal): Make name public.
(movhi_internal): Likewise.
(cbhranchhi): Likewise.
(cbhranchhi_neg): Likewise.
(andhi3): Only allow splittable below100 operands.
(iorhi3): Likewise.
(peephole2): New and/zero_extend->and peephole.
(peephole2): New load/ior/save->set1 peephole.
(peephole2): New load/and/save->clr1 peephole.
(bclrx, bclrx2, bclr7, bclr15): New.
(bsetx, bsetx2, bset7, bset15): New.
* config/stormy16/stormy16.c (xstormy16_print_operand): Be more
liberal about acceptable 'B' masks.
* config/stormy16/stormy16-protos.h
(xstormy16_asm_output_aligned_common, xstormy16_below100_symbol,
xstormy16_below100_operand, xstormy16_below100_or_register,
xstormy16_onebit_set_operand, xstormy16_onebit_clr_operand): New.
(PREDICATE_CODES): Add new predicates.
* config/stormy16/stormy16.c
(xstormy16_asm_output_aligned_common, xstormy16_below100_symbol,
xstormy16_below100_operand, xstormy16_below100_or_register,
xstormy16_onebit_set_operand, xstormy16_onebit_clr_operand): New.
(xstormy16_expand_iorqi3, xstormy16_expand_andqi3): New.
(xstormy16_legitimate_address_p): Allow below100 symbols.
(xstormy16_extra_constraint_p): Add 'W' for below100 operands.
(xstormy16_expand_move): Leave below100 operands as-is.
(xstormy16_encode_section_info): Encode below100 symbols.
(xstormy16_strip_name_encoding): New.
(xstormy16_print_operand): Print 'b' as shift mask.
(xstormy16_attribute_table): Add below100 attributes.
(xstormy16_handle_below100_attribute): New.
* config/stormy16/stormy16.h (EXTRA_SECTIONS): add in_bss100.
(XSTORMY16_SECTION_FUNCTION): New.
(EXTRA_SECTION_FUNCTIONS): Define using the above.
(ASM_OUTPUT_ALIGNED_DECL_COMMON, ASM_OUTPUT_ALIGNED_DECL_LOCAL): New.
(ASM_OUTPUT_SYMBOL_REF): Handle encoded symbols.
(ASM_OUTPUT_LABELREF): Define.
* config/stormy16/stormy16.md (movqi_internal): Add below100 support.
(movhi_internal): Add below100 support.
(andhi3): Add below100 support.
(iorhi3): Add below100 support.
(iorqi3, iorqi3_internal, andqi3, andqi3_internal): New.
From-SVN: r86154
Robert Millan [Tue, 17 Aug 2004 22:06:46 +0000 (22:06 +0000)]
Patch from Robert Millan for kfreebsd-gnu/knetbsd-gnu.
* configure.in: In noconfigdirs check, match GNU/k*BSD with GNU/Linux
(instead of FreeBSD).
* configure: Regenerate.
From-SVN: r86151
Jim Wilson [Tue, 17 Aug 2004 21:56:20 +0000 (14:56 -0700)]
Add missing -fno-fast-math.
From-SVN: r86150
David Edelsohn [Tue, 17 Aug 2004 21:55:58 +0000 (21:55 +0000)]
* config/darwin.c (macho_indirect_data_reference): Add DImode case.
From-SVN: r86149
James E Wilson [Tue, 17 Aug 2004 21:46:40 +0000 (21:46 +0000)]
Canonicalize mips nmadd/nmsub patterns.
* config/mips/mips.md: Add canonical nmadd and nmsub patterns for both
normal and -ffast-math code.
From-SVN: r86148
James E Wilson [Tue, 17 Aug 2004 21:42:44 +0000 (21:42 +0000)]
Testcases for canonical mips nmadd/nmsub patterns with or w/o fast-math.
* gcc.dg/mips-nmadd-1.c: New test.
* gcc.dg/mips-nmadd-2.c: New test.
From-SVN: r86147
James E Wilson [Tue, 17 Aug 2004 21:19:49 +0000 (21:19 +0000)]
Testcases for mips conditional move patterns.
* gcc.dg/mips-movcc-1.c: New test.
* gcc.dg/mips-movcc-2.c: New test.
* gcc.dg/mips-movcc-3.c: New test.
From-SVN: r86146
James E Wilson [Tue, 17 Aug 2004 21:18:42 +0000 (21:18 +0000)]
Canonicalize mips conditional move patterns.
* config/mips/mips.c (gen_conditional_move): Use GET_MODE (op0) instead
of VOIDmode for comparison code mode.
* config/mips/mips.md: For conditional move patterns, use mode of
first compare operand for comparison mode, instead of VOIDmode.
From-SVN: r86145
Mark Mitchell [Tue, 17 Aug 2004 20:56:25 +0000 (20:56 +0000)]
re PR c++/15871 (g++ does not honour -fkeep-inline-functions)
PR c++/15871
* semantics.c (expand_or_defer_fn): Honor -fkeep-inline-functions.
PR c++/15871
* doc/invoke.texi (-fkeep-inline-functions): Update documentation.
PR c++/15871
* g++.dg/opt/inline8.C: New test.
From-SVN: r86144
Paolo Carlini [Tue, 17 Aug 2004 20:25:55 +0000 (20:25 +0000)]
baseline_symbols.txt: Update to 3.4.0.
2004-08-17 Paolo Carlini <pcarlini@suse.de>
* config/abi/ia64-linux-gnu/baseline_symbols.txt: Update to 3.4.0.
From-SVN: r86142
Robert Bowdidge [Tue, 17 Aug 2004 20:02:46 +0000 (13:02 -0700)]
Add -mdynamic-no-pic to compile flags for gcc. On Mac OS X and Darwin,
the compiler generates position-independent-code by default. This allows
an object file to be used for a dylib or executable without any thought
on the developer's part, but generates less-efficient code. Setting this
flag on gcc speeds compiles by 3-5%.
* config/rs6000/x-darwin: Add -mdynamic-no-pic to gcc build flags.
From-SVN: r86141
Mark Mitchell [Tue, 17 Aug 2004 17:32:37 +0000 (17:32 +0000)]
re PR c++/16965 (Confusing mismatch in error messages)
PR c++/16965
* cp-tree.h (qualified_name_lookup_error): Add parameter.
* name-lookup.c (do_class_using_decl): Restrict set of entities
passed to cp_emit_debug_info_for_using more carefully.
(lookup_qualified_name): Allow lookup_member to return sets of
ambiguous entries.
* parser.c (cp_parser_lookup_name): Add ambiguous_p parameter.
(cp_parser_primary_expression): Handle ambiguous lookups.
(cp_parser_template_name): Adjust use of cp_parser_lookup_name.
(cp_parser_template_argument): Likewise.
(cp_parser_elaborate_type_specifier): Likewise.
(cp_parser_namespace_name): Likewise.
(cp_parser_class_name): Likewise.
(cp_parser_lookup_name_simple): Likewise.
* pt.c (tsubst_qualified_id): Handle ambiguous results.
(tsubst_expr): Likewise.
* semantics.c (qualified_name_lookup_error): Add decl paramter.
For ambiguous lookups, print candidates.
PR c++/16965
* g++.dg/parse/error17.C: New test.
From-SVN: r86137
Andreas Tobler [Tue, 17 Aug 2004 17:07:38 +0000 (19:07 +0200)]
darwin.md (*call_nonlocal_darwin64): Add #else clause for non Darwin targets.
2004-08-17 Andreas Tobler <a.tobler@schweiz.ch>
* config/rs6000/darwin.md (*call_nonlocal_darwin64): Add #else clause
for non Darwin targets.
(*call_value_nonlocal_darwin64): Likewise.
From-SVN: r86136
Fariborz Jahanian [Tue, 17 Aug 2004 16:40:40 +0000 (16:40 +0000)]
Check for Altivec mode when returning altivec register.
Reviewed by David Edehlson.
From-SVN: r86135
David Edelsohn [Tue, 17 Aug 2004 16:20:35 +0000 (12:20 -0400)]
Revert 2004-08-16 Stan Shebs <shebs@apple.com>
Revert 2004-08-16 Stan Shebs <shebs@apple.com>
* config/rs6000/rs6000.md: Include darwin.md.
(builtin_setjmp_receiver): Add DImode case.
* config/rs6000/rs6000.c (rs6000_emit_move): Add DImode case to
Darwin bits.
From-SVN: r86132
Dorit Naishlos [Tue, 17 Aug 2004 16:17:14 +0000 (16:17 +0000)]
tree-vectorizer.c: New File: loop vectorization on SSAed GIMPLE trees.
* tree-vectorizer.c: New File: loop vectorization on SSAed GIMPLE trees.
* tree-vectorizer.h: New File: Same.
* Makefile.in (tree-vectorizer.c, tree-vectorizer.h): Add new files.
* common.opt (ftree-vectorize): New flag to enable vectorization.
* timevar.def (TV_TREE_VECTORIZATION): New dump file for vectorization
pass.
* tree-data-ref.h (init_data_ref): Additional argument.
(array_base_name_differ_p): Moved to tree-data-ref.c.
* tree-data-ref.c (array_base_name_differ_p): Revised.
(initialize_data_dependence_relation): Call array_base_name_differ_p
with an extra argument.
(analyze_all_data_dependences): Same.
(init_data_ref): Additional argument is_read to set DR_IS_READ.
* tree-ssa-phiopt.c (empty_block_p): Expose for usage out of this file.
* tree-flow.h (vectorize_loops, empty_block_p): Add declaration.
* tree-optimize.c (pass_vectorize): Schedule the vectorization pass.
* tree-pass.h (tree_opt_pass pass_vectorize): Declare the new
vectorization pass.
* tree-ssa-loop.c (tree_ssa_loop_init): Call scev_initialize.
(tree_ssa_loop_done): Call scev_finalize.
(tree_vectorize): Define the new vectorization pass.
* defaults.h (UNITS_PER_SIMD_WORD): Allow targets to specify the size of
the vector they support (until support for multiple vector sizes is
added to the vectorizer).
* config/i386/i386.h (UNITS_PER_SIMD_WORD): Define.
* config/rs6000/rs6000.h (UNITS_PER_SIMD_WORD): Define.
* invoke.texi (fdump-tree-vect, ftree-vectorize): Add
documentation.
From-SVN: r86131
Michael Koch [Tue, 17 Aug 2004 16:10:02 +0000 (16:10 +0000)]
Makefile.am (AM_CXXFLAGS): Reformatted to make it more ease to read.
2004-08-17 Michael Koch <konqueror@gmx.de>
* Makefile.am (AM_CXXFLAGS): Reformatted to make it more ease to read.
* Makefile.in: Regenerated.
From-SVN: r86130
Nathan Sidwell [Tue, 17 Aug 2004 15:42:55 +0000 (15:42 +0000)]
objc-act.c (build_protocol_initializer): Fix build_int_cst usage.
* objc/objc-act.c (build_protocol_initializer): Fix build_int_cst
usage.
(generate_protocol_list, handle_impent): Likewise.
From-SVN: r86129
Paul Brook [Tue, 17 Aug 2004 15:34:12 +0000 (15:34 +0000)]
re PR fortran/13082 (Function entries and entries with alternate returns not implemented)
2004-08-17 Paul Brook <paul@codesourcery.com>
Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
PR fortran/13082
* decl.c (get_proc_name): Update mystery comment.
(gfc_match_entry): Check for errors earlier. Add entry point to list.
* dump-parse-tree.c (gfc_show_code_node): Print EXEC_ENTRY nodes.
* gfortran.h (symbol_attribute): Add entry_master. Document entry.
(struct gfc_entry_list): Define.
(gfc_get_entry_list): Define.
(struct gfc_namespace): Add refs and entries.
(enum gfc_exec_op): Add EXEC_ENTRY.
(struct gfc_code): Add ext.entry.
* module.c (ab_attribute, attr_bits): Remove AB_ENTRY.
(mio_symbol_attribute): Don't save/reture addr->entry.
(mio_namespace_ref): Refcount namespaces.
* parse.c (accept_statement): Handle ST_ENTRY.
(gfc_fixup_sibling_symbols): Mark symbol as referenced.
(parse_contained): Fixup sibling references to entry points
after parsing the procedure body.
* resolve.c (resolve_contained_fntype): New function.
(merge_argument_lists, resolve_entries): New functions.
(resolve_contained_functions): Use them.
(resolve_code): Handle EXEC_ENTRY.
(gfc_resolve): Call resolve_entries.
* st.c (gfc_free_statement): Handle EXEC_ENTRY.
* symbol.c (gfc_get_namespace): Refcount namespaces.
(gfc_free_namespace): Ditto.
* trans-array.c (gfc_trans_dummy_array_bias): Treat all args as
optional when multiple entry points are present.
* trans-decl.c (gfc_get_symbol_decl): Remove incorrect check.
(gfc_get_extern_function_decl): Add assertion. Fix coment.
(create_function_arglist, trans_function_start, build_entry_thunks):
New functions.
(gfc_build_function_decl): Rename ...
(build_function_decl): ... to this.
(gfc_create_function_decl): New function.
(gfc_generate_contained_functions): Use it.
(gfc_trans_entry_master_switch): New function.
(gfc_generate_function_code): Use new functions.
* trans-stmt.c (gfc_trans_entry): New function.
* trans-stmt.h (gfc_trans_entry): Add prototype.
* trans-types.c (gfc_get_function_type): Add entry point argument.
* trans.c (gfc_trans_code): Handle EXEC_ENTRY.
(gfc_generate_module_code): Call gfc_create_function_decl.
* trans.h (gfc_build_function_decl): Remove.
(gfc_create_function_decl): Add prototype.
testsuite/
* gfortran.dg/entry_1.f90: New test.
Co-Authored-By: Tobias Schlüter <tobias.schlueter@physik.uni-muenchen.de>
From-SVN: r86128
Benjamin Kosnik [Tue, 17 Aug 2004 15:17:03 +0000 (15:17 +0000)]
baseline_symbols.txt: Update to 3.4.0.
2004-08-17 Benjamin Kosnik <bkoz@redhat.com>
* config/abi/i486-linux-gnu/baseline_symbols.txt: Update to 3.4.0.
From-SVN: r86126
Roger Sayle [Tue, 17 Aug 2004 13:29:04 +0000 (13:29 +0000)]
regclass.c (init_reg_sets_1): Add ENABLE_CHECKING sanity tests to ensure that call_used_regs is a superset of...
* regclass.c (init_reg_sets_1): Add ENABLE_CHECKING sanity tests to
ensure that call_used_regs is a superset of both fixed_regs and
call_really_used_regs.
From-SVN: r86119
Andrew Haley [Tue, 17 Aug 2004 12:51:01 +0000 (12:51 +0000)]
lang.c (lang_printable_name): Obey verbose flag.
2004-08-17 Andrew Haley <aph@redhat.com>
* lang.c (lang_printable_name): Obey verbose flag.
* parse.y (constructor_circularity_msg): Set VERBOSE arg for
lang_printable_name().
(verify_constructor_circularity, get_printable_method_name,
check_abstract_method_definitions, java_check_regular_methods,
java_check_abstract_methods, check_inner_class_access,
fix_constructors, patch_method_invocation, patch_return):
Likewise.
* expr.c (pop_type_0): Likewise.
* java-tree.h (lang_printable_name_wls): Delete.
From-SVN: r86118
Daniel Bornstein [Tue, 17 Aug 2004 10:01:49 +0000 (10:01 +0000)]
re PR target/17019 (THUMB: bad switch statement in md code for addsi3_cbranch_scratch)
From Daniel Bornstein <danfuzz@milk.com>
PR target/17019
* arm.md (addsi3_cbranch_scratch): Correct case labels.
From-SVN: r86114
Andrew Pinski [Tue, 17 Aug 2004 08:30:54 +0000 (08:30 +0000)]
* gcc.dg/darwin-
20040812-1.c: Compile only on darwin.
From-SVN: r86113
Paolo Bonzini [Tue, 17 Aug 2004 07:40:22 +0000 (07:40 +0000)]
re PR middle-end/17036 (ICE: (A >> N) & 1 ? (1 << N) : 0 where A of type unsigned int)
gcc/ChangeLog:
2004-08-17 Paolo Bonzini <bonzini@gnu.org>
PR middle-end/17036
* fold-const.c (fold): Check for integer operand when
folding (A >> N) & 1 ? (1 << N) : 0. Fix from Andrew
Pinski <pinskia@physics.uc.edu>.
gcc/testsuite/ChangeLog:
2004-08-17 Paolo Bonzini <bonzini@gnu.org>
* gcc.dg/pr17036-1.c: New test.
From-SVN: r86112
Paolo Bonzini [Tue, 17 Aug 2004 07:27:16 +0000 (07:27 +0000)]
Makefile.in: Regenerate.
2004-08-17 Paolo Bonzini <bonzini@gnu.org>
* Makefile.in: Regenerate.
* configure: Regenerate.
* Makefile.def (bootstrap-stage): Rename extra_*_flags to
stage_*_flags.
* Makefile.tpl (configure-[+module+], all-[+module+]): Exit
for bootstrapped modules if toplevel bootstrap is going.
(GCC bootstrap): Generate per-stage targets for all bootstrapped
modules. Adjust for changes in Makefile.def. Enable several
rules even in non-bootstrap mode, just to avoid peppering the
template with unnecessary "@if/@endif gcc-bootstrap" pairs.
(stage-[+prev+]-bubble): Remove.
* Makefile.def (Dependencies): Depend on all-build-bison,
all-build-flex, all-build-byacc, all-build-texinfo, rather
than the host variations.
* Makefile.tpl (BUILD_DIR_PREFIX): Remove. Replace throughout
with BUILD_SUBDIR.
(BISON): Update for recent Bisons.
(YACC): Fix typo.
(cross): Depend on all-build.
(all): Do not depend on all-build.
(prebootstrap): Remove.
(dep-kind): Accept separate prefixes for MODULE and ON variables.
(Prebootstrap dependencies): Add them to the per-stage targets
and to all-prebootstrap.
* configure.in (build_configdirs): Always enable build_tools.
(BUILD_DIR_PREFIX): Remove.
* Makefile.def (gcc): Add target variable.
(gdb, expect, guile, tk, tix): Replace with_x with extra_make_flags.
* Makefile.tpl (Autogenerated `all-*' targets): Invoke $(TARGET-*)
in the recursive `make', instead of hardwiring `all'.
(Autogenerated TARGET-* variables): New.
gcc/ChangeLog:
2004-08-17 Paolo Bonzini <bonzini@gnu.org>
* configure.ac: Trust toplevel's notion of BISON/FLEX/MAKEINFO.
No need to check if in a cross configuration.
* configure: Regenerate.
* calls.c (precompute_register_parameters):
Inline preserve_subexpressions_p ().
* expmed.c (expand_mult_const, emit_store_flag): Likewise.
* optabs.c (expand_binop, expand_twoval_binop, prepare_cmp_insn):
Likewise.
* expr.c (get_subtarget): Likewise.
* rtl.h (preserve_subexpressions_p): Remove.
* stmt.c (preserve_subexpressions_p): Remove.
* dojump.c (do_jump) <COND_EXPR, EQ_EXPR, NE_EXPR,
TRUTH_ANDIF_EXPR, TRUTH_ORIF_EXPR, COMPOUND_EXPR>:
Abort on gimplified cases.
From-SVN: r86111
GCC Administrator [Tue, 17 Aug 2004 00:16:21 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r86091
James E Wilson [Tue, 17 Aug 2004 00:00:50 +0000 (00:00 +0000)]
Make unsafe vector float optimizations dependent on -ffast-math.
* tree.h (VECTOR_FLOAT_TYPE_P): New.
(FLOAT_TYPE_P): Use it.
* c-typeck.c (build_binary_op): After convert calls, check for
check for ERROR_MARK operands.
From-SVN: r86088
Tom Tromey [Mon, 16 Aug 2004 23:57:55 +0000 (23:57 +0000)]
re PR java/8473 (syntax error on anonymous array subscript)
PR java/8473:
* parse.y (primary): Changed for initialized and uninitialized
array creations.
(array_access): Handle array_creation_initialized.
(array_creation_expression): Split into
array_creation_initialized and array_creation_uninitialized.
From-SVN: r86087
Tom Tromey [Mon, 16 Aug 2004 23:57:30 +0000 (23:57 +0000)]
re PR java/8473 (syntax error on anonymous array subscript)
PR java/8473:
* testsuite/libjava.jacks/jacks.xfail: Removed passing test.
From-SVN: r86086
Bryce McKinlay [Mon, 16 Aug 2004 23:06:46 +0000 (23:06 +0000)]
specific.c: Check GC_LINUX_THREADS before including private/specific.h.
2004-08-16 Bryce McKinlay <mckinlay@redhat.com>
* specific.c: Check GC_LINUX_THREADS before including
private/specific.h. From Richard Earnshaw.
From-SVN: r86084
Zack Weinberg [Mon, 16 Aug 2004 23:05:04 +0000 (23:05 +0000)]
Makefile.in (BUILD_PREFIX, [...]): Delete.
* Makefile.in (BUILD_PREFIX, BUILD_PREFIX_1): Delete.
(BUILD_RTL, BUILD_PRINT, BUILD_ERRORS, BUILD_VARRAY): Update.
(genobjs): Add build-rtl.o, build-print-rtl.o, build-varray.o.
(genobjs static pattern rule): Remove %.c dependency.
($(BUILD_PREFIX_1)rtl.o, print-rtl.o, $(BUILD_PREFIX_1)varray.o):
Rename rules; delete commands; fix dependencies.
(mostlyclean): Do not delete temporary source copies.
* configure.ac: Delete all references to BUILD_PREFIX and
BUILD_PREFIX_1.
* configure: Regenerate.
* print-rtl.c: Include bconfig.h #ifdef GENERATOR_FILE.
Do not include tree.h, real.h, flags.h, hard-reg-set.h, or
basic-block.h #ifdef GENERATOR_FILE. Surround some more code
with #ifndef GENERATOR_FILE so that nothing from those headers
is used.
* rtl.c, varray.c: Include bconfig.h #ifdef GENERATOR_FILE.
From-SVN: r86083
Adam Nemet [Mon, 16 Aug 2004 22:13:27 +0000 (22:13 +0000)]
* Makefile.in (LIBS): Move $(LIBIBERTY) after $(BANSHEELIB).
From-SVN: r86082
Andrew Pinski [Mon, 16 Aug 2004 21:53:21 +0000 (21:53 +0000)]
target-def.h (TARGET_EH_RETURN_FILTER_MODE): Remove extraneous semicolon.
2004-08-16 Andrew Pinski <apinski@apple.com>
* target-def.h (TARGET_EH_RETURN_FILTER_MODE): Remove
extraneous semicolon.
From-SVN: r86081
Michael Koch [Mon, 16 Aug 2004 21:19:04 +0000 (21:19 +0000)]
2004-08-16 Michael Koch <konqueror@gmx.de>
* Makefile.am
(math_c_files): Renamed from c_files.
(math_c_source_files): Renamed from c_source_files.
* Makefile.in,
gcj/Makefile.in,
include/Makefile.in,
testsuite/Makefile.in: Regenerated.
From-SVN: r86080
Devang Patel [Mon, 16 Aug 2004 20:54:43 +0000 (13:54 -0700)]
c-common.c (handle_used_attribute): Set DECL_PRESERVE_P.
* c-common.c (handle_used_attribute): Set DECL_PRESERVE_P.
* print-tree.c (print_node): Print DECL_PRESERVE_P.
* target-def.h (TARGET_ASM_MARK_DECL_PRESERVED): New #define.
(TARGET_ASM_OUT): New member, TARGET_ASM_MARK_DECL_PRESERVED
* target.h (struct gcc_target): New member, mark_decl_preserved.
* hooks.c (hook_void_charptr): Rename to ...
(hook_void_constcharptr): ... new name.
* hooks.h (hook_void_charptr): Rename to ..
(hook_void_constcharptr): ... new name.
* tree.h (DECL_PRESERVE_P): New #define.
(struct tree_decl): New member, preserve_flag.
* varasm.c (assemble_start_function): Mark decl preserved.
(assemble_variable): Same.
* darwin.c (darwin_mark_decl_preserved): New function.
* darwin.h (TARGET_ASM_MARK_DECL_preserved): New #define.
* darwin-protos.h (darwin_mark_decl_preserved): New decl.
* doc/tm.texi (TARGET_ASM_MARK_DECL_PRESERVED): Document.
testsuite:
* gcc.dg/darwin-
20040809-1.c: New test.
From-SVN: r86076
Joseph Myers [Mon, 16 Aug 2004 20:35:21 +0000 (21:35 +0100)]
c-decl.c (grokdeclarator): Allow for function definition where innermost declarator has attributes.
* c-decl.c (grokdeclarator): Allow for function definition where
innermost declarator has attributes.
testsuite:
* gcc.dg/funcdef-attr-1.c: New test.
From-SVN: r86075
Fariborz Jahanian [Mon, 16 Aug 2004 20:08:31 +0000 (20:08 +0000)]
Patch to fix -mcpu=G5 interface to EH runtime library.
Reviewed by Geoff Keating.
From-SVN: r86074
Nathanael Nerode [Mon, 16 Aug 2004 19:26:27 +0000 (19:26 +0000)]
configure.ac: Replace _GCC_TOPLEV_NONCANONICAL_TARGET with ACX_NONCANONICAL_TARGET...
* configure.ac: Replace _GCC_TOPLEV_NONCANONICAL_TARGET with
ACX_NONCANONICAL_TARGET; remove now-unneeded AC_SUBST.
* configure: Regenerate.
From-SVN: r86073
Bryce McKinlay [Mon, 16 Aug 2004 18:59:57 +0000 (18:59 +0000)]
configure.in (AC_CONF_SUBDIRS): Use literal for ltdl directory to avoid autoconf warning.
2004-08-16 Bryce McKinlay <mckinlay@redhat.com>
* configure.in (AC_CONF_SUBDIRS): Use literal for ltdl directory
to avoid autoconf warning.
* configure: Rebuilt.
From-SVN: r86072
Nathanael Nerode [Mon, 16 Aug 2004 18:58:05 +0000 (18:58 +0000)]
aclocal.m4: Remove obsolete construct for old automake.
2004-08-16 Nathanael Nerode <neroden@gcc.gnu.org>
* aclocal.m4: Remove obsolete construct for old automake.
* acinclude.m4: Regenerate with aclocal 1.9.1.
* configure.ac: Remove duplicate AC_WITH calls. Replace
AC_CANONICAL_SYSTEM with AC_CANONICAL_HOST, AC_CANONICAL_TARGET.
Replace _GCC_TOPLEV_NONCANONICAL calls with ACX_NONCANONICAL_TARGET.
Remove now-redundant subst of target_noncanonical. Remove
now-gratuitous m4 quoting around $. Replace AM_PROG_LIBTOOL with
AC_PROG_LIBTOOL and remove second, redundant AC_PROG_LIBTOOL.
Use slightly more modern form of AC_INIT.
* configure: Rebuild with autoconf 2.59.
* Makefile.in, include/Makefile.in: Rebuild with automake 1.9.1.
From-SVN: r86071
Stan Shebs [Mon, 16 Aug 2004 18:57:27 +0000 (18:57 +0000)]
Basic support for 64-bit Darwin.
* config/darwin.c (macho_indirect_data_reference): Add DImode case.
(machopic_legitimize_pic_address): Similarly, plus use Pmode
instead of SImode.
* config/rs6000/darwin.h (PTRDIFF_TYPE): Be "long int" if 64-bit.
(TARGET_OS_CPP_BUILTINS): Add 64-bit preprocessor macro.
(SUBTARGET_SWITCHES): Add -m32 and -m64 flags.
(SUBTARGET_OVERRIDE_OPTIONS): Require 64-bit processor if -m64.
(PROCESSOR_DEFAULT64): Define.
* config/rs6000/darwin.md: New file, patterns specific to 64-bit
Darwin.
* config/rs6000/rs6000.md: Include darwin.md.
(builtin_setjmp_receiver): Add DImode case.
* config/rs6000/rs6000.c (TARGET_ASM_UNALIGNED_DI_OP): Define for
Darwin.
(TARGET_ASM_ALIGNED_DI_OP): Ditto.
(rs6000_emit_move): Add DImode case to Darwin bits.
(machopic_output_stub): Use .quad if 64-bit.
* invoke.texi: Document -m32 and -m64.
From-SVN: r86070