| 2000-06-30 Mark Mitchell <mark@codesourcery.com> |
| |
| * Makefile.in (c-common.o): Don't depend on c-tree.h or c-lex.h. |
| * c-common.c (ridpointers): Declare. |
| * c-common.h (enum rid): Declare. |
| (NORID): Likewise. |
| (ridpointers): Likewise. |
| * c-lex.c (ridpointers): Don't declare. |
| (init_lex): Initialize ridpointers. |
| * c-lex.h (enum rid): Don't declare. |
| (NORID): Likewise. |
| (RID_FIRST_MODIFIER): Likewise. |
| (ridpointers): Likewise. |
| |
| 2000-06-30 J. David Anglin <dave@hiauly1.hia.nrc.ca> |
| |
| * pa/som.h (ASM_WEAKEN_LABEL): Export weak data symbols so that they |
| have global scope. |
| |
| 2000-06-30 Martin von Loewis <loewis@informatik.hu-berlin.de> |
| |
| * invoke.texi (-Wreturn-type): In C++, a missing return type is |
| always an error. |
| |
| 2000-06-30 Catherine Moore <clm@cygnus.com> |
| |
| * c-common.c (decl_attributes): Differentiate between |
| types and type decls for alignment. |
| |
| 2000-06-30 Nathan Sidwell <nathan@codesourcery.com> |
| |
| * cpp.texi: Document #pragma GCC dependency |
| * cppfiles.c (open_include_file): Set date to unknown. |
| (_cpp_compare_file_date): New function. |
| (read_include_file): Set file date. |
| * cpphash.h (struct include_file): Add date member. |
| (_cpp_compare_file_date): Prototype. |
| * cpplib.c (parse_include): Add trail parameter. Adjust. |
| (do_include): Adjust parse_include call. |
| (do_import): Likewise. |
| (do_include_next): Likewise. |
| (gcc_pragmas): Add dependency pragma. |
| (do_pragma_dependency): New pragma. |
| |
| 2000-06-29 Jason Merrill <jason@redhat.com> |
| |
| * dwarf2out.c (output_loc_operands): Don't abort on codes that have |
| no operands. |
| |
| 2000-06-29 Jim Wilson <wilson@cygnus.com> |
| |
| * config/ia64/ia64.h (PREFERRED_RELOAD_CLASS): Return NO_REGS for |
| a volatile mem and FR_REGS. |
| |
| 2000-06-29 Mark Mitchell <mark@codesourcery.com> |
| |
| * c-common.c: Include c-common.h, not c-lex.h or c-tree.h. |
| * c-common.h (flag_const_strings): Declare. |
| (warn_format): Likewise. |
| (flag_traditional): Likewise. |
| (flag_isoc99): Likewise. |
| (warn_parentheses): Likewise. |
| (warn_conversion): Likewise. |
| (C_TYPE_OBJECT_P): Likewise. |
| (C_TYPE_INCOMPLETE_P): Likewise. |
| (C_TYPE_FUNCTION_P): Likewise. |
| (C_TYPE_OBJECT_OR_INCOMPLETE_P): Likewise. |
| (C_EXP_ORIGINAL_CODE): Likewise. |
| (build_unary_op): Likewise. |
| (build_binary_op): Likewise. |
| (lvalue_p): Likewise. |
| (default_conversion): Likewise. |
| (common_type): Likewise. |
| * c-tree.h (C_TYPE_OBJECT_P): Remove. |
| (C_TYPE_INCOMPLETE_P): Likewise. |
| (C_TYPE_FUNCTION_P): Likewise. |
| (C_TYPE_OBJECT_OR_INCOMPLETE_P): Likewise. |
| (C_EXP_ORIGINAL_CODE): Likewise. |
| (common_type): Likewise. |
| (default_conversion): Likewise. |
| (build_binary_op): Likewise. |
| (build_unary_op): Likewise. |
| (lvalue_p): Likewise. |
| (flag_const_strings): Likewise. |
| (warn_format): Likewise. |
| (warn_conversion): Likewise. |
| (flag_traditional): Likewise. |
| (flag_isoc99): Likewise. |
| (warn_parentheses): Likewise. |
| |
| 2000-06-29 James E. Wilson <wilson@cygnus.com> |
| |
| * config/ia64/linux.h (LINK_SPEC): Change so.1 to so.2. |
| |
| * config/ia64/ia64.h (MODES_TIEABLE_P): Only tie if mode class is the |
| same. Only tie XFmode with XFmode. |
| |
| 2000-06-29 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * c-decl.c, timevar.c, tlink.c: Include intl.h. |
| * Makefile.in: Update deps. |
| |
| 2000-06-29 Andrew Haley <aph@cygnus.com> |
| |
| * toplev.c (main): On an IA-64, make flag_unwind_tables defauit |
| to true. |
| |
| 2000-06-29 Andrew Haley <aph@cygnus.com> |
| |
| * config/ia64/linux.h (JMP_BUF_SIZE): Size is in Pmode units, not |
| bytes: remove the multiply by 8. |
| |
| 2000-06-29 Philipp Thomas <pthomas@suse.de> |
| |
| * rtl.c : Revert NLS changes. |
| * gcc.c : Fix bug in display_help introced by my last changes. |
| |
| Wed Jun 28 21:09:33 2000 Raja R Harinath <harinath@cs.umn.edu> |
| |
| * dbxout.c (dbxout_symbol, case RESULT_DECL, VAR_DECL): Use |
| DECL_CONTEXT, not DECL_FIELD_CONTEXT. |
| |
| 2000-06-29 Michael Hayes <m.hayes@elec.canterbury.ac.nz> |
| |
| * flow.c (flow_depth_first_order_compute): Fix algorithm. |
| |
| 2000-06-28 Philipp Thomas <pthomas@suse.de> |
| |
| * c-decl.c : Mark strings for translation. |
| (parmlist_tags_warning): Use distinct messages instead |
| of conditional expressions. |
| * diagnostic.c (v_message_with_decl): Mark string for translation. |
| * gcc.c: Mark messages for translation. |
| (display_help): Combine messages into one string where necessary. |
| * mips-tfile: Add intl.h. Mark messages for translation. |
| * rtl.c (fatal_with_file_and_line): Modify function for NLS. Mark |
| messages for translation. |
| * timevar.c: Mark messages for translation. |
| * tlink.c: Likewise. |
| * toplev.c: Likewise. |
| |
| Wed Jun 28 15:39:26 2000 Donn Terry (donnte@microsoft.com) |
| |
| * i386-interix.h (STRIP_NAME_ENCODING): Declare _new_name properly. |
| |
| * alpha/alpha-interix.h: Delete redundant -Asystem(interix), |
| use -isystem instead of -idirafter. |
| * i386/i386-interix.h: Likewise. |
| |
| 2000-06-28 Jason Merrill <jason@redhat.com> |
| |
| * dwarf2out.c (output_loc_operands): Don't support >1 byte output |
| unless DWARF2_DEBUGGING_INFO is defined. |
| (ASM_OUTPUT_DWARF_*): Wrap normal output defs with #ifndefs. |
| |
| 2000-06-28 Richard Henderson <rth@cygnus.com> |
| |
| * config/alpha/alpha.c (summarize_insn): Ignore SCRATCH. |
| |
| 2000-06-28 Jakub Jelinek <jakub@redhat.com> |
| |
| * cpplex.c (output_line_command): Output correct #line if a header |
| is including itself and is not protected against multiple inclusion. |
| |
| 2000-06-28 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cppfiles.c (open_include_file): If open(2) returns EMFILE or |
| ENFILE, close all cached file descriptors and try again. |
| (_cpp_execute_include): Keep a count of the number of times |
| each header is included. |
| (close_cached_fd): New function. |
| * cpphash.h (struct include_file): Rename before to |
| include_count; all users updated. Make include_count and sysp |
| unsigned short. |
| * cppinit.c (cpp_finish): If -H, report headers that could use |
| reinclude guards. |
| (report_missing_guard): New function. |
| |
| Wed Jun 28 14:46:58 MET DST 2000 Jan Hubicka <jh@suse.cz> |
| |
| * i386.md (prologue_set_got): Set length_immediate field. |
| (testqi_ccno_1): Add missing '@' character. |
| |
| 2000-06-27 Jason Merrill <jason@redhat.com> |
| |
| * dwarf2out.c (expand_builtin_init_dwarf_reg_sizes): Use |
| DWARF_FRAME_REGNUM. |
| |
| 2000-06-27 Andrew Macleod <amacleod@cygnus.com> |
| |
| * dwarf2out.c (ASM_OUTPUT_DWARF_DATA2): Provide default when no |
| unsigned macros available. |
| |
| 2000-06-27 Richard Henderson <rth@cygnus.com> |
| |
| * config/ia64/ia64.c (emit_insn_group_barriers): Special case |
| epilogue_deallocate_stack. |
| |
| * config/ia64/ia64.c (ia64_print_operand) [case D]: Emit |
| completers for UNORDERED and ORDERED as well. |
| * config/ia64/ia64.md (bunordered, bordered): New. |
| (sunordered, sordered): New. |
| |
| Tue Jun 27 12:14:12 MET DST 2000 Jan Hubicka <jh@suse.cz> |
| |
| * genattrtab.c (write_attr_value): Do not abort for CONST_INT operands. |
| * i386.c (ix86_attr_length_default): Kill. |
| (ix86_attr_length_immediate_default, ix86_attr_length_address_default): |
| New. |
| * i386-protos.h (ix86_attr_length_default): Kill |
| (ix86_attr_length_immediate_default, ix86_attr_length_address_default): |
| Add prototype |
| * i386.md (attribute type): Add "test". |
| (attribute length_prefix): Kill. |
| (attribute length_opcode): Kill. |
| (attribute i387, mode, length_immediate, length_address, prefix_data16, |
| prefix_rep, prefix_0f, modrm): New. |
| (attribute length): Compute using the new attributes. |
| (attribute pent_prefix): New. |
| (attribute pent_pair): Compute using pent_prefix. |
| (all insn patterns): Set mode,modrm and immediate_length attributes where |
| needed. |
| (cmpsi patterns): Compute sizes properly for test instruction. |
| (movsi, movhi patterns): Compute sizes properly for eax shortcuts. |
| (movstricthi_xor, movstrictqi_xor): New patterns. |
| (andsi/andhi): Use splitters to generate xor instructions. |
| (xorqi_ext_1): New pattern. |
| (movstricthi->movstricthi_xor peep2): New. |
| |
| Tue Jun 27 12:03:03 MET DST 2000 Jan Hubicka <jh@suse.cz> |
| |
| * i386.md (addqi_low_1): Remove. |
| |
| 2000-06-27 Philipp Thomas <pthomas@suse.de> |
| |
| * 1750a.h: Mark help strings for options/switches for translation. |
| * a29k.h: Likewise. |
| * alpha.h: Likewise. |
| * arm.h: Likewise. |
| * pe.h: Likewise. |
| * riscix.h: Likewise. |
| * c4x.h: Likewise. |
| * clipper.h: Likewise. |
| * convex.h: Likewise. |
| * elxsi.h: Likewise. |
| * fr30.h: Likewise. |
| * fx80.h: Likewise. |
| * h8300.h: Likewise. |
| * i370.h: Likewise. |
| * cygwin.h: Likewise. |
| * dgux.h: Likewise. |
| * djgpp.h: Likewise. |
| * i386.h: Likewise. |
| * osf1elf.h: Likewise. |
| * osfrose.h: Likewise. |
| * sco5.h: Likewise. |
| * win32.h: Likewise. |
| * i860.h: Likewise. |
| * paragon.h: Likewise. |
| * i960.h: Likewise. |
| * ia64.h: Likewise. |
| * m32r.h: Likewise. |
| * mcore.h: Likewise. |
| * mips.h: Likewise. |
| * mn10300.h: Likewise. |
| * ns32k.h: Likewise. |
| * pdp11.h: Likewise. |
| * pj.h: Likewise. |
| * aix.h: Likewise. |
| * aix41.h: Likewise. |
| * aix43.h: Likewise. |
| * beos.h: Likewise. |
| * rs6000.h: Likewise. |
| * sysv4.h: Likewise. |
| * linux.h: Likewise. |
| * linux64.h: Likewise. |
| * sp64-elf.h: Likewise. |
| * sparc.h: Likewise. |
| * splet.h: Likewise. |
| * v850.h: Likewise. |
| * convex.h (TARGET_SWITCHES): Provide descriptions and mark them |
| for translation. |
| * sp86x-aout.h: Remove bogus first definition of SUBTARGET_SWITCHES. |
| Properly document option and mark for translation. |
| * sp86x-elf.h: Likewise. |
| |
| 2000-06-27 Bernd Schmidt <bernds@cygnus.co.uk> |
| |
| Add MMX and SSE registers to i386 machine description. |
| * i386-protos.h (ix86_constant_alignment, ix86_data_alignment, |
| ix86_local_alignment): Declare. |
| |
| * i386.h (TARGET_MMX, TARGET_SSE): New. |
| (FIRST_PSEUDO_REGISTER, FIXED_REGISTERS, CALL_USED_REGISTERS, |
| REG_ALLOC_ORDER, HARD_REGNO_NREGS, HARD_REGNO_MODE_OK, |
| REG_CLASS_NAMES, REG_CLASS_CONTENTS,REG_CLASS_FROM_LETTER, |
| enum reg_class, HI_REGISTER_NAMES): Added MMX/SSE registers. |
| (FIRST_SSE_REG, LAST_SSE_REG, SSE_REGNO_P): New. |
| (FIRST_MMX_REG, LAST_MMX_REG, MMX_REGNO_P, MMX_REG_P): New macros. |
| (RETURN_IN_MEMORY): Handle MMX/SSE. |
| (REG_PARM_STACK_SPACE): Added so the first three TImode parameters |
| also get stack space. |
| (MUST_PASS_IN_STACK): Added TImode to the default definition. |
| (CUMULATIVE_ARGS): Added sse_nregs, sse_regno and sse_words. |
| (MMX_REGISTER_NAMES): New. |
| (ALIGN_MODE_128): New macro. |
| (CONSTANT_ALIGNMENT): Code moved out-of-line; just call the function. |
| (DATA_ALIGNMENT): Likewise. |
| (LOCAL_ALIGNMENT): Likewise. |
| (CONDITIONAL_REGISTER_USAGE): Make MMX/SSE regs fixed if not |
| TARGET_MMX/TARGET_SSE. |
| (VALID_SSE_REG_MODE, VALID_MMX_REG_MODE): New macros. |
| (REG_CLASS_FROM_LETTER): 'y' for MMX regs. |
| (SECONDARY_MEMORY_NEEDED): Be conservative about copying between |
| SSE/MMX regs and something else. |
| (CLASS_MAX_NREGS): 1 for SSE and MMX regs. |
| (REGISTER_MOVE_COST): 10 if trying to move between MMX and SSE regs, |
| 3 if moving between MMX regs and something else. |
| |
| * i386.c (reg_class): Add SSE_REGS, MMX_REGS. |
| (regclass_map): Add MMX/SSE registers. |
| (print_operand): Add code to print XMMWORD as appropriate. |
| (ix86_split_movdi): Abort for MMX regs. |
| (init_cumulative_args): Also allow SSE_REGS |
| (function_arg_advance, function_arg): Likewise |
| (print_reg): Support 'm'. Add case for TImode. |
| (override_options): TARGET_SSE implies TARGET_MMX. |
| (ix86_constant_alignment, ix86_data_alignment, ix86_local_alignment): |
| New functions. |
| |
| * config/i386/unix.h (VALUE_REGNO): VECTOR_MODE values go to |
| FIRST_SSE_REG. |
| * config/i386/ptx4-i.h (RETURN_IN_MEMORY): Return MMX values in |
| memory. |
| * config/i386/sysv4.h (RETURN_IN_MEMORY): Likewise. |
| * config/i386/i386elf.h (RETURN_IN_MEMORY): Likewise. |
| |
| 2000-06-26 Geoff Keating <geoffk@cygnus.com> |
| |
| * ssa.c (struct rename_set_data): Change the name of field |
| 'set_dest' to 'old_reg'. Add comments. |
| (struct rename_context): Change the name of 'set_data' to |
| 'new_renames'. Add new field 'done_renames'. |
| (create_delayed_rename): New function. |
| (apply_delayed_renames): New function. |
| (rename_insn_1): Use the new functions. Handle CLOBBERS. Handle |
| SUBREGs and similar by emitting a move. |
| (new_registers_for_updates): Delete, functionality moved to |
| apply_delayed_renames. |
| (rename_block): Handle moves emitted by rename_insn_1 by putting |
| them into a SEQUENCE with the original insn. Add sanity checks |
| and comments. |
| (rename_equivalent_regs_in_insn): Don't handle SUBREGs specially. |
| (rename_equivalent_regs): Expand SEQUENCEs out to individual insns. |
| |
| 2000-06-26 Andrew Macleod <amacleod@cygnus.com> |
| Jason Merrill <jason@redhat.com> |
| |
| * dwarf2.h (enum dwarf_call_frame_info): Add |
| DW_CFA_def_cfa_expression. |
| * dwarf2out.c (union dw_cfi_oprnd_struct): Add a pointer to a |
| dw_loc_descr_struct entry. |
| (struct cfa_loc): New structure to track a CFA location. |
| (lookup_cfa): Take a cfa_loc parameter instead of a reg and an offset. |
| (lookup_cfa_1): Take a cfa_loc parameter instead of a reg and an |
| offset, plus handle DW_CFA_def_cfa_expression. |
| (def_cfa_1): Use to be dwarf2out_def_cfa, only now it uses a |
| cfa_loc record. |
| (dwarf2out_def_cfa): Entry point maintained for compatibility. |
| (dwarf_cfi_name): Add DW_CFA_def_cfa_expression. |
| (cfa_reg, cfa_offset): Replace with cfa_loc record 'cfa'. |
| (cfa_store_reg, cfa_store_offset): Replace with cfa_loc 'cfa_store'. |
| (initial_return_save, dwarf2out_stack_adjust): Use cfa.reg, not |
| cfa_reg. |
| (dwarf2out_frame_debug_expr): Use new cfa_loc records. Recognize rtl |
| sequences for the new DW_CFA_def_cfa_expression record. |
| (dwarf2out_frame_debug): Use new variables/fields.A |
| (output_cfi): Handle DW_CFA_def_cfa_expression. |
| (output_cfa_loc): New function to generate a CFI record for |
| DW_CFA_def_cfa_expression. |
| (get_cfa_from_loc_descr): New function to get a cfa_loc record from |
| a dw_loc_descr sequeunce. |
| (build_loc_descr): Build a dw_loc_descr from a cfa_loc record. |
| (dwarf_stack_op_name, new_loc_descr, add_loc_descr, size_of_loc_descr, |
| size_of_locs, output_loc_operands, output_loc_sequence): Move into |
| unwind info section. |
| * frame.h (frame_state): Add base_offset and indirect fields. |
| * frame-dwarf2.c (decode_stack_op): New function to interpret a |
| dw_loc_descr operation. |
| (execute_cfa_insn): Add support for DW_CFA_def_cfa_expression. |
| (struct frame_state): Add base offset and indirect fields. |
| * libgcc2.c (next_stack_level): Support indirect loading for CFA. |
| |
| 2000-06-26 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * c-decl.c (grokdeclarator): Don't warn about `long long' in C99. |
| Make warnings about implicit int be pedwarns in C99. Don't warn |
| about duplicate type qualifiers in C99. |
| (start_function): Make warning about implict int return type be a |
| pedwarn in C99. |
| * c-lex.c (yylex): Don't warn about `long long' in C99. |
| * c-typeck.c (c_expand_return): In C99, always pedwarn about |
| `return' with no value in function returning non-void. |
| |
| 2000-06-26 Richard Henderson <rth@cygnus.com> |
| |
| * c-typeck.c (pedwarn_c99): New. |
| * diagnostic.c (verror, vwarning, vpedwarn): Export. |
| * toplev.h: Prototype them. |
| |
| 2000-06-26 J. David Anglin <dave@hiauly1.hia.nrc.ca> |
| |
| * c-typeck.c (digest_init): Return error_mark_node node when |
| TREE_TYPE (init) == error_mark_node. |
| |
| 2000-06-26 Philipp Thomas <pthomas@suse.de> |
| |
| * aclocal.m4 (AM_WITH_NLS): Don't set MSGFMT or GMSGFMT to no, |
| test for msgfmt without path instead. |
| * configure: Rebuilt. |
| |
| 2000-06-25 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr> |
| |
| * gengenrtl.c (special_rtx): Fix typo in comment. |
| |
| 2000-06-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz> |
| |
| * mklibgcc.in (LIB2FUNCS): Add missing space. |
| |
| 2000-06-24 Bernd Schmidt <bernds@cygnus.co.uk> |
| |
| * tree.h (enum tree_index): Add vector type nodes. |
| Add accessor macros for them. |
| (TYPE_REPRESENATION_TYPE): New macro. |
| * tree.c (build_common_tree_nodes_2): Build these nodes. |
| (finish_vector_type): New function. |
| * c-common.c (type_for_mode): Handle vector modes. |
| * tm.texi (VECTOR_MODE_SUPPORTED_P): Document. |
| |
| * dbxout.c (dbxout_type): Handle VECTOR_TYPEs. |
| * dwarf.h (enum dwarf_fundamental_type): Add 128 bit integers. |
| * dwarf2out.c (lookup_type_die): Handle VECTOR_TYPEs. |
| (gen_type_die): Likewise. |
| * dwarfout.c (dwarf_fund_type_name): Handle 128 bit integers. |
| (fundamental_type_code): Likewise. |
| (type_is_fundamental): VECTOR_TYPEs aren't. |
| (output_type): Handle VECTOR_TYPEs. |
| |
| 2000-06-25 Kazu Hirata <kazu@hxi.com> |
| |
| * config/arm.c: Fix a comment typo. |
| * config/arm.h: Likewise. |
| |
| 2000-06-25 Philipp Thomas <pthomas@suse.de> |
| |
| * aclocal.m4 (AM_WITH_NLS): Set create_catalogs=no if no catalog |
| compiler found. |
| AM_GNU_GETTEXT: Don't set CATALOGS if create_catalogs=no. |
| * configure: Rebuilt. |
| |
| 2000-06-25 John David Anglin <dave.anglin@nrc.ca> |
| |
| * config/vax/vax.h (TARGET_SWITCHES): Provide descriptions. |
| |
| 2000-06-25 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl> |
| |
| * mklibgcc.in: Prefer LIB1ASMFUNCS over LIB2FUNCS when generating |
| libgcc.a. |
| |
| 2000-06-24 Marc Espie <espie@cvs.openbsd.org> |
| |
| * collect2.c (resolve_lib_name): Move '/' check out of loop. |
| |
| 2000-06-24 Dirk Duellmann <Dirk.Duellmann@cern.ch> |
| |
| * ginclude/stddef.h (NULL): define for non-gnu C++ parsers as 0. |
| |
| 2000-06-24 Jakub Jelinek <jakub@redhat.com> |
| |
| * stmt.c (expand_decl_cleanup): Emit a dummy insn after |
| last_unconditional_cleanup. |
| |
| 2000-06-24 Bernd Schmidt <bernds@cygnus.co.uk> |
| |
| * tree.def (VECTOR_TYPE): New node type. |
| * tree.h: Adjust some comments to reflect addition of vector types. |
| (TYPE_VECTOR_SUBPARTS): New macro. |
| * stor-layout.c (layout_type): Handle VECTOR_TYPE. |
| * c-convert.c (convert): Likewise. |
| * convert.c (convert_to_integer): Handle vector modes. |
| (convert_to_vector): New function. |
| * convert.h (convert_to_vector): Declare. |
| * expr.c (convert_move): Handle vector modes. |
| * expmed.c (extract_bit_field): Don't abort for vector modes. |
| |
| 2000-06-24 Marek Michalkiewicz <marekm@linux.org.pl> |
| |
| * config/avr/avr-protos.h (avr_hard_regno_mode_ok): New prototype. |
| * config/avr/avr.c (out_adj_frame_ptr, out_set_stack_ptr): |
| New functions, common code moved from function_{prologue,epilogue} |
| and extended to support the -mtiny-stack option. |
| (function_prologue, function_epilogue): Use them. |
| Use lo8/hi8 consistently for asm output readability. |
| (avr_hard_regno_mode_ok): New function. |
| * config/avr/avr.h (TARGET_SWITCHES): Fix typo. Add -mtiny-stack. |
| (UNITS_PER_WORD): Define as 4 (not 1) when compiling libgcc2.c. |
| (HARD_REGNO_MODE_OK): Call the avr_hard_regno_mode_ok function. |
| * config/avr/avr.md (*mov_sp_r): Add support for -mtiny-stack. |
| Write SPH before SPL. |
| (*movqi): No need to disable interrupts for just one "out" |
| in alternative 5. Change length attribute from 4 to 1. |
| * config/avr/libgcc.S (__prologue_saves__, __epilogue_restores__): |
| Write SPH before SPL. |
| |
| 2000-06-24 Bernd Schmidt <bernds@cygnus.co.uk> |
| |
| * rtl.texi (Vector Operations): New node. |
| (Arithmetic): Add ss_plus, us_plus, ss_minus, us_minus. |
| (Conversions): Add ss_truncate, us_truncate. |
| * rtl.def (VEC_MERGE, VEC_SELECT, VEC_CONCAT, VEC_REORDER, |
| VEC_CONST, VEC_DUPLICATE, SS_PLUS, SS_MINUS, SS_TRUNCATE, |
| US_TRUNCATE): New rtx codes. |
| * machmode.def: Add vector modes. |
| * machmode.h (enum mode_class): Add MODE_VECTOR_INT and |
| MODE_VECTOR_FLOAT. |
| (INTEGER_MODE_P): Check for MODE_VECTOR_INT. |
| (FLOAT_MODE_P): Check for MODE_VECTOR_FLOAT. |
| (VECTOR_MODE_P): New. |
| |
| 2000-06-24 Nathan Sidwell <nathan@codesourcery.com> |
| |
| * cpp.texi: Clarify #pragma GCC namespace. |
| |
| 2000-06-24 Philipp Thomas <pthomas@suse.de> |
| |
| * aclocal.m4(AM_GNU_GETTEXT): If LINGUAS isn't set, build |
| all catalogs specified in ALL_LINGUAS. |
| * configure: Rebuilt. |
| |
| 2000-06-23 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/sparc/sparc.md (reload_outdi+1): Handle |
| HOST_BITS_PER_WIDE_INT == 64 case correctly. |
| (adddi3_insn_sp32+1, adddi3_insn_sp32+2, andsi3+2): Likewise. |
| |
| 2000-06-23 Geoffrey Keating <geoffk@cygnus.com> |
| |
| * alias.c (fixed_scalar_and_varying_struct_p): Don't examine |
| struct vs. scalar-ness when -fno-strict-aliasing. |
| |
| 2000-06-23 Nathan Sidwell <nathan@codesourcery.com> |
| |
| * cpplib.c (struct pragma_entry): New structure. |
| (pragma_dispatch): Pragma dispatcher. |
| (top_pragmas, gcc_pragmas): New static variables. |
| (do_pragma): Use pragma_dispatch. |
| (do_pragma_gcc): New pragma handler. |
| * cpp.texi: Update. |
| |
| 2000-06-23 Jakub Jelinek <jakub@redhat.com> |
| |
| * calls.c (compute_argument_addresses): Force stack slots into |
| alias set 0. |
| * expr.c (emit_push_insn): Force pushes into alias set 0. |
| |
| 2000-06-23 Richard Henderson <rth@cygnus.com> |
| |
| * config/ia64/ia64.md (pred_rel_mutex): Only take one register. |
| * config/ia64/ia64.c (emit_predicate_relation_info): Adjust to match. |
| |
| 2000-06-22 Jason Merrill <jason@redhat.com> |
| |
| * toplev.c (compile_file): Always call timevar_print. |
| * Makefile.in (calls.o): Depend on TIMEVAR_H. |
| |
| 2000-06-22 Nathan Sidwell <nathan@codesourcery.com> |
| |
| * varasm.c (constant_descriptor): Make contents unsigned char. |
| (mark_const_hash_entry): Adjust. |
| (const_hash): Just hash the code of unknown nodes. |
| (compare_constant_1): Adjust for unsigned char. |
| Use language specific expander on unknown nodes. |
| (record_constant_1): Likewise. |
| |
| 2000-06-21 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cppfiles.c (cpp_make_system_header): New function. |
| * cpplib.h: Prototype it. |
| * cpplib.c (do_line, do_pragma_system_header): Use it. |
| * fix-header.c (read_scan_file): Use it. |
| |
| * fix-header.c (check_macro_names): Cast second arg of |
| cpp_defined to const unsigned char *. |
| (read_scan_file): Make getchar_call const unsigned char. |
| |
| 2000-06-21 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cppfiles.c: Include splay-tree.h, not hashtab.h. |
| (redundant_include_p, make_IHASH, hash_IHASH, eq_IHASH): Delete. |
| (destroy_include_file_node): New. |
| (_cpp_init_include_hash): Rename _cpp_init_include_table. |
| Create a splay tree, not a hash table. |
| (open_include_file): Look up the path in the include table, |
| do the multiple include optimization here, etc. |
| (cpp_included): Walk the path. |
| (find_include_file): Just walk the path calling |
| open_include_file, or call it directly for an absolute path. |
| (_cpp_fake_ihash): Rename _cpp_fake_include and update for new |
| scheme. |
| (read_include_file): Update for new scheme. Don't close the |
| file unless reading fails. |
| (_cpp_execute_include, cpp_read_file): Tweak for new scheme. |
| |
| * cpphash.h (struct ihash, NEVER_REINCLUDE): Delete. |
| (struct include_file): New. |
| (NEVER_REREAD, DO_NOT_REREAD, CPP_IN_SYSTEM_HEADER): New |
| macros. |
| (CPP_PEDANTIC, CPP_WTRADITIONAL): Update. |
| Update prototypes. |
| |
| * cppinit.c: Include splay-tree.h. |
| (cpp_reader_init, cpp_cleanup): Update. |
| |
| * cpplib.h (struct cpp_buffer): Change ihash field to |
| 'struct include_file *inc'. Remove system_header_p. |
| (struct cpp_reader): Change all_include_files to a |
| struct splay_tree_s *. |
| |
| * cpplex.c: Update all references to cpp_buffer->ihash and/or |
| cpp_buffer->system_header_p. |
| (cpp_pop_buffer): Close file here, only if DO_NOT_REREAD. |
| |
| * Makefile.in (SPLAY_TREE_H): New macro. |
| (cppfiles.o, cppinit.o): Update dependencies. |
| |
| Wed Jun 21 11:05:48 2000 Martin Buchholz <martin@xemacs.org> |
| |
| * invoke.texi (g++): "g++" is not a script anymore. |
| |
| 2000-06-20 J. David Anglin <dave@hiauly1.hia.nrc.ca> |
| |
| * function.c (round_down): Delete obsolete prototype. |
| |
| * pa.h (CPP_SPEC): Add whitespace after -D__STDC_EXT__. |
| |
| 2000-06-20 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * configure.in: Use 'test a = b' not 'test a == b'. |
| * configure: Regen. |
| |
| * Makefile.in (fix-header): Link with $(LIBS) not $(HOST_LIBS). |
| |
| * Makefile.in: Remove all references to HOST_INTLLIBS. |
| |
| * cpplex.c (parse_name): Don't warn about $ in identifiers if |
| skipping. |
| |
| 2000-06-20 Philipp Thomas <pthomas@suse.de> |
| |
| * config/pa/pa.h(TARGET_SWITCHES): Require binutils 2.10 or later |
| for PA 2.0. |
| |
| Mon Jun 19 23:26:40 2000 J"orn Rennecke <amylaar@cygnus.co.uk> |
| |
| * Take REG_INC notes into account. |
| |
| 2000-06-19 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * c-parse.in (undeclared_variable_notice): Moved to c-typeck.c. |
| (primary: IDENTIFIER): Just call build_external_ref. |
| * c-parse.y, c-parse.c, objc/objc-parse.y, objc/objc-parse.c: |
| Regenerate. |
| * c-lex.c (lastiddecl): Remove. |
| (yylex): Replace all instances of lastiddecl with local |
| variables. |
| |
| * c-typeck.c (build_external_ref): New function. Treat decls |
| with C_DECL_ANTICIPATED mostly the same as nonexistent decls. |
| Look up the decl from the id here. Call lookup_objc_ivar. |
| * c-lang.c (lookup_objc_ivar): Stub. |
| * objc/objc-act.c (lookup_objc_ivar): New function. |
| |
| * c-tree.h: Prototype lookup_objc_ivar and build_external_ref. |
| * c-lex.h: Don't declare lastiddecl. |
| |
| 2000-06-19 Benjamin Chelf <chelf@codesourcery.com> |
| |
| * c-common.h (IF_COND): Added documentation. |
| (THEN_CLAUSE): Likewise. |
| (ELSE_CLAUSE): Likewise. |
| (WHILE_COND): Likewise. |
| (WHILE_BODY): Likewise. |
| (DO_COND): Likewise. |
| (DO_BODY): Likewise. |
| (RETURN_EXPR): Likewise. |
| (EXPR_STMT_EXPR): Likewise. |
| (FOR_INIT_STMT): Likewise. |
| (FOR_COND): Likewise. |
| (FOR_EXPR): Likewise. |
| (FOR_BODY): Likewise. |
| (SWITCH_COND): Likewise. |
| (SWITCH_BODY): Likewise. |
| (CASE_LOW): Likewise. |
| (CASE_HIGH): Likewise. |
| (GOTO_DESTINATION): Likewise. |
| (COMPOUND_BODY): Likewise. |
| (ASM_CV_QUAL): Likewise. |
| (ASM_STRING): Likewise. |
| (ASM_OUTPUTS): Likewise. |
| (ASM_INPUTS): Likewise. |
| (ASM_CLOBBERS): Likewise. |
| (DECL_STMT_DECL): Likewise. |
| (STMT_EXPR_STMT): Likewise. |
| (LABEL_STMT_LABEL): Likewise. |
| |
| * c-common.def: Added documenetion for SRCLOC, EXPR_STMT, |
| COMPOUND_STMT, DECL_STMT, IF_STMT, FOR_STMT, WHILE_STMT, DO_STMT, |
| RETURN_STMT, BREAK_STMT, CONTINUE_STMT, SWITCH_STMT, GOTO_STMT, |
| LABEL_STMT, ASM_STMT, SCOPE_STMT, CASE_LABEL, STMT_EXPR. |
| |
| 2000-06-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * configure.in (--enable-checking): Update --help doc to reflect |
| new defaults. Ensure $ac_save_IFS is set before $IFS is changed. |
| |
| Sun Jun 18 21:42:15 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * gcse.c (insert_insn_end_bb): Always put after NOTE_INSN_BASIC_BLOCK. |
| |
| * function.c (put_var_into_stack): Don't reference DECL_ fields |
| if input is a SAVE_EXPR. |
| Use set_mem_attributes in COMPLEX case. |
| |
| 2000-06-18 Richard Henderson <rth@cygnus.com> |
| |
| * config/ia64/ia64-protos.h (process_for_unwind_directive): Declare. |
| (ia64_file_start): Declare. |
| * config/ia64/ia64.h (ADDL_REGNO_P): Don't compare unsigned against 0. |
| (GR_REGNO_P): Likewise. |
| * config/ia64/ia64.c: Many prototypes. |
| (ia64_reg_numbers): Constify. |
| (ia64_input_reg_names, ia64_local_reg_names): Likewise. |
| (ia64_section_threshold): Make unsigned. |
| (ia64_print_operand): Constify. |
| (fix_range): Constify. |
| (ia64_init_builtins): Don't compare signed vs unsigned. |
| (ia64_expand_builtin): Likewise. |
| |
| * config/ia64/ia64.h (EXTRA_CONSTRAINT): New. |
| (CONSTRAINT_OK_FOR_Q): New. |
| * config/ia64/ia64.md (movdi_internal): Use Q for fp<->mem. |
| (movsf_internal, movdf_internal): Likewise. |
| (cmovdi_internal): Rewrite so that constraints and predicates match; |
| simplify splitters. |
| (cmovsi_internal): Likewise. |
| |
| * config/ia64/ia64.h (ASM_SPEC): Add -x for gas. |
| (ASM_FILE_START): New. |
| * config/ia64/ia64.c (ia64_file_start): New. |
| (rtx_needs_barrier): Handle pred.rel.mutex. |
| (emit_predicate_relation_info): New. |
| * config/ia64/ia64.md (pred_rel_mutex): New. |
| * config/ia64/linux.h (ASM_SPEC): Define. |
| * config/ia64/sysv4.h (ASM_FILE_START): Define. |
| |
| * config/ia64/ia64.c (ia64_encode_section_info): Fix thinko |
| filtering global register variables. |
| |
| 2000-06-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * c-common.c (add_c_tree_codes): Fix definition for traditional C. |
| |
| 2000-06-17 Michael Meissner <meissner@redhat.com> |
| |
| * gcc.c (do_spec_1, '%v3' case): Do not abort if patch level is |
| not present and there is a field after a '-'. |
| |
| 2000-06-17 Bruce Korb <bkorb@gnu.org> |
| |
| * fixinc/check.tpl: finish the implementation of multiple tests |
| for a single fix |
| * fixinc/inclhack.def(ctrl_quotes_def): add a second test |
| (io_quotes_def): add a second test |
| (various): reorder `files' so that "limits.h" is never first |
| * fixinc/tests/base/*: update the testing output |
| |
| Sat Jun 17 10:33:59 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * gcc.texi: Remove reference to stupid.c. |
| |
| 2000-06-16 Benjamin Chelf <chelf@codesourcery.com> |
| |
| * c-common.c (c_tree_code_type): New array. |
| (c_tree_code_length): Likewise. |
| (c_tree_code_name): Likewise. |
| (add_c_tree_codes): New function. |
| |
| * c-common.h (add_c_tree_codes): Declare. |
| (enum c_tree_code): New enum. |
| |
| * c-lex.c (init_parse): Added call to add_c_tree_codes. |
| |
| 2000-06-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * fixinc/inclhack.def (ctrl_quotes_def, io_quotes_def): Modify |
| select pattern to also match macro defs with only one argument. |
| |
| Thu Jun 15 18:56:12 2000 Jeffrey A Law (law@cygnus.com) |
| |
| * i386.md: Create new [right,left] rotate and right shift |
| patterns to optimize shift by 1 bit for certain ia32 processors. |
| Update patterns which perform left shifts to optimize shift by |
| 1 bit for certain ia32 processors. |
| * i386.c (const_int_1_operand): New predicate. |
| * i386.h (PREDICATE_CODES): Handle const_int_1_operand. |
| * i386-protos.h (const_int_1_operand): Prototype. |
| |
| Wed Jun 14 23:46:26 2000 J"orn Rennecke <amylaar@cygnus.co.uk> |
| |
| * mips.c (machine_dependent_reorg): Fix braces for nested if. |
| |
| 2000-06-14 Geoff Keating <geoffk@cygnus.com> |
| |
| * rs6000.c (toc_hash_eq): Use CODE_LABEL_NUMBER to compare |
| LABEL_REFs. |
| |
| 2000-06-14 Richard Henderson <rth@cygnus.com> |
| |
| * conflict.c (conflict_graph_compute): Don't look for REG_INC. |
| |
| * config/ia64/ia64.c (ia64_setup_incoming_varargs): Don't emit |
| auto-inc code. |
| |
| * print-rtl.c (print_rtx): Emit space before mem alias set. |
| |
| 2000-06-14 David Edelsohn <edelsohn@gnu.org> |
| |
| * rs6000.c (expand_block_move): Fix typo in earlier change. |
| (print_operand): Remove unused variables neg and op. |
| (toc_hash_mark_entry): Fix prototype. |
| |
| 2000-06-14 Benjamin Chelf <chelf@codesourcery.com> |
| |
| * c-common.h (IF_COND): Moved here from cp/cp-tree.h. |
| (THEN_CLAUSE): Likewise. |
| (ELSE_CLAUSE): Likewise. |
| (WHILE_COND): Likewise. |
| (WHILE_BODY): Likewise. |
| (DO_COND): Likewise. |
| (DO_BODY): Likewise. |
| (RETURN_EXPR): Likewise. |
| (EXPR_STMT_EXPR): Likewise. |
| (FOR_INIT_STMT): Likewise. |
| (FOR_COND): Likewise. |
| (FOR_EXPR): Likewise. |
| (FOR_BODY): Likewise. |
| (SWITCH_COND): Likewise. |
| (SWITCH_BODY): Likewise. |
| (CASE_LOW): Likewise. |
| (CASE_HIGH): Likewise. |
| (GOTO_DESTINATION): Likewise. |
| (COMPOUND_BODY): Likewise. |
| (ASM_CV_QUAL): Likewise. |
| (ASM_STRING): Likewise. |
| (ASM_OUTPUTS): Likewise. |
| (ASM_INPUTS): Likewise. |
| (ASM_CLOBBERS): Likewise. |
| (DECL_STMT_DECL): Likewise. |
| (STMT_EXPR_STMT): Likewise. |
| (LABEL_STMT_LABEL): Likewise. |
| (SCOPE_BEGIN_P): Likewise. |
| (SCOPE_END_P): Likewise. |
| (SCOPE_STMT_BLOCK): Likewise. |
| (SCOPE_NULLIFIED_P): Likewise. |
| (SCOPE_NO_CLEANUPS_P): Likewise. |
| (SCOPE_PARTIAL_P): Likewise. |
| (ASM_VOLATILE_P): Likewise. |
| (STMT_LINENO): Likewise. |
| (STMT_LINENO_FOR_FN_P): Likewise. |
| |
| * c-common.def: New file. Added SRCLOC, SIZEOF_EXPR, ARROW_EXPR, |
| ALIGNOF_EXPR, EXPR_STMT, COMPOUND_STMT, DECL_STMT, IF_STMT, |
| FOR_STMT, WHILE_STMT, DO_STMT, RETURN_STMT, BREAK_STMT, |
| CONTINUE_STMT, SWITCH_STMT, GOTO_STMT, LABEL_STMT, ASM_STMT, |
| SCOPE_STMT, CASE_LABEL, STMT_EXPR. |
| |
| * gencheck.c (tree_codes[]): Added '#include "c-common.def"'. |
| |
| 2000-06-14 David O'Brien <obrien@FreeBSD.org> |
| |
| * gcc.c (main): Quiet compiler warnings. argv is assumed to be |
| writable in parts of the GCC code. |
| |
| * config/elfos.h (ASM_GENERATE_INTERNAL_LABEL): Make printf |
| specification match cast. |
| |
| Wed Jun 14 09:25:57 2000 Jeffrey A Law (law@cygnus.com) |
| |
| * configure.in: Revert AC_TYPE_GETGROUPS patch from June 13. |
| * configure, config.in: Rebuilt. |
| * sys-protos.h: Similarly. |
| |
| Wed Jun 14 03:39:58 EDT 2000 John Wehle (john@feith.com) |
| |
| * ifcvt.c (EDGE_COMPLEX): Move definition ... |
| * basic-block.h (EDGE_COMPLEX): ... here. |
| |
| * loop.c (check_dbra_loop): Specify the register when |
| generating REG_NONNEG notes and don't generate duplicates. |
| |
| 2000-06-13 Jakub Jelinek <jakub@redhat.com> |
| |
| * tree.h (TYPE_USER_ALIGN, DECL_USER_ALIGN): Define. |
| (struct tree_type, struct tree_decl): Add user_align member. |
| * stor-layout.c (layout_decl): Set DECL_USER_ALIGN. |
| (place_union_field): If BIGGEST_FIELD_ALIGNMENT is defined |
| and DECL_USER_ALIGN 0, cap alignment to this value. |
| (place_field): Likewise. |
| (finalize_type_size): Set TYPE_USER_ALIGN. |
| (layout_type): Likewise. |
| (initialize_sizetypes): Likewise. |
| * c-common.c (decl_attributes): Set TYPE_USER_ALIGN resp. |
| DECL_USER_ALIGN to 1. |
| * c-decl.c (duplicate_decls): Set DECL_USER_ALIGN. |
| (xfer_tag): Set TYPE_USER_ALIGN. |
| (finish_struct): Set DECL_USER_ALIGN resp. TYPE_USER_ALIGN. |
| (finish_enum): Likewise. |
| * stmt.c (expand_decl): Set DECL_USER_ALIGN. |
| (expand_anon_union_decl): Likewise. |
| * tree.c (make_node): Set DECL_USER_ALIGN resp. TYPE_USER_ALIGN. |
| (build_index_type): Set TYPE_USER_ALIGN. |
| (build_range_type): Likewise. |
| (build_common_tree_nodes_2): Likewise. |
| * tm.texi (BIGGEST_FIELD_ALIGNMENT): Document the changed meaning. |
| |
| 2000-06-13 Andreas Jaeger <aj@suse.de> |
| |
| * configure.in: Use --enable-checking=misc,tree,gc by default if |
| no --enable-checking option is given and for |
| --enable-checking=yes. |
| * configure: Rebuilt. |
| |
| 2000-06-13 Richard Henderson <rth@cygnus.com> |
| |
| * libgcc2.c (ia64_throw_helper): Use __builtin_return_address. |
| (__throw): Don't pass the address of a label. |
| |
| * config/ia64/ia64.c (ia64_compute_frame_size): Use |
| current_function_is_leaf. |
| (ia64_expand_prologue): Likewise. Modify return_address_pointer_rtx |
| instead of reg_names[RETURN_ADDRESS_REGNUM]. |
| (ia64_init_machine_status): Reset return_address_pointer_rtx. |
| * config/ia64/ia64.h (RETURN_ADDRESS_POINTER_REGNUM): Rename |
| from RETURN_ADDRESS_REGNUM. Update all uses. |
| (RETURN_ADDR_RTX): Use return_address_pointer_rtx; return |
| zero instead of null on failure. |
| (ELIMINABLE_REGS): Add ra->b0 elimination. |
| (CAN_ELIMINATE): Update accordingly. |
| (INITIAL_ELIMINATION_OFFSET): Likewise. |
| (REGISTER_NAMES): Use an illegal assembler name for |
| RETURN_ADDRESS_POINTER_REGNUM. |
| |
| 2000-06-13 Richard Henderson <rth@cygnus.com> |
| |
| * config/ia64/ia64.h (enum reg_class): Remove FR_INT_REGS, FR_FP_REGS, |
| GR_AND_FR_INT_REGS, GR_AND_FR_FP_REGS. |
| (REG_CLASS_NAMES): Likewise. |
| (REG_CLASS_CONTENTS): Likewise. |
| (FR_FP_REGNO_P, FR_INT_REGNO_P): Remove. |
| (HARD_REGNO_MODE_OK): Remove references to them. |
| (REGNO_REG_CLASS): Likewise. |
| (REG_CLASS_FROM_LETTER): Likewise. |
| (CLASS_MAX_NREGS): Likewise. |
| (REGISTER_MOVE_COST): Likewise. |
| * config/ia64/ia64.c (ia64_secondary_reload_class): Likewise. |
| * config/ia64/ia64.md (*): Replace "e" constraints with "f". |
| (movqi_internal): Special case moves from zero. |
| (movhi_internal, movsi_internal): Likewise. |
| (movdi_internal): Likewise. Fill out "f" constraints. |
| (movsf_internal): Fill out "r" constraints. |
| (movdf_internal): Likewise. |
| |
| 2000-06-13 Richard Henderson <rth@cygnus.com> |
| |
| * flow.c (insn_dead_p): Keep sets to PIC_OFFSET_TABLE_REGNUM |
| alive before reload. |
| |
| * haifa-sched.c (struct deps): Add in_post_call_group_p. |
| (add_dependence): Handle notes between SCHED_GROUP_P insns. |
| (remove_dependence): Always define. |
| (set_sched_group_p): New. |
| (sched_analyze_2): Use it. |
| (sched_analyze_insn): Don't special-case naked uses. Look for |
| and extend in_post_call_group_p. |
| (sched_analyze): Clear stale SCHED_GROUP_P. Set in_post_call_group_p. |
| (init_deps): Clear in_post_call_group_p. |
| |
| 2000-06-13 Richard Henderson <rth@cygnus.com> |
| |
| * combine.c (subst): Use CLASS_CANNOT_CHANGE_MODE and |
| CLASS_CANNOT_CHANGE_MODE_P instead of CLASS_CANNOT_CHANGE_SIZE |
| and hard-coded tests. |
| (simplify_set): Likewise. |
| (gen_lowpart_for_combine): Likewise. |
| * emit-rtl.c (gen_lowpart_common): Likewise. |
| * global.c (find_reg): Likewise. |
| * local-alloc.c (find_free_reg): Likewise. |
| * recog.c (register_operand): Likewise. |
| * regclass.c (init_reg_sets_1): Likewise. |
| (record_operand_costs, regclass): Likewise. |
| * reload.c (push_reload): Likewise. |
| * reload1.c (choose_reload_regs): Likewise. |
| * flow.c (mark_used_regs): Conditionally set REG_CHANGES_MODE. |
| * local-alloc.c (struct qty): Rename changes_size to changes_mode. |
| Update all references. |
| * regs.h (struct reg_info_def): Likewise. |
| (REG_CHANGES_MODE): Rename from REG_CHANGES_SIZE. |
| * tm.texi (CLASS_CANNOT_CHANGE_MODE): Document. |
| (CLASS_CANNOT_CHANGE_MODE_P): Likewise. |
| |
| * config/alpha/alpha.h (CLASS_CANNOT_CHANGE_MODE): Rename. |
| (CLASS_CANNOT_CHANGE_MODE_P): New. |
| * config/mips/mips.h: Likewise. |
| * config/pa/pa32-regs.h: Likewise. |
| * config/pa/pa64-regs.h: Likewise. |
| * config/rs6000/rs6000.h: Likewise. |
| * config/sh/sh.h: Likewise. |
| * config/ia64/ia64.h (CLASS_CANNOT_CHANGE_MODE): New. |
| (CLASS_CANNOT_CHANGE_MODE_P): New. |
| * config/avr/avr.h (CLASS_CANNOT_CHANGE_SIZE): Remove dead code. |
| * config/d30v/d30v.h: Likewise. |
| |
| 2000-06-13 J. David Anglin <dave@hiauly1.hia.nrc.ca> |
| |
| * configure.in: Add AC_TYPE_GETGROUPS test. |
| * sys-protos.h: Use GETGROUPS_T * for second arg of getgroups. |
| * configure: Rebuilt. |
| * config.in: Rebuilt. |
| |
| 2000-06-13 Richard Henderson <rth@cygnus.com> |
| |
| * explow.c (set_mem_attributes): Do nothing for NULL type. |
| |
| Tue Jun 13 14:45:10 2000 Jeffrey A Law (law@cygnus.com) |
| |
| * config/m68k/openbsd.h (ASM_SPEC): pass down options to assembler |
| correctly. |
| |
| 2000-06-13 James E. Wilson <wilson@cygnus.com> |
| |
| * config/ia64/ia64.md (movxf_internal): Add missing "e" to ldf/stf. |
| |
| Tue Jun 13 14:05:35 2000 Jeffrey A Law (law@cygnus.com) |
| |
| * Makefile.in (gensupport.o): Remove bogus $(HOST_PREFIX) reference. |
| |
| 2000-06-13 Philipp Thomas <pthomas@suse.de> |
| |
| * configure.in(ALL_LINGUAS): Changed en_UK to en_GB. |
| * configure: Rebuilt. |
| |
| 2000-06-07 David O'Brien <obrien@FreeBSD.org> |
| |
| * configure.in: Adjust FreeBSD bits to match changes to config.guess. |
| We now default to ELF for the i386, and a.out is the special case. |
| * configure: Rebuilt. |
| |
| Tue Jun 13 10:05:30 2000 Hans-Peter Nilsson <hp@axis.com> |
| |
| * final.c (final_scan_insn): Delete notes between cc0 setter and |
| user when restarting from setter. |
| |
| 2000-06-13 J. David Anglin <dave@hiauly1.hia.nrc.ca> |
| |
| * vax.h (INDEX_TERM_P): Define evaluation order of &&'s in || and |
| cast to squelch signed/unsigned warnings. |
| |
| 2000-06-13 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cpplib.c (handle_directive): Print non-NUL-terminated string |
| with %.*s. |
| |
| 2000-06-12 Michael Meissner <meissner@redhat.com> |
| |
| * ifcvt.c (dead_or_predicable): Don't do conditional execution |
| path if the machine needs extra support to do conditional |
| execution. |
| |
| Mon Jun 12 17:04:17 2000 Jeffrey A Law (law@cygnus.com) |
| |
| * print-rtl.c (print_rtx, case MEM): Use HOST_WIDE_INT_PRINT_DEC |
| to print the alias set. |
| * print-tree.c (print_node, DECL_* nodes and case 't'): Similarly. |
| |
| 2000-06-12 J. David Anglin <dave@hiauly1.hia.nrc.ca> |
| |
| * config/float-vax.h: Add GFLOAT defines. |
| |
| Mon Jun 12 9:44:00 2000 Mark Klein <mklein@dis.com> |
| |
| * configure.in: Update tm dependencies for MPE. |
| * configure: Rebuilt. |
| |
| 2000-06-12 H.J. Lu <hjl@gnu.org> |
| |
| * gengenrtl.c (obstack_alloc_rtx): Correct the allocated size. |
| |
| 2000-06-12 David Edelsohn <edelsohn@gnu.org> |
| |
| * aix41.h (SUBTARGET_SWITCHES): Delete threads. |
| (CPP_SPEC): Change mthreads to pthread. |
| (LIB_SPEC): Likewise. |
| (STARTFILE_SPEC): Likewise. |
| * aix43.h (SUBTARGET_SWITCHES): Delete threads. |
| (CPP_SPEC): Change mthreads to pthread. |
| (LIB_SPEC): Likewise. |
| (STARTFILE_SPEC): Likewise. |
| * rs6000-protos.h (reg_or_arith_cint_operand): New. |
| * rs6000.c (reg_or_arith_cint_operand): New. |
| (num_insns_constant_wide): Decorate unsigned constant. |
| * rs6000.h (PREDICATE_CODES): Add reg_or_arith_cint_operand. |
| * rs6000.md (addsi3): Use new predicate. |
| (subsi3, adddi3, subdi3): Likewise. |
| |
| 2000-06-12 Mark Mitchell <mark@codesourcery.com> |
| |
| * c-common.c (lang_get_alias_set): Fix typo. |
| |
| 2000-06-12 Richard Earnshaw <rearnsha@arm.com> |
| |
| * flow.c (mark_used_regs): Revert last change. |
| (life_analysis): Remove PROP_AUTOINC if running after reload. |
| (propagate_one_insn): PROP_AUTOINC is always off after reload. |
| |
| 2000-06-11 Richard Earnshaw <rearnsha@arm.com> |
| |
| * flow.c (mark_used_regs): Don't call find_auto_inc after reload |
| has run. |
| |
| 2000-06-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * bb-reorder.c (build_scope_forest): Initialize variable |
| `curr_scope'. |
| |
| * calls.c (expand_call): Likewise for variables |
| `save_pending_stack_adjust' and `save_stack_pointer_delta'. |
| |
| * i386.c (function_arg_advance, function_arg): Cast to avoid |
| signed/unsigned warnings. |
| |
| * i386.h (MEMORY_MOVE_COST): Likewise. |
| |
| * ifcvt.c (cond_exec_process_if_block): Initialize variables |
| `else_start' and `else_end'. |
| |
| * libgcc2.h (__eh_alloc, __eh_free): Prototype. |
| |
| * regrename.c (rr_replace_reg): Initialize variable `dest_subregno'. |
| |
| 2000-06-10 Mark Mitchell <mark@codesourcery.com> |
| |
| * Makefile.in (libintl.a): Depend on intl.all. |
| |
| 2000-06-09 H.J. Lu (hjl@gnu.org) |
| |
| * Makefile.in (c-parse.o): Also depend on output.h. |
| |
| 2000-06-09 Rodney Brown <RodneyBrown@mynd.com> |
| |
| * mcore-protos.h: discards const warning removal. |
| * mcore.c: discards const warning removal. |
| |
| 2000-06-09 Kazu Hirata <kazu@hxi.com> |
| |
| * config/h8300/lib1funcs.asm: Declare the machine architecture at |
| the beginning of the file. |
| |
| 2000-06-09 J. David Anglin <dave@hiauly1.hia.nrc.ca> |
| |
| * real.h: Add prototype for ldexp. |
| |
| 2000-06-09 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * ggc-none.c, ggc-simple.c, ggc-page.c (ggc_alloc_obj): Rename |
| it ggc_alloc, drop second argument, never clear returned memory. |
| * ggc-common.c (ggc_alloc_string): Use ggc_alloc. |
| (ggc_alloc_cleared): New. |
| * ggc.h: Prototype ggc_alloc and ggc_alloc_cleared, not |
| ggc_alloc_obj. Remove ggc_alloc macro. |
| (ggc_alloc_rtx, ggc_alloc_rtvec, ggc_alloc_tree): Use ggc_alloc. |
| |
| * rtl.c (rtvec_alloc): Clear the vector always. |
| (rtx_alloc): Clear the first word always. Remove dirty |
| obstack tricks (this routine is no longer a bottleneck). |
| * tree.c (make_node): Clear the new node always. |
| (make_tree_vec): Likewise. |
| (tree_cons): Clear the common structure always. |
| (build1): Likewise; also, clear TREE_COMPLEXITY. |
| * gengenrtl.c: Use puts wherever possible. Remove extra |
| newlines. |
| (gendef): Clear the first word of an RTX in the generator |
| function, irrespective of ggc_p. Initialize '0' slots to |
| NULL. |
| (genlegend): Don't generate obstack_alloc_rtx routine, just a |
| thin wrapper macro around obstack_alloc. |
| |
| * stmt.c (expand_fixup): Use ggc_alloc. |
| * c-typeck.c (add_pending_init): Use ggc_alloc. |
| * emit-rtl.c (init_emit_once): Clear CONST_DOUBLE_CHAIN(tem). |
| * varasm.c (immed_double_const): Set CONST_DOUBLE_MEM(r) to |
| const0_rtx when it is created. |
| (immed_real_const_1): Set CONST_DOUBLE_CHAIN(r) to NULL_RTX if |
| we are not in a function. |
| |
| * tree.c (tree_class_check_failed): Make second arg an int. |
| * tree.h: Update prototype. |
| |
| 2000-06-09 Geoff Keating <geoffk@cygnus.com> |
| |
| * tree.h (VOID_TYPE_P): Don't look at the TYPE_MAIN_VARIANT |
| of an error_mark_node. |
| |
| Fri Jun 9 20:35:13 2000 Denis Chertykov <denisc@overta.ru> |
| |
| * config/avr/avr.c (asm_output_section_name): bugfix. |
| |
| 2000-06-09 Jason Merrill <jason@casey.soma.redhat.com> |
| |
| * timevar.def: Add TV_EXPAND. |
| * timevar.c (timevar_print): Update timing information. |
| * calls.c (try_to_integrate): Push to TV_INTEGRATION for inlining. |
| |
| * stmt.c (expand_return): Check for error_mark_node. |
| |
| 2000-06-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * configure.in: Also avoid wrapping auto-build.h with IN_GCC. |
| |
| * scan-types.sh (VALUE) Wrap use with double quotes to protect |
| variable against filename expansion when it contains "char *". |
| |
| * system.h (SSIZE_MAX): Delete backup definition. |
| |
| * cppfiles.c (read_include_file): Use INTTYPE_MAXIMUM(ssize_t) |
| instead of SSIZE_MAX. |
| |
| 2000-06-09 Jakub Jelinek <jakub@redhat.com> |
| |
| * configure.in: Check whether gas supports -relax. |
| * configure, config.in: Rebuilt. |
| * config/sparc/sparc.h (ASM_RELAX_SPEC): Define. |
| (EXTRA_SPECS): Add asm_relax. |
| (ASM_SPEC): Add %(asm_relax). |
| (TARGET_SWITCHES): Add -mrelax and -mno-relax. |
| * config/sparc/linux64.h (LINK_ARCH_SPEC): Rename to LINK_SPEC. |
| (LINK_SPEC): Pass -relax to linker unless -mno-relax or -r. |
| (ASM_SPEC): Add %(asm_relax). |
| * config/sparc/linux.h (LINK_SPEC, ASM_SPEC): Likewise. |
| * config/sparc/sparc.c (output_sibcall): If HAVE_AS_RELAX_OPTION, |
| never use sethi/jmpl for leaf tail calls. Use or with rs2 %g0 |
| instead of mov, so that gas can further optimize it. |
| |
| 2000-06-08 James E. Wilson <wilson@bletchleypark.cygnus.com> |
| |
| * dwarf2out.c (size_of_die, case dw_val_class_const): Use |
| size_of_sleb128. |
| (value_format, case dw_val_class_const): Use sdata format. |
| (output_die): Call output_sleb128. |
| |
| 2000-06-08 James E. Wilson <wilson@cygnus.com> |
| |
| * dwarf2out.c (ASM_OUTPUT_DWARF_DATA8): Add new macro that uses |
| UNALIGNED_DOUBLE_INT_ASM_OP. Rename old macro to |
| ASM_OUTPUT_DWARF_CONST_DOUBLE. |
| (output_die, case dw_val_class_unsigned_const): Correct call to |
| ASM_OUTPUT_DWARF_DATA8. |
| (output_die, case dw_val_class_long_long): Use |
| ASM_OUTPUT_DWARF_CONST_DOUBLE. |
| * tree.c (host_integerp): Accept unsigned HOST_WIDE_INT values when |
| pos is zero. |
| |
| * config/ia64/ia64-protos.h (ia64_output_end_prologue): Add. |
| (output_function_prologue): Fix mispelling. |
| (output_function_prologue, output_function_epilogue): Reorder to |
| match ia64.c definition order. |
| * config/ia64/ia64.c (ia64_expand_prologue): Add comment. |
| (ia64_expand_epilogue): Set RTX_FRAME_RELATED_P on stack restore insns. |
| Use r3 instead of r2 for large stack restores. |
| (ia64_output_end_prologue): New function. |
| (process_set): Emit ".restore sp" for epilogue stack restores. |
| * config/ia64/ia64.h (FUNCTION_END_PROLOGUE): Define. |
| |
| 2000-06-08 Jakub Jelinek <jakub@redhat.com> |
| |
| * dbxout.c (dbxout_type_fields): Don't segfault on fields with |
| incomplete types. |
| |
| 2000-06-08 Nathan Sidwell <nathan@codesourcery.com> |
| |
| * frame.c (end_fde_sort): Remove extraneous erratic array test. |
| |
| 2000-06-08 Denis Perchine <dyp@perchine.com> |
| |
| * frame.c (start_fde_sort): Don't malloc (0). |
| |
| 2000-06-07 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * c-decl.c (pushdecl): Do not call COMPLETE_TYPE_P on |
| error_mark_node. |
| * print-tree.c (print_node): The transparent_union_flag means |
| different things for unions and arrays. Do not inspect it |
| with TYPE_TRANSPARENT_UNION. |
| |
| 2000-06-06 Jakub Jelinek <jakub@redhat.com> |
| |
| * cpplib.c (do_ifdef, do_ifndef): Don't segfault if parse_ifdef |
| returned NULL. |
| |
| Wed Jun 7 20:34:33 2000 Denis Chertykov <denisc@overta.ru> |
| |
| * config/avr/avr.c (asm_output_section_name): output section |
| attributes. |
| * config/avr/libgcc.S (.text.libgcc): declare section attributes. |
| |
| 2000-06-06 James E. Wilson <wilson@cygnus.com> |
| |
| * frame.h (struct unwind_info_ptr): Collapse version, flags, and length |
| fields into header field. |
| (IA64_UNW_HDR_LENGTH, IA64_UNW_HDR_FLAGS, IA64_UNW_HDR_VERSION): New |
| macros to access length, flags, and version info from header field. |
| * config/ia64/crtbegin.asm (__do_frame_setup_aux): Delete here. |
| * config/ia64/crtend.asm (__do_frame_setup_aux): Add here. |
| (__do_global_ctors_aux): Fix caller. |
| * config/ia64/frame-ia64.c (get_unwind_record): Change parameter |
| prologue_flag to header. Pass to read_P_record. |
| (read_P_record): New argument header. Implement P4 format. |
| Multiply P7_T_SIZE by 16. |
| (execute_one_ia64_descriptor): New static local region_header. Pass to |
| get_unwind_record. Copy r to region_header if r is a header record. |
| (print_all_records): Likewise. |
| (__build_ia64_frame_state): Use IA64_UNW_HDR_LENGTH. |
| (__get_personality, __get_except_table): Likewise. |
| * config/ia64/ia64.c (process_set): Do not divide offsets by 4. |
| |
| 2000-06-06 Philipp Thomas <pthomas@suse.de> |
| |
| * configure.in (AC_C_INLINE): Added. |
| * aclocal.m4 (AM_WITH_NLS): Enable --with-included-gettext by default. |
| * configure: Regenerate. |
| |
| 2000-06-06 Mark Mitchell <mark@codesourcery.com> |
| |
| * c-common.h (c_language_kind): New type. |
| (c_language): New variab.e |
| * c-common.c (lang_get_alias_set): Don't put structures in |
| nonzero alias sets in C++. |
| * c-decl.c (c_language): Define it. |
| * c-lex.c (doing_objc_thang): Remove. |
| * c-tree.h (doing_objc_thang): Make it a macro. |
| * objc/objc-act.c (lang_decode_option): Set c_language, not |
| doing_objc_thang. |
| |
| 2000-06-06 Gabriel Dos Reis <gdr@codesourcery.com> |
| |
| * diagnostic.c (output_maximum_width): Remove. |
| (doing_line_wrapping): Tweak. |
| (diagnostic_buffer): New object. |
| (global_output_buffer): New object. |
| (output_destroy_prefix): New function. |
| (default_initialize_buffer): Likewise. |
| (reshape_diagnostic_buffer): Likewise. |
| (initialize_diagnostics): Likewise. |
| (output_clear): Tweak. |
| (line_wrapper_printf): Adjust call to init_output_buffer. |
| (vline_wrapper_message_with_location): Likewise. Use |
| output_destroy_prefix. |
| (v_message_with_decl): Likewise. |
| |
| * diagnostic.h (struct output_buffer): Constify prefix. |
| (init_output_buffer, output_get_prefix): Constify. |
| (diagnostic_message_length_per_line): Likewise. |
| (reshape_diagnostic_buffer): Declare. |
| (default_initialize_buffer): Declare. |
| (initialize_diagnostics): Declare. |
| (diagnostic_buffer): Declare new obbject. |
| |
| * toplev.c: #include diagnostic.h |
| (display_help): Document diagnostic formatting options. |
| (decode_f_option): Handle diagnostic formatting options. |
| (main): Setup initialization for diagnostic messages outputter. |
| |
| * toplev.h (set_message_length): Remove. |
| |
| * Makefile.in (toplev.o): Depends upon diagnostic.h |
| |
| * invoke.texi : Document diagnostics formatting options. |
| |
| Tue Jun 6 19:25:32 2000 Philippe De Muyter <phdm@macqel.be> |
| |
| * configure.in (Make the links): Typo fix : the file that must be |
| included without #ifdef IN_GCC is `auto-host.h', not `auto-config.h'. |
| * configure: File rebuilt. |
| |
| 2000-06-06 Nathan Sidwell <nathan@codesourcery.com> |
| |
| * eh-common.h (EH_ALLOC_SIZE, EH_ALLOC_ALIGN): New #defines. |
| (eh_context): Add alloc_mask and alloc_buffer emergency fallback |
| space. |
| * libgcc2.c (__eh_alloc): Moved from cp/exception.cc. Fallback on |
| emergency eh_context buffer, if malloc fails. |
| (__eh_free): Moved from cp/exception.cc. Release to emergency |
| eh_context buffer, if appropriate. |
| |
| 2000-06-06 Jason Merrill <jason@casey.soma.redhat.com> |
| |
| * expr.c (store_expr): Fix typo. |
| |
| 2000-06-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * m68k.c (legitimize_pic_address): Move prototype ... |
| |
| * m68k-protos.h (legitimize_pic_address): ... here. |
| |
| * m68k.md (legitimize_pic_address): Delete prototypes. |
| (untyped_call): Invoke GEN_CALL(), not gen_call(). |
| |
| * nextstep.c: Include system.h and toplev.h. |
| (get_directive_line): Don't prototype. |
| (handle_pragma): Mark parameters with ATTRIBUTE_UNUSED and constify. |
| |
| * nextstep.h (handle_pragma): Prototype. |
| (SECTION_FUNCTION): Prototype FUNCTION(). Move prototype of |
| objc_section_init ... |
| (EXTRA_SECTION_FUNCTIONS): ... here. |
| |
| Tue Jun 6 08:17:26 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * sdbout.c (struct sdb_file): NAME now const. |
| (sdbout_init): input_file_name now const. |
| (sdbout_start_new_source_file): FILENAME now const. |
| * sdbout.c (sdbout_init, sdbout_start_new_source_file): Reflect above. |
| |
| 2000-06-06 Gabriel Dos Reis <gdr@codesourcery.com> |
| |
| * c-typeck.c (build_conditional_expr): Handle complex data types. |
| |
| 2000-06-05 Jason Merrill <jason@casey.soma.redhat.com> |
| |
| * explow.c (maybe_set_unchanging): New function, broken out from... |
| (set_mem_attributes): Here. |
| * expr.h: Declare it. |
| * stmt.c (expand_decl): Call it. |
| |
| 2000-06-05 Richard Henderson <rth@cygnus.com> |
| |
| * reload1.c (choose_reload_regs): Mind CLASS_CANNOT_CHANGE_SIZE |
| while looking for a register to inherit from. |
| |
| 2000-06-05 Jason Merrill <jason@casey.soma.redhat.com> |
| |
| * Makefile.in (libgcc.ready): Lose. |
| (libgcc.mk): Just use mv, not move-if-change. |
| (LIBGCC_DEPS): New macro. |
| (libgcc.a): Use it. |
| (stmp-multilib): Likewise. |
| * mklibgcc.in (stmp-dirs): New target. Make everything depend on |
| it rather than the directories themselves. |
| (LIB2ADD): Depend on the list file rather than 'force'. |
| |
| * fold-const.c (fold, case COND_EXPR): Elide conversion between |
| cv-qualified versions of types. |
| |
| Mon Jun 5 14:06:18 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * config/sparc/sparc.c (short_branch): Correct error in range |
| computation. |
| |
| 2000-06-05 J. David Anglin <dave@hiauly1.hia.nrc.ca> |
| |
| * fixinc/inclhack.def: New include hacks for ultrix. |
| * (nested_ultrix): Replaced by ultrix_nested_svc. |
| * (ultrix_atof_param): test_text string added. |
| * (ultrix_ifdef): Modified select string. |
| |
| 2000-06-05 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * objc/objc-act.c (generate_method_descriptors): Register |
| objc_method_prototype_template as a GC root. |
| (comp_method_with_proto): Register function_type as a GC root. |
| (comp_proto_with_proto): Replace function_type1 and |
| function_type2 with a two-element array; register it as a GC root. |
| |
| (generate_protocols, build_protocol_initializer, |
| generate_protocol_list, build_category_initializer, |
| build_shared_structure_initializer): Do not cache cast_type |
| and/or cast_type2. |
| |
| 2000-06-05 J. David Anglin <dave@hiauly1.hia.nrc.ca> |
| |
| * function.c (assign_parms): Add missing argument to set_mem_attributes |
| call. |
| |
| 2000-06-05 Nathan Sidwell <nathan@codesourcery.com> |
| |
| * tree.h (VOID_TYPE_P): New macro. |
| (COMPLETE_OR_VOID_TYPE_P): Use VOID_TYPE_P. |
| * c-decl.c (grokdeclarator): Use VOID_TYPE_P. |
| (get_parm_info): Likewise. |
| (store_parm_decls): Likewise. |
| (combine_parm_decls): Likewise. |
| (finish_function): Likewise. |
| * c-typeck.c (build_function_call): Likewise. |
| (build_binary_op): Likewise. |
| (build_conditional_expr): Likewise. |
| (internal_build_compound_expr): Likewise. |
| (convert_for_assignment): Likewise. |
| * stmt.c (expend_expr_stmt): Likewise. |
| (warn_if_unused_value): Likewise. |
| (expand_return): Likewise. |
| * c-parse.in (primary): Likewise. |
| * c-parse.y, c-parse.c, c-parse.h: Regenerate. |
| * objc/objc-parse.y, objc/objc-parse.c: Regenerate. |
| |
| Mon Jun 5 06:46:28 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * alias.c (get_alias_set): If compnent is addressable, use alias |
| set of component. |
| * c-decl.c (init_decl_processing): Don't call record_component_aliases. |
| (grokdeclarator): Likewise. |
| * c-typeck.c (common_type): Likewise. |
| |
| 2000-06-04 Alex Samuel <samuel@codesourcery.com> |
| |
| * Makefile.in (OBJS): Remove dyn_string.o |
| (dyn-string.o): Delete rule. |
| * dyn-string.c: Delete file |
| * dyn-string.h: Likewise. |
| |
| 2000-06-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * Makefile.in (intl.*): Honor nonzero exit codes in the intl |
| subdir. |
| |
| 2000-06-03 Geoff Keating <geoffk@cygnus.com> |
| |
| * alias.c (record_component_aliases): Don't inspect |
| DECL_NONADDRESSABLE_P of non-FIELD_DECL components of structures. |
| |
| Sat Jun 3 19:05:30 2000 Michael Meissner <meissner@redhat.com> |
| |
| * ifcvt.c (process_insns): If IFCVT_MODIFY_INSN is defined, call |
| it with the pattern to do machine dependent work. |
| (cond_exec_process_if_block): If IFCVT_MODIFY_TESTS is defined, |
| use it to modify the true/false tests used in conditional |
| execution. If IFCVT_MODIFY_FINAL and IFCVT_MODIFY_CANCEL are |
| defined, invoke them if the conversion to conditional execution |
| was successful or not. |
| |
| * tm.texi (IFCVT_MODIFY_TESTS): Document. |
| (IFCVT_MODIFY_INSN): Ditto. |
| (IFCVT_MODIFY_FINAL): Ditto. |
| (IFCVT_MODIFY_CANCEL): Ditto. |
| |
| Sat Jun 3 15:26:13 2000 Matt Kraai <kraai@alumni.carnegiemellon.edu> |
| |
| * toplev.c (main): Fix misspellings of possibility and language. |
| |
| 2000-06-03 Richard Henderson <rth@cygnus.com> |
| |
| * alias.c (record_alias_subset): Initialize has_zero_child in the |
| superset. |
| |
| 2000-06-03 Richard Earnshaw (rearnsha@arm.com) |
| |
| * arm.md (untyped_call): Use GEN_CALL macro. |
| |
| 2000-06-02 Pekka Nikander <pnr@teldanex.tcm.hut.fi> |
| |
| * Makefile.in: Use $(MAKE) not "make" |
| |
| Fri Jun 2 19:31:03 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * alias.c (struct alias_set_entry): New field has_zero_child. |
| (mem_in_disjoint_alias_sets_p): Return 0 if set in either ase. |
| (get_alias_set): If language-dependent routine set TYPE_ALIAS_SET, |
| do nothing. |
| Call record_component_aliases for aggregate types. |
| (record_alias_subset): Set has_zero_child. |
| (record_component_aliases, case ARRAY_TYPE): Do nothing if |
| TYPE_NONALIASES_COMPONENT. |
| (record_component_aliases, case RECORD_TYPE): Test |
| DECL_NONADDRESSABLE_P. |
| * c-decl.c (grokdeclarator): Set DECL_NONADDRESSABLE_P instead |
| of TREE_ADDRESSABLE. |
| * calls.c (initialize_argument_information): Only test |
| TYPE_TRANSPARENT_UNION for UNION_TYPE. |
| * function.c (assign_parms): Likewise. |
| * integrate.c (function_cannot_inline_p): Likewise. |
| * stor-layout.c (finish_record_layout): Don't call |
| record_component_aliases. |
| * tree.h (struct tree_int_cst): Use struct tree_common. |
| (struct tree_real_cst, struct tree_string): Likewise. |
| (struct tree_complex, struct tree_identifier): Likewise. |
| (struct tree_list, struct tree_vec, struct tree_exp): Likewise. |
| (struct tree_block, struct tree_type, struct tree_decl): Likewise. |
| (TYPE_TRANSPARENT_UNION): Use UNION_TYPE_CHECK. |
| (TYPE_NONALIASES_COMPONENT): New macro. |
| (TYPE_AMBIENT_BOUNDEDNESS): Use FUNCTION_TYPE_CHECK. |
| (DECL_NONADDRESSABLE_P): New macro. |
| (struct tree_decl): Reorder bits for clarity of how many left; |
| add non_adressable. |
| |
| 2000-06-02 Jason Merrill <jason@casey.soma.redhat.com> |
| |
| * Makefile.in (libgcc.a): Also depend on $(LIB2ADD). |
| * mklibgcc.in (force): New target. |
| Make LIB2ADD stuff depend on it. |
| |
| 2000-06-02 Richard Henderson <rth@cygnus.com> |
| |
| * alias.c (lang_get_alias_set): Remove. |
| (get_alias_set): Call it directly, not indirectly. |
| * c-common.c (lang_get_alias_set): Rename from c_get_alias_set. |
| * c-common.h (c_get_alias_set): Don't declare. |
| * c-decl.c (init_decl_processing): Don't set lang_get_alias_set. |
| * expr.h (lang_get_alias_set): Declare as function, not pointer. |
| |
| 2000-06-02 Bruce Korb <bkorb@gnu.org> |
| |
| * fixinc/server.c(sig_handler): resume closing server on SIGPIPE |
| (server_setup): define the server's master pid |
| (close_server): actually do the deed IFF we are the server's master |
| |
| 2000-06-02 Jakub Jelinek <jakub@redhat.com> |
| |
| * c-common.c (c_get_alias_set): Check whether signed_type did not |
| return its argument before calling get_alias_set on the result. |
| |
| 2000-06-02 Andrew MacLeod <amacleod@cygnus.com> |
| |
| * expr.c (emit_group_load): Fix typo, GET_MODE not GET_CODE. |
| |
| Fri Jun 2 00:22:52 2000 J"orn Rennecke <amylaar@cygnus.co.uk> |
| |
| * sh.h (CPP_SPEC): Add -D__NOMACSAVE__ for -mnomacsave. |
| (CONDITIONAL_REGISTER_USAGE): Mac registers are call used |
| for TARGET_NOMACSAVE. |
| (NOMACSAVE_BIT): Define. |
| (TARGET_NOMACSAVE): Define. |
| (TARGET_SWITCHES): Add "nomacsave". |
| |
| 2000-06-02 Toshiyasu Morita <toshi.morita@sega.com> |
| |
| * sh.md (untyped_call): Remove excess parameters |
| |
| 2000-06-01 Loren J. Rittle <ljrittle@acm.org> |
| |
| * fixinc/inclhack.def (osf_namespace_a): Relax expression to |
| match that used before the conversion to c_fix style. |
| * fixinc/fixincl.x: regenerate |
| |
| 2000-06-01 Stan Cox <scox@cygnus.com> |
| |
| * varray.h (VARRAY_PUSH_GENERIC_PTR, VARRAY_PUSH_CHAR_PTR): Fix |
| macro argument typo. |
| |
| 2000-06-01 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cpplex.c (maybe_macroexpand): Use CPP_WTRADITIONAL. Improve |
| error message. |
| * cpplib.c (parse_include): Remove support for VAX-C |
| "#include starlet" misfeature. |
| |
| 2000-05-31 Laurynas Biveinis <lauras@softhome.net> |
| |
| * cppfiles.c: conditionally define O_BINARY. |
| (open_include_file): pass O_BINARY to open(). |
| |
| 2000-06-01 Richard Henderson <rth@cygnus.com> |
| |
| * i960.c (i960_br_predict_opcode): Remove. |
| (i960_print_operand) [+]: Emit branch prediction hints. |
| (i960_function_arg): Return early for VOIDmode. |
| (i960_round_align): Return early for incomplete types. |
| * i960.h (PRINT_OPERAND_PUNCT_VALID_P): New. |
| * i960.md (all conditional branches): Add "%+". |
| |
| Thu Jun 1 12:24:21 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * alias.c (get_alias_set): Don't call language-specific routine more |
| than is needed and clean up code a bit. |
| * c-common.c (c_get_alias_set): All references whose type |
| is char get alias set 0, but character types need not. |
| * varasm.c (make_function_rtl): Don't call set_mem_attributes. |
| (make_decl_rtl): Don't call it for FUNCTION_DECL. |
| |
| 2000-06-01 Bruce Korb <bkorb@gnu.org> |
| |
| * fixinc/tests/base/...: new base result files |
| |
| Thu Jun 1 09:37:35 2000 Clinton Popetz <cpopetz@cygnus.com> |
| |
| * config/i386/i386.c (ix86_use_fcomi_compare): Make global. |
| * config/i386/i386-protos.h (ix86_use_fcomi_compare): Declare. |
| * config/i386/i386.md (*fp_jcc_3, *fp_jcc_4): Disable if we |
| will use FCOMI. |
| |
| 2000-06-01 Richard Henderson <rth@cygnus.com> |
| |
| * Makefile.in (c-decl.o): Depend on $(EXPR_H), not expr.h. |
| |
| * c-decl.c (init_decl_processing): Set lang_get_alias_set first thing. |
| |
| 2000-05-31 Richard Henderson <rth@cygnus.com> |
| |
| * config/ia64/ia64.c (sdata_symbolic_operand): Consider small |
| CONSTANT_POOL_ADDRESS_P addresses for .sdata. |
| * config/ia64/sysv4.h (SELECT_RTX_SECTION): New. |
| |
| 2000-05-31 Richard Henderson <rth@cygnus.com> |
| |
| * config/ia64/ia64-protos.h (ia64_expand_prediction): Remove. |
| * config/ia64/ia64.c (ia64_expand_prediction): Move code ... |
| (ia64_print_operand) [+]: ... here. Use current_output_insn. |
| * config/ia64/ia64.h (PRINT_OPERAND_PUNCT_VALID_P): New. |
| * config/ia64/ia64.md (all branch/call patterns): Use %+. |
| |
| 2000-05-31 Richard Henderson <rth@cygnus.com> |
| |
| * ifcvt.c (cond_exec_process_insns): Don't ever ignore clobbers. |
| |
| 2000-05-31 Richard Henderson <rth@cygnus.com> |
| |
| * ifcvt.c (merge_if_block): Be prepared for JOIN to have no |
| remaining edges. |
| (find_if_block): Allow THEN with no outgoing edges. |
| * flow.c (merge_blocks_nomove): Remove a barrier not following |
| a jump as well. |
| |
| 2000-05-31 Richard Henderson <rth@cygnus.com> |
| |
| * flow.c (propagate_block): Move initialization of mem_set_list ... |
| (init_propagate_block_info): ... here. Also track blocks with |
| no successors; don't scan insns if ! PROP_SCAN_DEAD_CODE. |
| |
| 2000-05-31 Richard Henderson <rth@cygnus.com> |
| |
| * jump.c (jump_optimize_1): Revert 05-18 change. |
| |
| 2000-05-31 Mark Mitchell <mark@codesourcery.com> |
| |
| * invoke.texi: Remove documentation for -fguiding-decls. |
| |
| 2000-05-31 Richard Henderson <rth@cygnus.com> |
| |
| * configure.in: Fix typo last change. |
| |
| 2000-05-31 Philipp Thomas <pthomas@suse.de> |
| |
| * configure.in (enable-nls): Enable if build == host, i.e. when |
| not building a canadian cross compiler. |
| (enable-maintainer-mode): Added for use with i18n. |
| * aclocal.m4 (AM_GNU_GETTEXT): Only build catalogs that are a |
| cross section of ALL_LINGUAS and LINGUAS. |
| * configure: Rebuild. |
| |
| 2000-05-31 Bruce Korb <bkorb@gnu.org> |
| |
| * fixinc/check.tpl: rework to use test result tree |
| * fixinc/Makefile.in: change invocation of check script |
| * fixinc/check.diff: No longer needed |
| * fixinc/fixincl.x: regenerate |
| * fixinc/inclhack.def: add new tests |
| * fixinc/tests/base/arch/i960/archI960.h: New test result |
| * fixinc/tests/base/curses.h: modified test result |
| * fixinc/tests/base/stdio.h: ditto |
| * fixinc/tests/base/time.h: ditto |
| * fixinc/tests/base/sys/asm.h: ditto |
| * fixinc/tests/base/sys/stat.h: ditto |
| * fixinc/tests/base/sys/wait.h: ditto |
| |
| Wed May 31 13:17:20 2000 Philippe De Muyter <phdm@macqel.be> |
| |
| * except.c (clear_function_eh_region): Do not free NULL. |
| |
| Wed May 31 08:07:52 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * Makefile.in (c-decl.o): Depend on rtl.h and expr.h. |
| * alias.c (struct alias_entry): alias_set is HOST_WIDE_INT. |
| (REG_BASE_VALUE): Remove unneeded cast to unsigned. |
| (get_alias_set_entry): ALIAS_SET arg is HOST_WIDE_INT. |
| (find_base_decl): New function, from c_find_base_decl in c-common.c. |
| (new_alias_set): Moved from tree.c; return is HOST_WIDE_INT. |
| (get_alias_set): Likewise. |
| Major rework to do more things and allow language-specific code |
| to just handle special-cases. |
| (record_alias_subset): Args are HOST_WIDE_INT. |
| (record_component_alias): Local vars are HOST_WIDE_INT. |
| Don't handle COMPLEX_EXPR. |
| (get_varargs_alias_set): Moved from builtins.c. |
| (get_frame_alias_set): New function. |
| * builtins.c (expand_builtin_return_address): Use frame alias set. |
| (expand_builtin_setjmp, expand_builtin_longjmp): Use alias set |
| for setjmp buffer. |
| (get_memory_rtx): Rework to use set_mem_attributes. |
| (get_varargs_alias_set): Deleted from here. |
| * c-common.c (c_apply_type_quals_to_decl): Alias sets now HOST_WIDE_INT. |
| (c_find_base_decl): Deleted from here. |
| (c_get_alias_set): Remove many cases and rework to just handle |
| C-specific cases. |
| * c-common.h (c_get_alias_set): Returns HOST_WIDE_INT. |
| * c-decl.c (rtl.h, expr.h): Now included. |
| (init_decl_processing): Call record_component_aliases on array types. |
| (grokdeclarator): Likewise. |
| Set TREE_ADDRESSABLE for all fields that are not bitfields. |
| * c-typeck.c (common_type): Call record_component_aliases for array. |
| * caller-save.c (setup_save_areas): Rework register loop for unsigned. |
| Set all save areas to the frame alias set. |
| * calls.c (initialie_argument_information): Call set_mem_attributes. |
| (compute_argument_addresses, expand_call): Likewise. |
| * explow.c (set_mem_attributes): New function. |
| (stabilize): Use MEM_COPY_ATTRIBUTES and force_reg. |
| * expr.c (struct move_by_pieces): Remove {to,from}_{struct,readonly}. |
| LEN and OFFSET now HOST_WIDE_INT. |
| (clear_by_pieces): Similar changes. |
| (move_by_pieces): LEN now HOST_WIDE_INT; don't set deleted fields. |
| (move_by_pieces_ninsns): Now returns unsigned HOST_WIDE_INT. |
| (move_by_pieces_1): Don't use deleted fields, use MEM_COPY_ATTRIBUTES. |
| (clear_by_pieces_1): Likewise. |
| (emit_push_insn): Call set_mem_attributes. |
| (expand_expr, case INDIRECT_REF): Likewise. |
| (expand_expr, case VAR_DECL): Call change_address. |
| * expr.h (ADD_PARM_SIZE, SUB_PARM_SIZE): Use host_integerp and |
| tree_low_cst. |
| (get_varargs_alias_set, get_frame_alias_set): New decls. |
| (record_base_value, record_alias_subset, lang_get_alias_set): Likewise. |
| (new_alias_set, set_mem_attributes): Likewse. |
| * function.c (struct temp_slot): ALIAS_SET is HOST_WIDE_INT. |
| (assign_stack_temp_for_type): Likewise. |
| Can split slot even if alias set since can copy. |
| Set MEM_ALIAS_SET and MEM_SET_IN_STRUCT_P. |
| (assign_temp): Use host_integerp and tree_low_cst. |
| (put_var_into_stack): Properly handle SAVE_EXPR. |
| (put_addressof_into_stack): Likewise. |
| (assign_parms): Call set_mem_attributes. |
| Delete #if 0 code. |
| (fix_lexical_address): Put reference to chain into frame alias set. |
| (expand_function_start): Call set_mem_attributes. |
| * integrate.c (expand_inline_function): Likewise. |
| * recog.c (adj_offsettable_operand): Use MEM_COPY_ATTRIBUTES. |
| * regmove.c (try_apply_stack_adjustment): Likewise. |
| * reload.c (push_reload, make_memloc): Likewise. |
| * reload1.c (alter_reg): Make alias sets for spilled pseudos. |
| * rtl.def (MEM): Update comment. |
| * rtl.h (MEM_ALIAS_SET): Now uses XCWINT. |
| (move_by_pieces): Change length to HOST_WIDE_INT. |
| (record_base_value, record_alias_subset): Delete from here. |
| * stmt.c (expand_decl): Call set_mem_attributes. |
| * stor-layout.c (finish_record_layout): Call record_component_aliases.i |
| * toplev.c (compile_file): Call init_alias_once earlier. |
| * tree.c (lang_get_alias_set, get_alias_set, new_alias_set): Deleted |
| from here: now in alias.c. |
| * tree.h (struct tree_type): alias_set is HOST_WIDE_INT. |
| (struct tree_decl): Likewise. |
| (get_alias_set, new_alias_set, lang_get_alias_set): Deleted from here. |
| * varasm.c (make_function_rtl, make_decl_rtl): Call set_mem_attributes. |
| (output_constant_def, force_const_mem): Likewise. |
| |
| * flow.c (propagate_block): If block has no successors, stores to |
| frame are dead if not used. |
| |
| 2000-05-31 Nathan Sidwell <nathan@codesourcery.com> |
| |
| * stmt (expand_end_case): Reorder conversion sequence for jump |
| table to avoid extra truncations. |
| |
| Wed May 31 01:31:42 2000 Jeffrey A Law (law@cygnus.com) |
| |
| * ifcvt.c (cond_exec_process_if_block): Do nothing if the last insn |
| in the block is more than just a simple conditional branch. |
| (noce_process_if_block): Similarly. |
| |
| Tue May 30 22:25:57 2000 Alexandre Oliva <aoliva@cygnus.com> |
| |
| * optabs.c (prepare_float_lib_cmp): Protect *px and *py from |
| queue. |
| |
| 2000-05-30 Michael Meissner <meissner@redhat.com> |
| |
| * dwarf2out.c (dwarf2out_frame_debug_expr): Ignore HIGH |
| instructions. Treat LO_SUM operations as loading the full integer |
| constant. |
| |
| 2000-05-30 Richard Henderson <rth@cygnus.com> |
| |
| * combine.c (get_pos_from_mask): Test exact_log2 result as signed. |
| |
| 2000-05-30 Richard Henderson <rth@cygnus.com> |
| |
| * bb-reorder.c (emit_jump_to_block_after): Protect use of HAVE_return. |
| |
| 2000-05-30 Bruce Korb <bkorb@gnu.org> |
| |
| * fixinc/tests/*: Added expected result files for fixinc's make check |
| * fixinc/fixfixes(char_macro_*_fix): Restore original algorithm |
| |
| 2000-05-30 Richard Henderson <rth@cygnus.com> |
| |
| * config/alpha/alpha.md (*setne_internal): Use match_operator |
| instead of working down from insn. |
| |
| 2000-05-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * invoke.texi (-Wtraditional): Update WRT function macros. |
| |
| Tue May 30 09:57:32 2000 Philippe De Muyter <phdm@macqel.be> |
| |
| * except.c (free_exception_table): Do not free NULL. |
| |
| 2000-05-29 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cpplib.c (do_if): Don't save and restore only_seen_white here. |
| * cppexp.c (_cpp_parse_expr): Save and restore only_seen_white |
| and skipping here. |
| |
| 2000-05-29 Richard Earnshaw (rearnsha@arm.com) |
| |
| * flow.c (mark_used_reg): If a register is unconditionally live, |
| remove any conditional death information. |
| |
| 2000-05-29 Richard Henderson <rth@cygnus.com> |
| |
| * final.c (current_output_insn): New. |
| (final_scan_insn): Set it. |
| * output.h: Declare it. |
| |
| 2000-05-29 Richard Henderson <rth@cygnus.com> |
| |
| * stor-layout.c (finalize_record_size): Fix typo. |
| |
| * jump.c (redirect_jump): Don't emit NOTE_INSN_FUNCTION_END |
| if nlabel is null. |
| |
| 2000-05-29 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cpplib.h (cpp_reader): Remove if_stack. Change |
| potential_control_macro to a cpp_hashnode *. Add skipping flag. |
| * cpphash.h (struct ihash): Change control_macro to a |
| cpp_hashnode * and shorten name to cmacro. |
| Add NEVER_REINCLUDE constant. |
| |
| * cppfiles.c (redundant_include_p): Drop cpp_reader argument. |
| Examine the cmacro node directly, no need to call cpp_defined. |
| (_cpp_execute_include, read_include_file): Set cmacro to |
| NEVER_REINCLUDE, not U"". |
| * cpplex.c (cpp_push_buffer): Don't set new->if_stack. |
| (cpp_get_token): If pfile->skipping is true, discard text and |
| keep scanning until we hit a directive; don't expand macros. |
| |
| * cpplib.c (struct if_stack): Remove if_succeeded, add |
| was_skipping. Change control_macro to a cpp_hashnode * and |
| shorten name to cmacro. Remove typedef IF_STACK. |
| (parse_ifdef), detect_if_not_defined): Return a cpp_hashnode *. |
| (conditional_skip, skip_if_group, |
| consider_directive_while_skipping): Delete. |
| (push_conditional): New. |
| (_cpp_handle_directive): Don't process directives other than |
| conditionals if we are skipping. |
| |
| (do_ifdef, do_ifndef, do_if, do_else, do_elif, do_endif): |
| Update to new scheme. |
| (validate_else): Skip rest of line here, unconditionally. |
| (_cpp_unwind_if_stack): The stack is per-buffer. Force |
| pfile->skipping off. |
| |
| (all): Remove `scare quotes' from error messages. |
| |
| 2000-05-29 Richard Henderson <rth@cygnus.com> |
| |
| * function.c (emit_return_into_block): New line_note arg; emit it. |
| (thread_prologue_and_epilogue_insns): Attempt to locate a line note |
| for the close brace to accompany HAVE_return. Move all line notes |
| following the epilogue to before the NOTE_INSN_EPILOGUE_BEG. |
| |
| 2000-05-29 Richard Henderson <rth@cygnus.com> |
| |
| * longlong.h [__alpha] (count_leading_zeros): New. |
| (count_trailing_zeros): New. |
| (COUNT_LEADING_ZEROS_0): New. |
| |
| * config/alpha/alpha.c (alpha_zero_comparison_operator): New. |
| (alpha_split_conditional_move): New. |
| * config/alpha/alpha-protos.h: Prototype them. |
| * config/alpha/alpha.h (PREDICATE_CODES): Update. |
| (CPP_CPU_DEFAULT_SPEC): Fix typo for EV67. |
| * config/alpha/alpha.md: Update ffs cix commentary. |
| (*ze_and_ne): New. |
| (*nabssf2, *nabsdf2): New. |
| (*mov[qhsd]icc_internal): Use add_operand. |
| (if_then_else constant splitters): New. |
| (*cmp_sadd_di, *cmp_sadd_si, *cmp_sadd_sidi): New. |
| (*cmp_ssub_di, *cmp_ssub_si, *cmp_ssub_sidi): New. |
| |
| 2000-05-29 Richard Henderson <rth@cygnus.com> |
| |
| * combine.c (force_to_mode) [MINUS]: Convert subtraction from |
| a constant to NEG or NOT when conditions allow. |
| |
| * combine.c (combine_simplify_rtx): Don't create an if_then_else |
| unless both args are general_operand. Don't canonicalize plus |
| to ior unless it helps. |
| |
| * toplev.c (rest_of_compilation): Set no_new_pseudos after flow1; |
| instead track register_life_up_to_date. Toggle no_new_pseudos |
| around if_convert. |
| |
| 2000-05-28 Geoff Keating <geoffk@cygnus.com> |
| |
| * config/rs6000/rs6000.c (output_cbranch): Escape '%' characters |
| so output_operand doesn't see them. |
| |
| Sun May 28 18:37:07 2000 Clinton Popetz <cpopetz@cygnus.com> |
| |
| * lcm.c (make_preds_opaque): Fix comment. |
| (optimize_mode_switching): Use NORMAL_MODE instead of |
| MODE_USES_IN_EXIT_BLOCK. Change leftover instance of |
| FP_MODE_NONE to no_mode. Rename MODE_AT_ENTRY to NORMAL_MODE. |
| Handle insertions before an existing NOTE_INSN_BASIC_BLOCK. |
| * tm.texi (OPTIMIZE_MODE_SWITCHING): Refer to NORMAL_MODE. |
| (MODE_USES_IN_EXIT_BLOCK): Delete. |
| (MODE_AT_ENTRY) Rename to NORMAL_MODE. |
| * sh.h (MODE_USES_IN_EXIT_BLOCK): Delete. |
| (MODE_AT_ENTRY): Rename to NORMAL_MODE. |
| (MODE_NEEDED): Don't look for USE. |
| (EPILOGUE_USES): Define. |
| |
| Sun May 28 23:26:59 2000 Philippe De Muyter <phdm@macqel.be> |
| |
| * mklibgcc.in (all): Variable initialized to `libgcc'. |
| |
| 2000-05-28 Gabriel Dos Reis <gdr@codesourcery.com> |
| |
| * toplev.h (skip_leading_substring): New macro. |
| * toplev.c (decode_f_option): Use skip_leading_substring instead |
| of strncmp. |
| (decode_W_option): Likewise. |
| |
| 2000-05-28 Nick Clifton <nickc@cygnus.com> |
| |
| * tm.texi (CONDITIONAL_REGISTER_USAGE): Document that it can |
| modify reg_names. |
| |
| 2000-05-28 Richard Henderson <rth@cygnus.com> |
| |
| * regclass.c (record_operand_costs): Protect reg_changes_size |
| with CLASS_CANNOT_CHANGE_SIZE. |
| |
| * loop.c (instrument_loop_bct): Set JUMP_LABEL on the new insn. |
| |
| 2000-05-28 Richard Henderson <rth@cygnus.com> |
| |
| * function.c (diddle_return_value): A pcc-style struct return |
| returns a pointer. |
| |
| 2000-05-27 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cppfiles.c: Read files in, using mmap if possible, then |
| prescan them separately. |
| (read_file, read_with_read): New functions. |
| * cpplex.c: Don't define UCHAR_MAX. |
| (_cpp_read_and_prescan): Rename to _cpp_prescan. Don't read |
| the file here. |
| |
| * cppinit.c (handle_option): Automatically define __cplusplus, |
| __OBJC__, __ASEEMBLER__, _LANGUAGE_FORTRAN here when we see |
| the respective -lang switch. |
| |
| * cpphash.h (enum node_type, struct hashnode, _cpp_lookup |
| prototype): Move to... |
| * cpplib.h: ... here. Rename struct hashnode to struct |
| cpp_hashnode and give it a typedef. Rename _cpp_lookup to |
| cpp_lookup. Add 'fe_value' slot, a union tree_node *. |
| |
| 2000-05-27 Geoffrey Keating <geoffk@cygnus.com> |
| |
| * config/rs6000/rs6000.md (movsi): Constify 'name'. |
| |
| * regclass.c [CLASS_CANNOT_CHANGE_SIZE] |
| (class_can_change_size): New variable. |
| (reg_changes_size): New variable. |
| (init_reg_sets_1): Initialize class_can_change_size. |
| (record_operand_costs): Remove subreg_changes_size. |
| Don't pass it around. Instead update reg_changes_size. |
| (regclass): Initialize and free reg_changes_size. If a register |
| changes size, don't preference it to a class that contains |
| registers that can't change size. |
| (record_reg_classes): Don't look at subreg_changes_size. |
| |
| 2000-05-27 Richard Henderson <rth@cygnus.com> |
| |
| * print-rtl.c (reg_names): Remove const. |
| * regclass.c (reg_names): Likewise. |
| * regs.h (reg_names): Likewise. |
| * hard-reg-set.h (reg_names): Likewise. |
| |
| 2000-05-27 Richard Henderson <rth@cygnus.com> |
| |
| * config/rs6000/rs6000.md (untyped_call): Use GEN_CALL. |
| |
| 2000-05-27 Richard Henderson <rth@cygnus.com> |
| |
| * config/alpha/alpha.c (alpha_does_function_need_gp): Test |
| TARGET_PROFILING_NEEDS_GP in the if, instead of with an ifdef. |
| (alpha_expand_prologue): Emit prologue_mcount if needed. |
| * config/alpha/alpha.h (TARGET_PROFILING_NEEDS_GP): Default to 0. |
| * config/alpha/alpha.md (prologue_mcount): New. |
| * config/alpha/linux.h (FUNCTION_PROFILER): Remove. |
| (TARGET_PROFILING_NEEDS_GP): Undef before redefining. |
| * config/alpha/netbsd.h: Likewise. |
| |
| 2000-05-27 Richard Henderson <rth@cygnus.com> |
| |
| * config/alpha/elf.h (SELECT_SECTION): Mirror Kenner's May 19 |
| change to config/elfos.h. |
| |
| 2000-05-27 Richard Henderson <rth@cygnus.com> |
| |
| * Makefile.in (resource.o): Depend on except.h. |
| * except.h (output_exception_table_data): Prototype. |
| * genconfig.c (gen_peephole2): Prototype. |
| * genemit.c (main): Include ggc.h. |
| * genoutput.c: Revert parts of last change: include errors.h |
| (main): Set progname. |
| * recog.c: Include hard-reg-set.h before recog.h. |
| * resource.c: Include except.h. |
| |
| * config/alpha/alpha-protos.h (alpha_arg_info_reg_val): Protect |
| with RTX_CODE. |
| (alpha_write_linkage): Protect with BUFSIZ. |
| (alpha_need_linkage): Update prototype. |
| * config/alpha/alpha.c (function_arg): Move VMS code here. |
| (alpha_links_base): Remove. |
| (alpha_links): New. |
| (mark_alpha_links_node, mark_alpha_links): New. |
| (alpha_write_one_linkage): New. |
| (alpha_need_linkage): Use a splay tree. Build the linkage symbol. |
| (alpha_write_linkage): Use splay_tree_foreach. |
| * config/alpha/alpha.md (call_vms): Use alpha_need_linkage |
| to get the linkage symbol. |
| (call_value_vms): Likewise. |
| * config/alpha/elf.h (output_file_directive): Remove decl. |
| (ctors_section, dtors_section): Prototype. |
| (sbss_section, sdata_section): Prototype. |
| * config/alpha/vms.h (FUNCTION_ARG): Remove. |
| (readonly_section, link_section, literals_section): Prototype. |
| (ctors_section, dtors_section): Prototype. |
| (vms_valid_decl_attribute_p): Remove decl. |
| (alpha_arg_type, alpha_arg_info_reg_val): Likewise. |
| |
| 2000-05-27 Geoff Keating <geoffk@cygnus.com> |
| |
| * reload.c (get_secondary_mem): Don't widen floating-point modes. |
| |
| * combine.c (subst): Honor CLASS_CANNOT_CHANGE_SIZE when |
| substituting the REG in a (subreg:X (reg:Y ...)). |
| |
| 2000-05-28 Neil Booth <NeilB@earthling.net> |
| |
| * cpplex.c (_cpp_lex_line): Merge vertical space. Flag |
| first token of a line BOL. Update EOF code for this. |
| Remove illegal directive check - it appears in the (not |
| yet committed) caller. |
| * cpplib.h (BOL): New flag. |
| |
| 2000-05-28 Neil Booth <NeilB@earthling.net> |
| |
| * cpplex.c (_cpp_init_toklist): No comment space to initialize. |
| (_cpp_free_toklist): No comment space to free. |
| (expand_comment_space): Remove. |
| (save_comment_space): Place the comment in the current token and |
| not in a separate comment space. |
| (_cpp_lex_line): Save comments during plain code and #define |
| directives only. |
| * cpplib.h (struct _cpp_toklist): Remove comment space. |
| |
| 2000-05-28 Neil Booth <NeilB@earthling.net> |
| |
| * cppexp.c (parse_assertion): Supply extra argument to |
| _cpp_init_toklist. |
| * cpplib.c (do_assert, do_unassert): Similarly. |
| * cpphash.h (_cpp_init_toklist) Update. |
| (_cpp_expand_token_space): New. |
| (DUMMY_TOKEN, NO_DUMMY_TOKEN): New. |
| * cpplex.c (_cpp_init_toklist): New argument. |
| (parse_string2): New argument multiline_ok. |
| (spell_token): Take a const cpp_token *. |
| (INIT_NAME): Replace with INIT_TOKEN_NAME. Update tokens_used. |
| (SPELL_ macros): Replace with enum. |
| (expand_token_space): Replace with _cpp_expand_token_space. |
| Take COUNT argument. |
| (IS_DIRECTIVE): Update. |
| (_cpp_lex_line): Update token structure before parsing number. |
| Don't assume start at beginning of token list. |
| (save_comment): Use INIT_TOKEN_NAME. |
| |
| 2000-05-27 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * configure.in (stage1_warn_cflags): Add -Wstrict-prototypes |
| -Wmissing-prototypes. |
| * configure: Regenerate. |
| * gcc.texi: Remove explanation of MD_CALL_PROTOTYPES. |
| |
| * builtins.c, calls.c: Change all instances of gen_call_* or |
| gen_sibcall_* to GEN_CALL_* and GEN_SIBCALL_*. |
| * calls.c (struct_value_size_rtx): Separate definition from |
| initialization to avoid unused variable warning. |
| |
| * genflags.c (gen_macro): New function. |
| (gen_proto): Call it for gen_call_* and gen_sibcall_*. |
| (gen_nonproto): Delete. |
| (gen_insn): Put all insns on the same obstack. |
| (main): Generate prototypes for everything unconditionally. |
| |
| * configure.in: Add AC_CHECK_TYPE(ssize_t). Remove commented |
| out check for wchar_t. |
| * acconfig.h: Add template for ssize_t. Remove @TOP@. |
| * system.h: Add infrastructure for defining missing |
| TYPE_MAX/TYPE_MIN macros. Use it to provide fallback |
| definitions of UCHAR_MAX and SSIZE_MAX. |
| * configure: Regenerate. |
| * config.in: Regenerate. |
| |
| * Makefile.in (libgcc2.ready): Rename to libgcc.ready. |
| Depend on $(LANGUAGES) as well as $(GCC_PATCHES) and fixed |
| headers. |
| (clean): No need to delete libgcc1.a, libgcc1-asm.a, |
| libgcc2.a, or libgcc1.null. |
| |
| 2000-05-27 Richard Henderson <rth@cygnus.com> |
| |
| * Makefile.in (recog.o): Don't depend on resource.h. |
| * recog.c: Don't include resource.h. |
| (recog_last_allowed_insn): Remove. |
| (recog_next_insn): Remove. |
| (struct peep2_insn_data): New. |
| (peep2_insn_data, peep2_current): New. |
| (peep2_next_insn): New. |
| (peep2_regno_dead_p, peep2_reg_dead_p): New. |
| (peep2_find_free_register): New. |
| (peephole2_optimize): Track life information by insn as we go. |
| * recog.h: Update declarations. |
| * resource.c (find_free_register, reg_dead_p): Remove. |
| * resource.h: Remove their declarations. |
| * toplev.c: Include hard-reg-set.h before recog.h. |
| |
| * genconfig.c (max_insns_per_peep2): New. |
| (gen_peephole2): New. |
| (main): Call it. |
| * genemit.c (output_peephole2_scratches): Generate calls to |
| peep2_find_free_register; adjust surrounding code. |
| (main): Have insn-emit.c include hard-reg-set.h before recog.h. |
| * genrecog.c (change_state): Don't track last_insn. |
| (write_action): Write into *_pmatch_len before accepting. |
| (write_tree): Adjust peephole2_insns and subroutines to match. |
| |
| * config/i386/i386.md (all peepholes): Use peep2_regno_dead_p. |
| |
| * config/alpha/alpha.c (hard_fp_register_operand): Mind the mode. |
| (hard_int_register_operand): New. |
| * config/alpha/alpha-protos.h: Declare it. |
| * config/alpha/alpha.h (PREDICATE_CODES): Update. |
| * config/alpha/alpha.md (peep2 patterns): Use hard_int_register_operand |
| as needed; use peep2_reg_dead_p instead of dead_or_set_p. |
| |
| 2000-05-27 Richard Henderson <rth@cygnus.com> |
| |
| * function.c (thread_prologue_epilogue_insns): Don't move the |
| line note at the head of the chain. Only force a lineno note |
| before the end of block 0. |
| |
| 2000-05-27 Richard Henderson <rth@cygnus.com> |
| |
| * gensupport.c (collect_insn_data): Record the maximum number |
| of alternatives, not the last seen. |
| |
| * genoutput.c: Don't include errors.h. |
| (struct data): Add lineno member. |
| (have_error): New. |
| (scan_operands): Use message_with_line instead of error. |
| (validate_insn_alternatives): Likewise. |
| (gen_insn): Accept and store the pattern's line number. |
| (gen_peephole, gen_expand, gen_split): Likewise. |
| (main): Don't set progname. Pass line_no to gen_foo. |
| |
| 2000-05-27 Richard Henderson <rth@cygnus.com> |
| |
| * config/d30v/d30v.c (d30v_print_operand): Handle ':'. |
| * config/d30v/d30v.h (PRINT_OPERAND_PUNCT_VALID_P): Accept ':'. |
| * config/d30v/d30v.md (attr predicable): New. |
| (all insn patterns): Mark non-predicable patterns; use %: on the rest. |
| (andsi3*): Unify into one pattern. |
| (iorsi3*, xorsi3*): Likewise. |
| (peephole2 patterns): Use peep2_reg_dead_p; verify not a |
| conditional return. |
| (old cond_exec patterns): Remove. |
| (define_cond_exec): New. |
| |
| Sat May 27 11:01:27 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * tree.h (TREE_CODE_LENGTH): New macro. |
| * c-common.c (c_find_base_decl): Use it. |
| * expr.c (safe_from_p): Likewise. |
| * print-tree.c (print_node): Likewise. |
| * tree.c (make_node, copy_node, get_identifier): Likewie. |
| (first_rtl_op, contains_placeholder_p, substitute_in_expr): Likewise. |
| (build, build_nt, build_parse_node, simple_cst_equal): Likewise. |
| * fold-const.c (make_range): Likewise. |
| (fold): Likewise; also use first_rtl_op. |
| * c-iterate.c (collect_iterators): Use first_rtl_op. |
| * calls.c (calls_function_1): Likewise; also rename TYPE to CLASS. |
| Use IS_EXPR_CODE_CLASS. |
| (preexpand_calls): Likewise. |
| * ggc-common.c (ggc_mark_trees): Rework to use first_rtl_op |
| and TREE_CODE_LENGTH. |
| * stmt.c (warn_if_unused_value): If no operands, no unused value. |
| |
| 2000-05-26 Geoffrey Keating <geoffk@cygnus.com> |
| |
| * config/rs6000/rs6000.md (movsi_internal1): Use '%a1' rather |
| than '%1(%*)'. |
| (movdi_internal64): Likewise. |
| |
| * config/rs6000/rs6000.md: Correct order of operands for DImode |
| boolean patterns. |
| |
| * config/rs6000/rs6000.c (boolean_or_operator): New function. |
| * config/rs6000/rs6000-protos.h (boolean_or_operator): Prototype it. |
| * config/rs6000/rs6000.h (PREDICATE_CODES): Add boolean_or_operator. |
| * config/rs6000/rs6000.md: Use boolean_or_operator instead of |
| boolean_operator for the boolean patterns without NOTs. |
| |
| * config/rs6000/rs6000.c (reg_or_logical_cint_operand): Rename |
| from reg_or_u_cint_operand. Change comment and behavior. |
| (logical_operand): Clean up, add assertion. |
| (non_logical_cint_operand): Also check for |
| reg_or_logical_cint_operand. |
| * config/rs6000/rs6000.h (PREDICATE_CODES): Update. |
| * config/rs6000/rs6000.md (iorsi3): Use reg_or_logical_cint_operand |
| in the expander. |
| (xorsi3): Likewise. |
| (iordi3): Likewise. |
| (xordi3): Likewise. |
| |
| 2000-05-26 Mark Mitchell <mark@codesourcery.com> |
| |
| * tree.h (struct record_layout_info): Rename to (struct |
| record_layout_info_s). |
| * stor-layout.c (start_record_layout): Replace |
| `record_layout_info' with `record_layout_info_s'. |
| |
| 2000-05-26 Richard Earnshaw <rearnsha@arm.com> |
| |
| * flow.c (find_label_refs): New function. |
| (find_basic_blocks_1): Call it for each alternative of a call |
| placeholder. |
| |
| 2000-05-26 Richard Earnshaw <rearnsha@arm.com> |
| |
| * ifcvt.c (cond_exec_get_condition): Set test_if to the SET_SRC |
| of get_pc. |
| |
| 2000-05-25 Richard Henderson <rth@cygnus.com> |
| |
| * config/alpha/alpha.c (alpha_comparison_operator): Don't be |
| so strict about DImode. |
| (alpha_swapped_comparison_operator): Likewise. |
| * config/alpha/alpha.md (*setne_internal): Name it. Allow |
| any integer output mode. |
| (*setcc_internal): Likewise. |
| (*setcc_swapped_internal): Likewise. |
| (*movdicc_internal, *movdicc_lbc, *movdicc_lbs): Name them. |
| (*mov[qhs]icc_internal): New. |
| (*mov[qhs]icc_lbc, *mov[qhs]icc_lbs): New. |
| |
| 2000-05-25 J. David Anglin <dave@hiauly1.hia.nrc.ca> |
| |
| * vax.h (CPP_SPEC): Define __GFLOAT and GFLOAT when -mg is specified. |
| |
| 2000-05-25 Richard Henderson <rth@cygnus.com> |
| |
| * bb-reorder.c (reorder_block_def): Reorder elements for size. |
| Remove add_jump; add next; replace flags with visited. |
| (rbd_init): Remove. |
| (REORDER_BLOCK_HEAD, REORDER_BLOCK_VISITED): Remove. |
| (REORDER_BLOCK_FLAGS, REORDER_BLOCK_INDEX): Remove. |
| (REORDER_BLOCK_ADD_JUMP, REORDER_BLOCK_EFF_HEAD): Remove. |
| (REORDER_BLOCK_EFF_END, REORDER_BLOCK_SCOPE): Remove. |
| (RBI): New. |
| (reorder_index, reorder_last_visited): Remove. |
| (skip_insns_after_block): Rewrite to use a switch. |
| (get_common_dest): Remove. |
| (chain_reorder_blocks): Remove. |
| (record_effective_endpoints): Split out from reorder_basic_blocks. |
| (make_reorder_chain): Likewise. Loop until all blocks are placed. |
| (make_reorder_chain_1): Renamed from old make_reorder_chain. |
| Only construct the reorder chain, do not move insns. Try harder |
| to tail recurse. |
| (label_for_bb, emit_jump_to_block_after): New. |
| (fixup_reorder_chain): Use them. Do bulk block movement. Examine |
| and adjust the jump insns appropriately. Fixup basic_block_info. |
| (verify_insn_chain): Always define. |
| (relate_bbs_with_scopes): Call xmalloc, not xcalloc. Fix thinko |
| in allocation size. |
| (make_new_scope): Don't write zeros to calloc'd space. |
| (build_scope_forest): Rely on xrealloc to DTRT. |
| (reorder_basic_blocks): Don't build loop nest. Don't fail if |
| profile_arc_flag. Streamline EH test. |
| |
| * flow.c (redirect_edge_succ, redirect_edge_pred): New. |
| * basic-block.h: Declare them. |
| |
| 2000-05-25 Alexandre Oliva <aoliva@cygnus.com> |
| |
| * emit-rtl.c (reset_used_decls): New function. |
| (unshare_all_rtl_again): Call it. |
| |
| 2000-05-25 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cpplex.c (maybe_macroexpand): Warn about function-like |
| macros used in non-function context, if -Wtraditional. |
| |
| 2000-05-25 Mark Mitchell <mark@codesourcery.com> |
| |
| * recog.c (peephole2_optimize): Use INSN_P. |
| |
| 2000-05-25 Richard Henderson <rth@cygnus.com> |
| |
| * ifcvt.c (seq_contains_jump): New. |
| (noce_try_store_flag_constants): Use it to fail conversion. |
| (noce_try_store_flag_inc, noce_try_store_flag_mask): Likewise. |
| |
| 2000-05-25 Mark Mitchell <mark@codesourcery.com> |
| |
| * except.h (can_throw): Declare it. |
| * except.c (can_throw): Give it external linkage. |
| * resource.c (find_dead_or_set_registers): Use can_throw. |
| |
| 2000-05-25 Richard Henderson <rth@cygnus.com> |
| |
| * flow.c (mark_set_1): Don't record conditionally dead memory. |
| |
| 2000-05-25 Jan Hubicka <jh@suse.cz> |
| |
| * combine.c (try_combine): Use any_condjump_p, any_uncondjump_p |
| and pc_set at the place of simplejump_p and condjump_p. |
| * cse.c (record_jump_equiv): Likewise. |
| * emit-rtl.c (emit): Likewise. |
| * explow.c (find_next_ref): Likewise. |
| * flow.c (tidy_fallthru_edge): Likewise. |
| (init_propagate_block_info): Likewise. |
| * gcse.c (delete_null_pointer_checks): Likewise. |
| * ifcvt.c (cond_exec_get_condition, noce_get_condition, |
| dead_or_predicable): Likewise. |
| * integrate.c (copy_insn_list): Likewise. |
| * loop.c (scan_loop, verify_dominator, find_and_verify_loops, |
| for_each_insn_in_loop, check_dbra_loop, get_condition, |
| insert_bct, load_mems): Likewise. |
| * resource.c (find_dead_or_set_registers): Likewise. |
| * sibcalls.c (simplejump_p): Likewise. |
| * unroll.c (copy_loop_body, reg_dead_after_loop): Likewise. |
| |
| 2000-05-25 David Edelsohn <edelsohn@gnu.org> |
| |
| * rs6000.c (expand_block_move): Add 64-bit PowerPC doubleword move |
| to STRING case. Use doubleword STRING move for TARGET_POWERPC64 |
| when unaligned. |
| * rs6000.h (CONST_OK_FOR_LETTER_P, 'J'): unsigned HOST_WIDE_INT. |
| (RETURN_ADDR_RTX): Use COUNT and FRAME, not count and frame. |
| (LEGITIMIZE_RELOAD_ADDRESS): unsigned HOST_WIDE_INT high. |
| * rs6000.md: Name various internal patterns. |
| |
| 2000-05-25 Jan Hubicka <jh@suse.cz> |
| |
| * jump.c (invert_exp_1): Remove first argument, use pc_set |
| to get the expression. |
| (redirect_exp): Make static; redirect only the pc_set expression, |
| remove first argument. |
| (invert_exp): Remove first argument, make static. |
| (jump_optimize): Use any_condjump_p, any_uncondjump_p and |
| any_onlyjump at most places where we originaly did condjump_p |
| and simplejump_p. |
| (jump_back_p, follow_jumps, thread_jumps): Likewise. |
| (delete_barrier_succesors): Use pc_set. |
| (invert_jump_1, invert_jump, redirect_jump_1, redirect_jump): Update |
| calls of invert_exp and redirect_exp. |
| * rtl.h (redirect_exp, invert_exp): Remove. |
| * unroll.c (copy_loop_body): Use invert_jump and redirect_jump. |
| |
| 2000-05-25 Richard Henderson <rth@cygnus.com> |
| |
| * stmt.c (expand_end_bindings): Fix thinko last change. |
| |
| 2000-05-25 Andrew MacLeod <amacleod@cygnus.com> |
| Andrew Haley <aph@cygnus.com> |
| |
| * except.c (func_eh_entry): Add emitted field. |
| (new_eh_region_entry): Set emitted field to 0; |
| (output_exception_table_entry): Only emit previously un-emitted data, |
| and send it to the eh_data section. |
| (output_exception_table): Break out common parts. Output |
| exception table for entire compilation unit to eh_data section. |
| (output_exception_table_data): Common parts of output_exception_table. |
| Send output to eh_data section. |
| (output_function_exception_table): Output exception table data for |
| a single function to eh_data section. |
| (free_exception_table): New external to free the table. |
| * except.h (free_exception_table): Add prototype. |
| (output_function_exception_table): Add prototype. |
| * final.c (final_end_function): Output function exception table |
| for IA64_UNWIND_INFO. |
| (final_scan_insn): Emit any unwind directives for an insn. |
| |
| * frame-dwarf2.c: New file containing all DWARF 2 specific code |
| from frame.c. |
| * frame.c: Remove all DWARF 2 specific code. |
| * config/ia64/frame-ia64.c: New file. |
| (gthread_stuff): Make all gthread available with |
| IA64_UNWIND_INFO. |
| (dwarf_fde): Define an IA64 struct for dwarf_fde. |
| (__register_frame_info, __register_frame): Move to common area of file. |
| (__register_frame_info_table, __register_frame_table): Move to common i |
| area. |
| (__deregister_frame_info, __deregister_frame): Move to common area. |
| (__frame_init, find_fde): New versions for IA64_UNWIND_INFO. |
| (read_uleb128): New version for ia64. |
| (get_unwind_record): Read the next IA-64 unwind record. |
| (read_R_record): Read a region header record. |
| (process_a_b_reg_code): X record helper. |
| (read_X_record): Read an X format record. |
| (read_B_record): Read a B format record. |
| (P3_record_types): List of record types matching the P3 format. |
| (P7_record_types): List of record types matching the P7 format. |
| (P8_record_types): List of record types matching the P8 format. |
| (read_P_record): Read a P format record. |
| (init_ia64_reg_loc): Set default fields for a register. |
| (init_ia64_unwind_frame): Set defaults for all register records. |
| (execute_one_ia64_descriptor): Execute one descriptor record. |
| (rse_address_add): Calculate the position of a local reg in memory. |
| (normalize_reg_loc): Turn a location descriptor into a memory address. |
| (maybe_normalize_reg_loc): Only normalize a descriptor if it falls |
| within a specified PC offset range. |
| (get_real_reg_value): Given a register location, retrieve its value. |
| (set_real_reg_value): Change the value of a register location. |
| (copy_reg_value): Copy reg values, if needed. |
| (copy_saved_reg_state): Copy all registers that need to be copied. |
| (process_state_between): Normalize all frame register records that |
| fall within the specified PC range. |
| (frame_translate): Take a processed frame description, and turn |
| everything into addresses. |
| (build_ia64_frame_state ): Find and create frame state record for a PC. |
| (get_personality): Get the personality routine for a given frame. |
| (get_except_table): Get the exception table for a given frame. |
| (record_name): Unwind record names for debugging. |
| (print_record): Print and unwind record. |
| (print_all_records): Print an entire unwind image. |
| (__ia64_backtrace): Print a backtrace. |
| (ia64_backtrace_helper): New function. |
| (__register_frame_info_aux): New function. |
| * config/ia64/crtend.asm (__do_frame_setup_aux): New function. |
| |
| * frame.h (enum unw_record_type): New unwind record types. |
| (struct unw_p_record, unw_b_record, unw_x_record) : New unwind records. |
| (struct unw_r_record, unwind_record): New unwind record structs. |
| (struct unwind_info_ptr): Unwind information layout. |
| (IA64_UNW_LOC_TYPE_*): Macros for different types for location |
| descriptors. |
| (struct ia64_reg_loc): Register location description. |
| (struct ia64_frame_state): Location of all registers in a frame. |
| (struct object): Add pc_base and fde_end for IA64_UNWIND_INFO. |
| * libgcc2.c (__ia64_personality_v1): Personality routine. |
| (__calc_caller_bsp): Calculate the bsp register for the caller's |
| frame. |
| (ia64_throw_helper): Figure out who to return to and set up the |
| registers. |
| (__throw): Throw routine. |
| |
| * output.h (assemble_eh_align, assemble_eh_label): New functions |
| to generate EH info where we want it. |
| (assemble_eh_integer): New function. |
| * toplev.c (compile_file): Output module level exception table for |
| non-ia64 targets. |
| (main): Set exceptions_via_longjump and flag_new_exceptions based |
| on IA64_UNWIND_INFO too. |
| |
| * varasm.c (assemble_eh_label): Generate a label via |
| ASM_OUTPUT_EH_LABEL if it has been specified. |
| (assemble_eh_align): Generate an alignment directive via |
| ASM_OUTPUT_EH_ALIGN if it has been specified. |
| (assemble_eh_label): Generate an integer value via |
| ASM_OUTPUT_EH_type if they have been specified. |
| * config/ia64/ia64.c (rtx_needs_barrier): Add flushrs. |
| (ia64_init_builtins): Add __builtin_ia64_bsp |
| and __builtin_ia64_flushrs. |
| (ia64_expand_builtin): Add IA64_BUILTIN_BSP and |
| IA64_BUILTIN_FLUSHRS. |
| * config/ia64/ia64.h (ia64_builtins): Add IA64_BUILTIN_BSP and |
| IA64_BUILTIN_FLUSHRS. |
| |
| * config/ia64/ia64.md (flushrs): New insn to flush the register |
| stack. Add to unspec list. |
| |
| * config/ia64/crtbegin.asm (frame_object): Change size. |
| (__do_frame_setup_aux): New function. |
| * config/ia64/crtend.asm: call __do_frame_setup_aux. |
| * config/ia64/t-ia64 (LIB2ADDEH): Add. |
| * Makefile.in (LIB2ADDEH): Add. |
| (LIB2ADD): Use LIB2ADDEH. |
| |
| 2000-05-24 Richard Henderson <rth@cygnus.com> |
| |
| * recog.c (offsettable_address_p): If mode size is zero, assume |
| BIGGEST_ALIGNMENT. |
| |
| 2000-05-24 J. David Anglin <dave@hiauly.hia.nrc.ca> |
| |
| * configure.in: Check for -Wno-long-long option support and improve |
| handling of warning CFLAGS for stages 1 and 2. |
| * Makefile.in (WARN_CFLAGS): Move definition to configure.in. |
| * configure: Regenerate. |
| |
| Wed May 24 19:37:53 2000 Jeffrey A Law (law@cygnus.com) |
| |
| * gcc.texi: Remove contributor list. Instead include contrib.texi. |
| * contrib.texi: New file. |
| |
| Thu May 25 02:27:22 2000 J"orn Rennecke <amylaar@cygnus.co.uk> |
| |
| * loop.c (basic_induction_var): Avoid double recording of an increment. |
| |
| Thu May 25 02:19:27 2000 J"orn Rennecke <amylaar@cygnus.co.uk> |
| |
| * Back out this patch: |
| Tue Dec 7 19:22:06 1999 Richard Henderson <rth@cygnus.com> |
| * loop.h (struct induction): Add multi_insn_incr. |
| * loop.c (basic_induction_var): New multi_insn_incr argument. |
| Set it if we search back through previous insns for the biv. |
| (record_biv): New multi_insn_incr argument; fill in struct induction. |
| (strength_reduce): Discard an iv with multiple bivs, any of |
| which require multiple insns to increment. |
| |
| * loop.c (check_insn_for_bivs): Remove bits copied from above patch. |
| |
| Thu May 25 02:09:10 2000 J"orn Rennecke <amylaar@cygnus.co.uk> |
| |
| * rtl.h (loc_mentioned_in_p): Declare. |
| * reload.c (loc_mentioned_in_p): Moved from here... |
| * rtlanal.c (loc_mentioned_in_p): to here. No longer static. |
| Fix loop increment for 'E' handling. |
| * loop.c (strength_reduce): When doing biv->giv conversion, |
| take multi-insn biv increments into account. |
| |
| 2000-05-24 Jason Merrill <jason@casey.soma.redhat.com> |
| |
| * stmt.c (expand_end_bindings): Look through NOTEs to find a |
| BARRIER. |
| |
| 2000-05-24 Mark Mitchell <mark@codesourcery.com> |
| |
| * calls.c (expand_call): Handle cleanups in tail-recursion |
| arguments analogously to cleanups in sibling calls. |
| |
| 2000-05-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * simplify-rtx.c: Rename macro SIGN_EXTEND to HWI_SIGN_EXTEND. |
| All callers changed. |
| |
| 2000-05-24 Alexandre Oliva <aoliva@cygnus.com> |
| |
| * expr.c (expand_assignment, store_expr, expand_expr, |
| expand_expr_unaligned): Set in_check_memory_usage while emitting |
| chkr_check_addr libcall. |
| |
| 2000-05-24 Nick Clifton <nickc@cygnus.com> |
| |
| * fold-const.c (extract_muldiv): When constructing a |
| multiplier/divisor, do not expect const_binop to correctly |
| determine if overflow has occurred, so check explicitly. |
| |
| 2000-05-24 Alexandre Oliva <aoliva@cygnus.com> |
| |
| * c-decl.c (build_enumerator): Don't modify the value's type, |
| convert it. |
| |
| 2000-05-24 Andreas Jaeger <aj@suse.de> |
| |
| * mips.h (LINKER_ENDIAN_SPEC): Pass -EL to linker by default. |
| |
| 2000-05-24 Eric Christopher <echristo@cygnus.com> |
| |
| * configure.in: Redefine inhibit_libc conditions. |
| * libgcc2.c: Remove inhibit_libc conditional define. |
| * configure: Regenerate. |
| |
| 2000-05-24 Phil Edwards <pme@sourceware.cygnus.com> |
| |
| * configure.in: For --enable-languages=LIST, check for empty LIST. |
| * configure: Regenerate. |
| |
| 2000-05-24 Lars Brinkhoff <lars@nocrew.org> |
| |
| * pdp11.h (STACK_BOUNDARY): Define. |
| |
| 2000-05-24 Jakub Jelinek <jakub@redhat.com> |
| |
| * ifcvt.c (if_convert): Update life info globally. |
| |
| 2000-05-24 Alexandre Oliva <oliva@lsd.ic.unicamp.br> |
| |
| * emit-rtl.c (unshare_all_decls): New function. |
| (unshare_all_rtl): Call it. |
| |
| 2000-05-23 Nick Clifton <nickc@cygnus.com> |
| |
| * configure.in: Treat 'strongarm' as if it were 'arm' when |
| determining cpu type. |
| |
| * configure: Regenerate. |
| |
| * config/arm/arm.c: Change 'char *' to 'const char *' for cases |
| where constant strings are involved. |
| |
| * config/arm/arm.h (arm_condition_codes): Change type to 'const |
| char *'. |
| |
| * config/arm/arm-protos.h: Change 'char *' to 'const char *' for |
| cases where constant strings are involved. |
| |
| Tue May 23 15:08:31 2000 Clinton Popetz <cpopetz@cygnus.com> |
| |
| * config/sh/sh.c (gen_far_branch, split_branches): Update |
| to reflect new prototypes for redirect_jump and invert_jump. |
| (sh_insn_length_adjustment): Get rid of const warnings. |
| |
| 2000-05-23 Kazu Hirata <kazu@hxi.com> |
| |
| * invoke.texi (Options for Debugging Your Program or GCC): Update |
| the names of dump files. |
| |
| Tue May 23 13:58:52 2000 Philippe De Muyter <phdm@macqel.be> |
| |
| * configure.in (NO_MINUS_C_MINUS_O): Fix thinko in previous fix. |
| * configure: Regenerated. |
| |
| 2000-05-23 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * simplify-rtx.c (SIGN_EXTEND): New macro. |
| (simplify_unary_operation, simplify_binary_operation, |
| simplify_relational_operation): Use SIGN_EXTEND. Make low |
| halves of (low, high) pairs unsigned if they weren't already. |
| (simplify_ternary_operation): Cast INTVAL to unsigned before |
| comparing to a MODE_BITSIZE. |
| |
| 2000-05-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * aclocal.m4 (gcc_AC_CHECK_DECL, gcc_AC_CHECK_DECLS): New macros |
| rewritten from the internals of gcc_AC_NEED_DECLARATION{S}. |
| |
| * configure.in (gcc_AC_CHECK_DECLS): Call this instead of |
| gcc_AC_NEED_DECLARATIONS. |
| |
| * dwarfout.c: Don't prototype time(). |
| |
| * gcc.c: Check HAVE_DECL_* instead of NEED_DECLARATION_*. |
| |
| * system.h: Likewise. |
| |
| * toplev.c: Likewise. |
| |
| 2000-05-23 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * c-decl.c (pushdecl): Invert sense of test for non-global types. |
| |
| Tue May 23 18:11:42 2000 J"orn Rennecke <amylaar@cygnus.co.uk> |
| |
| * reload1.c (reload_cse_move2add): Honor TRULY_NOOP_TRUNCATION. |
| |
| 2000-05-23 Jonathan Larmour <jlarmour@redhat.co.uk> |
| |
| * config/mips/elf64.h (CTOR_LISTS_DEFINED_EXTERNALLY): Define |
| |
| Tue May 23 06:50:29 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * config/alpha/alpha.c: Remove #ifdef HAIFA since now only scheduler. |
| (alpha_start_function): Never write ..ng label if VMS or NT. |
| (alpha_align_insns): Remove GP_IN_USE arg. |
| Alignment now unsigned. |
| (alpha_reorg): Don't pass GP_IN_USE arg to alpha_align_insns. |
| * config/alpha/alpha.md (prologue_ldgp): Split into one define_expand |
| and two define_insn's. |
| |
| 2000-05-22 Richard Henderson <rth@cygnus.com> |
| |
| * combine.c (simplify_comparison): Use trunc_int_for_mode. |
| |
| 2000-05-22 Richard Henderson <rth@cygnus.com> |
| |
| * stor-layout.c (place_field): Change rli->size to rli->offset. |
| |
| 2000-05-22 Richard Henderson <rth@cygnus.com> |
| |
| * function.c (thread_prologue_and_epilogue_insns): Make sure |
| existing line number notes appear after the prologue. |
| |
| Mon May 22 21:49:00 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * config/alpha/alpha.c (alpha_fnname): New static variable. |
| (print_operand, case '~'): New case. |
| (alpha_expand_prologue): Emit prologue_ldgp insn if needed. |
| (alpha_start_function): Set alpha_fnname. |
| Write "ng" label if no ldgp; don't write ldgp insn. |
| * config/alpha/alpha.h (PRINT_OPERAND_PUNCT_VALID_P): New case '~'. |
| * config/alpha/alpha.md (prologue_ldgp): New define_insn. |
| |
| Mon May 22 11:30:48 2000 Clinton Popetz <cpopetz@cygnus.com> |
| |
| * jump.c (jump_optimize_1): Don't increment LABEL_NUSES |
| on deleted labels. |
| |
| 2000-05-22 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * varasm.c (eh_frame_section): Revert change to argument list. |
| |
| Mon May 22 13:14:03 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * optabs.c (can_extend_p): Allow unsignedp to have any nonzero value. |
| (gen_extend_insn, can_fix_p, can_float_p): Likewise. |
| |
| * final.c (final_scan_insn, case NOTE_INSN_FUNCTION_BEG): Remove |
| dangling "else" that causes "break" to be conditional. |
| Also remove unneeded code at start. |
| |
| Mon May 22 17:31:35 2000 Philippe De Muyter <phdm@macqel.be> |
| |
| * m68k/m68k.h (STORE_FLAG_VALUE): Macro set to (-1), not -1. |
| * fx80/fx80.h, i370/i370.h, m88k/m88k.h (STORE_FLAG_VALUE): Ditto. |
| * gmicro/gmicro.h, we32k/we32k.h (STORE_FLAG_VALUE): Ditto. |
| |
| 2000-05-22 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/sparc/sparc.md (movdf_insn_v9only_vis): fzero has |
| just one argument. |
| |
| Mon May 22 06:57:49 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * alias.c (record_component_aliases): New function. |
| * tree.h: Clean up some declarations and comments. |
| (record_component_aliases): New declaration. |
| * tree.c (get_alias_set): If type and has alias set, use it. |
| |
| 2000-05-22 Richard Henderson <rth@cygnus.com> |
| |
| * simplify-rtx.c (simplify_ternary_operation): Try to simplify |
| IF_THEN_ELSE to a setcc form. |
| * jump.c (can_reverse_comparison_p): Be prepared for insn null. |
| |
| 2000-05-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * fixinc/inclhack.def (sun_malloc): Handle `calloc'. |
| (sun_malloc, sysz_stdtypes_for_sun): Add test_text. |
| |
| Sun May 21 16:42:31 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * combine.c (try_combine): Handle i3_subst_into_i2 case when I2 is |
| not a PARALLEL. |
| |
| 2000-05-20 Alexandre Oliva <aoliva@cygnus.com> |
| |
| * config/mn10300/mn10300.md (movdi, movdf): 64-bit clean-up. |
| * config/mn10300/mn10300.c (print_operand): Likewise. |
| |
| * final.c (split_double): Right shift of negative values is not |
| portable. |
| |
| * ifcvt.c (if_convert): Scan and kill dead code. |
| |
| * emit-rtl.c (unshare_all_rtl): Store the copied rtx. |
| |
| 2000-05-20 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * diagnostic.c: Eliminate implicit int. |
| * except.c, gcc.c: Add static prototypes. |
| * final.c (final_end_function): Mark file arg ATTRIBUTE_UNUSED. |
| * gensupport.c (process_rtx): Use XVEC to initialize vector |
| slot of 'split'. |
| |
| * print-rtl.c: If DEBUG_REGISTER_NAMES, define static |
| debug_reg_names instead of static reg_names. If not, define |
| global reg_names. |
| * regclass.c: Don't define global reg_names unless |
| DEBUG_REGISTER_NAMES is defined. |
| |
| * reload1.c (order_regs_for_reload): Remove unused variable. |
| * varasm.c: Include output.h after defaults.h. Define |
| eh_frame_section as function of no args, not of unspecified args. |
| |
| * gcc.c: Constify argbuf; arguments to store_arg, |
| process_command, main; elements of struct command and struct |
| switchstr; local variables in execute, process_command, main. |
| |
| 2000-05-20 Bruce Korb <bkorb@gnu.org> |
| |
| * fixinc/inclhack.def: many applications of c_fix=format + tests |
| * fixinc/check.diff: regenerated |
| * fixinc/fixincl.x: regenerated |
| |
| Sat May 20 09:30:55 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * alias.c: Clarify some comments. |
| (record_base_value): REGNO is unsigned. |
| * rtl.h (record_base_value): Likewise. |
| |
| * alias.c (aliases_everything_p): Don't special-case QImode here. |
| * c-common.c (c_get_alias_set): Do it here. |
| Handle BIT_FIELD_REF by getting alias info for arg. |
| Use POINTER_TYPE_P. |
| |
| 2000-05-20 Alexandre Oliva <aoliva@cygnus.com> |
| |
| * mklibgcc.in: Restore rule to create ${dir}. |
| |
| Sat May 20 08:45:41 2000 H.J. Lu <hjl@gnu.org> |
| |
| * Makefile.in (libgcc.mk): Depend on xgcc$(exeext) for |
| GCC_FOR_TARGET used by MULTILIBS. |
| * mklibgcc.in: Make sure each .o file depends on the |
| directory it will be in. |
| Make the multilib directory depends libgcc. |
| |
| Sat May 20 08:29:28 2000 H.J. Lu <hjl@gnu.org> |
| |
| * Makefile.in (bootstrap): Unset LANG_LIB2FUNCS for stage 1. |
| |
| Sat May 20 07:27:35 2000 Alexandre Oliva <aoliva@cygnus.com> |
| |
| * fold-const.c (make_range): Handle degenerated intervals. |
| Fixes c-torture/execute/991221-1.c |
| |
| Fri May 19 18:16:31 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * cse.c (cse_basic_block): Only call find_reg_note if REG_NOTES not 0. |
| * reload.c (find_equiv_reg): Likewise. |
| * alias.c (init_alias_analysis): Likewise. |
| Only call prologue_epilogue_contains on insns. |
| * basic-block.h (REG_SET_TO_HARD_REG_SET): Call new function. |
| * bb-reorder.c (hard-reg-set.h): Include earlier. |
| * haifa-sched.c (hard-reg-set.h): Likewise. |
| * ifcvt.c (hard-reg-set.h): Likewise. |
| * local-alloc.c (hard-reg-set.h): Likewise. |
| * loop.c (hard-reg-set.h): Likewise. |
| * predict.c (hard-reg-set.h): Likewise. |
| * regrename.c (hard-reg-set.h): Likewise. |
| * flow.c (hard-reg-set.h): Likewise. |
| (reg_set_to_hard_reg_set): New function. |
| * bitmap.c (regs.h, basic-block.h): No longer include. |
| (bitmap.h): Now include. |
| * conflict.c (hard-reg-set.h): Include. |
| * profile.c (hard-reg-set.h): Likewise. |
| * print-rtl.c (hard-reg-set.h): Likewise. |
| * sbitmap.c (hard-reg-set.h): Likewise. |
| * toplev.c (hard-reg-set.h): Likewise. |
| * unroll.c (hard-reg-set.h, basic-block.h): Likewise. |
| * hard-reg-set.h (reg_names): Now constant. |
| * regs.h (reg_names): Likewise. |
| * regclass.c (reg_names): Likewise. |
| * loop.h (basic-block.h): No longer include. |
| (bitmap.h): Now include. |
| * reload1.c (order_regs_for_reload): Avoid loop over reg sets. |
| * Makefile.in (LOOP_H, sbitmap.o, profile.o): Reflect above changes. |
| (toplev.o, print-rtl.o, conflict.o, unroll.o, bitmap.o): Likewise. |
| |
| 2000-05-19 Jan Hubicka <jh@suse.cz> |
| Richard Henderson <rth@cygnus.com> |
| |
| * basic-block.h (struct edge_def): New field "count". |
| (struct basic_block_def): Likewise. |
| * flow.c (entry_exit_blocks): Add count fileds. |
| (split_edge): Keep count information up-to-date. |
| (dump_edge_info, dump_flow_info): Dump count fields. |
| |
| * final.c (count_instrumented_edges): Rename to edge from arc. |
| (end_final): Update users. |
| * profile.c: Include expr.h, basic-block.h. |
| (struct adj_list, ARC_TARGET, ARC_SOURCE, ARC_COUNT): Kill. |
| (struct bb_info, label_to_bb, label_to_bb_size, bb_graph): Kill. |
| (ignore_next_note, return_label_execution_count): Kill. |
| (bbg_file_name, da_file_name): Kill. |
| (edge_info, bb_info): New structures. |
| (EDGE_INFO, BB_INFO, GCOV_INDEX_TO_BB, BB_TO_GCOV_INDEX): New macros. |
| (count_instrumented_edges, total_num_edges): Rename to edge from arc. |
| (total_num_edges_instrumented): Likewise. |
| (init_arc, expand_spanning_tree): Kill. |
| (fill_spanning_tree, tablejump_entry_p): Kill. |
| (instrument_edges): Rewrite from instrument_arcs to use |
| commit_edge_insertions infrastructure. |
| (compute_branch_probabilities): Remove arguments; rewrite for |
| CFG infrastructure; use rtl_dump_file directly. |
| (branch_prob, find_spanning_tree): Likewise. |
| (union_groups, find_group): New. |
| (init_branch_prob): Make bbg_file_name and da_file_name local. |
| (end_branch_prob): Use rtl_dump_file directly. |
| (init_edge_profiler): Rename to edge from arc. |
| (output_arc_profiler): Kill. |
| (gen_edge_profiler): New. |
| (output_func_start_profiler): Turn off profiling. Make the |
| constructor static when we can. |
| * rtl.h (branch_prob, end_branch_prob): Update prototypes. |
| |
| * toplev.c (DFI_flow): Remove. |
| (DFI_cfg, DFI_life): New. |
| (dump_file): Update accordingly. |
| (compile_file): Call end_branch_prob if profile_arc_flag too. |
| (rest_of_compilation): Move flow1 cfg creation to DFI_cfg. Do edge |
| profiling after the CFG is built. Move flow1 life analysis to |
| DFI_life. Always estimate remaining probabilities. |
| |
| 2000-05-19 Richard Henderson <rth@cygnus.com> |
| |
| * ifcvt.c (find_if_case_2): Don't allow THEN to be EXIT. |
| |
| * flow.c (make_edges): The sibling call edge to exit is abnormal. |
| |
| 2000-05-19 Richard Henderson <rth@cygnus.com> |
| |
| * jump.c (redirect_jump): Add delete_unused argument. Don't |
| remove labels and code following when LABEL_NUSES goes to zero. |
| (invert_jump): Likewise. |
| (jump_optimize_1): Fix redirect/invert arguments. |
| (do_cross_jump, thread_jumps): Likewise. |
| * flow.c (split_edge): Likewise. |
| * reorg.c (optimize_skip): Likewise. |
| (reorg_redirect_jump, relax_delay_slots, dbr_schedule): Likewise. |
| * profile.c (instrument_arcs): Likewise. |
| * loop.c (find_and_verify_loops): Likewise. Fix indentation. |
| * rtl.h: Update prototypes. |
| |
| Fri May 19 12:05:13 2000 Clinton Popetz <cpopetz@cygnus.com> |
| |
| * ssa.c (convert_from_ssa): Tell life_analysis we need death |
| notes. |
| (make_regs_equivalent_over_bad_edges): Only look at abnormal |
| critical edges. |
| |
| 2000-05-19 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cpphash.c (funlike_macroexpand): Make sure not to walk p1 |
| past l1 when deleting whitespace and markers. |
| |
| * cpplex.c (_cpp_scan_until): Clear AUX field of tokens. |
| * cpplib.c (do_unassert): Put the list to compare against on |
| the stack. |
| |
| 2000-05-19 Bruce Korb <bkorb@gnu.org> |
| |
| * fixinc/README: cleaned up old documentation |
| * fixinc/check.diff: regenerated & verified on OSR5 on ix86 |
| * fixinc/check.tpl: compute the list of needed directories |
| emit "#if defined(name)" because of conflict |
| omit machine name differences from output differences |
| * fixinc/inclhack.def( m88k_multi_incl ): Use `wrap' function |
| (machine_name): change test text to use `sed' markers |
| * fixinc/fixincl.x: regen |
| |
| Fri May 19 06:49:35 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * config/elfos.h (SELECT_SECTION): Don't access DECL_INITIAL of |
| a CONSTRUCTOR. |
| |
| 2000-05-18 Chris Demetriou <cgd@sibyte.com> |
| |
| * gcc.texi (MULTILIB_EXCEPTIONS): Correct example and update |
| it to match the current practice. |
| |
| 2000-05-18 Mark Mitchell <mark@codesourcery.com> |
| |
| * Makefile.in (STAGESTUFF): Fix typo in spelling of s-under. |
| |
| 2000-05-18 Richard Henderson <rth@cygnus.com> |
| |
| * rtlanal.c (insn_dependant_p, insn_dependant_p_1): New. |
| * rtl.h (insn_dependant_p): Declare it. |
| * loop.c (strength_reduce): Use it. |
| |
| 2000-05-18 Alexandre Oliva <aoliva@cygnus.com> |
| |
| * config/mn10300/mn10300.c (expand_prologue, expand_epilogue): |
| 16-bit and 64-bit clean-up. |
| |
| 2000-05-18 Mark Elbrecht <snowball3@bigfoot.com> |
| |
| * configure.in (*-pc-msdosdjgpp): Set float_format to none. |
| * configure: Rebuilt. |
| |
| 2000-05-18 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * genopinit.c: Use $ for escape sequences in optab patterns. |
| Remove backslashes from optab patterns. Change $A, $B, $C to |
| expand to (int) whatever instead of just whatever; remove |
| explicit (int) from all optab patterns. |
| |
| * gensupport.c (xmalloc, xrealloc, xstrdup): Provide. |
| * genattr.c, genattrtab.c, gencodes.c, genconfig.c, genemit.c, |
| genextract.c, genflags.c, genopinit.c, genoutput.c, genpeep.c, |
| genrecog.c: Remove private copies of xmalloc, xrealloc, and |
| xstrdup. |
| |
| 2000-05-18 Richard Henderson <rth@cygnus.com> |
| |
| * jump.c (jump_optimize_1): Base minimum insn count during |
| find_cross_jump on BRANCH_COST. |
| |
| 2000-05-18 Jakub Jelinek <jakub@redhat.com> |
| |
| * print-rtl.c (print_rtx): Only print note line number as string |
| if between NOTE_INSN_BIAS and NOTE_INSN_MAX. |
| * final.c (final_scan_insn): Do nothing for note line number 0. |
| |
| 2000-05-18 Jakub Jelinek <jakub@redhat.com> |
| |
| * gcc-common.c (ggc_mark_rtx_children): Mark NOTE_EXPECTED_VALUE |
| from NOTE_INSN_EXPECTED_VALUE notes and NOTE_SOURCE_FILE from |
| NOTE_INSN_DELETED_LABEL. |
| |
| 2000-05-18 Nick Clifton <nickc@cygnus.com> |
| |
| * config/arm/unknown-elf.h (UNIQUE_SECTION): Place constant, |
| uninitialized data in .rodata not .bss, and do not interpret an |
| error in the initialisation value as meaning that the variable |
| should be placed in the .bss section. |
| |
| Thu May 18 12:10:18 2000 Philippe De Muyter <phdm@macqel.be> |
| |
| * configure.in (NO_MINUS_C_MINUS_O): Test `$ac_cv_prog_cc_${ac_cc}_c_o', |
| not `$ac_cv_prog_cc_cc_c_o'. |
| * configure: Regenerated. |
| |
| 2000-05-18 Chris Demetriou <cgd@sibyte.com> |
| Richard Henderson <rth@cygnus.com> |
| |
| * c-common.h (enum c_tree_index): Add g77 type entries. |
| (g77_integer_type_node, g77_uinteger_type_node): New. |
| (g77_longint_type_node, g77_ulongint_type_node): New. |
| * c-decl.c (init_decl_processing): Initialize them. |
| |
| 2000-05-18 Richard Henderson <rth@cygnus.com> |
| |
| * config/h8300/h8300.md (subs patterns): Use %G to negate. |
| |
| * config/h8300/h8300.c (ok_for_bclr): Take a HOST_WIDE_INT. |
| (small_power_of_two): Likewise; use exact_log2. |
| (adds_subs_operand, one_insn_adds_subs_operand): Remove. |
| (output_adds_subs): Remove. |
| (two_insn_adds_subs_operand): New. |
| (split_adds_subs): New. |
| * config/h8300/h8300-protos.h: Update. |
| * config/h8300/h8300.h (CONST_OK_FOR_J): Cast to uns HOST_WIDE_INT. |
| (CONST_OK_FOR_L): Match strict adds operands. |
| (CONST_OK_FOR_N): Match struct subs operands. |
| * config/h8300/h8300.md (adds_subs insns): Remove. |
| (addhi patterns): Output adds/subs directly. |
| (addsi_h8300h): Likewise. |
| (addhi/addsi splitters): New. Decompose two_insn_adds_subs_operand. |
| |
| 2000-05-18 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cppexp.c (parse_assertion): New. |
| (lex): Call it for CPP_HASH. Remove CPP_ASSERTION case. |
| (_cpp_parse_expr): Remove case '#'. Don't set |
| parsing_if_directive. |
| * cpphash.c (collect_objlike_expansion, |
| collect_funlike_expansion, collect_params, |
| _cpp_create_definition): The list no longer has a trailing |
| VSPACE token. |
| * cpphash.h (enum node_type): Add T_ASSERTION. |
| (struct hashnode): Remove aschain, add pred. |
| (struct predicate): New. |
| Update prototypes. |
| |
| * cpplex.c (expand_token_space): Handle both offset and |
| nonoffset lists. |
| (init_token_list, _cpp_free_token_list, _cpp_parse_assertion): Delete. |
| (_cpp_init_toklist, _cpp_clear_toklist, _cpp_free_toklist, |
| _cpp_slice_toklist, _cpp_squeeze_toklist, _cpp_equiv_tokens, |
| _cpp_equiv_toklists): New. |
| (_cpp_scan_line): Rename to _cpp_scan_until; add ability to |
| stop at any single-character token, not just newline. |
| (_cpp_lex_token): Remove special cases for #define and #if. |
| (cpp_get_token): Expect # as a separate token type. Remove |
| DIRECTIVE case. |
| (_cpp_get_directive_token): Remove DIRECTIVE case. |
| (_cpp_lex_line, _cpp_lex_file, _cpp_init_input_buffer): Update. |
| |
| * cpplib.c (_cpp_check_directive): Set dirno and |
| SYNTAX_INCLUDE bit of flags, not dir_handler and dir_flags. |
| (_cpp_handle_directive): Run # <number> through the same logic |
| as normal directives. |
| (do_define): Don't set parsing_define_directive. Use |
| _cpp_scan_until. The list does not have a VSPACE at the end. |
| (do_if): Save, clear, and restore only_seen_white around |
| _cpp_parse_expr. |
| (skip_if_group): s/CPP_DIRECTIVE/CPP_HASH/ |
| (do_assert, do_unassert): Rewrite. |
| |
| * cpplib.h (TTYPE_TABLE): Remove CPP_ASSERTION. |
| (LIST_OFFSET): New flag. |
| (struct cpp_toklist): Replace dir_handler and dir_flags with |
| dirno and flags. |
| (struct cpp_reader): Remove parsing_if_directive and |
| parsing_define_directive. |
| |
| 2000-05-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * fixinc/inclhack.def (broken_cabs): Update fix to handle comments |
| following the cabs decl which terminate on the following line. |
| Add the corresponding test_text case. |
| |
| 2000-05-18 Neil Booth <NeilB@earthling.net> |
| |
| * cppinit.c (cpp_reader_init): Initialize col_adjust and |
| default tab stop size. |
| (no_num, OPT_ftabstop): New. |
| (handle_option): Handle "ftabstop=" command-line option. |
| (print_help): Document it. |
| * cpplex.c (COLUMN): Remove. |
| (handle_newline): Reset col_adjust. |
| (skip_whitespace): Update col_adjust as tabs encountered. |
| (_cpp_lex_line): Update to use col_adjust. Call |
| skip_whitespace for all whitespace. |
| * cpplib.h (struct cpp_options): New member tabstop. |
| (struct cpp_reader): New member col_adjust. |
| (CPP_BUF_COL): Update. |
| (CPP_BUF_COLUMN): New. |
| * cpp.texi: Document "-ftabstop=" command line option. |
| |
| Wed May 17 18:19:41 2000 Philippe De Muyter <phdm@macqel.be> |
| |
| * configure.in (NO_MINUS_C_MINUS_O): Macro made availabe for AC_OUTPUT |
| files. |
| * configure: Rebuilt. |
| |
| Wed May 17 18:06:12 2000 John David Anglin <dave@hiauly1.hia.nrc.ca> |
| |
| * mklibgcc.in Add missing -DL$name when compiling modules in libgcc1.c. |
| |
| * tree.c (build_common_tree_nodes): Do not build TI nodes unless |
| HOST_BITS_PER_WIDE_INT is >= 64. |
| |
| 2000-05-17 Richard Henderson <rth@cygnus.com> |
| |
| * jump.c (jump_optimize_1): Remove inactive but real insns |
| in jump-to-next-insn optimization. |
| |
| 2000-05-17 Richard Henderson <rth@cygnus.com> |
| |
| * toplev.c (rest_of_compilation): Don't call optimize_mode_switching |
| unless OPTIMIZE_MODE_SWITCHING. Conditionally set no_new_pseudos. |
| Don't call recompute_reg_usage if no_new_pseudos is true. |
| * lcm.c (optimize_mode_switching): Move ifdefs outside function. |
| Return true if we did work; update global life information. |
| * basic-block.h (optimize_mode_switching): Update decl. |
| |
| 2000-05-17 Neil Booth <neilb@earthling.net> |
| |
| * cpplex.c (expand_name_space): Don't use ptrdiff_t. |
| |
| 2000-05-17 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cpplib.c: New feature, #pragma system_header. |
| * cpp.texi: Document special treatment of system headers, and |
| the various mechanisms to get a header that special treatment. |
| |
| 2000-05-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * system.h (offsetof): Define at the very end, to ensure we prefer |
| the platform's definition if available. |
| |
| 2000-05-16 Bruce Korb <bkorb@gnu.org> |
| |
| * fixinc/fixincl.c: improve the debug displays, ignore SIGPIPE |
| * fixinc/server.c: likewise |
| * fixinc/fixfixes.c( char_macro_def_fix ): fix regex |
| + #ifdef debugging code + use #def constant for |
| sub-pattern count |
| * fixinc/inclhack.def( hpux11_fabsf ): Keep HP-UX 11 from stomping |
| on C++ math namespace |
| |
| 2000-05-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * fixinc/fixfixes.c (char_macro_use_fix, char_macro_def_fix): |
| Don't check the return value of sprintf. Use asprintf to avoid |
| buffer overflows. |
| |
| Wed May 17 17:27:44 2000 Andrew Cagney <cagney@b1.cygnus.com> |
| |
| * flags.h (warn_unused_function, warn_unused_label, |
| warn_unused_parameter, warn_unused_variable, warn_unused_value): |
| Replace ``warn_unused''. |
| (set_Wunused): Add declaration. |
| * toplev.c (set_Wunused): New function. |
| (warn_unused_function, warn_unused_label, warn_unused_parameter, |
| warn_unused_variable, warn_unused_value): New variables. |
| (W_options): Add -Wunused-function, -Wunused-function, |
| -Wunused-label, -Wunused-parameter, -Wunused-variable and |
| -Wunused-value. Delete -Wunused. Handled in decode_W_option. |
| |
| * toplev.c (decode_W_option): Update -Wunused flags by calling |
| set_Wunused. |
| * c-decl.c (c_decode_option): Ditto for -Wall. |
| |
| * stmt.c (expand_expr_stmt, expand_expr_stmt, |
| warn_about_unused_variables): Replace warn_unused with more |
| explicit warn_unused_value et.al. |
| * function.c (expand_function_end): Ditto. |
| * c-typeck.c (internal_build_compound_expr, |
| internal_build_compound_expr): Ditto. |
| * c-decl.c (poplevel, pop_label_level): Ditto. |
| * toplev.c (check_global_declarations): Replace warn_unused with |
| check for either warn_unused_function or warn_unused_variable. |
| |
| * gcc.1, invoke.texi (Warning Options): Document |
| -Wunused-function, -Wunused-function, -Wunused-label, |
| -Wunused-parameter, -Wunused-variable and -Wunused-value options. |
| |
| Wed May 17 10:28:12 2000 Philippe De Muyter <phdm@macqel.be> |
| |
| * mklibgcc.in (building libgcc1) [Xlibgcc1.a]: Find libgcc1.c in |
| $(srcdir), not in the current directory. |
| |
| 2000-05-16 Richard Henderson <rth@cygnus.com> |
| |
| * config/ia64/crtbegin.asm (__dso_handle): Mark hidden if the |
| assembler supports it. |
| (.fini, .init): Use a gp-relative indirect call. |
| (__do_global_dtors_aux): Preserve the gp; rebundle. |
| (__do_frame_setup): Likewise. |
| * config/ia64/crtend.asm (.IA_64.unwind): Don't terminate with -1. |
| (.init): Use a gp-relative indirect call. |
| (__do_global_ctors_aux): Preserve the gp. |
| |
| 2000-05-16 Richard Henderson <rth@cygnus.com> |
| |
| * flow.c (commit_one_edge_insertion): Be prepared for a return |
| insn to be inserted on the edge with a normal jump. |
| * jump.c (jump_optimize_1): Don't look to create return isns. |
| |
| * flow.c (flow_delete_insn): Don't adjust reference count of notes. |
| * jump.c (jump_optimize_1): Likewise. |
| (returnjump_p): Verify the argument is a JUMP_INSN. |
| * rtl.def (NOTE): Add 5th element for NOTE_INSN_DELETED_LABEL. |
| |
| 2000-05-16 Nick Clifton <nickc@cygnus.com> |
| |
| * config/m32r/m32r.c (small_insn_p): Use INSN_P() to replace |
| GET_RTX_CLASS (GET_CODE ()) == 'i'. |
| (large_insn_p): Ditto. |
| (m32r_is_insn): New function: Return true if the insn contains |
| an executable instruction. |
| (m32r_adjust_insn): Use m32r_is_insn. |
| (m32r_sched_reorder): Use m32r_is_insn. |
| (m32r_sched_variable_issue): Use m32r_is_insn. |
| |
| 2000-05-16 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> |
| |
| * rs6000/rs6000.c (rs6000_select_section): Treat CONSTRUCTOR like |
| VAR_DECL. |
| |
| * rs6000/sysv4.h (ASM_OUTPUT_DWARF_ADDR): Delete unused variable. |
| |
| * rs6000/sysv4.h (CPP_OS_LINUX_SPEC): Define __unix and __linux |
| according to given options. |
| |
| Tue May 16 12:17:31 2000 Jeffrey A Law (law@cygnus.com) |
| |
| * mn10200.h (PREFERRED_RELOAD_CLASS): Do not prefer DATA_REGS |
| if X has VOIDmode either. |
| (LIMIT_RELOAD_CLASS): Similarly. |
| |
| * mn10200.md (indirect_jump, tablejump): Use "register_operand", |
| not "general_operand" to match the processor's capabilities. |
| |
| 2000-05-16 Bruce Korb <bkorb@gnu.org> |
| |
| * fixinc/README: corrected return address |
| * fixinc/check.diff: regenerate, now that test works |
| * fixinc/fixfixes.c(format_fix,format_write): reformatted |
| (char_macro_def_fix,char_macro_use_fix): corrected and |
| rewrote to use regex to parse the text |
| * fixinc/inclhack.def: more testing |
| * fixinc/fixincl.x: regenerated |
| |
| * fixinc/inclhack.def: added several "test_text" attributes |
| changed several fixes to use `c_fix = format' |
| re-alphabetized the fixes |
| |
| * fixinc/check.diff: regenerate |
| * fixinc/fixincl.x: regenerate |
| * fixinc/check.tpl: added `sparc' and `netinet' to the list |
| of created dirs |
| |
| |
| 2000-05-16 Alexandre Oliva <aoliva@cygnus.com> |
| |
| * config/mn10300/mn10300.h (ASM_OUTPUT_DWARF2_ADDR_CONST): Remove. |
| |
| 2000-05-15 Richard Henderson <rth@cygnus.com> |
| |
| * toplev.c (rest_of_compilation): Run full jump pass before |
| find_basic_blocks of flow2. |
| |
| 2000-05-15 Richard Henderson <rth@cygnus.com> |
| |
| * jump.c: Fix typos and clarify commentary from last change. |
| (any_condjump_p): Verify SET_SRC is an IF_THEN_ELSE. |
| (safe_to_remove_jump_p): Remove. |
| (condjump_label): Use pc_set. |
| |
| 2000-05-15 Richard Henderson <rth@cygnus.com> |
| |
| * ifcvt.c (cond_exec_process_insns): Drop USE and CLOBBER insns |
| that get in the way after reload. |
| (cond_exec_process_if_block): Skip a label heading THEN block. |
| |
| 2000-05-15 Richard Henderson <rth@cygnus.com> |
| |
| * varasm.c (output_constant_pool): Abort instead of converting |
| (improperly) deleted labels to zero. |
| |
| 2000-05-16 Neil Booth <NeilB@earthling.net> |
| |
| * cpplex.c (parse_string2): Update comment. |
| (cpp_lex_line): No special assertion treatment for '('. |
| * cpplib.c (DIRECTIVE_TABLE): Remove SYNTAX_ASSERT. |
| * cpplib.h (SYNTAX_ASSERT): Remove. |
| |
| Mon May 15 21:45:36 MET DST 2000 Jan Hubicka <jh@suse.cz> |
| |
| * jump.c (condjump_p): Mark as depreached. |
| (any_condump_p): New. |
| (any_uncondump_p): New. |
| (pc_set): New. |
| (safe_to_remove_jump_p): New. |
| * rtl.h (any_condump_p, any_uncondjump_p, pc_set |
| safe_to_remove_jump_p): Declare. |
| |
| Mon May 15 21:07:20 MET DST 2000 Jan Hubicka <jh@suse.cz> |
| |
| * calls.c: Re-install both patches reverted by last patch. |
| (struct arg_data): New field tail_call_reg. |
| (initialize_argument_information): Initialize tail_call_reg |
| (load_register_parameters): New argument flags, use |
| tail_call_reg when emiting tail call sequence. |
| (expand_call): Update call of load_register_parameters; |
| copy unadjusted_args_size to adjusted_args_size. |
| |
| Mon May 15 19:01:42 MET DST 2000 Jan Hubicka <jh@suse.cz> |
| |
| * loop.c (scan_loop, strength_reduce, loop_optimize): Change unroll_p |
| and bct_p parameters to flags. |
| * loop.h (LOOP_UNROLL, LOOP_BCT): New constants. |
| * rtl.h (loop_optimize): Update prototype. |
| * toplev.c (rest_of_compilation): Update call of loop_optimize. |
| |
| 2000-05-15 Jakub Jelinek <jakub@redhat.com> |
| |
| * calls.c (expand_call): Move expand_start_target_temps call after |
| start_sequence(). |
| |
| 2000-05-15 Neil Booth <NeilB@earthling.net> |
| |
| * cpphash.c (trad_stringify, warn_trad_stringify, |
| collect_params): Make some pointers pointers to const. |
| * cpplex.c (auto_expand_name_space) Guaranteed to always |
| expand by at least one character. |
| (SPELL_CHAR, SPELL_NONE): Temporarily reverse order. |
| (struct token_spelling): Use const U_CHAR * rather than PTR. |
| (expand_name_space): Fix up token pointers if name space |
| is moved when expanding. |
| (INIT_NAME, cpp_scan_line, parse_name, parse_number, |
| parse_string2, save_comment, spell_token, cpp_output_list): |
| Update so the routines handle tokens with a direct pointer to |
| their text, rather than an offset into the token's list's namebuf. |
| (_cpp_lex_line): Rearrange for clarity. |
| |
| * cpplib.c (_cpp_check_directive): Similarly. |
| (do_define): Make SYM a pointer to const. |
| * cpplib.h (struct cpp_name): Replace offset with direct pointer. |
| (CPP_INT, CPP_FLOAT): Spelling type should be SPELL_IDENT. |
| (TOK_OFFSET): Delete. |
| (TOK_NAME): Update. |
| |
| 2000-05-14 Geoffrey Keating <geoffk@cygnus.com> |
| |
| * config/rs6000/rs6000.h (RETURN_ADDRESS_OFFSET): Correct for |
| 64-bit ABI. |
| |
| * config/rs6000/rs6000.c (logical_operand): Rewrite to take MODE |
| into account. |
| (logical_u_operand): Delete. |
| (non_logical_cint_operand): Rewrite to take MODE into account. |
| (non_logical_u_cint_operand): Delete. |
| (boolean_operator): New function. |
| (print_operand): Add new %q operand. |
| * config/rs6000/rs6000.h (PREDICATE_CODES): Add boolean_operator, |
| remove logical_u_operand and non_logical_u_cint_operand, |
| update logical_operand and non_logical_cint_operand. |
| * config/rs6000/rs6000.md: Rewrite the patterns for performing |
| logical operations to use %q. |
| |
| * config/rs6000/rs6000.md (movsi): Don't modify RTL in-place. |
| (movdi): Make similar to movsi. |
| * config/rs6000/rs6000.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): There |
| is no such thing as a DImode CONST_DOUBLE. |
| * config/rs6000/rs6000.c (output_toc): Likewise. |
| |
| * config/rs6000/rs6000.c (output_cbranch): Don't output prediction |
| codes when old mnemonics are in use. Print register names |
| for cc registers when requested. |
| |
| * optabs.c (expand_float): Don't allow mode widening that causes |
| double rounding. |
| |
| * invoke.texi (RS/6000 and PowerPC Options): Update -m64/-m32 |
| flags to their current names -maix64 and -maix32. |
| |
| 2000-05-14 Bruce Korb <bkorb@gnu.org> |
| |
| * fixinc/fixfixes.c(wrap_fix): new fix - inserts text before |
| and/or after current text of file |
| * fixinc/fixlib.c(must_malloc): |
| * fixinc/fixlib.h(must_malloc): + reformatting |
| * fixinc/inclhack.def: replace the "1i" and "$a" sed commands |
| with usages of ``c_fix = wrap;'' |
| Add several tests and use the ``c_fix = format'' fixer more. |
| * fixinc/fixincl.x: regen |
| * fixinc/check.diff: regen |
| * fixinc/check.tpl: emit the associated header with the missing |
| test message |
| |
| Sun May 14 17:58:59 2000 Hans-Peter Nilsson <hp@axis.com> |
| |
| * mklibgcc.in (building libgcc1) [Xlibgcc1.a]: Do not use unset |
| variables $src and $dst. |
| |
| 2000-05-13 Gabriel Dos Reis <gdr@codesourcery.com> |
| |
| * diagnostic.h (DIAGNOSTICS_SHOW_PREFIX_ONCE): New macro. |
| (DIAGNOSTICS_SHOW_PREFIX_NEVER): Likewise. |
| (DIAGNOSTICS_SHOW_PREFIX_EVERY_LINE): Likewise. |
| (struct output_buffer: emitted_prefix_p, prefixing_rule): New |
| fields. |
| (set_message_prefixing_rule): Declare. |
| |
| * diagnostic.c: (current_prefixing_rule): New variable. |
| (set_message_prefixing_rule): Define. |
| (output_set_prefix): Adjust buffer->emitted_prefix_p. |
| (init_output_buffer): Adjust Initialization. |
| (output_emit_prefix): Rewrite. Take prefixing rules into account. |
| |
| Sat May 13 11:05:47 2000 Philippe De Muyter <phdm@macqel.be> |
| |
| * ifcvt.c (if_convert): Do not free NULL. |
| |
| 2000-05-12 H.J. Lu (hjl@gnu.org) |
| |
| * gthr-dce.h: Add support for libobjc. |
| * gthr-posix.h: Likewise. |
| * gthr-solaris.h: Likewise. |
| * gthr-vxworks.h: Likewise. |
| * gthr-single.h: Likewise. |
| * gthr-win32.h: Likewise. |
| |
| 2000-05-12 Nick Clifton <nickc@cygnus.com> |
| |
| * config/fr30/fr30.c (fr30_move_double): New function: Emit code |
| to move a double word value. |
| (di_operand): New function: Return true if the operand is suitbale |
| for a double word move operation. |
| (nonimmediate_di_operand): New function: Return true if the |
| operand is a DImode register or MEM. |
| |
| * config/fr30/fr30.h (PREDICATE_CODES): Add di_operand and |
| nonimmediate_di_operand. |
| |
| * config/fr30/fr30-protos.h Add fr30_move_double, di_operand, and |
| nonimmediate_di_operand. |
| |
| * config/fr30/fr30.md (movdi): New pattern. Required because |
| other patterns generate DImode results. |
| (movdi_insn): New pattern. |
| |
| 2000-05-12 Richard Henderson <rth@cygnus.com> |
| |
| * config/alpha/alpha.c (struct shadow_summary): Define |
| bitfields as type unsigned int. |
| |
| Sat May 13 00:09:59 2000 Denis Chertykov <denisc@overta.ru> |
| |
| * config/avr/t-avr: Added definition of FLOAT while generates |
| fp-bit.c |
| |
| * config/avr/avr.md: `NEXT_INSN (insn)' substituted to `insn' in |
| peepholes for tst+jump = sbrs/sbrc optimization. |
| |
| Fry May 12 20:03:00 CEST 2000 Jan Hubicka <jh@suse.cz> |
| |
| * expr.c (emit_push_insn): Do not adjust stack pointer when |
| preallocating. |
| |
| Fri May 12 19:03:58 2000 Philippe De Muyter <phdm@macqel.be> |
| |
| * ggc-simple.c (offsetof): Macro fallback definition moved from here .. |
| * system.h (offsetof): ... to here. |
| |
| 2000-05-12 Richard Henderson <rth@cygnus.com> |
| |
| * Makefile.in (final.o): Depend on BASIC_BLOCK_H. |
| * final.c (final_end_function): Use app_disable. Rearrange note |
| handling into a switch. Emit deleted labels. |
| (output_asm_label): Generate label strings for deleted labels. |
| * flow.c (tail_recursion_label_list): New. |
| (find_basic_blocks_1): Set label_value_list directly. Collect list |
| of tail recursion labels from call_placeholders. Don't add deleted |
| labels to the label value list. |
| (cleanup_cfg): Use free_EXPR_LIST_list. |
| (flow_delete_insn_chain): Turn non-removable labels into notes. |
| (flow_delete_block): Don't disable deleting the block because of |
| a non-removable label. |
| (tail_recursion_label_p): New. |
| (merge_blocks_move_predecessor_nojumps): Don't disable the merge |
| because of a label. |
| (merge_blocks_move_successor_nojumps): Likewise. Also move a |
| jump table. |
| (merge_blocks): Disable a merge because of tail recursion labels. |
| * ifcvt.c (merge_if_block): Don't disable a merge because of a label. |
| Use a more accurate measure of not merging the join block. |
| (find_if_block): Don't disable conversion because of a label. |
| (find_if_case_1, find_if_case_2): Likewise. |
| * jump.c (duplicate_loop_exit_test): Preserve the kind of list |
| element when copying. |
| (squeeze_notes): Also leave EH notes. |
| (mark_jump_label): Ignore deleted labels. Use an INSN_LIST for |
| REG_LABEL notes. |
| (delete_insn): Preserve LABEL_NAME in NOTE_SOURCE_FILE when |
| deleting a label. |
| * print-rtl.c (print_rtx): Print NOTE_SOURCE_FILE for |
| NOTE_INSN_DELETED_LABEL. Print `[# deleted]' for a label_ref |
| referring to a deleted label. Convert tail handling to a switch. |
| * rtl.def (CODE_LABEL): Rearrange elements to be compatible with NOTE |
| for NOTE_INSN_DELETED_LABEL. |
| (NOTE): Fix commentary. |
| * rtl.h (REG_LABEL): Update commentary wrt INSN_LIST. |
| (REG_CC_SETTER, REG_CC_USER, REG_LIBCALL): Likewise. |
| (CODE_LABEL_NUMBER, LABEL_NAME): Update index. |
| (LABEL_NUSES, LABEL_REFS): Likewise. |
| * unroll.c (copy_loop_body): Don't copy NOTE_INSN_DELETED_LABEL. |
| |
| 2000-05-12 Bruce Korb <bkorb@gnu.org> |
| |
| * fixinc/fixfixes.c(format_write): buglet & relaxed rules |
| * fixinc/check.diff: updated |
| * fixinc/inclhack.def: corrected & added some test_text-s |
| * fixinc/genfixes: removed unneeded options to autogen invocation |
| * fixinc/fixincl.tpl: Specified the output file |
| * fixinc/fixfixes.c: visual appearance |
| * fixinc/fixincl.x: regenerate |
| |
| 2000-05-12 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * fixinc/fixfixes.c (IO_use_fix, IO_defn_fix, CTRL_use_fix, |
| CTRL_defn_fix): Delete. |
| (fix_char_macro_defines, fix_char_macro_uses): Rename to |
| char_macro_def_fix and char_macro_use_fix, respectively. Put |
| them into the FIXUP_TABLE. Get the string to search for from |
| a c_fix_arg. |
| |
| (format_write): New function. |
| (format_fix): Use it. |
| |
| (FIX_PROC_HEAD): Constify text parameter. |
| (machine_name_fix): Constify all char *s. |
| * fixtests.c (skip_quote): Remove double static. |
| |
| * inclhack.def (io_def_quotes, io_use_quotes, ctrl_def_quotes, |
| ctrl_use_quotes): Update for new scheme. |
| * fixincl.x: Regenerate. |
| |
| 2000-05-12 Alexandre Oliva <aoliva@cygnus.com> |
| |
| * config/mn10300/mn10300.h (PREFERRED_DEBUGGING_TYPE): Redefine as |
| DWARF2_DEBUG. |
| (DWARF2_ASM_LINE_DEBUG_INFO): Define. |
| (ASM_OUTPUT_DWARF2_ADDR_CONST): Define. |
| |
| 2000-05-11 Robert Lipe <robertlipe@usa.net> |
| |
| * fixinc/inclhack.def (hpux8_bogus_inlines): Delete bypass for SCO. |
| * fixincl.x: Regenerate. |
| |
| 2000-05-11 Richard Henderson <rth@cygnus.com> |
| |
| * calls.c: Revert both 05-09 patches. |
| |
| 2000-05-11 Alexandre Oliva <aoliva@cygnus.com> |
| |
| * config/mn10300/mn10300.c (print_operand): Print FP constants in |
| hexadecimal. |
| * config/mn10300/mn10300.md (movsf, movdf): Use the `F' constraint |
| for FP values. |
| |
| * mklibgcc.in (EQ): Define it to an equal sign in the Makefile, |
| and replace any occurrences of `=' in multilib dirs with `$(EQ)'. |
| |
| 2000-05-11 Jason Merrill <jason@casey.cygnus.com> |
| |
| * fixinc/fixincl.c (run_compiles): Don't crash on null pz_machine. |
| |
| 2000-05-11 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * fixinc/fixfixes.c, fixinc/fixtests.c: Update commentary. |
| |
| Thu May 11 22:28:05 2000 Denis Chertykov <denisc@overta.ru> |
| |
| * config/avr/avr-protos.c (jump_over_one_insn_p): New declaration. |
| * config/avr/avr.c (jump_over_one_insn_p): New function. |
| * config/avr/avr.md: New peepholes added. Output test and |
| conditional jump to "sbrc" or "sbrs" command. |
| |
| 2000-05-11 Mark Elbrecht <snowball3@bigfoot.com> |
| |
| * cppmain.c (main): Use IS_DIR_SEPARATOR. |
| |
| 2000-05-11 Jakub Jelinek <jakub@redhat.com> |
| |
| * except.c (find_exception_handler_labels_1): New function. |
| (find_exception_handler_labels): Split into two functions, dive |
| into CALL_PLACEHOLDERs when looking for exception handler labels. |
| |
| 2000-05-11 Stan Cox <scox@cygnus.com> |
| |
| * regrename.c (replace_reg_in_block): Improve REG_DEAD handling. |
| * timevar.def (TV_RENAME_REGISTERS): Move before TV_SCHED2. |
| * toplev.c (rest_of_compilation): Call regrename_optimize before sched2. |
| |
| 2000-05-11 Bruce Korb <bkorb@gnu.org> |
| |
| * fixinc/fixfixes.c (double_slash_fix): obsolete |
| (else_endif_label_fix): obsolete |
| (format_fix): new, unused as yet |
| (main): obsolete |
| * fixinc/fixlib.h: added fix description struct for use by format_fix |
| * fixinc/fixincl.c: removed the struct & test for SIGIOT befure using |
| * fixinc/Makefile.in: compile fixfixes.c and fixtests.c as separate |
| modules. Removed the vestiges of the script version. |
| Added support for "make check". |
| * fixinc/check.diff: base diff file (needs work!!) |
| * fixinc/check.tpl: quiet the fixup output |
| * fixinc/fixtests.c (main): obsolete |
| * fixinc/fixincl.sh: don't bother copying fixincl to .. |
| * fixinc/fixincl.tpl: provide for arguments to c_fix routines |
| |
| Thu May 11 11:57:02 MET DST 2000 Jan Hubicka <jh@suse.cz> |
| |
| * toplev.c (rest_of_compilation): Remove dead code after |
| combine. |
| |
| 2000-05-11 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cpphash.c (collect_funlike_expansion): Make "# is not |
| followed by a macro argument name" a pedwarn, not an error. |
| Preserve the # in the output. Suppress the warning if lang_asm. |
| |
| Thu May 11 01:19:31 2000 Jeffrey A Law (law@cygnus.com) |
| |
| * configure.in (hppa*64*-*-hpux11*): New target for PA64 support. |
| * configure: Rebuilt. |
| |
| 2000-05-10 Laurynas Biveinis <lauras@softhome.net> |
| |
| * i386/xm-djgpp.h (XREF_FILE_NAME): Add mising brace. |
| |
| 2000-05-10 Kazu Hirata <kazu@hxi.com> |
| |
| * combine.c (try_combine): Fix a typo. |
| |
| Wed May 10 21:31:44 2000 Jim Wilson <wilson@cygnus.com> |
| |
| * config/ia64/ia64.md (insv): Add comment. |
| |
| 2000-05-10 Richard Henderson <rth@cygnus.com> |
| |
| * Makefile.in (libgcc.a, stmp-multilib): Depend on FPBIT and DPBIT. |
| * mklibgcc.in: Rewrite to not use functions. Don't shortcut |
| dependencies on FPBIT and DPBIT. |
| |
| 2000-05-10 Nick Clifton <nickc@redhat.com> |
| |
| * flow.c (find_auto_inc): Do not bias REG_N_REFS by loop_depth |
| when optimising for size. |
| (mark_used_regs:) Ditto. |
| (try_pre_increment_1): Ditto. |
| |
| 2000-05-10 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cppexp.c (lex): Use %.*s to print non-NUL-terminated string. |
| Make error message friendlier. |
| |
| * cpphash.h (struct hashnode): Use struct hack for name |
| member. |
| * cpphash.c (struct hashdummy): New. |
| (eq_HASHNODE): Second argument is a hashdummy, not a HASHNODE. |
| (make_HASHNODE): No need to set ->name pointer. Correct |
| setting of p. |
| (cpp_lookup): Make 'dummy' a struct hashdummy. Tidy up a bit. |
| |
| 2000-05-10 Richard Henderson <rth@cygnus.com> |
| |
| * flow.c (find_basic_blocks_1): Remove any spare bb_note |
| after completion. |
| |
| 2000-05-10 Bruce Korb <bkorb@gnu.org> |
| |
| * fixinc/gnu-regex.c: reg_syntax_t re_syntax_options must be static |
| |
| 2000-05-10 Eric Schweitz <schweitz@nortelnetworks.com> |
| |
| * dwarfout.c (dwarfout_finish): Call retry_incomplete_types |
| after we enter .debug. |
| |
| 2000-05-10 Jason Merrill <jason@casey.cygnus.com> |
| |
| * dwarf2out.c (gen_subprogram_die): Fixup die_parent for the |
| abstract instance of a nested inline function. |
| |
| * stor-layout.c (finish_record_layout): finalize_type_size |
| before laying out the pending_statics. |
| |
| Wed 10 May 09:36:47 2000 Neil Booth <NeilB@earthling.net> |
| |
| * cpplex.c (spell_token): New function. |
| (spell_string, spell_comment, spell_name): fold into |
| spell_token. |
| (I, S): Add macros. |
| (E, H): Remove macros. |
| (save_comment): Save comment opening characters too. |
| (_cpp_lex_file): Update to use spell_token. Tidy up comment |
| handling. |
| * cpplib.h (I, S): Add macros. |
| (E, H): Remove macros. |
| (TTYPE_TABLE): Update entries for new speller. |
| (SYNTAX_ASSERT): Remove. |
| |
| Wed 10 May 09:08:30 2000 Neil Booth <NeilB@earthling.net> |
| |
| * cpplex.c (_cpp_lex_line): Maintain PREV_WHITESPACE flag |
| when removing escaped newlines. Reverse sense of test for |
| escaped newline. |
| |
| 2000-05-09 Richard Henderson <rth@cygnus.com> |
| |
| * flow.c (find_basic_blocks_1): Do not delete the first |
| bb_note we run across. |
| (create_basic_block): Use reorder_insns to move an existing |
| bb_note to the correct place. |
| |
| 2000-05-09 Richard Henderson <rth@cygnus.com> |
| |
| * calls.c (expand_call): Increment currently_expanding_call |
| before calling optimize_tail_recursion. |
| |
| Tue May 9 18:54:16 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * reload1.c (reload_combine): Fix errors in last change. |
| |
| 2000-05-09 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * gcc.c (used_arg): Skip over a semicolon at the end of the |
| split-up loop; don't break out of it. |
| |
| * Makefile.in (WARN_CFLAGS): Add -Wwrite-strings. |
| (tree.o): Depend on output.h. |
| |
| * c-decl.c (pending_invalid_xref_file, |
| current_function_prototype_file): Constify. |
| (pushdecl): Constify a local char *. |
| (define_label): Constify filename parameter. |
| * c-lex.c (init_parse): Constify parameter and return value. |
| * c-typeck.c (c_expand_asm_operands): Constify filename parameter. |
| * c-tree.h: Update prototypes. |
| * c-parse.in: Constify filename member of %union, and if_stmt_file. |
| * c-parse.y, c-parse.c, c-parse.h, objc/objc-parse.y, |
| objc/objc-parse.c: Regenerate. |
| |
| * dwarfout.c (dwarfout_init): Constify main_input_filename parameter. |
| * dwarfout.h: Update prototypes. |
| * expr.c (expand_expr): Constify a local char *. |
| * flags.h: Constify main_input_filename. |
| * function.c (expand_function_end): Constify filename parameter. |
| * genrecog.c (make_insn_sequence): Use a character array for |
| c_test_pos. |
| (main): Remove unused variables. |
| * input.h: Constify input_filename, main_input_filename, and |
| file_stack.name. Update prototypes. |
| * output.h: Declare first_global_object_name and |
| weak_global_object_name here, as const char *. |
| * stmt.c (expand_asm_operands): Constify filename parameter. |
| * toplev.c (compile_file, push_srcloc, debug_start_source_file): |
| Constify filename parameter. |
| (input_filename, main_input_filename): Constify. |
| * toplev.h: Update prototypes. |
| * tree.c: Include output.h. Don't declare |
| first_global_object_name or weak_global_object_name. Clean up string |
| bashing in get_file_function_name_long. |
| * tree.h (struct tree_decl): Constify filename member. |
| (input_filename): Constify. |
| Update prototypes. |
| * varasm.c (first_global_object_name, weak_global_object_name): |
| Constify. |
| (assemble_start_function, assemble_variable): Clean up string bashing. |
| |
| * gcc.c: Constify all spec-related strings initialized, |
| transitively, from string constants. Constify all strings |
| and string variables related to multilibs. |
| (set_spec, read_specs): Cast argument to free to PTR. |
| (used_arg): Do not modify multilib_matches. Use strncmp plus |
| length comparison to compare multilib switches. |
| * genmultilib: Constify everything declared in multilib.h. |
| |
| Tue May 9 22:28:03 2000 Denis Chertykov <denisc@overta.ru> |
| |
| * flow.c (flow_delete_insn): Use INSN_DELETED_P for marking insn |
| as deleted. |
| |
| Tue May 9 20:52:43 2000 Denis Chertykov <denisc@overta.ru> |
| |
| * config/avr/avr-protos.h (extra_constraint): change a type of |
| second argument from char to int to avoid warnings. |
| (asm_output_byte): Likewise. |
| |
| * config/avr/avr.c (MAX_LD_OFFSET) New macro. |
| (initial_elimination_offset): Handle elimination from |
| FRAME_POINTER_REGNUM to STACK_POINTER_REGNUM. |
| (legitimate_address_p): Use MAX_LD_OFFSET. |
| (legitimize_address): Likewise. |
| (out_movqi_r_mr): Likewise. |
| (out_movhi_r_mr): Likewise, use `fatal_insn' instead of `fatal'. |
| (out_movsi_r_mr): Use MAX_LD_OFFSET. |
| (out_movsi_mr_r): Likewise. |
| (out_movqi_mr_r): Likewise. |
| (out_movhi_mr_r): Likewise. |
| (notice_update_cc): Correct CC for the ashrqi3 with the shift |
| count as CONST_INT != 6. |
| (ashlqi3_out): Coding style modifications. Run `fatal_insn' if |
| shift count is a CONSTANT_P, but not a CONST_INT. |
| (ashlhi3_out): Coding style modifications. |
| (ashlsi3_out): Likewise. |
| (ashrhi3_out): Likewise. |
| (ashrsi3_out): Likewise. |
| (lshrhi3_out): Likewise. |
| (lshrsi3_out): Likewise. |
| (ashrqi3_out): Generate shift for any known constant count without |
| scratch register. Run `fatal_insn' if shift count is a CONSTANT_P, |
| but not a CONST_INT. |
| (lshrqi3_out): Coding style modifications. Run `fatal_insn' if |
| shift count is a CONSTANT_P, but not a CONST_INT. |
| (extra_constraint): change a type of |
| second argument from char to int to avoid warnings. |
| (asm_output_byte): Likewise. |
| (asm_file_end): Output size generated commands count as a hex |
| number too. |
| |
| * config/avr/avr.h (RETURN_ADDR_RTX): New macro. |
| |
| * config/avr/avr.md (addhi3): Fragment commented by &&0 is |
| removed. |
| (ashlqi3): Values of "length" attribute changed. Shift count |
| uses constraints 'n' instead of 'i'. |
| (ashrqi3): Likewise. Values of "cc" attribute changed. Generate |
| shifts without clobber register. |
| (lshrqi3): Shift count uses constraints 'n' instead of 'i'. |
| (call_insn): Correct test for which_alternative == 1 (was 0). |
| (call_value_insn): Likewise. |
| |
| * config/avr/t-avr: Remove definition of FLOAT while generates |
| fp-bit.c |
| |
| 2000-05-09 Bruce Korb <bkorb@gnu.org> |
| |
| * fixinc/check.tpl: Template for checking fixes |
| * fixinc/inclhack.def: Added 'test_text' for many fixes |
| disable hpux8_bogus_inlines on SCO |
| * fixinc/fixinc.sco: Oh, yes, we don't need this any more. |
| |
| Tue May 9 16:30:27 MET DST 2000 Jan Hubicka <jh@suse.cz> |
| |
| * calls.c (expand_call): Reorganize somewhat in order |
| to avoid unnecesary recalculation inside loop and make |
| tail call failure code cleaner. |
| |
| Tue May 9 06:30:20 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * alias.c (nonlocal_reference_p): Minor reformatting. |
| * reload.c (find_equiv_reg): Simplify logic for |
| CALL_INSN_FUNCTION_USAGE since can't have SUBREG or pseudos and |
| some some reformatting. |
| * reload1.c (reload_combine): Don't assume everything in |
| CALL_INSN_FUNCTION_USAGE is a REG and clean up code a bit. |
| |
| 2000-05-08 Richard Henderson <rth@cygnus.com> |
| |
| * final.c (current_insn_predicate): New. |
| (final_scan_insn): Set it. |
| * output.h (current_insn_predicate): Declare. |
| |
| * ifcvt.c (cond_exec_process_insns): New argument prob_val. |
| Attach it to call insns. |
| (cond_exec_process_if_block): Track probability for true and |
| false branches. |
| (dead_or_predicable): Likewise. |
| |
| * predict.c (PROB_NEVER, PROB_VERY_UNLIKELY): New. |
| (PROB_UNLIKELY, PROB_EVEN, PROB_LIKELY): New. |
| (PROB_VERY_LIKELY, PROB_ALWAYS): New. |
| (estimate_probability, expected_value_to_br_prob): Use them. |
| |
| * config/ia64/ia64-protos.h (ia64_expand_prediction): Declare. |
| * config/ia64/ia64.c (ia64_print_operand_address): Handle 'j'. |
| (ia64_expand_prediction): New. |
| (emit_insn_group_barriers): Don't look at notes. Emit barriers |
| as needed after calls. |
| (ia64_epilogue_uses): Mark b0 used. |
| * config/ia64/ia64.md (beq_true, beq_false): Remove. |
| (bne_true, bne_false): Remove. |
| (eq_return, eq_not_return, ne_return, ne_not_return): Remove. |
| (br_true, br_false): New. Use predicate_operator and |
| ia64_expand_prediction. |
| (return_true, return_false): Likewise. |
| (call_internal): Use ia64_expand_prediction. Don't emit stop bit. |
| (call_internal1, call_value_internal): Likewise. |
| (call_value_internal1, call_multiple_values_internal1): Likewise. |
| |
| * config/ia64/ia64.c (ia64_direct_return): Require frame size zero. |
| |
| * config/ia64/ia64.md (extendsfdf2): Split only after reload. |
| |
| 2000-05-08 Richard Henderson <rth@cygnus.com> |
| |
| * rtlanal.c (may_trap_p): Consider old-style and volatile |
| asms to trap. |
| |
| Mon May 8 17:16:48 2000 Jim Wilson <wilson@cygnus.com> |
| |
| * config/ia64/ia64.h (RETURN_ADDR_RTX): Use COUNT not count. |
| |
| 2000-05-08 Richard Henderson <rth@cygnus.com> |
| |
| * config/ia64/ia64.h (predicate_operator): Declare. |
| |
| * config/ia64/ia64.md (extendsfdf2): Split the nop case out |
| of existence. |
| |
| * gensupport.c (process_rtx): Copy and post-process each member |
| of the define_insn rtvec individually. |
| |
| Mon 8 May 22:17:35 2000 Neil Booth <NeilB@earthling.net> |
| |
| * cpplex.c (spell_token): New function. |
| (TOKEN_LEN): Add 1 for whitespace. |
| (_cpp_lex_file): Update to use spell_token. |
| * cpplib.h (E): Remove. |
| (TTYPE_TABLE): Update CPP_VSPACE entry. |
| |
| 2000-05-08 Richard Henderson <rth@cygnus.com> |
| |
| * flow.c (init_propagate_block_info): Watch out for conditional |
| branch to next instruction, and thus one outgoing edge. |
| |
| * config/ia64/ia64.c (ia64_encode_section_info): Exit early |
| for global register variables; don't special case __[CD]TOR_LIST__; |
| mind ggc_p for string allocation. |
| |
| 2000-05-08 Nick Clifton <nickc@cygnus.com> |
| |
| * config/i386/i386.h (ELIMINABLE_REGS): Fix comment. |
| |
| 2000-05-08 Bruce Korb <bkorb@gnu.org> |
| |
| * fixinc/mkfixinc.sh: fixinc.sco is no longer used |
| i?86-*-msdosdjgpp* no longer uses fixincludes |
| * fixinc/genfixes: inclhack.sh and fixincl.sh are no longer generated |
| * fixinc/inclhack.sh: deleted |
| * fixinc/hackshell.tpl: deleted |
| * fixinc/inclhack.tpl: deleted |
| * fixinc/Makefile.in: Remove dependencies on above |
| * fixinc/fixincl.sh: "DO NOT EDIT" text modified |
| |
| 2000-05-08 Andreas Jaeger <aj@suse.de> |
| |
| * config/mips/linux.h: Remove undefines which disabled .ctor/.dtor |
| support. |
| |
| 2000-05-07 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * Makefile.in (LOOSE_CFLAGS): Add /g modifiers to both sed |
| substitutions. |
| |
| Sun 7 May 08:43:53 2000 Neil Booth <NeilB@earthling.net> |
| |
| * cpplex.c: Move new lexer definitions and prototypes |
| to top. Conditional include these and the code if |
| NEW_LEXER is defined. Rename functions whose names |
| clash if this code included. |
| |
| Sun May 7 00:54:57 EDT 2000 John Wehle (john@feith.com) |
| |
| * rtl.def (COND_EXEC): Clarify. |
| |
| * i386.md (extendsidi2): Clobber (reg:CC 17) in the |
| same fashion as zero_extendsidi2. |
| |
| 2000-05-06 Richard Henderson <rth@cygnus.com> |
| |
| * config/ia64/ia64.c (predicate_operator): New. |
| (ia64_print_operand): Handle 'J'. |
| (rtx_needs_barrier): Handle COND_EXEC. |
| * config/ia64/ia64.h (BRANCH_COST): Define. |
| (PREDICATE_CODES): Update. |
| * config/ia64/ia64.md: Document used unspec values. |
| (attr predicable): New. |
| (movxf, movxf_internal): New. |
| (extendsfdf2): Don't comment out nop. |
| (floatdidf2): Remove. |
| (truncxfsf2, truncxfdf2, floatdixf2): New. |
| (abssi2, absdi2): Put the neg in the "true" slot. |
| (conditional branch instructions): Mark not predicable. |
| (cmov*_internal): Use predicate_operator. Split to cond_exec. |
| (abs*_internal): Likewise. |
| (alloc, set_bsp): Mark not predicable. |
| (barrier, insn_group_barrier, flush_cache): Likewise. |
| (define_cond_exec): New. |
| |
| 2000-05-06 Richard Henderson <rth@cygnus.com> |
| |
| * c-decl.c: Include "tm_p.h". |
| |
| * config/ia64/ia64-protos.h: Rearrange decls to reduce ifdef madness. |
| (fetchadd_operand, ia64_expand_fetch_and_op): Declare. |
| (ia64_expand_op_and_fetch): Declare. |
| * config/ia64/ia64.c: Include "toplev.h". Kill trailing whitespace. |
| (setjmp_operand): Constify variables for XSTR. |
| (ia64_encode_section_info): Likewise. |
| (ia64_print_operand): Use %d for exact_log2; cast 32-bit printed |
| values to int. |
| (ia64_asm_output_external): Constify name. |
| (process_set): Use HOST_WIDE_INT_PRINT_DEC for frame size. |
| (process_for_unwind_directive): Provide switch default. |
| (ia64_expand_compare_and_swap): Remove unused variables. |
| (ia64_expand_builtin): Likewise. |
| * config/ia64/ia64.h (ASM_OUTPUT_BYTE): Mask and cast value to int |
| for printing. |
| |
| * config/ia64/ia64.c (sdata_symbolic_operand): Mark unused args. |
| (symbolic_operand, function_operand, setjmp_operand): Likewise. |
| (shift_count_operand, shift_32bit_count_operand): Likewise. |
| (shladd_operand, fetchadd_operand, ia64_function_prologue): Likewise. |
| (ia64_function_epilogue, ia64_setup_incoming_varargs): Likewise. |
| (ia64_function_arg_partial_nregs, ia64_function_value): Likewise. |
| (ia64_print_operand_address, ia64_secondary_reload_class): Likewise. |
| (ia64_expand_builtin): Likewise. |
| (call_multiple_values_operation): Make dest_regno unsigned. |
| |
| 2000-05-06 Richard Henderson <rth@cygnus.com> |
| |
| * rtl.def (DEFINE_COND_EXEC): New. |
| * md.texi: Document it. |
| |
| * gensupport.c (input_file): Remove. |
| (struct queue_elem): Add lineno. |
| (rtx_ready_queue): Remove. |
| (errors): New. |
| (predicable_default): New. |
| (predicable_true, predicable_false): New. |
| (define_attr_queue, define_attr_tail): New. |
| (define_insn_queue, define_insn_tail): New. |
| (define_cond_exec_queue, define_cond_exec_tail): New. |
| (other_queue, other_tail): New. |
| (queue_pattern): New. |
| (process_rtx): Add patterns to the appropriate queues. |
| (is_predicable, identify_predicable_attribute): New. |
| (n_alternatives, collect_insn_data): New. |
| (alter_predicate_for_insn, alter_test_for_insn): New. |
| (shift_output_template, alter_output_for_insn): New. |
| (process_one_cond_exec, process_define_cond_exec): New. |
| (init_md_reader): Read the entire file. Process define_cond_exec. |
| (read_md_rtx): Return elements from the queues. |
| |
| 2000-05-06 Richard Henderson <rth@cygnus.com> |
| |
| * flow.c (mark_set_1): Don't update conditional life info |
| if the register is not_dead. |
| |
| 2000-05-06 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * Makefile.in (STAGESTUFF): Add genrtl.c and genrtl.h. |
| (mostlyclean): Also delete fixincl, fixinc.sh, and |
| specs.ready, and make clean in the fixinc subdir. |
| |
| 2000-05-06 Richard Henderson <rth@cygnus.com> |
| |
| * Makefile.in (gensupport.o): Compile for the host. |
| (host-prefix gensuuprt.o): Remove. |
| (genflags.o): Depend on gensupport.h and OBSTACK_H. |
| (genattrtab.o): Likewise. |
| (gencodes.o): Depend on gensupport.h. |
| (genemit.o, genopinit.o, genrecog.o, genextract.o): Likewise. |
| (genpeep.o, genattr.o, genoutput.o): Likewise. |
| |
| * gensupport.c (obstack, rtl_obstack): New. |
| (init_md_reader): Initialize rtl_obstack. |
| * gensupport.h (rtl_obstack): Declare. |
| (message_with_line): Declare. |
| |
| * genattr.c: Remove all traces of obstack manipulation. |
| * gencodes.c, genconfig.c, genemit.c, genextract.c: Likewise. |
| * genopinit.c, genoutput.c, genpeep.c, genrecog.c: Likewise. |
| |
| * genattrtab.c (obstack, rtl_obstack): Remove. |
| (main): Don't init rtl_obstack. |
| * genflags.c: Likewise. |
| |
| * genrecog.c (message_with_line): Move ... |
| * gensupport.c: ... here. |
| |
| 2000-05-06 Richard Henderson <rth@cygnus.com> |
| |
| * c-typeck.c (build_c_cast): Remove dead code. |
| |
| 2000-05-06 Richard Henderson <rth@cygnus.com> |
| |
| * flow.c (split_edge): Don't allocate global_live_at_start for |
| the new block unless the old blocks had them as well. |
| |
| * flow.c (mark_set_1): Respect not_dead when updating reg_live. |
| |
| * ifcvt.c (noce_process_if_block): Don't use an insn_b from |
| test_bb if a or b uses x. |
| |
| 2000-05-06 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cpphash.h: Remove conditional #define of __extension__. |
| * rtl.h: Add __extension__ to RTL_CHECK1, RTL_CHECK2, |
| RTL_CHECKC1, RTL_CHECKC2, and RTVEC_ELT macros |
| (ENABLE_RTL_CHECKING only). |
| * tree.h: Add __extension__ to TREE_CHECK, TREE_CLASS_CHECK, |
| CST_OR_CONSTRUCTOR_CHECK, and EXPR_CHECK macros |
| (ENABLE_TREE_CHECKING only). |
| * varray.h: Add __extension__ to VARRAY_CHECK macro |
| (ENABLE_CHECKING only). |
| |
| 2000-05-06 Richard Earnshaw (reanrsha@arm.com) |
| |
| Use new tail-calling mechanism on ARM. |
| * arm.md (sibcall, sibcall_value): New expands. |
| (sibcall_insn, sibcall_value_insn, sibcall_epilogue): New insns. |
| (tailcalling peepholes): Delete. |
| (push_multi): Simplify. |
| * arm.c (lr_save_eliminated): Delete definition. |
| (pattern_really_clobbers_lr, function_really_clobbers_lr): Delete. |
| (output_return_instruction): Remove checks on lr_save_eliminated. |
| (output_arm_prologue): Remove old tail-calling code. |
| (arm_output_epilogue): New parameter, really_return. All callers |
| changed. Handle tail-calling epilogues. |
| * arm.h (lr_save_eliminated): Delete declaration. |
| (frame_pointer_needed): Delete declaration. |
| * arm-protos.h (arm_output_epilogue): Adjust prototype. |
| |
| * arm.md (is_thumb): Examine symbol thumb_code, not expression |
| TARGET_ARM. |
| * arm.c (thumb_code): Define it. |
| (arm_override_options): Set it. |
|