aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2001-09-11cpphash.h (struct tokenrun): New.Neil Booth6-116/+211
* cpphash.h (struct tokenrun): New. (struct cpp_context): New member bol. (struct cpp_reader): New members. (_cpp_init_tokenrun): New. * cppinit.c (cpp_create_reader): Set up the token runs. * cpplex.c (lex_directive, lex_token, next_tokenrun): New. (lex_token): New internalised version of _cpp_lex_token. Don't handle directives or the multiple include opimisation here any more. Simply lex a token. * cpplib.c (run_directive): Clear bol. (_cpp_pop_buffer): Set bol. * cppmacro.c (funlike_invocation_p): Keep tokens whilst parsing arguments. From-SVN: r45534
2001-09-11Do not allow -mgp32 -mfp64; Fix int/long printf warningMichael Meissner5-3/+43
From-SVN: r45533
2001-09-11dbxout.c (dbxout_parms): Fix typo in comment.Hans-Peter Nilsson6-6/+15
* dbxout.c (dbxout_parms): Fix typo in comment. * unroll.c (loop_find_equiv_value): Ditto. * toplev.c (rest_of_compilation): Ditto. * loop.c (scan_loop): Ditto. (scan_loop): Ditto. * dwarf2out.c (struct dw_fde_struct): Ditto. From-SVN: r45531
2001-09-10cpplex.c (parse_identifier): Fast-path optimize.Zack Weinberg4-44/+111
* cpplex.c (parse_identifier): Fast-path optimize. Avoid copying identifier when we're just going to throw it away. (parse_identifier_slow): New routine to handle abnormal cases. (_cpp_lex_token): Update call site. * hashtable.c (ht_lookup): Don't assume that the string we've been given is NUL-terminated. * system.h: #define __builtin_expect(a, b) to (a) if not GCC >=3.0. From-SVN: r45529
2001-09-10Test -fbranch-probabilities with computed gotos.Janis Johnson1-0/+42
From-SVN: r45528
2001-09-10Test various C constructs with -fbranch-probabilities.Janis Johnson1-0/+269
From-SVN: r45527
2001-09-10Support for tests of -fbranch-probability.Janis Johnson1-0/+55
From-SVN: r45526
2001-09-10Support procedures for testing profile-directed optimizations.Janis Johnson1-0/+284
From-SVN: r45525
2001-09-10profopt.exp: New, to support profile-directed optimizations.Janis Johnson1-0/+8
* lib/profopt.exp: New, to support profile-directed optimizations. * gcc.misc-tests/bprob.exp: New, to support branch profiling in C. * gcc.misc-tests/bprob-1.c: New test. * gcc.misc-tests/bprob-2.c: New test. From-SVN: r45524
2001-09-10add sparc64-*-solaris2 support just like sparcv9-*-solaris2Michael Meissner2-1/+6
From-SVN: r45523
2001-09-10* config/rs6000/t-aix43 (SHLIB_INSTALL): Use mode 751 (a+x,r-o).David Edelsohn3-2/+8
From-SVN: r45522
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