aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2000-04-01Makefile.in (STAGESTUFF): Wildcard all debugging dumps at once.Richard Henderson3-621/+284
* Makefile.in (STAGESTUFF): Wildcard all debugging dumps at once. (mostlyclean): Likewise. * toplev.c (rtl_dump, jump_opt_dump, etc): Remove. (struct dump_file_info, enum dump_file_index, dump_file): New. (open_dump_file): Take a dump_file_index not a suffix, and a decl not a string. Clean out file if we havn't yet done so. Do nothing if the dump isn't enabled. (close_dump_file): Do nothing if the dump isn't open. Dump graph data if requested. (dump_rtl, clean_dump_file): Remove. (compile_file): Don't clean the dump files. Only finalize .bp dump if flag_test_coverage or flag_branch_probabilities. Only finalize .combine dump if optimizing. Iterate over dump_file to finalize the graph dumps. (rest_of_compilation): Update for open_dump_file/close_dump_file. Convert all uses of dump_rtl. (decode_d_option): Iterate over dump_file to implement 'a' and to locate pass-specific dumps. From-SVN: r32857
2000-04-01Daily bump.Jeff Law2-2/+2
From-SVN: r32856
2000-04-01cppexp.c: Redefine priority constants.Neil Booth2-64/+84
* cppexp.c: Redefine priority constants. (_cpp_parse_expr): Replace left and right priority scheme with single priority logic. Move LOGICAL to same place as COMPARE. Remove bogus check for multiple unary +/- operators. From-SVN: r32855
2000-04-01cppexp.c: (_cpp_parse_expr): Numerical constants are pushed within the ↵Neil Booth2-62/+76
switch statement. * cppexp.c: (_cpp_parse_expr): Numerical constants are pushed within the switch statement. Binary operations break out of the switch naturally. '(' tokens handled by forcing immediate shift. ')' handled by forcing immediate reduce to the previous '('. New error messages. From-SVN: r32854
2000-04-01rs6000.c (print_operand): Don't use %l for 'low part', it's already in use.Geoff Keating3-2/+19
* config/rs6000/rs6000.c (print_operand): Don't use %l for 'low part', it's already in use. Use %K instead. Add a return at the end of what is now %K. * config/rs6000/rs6000.md (elf_low): Use %K instead of %l. From-SVN: r32853
2000-03-31Fixed email address typo in Thu Mar 30, 2000 ChangeLog entry.Alexandre Petit-Bianco1-1/+1
From-SVN: r32852
2000-04-01builtins.c (expand_builtin_apply): Pass proper parameters to ↵Jan Hubicka6-33/+96
allocate_dynamic_stack_space. * builtins.c (expand_builtin_apply): Pass proper parameters to allocate_dynamic_stack_space. * calls.c (emit_call_1): Do not adjust stack pointer for SIB, update stack_pointer_delta; do not update arg_size_so_far. (compute_argument_block_size): Use stack_delta instead of stack_pointer_pending and arg_size_so_far. (expand_call): Add sanity checking for stack_pointer_delta; save and restore stack_pointer_delta for SIB, use stack_pointer_delta for alignment; do not update arg_space_so_far. (emit_library_call_value): Use stack_pointer_delta for alignment. (store_one_arg): Do not update arg_space_so_far. * explow.c (adjust_stack, anti_adjust_stack): Update stack_pointer_delta. (allocate_dynamic_stack_space): Add sanity checking for stack_pointer_delta. * expr.c (init_expr, clear_pending_stack_adjust): Clear stack_pointer_delta. (emit_push_insn): Update stack_pointer_delta. * function.h (struct expr_status): Add x_stack_pointer_delta; remove x_arg_space_so_far. (arg_space_so_far): Remove. (stack_pointer_delta): New macro. From-SVN: r32851
2000-03-31cpplib.h: Merge struct cpp_options into struct cpp_reader.Zack Weinberg12-696/+738
* cpplib.h: Merge struct cpp_options into struct cpp_reader. Reorder struct cpp_options and struct cpp_reader for better packing. Replace CPP_OPTIONS macro with CPP_OPTION which takes two args. Change all 'char' flags to 'unsigned char'. Move show_column flag into struct cpp_options. Don't prototype cpp_options_init. * cpphash.h, cpperror.c, cppexp.c, cppfiles.c, cpphash.c, cppinit.c, cpplex.c, cpplib.c: Replace CPP_OPTIONS (pfile)->whatever with CPP_OPTION (pfile, whatever), and likewise for opts = CPP_OPTIONS (pfile); ... opts->whatever; * cppinit.c (merge_include_chains): Take a cpp_reader *. Extract CPP_OPTION (pfile, pending) and work with that directly. (cpp_options_init): Delete. (cpp_reader_init): Turn on on-by-default options here. Allocate the pending structure here. (cl_options, enum opt_code): Define these from the same table, kept in a large macro. Add -fshow-column and -fno-show-column options. * cpperror.c (v_message): If show_column is off, don't print the column number. * cppmain.c: Update for new interface. * fix-header.c: Likewise. From-SVN: r32850
2000-03-31t-aix43 (AR_FLAGS_FOR_TARGET): Adjust for new definition.Geoff Keating3-16/+45
* config/rs6000/t-aix43 (AR_FLAGS_FOR_TARGET): Adjust for new definition. * Makefile.in (AR_FLAGS_FOR_TARGET): Is now the flags that are passed to any invocation of AR_FOR_TARGET. (AR_CREATE_FOR_TARGET): New macro. (AR_EXTRACT_FOR_TARGET): New macro. (ORDINARY_FLAGS_TO_PASS): Add AR_CREATE_FOR_TARGET, AR_EXTRACT_FOR_TARGET. (many places): Use AR_CREATE_FOR_TARGET, AR_EXTRACT_FOR_TARGET in place of `$(AR_FOR_TARGET) $(AR_FLAGS_FOR_TARGET)' and `$(AR_FOR_TARGET) x'. Pass AR_CREATE_FOR_TARGET and AR_EXTRACT_FOR_TARGET to sub-makes. From-SVN: r32849
2000-03-31cppexp.c: Delete SKIP_OPERAND.Neil Booth2-13/+27
* cppexp.c: Delete SKIP_OPERAND. Correct priority PAREN_INNER_PRIO. (_cpp_parse_expr): Check for multiple unary +/- operators. Correct priorities of ':' and '?'. Treat ')' as having a value. Ensure conditional expression is not void. From-SVN: r32848
2000-03-31alias.c (canon_rtx): Make it global.Mark Mitchell4-24/+69
* alias.c (canon_rtx): Make it global. (rtx_equal_for_memref_p): CONST_INT equality is now pointer equality. * cse.c (struct table_elt): Add canon_exp. (insert): Clear it. (invalidate): Canonicalize expressions only once. * rtl.h (canon_rtx): Declare. From-SVN: r32845
2000-03-31Makefile.in (emit-rtl.o): Depend on HASHTAB_H.Mark Mitchell7-32/+137
* Makefile.in (emit-rtl.o): Depend on HASHTAB_H. * alias.c (reg_known_value): Add comments. (init_alias_analysis): Likewise. * cse.c (exp_equiv_p): CONST_INTs are equal iff they have the same address. (cse_basic_block): Fix typo in comment. * emit-rtl.c: Include hashtab.h. (const_int_htab): New variable. (const_int_htab_hash): New function. (const_int_htab_eq): Likewise. (rtx_htab_mark_1): Likewise. (rtx_htab_mark): Likewise. (gen_rtx_CONST_INT): Cache all CONST_INTs. (unshare_all_rtx): Fix formatting. (init_emit_once): Initialize const_int_htab. * rtl.c (rtx_equal_p): CONST_INTs are equal iff they have the same address. * rtl.texi: Document the fact that all CONST_INTs with the same value are shared. From-SVN: r32844
2000-03-31Daily bump.Jeff Law2-2/+2
From-SVN: r32843
2000-03-30* alpha.h (FUNCTION_BOUNDARY): Reduce to 128 bits.Richard Henderson2-1/+5
From-SVN: r32841
2000-03-30c-parse.in (cast_expr): Move change from March 21 into c-parse.in since it ↵Jeffrey A Law4-6/+10
is used to generate c-parse.y. * c-parse.in (cast_expr): Move change from March 21 into c-parse.in since it is used to generate c-parse.y. * objc-parse.c, objc-parse.y: Regenerated. From-SVN: r32840
2000-03-30expr.c (java_lang_expand_expr): Added Anthony's Thu Jan 6 2000 patch missing ↵Alexandre Petit-Bianco2-5/+12
hunk. Thu Mar 30 15:26:56 2000 Alexandre Petit-Bianco <apbianco@dcygnus.com> * expr.c (java_lang_expand_expr): Added Anthony's Thu Jan 6 2000 patch missing hunk. Fixed indentation. From-SVN: r32839
2000-03-30configure.in: Comment out --enable-c-cpplib stanza.Zack Weinberg3-249/+243
* configure.in: Comment out --enable-c-cpplib stanza. * configure: Regenerate. From-SVN: r32838
2000-03-30expr.c (store_constructor): Properly compute displacement and alignment when ↵Richard Kenner2-8/+6
offset is variable. * expr.c (store_constructor): Properly compute displacement and alignment when offset is variable. From-SVN: r32837
2000-03-30expmed.c (store_bit_field, [...]): Fix more cases of alignment in bytes.Richard Kenner2-12/+16
* expmed.c (store_bit_field, store_fixed_bit_field): Fix more cases of alignment in bytes. From-SVN: r32836
2000-03-30function.c (expand_function_end): Pass alignment argument to emit_block_move ↵Jeffrey A Law2-1/+6
in bits, not bytes. * function.c (expand_function_end): Pass alignment argument to emit_block_move in bits, not bytes. From-SVN: r32835
2000-03-30added entry for patch that removed ASM_SPEC from config/arm/arm.h.Nick Clifton1-0/+9
From-SVN: r32833
2000-03-30gjavah.c (D_NAN_MASK): Only define as word-reversed when ↵Tom Tromey2-1/+6
HOST_FLOAT_WORDS_BIG_ENDIAN and... * gjavah.c (D_NAN_MASK): Only define as word-reversed when HOST_FLOAT_WORDS_BIG_ENDIAN and HOST_WORDS_BIG_ENDIAN disagree. From-SVN: r32832
2000-03-30expr.c (move_by_pieces_ninsns): Fix one more missing align correction.Richard Kenner2-1/+4
* expr.c (move_by_pieces_ninsns): Fix one more missing align correction. From-SVN: r32831
2000-03-30* expmed.c (store_fixed_bit_field): STRUCT_ALIGN is in bits.Richard Kenner2-2/+4
From-SVN: r32830
2000-03-30calls.c (expand_call): Pass bit alignment to mark_reg_pointer.Richard Kenner13-160/+167
* calls.c (expand_call): Pass bit alignment to mark_reg_pointer. * explow.c (memory_address, allocate_dynamic_stack_space): Likewise. * function.c (assign_parms): Likewise. * integrate.c (expand_inline_function): Likewise. * stmt.c (expand_decl): Likewise. (copy_rtx_and_substitute): Likewise. * expr.c (expand_expr, expand_expr_unaligned): Likewise. (clear_by_pieces): Fix error in last change. * emit-rtl.c (init_emit): Set known registers alignment in bits. * function.h (regno_pointer_align): Now unsigned. * config/arm/arm.c (alignable_memory_operand): REGNO_POINTER_ALIGN is in bits. * config/i386/i386.c (aligned_operand): Likewise. * config/sparc/sparc.c (mem_min_alignment): Likewise. * config/alpha/alpha.c (aligned_memory_operand): Likewise. (unaligned_memory_operand): Likewise. (alpha_expand_block_move, alpha_expand_block_clear): Likewise. Also make alignments and sizes unsigned and some whitespace cleanup. (alpha_va_start): Do nothing if VALIST's type is error_mark_node. From-SVN: r32829
2000-03-30rtti.c (class_hint_flags): Rename flags.Nathan Sidwell4-50/+86
* rtti.c (class_hint_flags): Rename flags. (class_initializer): Remove flags. (synthesize_tinfo_var): Combine offset and flags. Add flags for __vmi_class_type_info. (create_tinfo_types): Remove flags from __class_type_info and __si_class_type_info. Merge flags and offset from base_class_type_info. * inc/cxxabi.h (__base_class_info): Merge offset and vmi_flags. (__base_class_info::is_virtual_p): Adjust. (__base_class_info::is_public_p): Adjust. (__base_class_info::offset): New accessor. (__class_type_info::details): Remove member. (__class_type_info::__class_type_info): Lose details. (__class_type_info::detail_masks): Remove. (__si_class_type_info::__si_class_type_info): Lose details. (__vmi_class_type_info::details): New member. (__vmi_class_type_info::__vmi_class_type_info): Adjust. (__vmi_class_type_info::detail_masks): New member. * tinfo.cc (__class_type_info::do_upcast): Initialize result with unknown_details_mask. (__vmi_class_type_info::do_find_public_src): Adjust (__vmi_class_type_info::do_dyncast): Adjust. (__vmi_class_type_info::do_upcast): Set result details, if needed. Adjust. (__dynamic_cast): Temporarily #if out optimization. From-SVN: r32828
2000-03-30builtins.c (get_pointer_alignment): Use host_integerp & tree_low_cst.Richard Kenner14-285/+291
* builtins.c (get_pointer_alignment): Use host_integerp & tree_low_cst. (expand_builtin_apply): Pass alignment to emit_block_move in bits. (expand_builtin_memcpy, expand_builtin_va_copy): Likewise. (expand_builtin_memset): Likewise, but to clear_storage. * calls.c (save_fixed_argument_area): Likewise, to move_by_pieces. (restore_fixed_argument_area): Likewise. (store_unaligned_arguments_into_pseudos): Likewise, to store_bit_field. (load_register_parameters): Likewise, to emit_group_load. (expand_call): Likewise, to emit_group_store and emit_block_move. (emit_library_call_value_1): Likewise, to emit_block_move. (store_one_arg): Likewise, and to emit_push_insn. * expmed.c (extract_bit_field): Alignment is in bits, not bytes. (extract_fixed_bit_field, extract_split_bit_field): Likewise. * expr.c (move_by_pieces, move_by_pieces_ninsns): Likewise. (emit_block_move, emit_group_load, emit_group_store): Likewise. (clear_by_pieces, clear_storage, emit_push_insn): Likewise. (expand_assigment, store_expr, store_constructor_field): Likewise. (expand_expr_unaligned, do_jump, do_compare_and_jump): Likewise. (store_constructor, store_field, get_inner_reference): Likewise. Use host_integerp and tree_low_cst; sizes and positions HOST_WIDE_INT. (expand_expr, case COMPONENT_REF): Likewise. (copy_blkmode_from_regs): Use UNSIGNED_HOST_WIDE_INT for sizes and positions; reindent code. * expr.h (emit_cmp_insn, emit_cmp_and_jump_insns): Alignment unsigned. * function.c (purge_addressof_1): Pass bit align to store_bit_field. (assign_parms): Likewise to emit_group_store. * optbas.c (prepare_cmp_insn): Alignment is in bits. (emit_cmp_and_jump_insns, emit_cmp_insn): Likewise, and also unsigned. * stmt.c (expand_value_return): Pass align in bits to emit_group_load. (expand_return): Likewise to {extract,store}_bit_field. * stor-layout.c (get_mode_alignment): Minor cleanup. * config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Align is in bits. * config/sh/sh.h (MOVE_BY_PIECES_P): Likewise. * ch/expr.c (chill_expand_expr): Pass bit alignment to emit_block_move. From-SVN: r32827
2000-03-30Daily bump.Jeff Law2-2/+2
From-SVN: r32826
2000-03-30cppinit.c (cpp_start_read): Call initialize_dependency_output only after ↵Zack Weinberg2-4/+9
reading in the primary source file. * cppinit.c (cpp_start_read): Call initialize_dependency_output only after reading in the primary source file. From-SVN: r32825
2000-03-29* i386/djgpp.h: Remove extraneous "+".Jeffrey A Law2-1/+3
From-SVN: r32824
2000-03-29* POTFILES.in: Remove config/rs6000/cygwin.hPhilipp Thomas2-1/+4
From-SVN: r32822
2000-03-30c-common.c (c_common_nodes_and_builtins): The first parameter to ↵Geoff Keating6-64/+81
__builtin_va_start and __builtin_va_copy is now either a... * c-common.c (c_common_nodes_and_builtins): The first parameter to __builtin_va_start and __builtin_va_copy is now either a 'va_list' or a reference to a va_list. * builtins.c (stabilize_va_list): Simplify now we don't have to work around C array address decay. * c-typeck.c (convert_for_assignment): Handle assignment to a reference parameter by taking the address of the RHS. * ginclude/stdarg.h (va_start): Don't take address of first parameter. (va_copy): Likewise. (__va_copy): Likewise. * ginclude/varargs.h (va_start): Likewise. (__va_copy): Likewise. From-SVN: r32821
2000-03-29* stmt.c (stmt_loop_nest_empty): Fix thinko in last change.Jeffrey A Law2-2/+4
From-SVN: r32820
2000-03-29* calls.c (expand_call): Fix typo.Jeffrey A Law2-1/+5
From-SVN: r32819
2000-03-29upJason Merrill2-0/+45
From-SVN: r32818
2000-03-29add ATTRIBUTE_UNUSEDJason Merrill1-1/+1
From-SVN: r32817
2000-03-29Undo effects of previous delta.Nick Clifton2-19/+2
Undo effects of previous delta. Do not define ASM_SPEC and SUBTARGET_EXTRA_ASM_SPEC oin arm.h as it conflicts with builds for non GAS using targets From-SVN: r32816
2000-03-29* gcc.c-torture/compile/20000329-1.c: New test.Jeffrey A Law2-0/+44
From-SVN: r32815
2000-03-29tree.c (unsave_expr_1): Don't mess with a TARGET_EXPR that hasn't been expanded.Jason Merrill2-0/+12
* tree.c (unsave_expr_1): Don't mess with a TARGET_EXPR that hasn't been expanded. From-SVN: r32814
2000-03-29stor-layout.c (bit_from_pos, [...]): New functions.Richard Kenner4-33/+104
* stor-layout.c (bit_from_pos, byte_from_pos): New functions. (pos_from_byte, pos_from_bit, normalize_offset): Likewise. (normalize_rli, rli_size_so_far, rli_size_unit_so_far): Use them. * tree.c (bit_position, byte_position): Likewise. * tree.h: Declare new functions. From-SVN: r32813
2000-03-29Minor formatting changes.Nick Clifton3-141/+145
Add definitions of ASM_SPEC and SUBTARGET_EXTRA_ASM_SPEC to arm.h if not already defined. From-SVN: r32810
2000-03-29cppfiles.c (cpp_read_file): Don't pass zero-length string to _cpp_calc_hash.Zack Weinberg2-1/+10
* cppfiles.c (cpp_read_file): Don't pass zero-length string to _cpp_calc_hash. From-SVN: r32808
2000-03-29dwarf2out.c (gen_enumeration_type_die): If enum has a negative value, don't ↵Jakub Jelinek2-2/+13
output it as unsigned. * dwarf2out.c (gen_enumeration_type_die): If enum has a negative value, don't output it as unsigned. From-SVN: r32807
2000-03-29* stmt.c (stmt_loop_nest_empty): Allow cfun->stmt to be NULL.Jeffrey A Law2-1/+8
From-SVN: r32806
2000-03-29c-common.c (c_common_nodes_and_builtins): Don't special case cplus_mode when ↵Kaveh R. Ghazi2-5/+11
declaring builtin bzero/bcmp... * c-common.c (c_common_nodes_and_builtins): Don't special case cplus_mode when declaring builtin bzero/bcmp, always avoid prototype arguments. From-SVN: r32805
2000-03-29Initially set the variable "fixincludes" to a non-fileBruce Korb2-1/+6
From-SVN: r32804
2000-03-29Convert ACCUMULATE_OUTGOING_ARGS to an expression.Jan Hubicka31-553/+724
* calls.c (PUSH_ARGS_REVERSED) Change to expression. (ACCUMULATE_OUTGOING_ARGS, PUSH_ARGS): Provide default value. (struct arg_data): Remove #ifdef ACCUMULATE_OUTGOING_ARGS. (save_fixed_argument_area, restore_fixed_argument_area): conditionize by #ifdef REG_PARM_STACK_SPACE only. (emit_call): Change #ifdefs on ACCUMULATE_OUTGOING_ARGS to conditions, handle RETURN_POPS_ARGS on ACCUMULATE_OUTGOING_ARGS. (precompute_register_parameters): Avoid #ifdefs on ACCUMULATE_OUTGOING_ARGS and PUSH_ARGS_REVERSED. (stire_one_args): Likewise. (expand_call): Likewise; conditionize PUSH_ROUNDING code by PUSH_ARGS. (emit_library_call_value_1): Likewise. (compute_argument_block_size): Align to STACK_BOUNDARY only for ACCUMULATE_OUTGOING_ARGS. * combine.c (ACCUMULATE_OUTGOING_ARGS, PUSH_ARGS): Provide default value. (nonzero_bits): Conditionize PUSH_ROUNDING code by USE_PUSH. (use_crosses_set_p): Likewise. * all targets (ACCUMULATE_OUTGOING_ARGS define): Change to #define ACCUMULATE_OUTGOING_ARGS 1. * i386.c (ix86_compute_frame_size): Handle ACCUMULATE_OUTGOING_ARGS frames. * i386.h (MASK_NO_PUSH_ARGS, MASK_ACCUMULATE_OUTGOING_ARGS): New constants. (TARGET_PUSH_ARGS, TARGET_ACCUMULATE_OUTGOING_ARGS): New macros. (TARGET_SWITCHES): Add push-args, no-push-args, accumulate-outgoing-args and no-accumulate-outgoing-args. (ACCUMULATE_OUTGOING_ARGS, PUSH_ARGS): New macro. * expr.c (ACCUMULATE_OUTGONG_ARGS, PUSH_ARGS): Provide default. (push_block): Avoid ifdefs on ACCUMULATE_OUTGONG_ARGS and PUSH_ROUNDING. (emit_push_insn): Likewise. * final.c (ACCUMULATE_OUTGOING_ARGS): Provide default. (final_scan_insn): Avoid ifdefs on ACCUMULATE_OUTGOING_ARGS. * function.c (ACCUMULATE_OUTGOING_ARGS): Provide default. (STACK_DYNAMIC_OFFSET): Define correctly for both ACCUMULATE_OUTGOING_ARGS and normal mode. * invoke.texi (-mpush_args, -maccumulate-outgoing-args): Document. * tm.texi (PUSH_ARGS): Document. (ACCUMULATE_OUTGOING_ARGS, PUSH_ROUNDING): Update documentation. From-SVN: r32803
2000-03-29flags.h (flag_optimize_sibling_calls): Declare.Jan Hubicka6-5/+34
* flags.h (flag_optimize_sibling_calls): Declare. * calls.c (expand_call): Fail sibcall when !flag_optimize_sibling_calls * invoke.texi (flag_optimize_sibling_calls): Document. * toplev.c (flag_optimize_sibling_calls): New global variable. (f_options): Add flag_optimize_sibling_calls. (rest_of_compilation): Conditionize optimize_sibling_and_tail_recursive_calls by flag_optimize_sibling_calls. (main): Set flag_optimize_sibling_calls for -O2. * stmt.c (expand_return): Conditionize tail recursion by flag_optimize_sibling_calls. From-SVN: r32802
2000-03-29att.h (LOCAL_LABEL_PREFIX): Define.Richard Henderson2-2/+11
* config/i386/att.h (LOCAL_LABEL_PREFIX): Define. (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL): Use it. From-SVN: r32801
2000-03-29Daily bump.Jeff Law2-2/+2
From-SVN: r32800