aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2001-09-10builtins.c (c_getstr): Correct thinko in last change and further cleanup.Richard Kenner2-14/+12
* builtins.c (c_getstr): Correct thinko in last change and further cleanup. From-SVN: r45519
2001-09-10dwarf2out.c (incomplete_types, [...]): Make them into varray's and register ↵Tim Freeman2-60/+26
them as roots with the garbage collector... * dwarf2out.c (incomplete_types, decl_scope_table): Make them into varray's and register them as roots with the garbage collector so they are not collected too soon. From-SVN: r45513
2001-09-10New test case (2.95.2 miscompilation)Zack Weinberg1-0/+59
From-SVN: r45505
2001-09-10Makefile.in (cfg.o, [...]): New.Jan Hubicka11-6344/+6669
* Makefile.in (cfg.o, cfganal.o, cfgloop.o, cfgbuild.o, cfgcleanup.o): New. * basic-block.h (flow_obstack, label_value_list, tail_recursion_label_list): Declare (tidy_fallthru_edges): Declare. (expunge_block, last_loop_beg_note): Delete. (can_fallthru, flow_nodes_print, flow_edge_list_print): Declare. * cfg.c: New file (basic_block_for_insn, label_value_list): Move from flow.c; make global. (n_basic_blocks, n_edges, basic_block_info, entry_exit_blocks, init_flow, clear_edges, can_delete_note_p, can_delete_label_p, flow_delete_insn, flow_delete_insn_chain, create_basic_block, expunge_block, flow_delete_block, compute_bb_for_insn, update_bb_for_insn, set_block_for_insn, set_block_for_new_insns, make_edge, remove_edge, redirect_edge_succ, redirect_edge_succ_nodup, redirect_edge_pred, split_block, marge_blocks_nomove, block_label, try_redirect_by_replacing_jump, last_loop_beg_note, redirect_edge_and_branch, redirect_edge_and_branch_force, tidy_fallthru_edge, tidy_fallthru_edges, back_edge_of_syntactic_loop_p, split_edge, insert_insn_on_edge, commit_one_edge_insertion, commit_edge_insertions, dump_flow_info, debug_flow_info, dump_edge_info, dump_bb, debug_bb, debug_bb_n, print_rtl_with_bb, verify_flow_info, purge_dead_edges, purge_all_dead_edges): Move here from flow.c * cfganal.c: New file. (forwarder_block_p, can_fallthru, mark_critical_edges, mark_dfs_back_edges, need_fake_edge_p, flow_call_edges_add, find_unreachable_blocks, create_edge_list, free_edge_list, print_edge_list, verify_edge_list, find_edge_index, flow_nodes_print, flow_edge_list_print, remove_fake_successors, remove_fake_edges, add_noreturn_fake_exit_edges, connect_infinite_loops_to_exit, flow_reverse_top_sort_order_compute, flow_depth_first_order_compute, flow_dfs_compute_reverse_init, flow_dfs-compute_reverse_add_bb, flow_dfs-compute_reverse_execute, flow_dfs_compute_reverse_finish); Move here from flow.c * cfgbuild.c: New file (count_basic_blocks, find_label_refs, make_label_edge, make_eh_edge, make_edges, find_basic_blocks_1, find_basic_blocks, find_sub_basic_blocks): Move here from flow.c * cfgcleanup.c: New file. (try_simplify_condjump, try_forward_edges, tail_recursion_label_p, merge_blocks_move_predecessor_nojumps, merge_blocks_move_successor_nojumps, merge_blocks, flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge, try_crossjump_bb, try_optimize_cfg): Move here from flow.c (delete_unreachable_blocks, cleanup_cfg): Likewise; return true if succeeded. * cfgloop.c: New file (flow_loops_cfg_dump, flow_loop_nested_p, flow_loop_dump, flow_loops_dump, flow_loops_free, flow_loop_entry_edges_find, flow_loop_exit_edges_find, flow_loop_nodes_find, flow_loop_pre_header_scan, flow_loop_pre_header_find, flow_loop_tree_node_add, flow_loops_tree_build, flow_loop_level_compute, flow_loops_level_compute, flow_loop_scan, flow_loops_find, flow_loops_update, flow_loop_outside_edge_p): Move here from flow.c * flow.c: Remove everything moved elsewhere * output.h (cleanup_cfg): Return bool. * bb-reorder.c (reorder_block_def): Remove 'index'. (insert_intra_1): Add argument BB, set block for new note. (make_reorder_chain): Do not depdent on BB indexes. (make_reorder_chain_1): Do not use BB indexes. (label_for_bb): Likewise; set BB for new insn. (emit_jump_to_block_after): Likewise. (fixup_reoder_chain): Sanity check that all basic blocks are chained; verify newly created insn chain; remove undocnitional jump simplifying; Do not use BB indexes; properly initialize count and frequency information; dump reordered sequence. (insert_intra_bb_scope_notes): update call of insert_intra_1. (insert_inter_bb_scope_notes): Set block for new insn. (reorder_basic_blocks): Dump flow info before reoredering. From-SVN: r45504
2001-09-10alias.c (clear_reg_alias_info): Use K&R format definition.Richard Kenner7-80/+112
* alias.c (clear_reg_alias_info): Use K&R format definition. Avoid unsigned warning. * builtins.c: Use "unsigned int", not "unsigned". (target_char_cast): Use host_integerp and tree_low_cst. (expand_builtin_args_info, expand_builtin_frame_address): Likewise. (c_strlen): Likewise; OFFSET now HOST_WIDE_INT. (c_getstr): Likewise. (std_expand_builtin_va_arg): Use int_size_in_bytes. (builtin_memcpy_read_str): Avoid unsigned warning. (expand_builtin_memcpy): Alignments are unsigned. (expand_builtin_strncpy, expand_builtin_memset): Likewise. (expand_builtin_expect_jump): Use integer_zerop and integer_onep. * predict.c (expensive_function_p): LIMIT now unsigned. * resource.c (mark_target_live_regs): Make some vars unsigned. * sdbout.c: Use "unsigned int", not "unsigned". (MAKE_LINE_SAFE): Add cast to avoid unsigned warning. (sdbout_source_line): Likewise. (sdbout_record_type_name): Remove "const" for NAME declaration. * config/alpha/alpha.c (alpha_expand_block_move): Whitespace fixes. From-SVN: r45503
2001-09-10* calls.c (store_one_arg): Expand comment.Richard Sandiford2-2/+12
From-SVN: r45502
2001-09-10calls.c (store_one_arg): Make sure that the entire argument is pushed if...Roman Lechtchinsky2-2/+9
* calls.c (store_one_arg): Make sure that the entire argument is pushed if STACK_PARMS_IN_REG_PARM_AREA is defined. From-SVN: r45501
2001-09-10* class.c (build_class_ref): Set DECL_EXTERNAL before make_decl_rtl.Richard Henderson2-2/+6
From-SVN: r45500
2001-09-10Daily bump.GCC Administrator2-2/+2
From-SVN: r45499
2001-09-09* emit-rtl.c (adjust_address): Fix mode for LO_SUM.Richard Henderson2-1/+5
From-SVN: r45495
2001-09-09* loop.c (combine_givs): Fix computing of benefit once giv is combined.Jan Hubicka2-0/+11
From-SVN: r45494
2001-09-09alpha.c (alpha_next_sequence_number): New.Richard Henderson6-77/+581
* config/alpha/alpha.c (alpha_next_sequence_number): New. (alpha_this_literal_sequence_number): New. (alpha_this_gpdisp_sequence_number): New. (some_operand, input_operand): Add HIGH. (local_symbolic_operand): New. (alpha_encode_section_info): New. (alpha_legitimate_address_p): Allow LO_SUM. (alpha_legitimize_address): Generate HIGH+LO_SUM. (alpha_expand_mov): Likewise. (secondary_reload_class): Check memory_operand not general_operand for FP_REGS test. (alpha_expand_unaligned_load): Force LO_SUM addresses into a register. (alpha_expand_unaligned_store): Likewise. (alpha_expand_unaligned_load_words): Likewise. (alpha_expand_unaligned_store_words): Likewise. (alpha_expand_block_clear): Likewise. (print_operand): Handle %#, %*, %H. (print_operand_address): Handle LO_SUM. (find_lo_sum): New. (alpha_does_function_need_gp): Use it. (alpha_expand_block_move): Fix signed compare warnings. (alpha_sa_mask, alpha_align_insns): Likewise. * config/alpha/alpha-protos.h: Update. * config/alpha/alpha.h (TARGET_EXPLICIT_RELOCS): New. (MASK_EXPLICIT_RELOCS): New. (TARGET_SWITCHES): Add -mexplicit-relocs. (EXTRA_CONSTRAINT): Add 'T'. (PREFERRED_RELOAD_CLASS): HIGH goes in GENERAL_REGS. (ASM_APP_ON, ASM_APP_OFF): Turn on and off asm macro expansion. (ENCODE_SECTION_INFO): Out line. (REDO_SECTION_INFO_P): New. (STRIP_NAME_ENCODING): New. (ASM_OUTPUT_LABELREF): New. (PRINT_OPERAND_PUNCT_VALID_P): Add #, *. (PREDICATE_CODES): Update. * config/alpha/alpha.md (divmodsi_internal_er, divmoddi_internal_er, call_osf_1_er_noreturn, call_osf_1_er, movdi_er_low, movdi_er_nofix, movdi_er_fix, prologue_ldgp_1_er, builtin_setjmp_receiver_sub_label_er, builtin_setjmp_receiver_er, exception_receiver_1_er, call_value_osf_1_er): New patterns. (sibcall_osf_1, sibcall_value_osf_1): Remove register alternative. (movqi, movhi, movsi): Add explicit $31 base register to lda. * config/alpha/elf.h (ASM_FILE_START): Set nomacro if explicit relocs. (FINAL_PRESCAN_INSN): New. From-SVN: r45493
2001-09-09Daily bump.GCC Administrator2-2/+2
From-SVN: r45491
2001-09-08* reg-stack.c (subst_stack_regs_pat): Fix fcmov reversal code.Jan Hubicka2-19/+19
From-SVN: r45490
2001-09-08Daily bump.GCC Administrator2-2/+2
From-SVN: r45488
2001-09-08* i386.h (TARGET_SWITCHES): Fix spelling of option.Andreas Jaeger2-1/+5
From-SVN: r45487
2001-09-08install.texi: Explain AIX exception handling work-around.David Edelsohn2-6/+20
* doc/install.texi: Explain AIX exception handling work-around. Update URL for AIX fixes. From-SVN: r45486
2001-09-07rs6000.c (num_insns_constant): Compute number of instructions more accurately.David Edelsohn2-1/+7
* rs6000.c (num_insns_constant): Compute number of instructions more accurately. From-SVN: r45484
2001-09-07re PR rtl-optimization/3783 (gcc3.0/ia64 ICE on linux kernel file ↵Jim Wilson4-0/+24
fs/ufs/super.c) Fix for PR 3783. * alias.c (clear_reg_alias_info): New. * flow.c (attempt_auto_inc): Call clear_reg_alias_info. * rtl.h (clear_reg_alias_info): Declare. From-SVN: r45482
2001-09-07real.c (EMUSHORT,EMUSHORT_SIZE): Use HImode if no 16-bit type is available.Roman Lechtchinsky2-454/+475
* real.c (EMUSHORT,EMUSHORT_SIZE): Use HImode if no 16-bit type is available. (UEMUSHORT): New. Use instead of unsigned EMUSHORT. (m16m,edivm,emulm): Change declaration to match definition. From-SVN: r45481
2001-09-07reload.c (push_reload): Check for subreg_lowpart_p instead of SUBREG_BYTE ↵Roman Lechtchinsky2-4/+10
being 0 when... * reload.c (push_reload): Check for subreg_lowpart_p instead of SUBREG_BYTE being 0 when determining if the inner part of a subreg can be reloaded. From-SVN: r45480
2001-09-07c-common.c (signed_or_unsigned_type): Handle machine mode types which have ↵Richard Henderson3-10/+31
no corresponding C type. * c-common.c (signed_or_unsigned_type): Handle machine mode types which have no corresponding C type. * fold_const.c (target_isinf,target_isnan,target_negative): Update the representation of 64-bit doubles to work with 64-bit ints. From-SVN: r45479
2001-09-07mips.c (override_options): Do not override ISA when ABI specified if ↵Aldy Hernandez2-0/+7
MIPS_CPU_STRING_DEFAULT was specified. * config/mips/mips.c (override_options): Do not override ISA when ABI specified if MIPS_CPU_STRING_DEFAULT was specified. From-SVN: r45476
2001-09-07java-tree.h (compile_resource_file): Grouped with other prototypes.Alexandre Petit-Bianco3-4/+6
2001-09-06 Alexandre Petit-Bianco <apbianco@redhat.com> * java-tree.h (compile_resource_file): Grouped with other prototypes. * jvspec.c (lang_specific_driver): Removed unused local `ptr.' (http://gcc.gnu.org/ml/gcc-patches/2001-09/msg00249.html ) From-SVN: r45475
2001-09-07re PR java/4230 (gcj -C segfaults on static string continuation '+' in gcj ↵Alexandre Petit-Bianco3-4/+46
3.1 expermental.) 2001-09-05 Alexandre Petit-Bianco <apbianco@redhat.com> * jcf-write.c (generate_classfile): Issue an error in case of field/initial value mismatch. * parse.y (analyze_clinit_body): Keep <clinit> if an array is being initialized and we're generating bytecode. (java_complete_lhs): In MODIFY_EXPR section: added comments, set DECL_INITIAL properly when appropriate. Fixes PR java/4230 Fixes PR java/4204 (http://gcc.gnu.org/ml/gcc-patches/2001-09/msg00247.html ) From-SVN: r45474
2001-09-07loop.c (record_giv): Avoid simplifying MULT to ASHIFT.Richard Henderson5-121/+224
* loop.c (record_giv): Avoid simplifying MULT to ASHIFT. (express_from_1): Wrap lines. * rtlanal.c (commutative_operand_precedence): Rename from operand_preference; export. * rtl.h: Declare it. * simplify-rtx.c (simplify_gen_binary): Tidy +/- const_int handling. (simplify_binary_operation): Invoke simplify_plus_minus on (CONST (PLUS ...)) as well. (struct simplify_plus_minus_op_data): New. (simplify_plus_minus_op_data_cmp): New. (simplify_plus_minus): Use them. Avoid infinite recursion with simplify_binary_operation wrt CONST. From-SVN: r45473
2001-09-07h8300-protos.h (general_operand_dst_push): Remove.Kazu Hirata5-45/+89
* h8300-protos.h (general_operand_dst_push): Remove. * h8300.c (general_operand_dst_push): Likewise. * h8300.h (OK_FOR_T): Likewise. (EXTRA_CONSTRAINTS): Do not use OK_FOR_T. * h8300.md (pushqi_h8300): New. (pushqi_h8300hs): Likewise. (pushqi): Likewise. (pushhi_h8300): Likewise. (pushhi_h8300hs): Likewise. (pushhi): Likewise. From-SVN: r45470
2001-09-07genattrtab.c (attr_printf): First arg is unsigned.Richard Kenner2-14/+21
* genattrtab.c (attr_printf): First arg is unsigned. Clean up formatting of callers. From-SVN: r45469
2001-09-07Test gcov output for functions that use longjmp.Janis Johnson1-0/+84
From-SVN: r45468
2001-09-07Control which kinds of gcov output to verify.Janis Johnson4-0/+10
From-SVN: r45467
2001-09-07Add support for a .x file to control XFAIL and wich kinds of gcov outputJanis Johnson1-6/+32
to verify. From-SVN: r45466
2001-09-07gcov.exp: Add support for a .x file to control XFAIL and which kinds of gcov ↵Janis Johnson1-0/+9
output to verify. * gcc.misc-tests/gcov.exp: Add support for a .x file to control XFAIL and which kinds of gcov output to verify. * gcc.misc-tests/gcov-4b.x: New file. * gcc.misc-tests/gcov-5b.x: New file. * gcc.misc-tests/gcov-6.x: New file. * gcc.misc-tests/gcov-7.c: New test. * gcc.misc-tests/gcov-7.x: New file. From-SVN: r45465
2001-09-07mips.c (override_options): Allow abi32 with 64 bit registers.Aldy Hernandez2-2/+6
* config/mips/mips.c (override_options): Allow abi32 with 64 bit registers. From-SVN: r45464
2001-09-07* i386.h (TARGET_SWITCHES): Fix descriptions.Andreas Jaeger2-4/+8
From-SVN: r45463
2001-09-07Daily bump.GCC Administrator2-2/+2
From-SVN: r45462
2001-09-07typeck.c (java_array_type_length, [...]): Represent empty arrays by NULL index.Matt Kraai4-6/+25
* java/typeck.c (java_array_type_length, build_prim_array_type): Represent empty arrays by NULL index. * stor-layout.c (compute_record_mode): Check DECL_SIZE is set. From-SVN: r45460
2001-09-06Remove OP_IDENTIFIER.Ira Ruben5-29/+11
2001-09-06 Ira Ruben <ira@apple.com> Remove OP_IDENTIFIER. * tree.def (OP_IDENTIFIER): Remove. * tree.c (tree_node_kind enum): Remove op_id_kind. (tree_node_kind_names): Remove "op_identifiers". (make_node): Remove OP_IDENTIFIER test. (build_op_identifier): Removed because it isn't being used. * print-tree.c (print_node): Remove OP_IDENTIFIER case. * cp/pt.c (tsubst): Remove OP_IDENTIFIER case. From-SVN: r45457
2001-09-06* simplify-rtx.c (simplify_binary_operation): Revert last change.Richard Henderson2-22/+4
From-SVN: r45456
2001-09-06Simple test of call return percentages along with branch percentages andJanis Johnson1-0/+37
line counts. From-SVN: r45454
2001-09-06Add support for checking call return percentages for gcov -b output.Janis Johnson1-9/+95
From-SVN: r45453
2001-09-06gcov.exp: Add support for call return percentages.Janis Johnson1-0/+5
* gcc.misc-tests/gcov.exp: Add support for call return percentages. * gcc.misc-tests/gcov-6.c: New test. From-SVN: r45452
2001-09-06gcj -R patchesAnthony Green1-0/+14
From-SVN: r45449
2001-09-06class.c (O_BINARY): Define if necessary.Anthony Green6-3/+195
* class.c (O_BINARY): Define if necessary. (registerResource_libfunc): Declare. (init_class_processing): Initilize registerResource_libfunc. (compile_resource_file): New function. * java-tree.h (resource_name): Declare. (compile_resource_file): Declare. * jcf-parse.c (yyparse): Handle compiling java resource files. * lang.c (java_decode_option): Handle -fcompile-resource option. * jvspec.c (lang_specific_driver): Handle -R flag for compiling resource files. * gcj.texi (Code Generation): Add documentation for -R flag. From-SVN: r45448
2001-09-06simplify-rtx.c (simplify_binary_operation): Simplify contents of CONST.Richard Henderson2-0/+27
* simplify-rtx.c (simplify_binary_operation): Simplify contents of CONST. From-SVN: r45447
2001-09-06rs6000.c (rs6000_emit_prologue): Fix DWARF2 register number used for CR ↵Franz Sirl2-2/+8
register. 2001-09-06 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> * config/rs6000/rs6000.c (rs6000_emit_prologue): Fix DWARF2 register number used for CR register. From-SVN: r45444
2001-09-06Joern Rennecke (amylaar@cygnus.com)Jeffrey A Law4-12/+64
Thu Sep 6 11:16:35 2001 Jeffrey A Law (law@cygnus.com) Joern Rennecke (amylaar@cygnus.com) * h8300-protos.h (h8300_return_addr_rtx): New prototype. * h8300.c (initial_offset): Handle offset between RP and FP. (h8300_return_addr_rtx): New function. * h8300.h (FIRST_PSEUDO_REGISTER): Bump now that we have a return register. (FIXED_REGISTERS, CALL_USED_REGISTERS): Corresponding changes. (REG_ALLOC_ORDER, RETURN_ADDRESS_POINTER_REGNUM): Likewise. (REG_CLASS_CONTENTS, ELIMINABLE_REGS): Likewise. (CAN_ELIMINATE, REGISTER_NAMES): (RETURN_ADDR_RTX): Call h8300_return_addr_rtx. Co-Authored-By: Joern Rennecke <amylaar@cygnus.com> From-SVN: r45441
2001-09-06oops, missed a bit in previous commitNathan Sidwell1-1/+1
From-SVN: r45436
2001-09-06re PR c++/3986 (ICE in build_rtti_vtbl_entries)Nathan Sidwell4-11/+100
cp: PR c++/3986 * class.c (force_canonical_binfo_r): Check & move an indirect primary base first. (force_canonical_binfo): Check that it's not already canonical. (mark_primary_virtual_base): Remove BINFO parameter. (mark_primary_bases): Adjust, set BINFO_LOST_PRIMARY_P here. testsuite: PR c++/3986 * g++.dg/abi/vbase1.C: New test. From-SVN: r45435
2001-09-06Remove TYPE_NONCOPIED_PARTS.Nathan Sidwell9-126/+36
* tree.h (TYPE_NONCOPIED_PARTS): Remove. (struct tree_type): Remove noncopied_parts. * c-tree.h (TYPE_ACTUAL_ARG_TYPES): Map onto TYPE_BINFO. * expr.c (save_noncopied_parts, init_noncopied_parts): Remove. (fixed_type_p): Remove. (expand_expr, INIT_EXPR): Don't deal with noncopied parts. (expand_expr, MODIFY_EXPR): Likewise. * ggc-common.c (ggc_mark_trees): Remove TYPE_NONCOPIED_PARTS. * doc/c-tree.texi: Remove TYPE_NONCOPIED_PARTS FIXME. cp: Remove TYPE_NONCOPIED_PARTS. * cp-tree.h (CLASSTYPE_INLINE_FRIENDS): Map onto CLASSTYPE_PURE_VIRTUALS. (TYPE_RAISES_EXCEPTIONS): Map onto TYPE_BINFO. * class.c (duplicate_tag_error): Remove TYPE_NONCOPIED_PARTS. (layout_class_type): Don't call fixup_inlin_methods here ... (finish_struct_1): ... call it here. From-SVN: r45434
2001-09-06for some reason this was missed in theNathan Sidwell1-10/+53
2001-09-04 Nathan Sidwell <nathan@codesourcery.com> * c-common.h (tree_dump_index): Add more comments. * c-dump.c (dump_files): Name flags `tree' rather than `ast'. (dump_option_value_info): New struct. (dump_options): New array. (dump_switch_p): Parse switch options symbolically. * doc/invoke.texi (-fdump-ast): Rename to ... (-fdump-tree): ... here. Document that options are symbolic, and not all are applicable. commit From-SVN: r45433