| 2002-06-30 Devang Patel <dpatel@apple.com> |
| |
| * objc/objc-act.c (finish_file): Avoid finish_objc() if |
| -fsyntax-only. |
| |
| Fri Jun 28 17:22:37 2002 Denis Chertykov <denisc@overta.ru> |
| Frank Ch. Eigler <fche@redhat.com> |
| Matthew Green <mrg@redhat.com> |
| Richard Henderson <rtl@redhat.com> |
| Dave Hudson <dave.hudson@ubicom.com> |
| Jeff Johnston <jjohnstn@redhat.com> |
| Alan Lehotsky <apl@alum.mit.edu> |
| Bernd Schmidt <bernds@redhat.com> |
| Graham Stott <grahams@redhat.com> |
| |
| * doc/extend.texi: Add ip2k port to description of attribute |
| naked. |
| * doc/install.texi (Specific): Add ip2k description. |
| * doc/install-old.texi (Configurations): Add ip2k to possible |
| cpu types. |
| * doc/md.texi: Document ip2k constraints. |
| * config/ip2k/crt0.S: New file. |
| * config/ip2k/ip2k-protos.h: New file. |
| * config/ip2k/ip2k.c: New file. |
| * config/ip2k/ip2k.h: New file. |
| * config/ip2k/ip2k.md: New file. |
| * config/ip2k/libgcc.S: New file. |
| * config/ip2k/t-ip2k: New file. |
| |
| 2002-06-30 Hans-Peter Nilsson <hp@bitrange.com> |
| |
| * config/mmix/mmix.md ("return"): New pattern. |
| * config/mmix/mmix.h (TARGET_MASK_USE_RETURN_INSN) |
| (TARGET_USE_RETURN_INSN): New macros. |
| (TARGET_DEFAULT): Include TARGET_MASK_USE_RETURN_INSN. |
| (TARGET_SWITCHES): Add -msingle-exit and -mno-single-exit. |
| * config/mmix/mmix.c (MMIX_OUTPUT_REGNO): Fix spacing. |
| (MMIX_POP_ARGUMENT): New macro. |
| (mmix_target_asm_function_prologue): When no epilogue is executed, |
| just emit a blank line. Use MMIX_POP_ARGUMENT with final POP insn. |
| (mmix_print_operand) <case '.'>: New case. |
| (mmix_print_operand_punct_valid_p): Match '.'. |
| (mmix_use_simple_return): New function. |
| * config/mmix/mmix-protos.h (mmix_use_simple_return): Prototype. |
| * doc/invoke.texi (Option Summary) <MMIX Summary>: Add |
| -msingle-exit, -mno-single-exit. |
| (MMIX Options): Ditto. |
| |
| 2002-06-30 Aldy Hernandez <aldyh@redhat.com> |
| |
| * config/i386/i386.c (ix86_init_mmx_sse_builtins): Fix typos. |
| |
| 2002-06-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * gengtype.c (oprintf): Move VA_CLOSE after all fixedarg uses. |
| |
| 2002-06-30 Alan Modra <amodra@bigpond.net.au> |
| |
| * unroll.c (loop_iterations): Handle EQ loops. |
| |
| 2002-06-29 David Edelsohn <edelsohn@gnu.org> |
| |
| * config/rs6000/rs6000.md (ctrdi): Allocate pseudo for FPR |
| constraint in define_expand, not splitter. |
| Formatting. |
| |
| 2002-06-29 Aldy Hernandez <aldyh@redhat.com> |
| |
| * config/i386/i386.c (ix86_init_mmx_sse_builtins): Use |
| build_function_type_list instead of build_function_type. |
| |
| * config/ia64/ia64.c (ia64_init_builtins): Same. |
| |
| * config/alpha/alpha.c (alpha_init_builtins): Same. |
| |
| * config/rs6000/rs6000.c (altivec_init_builtins): Same. |
| |
| * config/arm/arm.c (arm_init_builtins): Same. |
| |
| * tree.h: Add build_function_type_list prototype. |
| |
| * tree.c (build_function_type_list): New. |
| |
| 2002-06-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * collect2.c (scan_prog_file): Fix typo in message. |
| |
| 2002-06-28 Aaron Lehmann <aaronl@vitelus.com> |
| |
| * fold-cont.c: Remove unused CHARMASK. |
| |
| 2002-06-29 Neil Booth <neil@daikokuya.co.uk> |
| |
| PR preprocessor/7150 |
| * cppmain.c (scan_translation_unit_trad): Simplify. |
| * cppmacro.c (cpp_scan_nooutput): Handle traditional case. |
| |
| 2002-06-29 Neil Booth <neil@daikokuya.demon.co.uk> |
| |
| * config/i386/crtdll.h: Define EXTRA_OS_CPP_BUILTINS. |
| Don't use CPP_PREDEFINES. |
| * config/i386/cygwin.h (EXTRA_OS_CPP_BUILTINS): New. |
| Used TARGET_OS_CPP_BUILTINS in preference to CPP_PREDEFINES. |
| * config/i386/djgpp.h, config/i386/i386-coff.h, |
| config/i386/i386-interix.h, config/i386/i386-interix3.h, |
| config/i386/lynx-ng.h, config/i386/lynx.h, config/i386/mingw32.h, |
| config/i386/openbsd.h, config/i386/ptx4-i.h, config/i386/sysv3.h, |
| config/i386/uwin.h: Similarly. |
| |
| 2002-06-29 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl> |
| |
| * c4x.h: (TARGET_CPU_CPP_BUILTINS): Check flag_inline_functions and |
| flag_inline_trees to enable inlining. |
| |
| 2002-06-28 Phil Edwards <pme@gcc.gnu.org> |
| |
| * configure.in (gcc_gxx_include_dir): Change to match versioned |
| C++ headers if --enable-version-specific-runtime-libs is used. |
| * configure: Regenerate. |
| |
| 2002-06-28 Jan Hubicka <jh@suse.cz> |
| |
| * gcse.c (gcse_emit_move_after): Use gen_move_insn to produce the move. |
| |
| 2002-06-28 Stephen Clarke <stephen.clarke@superh.com> |
| |
| * combine.c (combine_simplify_rtx): Pass the mode of the |
| shift count, not the shift operation when trying to simplify |
| a shift on a SHIFT_COUNT_TRUNCATED target. |
| |
| 2002-06-28 Stephane Carrez <stcarrez@nerim.fr> |
| |
| * config/m68hc11/m68hc11.md ("*addsi3"): Use 'o' constraint to |
| avoid the auto increment addressing modes. |
| ("*subsi3"): Likewise. |
| (split for add/sub on address): For 68HC12 push the value on |
| the stack and do the operation with a pop. |
| |
| 2002-06-28 Neil Booth <neil@daikokuya.co.uk> |
| |
| * cpplib.c (_cpp_handle_directive): Move #define-specific |
| code to the #define handler... |
| (do_define): ...here. |
| (lex_macro_node): No longer a need to check for comments here. |
| |
| 2002-06-28 Stephane Carrez <stcarrez@nerim.fr> |
| |
| * config/m68hc11/m68hc11.h (OPTIMIZATION_OPTIONS): Define. |
| * config/m68hc11/m68hc11-protos.h (m68hc11_optimization_options): |
| Declare. |
| * config/m68hc11/m68hc11.c (m68hc11_optimization_options): New, |
| do not reorder basic blocks at the end when optimizing for size. |
| |
| 2002-06-28 Stephane Carrez <stcarrez@nerim.fr> |
| |
| * config/m68hc11/m68hc11.c (autoinc_mode): New function. |
| (m68hc11_make_autoinc_notes): New function. |
| (m68hc11_split_move): Be very cautious when spliting a move with |
| auto increment/decrement modes because this may result in incompatible |
| directions; add REG_INC notes to the resulting insn for CSE reg. |
| |
| 2002-06-28 Stephane Carrez <Stephane.Carrez@nerim.fr> |
| |
| * config/m68hc11/m68hc11.c (register_indirect_p): For 68HC12 a constant |
| can be a valid address. |
| |
| 2002-06-28 Aldy Hernandez <aldyh@redhat.com> |
| |
| * config/rs6000/rs6000.c: Remove unusued variables from last |
| patch. |
| |
| 2002-06-27 Aldy Hernandez <aldyh@redhat.com> |
| |
| Revert: |
| * config/rs6000/rs6000.c (rs6000_override_options): Move |
| *SUBTARGET_OVERRIDE_OPTIONS before the -m options. |
| |
| 2002-06-27 Aldy Hernandez <aldyh@redhat.com> |
| |
| * config/rs6000/rs6000.c (altivec_expand_builtin): Move |
| lvx/stv/dst builtins... |
| (altivec_expand_ld_builtin): ...to here. |
| (altivec_expand_st_builtin): ...here. |
| (altivec_expand_dst_builtin): ...and here (respectively). |
| |
| 2002-06-28 Bob Wilson <bob.wilson@acm.org> |
| |
| * config/xtensa/xtensa.h (RETURN_IN_MEMORY): Update comment. |
| |
| 2001-06-08 Bernd Schmidt <bernds@redhat.com> |
| |
| * emit-rtl.c (gen_lowpart_common): Don't create paradoxical FLOAT_MODE |
| subregs. |
| * recog.c (general_operand, register_operand): Disallow them. |
| |
| 2002-06-28 Neil Booth <neil@daikokuya.co.uk> |
| |
| PR preprocessor/7138 |
| * cpplib.c (_cpp_handle_directive): Do traditional |
| preparation after setting state.angled_headers. |
| * cpptrad.c (scan_out_logical_line): Fix potential |
| quote bug. |
| |
| 2002-06-27 Aldy Hernandez <aldyh@redhat.com> |
| |
| * config/rs6000/rs6000.c (rs6000_override_options): Move |
| *SUBTARGET_OVERRIDE_OPTIONS before the -m options. |
| |
| 2002-06-27 Bob Wilson <bob.wilson@acm.org> |
| |
| * config/xtensa/xtensa.md: Give "*xxx" names to all unnamed insn's. |
| (*lsiu, *ssiu, movstrsi_internal, zero_cost_loop_start, |
| zero_cost_loop_end): Remove unnecessary "parallel" from insns. |
| |
| 2002-06-27 Roger Sayle <roger@eyesopen.com> |
| |
| * config/d30v/d30v.h: Remove commented out STACK_REGS #defines. |
| * config/stormy16/stormy16.h: Likewise. |
| |
| * config/stormy16/stormy16.h (CUMULATIVE_ARGS): Replace typedef |
| with #define. |
| |
| 2002-06-26 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> |
| |
| * doc/install.texi (Binaries): Add Sinix/Reliant Unix. Move |
| Hitachi entry. Make punctuation more consistent. |
| |
| 2002-06-27 Matt Kraai <kraai@alumni.cmu.edu> |
| |
| * doc/install.texi: Change ` bit' to `-bit'. |
| * doc/md.texi: Change `-bits' to `-bit'. |
| * doc/tm.texi: Change `-bits' to ` bits'. |
| |
| 2002-06-27 Daniel Berlin <dberlin@dberlin.org> |
| |
| * gcse.c (hoist_code): Rewrite to only get list of dominated |
| blocks once per BB. Also fix reversed test (by removing need for |
| the test at all). |
| |
| 2002-06-27 Neil Booth <neil@daikokuya.co.uk> |
| |
| * cpphash.h (_cpp_set_trad_context): Remove. |
| * cpplib.c (prepare_directive_trad): Do nothing for #define. |
| (cpp_push_buffer, _cpp_pop_buffer): Don't call _cpp_set_trad_context. |
| * cpptrad.c: Update comments. |
| (_cpp_read_logical_line_trad): Let scan_logical_line handle |
| updating the current context. |
| (scan_logical_line): Update the current context. |
| (_cpp_create_trad_definition): Similarly. |
| (_cpp_set_trad_context): Remove. |
| |
| 2002-06-27 Neil Booth <neil@daikokuya.co.uk> |
| |
| PR preprocessor/7070 |
| * c-lex.c (cb_def_pragma): Don't try to spell CPP_EOF. |
| |
| 2002-06-26 Bob Wilson <bob.wilson@acm.org> |
| |
| * config/xtensa/xtensa-protos.h (xtensa_return_addr): Declare. |
| config/xtensa/xtensa.c (xtensa_return_addr): New function. |
| config/xtensa/xtensa.h (RETURN_ADDR_RTX): Use xtensa_return_addr. |
| config/xtensa/xtensa.md (fix_return_addr): New pattern. |
| |
| 2002-06-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * mips.c (coprocessor_operand, coprocessor2_operand, |
| symbolic_operand): Move prototypes from here... |
| * mips-protos.h (coprocessor_operand, coprocessor2_operand, |
| symbolic_operand): ...to here. |
| |
| Wed Jun 26 16:32:57 2002 J"orn Rennecke <joern.rennecke@superh.com> |
| |
| * config/sh/crt1.asm: remove _stack label definition |
| and sentinel value. |
| |
| 2002-06-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * varasm.c: Include real.h before output.h. |
| |
| 2002-06-26 Aldy Hernandez <aldyh@redhat.com> |
| |
| * config/rs6000/rs6000.h (ALTIVEC_VECTOR_MODE): Revert change to |
| check for TARGET_ALTIVEC. |
| |
| 2002-06-26 Nathanael Nerode <neroden@gcc.gnu.org> |
| |
| * config.gcc (vax-*-vms*): Make obselete. |
| |
| 2002-06-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * gcc.c (warn_std): Delete. |
| |
| 2002-06-25 Loren J. Rittle <ljrittle@acm.org> |
| |
| * doc/extend.texi: Fix formatting of last checkin. |
| |
| 2002-06-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> |
| |
| * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Remove leading |
| underscore from __IEEE_FP and __IEEE_FP_INEXACT. |
| |
| 2002-06-25 Aldy Hernandez <aldyh@redhat.com> |
| |
| * doc/extend.texi (PowerPC AltiVec Built-in Functions): Document |
| discrepancies from motorola's documentation. |
| |
| Tue Jun 25 21:51:13 2002 J"orn Rennecke <joern.rennecke@superh.com> |
| |
| * optabs.c (expand_vector_binop, expand_vector_unop): Don't assume |
| GET_MODE_UNIT_SIZE (mode) == UNITS_PER_WORD. |
| |
| * config/sh/lib1funcs.asm (udivdi3): Make first divide step |
| produce a 32 bit result before normalization, then normalize with a |
| left shift. Compute approximative error of 2nd reciprocal |
| approximation in 2's complement. Fix mask generation from upper |
| longword of second divide stage result. |
| For large divisor, fix shift count used to truncate first stage |
| divide result; make decision if to adjust upwards based on comparison |
| of higher parts of normalized values. |
| (udivdi): Likewise. Undo normalization of result for large divisor |
| case. |
| |
| 2002-06-25 David S. Miller <davem@redhat.com> |
| |
| * config/sparc/sparc.md: Change \\{t,n} to \{t,n}. |
| |
| 2002-06-25 Neil Booth <neil@daikokuya.co.uk> |
| |
| * cpplib.c (do_include_common): Revert to correct line number |
| if -traditional. |
| * cpptrad.c (scan_out_logical_line): Treat null directive as |
| white space. Invlidate MI optimization for non-whitespace |
| text outside a directive. |
| |
| 2002-06-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * Makefile.in (SHELL): Set to @SHELL@. |
| * fixinc/Makefile.in (SHELL): Likewise. |
| |
| * mips.md (fixuns_truncdfsi2, fixuns_truncdfdi2, |
| fixuns_truncsfsi2, fixuns_truncsfdi2): Avoid automatic aggregate |
| initialization. |
| |
| 2002-06-24 Jeff Law <law@redhat.com> |
| |
| * flow.c (propagate_one_insn): When removing an insn |
| with a REG_LIBCALL note but not the entire libcall sequence, |
| delete the associated REG_RETVAL note. |
| |
| Mon Jun 24 21:05:09 2002 J"orn Rennecke <joern.rennecke@superh.com> |
| |
| * lib1funcs.asm (sdivsi3): Add optimized SH64 implementations. |
| (udivsi3): Likewise. Rewrite SH1 implementation. |
| (udivdi3, divdi3, umoddi3, moddi3): New SHmedia functions. |
| * sh.md (R20_REG, R21_REG, R22_REG, R23_REG, FR23_REG): New constants. |
| (udivsi3_i1_media, divsi3_i1_media): Fix clobber list. |
| * config/sh/t-sh64 (LIB1ASMFUNCS): (_udivdi3, _divdi3, _umoddi3): Add. |
| (_moddi3): Likewise. |
| |
| * lib1funcs.asm (ic_invalidate): Add data cache line writeback. |
| |
| * sh.h (FUNCTION_ARG_ADVANCE): Take SHCOMPACT_FORCE_ON_STACK |
| arguments into account for stack_regs. |
| |
| 2002-06-24 Matt Kraai <kraai@alumni.cmu.edu> |
| |
| * doc/extend.texi: Change `@dots{}' to `/* @r{@dots{}} */' |
| in examples. |
| |
| 2002-06-24 Art Haas <ahaas@neosoft.com> |
| |
| * doc/extend.texi (Other Builtins): Change `...' to `@dots{}'. |
| * doc/tm.texi (Frame Layout): Likewise. |
| |
| 2002-06-20 Steve Ellcey <sje@cup.hp.com> |
| |
| * gcc/config.gcc (ia64*-*-hpux*): Set use_collect2 to no. |
| Set float_format to i128. |
| |
| 2002-06-24 David S. Miller <davem@redhat.com> |
| |
| * config/sparc/sparc.c (INIT_TARGET_OPTABS): If ARCH64, set the |
| 32-bit ABI libfuncs to NULL. |
| |
| * config/sparc/sparc.md: Use define_insn_and_split. Use braced |
| strings instead of quoted strings for code blocks. |
| |
| * expmed.c (expand_divmod): Do not set optab1/optab2 to the shift |
| optabs if op1 is const0_rtx. |
| |
| * Makefile.in (GTFILES): Add basic-block.h |
| * basic-block.h (label_value_list, tail_recursion_label_list): |
| Mark with GTY. |
| |
| 2002-06-24 Neil Booth <neil@daikokuya.co.uk> |
| |
| * cpptrad.c (scan_out_logical_line): Check recursing only when |
| we know we have a macro invocation in the function-like case. |
| Only call _cpp_handle_directive if we know we have a good |
| directive, or we want to reject a bad directive. |
| |
| 2002-06-24 Alan Modra <amodra@bigpond.net.au> |
| |
| * doloop.c (doloop_valid_p): Correct comment. |
| (doloop_modify_runtime <abs_inc != 1>): Simplify. |
| (doloop_modify_runtime <do-while>): Don't emit code when NE. |
| |
| Thu Jun 20 00:26:53 2002 Denis Chertykov <denisc@overta.ru> |
| |
| * config.gcc: Add support for ip2k. |
| |
| 2002-06-23 Jan Hubicka <jh@suse.cz> |
| Jeff Law <law@redhat.com> |
| |
| * function.h (struct emit_status): Clarify potential contents |
| of regno_reg_rtx array. |
| * integrate.c (copy_rtx_and_substitute): Update comments. Make |
| sure entry in regno_reg_rtx is a REG before checking REG_POINTER. |
| |
| * reg-stack.c (convert_regs_exit): Push the registers to stack in |
| proper order. |
| |
| 2002-06-22 Ulrich Weigand <uweigand@de.ibm.com> |
| |
| PR middle-end/6963 |
| * function.c (assign_stack_temp_for_type): Do not return |
| the same MEM rtx for multiple uses of a stack slot. |
| |
| 2002-06-22 David S. Miller <davem@redhat.com> |
| |
| PR target/6841 target/6770 target/6719 |
| * config/sparc/sparc.h (PREFERRED_RELOAD_CLASS): Return |
| NO_REGS for constant X when CLASS is GENERAL_OR_FP_REGS or |
| GENERAL_OR_EXTRA_FP_REGS. |
| |
| 2002-06-22 Neil Booth <neil@daikokuya.co.uk> |
| |
| * cpptrad.c (struct fun_macro): Add line number. |
| (scan_out_logical_line): Set it, and use it to report unterminated |
| macro invocations. |
| |
| 2002-06-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * genautomata.c (copy_node, VLA_PTR_CREATE, VLA_PTR_EXPAND, |
| VLA_PTR_ADD, VLA_HWINT_CREATE, VLA_HWINT_EXPAND, VLA_HWINT_ADD, |
| DECL_UNIT, DECL_BYPASS, DECL_AUTOMATON, DECL_EXCL, DECL_PRESENCE, |
| DECL_ABSENCE, DECL_RESERV, DECL_INSN_RESERV, REGEXP_UNIT, |
| REGEXP_RESERV, REGEXP_SEQUENCE, REGEXP_REPEAT, REGEXP_ALLOF, |
| REGEXP_ONEOF, check_name): Const-ify. |
| |
| 2002-06-21 Matt Thomas <matt@3am-software.com> |
| |
| * config/vax/vax.c (vax_output_function_prologue): Use |
| REGISTER_PREFIX. Fix some indentation. |
| * config/vax/vax.h (FUNCTION_PROFILER): Use reg_names[]. |
| (VAX_ISTREAM_SYNC): Define. |
| (INITIALIZE_TRAMPOLINE): Use VAX_ISTREAM_SYNC. Move the |
| i-stream sync to the end. |
| (REGISTER_PREFIX): Define as "". |
| (ASM_OUTPUT_MI_THUNK): Use REGISTER_PREFIX. |
| |
| 2002-06-21 Jason Thorpe <thorpej@wasabisystems.com> |
| |
| * config.gcc (ns32k-*-netbsd*): Remove from list of obsolete |
| configurations. |
| |
| 2002-06-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * tree.c (tree_node_kind, tree_node_counts, tree_node_sizes, |
| tree_node_kind_names): Wrap in GATHER_STATISTICS macro. |
| |
| 2002-06-21 Matt Thomas <matt@3am-software.com> |
| |
| * config/vax/netbsd.h: Adjust a comment. |
| (TARGET_DEFAULT): Redefine as 0. |
| |
| 2002-06-21 Richard Henderson <rth@redhat.com> |
| |
| * bb-reorder.c (make_reorder_chain_1): Search harder for the |
| vax casesi fallthru edge. |
| * cfglayout.c (cleanup_unconditional_jumps): Use |
| redirect_edge_succ_nodup. Do not delete ADDR_VEC insns as dead. |
| * cfgrtl.c (force_nonfallthru_and_redirect): Place redirection |
| block after ADDR_VEC. |
| |
| 2002-06-21 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> |
| |
| * config/sparc/t-linux64 (EXTRA_MULTILIB_PARTS): Add crtfastmath.o. |
| |
| 2002-06-21 Neil Booth <neil@daikokuya.co.uk> |
| |
| * cpperror.c (cpp_error): For traditional CPP, default to |
| diagnostics on pfile->line. |
| * cpplib.c (prepare_directive_trad): Set line number for |
| diagnostics for #define too. |
| * cpptrad.c (skip_whitespace): Skip comments properly. |
| (_cpp_expansions_different_trad): Initialize quote2. |
| |
| 2002-06-21 Hans-Peter Nilsson <hp@bitrange.com> |
| |
| * config/mmix/mmix.md: Change GNU CC to GCC in file header comment. |
| * config/mmix/mmix.h: Ditto. |
| * config/mmix/mmix-protos.h: Ditto. |
| * config/mmix/mmix.c: Ditto. Fix typo in comment. |
| * config/mmix/mmix-modes.def: Change GNU CC to GCC in file header |
| comment. Comment extra CC modes. |
| |
| 2002-06-20 Jan Hubicka <jh@suse.cz> |
| |
| * cfglayout.c (scope_to_insns_initialize): Call set_block_levels. |
| (scope_to_insns_finalize): Do not call set_block_levels; handle |
| sequences. |
| (choose_inner_scope): New. |
| * rtl.h (choose_inner_scope): Declare. |
| |
| 2002-06-20 John David Anglin <dave@hiauly1.hia.nrc.ca> |
| |
| * pa-protos.h (pa_asm_output_mi_thunk): Change third argument to |
| HOST_WIDE_INT. |
| * pa.c (pa_asm_output_mi_thunk): Likewise. |
| (n_deferred_plabels): Change type to size_t. |
| (output_deferred_plabels, output_call): Use size_t instead of int. |
| |
| 2002-06-20 Richard Henderson <rth@redhat.com> |
| |
| PR target/4041 |
| * config/m68k/m68k.md (zero_extendsidi2): Create expander; duplicate |
| pattern and adjust constraints for coldfire. |
| |
| 2002-06-20 Richard Henderson <rth@redhat.com> |
| |
| * explow.c (probe_stack_range): Use gen_rtx_fmt_ee. |
| |
| 2002-06-20 Chris Demetriou <cgd@broadcom.com> |
| |
| * config.gcc (mipsisa64-*-elf*, mipsisa64el-*-elf*): New targets. |
| |
| 2002-06-20 Chris Demetriou <cgd@broadcom.com> |
| |
| * config/mips/mips.h (ISA_HAS_FP4): Fix comment to reflect use. |
| |
| 2002-06-20 Stan Shebs <shebs@apple.com> |
| |
| * dominance.c: Include errors.h instead of error.h. |
| |
| 2002-06-20 Neil Booth <neil@daikokuya.co.uk> |
| |
| * cppexp.c (cpp_interpret_integer): Don't force traditional |
| numbers to be unsigned. |
| * cpplib.c (prepare_directive_trad): Set line number for |
| diagnostics. |
| * cpptrad.c (scan_out_logical_line): Continue scanning out |
| at start of buffer. |
| * gcc.c (trad_capable_cpp): Use cc1 always. |
| |
| 2002-06-20 Jeffrey Law <law@redhat.com> |
| |
| * i386.h (TARGET_DEFAULT): Do not turn on frame pointer |
| elimination in leaf functions by default yet. |
| |
| 2002-06-20 Richard Sandiford <rsandifo@redhat.com> |
| |
| * combine.c (make_extraction): Reapply to the argument of an ASHIFT. |
| |
| 2002-06-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> |
| |
| * config/sparc/t-crtfm (crtfastmath.o): Prefix with $(T) for |
| multilibs. |
| * config/sparc/t-sol2-64 (EXTRA_MULTILIB_PARTS): Add crtfastmath.o. |
| Fixes PR other/6836. |
| |
| Thu Jun 20 19:42:21 CEST 2002 Jan Hubicka <jh@suse.cz> |
| Pavel Nejedly <bim@atrey.karlin.mff.cuni.cz> |
| |
| Mon Jun 10 20:42:34 CEST 2002 Jan Hubicka <jh@suse.cz> |
| |
| * basic-block.h: Do not include et-forest.h |
| (dominance_info): Declare as struct dominance-info. |
| * cfglayout.c (cleanup_unconditional_jumps): Remove the edge before |
| deleting block. |
| * dominance.c (struct dominance_info): Define. |
| (BB_NODE, SET_BB_NODE): New macros. |
| (bb_hash_func, bb_eq_func): Kill. |
| (calculate_dominace_info, free_dominacne_info, set_immediate_dominator, |
| nearest_common_dominator, dominated_by_p, recount_dominator, |
| add_to_dominance_info, delete_from_dominance_info): update for new |
| representation. |
| (get_dominated_by, redirect_immediate_dominators): Rewrite using |
| enumerate_sons. |
| * ifcvt.c (process_double_test_block, merge_if_block, find_cond_trap, |
| find_if_case_1, find_if_case_2): Remove killed blocks from dominance |
| structure. |
| |
| * et-forest.h: Update copyright; revamp all function to operate on |
| nodes |
| (et_forest_value): Kill. |
| (et_forest_enumerate_sons, et_forest_node_value): New. |
| * et-forest.c: Update copyright. |
| * et-forest.h: Update copyright; revamp all function to operate on |
| nodes |
| (et_forest_value): Kill. |
| (et_forest_enumerate_sons, et_forest_node_value): New. |
| |
| Thu Jun 6 22:43:43 CEST 2002 Jan Hubicka <jh@suse.cz> |
| |
| * basic-block.h: Inlude et-forest.h |
| (basic_block_def): Kill dominator. |
| (dominance_info): New type. |
| (loops): Use dominace_info. |
| (dominace handling functions): Take dominace_info as argument |
| instead of bitmaps. |
| (create_preheader): Likewise. |
| * cfg.c (entry_exit_blocks): Kill dominator. |
| (dump_flow_info): Do not dump dominators. |
| * cfglayout.c (cleanup_unconditonal_jumps): Delete deleted block from |
| dominators. |
| * cfgloop.c (flow_pre_header_find): Use dominacne_info. |
| (flow_loops_pre_header_scan, make_forwarder_block, |
| canonicale_loop_headers, flow_loops_find): Likewise. |
| * dominance.c: Include error.h |
| (idoms_to_doms): Kill. |
| (bb_hash_func, bb_eq_func): New static functions. |
| (debug_dominace_info): New global function. |
| (calculate_dominance_info): Use new et forest structure. |
| (free_dominace_info, get_immediate_dominator, set_immediate_dominator, |
| get_dominated_by, redirect_immediate_dominators, |
| nearest_common_dominator, dominated_by_p, verify_dominators, |
| recount_dominator, iterate_fix_dominators, add_to_dominace_info, |
| delete_from_dominance_info): New global functions. |
| * gcse.c (domnators): CHange to dominance_info. |
| (alloc_hoist_mem): Do not alloc dominators |
| (free_code_hoist_mem): Use free_dominance_info. |
| (compute_code_hoist_data): Use dominance_info. |
| (hoist_code): Likewise. |
| * ifcvt.c (post_dominators): Likewise. |
| (find_if_case_2, if_convert): Likewise. |
| * predict.c (process_note_predictions, process_note_prediction, |
| estimate-probability): Likewise. |
| * sched-rgn.c (find_rgns, init_regions): Likewise. |
| * ssa-dce.c (find_all_control_dependences, fint_control_depemndence, |
| find_pdom, delete_insn_bb, ssa_eliminate_dead_code): Likewise. |
| * ssa.c (compute_dominance_frontiers_1, rename_block, rename_registers, |
| find_evaluations, convert_to_ssa): Likewise. |
| * ssa.h (compute_dominance_frontiers): Likewise. |
| |
| Thu Jun 6 22:57:34 CEST 2002 Pavel Nejedly <bim@atrey.karlin.mff.cuni.cz> |
| |
| * Makefile.in (et-forest.c): Add. |
| * et-forest.c: New file. |
| * at-forest.h: New file. |
| |
| 2002-06-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * c-decl.c (c_decode_option): Use ARRAY_SIZE in lieu of explicit |
| array size calculation. |
| * gengtype.c (NUM_BASE_FILES, create_file, write_gc_root): |
| Likewise. |
| |
| * diagnostic.c (diagnostic_kind_text): Const-ify. |
| * gengtype.c (lang_names): Likewise. |
| |
| Thu Jun 20 17:25:29 CEST 2002 JAn HUbicka <jh@suse.cz> |
| |
| * combine.c (subst): Be prepared for simplify_subreg to return VOIDmode. |
| |
| 2002-06-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> |
| |
| * config/sol2.h: New file. |
| * config.gcc (i?86-*-solaris2*): Include it before i386/sol2.h. |
| (sparc64-wrs-vxworks*): Include it before sparc/sol2.h. |
| (sparc-*-chorusos*): Likewise. |
| (sparc-*-elf*): Likewise. |
| (sparc-*-rtems*, sparc-*-rtemself*): Likewise. |
| (sparc64-*-solaris2*, sparcv9-*-solaris2*): Likewise. |
| (sparc-hal-solaris2*): Likewise. |
| (sparc-*-solaris2*): Likewise. |
| (sparclite-*-elf*): Likewise. |
| (sparc86x-*-elf*): Likewise. |
| (sparc64-*-elf*): Likewise. |
| |
| * config/i386/sol2.h (PREFERRED_DEBUGGING_TYPE): Moved to |
| config/sol2.h. |
| (ASM_SPEC): Override config/sol2.h version for now. |
| Removed obsolete GAS_REJECTS_MINUS_S variant. |
| (WINT_TYPE, WINT_TYPE_SIZE): Moved to config/sol2.h. |
| (HANDLE_PRAGMA_REDEFINE_EXTNAME): Likewise. |
| (TARGET_OS_CPP_BUILTINS): Likewise. |
| Assert system=unix. |
| (CPP_SPEC): Simplified using new CPP_SUBTARGET_SPEC. |
| (LIB_SPEC, ENDFILE_SPEC, STARTFILE_SPEC, LINK_SPEC): Moved to |
| config/sol2.h. |
| (SWITCH_TAKES_ARG, STDC_0_IN_SYSTEM_HEADERS): Likewise. |
| (ASM_CPU_SPEC): Define. |
| (SUBTARGET_EXTRA_SPECS): Define. |
| |
| * config/sparc/sol2-bi.h (LONG_DOUBLE_TYPE_SIZE): Removed, already |
| in config/sparc/sol2.h. |
| (ASM_SPEC): Moved to config/sol2.h. |
| (CPP_CPU_SPEC): Simplified. |
| (STARTFILE_SPEC32): Likewise, renamed to STARTFILE_ARCH32_SPEC for |
| consistency. |
| (STARTFILE_SPEC64): Renamed to STARTFILE_ARCH64_SPEC. |
| (STARTFILE_ARCH_SPEC): Use new names STARTFILE_ARCH32_SPEC, |
| STARTFILE_ARCH64_SPEC. |
| (STARTFILE_SPEC): Moved to config/sol2.h |
| (SUBTARGET_EXTRA_SPECS): Add startfile_arch. |
| (LINK_ARCH32_SPEC): Moved to config/sol2.h. |
| (LINK_ARCH64_SPEC): Simplified. |
| (LINK_ARCH_SPEC): Redefined config/sol2.h version for 64-bit support. |
| (LINK_SPEC): Moved to config/sol2.h |
| |
| * config/sparc/sol2.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Moved to |
| config/sol2.h. |
| Use BITS_PER_WORD for size. |
| (WINT_TYPE, WINT_TYPE_SIZE): Likewise. |
| (HANDLE_PRAGMA_REDEFINE_EXTNAME): Likewise. |
| (CPP_PREDEFINES): Removed OS-specific part handled by |
| TARGET_OS_CPP_BUILTINS. |
| (CPP_SUBTARGET_SPEC): Moved to config/sol2.h. |
| (CPLUSPLUS_CPP_SPEC): Removed, handled by TARGET_OS_CPP_BUILTINS. |
| (ASM_SPEC): Moved to config/sol2.h. |
| (PREFERRED_DEBUGGING_TYPE): Likewise. |
| (STARTFILE_SPEC, LIB_SPEC, LINK_SPEC): Likewise. |
| (SWITCH_TAKES_ARG, STDC_0_IN_SYSTEM_HEADERS): Likewise. |
| (TARGET_DEFAULT): Reordered to match config/sparc/sol2-bi.h version. |
| (TRANSFER_FROM_TRAMPOLINE): Moved to config/sol2.h |
| |
| * config.gcc (i?86-*-solaris2*): Removed obsolete gas support. |
| * config/i386/sol2gas.h: Removed. |
| |
| Thu Jun 20 12:14:01 CEST 2002 Jan Hubicka <jh@suse.cz> |
| |
| * i386.md (xorqi_1_slp, xorqi_2_slp): New patterns. |
| |
| 2002-06-16 Aldy Hernandez <aldyh@redhat.com> |
| |
| * gcc.c-torture/execute/simd-1.c: New. |
| |
| * gcc.dg/simd-1.c: New. |
| |
| * doc/extend.texi (Vector Extensions): Document that we can |
| specify simd types not specifically supported by the hardware. |
| Document that simd types can be used as function arguments. |
| Document that signness does make a difference in SIMD types. |
| Misc cleanups and revisions to the vector extensions section. |
| |
| * simplify-rtx.c (simplify_subreg): Simplify subregs of vector |
| constants. |
| |
| * expr.c (vector_mode_valid_p): New. |
| |
| * expr.h: Add vector_mode_valid_p. |
| |
| * defaults.h (VECTOR_MODE_SUPPORTED_P): Set default. |
| |
| * c-common.c (type_for_mode): Always build vector nodes regardless |
| of VECTOR_MODE_SUPPORTED_P. |
| (handle_mode_attribute): Error if we can't emulate a nonexisting |
| vector mode. |
| (handle_vector_size_attribute): Same. |
| |
| * optabs.c (expand_binop): Open-code vector operations. |
| (expand_unop): Open-code vector unops. |
| (expand_vector_binop): New. |
| (expand_vector_unop): New. |
| |
| * c-typeck.c (build_binary_op): Allow vectors in binops. |
| Allow vectors in conditional operatiors. |
| (build_unary_op): Allow vectors in unary minus. |
| |
| * config/rs6000/rs6000.h (ALTIVEC_VECTOR_MODE): Conditionalize on |
| TARGET_ALTIVEC. |
| |
| 2002-05-20 Richard Henderson <rth@redhat.com> |
| |
| * c-common.c (c_common_get_alias_set): Correctly handle characters. |
| Rearrange order of expressions; don't handle vectors here. |
| * alias.c (get_alias_set): Let vectors match their components. |
| |
| 2002-06-19 Chris Demetriou <cgd@broadcom.com> |
| |
| * config/mips/mips.c (mips_emit_prefetch): Use hints which |
| match desired locality. |
| |
| 2002-06-19 Dhananjay R. Deshpande <dhananjayd@kpit.com> |
| |
| * config/h8300/h8300.c (TARGET_INSERT_ATTRIBUTES): Define. |
| (h8300_insert_attributes): New. |
| |
| 2002-06-19 Akim Demaille <akim@epita.fr> |
| |
| * c-parse.in (initelt: identifier ':' initval): Add an empty |
| action to fix a type clash. |
| (aliasdecl, classdef): Add the missing closing `;'. |
| Whitespace changes. |
| * gengtype-yacc.y (typedef_struct): Add an empty action to preevnt |
| $$ = $1 type clashes. |
| |
| 2002-06-19 Eric Christopher <echristo@redhat.com> |
| |
| * config/mips/mips.c (symbol_operand): New function. |
| (mips_emit_prefetch): Ditto. |
| * config/mips/mips-protos.h: Define. |
| * config/mips/mips.h (ISA_HAS_PREFETCH): Define. |
| (CONSTANT_ADDRESS_P): Adjust, use TARGET_GAS. |
| (LEGITIMIZE_ADDRESS): Ditto. |
| * config/mips/mips.md (prefetch, prefetch_si_address, |
| prefetch_si, prefetch_di_address, prefetch_di): New patterns. |
| |
| 2002-06-19 Eric Christopher <echristo@redhat.com> |
| |
| * config/fp-bit.h: Add unordered defines for gofast. |
| |
| 2002-06-19 Vladimir Makarov <vmakarov@redhat.com> |
| |
| * genautomata.c (DECL_UNIT, DECL_BYPASS, DECL_AUTOMATON, |
| DECL_EXCL, DECL_PRESENCE, DECL_ABSENCE, DECL_RESERV, |
| DECL_INSN_RESERV, REGEXP_UNIT, REGEXP_RESERV, REGEXP_SEQUENCE, |
| REGEXP_REPEAT, REGEXP_ALLOF, REGEXP_ONEOF): New macros with |
| checking and without it. |
| (decl_name, decl_mode_check_failed, regexp_name, |
| regexp_mode_check_failed): New functions. |
| (gen_cpu_unit, gen_query_cpu_unit, gen_bypass, gen_excl_set, |
| gen_presence_set, gen_absence_set, gen_automaton, |
| gen_regexp_repeat, gen_regexp_allof, gen_regexp_oneof, |
| gen_regexp_sequence, gen_reserv, gen_insn_reserv, |
| automaton_decl_hash, automaton_decl_eq_p): Use the macros. |
| (find_automaton_decl): Ditto. Set up mode of work_automaton_decl. |
| (insn_decl_hash, insn_decl_hash, insn_decl_eq_p): Use the macros. |
| (find_insn_decl): Ditto. Set up mode of work_insn_decl. |
| (decl_hash, decl_eq_p): Use the macros. |
| (find_decl): Ditto. Set up mode of work_decl. |
| (process_excls, process_presence_absence, process_decls, |
| check_automaton_usage, process_regexp, process_regexp_decls, |
| check_usage, loop_in_regexp, check_loops_in_regexps, |
| process_regexp_cycles, add_advance_cycle_insn_decl, |
| initiate_states, initiate_excl_sets, |
| initiate_presence_absence_sets, copy_insn_regexp, transform_1, |
| transform_2): Use the macros. |
| (transform_3): Ditto. Check mode before making transformations of |
| ALLOF. |
| (regexp_transform_func, transform_insn_regexps, |
| process_unit_to_form_the_same_automaton_unit_lists, |
| form_the_same_automaton_unit_lists_from_regexp, |
| form_the_same_automaton_unit_lists, |
| process_seq_for_forming_states, process_alts_for_forming_states, |
| create_alt_states, form_ainsn_with_same_reservs, make_automaton, |
| form_arcs_marked_by_insn, NDFA_to_DFA, set_new_cycle_flags, |
| estimate_one_automaton_bound, compare_max_occ_cycle_nums, |
| units_to_automata_heuristic_distr, create_ainsns, |
| units_to_automata_distr, create_automata): Use the macros. |
| (form_regexp): Ditto. Fix typo in access to fields of ALLOF. |
| (longest_path_length, min_issue_delay_pass_states, |
| output_dead_lock_vect, output_tables, output_insn_code_cases, |
| output_internal_insn_latency_func, output_print_reservation_func, |
| output_description, output_automaton_units, generate): Use the |
| macros. |
| (make_insn_alts_attr): Ditto. Check case when there are not |
| alternatives in the reservation. |
| (make_internal_dfa_insn_code_attr, make_default_insn_latency_attr, |
| make_bypass_attr, form_important_insn_automata_lists, |
| expand_automata): Use the macros. |
| |
| 2002-06-20 Tim Josling <tej@melbpc.org.au> |
| |
| * Makefile.in: Clean up code to check for misspecified languages |
| in enable-languages. |
| |
| 2002-06-19 Andrew Pinski <pinskia@physics.uc.edu> |
| |
| * cpptrad.c (_cpp_replacement_text_len): initialize len. |
| |
| 2002-06-19 Jason Merrill <jason@redhat.com> |
| |
| * Makefile.in (unstrap, restrap): New targets. |
| (bootstrap): Mention restrap. |
| |
| 2002-06-19 Matt Kraai <kraai@alumni.cmu.edu> |
| |
| * except.c (ehl_free): Remove. |
| |
| * doc/tm.texi (TARGET_CPU_CPP_BUILTINS): Correct misnamings of |
| builtin_define and builtin_define_std. |
| |
| 2002-06-19 Ian Dall <ian@sibyl.beware.dropbear.id.au> |
| |
| * config/ns32k/ns32k.md: Give "*xxx" names to all unnamed insn's. |
| (sCOND): Restrict operand class so that gcc knows how to reload them. |
| (bitfield_set): Merge two unnamed insn's using alternatives. |
| (call_value): Remove constraint on unused uperand. |
| (udivmodhi4, udivmodsi4, udivmoddihi4_internal): Remove. |
| (udivmoddiqi4_internal, udivmoddihi4, udivmoddiqi4): Remove. |
| |
| * longlong.h (count_trailing_zeros): Escape newline and beautify. |
| |
| 2002-06-19 Mark Mitchell <mark@codesourcery.com> |
| |
| * Makefile.in (QMTEST_DIR): Simplify definition. |
| |
| 2002-06-19 Nick Clifton <nickc@cambridge.redhat.com> |
| |
| * config/d30v/d30v.h (CUMULATIVE_ARGS): Replace typedef with |
| #define. |
| |
| 2002-06-19 Neil Booth <neil@daikokuya.co.uk> |
| |
| * cpphash.h (struct cpp_reader): Make date and time strings. |
| (_cpp_builtin_macro_text, _cpp_copy_replacement_text, |
| _cpp_replacement_text_len): New. |
| * cppinit.c (cpp_create_reader): Update. |
| (init_builtins): Register appropriate builtins for -traditional-cpp. |
| * cppmacro.c (new_number_token): Remove. |
| (_cpp_builtin_macro_text): New. |
| (builtin_macro): Use it. |
| (cpp_macro_definition): Update to handle traditional macros. |
| * cppmain.c (cb_line_change): Don't do column positioning for |
| traditional output. |
| * cpptrad.c (enum ls): Rename ls_fun_macro to ls_fun_open. New |
| state ls_fun_close. |
| (skip_whitespace): Fix. |
| (maybe_start_funlike): Don't set state.parsing_args. |
| (scan_out_logical_line): Remove duplicate error. Use lex_state |
| rather than state.parsing_args. |
| (push_replacement_text): Handle builtins. |
| (_cpp_replacement_text_len, _cpp_copy_replacement_text): New. |
| |
| 2002-06-18 Hans-Peter Nilsson <hp@axis.com> |
| Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * config/fp-bit.c (_fpmul_parts, _fpdiv_parts): Mark with |
| attribute __always_inline__. |
| |
| 2002-06-18 Bob Wilson <bob.wilson@acm.org> |
| |
| * config/xtensa/xtensa.h (FUNCTION_PROFILER): Respect flag_pic |
| when generating the call to _mcount. |
| (NO_PROFILE_COUNTERS): Define. |
| |
| 2002-06-18 Richard Henderson <rth@redhat.com> |
| |
| * print-rtl.c (print_rtx): Adjust NOTE argument numbers for |
| 2002-06-02 change. |
| |
| Tue Jun 18 20:53:32 2002 J"orn Rennecke <joern.rennecke@superh.com> |
| |
| * t-sh (MULTILIB_EXCEPTIONS): Set to ml. |
| config/sh/t-linux (MULTILIB_EXCEPTIONS): Clear. |
| * config/sh/t-netbsd (MULTILIB_EXCEPTIONS): Likewise. |
| * config/sh/t-sh64 (MULTILIB_EXCEPTIONS): Likewise. |
| |
| * sh-protos.h (sh_pr_interrupt): Declare. |
| * sh.c (sh_pr_interrupt): New function. |
| (print_operand, calc_live_regs, sh_expand_prologue): Use it. |
| (sh_hard_regno_rename_ok): Likewise. |
| * sh.h (NORMAL_MODE): FP_MODE_NONE for interupt handlers. |
| |
| 2002-06-18 Vladimir Makarov <vmakarov@redhat.com> |
| |
| * rtl.def (DEFINE_AUTOMATON): Add description of new options |
| `time' and `v'. Fix incorrect description of option `w'. |
| |
| * doc/md.texi: Ditto. |
| |
| * genautomata.c (TIME_OPTION, V_OPTION): New macros. |
| (gen_automata_option): Process the new options. |
| (transform_2, transform_3): Initialize some variables. |
| (initiate_automaton_gen): Use the new macros. |
| |
| 2002-06-18 Richard Sandiford <rsandifo@redhat.com> |
| |
| * config/mips/mips-protos.h (mips_initial_elimination_offset): Declare. |
| (mips_set_return_address, mips_restore_gp): Declare. |
| * config/mips/mips.h (struct mips_frame_info): Move to mips.c |
| (current_frame_info): Remove. |
| (INITIAL_ELIMINATION_OFFSET): Use mips_initial_elimination_offset. |
| * config/mips/mips.c: Remove uses of current_frame_info. |
| (struct mips_frame_info): Moved from mips.h. Remove 'insns_len'. |
| (struct machine_function): Add 'frame' and 'insns_len'. |
| (current_frame_info, zero_frame_info): Remove. |
| (mips_restore_gp, mips_set_return_address): New. |
| (mips_initial_elimination_offset): New. |
| * config/mips/mips.md (exception_receiver): Use mips_restore_gp. |
| (eh_return define_split): Use mips_set_return_address. |
| |
| 2002-06-18 Neil Booth <neil@daikokuya.demon.co.uk> |
| |
| * cpplib.c (dtable): Update. |
| (end_directive): Decrement expansion prevention count. |
| Clear state.in_expression. |
| (prepare_directive_trad): Set state.in_expression. |
| Increment expansion prevention count. |
| * cpptrad.c (enum ls): New. |
| (_cpp_overlay_buffer): Set overlaid_buffer. |
| (_cpp_remove_overlay): Use overlaid_buffer. |
| (_cpp_read_logcial_line_trad): Update buffer when it might |
| have changed. |
| (scan_out_logical_line): Handle state transitions for assertions |
| and defined() in #if, and for funlike invocations including the |
| directive case. Handle '<' and '>' as a quote mechanism in |
| #include. Warn about unterminated macro invocations. |
| * cpphash.h (struct lexer_state): New member in_expression. |
| (struct cpp_reader): New member overlaid buffer. |
| |
| 2002-06-18 Hans-Peter Nilsson <hp@axis.com> |
| |
| * config/cris/arit.c (do_31div, __Udiv, __Umod): Mark prototype |
| __always_inline__. |
| |
| 2002-06-18 Alan Modra <amodra@bigpond.net.au> |
| |
| * config/ia64/ia64.md (doloop_end_internal): Correct rtl. |
| |
| * doloop.c (doloop_optimize): Extract pattern from insn. |
| |
| 2002-06-17 Matt Kraai <kraai@alumni.cmu.edu> |
| |
| * doc/extend.texi (Function Attributes): Remove `,...' from @var. |
| |
| 2002-06-17 Jeff Law <law@redhat.com> |
| |
| * libgcc2.c: Do not include symcat.h or machmode.h. |
| |
| 2002-06-17 Richard Henderson <rth@redhat.com> |
| |
| PR target/6922 |
| * expmed.c (make_tree): Handle SIGN_EXTEND/ZERO_EXTEND. |
| |
| 2002-06-17 Tom Tromey <tromey@redhat.com> |
| |
| * dwarfout.c: Include function.h. |
| |
| 2002-06-17 Andreas Schwab <schwab@suse.de> |
| |
| * print-rtl.c (print_rtx): Print space before vector, not after. |
| (debug_rtx): Clear sawclose before printing. |
| (debug_rtx_list): Print newline after each list element. |
| (debug_rtx_range): Likewise. |
| |
| 2002-06-17 Richard Henderson <rth@redhat.com> |
| |
| * function.h (struct function) [funcdef_no]: Rename profile_label_no. |
| (current_function_funcdef_no): Similarly. |
| * function.c (funcdef_no): Similarly. |
| (prepare_function_start): Set current_function_funcdef_no. |
| (expand_function_start): Don't set current_function_profile_label_no. |
| * dwarf2out.h (current_funcdef_number): Remove. |
| * dwarf2out.c (current_funcdef_number): Remove. Replace with |
| current_function_funcdef_no throughout. |
| * dwarfout.c, vmsdbgout.c: Similarly. |
| * except.c (sjlj_funcdef_number): Remove. |
| (sjlj_emit_function_enter): Use current_function_funcdef_no instead. |
| (output_function_exception_table): Likewise. |
| * final.c (profile_function): Use current_function_funcdef_no |
| instead of current_function_profile_label_no. |
| |
| 2002-06-17 Vladimir Makarov <vmakarov@redhat.com> |
| |
| * sched-ebb.c (init_ready_list): Check INSN_P first. |
| |
| Mon Jun 17 17:26:15 2002 J"orn Rennecke <joern.rennecke@superh.com> |
| |
| * sh.md (divsi3): Update way how to find insns in a sequence. |
| |
| * reload1.c (merge_assigned_reloads): Don't change reloads |
| other than RELOAD_FOR_INPUT_ADDRESS / RELOAD_FOR_INPADDR_ADDRESS |
| to RELOAD_OTHER when there are conflicting input reloads. |
| |
| 2002-06-17 Richard Earnshaw (rearnsha@arm.com) |
| |
| * function.c (epilogue_done): Correctly build a sequence of insns for |
| a sibcall epilogue. |
| |
| 2002-06-17 Nick Clifton <nickc@cambridge.redhat.com> |
| |
| * config/fr30/fr30.h (CUMULATIVE_ARGS): Replace typedef with |
| #define. |
| |
| * config/m32r/m32r.md: Replace gen_sequence with get_insns. |
| |
| 2002-06-16 Richard Henderson <rth@redhat.com> |
| |
| * config/i386/i386.h (BIGGEST_FIELD_ALIGNMENT): Define instead |
| of ADJUST_FIELD_ALIGN if IN_TARGET_LIBS. |
| |
| 2002-06-16 Richard Henderson <rth@redhat.com> |
| |
| PR opt/6722 |
| * regclass.c (globalize_reg): Update regs_invalidated_by_call. |
| |
| 2002-06-16 Neil Booth <neil@daikokuya.demon.co.uk> |
| |
| * config.gcc: Add i386/sysv4-cpp.h; remove i386-aout.h from vxworks. |
| * config/i386/i386-aout.h, config/i386/i386elf.h, |
| config/i386/sysv4.h: Remove CPP_PREDEFINES. |
| * config/i386/linux64.h, config/i386/i386elf.h, config/i386/mach.h, |
| config/i386/netware.h, config/i386/rtemself.h, config/i386/sco5.h, |
| config/i386/sol2.h, config/i386/vsta.h, config/i386/vxi386.h, |
| config/i386/win32.h: Use TARGET_OS_CPP_BUILTINS rather than |
| CPP_PREDEFINES and part of CPP_SPEC. |
| * config/i386/sysv4-cpp.h: New. |
| |
| 2002-06-16 Richard Henderson <rth@redhat.com> |
| |
| PR c/7030 |
| * dwarf2out.c (modified_type_die): Don't assign the qualified die |
| to the unqualified type. |
| |
| Sun Jun 16 22:16:10 CEST 2002 Jan Hubicka <jh@suse.cz> |
| |
| * i386-protos.h (x86_field_alignment): Declare. |
| * i386.c (x86_field_alignment): Define. |
| * i386.h (ADJUST_FIELD_ALIGNMENT): New. |
| (BIGGEST_FIELD_ALIGNMENT): Kill. |
| |
| 2002-06-16 Richard Henderson <rth@redhat.com> |
| |
| * vax.md (casesi): Use emit_jump_insn. Tidy expander pattern. |
| |
| 2002-06-16 Richard Henderson <rth@redhat.com> |
| |
| * c-common.c (flag_ms_extensions): Move from c++ front end. |
| * c-common.h (flag_ms_extensions): Declare. |
| * c-decl.c (c_decode_option): Add -fms-extensions. |
| (grokfield): Don't accept anonymous structures in ISO C mode; |
| accept only unnamed anonymous structures in GNU C mode; accept |
| Plan 9 extensions in MS mode. |
| * c-parse.in (SAVE_EXT_FLAGS, RESTORE_EXT_FLAGS): Rename from |
| SAVE/RESTORE_WARN_FLAGS; add flag_iso frobbing; update all callers. |
| (extension): Clear flag_iso. |
| * doc/invoke.texi (C Dialect Options): Add -fms-extensions. |
| |
| 2002-06-16 Hans-Peter Nilsson <hp@axis.com> |
| |
| PR target/7042 |
| * reorg.c (make_return_insns) [DELAY_SLOTS_FOR_EPILOGUE]: Exit |
| early if current_function_epilogue_delay_list is non-empty. |
| * config/cris/cris.md ("return"): Add sanity check asserting that |
| current_function_epilogue_delay_list is empty. |
| |
| 2002-06-16 Jeff Law <law@redhat.com> |
| |
| * emit-rtl.c (gen_rtx_REG): Temporarily turn off automatic |
| sharing of hard registers. |
| |
| * toplev.c (rest_of_compilation): Remove redundant conditional. |
| |
| * toplev.c (rest_of_compilation): Perform a simpler, less costly |
| cleanup of the CFG when not optimizing. |
| |
| 2002-06-16 Alan Modra <amodra@bigpond.net.au> |
| |
| * gcc.c (main): Correct startfile_prefix_spec check. |
| |
| 2002-06-12 Geoffrey Keating <geoffk@redhat.com> |
| |
| * config.gcc: Revert rth's patch of 2002-05-18. Instead, |
| include both darwin.o and rs6000-c.o. |
| |
| 2002-06-15 Roger Sayle <roger@eyesopen.com> |
| |
| * expr.c (compare_from_rtx): Call simplify_relational_operation |
| on all comparisons, not just those between integer constants, |
| with the correct (possibly unsigned) comparison code. |
| (do_compare_rtx_and_jump): Likewise. |
| |
| 2002-06-15 John David Anglin <dave@hiauly1.hia.nrc.ca> |
| |
| * Makefile.in (tm_defines): New configuration variable. |
| (cs-config.h, cs-hconfig.h, cs-tconfig.h): Rename DEFINES to XM_DEFINES. |
| Pass tm_defines in TM_DEFINES. |
| (cs-tm_p.h): Rename DEFINES to XM_DEFINES. Pass TM_DEFINES. |
| * config.gcc (tm_defines): New configuration variable. |
| (hppa*-*-* | parisc*-*-*): Use tm_defines instead of pa-700.h and |
| pa-7100.h headers. Change hppa1* scheduling default to 7100LC. |
| * configure.in: Substitute tm_defines. |
| * configure: Rebuilt. |
| * mkconfig.sh: Rename DEFINES to XM_DEFINES. Output TM_DEFINES. |
| * doc/install.texi: Update. |
| * pa/pa-700.h: Delete file. |
| * pa/pa-7100.h: Delete file. |
| |
| 2002-06-15 Roger Sayle <roger@eyesopen.com> |
| |
| * fold-const.c (comparison_to_compcode): New function to convert |
| an comparison TREE CODE into a bit-based representation. |
| (compcode_to_comparison): New function to convert from this bit |
| based representation back to a comparison TREE CODE. |
| (fold_truthop): Simplify (x<y) && (x==y) and related composite |
| comparisons. |
| |
| 2002-06-15 Aldy Hernandez <aldyh@redhat.com> |
| |
| * tm.texi (MEMBER_TYPE_FORCES_BLK): Document MODE argument. |
| |
| * stor-layout.c (compute_record_mode): Remove check for |
| FUNCTION_ARG_REG_LITTLE_ENDIAN and VOIDmode when checking for |
| MEMBER_TYPE_FORCES_BLK. Pass new mode field to |
| MEMBER_TYPE_FORCES_BLK. |
| |
| * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Same. |
| |
| * config/c4x/c4x.h (MEMBER_TYPE_FORCES_BLK): Same. |
| |
| 2002-06-14 Jeff Sturm <jsturm@one-point.com> |
| |
| * config/sparc/sparc.h (DYNAMIC_CHAIN_ADDRESS): Add SPARC_STACK_BIAS. |
| |
| 2002-06-14 Steve Ellcey <sje@cup.hp.com> |
| |
| * configure.in (USE_UNWIND_EXCEPTIONS): Add support to set |
| USE_UNWIND_EXCEPTIONS if --enable-libunwind-exceptions is set. |
| * configure, config.in: Regenerate. |
| |
| 2002-06-14 Eric Botcazou <ebotcazou@multimania.com> |
| |
| * loop.c (check_final_value): Use v->always_executed |
| instead of v->always_computable. |
| * unroll.c (final_giv_value): Don't calculate the final |
| value as a function of the biv if the giv is not computed |
| for every loop iteration. |
| |
| 2002-06-14 Eric Botcazou <ebotcazou@multimania.com> |
| |
| * loop.c (for_each_insn_in_loop): Fix formatting and comments. |
| |
| 2002-06-14 Eric Botcazou <ebotcazou@multimania.com> |
| |
| PR c/6677 |
| * convert.c (convert_to_integer) [LSHIFT_EXPR]: Don't pass |
| the truncation down when the target type is signed. |
| [trunc1]: Use unsigned arithmetic for LSHIFT_EXPR. |
| * fold-const.c (extract_muldiv) [NOP_EXPR]: Don't pass through |
| the conversion if the target type is a smaller type. |
| |
| 2002-06-14 Richard Henderson <rth@redhat.com> |
| |
| * fold-const.c (fold) [compare ops]: Move X>=C / X<C transfomation |
| earlier. Re-factor comparisons vs extrema. |
| |
| 2002-06-14 Richard Henderson <rth@redhat.com> |
| |
| * config/alpha/alpha.md (builtin_zapnot): Fix op2 mode. |
| |
| 2002-06-14 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> |
| |
| * rtl.h (SCHED_GROUP_P): Disallow CODE_LABEL, BARRIER and NOTE. |
| * sched-deps.c (add_dependence): Likewise. |
| (group_leader): Likewise. |
| * sched-rgn.c (init_ready_list): Likewise. |
| * doc/rtl.texi: Adjust accordingly. |
| |
| 2002-06-13 Jeffrey Law <law@redhat.com> |
| |
| * gcse.c (delete_null_pointer_checks_1): Inform caller if any |
| null pointer checks were eliminated. Update prototype. |
| (delete_null_pointer_checks): Similarly. |
| * rtl.h (delete_null_pointer_checks): Update prototype. |
| * toplev.c (rest_of_compilation): Only run cleanup_cfg if |
| delete_null_pointer_checks deletes one or more null |
| pointer checks. Do not run cleanup_cfg before gcse, the |
| CFG is accurate and optimized at that point.. |
| |
| * rs6000.c (rs6000_frame_related): Avoid unwanted sharing |
| of hard registers. |
| |
| 2002-06-14 Ulrich Weigand <uweigand@de.ibm.com> |
| |
| * Makefile.in (libgcc.mk): Depend on specs. |
| |
| Fri Jun 14 12:15:11 2002 J"orn Rennecke <joern.rennecke@superh.com> |
| |
| * sh.md (mulsi3): Update way how to find insns in a sequence. |
| |
| Fri Jun 14 12:04:02 2002 Dhananjay R. Deshpande <dhananjayd@kpit.com> |
| |
| * sh.h: Define HARD_REGNO_RENAME_OK |
| * sh.c: sh_hard_regno_rename_ok: New. If current function has |
| interrupt_handler attribute, only registers saved on stack are OK. |
| * sh-protos.h: Declare sh_hard_regno_rename_ok. |
| |
| 2002-06-14 Kaz Kojima <kkojima@gcc.gnu.org> |
| |
| * config/sh/sh.md (jump): Emit jump insn. |
| (call_pcrel): Get pattern of the result of gen_call_site. |
| (call_value_pcrel, sibcall_pcrel, GOTaddr2picreg): Likewise. |
| |
| 2002-06-14 Neil Booth <neil@daikokuya.demon.co.uk> |
| |
| * cpphash.h (struct cpp_buffer): Remove saved_line_base. |
| * cpptrad.c: Update comments. |
| (skip_whitespace, copy_comment): Take a new parameter. |
| (skip_escaped_newlines): Don't duplicate escaped newline test. |
| (copy_comment): Different location for CUR, decide here how |
| to copy / replace the comment. |
| (skip_whitespace): Copy whitespace. |
| (_cpp_overlay_buffer, _cpp_remove_overlay): Don't play with line_base. |
| (scan_out_logical_line): Let copy comment handle keeping or |
| replacing comments. |
| (scan_parameters, _cpp_create_trad_definition): Update. |
| |
| 2002-06-13 Alan Lehotsky <apl@alum.mit.edu> |
| |
| * reload.c (get_secondary_mem,find_reloads_address, |
| find_reloads_address_1): Pass reference to MEM to find_reloads_address |
| so that LEGITIMIZE_RELOAD_ADDRESS will be called. |
| |
| 2002-06-13 Jessica Han <jessica@cup.hp.com> |
| |
| * defaults.h (TARGET_VTABLE_ENTRY_ALIGN): New. |
| (TARGET_VTABLE_DATA_ENTRY_DISTANCE): New. |
| * doc/tm.texi: Document them. |
| * config/ia64/ia64.h (TARGET_VTABLE_ENTRY_ALIGN): New. |
| (TARGET_VTABLE_DATA_ENTRY_DISTANCE): New. |
| (TARGET_VTABLE_USES_DESCRIPTORS): 4 word descriptors for 32-bit mode. |
| (ASM_OUTPUT_FDESC): Likewise. |
| |
| 2002-06-13 Eric Christopher <echristo@redhat.com> |
| |
| * diagnostic.c (output_format): Fix thinko. |
| |
| Thu Jun 13 22:34:33 2002 J"orn Rennecke <joern.rennecke@superh.com> |
| |
| * config/sh/coff.h (HAS_INIT_SECTION, INVOKE__MAIN): Don't define. |
| (DWARF2_UNWIND_INFO): Define to 0. |
| |
| * config/sh/sh.c (calc_live_regs): Don't use initial_value |
| optimization for PR_MEDIA_REG. |
| |
| 2002-06-13 Neil Booth <neil@daikokuya.demon.co.uk> |
| |
| * cpphash.h (_cpp_lex_identifier_trad): Remove. |
| * cpplib.c (end_directive): Don't skip, always remove overlay |
| apart from #define. |
| (prepare_directive_trad): Handle NULL pfile->directive. |
| (_cpp_handle_directive): Always call prepare_directive_trad |
| if traditional. |
| * cppmain.c (check_multiline_token): Rename account_for_newlines, |
| generalize inputs. |
| (scan_translation_unit_trad): Use it. |
| * cpptrad.c (skip_comment): Rename copy_comment, copy comment to |
| output, get escaped newline in comment close correct. |
| (check_output_buffer, skip_whitespace): Update. |
| (_cpp_lex_identifier_trad): Remove. |
| (scan_out_logical_line): Handle -C and comments in directives |
| properly. |
| |
| Thu Jun 13 20:18:38 2002 J"orn Rennecke <joern.rennecke@superh.com> |
| |
| * config.gcc: Add support for sh[234]*-*-elf*, sh[2346lbe]*-*-linux*. |
| * config/sh/linux.h (TARGET_DEFAULT): Use TARGET_CPU_DEFAULT. |
| * sh.h (SELECT_SH1, SELECT_SH2, SELECT_SH3, SELECT_SH3E): New macros. |
| (SELECT_SH4_NOFPU, SELECT_SH4_SINGLE_ONLY, SELECT_SH4): Likewise. |
| (SELECT_SH4_SINGLE, SELECT_SH5_64, SELECT_SH5_64_NOFPU): Likewise. |
| (SELECT_SH5_32, SELECT_SH5_32_NOFPU, SELECT_SH5_COMPACT): Likewise. |
| (SELECT_SH5_COMPACT_NOFPU): Likewise. |
| (TARGET_SWITCHES): Use them. |
| (TARGET_CPU_DEFAULT): Define if not already defined. |
| (TARGET_DEFAULT): Use it. |
| (LINK_DEFAULT_CPU_EMUL): Value now depends on TARGET_CPU_DEFAULT. |
| * config/sh/t-linux (MULTILIB_OPTIONS): Use MULTILIB_ENDIAN. |
| * config/sh/t-monolib: New file. |
| |
| 2002-06-13 Roger Sayle <roger@eyesopen.com> |
| |
| * toplev.c (rest_of_compilation): Simplify (and correct) the |
| logic of the first delete-null-pointer-checks pass. |
| |
| Thu Jun 13 18:24:17 CEST 2002 Jan Hubicka <jh@suse.cz> |
| |
| * i386.c (ix86_expand_movstr): Fix pasto. |
| |
| Thu Jun 13 18:18:17 CEST 2002 Jan Hubicka <jh@suse.cz> |
| |
| * reload.c (find_valid_class): Fix thinko in my previous patch. |
| |
| 2002-06-13 Ulrich Weigand <uweigand@de.ibm.com> |
| |
| * config/s390/s390.h (TARGET_CPU_CPP_BUILTINS): New macro. |
| * config/s390/linux.h (TARGET_OS_CPP_BUILTINS): New macro. |
| (CPP_PREDEFINES, CPP_SPEC, CPP_ARCH31_SPEC, CPP_ARCH64_SPEC): Remove. |
| (EXTRA_SPECS): Remove cpp_arch31 and cpp_arch64. |
| |
| 2002-06-13 Gabriel Dos Reis <gdr@codesourcery.com> |
| |
| * tree-inline.c (expand_call_inline): Don' mess with _DECL |
| fields. |
| |
| 2002-06-13 Gabriel Dos Reis <gdr@codesourcery.com> |
| |
| * diagnostic.c (output_format): Recognize "%H" as a format |
| specifier for a location_t. |
| (text_specifies_location): New function. |
| (diagnostic_set_info): Use it. |
| |
| 2002-06-13 Jeffrey Law <law@redhat.com> |
| |
| * emit-rtl.c (static_regno_reg_rtx): Define. |
| (init_emit_once): Initialize static_regno_reg_rtx. |
| (init_emit): Copy static_regno_reg_rtx into regno_reg_rtx instead |
| of building new hard reg objects once per function. |
| (gen_rtx_REG): Try to share hard regs. |
| * regclass.c (init_fake_stack_mems): New function broken out from |
| init_regs. |
| * rtl.h (init_fake_stack_mems): Declare. |
| * toplev.c (lang_independent_init): Call init_regs before |
| init_emit_once. Call init_fake_stack_mems after init_emit_once. |
| |
| * i386.md (extenddfxf2, extenddftf2): Fix typo/thinko. |
| |
| * alias.c (argument_registers): Remove. |
| (init_alias_once): Initialize static_reg_base_value here. Remove |
| initialization of argument_registers. |
| (init_alias_once_per_function): Remove. |
| (init_alias_analysis): Copy all the entries from static_reg_base_value |
| into new_reg_base_value all at once. |
| * rtl.h (init_alias_once_per_function): Remove declaration. |
| * function.c (prepare_function_start): Do not call |
| init_alias_once_per_function. |
| |
| * caller-save.c (init_caller_save): Use gen_rtx_INSN instead of |
| starting a sequence and emitting an INSN. |
| |
| 2002-06-13 Richard Sandiford <rsandifo@redhat.com> |
| |
| * config/mips/r3900.h (MIPS_CPU_STRING_DEFAULT): Make lower case. |
| |
| 2002-06-13 David S. Miller <davem@redhat.com> |
| |
| * expmed.c (init_expmed): Remove duplicate init of 'reg'. |
| |
| 2002-06-13 Neil Booth <neil@daikokuya.demon.co.uk> |
| |
| * cpplib.c (end_directive): Handle line skipping. Only remove |
| the rest of the line if the directive was valid. |
| * cppmacro.c (_cpp_push_text_context): Set NODE_DISABLED when |
| expanding a traditional macro. |
| * cpptrad.c (recursive_macro): New. |
| (read_logical_line_trad): Handle skipping. |
| (scan_out_logical_line): Continue after a successful directive. |
| Don't expand macros whilst skipping, or if recursing. |
| (_cpp_create_trad_definition): scan_out_logical_line now sets |
| the output current position. |
| |
| 2002-06-12 Eric Christopher <echristo@redhat.com> |
| |
| From Chris Demetriou <cgd@broadcom.com> |
| * config/mips/mips.h (ISA_HAS_FP4): Add ISA_MIPS64 and fix |
| comment. |
| (ISA_HAS_MADD_MSUB): Ditto. |
| (ISA_HAS_NMADD_NMSUB): Ditto. |
| |
| 2002-06-12 Eric Christopher <echristo@redhat.com> |
| |
| * config.gcc: Consolidate little endian handling and |
| little/big endian targets. |
| * config/mips/elfl.h: Remove file. |
| * config/mips/elfl64.h: Ditto. |
| * config/mips/ecoffl.h: Ditto. |
| * config/mips/r3900.h (SUBTARGET_CPP_SPEC): Remove. |
| |
| 2002-06-12 Geoffrey Keating <geoffk@redhat.com> |
| |
| * gengtype.h (xvasprintf): New prototype. |
| (xasprintf): New prototype. |
| (struct outf): New. |
| (get_output_file): Return an outf_p. |
| (header_file): Is now an outf_p. |
| (base_files): Now are outf_p. |
| (oprintf): New. |
| * gengtype.c: Replace all output FILE * with outf_p; use oprintf |
| rather than stdio operations. Use xasprintf in a few places, |
| when appropriate. |
| (xvasprintf): New. |
| (xasprintf): New. |
| (struct filemap): Delete. |
| (files): Delete. |
| (output_files): New. |
| (oprintf): New. |
| (create_file): Create an outf_p. Add parameter to indicate output |
| file name, change all callers. |
| (open_base_files): Create gtype-desc.c here. |
| (get_output_file_with_visibility): Rewrite. |
| (get_output_file_name): Just look at 'name' field in struct outf. |
| (close_output_files): Rewrite. |
| |
| 2002-06-12 Jason Thorpe <thorpej@wasabisystems.com> |
| |
| * config/vax/vax.h (MASK_UNIX_ASM, MASK_VAXC_ALIGNMENT) |
| (MASK_G_FLOAT): Define. |
| (TARGET_UNIX_ASM, TARGET_VAXC_ALIGNMENT, TARGET_G_FLOAT): Use them. |
| (TARGET_SWITCHES): Likewise. |
| (TARGET_DEFAULT): Likewise. |
| |
| 2002-06-12 Daniel Jacobowitz <drow@mvista.com> |
| |
| * config/mips/elf.h (DWARF2_DEBUG_INFO): Define. |
| * config/mips/mips.c (mips_output_filename): Don't print a |
| ".file" directive if we are using DWARF-2. |
| (mips_output_function_prologue): Do not emit source file |
| name for TARGET_GAS. |
| |
| Wed Jun 12 16:45:13 CEST 2002 Jan Hubicka <jh@suse.cz> |
| |
| * i386.md (shift patterns): Use (TARGET_SHIFT1 || optimize_size) to |
| decide whether emit the short opcode. |
| * i386.h (x86_shift1): Declare. |
| (TARGET_SHIFT1): New macro. |
| * i386.c (x86_shift1): New global variable. |
| |
| * toplev.c (rest_of_compilation): Call find_basic_block pre-loop |
| unconditionally; make loop to rebuild CFG; kill unnecesary |
| find_basic_block calls; kill compute_bb_for_insn call. |
| * cfgbuild.c (find_basic_blocks): Kill compute_bb_for_insn call. |
| * haifa-sched.c (sched_init): Likewise. |
| * ssa-ccp.c (ssa_const_prop): Likewise. |
| * ssa-dce.c (ssa_eliminate_dead_code): Likewise. |
| |
| 2002-06-11 David S. Miller <davem@redhat.com> |
| |
| * emit-rtl.c (emit_*_scope): Only access INSN_SCOPE if |
| active_insn_p. |
| |
| 2002-06-11 Richard Henderson <rth@redhat.com> |
| |
| * c-common.c (builtin_define_type_max): New. |
| (cb_register_builtins): Define __SCHAR_MAX__, __SHRT_MAX__, |
| __INT_MAX__, __LONG_MAX__, __LONG_LONG_MAX__, __CHAR_BIT__. |
| |
| From Joseph S. Myers: |
| * glimits.h: Rewrite to expect the double underscore definitions |
| from the compiler. |
| |
| * config/alpha/unicosmk.h, config/avr/avr.h, config/h8300/h8300.h, |
| config/i386/linux64.h, config/ia64/aix.h, config/ia64/hpux.h, |
| config/ia64/ia64.h, config/m68hc11/m68hc11.h, config/m68hc11/m68hc12.h, |
| config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h, |
| config/pa/pa.h, config/rs6000/aix43.h, config/rs6000/aix51.h, |
| config/rs6000/linux64.h, config/s390/linux.h, config/sh/sh.h, |
| config/stormy16/stormy16.h: Don't define any of __SHRT_MAX__, |
| __INT_MAX__, __LONG_MAX__, or __LONG_LONG_MAX__. |
| |
| 2002-06-11 Richard Henderson <rth@redhat.com> |
| |
| * config/alpha/alpha.c (ALPHA_BUILTIN_THREAD_POINTER): New. |
| (ALPHA_BUILTIN_SET_THREAD_POINTER): New. |
| (code_for_builtns): Update. |
| (alpha_init_builtins): Add __builtin_thread_pointer and |
| __builtin_set_thread_pointer. |
| (alpha_expand_builtin): Handle void builtins. |
| * doc/extend.texi (Alpha Built-in Functions): Update. |
| |
| 2002-06-11 Hans-Peter Nilsson <hp@axis.com> |
| |
| PR target/6997 |
| * config/cris/cris.md ("sleu"): Set attribute "cc" to "none". |
| |
| 2002-06-11 Zack Weinberg <zack@codesourcery.com> |
| |
| * config.gcc: Make the name of the extra-modes file adjustable |
| by target stanzas. |
| (s390x, strongarm, xscale stanzas): Use this facility. |
| * configure.in: Update to match. |
| * configure: Regenerate. |
| |
| 2002-06-11 Aldy Hernandez <aldyh@redhat.com> |
| |
| * config/rs6000/rs6000.c (rs6000_emit_minmax): Treat unsigned |
| max/mins as unsigned GE compares. |
| |
| 2002-06-11 Jason Thorpe <thorpej@wasabisystems.com> |
| |
| * config.gcc (vax-*-bsd*): Add vax/bsd.h to ${tm_file}. |
| * config/vax/bsd.h: New file. |
| * config/vax/netbsd.h: Add missing notice. |
| (CPP_PREDEFINES): Remove. |
| (TARGET_OS_CPP_BUILTINS): Define. |
| (CPP_SPEC): Use NETBSD_CPP_SPEC. |
| * config/vax/openbsd.h: Update copyright years. |
| (CPP_PREDEFINES): Remove. |
| (TARGET_OS_CPP_BUILTINS): Define. |
| * config/vax/ultrix.h: Likewise. |
| * config/vax/vaxv.h: Likewise. |
| * config/vax/vms.h: Likewise. |
| * config/vax/vax.h (TARGET_CPU_CPP_BUILTINS): Define. |
| (CPP_PREDEFINES, CPP_SPEC): Remove. |
| |
| Wed Jun 12 01:50:28 CEST 2002 Jan Hubicka <jh@suse.cz> |
| |
| * i386.md (addqi_1_slp, subqi_1_slp |
| (andqi_ext0, testqi_ext0): Remove unnecesary check. |
| (addhi*, addqi*): Simplify "dec" condition. |
| (testsi to testqi splitters): Remove TARGET_PROMOTE_QImode check. |
| (and, or, xor to QImode splitters): New. |
| (iorqi_ext*): New. |
| (xorqi_ext_0): New. |
| (xorqi_ext_1): Rename to xorqi_ext_2; bring to sync with and versions. |
| (andqi_ext_1_rex64): New. |
| (ashrqi*_slp): New. |
| (ashlqi*_slp): New. |
| (lshlqi*_slp): New. |
| (rotrqi3*_slp): New. |
| (rotlqi3*_slp): New. |
| |
| 2002-06-11 Geoffrey Keating <geoffk@redhat.com> |
| |
| * config.gcc (powerpc*-*-*, rs6000-*-*-*): Don't bother including |
| softfloat.h. |
| * config/rs6000/vxppc.h (CPP_ENDIAN_BIG_SPEC): Delete. |
| (CPP_ENDIAN_LITTLE_SPEC): Delete. |
| * config/rs6000/sysv4le.h (CPP_ENDIAN_DEFAULT_SPEC): Delete. |
| * config/rs6000/sysv4.h (CPP_SYSV_SPEC): Delete _SOFT_FLOAT setting, |
| __LONG_DOUBLE_128__ setting, _CALL_* setting. |
| (CPP_DEFAULT_SPEC): Delete. |
| (CPP_FLOAT_DEFAULT_SPEC): Delete. |
| (CPP_LONGDOUBLE_DEFAULT_SPEC): Delete. |
| (CPP_SYSV_DEFAULT_SPEC): Delete. |
| (CPP_ENDIAN_BIG_SPEC): Delete. |
| (CPP_ENDIAN_LITTLE_SPEC): Delete. |
| (CPP_ENDIAN_SPEC): Delete. |
| (CPP_SPEC): Don't include cpp_endian, cpp_cpu. |
| (SUBTARGET_EXTRA_SPECS): Delete cpp_sysv_default, cpp_endian_default, |
| cpp_endian, cpp_endian_big, cpp_endian_little, cpp_float_default, |
| cpp_longdouble_default. |
| * config/rs6000/softfloat.h: Delete. |
| * config/rs6000/rs6000.h (CPP_CPU_SPEC): Delete. |
| (EXTRA_SPECS): Delete cpp_cpu. |
| (TARGET_CPU_CPP_BUILTINS): New. |
| * config/rs6000/rs6000-protos.h (rs6000_cpu_cpp_builtins): New |
| prototype. |
| * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): New. |
| * config/rs6000/linux64.h (CPP_PREDEFINES): Remove endianness defines. |
| (CPP_DEFAULT_SPEC): Delete. |
| * config/rs6000/eabiaix.h (CPP_SYSV_DEFAULT_SPEC): Delete. |
| * config/rs6000/darwin.h (CPP_PREDEFINES): Don't define __BIG_ENDIAN__. |
| * config/rs6000/beos.h (CPP_SPEC): Remove cpp_cpu. |
| (CPP_DEFAULT_SPEC): Delete. |
| * config/rs6000/aix51.h (CPP_SPEC): Remove cpp_cpu, -D_ARCH_PPC. |
| (CPLUSPLUS_CPP_SPEC): Likewise. |
| (CPP_CPU_SPEC): Delete. |
| (CPP_DEFAULT_SPEC): Delete. |
| * config/rs6000/aix43.h (CPP_SPEC): Remove cpp_cpu, -D_ARCH_PPC. |
| (CPLUSPLUS_CPP_SPEC): Likewise. |
| (CPP_CPU_SPEC): Delete. |
| (CPP_DEFAULT_SPEC): Delete. |
| * config/rs6000/aix41.h (CPP_SPEC): Remove cpp_cpu. |
| (CPP_DEFAULT_SPEC): Delete. |
| * config/rs6000/aix.h (CPP_SPEC): Remove cpp_cpu. |
| (CPP_DEFAULT_SPEC): Delete. |
| |
| * doc/gty.texi: Small updates. |
| |
| 2002-06-12 Gabriel Dos Reis <gdr@codesourcery.com> |
| |
| * objc/objc-act.c (warn_with_ivar): Adjust calls to |
| diagnostic_count_error. |
| (warn_with_method): Likewise. |
| |
| * diagnostic.h (warnings_are_errors_message): New field of |
| diagnostic_context. |
| (diagnostic_count_error): Rename to diagnostic_count_diagnostic to |
| match semantics. |
| * diagnostic.c: Adjust calls to diagnostic_count_error through out. |
| (diagnostic_count_diagnostic): Make aware of other kinds of |
| diagnostics. |
| (diagnostic_initialize): Initialize warnings_are_errors_message field. |
| |
| 2002-06-11 Tom Tromey <tromey@redhat.com> |
| |
| For PR java/6520: |
| * fold-const.c (fold_convert): Don't modify existing tree's type. |
| |
| 2002-06-11 Geoffrey Keating <geoffk@redhat.com> |
| |
| * config/rs6000/ppc-asm.h: Remove some Windows NT leftovers. |
| |
| 2002-06-11 Richard Henderson <rth@redhat.com> |
| |
| * caller-save.c (init_caller_save): Clear INSN_CODE each iteration. |
| |
| 2002-06-11 Richard Henderson <rth@redhat.com> |
| |
| * defaults.h (EH_FRAME_SECTION_NAME): Don't define if |
| DWARF2_UNWIND_INFO is false. |
| |
| 2002-06-11 Bob Wilson <bob.wilson@acm.org> |
| |
| * config/xtensa/t-xtensa (LIBGCC1_TEST, CROSS_LIBGCC1): Delete. |
| |
| * config/s390/s390.c (emit_prologue): gen_store_multiple |
| returns an insn now, not a pattern. |
| |
| 2002-06-11 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> |
| |
| * Makefile.in (gccinstall.dvi): Pass absolute pathnames to |
| $(TEXI2DVI) -o. |
| |
| Tue Jun 11 21:53:37 CEST 2002 Jan Hubicka <jh@suse.cz> |
| |
| * i386.c (x86_promote_QImode): Set for Athlon |
| (x86_fast_prefix): New global variable. |
| (x86_arch_always_fancy_math_387): Fix formating. |
| * i386.h (x86_fast_prefix): Declare |
| (TARGET_FAST_PREFIX): define. |
| * i386.md (and to strict_low_part, HI to SI |
| promoting splitter): Use new macro. |
| |
| * i386.h (RTX_COSTS): float_extend is not for free for SSE. |
| |
| 2002-06-11 Zack Weinberg <zack@codesourcery.com> |
| |
| * Makefile.in (distclean): Delete junk left in testsuite |
| directory, too. |
| |
| 2002-06-11 Jeffrey Law <law@redhat.com> |
| |
| * emit-rtl.c (try_split): Use INSN_LAST, not LAST_INSN to get the |
| last insn created by the splitter. |
| |
| * caller-save.c (init_caller_save): Move creation of SAVEINSN |
| and RESTINSN into into the scope of the sequence. |
| |
| * mips.c (mips_expand_prologue): Use emit_jump_insn for trivial |
| RETURN insns. |
| |
| * loop.c (loop_regs_scan): Avoid useless generation of REG objects. |
| |
| * mips.c (function_arg_advance): gen_ashldi3 returns an INSN now, |
| not the pattern. So extract the pattern from the insn. |
| |
| * mips.c (embedded_pic_fnaddr_reg): Fix typo. |
| |
| 2002-06-11 Ulrich Weigand <uweigand@de.ibm.com> |
| |
| * config/s390/s390.md (movsi): Only use floating point |
| register alternatives when operands are already fprs. |
| (movdi_31, movdi_64): Likewise. |
| |
| 2002-06-11 David S. Miller <davem@redhat.com> |
| |
| * emit-rtl.c (try_split): Do not abort on non-INSN_P. |
| Only run RTX equality checks on INSN_P rtl. |
| |
| 2002-06-11 Ulrich Weigand <uweigand@de.ibm.com> |
| |
| * config/s390/s390.md (reload_base, ltorg): Remove. |
| * s390.c (s390_stop_dump_lit_p, s390_dump_literal_pool, |
| s390_asm_output_pool_prologue, s390_pool_start_insn): Remove. |
| * s390-protos.h (s390_stop_dump_lit_p, s390_dump_literal_pool, |
| s390_asm_output_pool_prologue): Likewise. |
| * s390.h (s390_pool_start_insn): Likewise. |
| |
| * s390.c (s390_output_symbolic_const): Remove support for |
| old-style pool chunks. |
| (s390_function_epilogue): Likewise. |
| (s390_output_constant_pool): Likewise. Also, fix incorrect |
| alignment for 64-bit literal pools. |
| (print_operand_address): Remove 'y' and 'Y' format flags. |
| * s390.h (ASM_OUTPUT_POOL_PROLOGUE): Remove support for |
| old-style pool chunks. |
| (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Likewise. |
| (ASM_OUTPUT_POOL_EPILOGUE): Remove. |
| (S390_CHUNK_MAX, S390_CHUNK_OV, S390_POOL_MAX): Remove. |
| |
| * s390.c (consttable_operand): New function. |
| * s390-protos.h (consttable_operand): Declare it. |
| * s390.h (PREDICATE_CODES): Add consttable_operand. |
| * s390.md (consttable_qi, consttable_hi, consttable_si, consttable_di, |
| consttable_sf, consttable_df, pool_start_31, pool_end_31, |
| pool_start_64, pool_end_64, reload_base, reload_base2): New insns. |
| * s390.c (struct constant, struct constant_pool): New data types. |
| (constant_modes, gen_consttable): New variables. |
| (s390_start_pool, s390_end_pool, s390_add_pool, |
| s390_dump_pool, s390_free_pool): New functions. |
| (s390_chunkify_pool): Completely reimplement literal pool |
| overflow handling. |
| |
| * s390.c (s390_pool_overflow): New variable. |
| * s390.h (s390_pool_overflow): Declare it. |
| * s390.md (cjump, icjump): Use it to adapt length for out-of-range |
| jumps in literal pool overflow situations. |
| |
| * s390.c (s390_decompose_address): Accept new-style pool chunk offsets. |
| (s390_frame_info): Account for possible use of RETURN_REGNUM |
| by new literal pool overflow code. |
| (s390_emit_prologue): Likewise. |
| |
| 2002-06-05 David S. Miller <davem@redhat.com> |
| |
| Delete SEQUENCE rtl usage outside of reorg and ssa passes. |
| * rtl.h (gen_sequence, emit_insns, emit_insns_before, |
| emit_insns_before_scope, emit_insns_after, |
| emit_insns_after_scope): Delete declaration. |
| * ada/misc.c (insert_code_for): Use emit_insn* instead of |
| emit_insns_foo. |
| * config/alpha/alpha.c (alpha_set_memflags_1): Abort on SEQUENCE. |
| (alpha_set_memflags): Fix comment. |
| (set_frame_related_p): Use get_insns instead of gen_sequence. |
| * config/alpha/alpha.md (setjmp receiver splitter): Avoid |
| emitting no insns. |
| * config/arm/arm.c (arm_finalize_pic): Use get_insns instead of |
| gen_sequence. |
| (arm_gen_load_multiple, arm_gen_store_multiple): Likewise. |
| * config/fr30/fr30.c (fr30_move_double): Likewise. |
| * config/i386/i386.c (ix86_expand_int_movcc, ix86_expand_movstr): |
| Likewise. |
| * config/ia64/ia64.c (spill_restore_mem): Likewise. |
| * config/ia64/ia64.md (conditional move spliiter): Avoid emitting |
| no insns. |
| * config/m32r/m32r.c (gen_split_move_double): Use get_insns |
| instead of gen_sequence. |
| * config/mips/mips.c (embedded_pic_fnaddr_reg): Likewise. |
| (mips_expand_prologue, mips16_gp_pseudo_reg): Likewise. |
| * config/sh/sh.c (sh_need_epilogue): Likewise. |
| * config/sparc/sparc.md (current_function_calls_alloca, flat): New |
| attributes. |
| (setjmp pattern and split): Use them to avoid splitter which emits |
| no RTL. |
| * genattrtab.c (main): Emit include of function.h |
| * config/stormy16/stormy16.c (xstormy16_split_cbranch): Use |
| get_insns instead of gen_sequence. |
| * config/cris/cris.c (cris_split_movdx): Likewise. |
| * emit-rtl.c (emit_insns*): Kill. |
| (try_split): Expect insn list instead of SEQUENCE. |
| (make_jump_insn_raw, make_call_insn_raw): Fix comments. |
| (emit_*insn*): Reimplement to work with INSN lists and PATTERNs. |
| Make them abort if a SEQUENCE is given and RTL checking is |
| enabled. |
| (emit_*_scope): Don't forget to set scope on final insn. |
| (gen_sequence): Move from here... |
| * ssa.c (gen_sequence): To here as private function. |
| * builtins.c (expand_builtin_apply_args): Use emit_insn_foo, fix |
| comments. |
| (expand_builtin_return, expand_builtin_mathfn): Likewise. |
| (expand_builtin_strlen): Use get_insns instead of gen_sequence. |
| (expand_builtin_saveregs): Use emit_insn_foo, fix comments. |
| (expand_builtin_expect_jump): Use get_insns and fix comments. |
| * calls.c (try_to_integrate): Use emit_insn_foo. |
| (expand_call, emit_library_call_value_1): Likewise. |
| * expr.c (emit_queue): Handle insn lists instead of SEQUENCE. |
| (emit_move_insn_1): Use get_insns instead of gen_sequence. |
| (expand_expr): Use emit_insn_foo. |
| * cfgrtl.c (commit_one_edge_insertion): Use emit_insn_foo. |
| * except.c (build_post_landing_pads): Likewise. |
| * flow.c (attempt_auto_inc): Likewise. |
| * stmt.c (expand_fixup, fixup_gotos, expand_nl_handler_label, |
| expand_nl_goto_receivers, expand_decl_cleanup): Likewise. |
| * function.c (fixup_var_refs_insn): Use get_insns instead of |
| gen_sequence. |
| (fixup_var_refs_1): Likewise and expect insn list from gen_foo. |
| (fixup_memory_subreg): Use get_insns instead of gen_sequence. |
| (fixup_stack_1, purge_addressof_1, expand_main_function, |
| get_arg_pointer_save_area): Likewise. |
| (optimize_bit_field, instantiate_virtual_regs_1, assign_parms, |
| expand_function_end): Use emit_insn_foo. |
| (record_insns, keep_stack_depressed): Work with insn list instead |
| of SEQUENCE, fix comments. |
| * ifcvt.c (noce_emit_store_flag, noce_try_store_flag, |
| noce_try_store_flag_constants, noce_try_store_flag_inc, |
| noce_try_store_flag_mask, noce_emit_cmove, noce_try_cmove_arith, |
| noce_try_minmax, noce_try_abs): Use emit_insn_foo. |
| (noce_process_if_block): Use get_insns instead of gen_sequence. |
| * optabs.c (add_equal_note): Work with insn list, fix comments. |
| (expand_binop): Expect insn list from GEN_FCN(), use emit_insn_foo. |
| (expand_unop, expand_complex_abs, expand_unop_insn, |
| expand_no_conflict_block): Likewise. |
| (gen_move_insn): Use get_insns instead of gen_sequence. |
| (gen_cond_trap): Likewise. |
| * integrate.c (copy_rtx_and_substitute): Likewise. |
| (emit_initial_value_sets): Use emit_insn_foo. |
| * reload1.c (emit_output_reload_insns, emit_reload_insns): Likewise. |
| (fixup_abnormal_edges): Avoid losing REG_NOTES more intelligently |
| now that RTL generators give insn lists. |
| * sibcall.c (replace_call_placeholder): Use emit_insn_foo. |
| * doloop.c (doloop_modify, doloop_modify_runtime): Use get_insns |
| instead of gen_sequence. |
| (doloop_optimize): Work with insn lists instead of SEQUENCE rtl. |
| * explow.c (emit_stack_save, emit_stack_restore): Use get_insns |
| instead of gen_sequence. |
| * loop.c (move_movables, emit_prefetch_instructions, |
| gen_add_mult, check_dbra_loop, gen_load_of_final_value): |
| Likewise. |
| (loop_regs_update): Work with insn list instead of SEQUENCE rtl. |
| (product_cheap_p): Likewise, and add commentary about RTL wastage |
| here. |
| * lcm.c (optimize_mode_switching): Use get_insns instead of |
| gen_sequence. |
| * profile.c (gen_edge_profiler): Likewise. |
| * regmove.c (copy_src_to_dest): Likewise. |
| * reg-stack.c (compensate_edge): Likewise and fix comment. |
| * gcse.c (process_insert_insn): Likewise. |
| (insert_insn_end_bb): Work with insn list instead of SEQUENCE rtl. |
| * jump.c (delete_prior_computation): Update comment. |
| * genemit.c (gen_expand, gen_split, main): Use get_insns instead |
| of gen_sequence, update comments to match. |
| * recog.c (peephole2_optimize): Work with insn lists instead of |
| SEQUENCE rtl. |
| * sched-vis.c (print_pattern): Abort on SEQUENCE. |
| * unroll.c (unroll_loop, find_splittable_givs, final_giv_value): |
| Use get_insns instead of gen_sequence. |
| (copy_loop_body): Likewise and don't emit dummy NOTE. |
| * genrecog.c: Don't mention SEQUENCE rtl in comments. |
| * combine.c (try_combine): Expect insn lists from split generator. |
| * reorg.c (relax_delay_slots): Emit SEQUENCE into insn list by |
| hand. |
| |
| 2002-06-11 Roger Sayle <roger@eyesopen.com> |
| Andreas Jaeger <aj@suse.de> |
| |
| * cfgbuild.c: Update copyright years. |
| |
| 2002-06-11 Andreas Schwab <schwab@suse.de> |
| |
| * config/m68k/m68k.h (PREDICATE_CODES): Define. |
| |
| 2002-06-11 Eric Christopher <echristo@redhat.com> |
| |
| * doc/tm.texi (Run-time Target): Add comment about flag_iso |
| and strict ANSI. |
| * config/mips/ecoff.h (CPP_PREDEFINES): Remove. |
| * config/mips/ecoffl.h: Ditto. |
| * config/mips/elf64.h (SUBTARGET_CPP_SPEC): Remove. |
| (CPP_PREDEFINES): Ditto. |
| * config/mips/elfl64.h: Ditto. |
| * config/mips/elfl.h: Ditto. |
| * config/mips/iris3.h (CPP_PREDEFINES, SUBTARGET_CPP_SPEC): #if 0 |
| out until irix header consolidation. |
| * config/mips/iris5.h (CPP_PREDEFINES, SUBTARGET_CPP_SPEC): Replace |
| with SUBTARGET_OS_CPP_BUILTINS. |
| * config/mips/iris6.h: Ditto. |
| (CPLUSPLUS_CPP_SPEC): Remove. |
| * config/mips/linux.h: Ditto. |
| * config/mips/netbsd.h: Ditto. |
| * config/mips/openbsd.h: Ditto. |
| * config/mips/rtems.h: Ditto. |
| * config/mips/rtems64.h: Ditto. |
| * config/mips/sni-svr4.h: Ditto. |
| * config/mips/mips.h (ISA_MIPS1, ISA_MIPS2, ISA_MIPS3, ISA_MIPS4, |
| ISA_MIPS32, ISA_MIPS64): New defines. |
| (GENERATE_MULT3_SI, HAVE_SQRT_P, ISA_HAS_64BIT_REGS, |
| ISA_HAS_BRANCHLIKELY, ISA_HAS_CONDMOVE, ISA_HAS_8CC, ISA_HAS_FP4, |
| ISA_HAS_COND_TRAP, ISA_HAS_MADD_MSUB, ISA_HAS_NMADD_NMSUB, |
| ISA_HAS_CLZ_CLO, ISA_HAS_DCLZ_DCLO): Use. |
| (TARGET_CPU_CPP_BUILTINS): Define. |
| (CPP_PREDEFINES, LONG_MAX_SPEC, CPP_FPR_SPEC, CPP_SPEC): Remove. |
| * config/mips/mips.md (mulsi3_mult3): Use ISA_MIPS32/64. |
| (movdicc): Remove check for ISA_MIPS32. |
| (bunordered, bordered, bungt, bunlt, buneq, bunge, bunle, |
| sunordered_df, sunordered_sf, sordered_df, sordered_sf, |
| sunlt_df, sunlt_sf, sungt_df, sungt_sf, suneq_df, suneq_sf, sunge_df, |
| sunge_sf, sunle_df, sunle_sf): New patterns. |
| |
| 2002-06-11 Neil Booth <neil@daikokuya.demon.co.uk> |
| |
| * Makefile.in: Update cppmain.o. |
| * cpphash.h (struct cpp_reader): Move some members to a |
| nested structure. |
| (trad_line): Rename saved_line. |
| (_cpp_read_logical_line_trad): Update. |
| (_cpp_remove_overlay): New. |
| * cppinit.c (cpp_create_reader): No need to set saved_line. |
| (cpp_destroy): Update. |
| (cpp_read_main_file): Only overlay if compiling. |
| * cpplex.c (continue_after_nul): Return false if in directive. |
| * cpplib.c (EXPAND): New. |
| (directive_table, SEEN_EOL): Update. |
| (end_directive): Remove overlay if traditional; don't skip |
| line in traditional #define. |
| (prepare_directive_trad): New. |
| (_cpp_handle_directive, run_directive): Update for traditional |
| directives. |
| (lex_macro_node): Simplify, don't use lex_identifier_trad. |
| * cpplib.h (struct options): Add preprocess_only. |
| * cppmain.c: Don't include intl.h. |
| (cpp_preprocess_file): Set options->preprocess_only. |
| (scan_translation_unit_trad): Fix, and print line numbers. |
| * cpptrad.c (check_output_buffer, lex_identifier, scan_parameters, |
| maybe_start_funlike, scan_out_logical_line, replace_args_and_push, |
| save_replacement_text, _cpp_create_trad_definition): Update for |
| variable renaming. |
| (_cpp_overlay_buffer): Save line number. |
| (_cpp_remove_overlay): Rename from restore_buff, restore line. |
| (_cpp_read_logical_line_trad): Don't handle overlays here. |
| (scan_out_logical_line): Process directives. |
| |
| 2002-06-11 Danny Smith <dannysmith@users.sourforge.net> |
| |
| * gthr-win32.h: Wrap functions in extern "C". |
| (__gthread_key_t): Typedef as unsigned long, |
| not win32 DWORD. |
| (__GTHREAD_ONCE_INIT): Use 0, not win32 FALSE. |
| (__gthread_mutex_t): Typedef as void*, not win32 HANDLE. |
| (__gthr_win32_once, __gthr_win32_key_create, |
| __gthr_win32_key_delete, __gthr_win32_getspecific, |
| __gthr_win32_setspecific, __gthr_win32_mutex_init_function, |
| __gthr_win32_mutex_lock,__gthr_win32_mutex_trylock, |
| __gthr_win32_mutex_unlock): Declare. |
| (__gthread_once,__gthread_key_create, |
| __gthread_key_delete, __gthread_getspecific, |
| __gthread_setspecific, __gthread_mutex_init_function, |
| __gthread_mutex_lock,__gthread_mutex_trylock, |
| __gthread_mutex_unlock): Call corresponding |
| __gthr_win32_* extern implementations if #defined |
| __GTHREAD_HIDE_WIN32API. |
| * config/i386/t-mingw32 (LIB2FUNCS_EXTRA): Set to |
| $(srcdir)/config/i386/gthr-win32.c |
| * config/i386/gthr-win32.c: New implementation file. |
| (__gthr_win32_once, __gthr_win32_key_create, |
| __gthr_win32_key_delete, __gthr_win32_getspecific, |
| __gthr_win32_setspecific, __gthr_win32_mutex_init_function, |
| __gthr_win32_mutex_lock,__gthr_win32_mutex_trylock, |
| __gthr_win32_mutex_unlock): New functions, based on |
| static inlines in gthr-win32.h. |
| |
| 2002-06-10 Bob Wilson <bob.wilson@acm.org> |
| |
| * config/xtensa/xtensa.c (override_options): Don't warn about |
| using -fpic or -fPIC when PIC is enabled by default. |
| |
| 2002-06-10 Roger Sayle <roger@eyesopen.com> |
| |
| * toplev.c (rest_of_compilation): Revert flag_if_conversion change. |
| |
| 2002-06-10 Zack Weinberg <zack@codesourcery.com> |
| |
| * Makefile.in (MACHMODE_H): Add @extra_modes_file@. |
| * configure.in: If $srcdir/config/${cpu_type}/${cpu_type}-modes.def |
| exists, substitute its pathname as @extra_modes_file@, define |
| EXTRA_MODES_FILE to be an appropriate string to #include it |
| with, and define EXTRA_CC_MODES to 1. |
| |
| * machmode.def: Update comments. Include EXTRA_MODES_FILE if |
| it's defined. Get rid of redundancy in calling sequence for |
| CC; don't use it to define CCmode, to avoid a warning. |
| * libgcc2.c: Include symcat.h for the sake of machmode.def. |
| |
| * arc-modes.def, arm-modes.def, c4x-modes.def, i386-modes.def, |
| i960-modes.def, ia64-modes.def, m88k-modes.def, mmix-modes.def, |
| pa-modes.def, pdp11-modes.def, rs6000-modes.def, sparc-modes.def: |
| New files. |
| * arc.h, arm.h, c4x.h, i386.h, i960.h, ia64.h, m88k.h, mmix.h, |
| pa.h, pdp11.h, rs6000.h, sparc.h: Don't define EXTRA_CC_MODES. |
| |
| * doc/sourcebuild.texi, doc/tm.texi: Document new scheme for |
| defining extra CC modes. |
| |
| 2002-06-10 Roger Sayle <roger@eyesopen.com> |
| Andreas Jaeger <aj@suse.de> |
| |
| * cfgrtl.c (create_basic_block_structure): Remove index argument |
| and use last_basic_block++ instead. (create_basic_block): Update. |
| * cfgbuild.c (find_basic_blocks_1): Likewise. |
| |
| * cfgrtl.c (compute_bb_for_insn): Remove unused "max" argument. |
| * haifa-sched.c (sched_init): Update compute_bb_for_insn caller. |
| * sched-ebb.c (schedule_ebbs): Likewise. |
| * sched-rgn.c (schedule_insns): Likewise. |
| * ssa-ccp.c (ssa_const_prop): Likewise. |
| * ssa-dcs.c (ssa_eliminate_dead_code): Likewise. |
| * toplev.c (rest_of_compilation): Likewise. |
| * config/ia64/ia64.c (ia64_reorg): Likewise. |
| |
| 2002-06-10 Roger Sayle <roger@eyesopen.com> |
| |
| * simplify-rtx.c (simplify_replace_rtx): Allow replacement |
| of matching registers. |
| |
| 2002-06-10 Roger Sayle <roger@eyesopen.com> |
| |
| * toplev.c (rest_of_compilation): Disable early if-conversion pass. |
| * gcse.c (bypass_conditional_jumps): Fix typo in setcc test. |
| |
| 2002-06-10 Hans-Peter Nilsson <hp@bitrange.com> |
| |
| * config/mmix/mmix.h: Improve comments. |
| (CPP_SPEC, CPP_PREDEFINES): Don't define. |
| (TARGET_CPU_CPP_BUILTINS): Define. |
| (CANONICALIZE_COMPARISON): Don't define, replace with comment. |
| (PREDICATE_CODES) <"mmix_reg_or_8bit_or_256_operand">: Remove |
| unused predicate. |
| * config/mmix/mmix.c (MMIX_OUTPUT_REGNO): Add cast to avoid |
| compiler warning. |
| (mmix_constant_address_p): Remove another |
| redundant test before case. |
| (mmix_canonicalize_comparison): Remove unused function. |
| (mmix_print_operand_address): Don't test and adjust for operand in |
| non-canonical format. |
| (mmix_reg_or_8bit_or_256_operand): Remove unused predicate. |
| (mmix_gen_compare_reg): Don't use CANONICALIZE_COMPARISON. |
| |
| 2002-06-10 Zack Weinberg <zack@codesourcery.com> |
| |
| * config/m32r/m32r.h: Don't define SELECT_CC_MODE. |
| * config/m32r/m32r-protos.h: Don't prototype m32r_select_cc_mode. |
| * config/m32r/m32r.c: Don't define m32r_select_cc_mode. |
| (gen_compare): Use CCmode unconditionally. |
| |
| 2002-06-10 Jakub Jelinek <jakub@redhat.com> |
| |
| PR optimization/6759 |
| * cse.c (cse_insn): Fold src_eqv just once, store it folded back into |
| the REQ_EQUAL note. |
| |
| 2002-06-10 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c/6660 |
| * c-decl.c (grokfield): Allow user defined types if they declare |
| structs or unions for unnamed fields. |
| |
| 2002-06-10 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c/6809 |
| * print-rtl.c (print_mem_expr): Don't crash on unnamed fields. |
| |
| 2002-06-10 Jakub Jelinek <jakub@redhat.com> |
| |
| PR optimization/6842 |
| * combine.c (combine_simplify_rtx) [SUBREG]: Don't ICE if VOIDmode |
| operand subreg cannot be simplified. |
| |
| 2002-06-10 Jakub Jelinek <jakub@redhat.com> |
| |
| * varasm.c (const_hash): Handle FDESC_EXPR like ADDR_EXPR. |
| (compare_constant): Likewise. |
| (output_addressed_constants): Likewise. |
| |
| 2002-06-10 Jakub Jelinek <jakub@redhat.com> |
| |
| * cfgcleanup.c (try_optimize_cfg): Make sure merge_blocks doesn't |
| merge bb with itself. |
| |
| 2002-06-10 Richard Henderson <rth@redhat.com> |
| |
| * config/alpha/alpha.md (builtin_zap): Fix thinkos expanding mask. |
| (builtin_zapnot): Likewise. |
| |
| * config/alpha/ev5.md: Don't combine shift and mvi insns in one |
| reservation. |
| |
| 2002-06-10 Eric Christopher <echristo@redhat.com> |
| |
| * config/i386/i386.c (ix86_osf_output_function_prologue): Remove |
| prototype and function. |
| (TARGET_ASM_FUNCTION_PROLOGUE): Remove OSF version. |
| (call_insn_operand): Remove half pic references. |
| (legitimate_address_p): Ditto. |
| * config/i386/i386.h: Remove half pic defines. |
| |
| 2002-06-10 Eric Christopher <echristo@redhat.com> |
| |
| * doc/extend.texi (Return Address): Add note explaining the side- |
| effects of inlining on __builtin_return_address. |
| |
| 2002-06-10 Tom Tromey <tromey@redhat.com> |
| |
| * Makefile.in (LANGHOOKS_DEF_H): Include langhooks-def.h. |
| (c-common.o): Depend on langhooks.h. |
| |
| 2002-06-10 Neil Booth <neil@daikokuya.demon.co.uk> |
| |
| * cpphash.h (_cpp_read_logical_line_trad, |
| _cpp_expansions_different_trad): Update prototypes. |
| * cpplex.c (continue_after_nul): New. |
| * cppmain.c: Include cpphash.h. |
| (scan_translation_unit_trad): New. |
| (cpp_preprocess_file): Call it. |
| * cpptrad.c (_cpp_read_logical_line_trad): Take new parameter |
| overlay. |
| (_cpp_expansions_different_trad): Update prototype. |
| |
| Mon Jun 10 18:02:24 2002 J"orn Rennecke <joern.rennecke@superh.com> |
| |
| Fix cfi generation for SH[1-4]: |
| |
| * sh.c (frame_insn): New function. |
| (output_stack_adjust): Add parameter emit_fn. All callers changed. |
| (push): Now returns rtx. Use frame_insn. |
| (sh_expand_prologue): Clear RTX_FRAME_RELATED_P for second push |
| of a DF register. |
| * sh.h (INCOMING_RETURN_ADDR_RTX, DWARF_FRAME_RETURN_COLUMN): Define. |
| |
| 2002-06-10 Zack Weinberg <zack@codesourcery.com> |
| |
| * Makefile.in (STAGESTUFF): Add s-gtype, gt-*.h, gtype-*.h, |
| and gtype-desc.c. |
| (mostlyclean): Delete specs.h, options.h, gencheck.h here... |
| (distclean): ... not here. But do delete all testsuite/*.log, |
| testsuite/*.sum files here. Delete mkheaders. Delete |
| po/*.gmo and the testsuite directory in a split tree build. |
| |
| 2002-06-10 Jeffrey Law <law@redhat.com> |
| |
| * alias.c (static_reg_base_value): New to hold RTL for |
| items allocated once per function for the aliasing code. |
| (init_alias_once_per_function): Initialize static_reg_base_value. |
| (init_alias_analysis): Avoid throw-away allocations of RTL by |
| using pre-computed values in static_reg_base_value. |
| * function.c (prepare_function_start): Call |
| init_alias_once_per_function appropriately. |
| * rtl.h (init_alias_once_per_function): Declare. |
| * caller-save (init_caller_save): Restructure slightly to |
| avoid lots of silly RTL generation. |
| * expr.c (init_expr_once): Likewise. |
| * reload1.c (reload_cse_regs_1): Allocate throw-away register |
| RTL object here. Pass it into children. |
| (reload_cse_simplify_operands): Use passed-in register RTL |
| object. |
| (reload_cse_simplify): Pass through throw-away register |
| RTL object. |
| |
| 2002-06-10 Daniel Berlin <dberlin@dberlin.org> |
| |
| * Makefile.in (ssa.o): Add dependency on $(RTL_H), which was missing. |
| |
| 2002-06-10 Richard Sandiford <rsandifo@redhat.com> |
| |
| * gcc.c (process_command): Avoid assignment to read-only location. |
| Fix sizeof calculation. |
| |
| 2002-06-10 Neil Booth <neil@daikokuya.demon.co.uk> |
| |
| * cpphash.h (struct cpp_macro): Put comments on their own lines. |
| (_cpp_expansions_different_trad): New. |
| * cppmacro.c (warn_of_redefinition): Fix for traditional case. |
| * cpptrad.c (canonicalize_text): New. |
| (scan_out_logical_line): Handle no arguments correctly. |
| (save_replacement_text): Commit memory when finished. |
| (_cpp_expansions_different_trad): New. |
| |
| 2002-06-10 Tim Josling <tej@melbpc.org.au> |
| |
| * gengtype.c (unnamed enum containing BASE_FILE_*): Add languages |
| TREELANG and COBOL. |
| (lang_names): Add treelang and cobol. |
| (get_file_basename): Add code to support treelang and cobol as |
| 4th and 5th users of c-common.c. |
| |
| 2002-06-09 Geoffrey Keating <geoffk@redhat.com> |
| |
| * Makefile.in (install-driver): Install driver as |
| $(target_alias)-gcc-$(version). |
| * gcc.c (spec_version): Make const. |
| (process_command): Handle -V and -b by using exec. |
| * doc/invoke.texi (Target Options): Restore -V option, |
| update docs for -b option. |
| |
| 2002-06-10 Tim Josling <tej@melbpc.org.au> |
| |
| * configure.in (remaining_languages_check): |
| Added check that all languages specified were found. |
| Exit if not found. Previous behavior was silent failure. |
| * configure: Regenerated. |
| |
| 2002-06-10 Tim Josling <tej@melbpc.org.au> |
| |
| First steps to making treelang documentation compliant, based on |
| instructions in sourcebuild.texi. Also add to gcc.c list of |
| default languages. |
| |
| * doc/contrib.texi: Add self as contributor of treelang. |
| |
| * doc/frontends.texi: Add mention of treelang. |
| |
| * doc/invoke.texi (Overall Options): Add mention of treelang. |
| |
| * doc/standards.texi: Add mention of treelang. |
| |
| 2002-06-09 Hans-Peter Nilsson <hp@axis.com> |
| |
| * config/cris/cris.c: Include ggc.h |
| |
| 2002-06-09 Neil Booth <neil@daikokuya.demon.co.uk> |
| |
| * cpphash.h (_cpp_push_text_context): Update. |
| (_cpp_arguments_ok): New. |
| * cppmacro.c (_cpp_arguments_ok): New, split out from... |
| (collect_args): ...here. |
| (_cpp_push_text_context): Change inputs. |
| * cpptrad.c (struct fun_macro, maybe_start_funlike, save_argument, |
| replace_args_and_push): New. |
| (lex_identifier, _cpp_lex_identifier_trad, scan_parameters): |
| Don't use IS macros directly. |
| (scan_out_logical_line): Handle function-like macro argument |
| collection. |
| (push_replacement_text): Update. |
| (replacement_length): Remove. |
| (_cpp_create_trad_definition): Don't skip whitespace before |
| checking for '('. |
| |
| 2002-06-09 Marek Michalkiewicz <marekm@amelek.gda.pl> |
| |
| * config/avr/avr.c (avr_mcu_types): Update for new devices. |
| * config/avr/avr.h (TARGET_SWITCHES, AVR_MEGA): Add -mshort-calls. |
| (LINK_SPEC, CRT_BINUTILS_SPECS): Update for new devices. |
| * config/avr/avr.md ("type" and "length" attributes): New type |
| "xcall", length 1 or 2 if AVR_MEGA. Use in all patterns that |
| output a single "call" or "rcall" insn depending on device size. |
| * config/avr/t-avr (MULTILIB_MATCHES): Update for new devices. |
| |
| 2002-06-09 David Edelsohn <edelsohn@gnu.org> |
| |
| * config/rs6000/{aix43.h,aix5.1} (ASM_CPU_SPEC): Add power3 |
| synonym for 630. Add power4. Remove embedded processors. Use -m604 |
| assembler option. |
| (CPP_CPU_SPEC): Add power3 and power4. |
| (PROCESSOR_DEFAULT): Change to 604e. |
| * config/rs6000/rs6000.h (ASM_CPU_SPEC): Similar additions. |
| (CPP_CPU_SPEC): Similar additions. |
| (enum process_type): Add POWER4. |
| (RTX_COSTS): Add POWER4. |
| (CPP_CPU_SPEC): Similar additions. |
| * config/rs6000/linux64.h (PROCESSOR_DEFAULT): Define. |
| (PROCESSOR_DEFAULT64): Define. |
| * config/rs6000/rs6000.c (rs6000_override_options): Add power4. |
| (rs6000_adjust_cost): Add 603, 604, 604e, 620, 630, Power4 to |
| branch adjustment. |
| (rs6000_issue_rate): Add Power4. |
| * config/rs6000/rs6000.md (cpu attr): Add power4. |
| (iu compare): Remove 604, 604e, 620, 630. |
| Add basic Power4 scheduling information. |
| (mfcr/mtcrf): Change type attribute to cr_logical. |
| |
| 2002-06-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * gengtype.h (error_at_line): Use PARAMS, not VPARAMS. Add |
| ATTRIBUTE_PRINTF_2. |
| * gengtype-lex.l: Fix format specifier warning. |
| |
| * genautomata.c: Don't include ctype.h or limits.h. Use ISSPACE, |
| not isspace. |
| * gengtype-lex.l: Don't include ctype.h and use ISSPACE/ISIDNUM in |
| lieu of isspace/IDchar. |
| * gengtype.c: Likewise for ctype.h and ISALNUM vs isalnum. |
| * read-rtl.c: Likewise for ctype.h. Don't define ISDIGIT or |
| ISSPACE. |
| |
| 2002-06-08 Zack Weinberg <zack@codesourcery.com> |
| |
| * Makefile.in (LIBCPP_OBJS): Take out version.o. |
| * cpphash.h (cpp_reader): Take out print_version member. |
| * cppinit.c: (cpp_handle_option): Don't do anything with |
| -version. Just set help_only for --version, --target-help. |
| Just set verbose option for -v. |
| (cpp_post_options): Don't print a version string. |
| |
| 2002-06-08 Marek Michalkiewicz <marekm@amelek.gda.pl> |
| |
| * config/avr/avr.c (TARGET_SECTION_TYPE_FLAGS): New. |
| (avr_section_type_flags): New, handle .noinit* sections. |
| |
| 2002-06-08 Jason Thorpe <thorpej@wasabisystems.com> |
| |
| * config/sh/netbsd-elf.h (SUBTARGET_EXTRA_SPECS): Define |
| and include netbsd_entry_point. |
| (SUBTARGET_LINK_SPEC): Define as NETBSD_LINK_SPEC_ELF. |
| (NETBSD_ENTRY_POINT): Define. |
| |
| 2002-06-08 Jason Thorpe <thorpej@wasabisystems.com> |
| |
| * config/sh/sh.h (SUBTARGET_EXTRA_SPECS): Define empty |
| if not already defined. |
| (EXTRA_SPECS): Add SUBTARGET_EXTRA_SPECS. |
| |
| 2002-06-08 Marek Michalkiewicz <marekm@amelek.gda.pl> |
| |
| * config/avr/avr.c (avr_regs_to_save): No need to save any registers |
| in a noreturn function. |
| (avr_output_function_prologue, avr_output_function_epilogue): |
| Correct function size calculation. Do not crash on empty function. |
| (avr_output_function_epilogue): No need for epilogue after a BARRIER. |
| |
| 2002-06-08 Jason Thorpe <thorpej@wasabisystems.com> |
| |
| * config/mips/netbsd.h (SUBTARGET_EXTRA_SPECS): Add |
| netbsd_link_spec and netbsd_entry_point. |
| (LINK_SPEC): Use %(netbsd_link_spec). |
| (NETBSD_ENTRY_POINT): Define. |
| |
| 2002-06-08 Jason Thorpe <thorpej@wasabisystems.com> |
| |
| * config/sparc/netbsd-elf.h (LINK_ARCH32_SPEC): Only specify |
| linker emulation. |
| (LINK_ARCH64_SPEC): Likewise. |
| (LINK_SPEC, NETBSD_ENTRY_POINT): Define. |
| (SUBTARGET_EXTRA_SPECS): Add netbsd_link_spec and netbsd_entry_point. |
| |
| 2002-06-08 Marc Espie <espie@openbsd.org> |
| |
| * lists.c (free_list): Fix typo in comment. |
| |
| 2002-06-08 Andreas Jaeger <aj@suse.de> |
| |
| * lcm.c (optimize_mode_switching): Add unused attribute for |
| variable. |
| |
| * sched-deps.c (sched_analyze): Remove unused variable. |
| |
| 2002-06-08 Gabriel Dos Reis <gdr@codesourcery.com> |
| |
| * diagnostic.def: Don't capitalize diagnostict descriptors. |
| |
| 2002-06-08 Jason Thorpe <thorpej@wasabisystems.com> |
| |
| * config/m68k/netbsd-elf.h (EXTRA_SPECS): Add netbsd_entry_point. |
| (LINK_SPEC): Define as NETBSD_LINK_SPEC_ELF. |
| (NETBSD_ENTRY_POINT): Define. |
| |
| 2002-06-08 Jason Thorpe <thorpej@wasabisystems.com> |
| |
| * config/i386/netbsd-elf.h (LINK_SPEC): Define as |
| NETBSD_LINK_SPEC_ELF. |
| (SUBTARGET_EXTRA_SPECS): Add netbsd_entry_point. |
| (NETBSD_ENTRY_POINT): Define. |
| * config/i386/netbsd64.h (LINK_SPEC): Use %(netbsd_link_spec). |
| (SUBTARGET_EXTRA_SPECS): Add netbsd_link_spec and |
| netbsd_entry_point. |
| (NETBSD_ENTRY_POINT): Define. |
| |
| 2002-06-08 Jason Thorpe <thorpej@wasabisystems.com> |
| |
| * config/alpha/netbsd.h (SUBTARGET_EXTRA_SPECS): Add |
| netbsd_link_spec and netbsd_entry_point. |
| (LINK_SPEC): Use %(netbsd_link_spec). |
| (NETBSD_ENTRY_POINT): Define. |
| |
| 2002-06-08 Jason Thorpe <thorpej@wasabisystems.com> |
| |
| * config/netbsd-elf.h (LINK_SPEC): Rename to... |
| (NETBSD_LINK_SPEC_ELF): ...this. Use %(netbsd_entry_point) |
| to specify program entry point. |
| |
| 2002-06-07 Jeff Law <law@redhat.com |
| |
| * emit-rtl.c (init_emit): Add hard registers to regno_reg_rtx. |
| * combine.c (move_deaths): Use regno_reg_rtx for hard regs rather |
| than creating a new register. |
| (distribute_notes): Likewise. |
| * df.c (df_reg_use_gen): Likewise. |
| (df_reg_clobber_gen): Likewise. |
| (df_ref_record): Likewise. |
| * expr.c (use_regs): Likewise. |
| * flow.c (propagate_one_insn): Likewise. |
| (mark_set_1): Likewise. |
| (mark_used_reg): Likewise. |
| * reload.c (emit_reload_insns): Likewise. |
| |
| 2002-06-07 Roger Sayle <roger@eyesopen.com> |
| |
| * simplify-rtx.c (simplify_gen_relational): Simplify RTL of the form |
| (ne (comp x y) 0) into (comp x y) where comp is a comparison code. |
| Simplify (eq (comp x y) 0) into (revcomp x y) if the sense of the |
| comparison code comp can be reversed. |
| |
| 2002-06-07 Roger Sayle <roger@eyesopen.com> |
| |
| * fold-const.c (fold) [EQ_EXPR]: Place both integer and real |
| constants last in comparisons. Optimize (x+1.0)>0.0 into the |
| equivalent x > -1.0 when -ffast-math. |
| |
| 2002-06-07 Jason Thorpe <thorpej@wasabisystems.com> |
| |
| * config.gcc (mips*-*-netbsd*): Add mips/t-netbsd to ${tmake_file}. |
| * config/mips/t-netbsd: New file. |
| |
| 2002-06-07 Zack Weinberg <zack@codesourcery.com> |
| |
| * cppinit.c (COMMAND_LINE_OPTIONS): Give all relevant -W |
| options their own entries. |
| (parse_option): Clarify comment. |
| (cpp_handle_option): Remove 'ignore' parameter and OPT_W |
| special case. Replace if/strcmp chain for -W options with |
| use of new OPT_* entries for them. |
| (cpp_handle_options): Update to match. |
| * cpplib.h: Remove last parameter to cpp_handle_option from prototype. |
| * c-decl.c: Update call to cpp_handle_option. |
| |
| 2002-06-07 Akim Demaille <akim@epita.fr> |
| |
| * gengtype-yacc.y (optionseqopt): Add the ending `;' to the action. |
| Whitespace changes. |
| |
| 2002-06-07 Jeffrey Law <law@redhat.com> |
| |
| * sched-deps.c (free_deps): Avoid calling free_INSN_LIST_list |
| on empty lists. |
| |
| 2002-06-07 H.J. Lu (hjl@gnu.org) |
| |
| * configure.in: Add --enable-__cxa_atexit. |
| * configure: Regenerated. |
| * config.in: Likewise. |
| |
| * defaults.h (DEFAULT_USE_CXA_ATEXIT): New. Defined to be 0 if |
| not defined. |
| |
| 2002-06-07 Gabriel Dos Reis <gdr@merlin.nerim.net> |
| |
| * diagnostic.c (diagnostic_build_prefix): Fix initialization. |
| |
| 2002-06-07 Jason Thorpe <thorpej@wasabisystems.com> |
| |
| * config/mips/netbsd.h (CACHE_FLUSH_FUNC): Define. |
| |
| 2002-06-07 Jason Merrill <jason@redhat.com> |
| |
| * cppexp.c (num_equality_op): Use a temporary variable to work |
| around gcc 3.0.4 bug. |
| |
| 2002-06-07 Gabriel Dos Reis <gdr@codesourcery.com> |
| |
| * diagnostic.c (diagnostic_build_prefix): Tidy. |
| |
| 2002-06-07 Neil Booth <neil@daikokuya.demon.co.uk> |
| |
| * cpptrad.c (struct block, BLOCK_HEADER_LEN, BLOCK_LEN, |
| scan_parameters, save_replacement_text, replacement_length): New. |
| (scan_out_logical_line): Take a macro and save parameters if |
| non-NULL. |
| (_cpp_logical_line_trad): Update. |
| (_cpp_create_trad_definition): Update to handle function-like |
| macros. |
| * cpplex.c (new_buff): Update. |
| (struct dummy, DEFAULT_ALIGNMENT, CPP_ALIGN): Move... |
| * cpphash.h: ...here. |
| (CPP_ALIGN2, _cpp_save_parameter): New. |
| * cppmacro.c (save_parameter): Rename, export. |
| (parse_params): Update. |
| |
| 2002-06-07 Andreas Jaeger <aj@suse.de> |
| |
| * config/mmix/mmix.c: Remove extra broken prototype for |
| mmix_init_machine_status. |
| |
| 2002-06-06 Geoffrey Keating <geoffk@redhat.com> |
| |
| * gengtype.c: Add comments before all the routines. |
| |
| 2002-06-07 Jason Thorpe <thorpej@wasabisystems.com> |
| |
| * config.gcc (sh5*-*-netbsd*): Remove sh/t-netbsd-sh5-32 |
| from and add t-sh64 to ${tmake_file}. |
| (sh64*-*-netbsd*): Add t-sh64 to ${tmake_file}. |
| * config/sh/t-netbsd-sh5 (LIB1ASMFUNCS): Remove. |
| * config/sh/t-netbsd-sh5-32: Remove. |
| * config/sh/t-netbsd-sh5-64 (MULTILIB_OPTIONS): Use |
| MULTILIB_ENDIAN. |
| (MULTILIB_DIRNAMES): Define. |
| |
| Thu Jun 6 23:14:46 CEST 2002 Jan Hubicka <jh@suse.cz> |
| |
| * i386.md (and promoting splitters): Disable QI to SImode promoting |
| when doing so changes immediate to be 32bit. |
| |
| * rtl.h (emit_*_scope): Declare. |
| * emit-rtl.c (emit_*_scope): New global functions. |
| (try_split): Copy scope. |
| * ifcvt.c (noce_try_store_flag, noce_try_store_flag_constants, |
| noce_try_flag_inc, noce_try_store_flag_mask, noce_try_cmove, |
| noce_try_cmove_arith, noce_try_minmax, noce_try_abs, |
| noce_process_if_block, find_cond_trap): Copy scopes. |
| * recog.c (peephole2_optimize): likewise. |
| |
| 2002-06-06 Jeffrey Law <law@redhat.com> |
| |
| * h8300.h (OK_FOR_U): Fix thinko exposed by flag checking. |
| |
| Thu Jun 6 21:06:25 2002 J"orn Rennecke <joern.rennecke@superh.com> |
| |
| * gengtype-lex.l (INITIAL): New rule for "'"("\\".|[^\\])"'". |
| |
| 2002-06-06 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> |
| |
| * Makefile.in (TEXI_GCCINSTALL_FILES): Define. |
| ($(docdir)/gccinstall.info): New target. |
| (info): Depend on it. |
| (gccinstall.dvi): New target. |
| (dvi): Depend on it. |
| * doc/.cvsignore: Ignore new info files. |
| * doc/install.texi (@setfilename): Reflect new info filename. |
| |
| Thu Jun 6 15:57:23 2002 J"orn Rennecke <joern.rennecke@superh.com> |
| |
| * sh.c (machine_dependent_reorg): Don't set RTX_UNCHANGING_P |
| on an UNSPEC. |
| |
| Thu Jun 6 07:17:43 2002 Nicola Pero <n.pero@mi.flashnet.it> |
| |
| PR objc/6834 |
| * objc/objc-lang.c (LANG_HOOKS_GET_ALIAS_SET): Define to be |
| c_common_get_alias_set. |
| (LANG_HOOKS_SAFE_FROM_P): Define to be c_safe_from_p. |
| |
| 2002-06-06 John David Anglin <dave@hiauly1.hia.nrc.ca> |
| |
| * emit-rtl.c (get_first_nonnote_insn, get_last_nonnote_insn): New |
| functions. |
| * rtl.h (get_first_nonnote_insn, get_last_nonnote_insn): Declare. |
| * avr/avr.c (avr_output_function_epilogue): Use above to determine |
| function size. |
| * pa/pa.c (pa_output_function_prologue): Likewise. |
| |
| 2002-06-05 David S. Miller <davem@redhat.com> |
| |
| * integrate.c (subst_constants): Handle 'B' RTL format. |
| |
| 2002-06-05 Eric Christopher <echristo@redhat.com> |
| |
| * varasm.c (make_decl_rtl): Fix comment for removed |
| halfpic.c. |
| |
| 2002-06-05 Eric Christopher <echristo@redhat.com> |
| |
| * Makefile.in: Remove missed halfpic bits. |
| |
| 2002-06-05 Eric Christopher <echristo@redhat.com> |
| |
| * toplev.c: Remove half-pic. |
| * config/mips/mips.c: Ditto. |
| * config/mips/mips.h: Ditto. Remove unused defines. |
| * config/mips/openbsd.h: Update comment to reflect above. |
| * config/mips/mips.md: Remove half-pic constraints. |
| * halfpic.h: Delete. |
| * halfpic.c: Ditto. |
| |
| 2002-06-05 Jeffrey Law <law@redhat.com> |
| |
| * pa.h (EXTRA_CONSTRAINT, T case): Further refine so that it |
| rejects (mem (lo_sum (reg) (unspec))), but will allow |
| (mem (lo_sum (reg) (symbol_ref)) for PA2.0. |
| |
| 2002-06-05 Neil Booth <neil@daikokuya.demon.co.uk> |
| |
| * cpphash.h (_cpp_create_definition): Update prototype. |
| (_cpp_push_text_context, _cpp_create_trad_definition): New. |
| ( cpp_lex_identifier_trad): New. |
| (_cpp_set_trad_context): New. |
| * cppinit.c (cpp_finish_options): Don't conditionalize builtins. |
| * cpplib.c (SEEN_EOL): Update. |
| (lex_macro_node): Update for -traditional. |
| (cpp_push_buffer, _cpp_pop_buffer): Similarly. |
| * cppmacro.c (_cpp_create_definition): Split into |
| create_iso_definition() and _cpp_create_trad_definition(). |
| (warn_of_redefinition): Update prototype; handle traditional |
| macros. |
| (_cpp_push_text_context): New. |
| * cpptrad.c (skip_whitespace, push_replacement_text): New. |
| (lex_identifier): Call ht_lookup with correct start. |
| (_cpp_lex_identifier_tradm _cpp_create_trad_definition, |
| _cpp_set_trad_context): New. |
| (scan_out_logical_line): Update to handle changing contexts. |
| |
| Wed Jun 5 20:42:31 2002 J"orn Rennecke <joern.rennecke@superh.com> |
| |
| * config.gcc (sh-*-elf*, sh64*-*-elf*): Unify. |
| (shl*-*-elf*): Add. |
| * config/sh/t-be (MULTILIB_ENDIAN): Set. |
| * config/sh/t-le (MULTILIB_ENDIAN): Likewise. |
| * t-sh (MULTILIB_ENDIAN): Set. |
| (MULTILIB_OPTIONS): Use it. |
| * t-sh64 (MULTILIB_OPTIONS): Likewise. |
| (MULTILIB_DIRNAMES): Likewise. |
| |
| 2002-06-05 Gabriel Dos Reis <gdr@codesourcery.com> |
| |
| * toplev.h (report_error_function): Remove. |
| |
| * diagnostic.h (location_t): New datatype. |
| (text_info): Likewise. |
| (diagnostic_info): Likewise. |
| (output_prefix): New macro. |
| (diagnostic_last_function_changed): Likewise. |
| (diagnostic_set_last_function): Likewise. |
| (diagnostic_last_module_changed): Likewise. |
| (diagnostic_set_last_module): Likewise. |
| (report_diagnostic): Now macro. |
| (diagnostic_set_info): Declare. |
| |
| * diagnostic.c (report_problematic_module): Rename to |
| diagnostic_repor_current_module. |
| (set_diagnostic_context): Remove. |
| (count_error): Rename to diagnostic_error_count. |
| (error_function_changed): Remove. |
| (record_last_error_function): Likewise. |
| (error_module_changed): Likewise. |
| (record_last_error_module): Likewise. |
| (context_as_prefix): Rename to diagnostic_build_prefix. |
| (flush_diagnostic_buffer): Rename to diagnostic_flush_buffer. |
| (diagnostic_set_info): New function. |
| |
| * objc/objc-act.c: #include diagnostic.h |
| (error_with_ivar): Adjust call to count_error. |
| (warn_with_method): Likewise. |
| * objc/Make-lang.in (objc-act.o): Depend on diagnostic.h |
| |
| 2002-06-05 Bob Wilson <bob.wilson@acm.org> |
| |
| * config/xtensa/xtensa.c (xtensa_build_va_list): Use |
| lang_hooks.types.make_type instead of make_node; set up |
| __va_list_tag type decl. |
| (xtensa_builtin_saveregs): Remove broken use of |
| RTX_UNCHANGING_P and unnecessary use of MEM_IN_STRUCT_P |
| for saved registers; add varargs alias set. |
| |
| 2002-06-05 Neil Booth <neil@daikokuya.demon.co.uk> |
| |
| config: |
| * alpha/gnu.h: Undef TARGET_OS_CPP_BUILTINS. |
| * i386/beos-elf.h: Use TARGET_OS_CPP_BUILTINS rather than |
| CPP_PREDEFINES and part of CPP_SPEC. |
| i386/freebsd-aout.h, i386/gas.h, i386/gnu.h, i386/linux-aout.h, |
| i386/linux.h, i386/moss.h, i386/xm-vsta.h: Similarly. |
| |
| Wed Jun 5 15:20:58 CEST 2002 Jan Hubicka <jh@suse.cz> |
| |
| * reg-stack.c (reg_to_stack): Do not call find_basic_blocks. |
| |
| 2002-06-05 Alan Modra <amodra@bigpond.net.au> |
| |
| * config/rs6000/linux64.h (ASM_OUTPUT_SOURCE_LINE): Define. |
| |
| 2002-06-04 Zack Weinberg <zack@codesourcery.com> |
| |
| * gengtype-yacc.y: Make sure all rules end with a semicolon. |
| |
| 2002-06-04 Bob Wilson <bob.wilson@acm.org> |
| |
| * config/xtensa/xtensa.c (xtensa_init_machine_status): Fix |
| typo in function prototype and include "ggc.h" header. |
| |
| 2002-06-04 Richard Henderson <rth@redhat.com> |
| |
| * config/alpha/alpha.c (mode_mask_operand): Simplify without ifdefs. |
| (print_operand) ['U']: Likewise. |
| (alpha_expand_unaligned_store): Correct constants for 32-bit cross. |
| (alpha_expand_unaligned_store_words): Likewise. |
| (alpha_expand_builtin_vector_binop): Fix typo. |
| (enum alpha_builtin, code_for_builtin): Add remaining ext, ins, msk, |
| umulh, and cix insns. |
| (one_arg_builtins): Add cix builtins. |
| (two_arg_builtins): Add ext, ins, msk, umulh builtins. |
| (alpha_expand_builtin): Fix typo in arity. |
| * config/alpha/alpha.md (UNSPEC_CTLZ, UNSPEC_CTPOP): New. |
| (builtin_extbl, builtin_extwl, builtin_extll, builtin_extwh, |
| builtin_extlh, builtin_insbl, builtin_inswl, builtin_insll, |
| builtin_insql, builtin_inswh, builtin_inslh, builtin_insqh, |
| builtin_mskbl, builtin_mskwl, builtin_mskll, builtin_mskql, |
| builtin_mskwh, builtin_msklh, builtin_mskqh, builtin_cttz, |
| builtin_ctlz, builtin_ctpop): New. |
| * doc/extend.texi (Alpha Built-in Functions): Update. |
| |
| 2002-06-04 Geoffrey Keating <geoffk@redhat.com> |
| |
| * gengtype.c (write_gc_root): Don't unnecessarily prevent |
| global variable-length arrays being roots. |
| |
| * config.gcc (powerpc-*-darwin*): Set config_gtfiles. |
| * configure.in (config_gtfiles): New variable. |
| (all_gtfiles): Initialize from config_gtfiles. |
| * configure: Regenerate. |
| |
| 2002-06-04 Neil Booth <neil@daikokuya.demon.co.uk> |
| |
| config/i386: |
| * beos-elf.h, cygwin.h, djgpp.h, gas.h, gnu.h, i386-interix.h, |
| i386-interix3.h, i386elf.h, linux-aout.h, linux.h, linux64.h, |
| mingw32.h, netbsd-elf.h, netbsd.h, netbsd64.h, rtemself.h, |
| sco5.h, sol2.h, sysv3.h, sysv4.h, sysv5.h, uwin.h, vxi386.h, |
| win32.h (CPP_SPEC): Remove cpp_cpu. |
| * i386.h (TARGET_CPU_CPP_BUILTINS): Use. |
| (CPP_CPU_DEFAULT_SPEC, CPP_CPU_SPEC): Die! |
| |
| 2002-06-04 Janis Johnson <janis187@us.ibm.com> |
| |
| * config/ia64/ia64.c (gen_thread_pointer): Fix variable name. |
| |
| 2002-06-04 Jeff Law <law@redhat.com. |
| David Edelsohn <edelsohn@gnu.org> |
| Michael Matz <matz@kde.org> |
| |
| * sched-int.h (struct deps): New field libcall_block_tail_insn. |
| * sched_deps.c (init_deps): Initialize libcall_block_tail_insn. |
| * sched_deps.c (sched_analyze_insn): If libcall_block_tail_insn |
| is set, then mark the current insn as being part of a libcall |
| scheduling group. |
| (sched_analyze): Set and clear libcall_block_tail_insn appropriately. |
| |
| * haifa-sched.c (schedule_block): Do not count USE or CLOBBER |
| insns against the issue rate. |
| |
| Tue Jun 4 19:29:42 CEST 2002 Jan Hubicka <jh@suse.cz> |
| |
| * cfglayout.c (duplicate_insn_chain): Kill NOTE_INSN_RANGE notes. |
| * final.c (final_scan_insn): Likewise. |
| * ggc-common.c (ggc_mark_rtx_children_1): Likewise; use |
| NOTE_EXPECTED_VALUE instead of NOTE_RANGE. |
| * haifa-sched.c (unlink_other_notes): Likeewise. |
| (reemit_notes): Likewise. |
| * print-rtl.c (print_rtx): Likewise. |
| * sched-deps (sched-analyze): Likewise. |
| * rtl.c (note_insn_name): Likewise. |
| * rtl.h (NOTE_RANGE_INFO, NOTE_LIVE_INFO): Kill. |
| (enum insn_note): Kill NOTE_INSN_RANGE_*, NOTE_INSN_LIVE. |
| (RANGE_*): Kill. |
| |
| 2002-06-04 Jason Thorpe <thorpej@wasabisystems.com> |
| |
| * varasm.c (mark_constants): Handle RTX format 'B'. |
| |
| 2002-06-04 Neil Booth <neil@daikokuya.demon.co.uk> |
| |
| * cpphash.h (FIRST, LAST, CUR, RLIMIT): New. |
| (struct cpp_context): Add traditional fields. |
| * cppmacro.c (paste_all_tokens, push_ptoken_context, |
| push_token_context, cpp_get_token, _cpp_backup_tokens): Update. |
| * cpptrad.c (skip_comment, lex_identifier, |
| _cpp_read_logical_line_trad, scan_out_logical_line): Update. |
| |
| 2002-06-04 Kazu Hirata <kazu@cs.umass.edu> |
| |
| * gbl-ctors.h: Fix formatting. |
| * gcc.c: Likewise. |
| * gccspec.c: Likewise. |
| * gcov.c: Likewise. |
| * gcov-io.h: Likewise. |
| * gcse.c: Likewise. |
| * ggc-common.c: Likewise. |
| * ggc.h: Likewise. |
| * ggc-page.c: Likewise. |
| * ggc-simple.c: Likewise. |
| * global.c: Likewise. |
| * graph.h: Likewise. |
| * gthr-dce.h: Likewise. |
| * gthr.h: Likewise. |
| * gthr-posix.h: Likewise. |
| * gthr-rtems.h: Likewise. |
| * gthr-solaris.h: Likewise. |
| * gthr-win32.h: Likewise. |
| |
| 2002-06-03 Geoffrey Keating <geoffk@redhat.com> |
| |
| Merge from pch-branch: |
| |
| * gengtype.h (UNION_OR_STRUCT_P): New macro. |
| * gengtype.c (write_gc_structure_fields): Use it. |
| (write_gc_root): Use it here too. |
| |
| * gengtype.c (write_gc_structure_fields): Assume that lengths |
| of typenames fit into an 'int'; don't pass a size_t to "%d" in |
| printf. |
| (write_gc_marker_routine_for_structure): Likewise. |
| (write_gc_types): Likewise. |
| (write_gc_root): Likewise. |
| |
| * varray.h (VARRAY_CLEAR): New. |
| (varray_clear): Prototype. |
| * varray.c (varray_clear): New. |
| * cselib.c (reg_values_old): New. |
| (used_regs_old): New. |
| (cselib_init): Use cached varrays if available to avoid |
| generating large amounts of garbage. |
| (cselib_finish): Don't throw away old varrays. |
| |
| * final.c (insn_addresses_): Move out of ifdef. |
| |
| * varray.c (uses_ggc): Make more varray kinds GCable. |
| * varray.h (union varray_data_tag): Let gengtype see |
| fields 'generic' and 'te'. |
| * reg-stack.c: Include gt-reg-stack.h, ggc.h. |
| (stack_regs_mentioned_data): Move out of ifdef; mark with gengtype. |
| (reg_to_stack): Don't call VARRAY_FREE. |
| * insn-addr.h (INSN_ADDRESSES_FREE): Don't use VARRAY_FREE. |
| (insn_addresses_): Use gengtype to mark. |
| * gengtype.c (write_gc_structure_fields): Handle arrays of generic |
| pointers; handle generic pointers in unused union fields. |
| (get_output_file_with_visibility): Include cselib.h, |
| insn-addr.h in gtype-desc.c. |
| * function.c (prologue): Use gengtype to mark. |
| (epilogue): Likewise. |
| (sibcall_epilogue): Likewise. |
| * dependence.c: Include gt-dependence.h, ggc.h. |
| (struct def_use): Use gengtype to mark. |
| (struct loop): Likewise. |
| (struct induction): Likewise. |
| (struct dependence): Likewise. |
| (def_use_chain): Likewise. |
| (dep_chain): Likewise. |
| (loop_chain): Likewise. |
| (induction_chain): Likewise. |
| (init_dependence_analysis): Don't free anything, just clear pointers. |
| (build_def_use): Use GGC to allocate def_use. |
| (add_loop): Use GGC to allocate loop. |
| (find_induction_variable): Use GGC to allocate induction. |
| (check_node_dependence): Use GGC to allocate induction, dependence. |
| (dump_node_dependence): Don't free varrays. |
| (end_dependence_analysis): Likewise. |
| * cselib.h (struct cselib_val_struct): Use gengtype to mark. |
| (struct elt_loc_list): Likewise. |
| (struct elt_list): Likewise. |
| * cselib.c: Don't include obstack.h. |
| (hash_table): Use gengtype to mark. |
| (reg_values): Use gengtype to mark. |
| (used_regs): Use gengtype to mark. |
| (cselib_obstack): Delete. |
| (cselib_startobj): Delete. |
| (empty_vals): Mark as deletable. |
| (empty_elt_lists): Mark as deletable. |
| (empty_elt_loc_lists): Mark as deletable. |
| (new_elt_list): Use GGC to allocate struct elt_list. |
| (new_elt_loc_list): Use GGC to allocate struct elt_loc_list. |
| (clear_table): Don't delete obstack; don't unnecessarily clear |
| deletable variables. |
| (new_cselib_val): Use GGC to allocate struct cselib_val. |
| (cselib_init): Don't set up obstacks. Use GGC to allocate |
| hash table. |
| (cselib_finish): Just clear variables, don't free anything. |
| * Makefile.in (cselib.o): Remove dependency on $(OBSTACK_H). |
| (reg-stack.o): Add dependency on gt-reg-stack.h, $(GGC_H). |
| (dependence.o): Add dependency on gt-dependence.h, $(GGC_H). |
| (GTFILES): Add insn-addr.h, cselib.h, dependence.c, reg-stack.c. |
| (gt-reg-stack.h): New rule. |
| (gt-dependence.h): New rule. |
| (gtype-desc.o): Add cselib.h, insn-addr.h. |
| |
| * varray.c: Use only necessary headers. |
| (element_size): New. |
| (uses_ggc): New. |
| (varray_init): Take type, not size. Use GGC if appropriate. |
| (varray_grow): Update for change to struct varray_head_tag. |
| Use GGC if appropriate. |
| * varray.h (struct const_equiv_data): Use gengtype. |
| (enum varray_data_enum): New. |
| (union varray_data_tag): Use gengtype. |
| (struct varray_head_tag): Use gengtype. Replace size field with |
| enum varray_data_enum. |
| (varray_init): Update prototype. |
| (VARRAY_SCHED_INIT): Delete. |
| (VARRAY_*_INIT): Update for change to varray_init. |
| (VARRAY_SCHED): Delete. |
| (VARRAY_PUSH_SCHED): Delete. |
| (VARRAY_TOP_SCHED): Delete. |
| * tree.h: Update for change to length specifier. |
| * tree-inline.c (optimize_inline_calls): Don't use VARRAY_FREE. |
| (clone_body): Likewise. |
| * ssa.h (ssa_definition): Use gengtype to mark. |
| * ssa.c (convert_from_ssa): Don't use VARRAY_FREE. |
| * ssa-dce.c (ssa_eliminate_dead_code): Don't use VARRAY_FREE. |
| * rtl.h (struct rtvec_def): Update for change to length specifier. |
| * integrate.c (expand_inline_function): Don't use VARRAY_FREE. |
| (struct initial_value_struct): Update for change to length specifier. |
| * ggc.h (ggc_add_rtx_varray_root): Delete prototype. |
| (ggc_add_tree_varray_root): Delete prototype. |
| (ggc_mark_rtx_varray): Delete prototype. |
| (ggc_mark_tree_varray): Delete prototype. |
| * ggc-common.c (ggc_add_rtx_varray_root): Delete. |
| (ggc_add_tree_varray_root): Delete. |
| (ggc_mark_rtx_varray): Delete. |
| (ggc_mark_tree_varray): Delete. |
| (ggc_mark_rtx_varray_ptr): Delete. |
| (ggc_mark_tree_varray_ptr): Delete. |
| * gengtype.h (enum typekind): Remove TYPE_VARRAY. |
| (create_varray): Delete prototype. |
| * gengtype.c (varrays): Delete. |
| (create_varray): Delete. |
| (adjust_field_type): Detect array of string pointers. |
| (process_gc_options): Remove code to handle varray_type option. |
| (set_gc_used_type): Remove TYPE_VARRAY case. |
| (output_escaped_param): New. |
| (write_gc_structure_fields): Use output_escaped_param on all |
| parameters. Handle 'skip' with 'use_param' option. Handle |
| arrays of strings. Remove TYPE_VARRAY handling. |
| (write_gc_roots): Use boolean to detect 'length' option. |
| * gengtype-yacc.y (VARRAY_TYPE): Delete token. |
| (struct_fields): Call adjust_field_type on array fields. |
| (type): Remove VARRAY_TYPE case. |
| (type_option): Likewise. |
| * gengtype-lex.l: Don't consider varray_type a keyword. |
| * function.h: Update for change to length specifier. |
| (free_eh_status): Delete prototype. |
| * function.c (free_after_compilation): Don't call free_eh_status. |
| (reorder_blocks): Don't use VARRAY_FREE. |
| * except.c (struct eh_status): Update for change to length specifier. |
| remove varray_type specifier. |
| (free_eh_status): Delete. |
| * dwarf2out.c: Include gt-dwarf2out.h. |
| (used_rtx_varray): Use gengtype to mark, move |
| outside ifdefs. |
| (incomplete_types): Likewise. |
| (decl_scope_table): Likewise. |
| (dwarf2out_init): Don't call ggc_add_tree_varray_root. |
| * cfglayout.c (scope_to_insns_finalize): Don't use VARRAY_FREE. |
| * c-tree.h (struct lang_type): Update for change to length specifier. |
| * c-parse.in (yylexstring): Don't use VARRAY_FREE. |
| * c-objc-common.c: Include gt-c-objc-common.h. |
| (deferred_fns): Mark for gengtype. |
| (c_objc_common_init): Don't call ggc_add_tree_varray_root. |
| (expand_deferred_fns): Just set deferred_fns to 0 to free it. |
| * Makefile.in (c-objc-common.o): Add gt-c-objc-common.h. |
| (gtype-desc.o): Update dependencies. |
| (dwarf2out.o): Add gt-dwarf2out.h. |
| (varray.o): Update dependencies. |
| (GTFILES): Add varray.h, ssa.h, dwarf2out.c, c-objc-common.c. |
| (gt-c-objc-common.h): New rule. |
| (gt-dwarf2out.h): New rule. |
| * objc/objc-act.c (build_objc_string_object): Don't use VARRAY_FREE. |
| |
| * doc/gty.texi (GTY Options): Correct spelling. |
| (GGC Roots): Likewise. |
| * Makefile.in (TEXI_CPP_FILES): New. |
| (TEXI_GCC_FILES): New. |
| (TEXI_GCCINT_FILES): New. |
| (TEXI_CPPINT_FILES): New. |
| ($(docdir)/cpp.info): Use new macros. |
| ($(docdir)/gcc.info): Likewise. |
| ($(docdir)/gccint.info): Likewise. |
| ($(docdir)/cppinternals.info): Likewise. |
| (cpp.dvi): Likewise. |
| (gcc.dvi): Likewise. |
| (gccint.dvi): Likewise. |
| (cppinternals.dvi): Likewise. |
| |
| * Makefile.in ($(docdir)/gccint.info): Depend on gty.texi. |
| * doc/gccint.texi (Top): Include gty.texi. |
| * doc/gty.texi: New file. |
| |
| * bitmap.c: Include ggc.h, gt-bitmap.h. |
| (bitmap_ggc_free): New. |
| (bitmap_elem_to_freelist): New. |
| (bitmap_element_free): Use bitmap_elem_to_freelist. |
| (bitmap_element_allocate): Allow use of GGC. |
| (bitmap_clear): Use bitmap_elem_to_freelist. |
| (bitmap_copy): Update for change to bitmap_element_allocate. |
| (bitmap_set_bit): Likewise. |
| (bitmap_operation): Update for changes elsewhere. |
| (bitmap_initialize): Allow to create bitmaps that will use GGC. |
| * bitmap.h (struct bitmap_element_def): Use gengtype. |
| (struct bitmap_head_def): Likewise. Also add 'using_obstack' field. |
| (bitmap_initialize): Add extra parameter. |
| (BITMAP_OBSTACK_ALLOC): Update for change to bitmap_initialize. |
| (BITMAP_ALLOCA): Delete. |
| (BITMAP_XMALLOC): Update for change to bitmap_initialize. |
| (BITMAP_GGC_ALLOC): New. |
| * Makefile.in (gtype-desc.o): Add bitmap.h. |
| (bitmap.o): Add gt-bitmap.h, $(GGC_H). |
| (GTFILES): Add bitmap.c. |
| (gt-bitmap.h): New rule. |
| ($(HOST_PREFIX_1)bitmap.o): Add gt-bitmap.h. |
| * basic-block.h: Update for changes to bitmap_initialize. |
| * except.c (exception_handler_label_map): Move into... |
| (struct eh_status): Here. |
| (struct eh_region): Make 'aka' GCable. |
| (free_eh_status): Don't need to specially handle |
| exception_handler_label_map. |
| (add_ehl_entry): Update for changes to exception_handler_label_map. |
| (find_exception_handler_labels): Likewise. |
| (remove_exception_handler_label): Likewise. |
| (maybe_remove_eh_handler): Likewise. |
| (for_each_eh_label): Likewise. |
| (remove_eh_handler): Allocate 'aka' using GGC. |
| * gengtype.c (get_output_file_with_visibility): Add bitmap.h |
| to list of includes. |
| |
| * gengtype.c (write_gc_marker_routine_for_structure): Name |
| the routines 'gt_ggc_mx_*' instead of 'gt_ggc_m_*'. |
| (write_gc_types): Arrange for the tests with NULL to be inlined. |
| (write_gc_roots): Update uses of procedure pointers. |
| * ggc-common.c (gt_ggc_mx_rtx_def): Rename from gt_ggc_m_rtx_def. |
| |
| * Makefile.in (explow.o): Add dependency on gt-explow.h. |
| (sdbout.o): Add dependency on gt-sdbout.h. |
| |
| * emit-rtl.c (const_int_htab): Use gengtype to clear unused entries. |
| (mem_attrs_htab): Likewise. |
| (init_emit_once): Don't call ggc_add_deletable_htab. |
| * fold-const.c (size_htab): Use gengtype to clear unused entries. |
| (size_int_type_wide): Don't call ggc_add_deletable_htab. |
| * gengtype.c (finish_root_table): Add LASTNAME and TNAME |
| parameters, use them, change callers. |
| (write_gc_root): Add IF_MARKED parameter, use it, change callers. |
| (write_gc_roots): Handle 'if_marked' option. |
| (main): Don't need to call set_gc_used_type any more. |
| * ggc.h (ggc_htab_marked_p): Delete. |
| (ggc_htab_mark): Delete. |
| (struct ggc_cache_tab): New. |
| (gt_ggc_cache_rtab): New declaration. |
| * ggc-common.c (struct d_htab_root): Delete. |
| (d_htab_roots): Delete. |
| (ggc_add_deletable_htab): Delete. |
| (ggc_htab_delete): Handle new htab-deleting mechanism. |
| (ggc_mark_roots): Use new htab-deleting mechanism. |
| * tree.c (type_hash_table): Use gengtype to clear unused entries. |
| Make static. |
| (init_obstacks): Don't call ggc_add_deletable_htab. |
| |
| * objc/objc-act.h (struct hashed_attribute): Use gengtype. |
| (struct hashed_entry): Likewise. |
| (nst_method_hash_list): Likewise. |
| (cls_method_hash_list): Likewise. |
| (HASH_ALLOC_LIST_SIZE): Delete. |
| (ATTR_ALLOC_LIST_SIZE): Delete. |
| * objc/objc-act.c (hash_init): Use ggc to allocate |
| nst_method_hash_list, cls_method_hash_list. |
| (hash_enter): Use ggc to allocate; allocate one entry at a time. |
| (hash_add_attr): Likewise. |
| (ggc_mark_hash_table): Delete. |
| (objc_act_parse_init): Delete. |
| (objc_init): Delete reference to objc_act_parse_init. |
| * tlink.c: Replace hash.h with hashtab.h. Explicitly include |
| obstack.h. Replace references to 'struct hash_table' with htab_t. |
| (struct symbol_hash_entry): Replace hash header with key field. |
| (struct file_hash_entry): Replace hash header with key field. |
| (struct demangled_hash_entry): Replace hash header with key field. |
| (hash_string_eq): New. |
| (hash_string_hash): New. |
| (symbol_hash_newfunc): Delete. |
| (symbol_hash_lookup): Modify to use htab_t. |
| (file_hash_newfunc): Delete. |
| (file_hash_lookup): Modify to use htab_t. |
| (demangled_hash_newfunc): Delete. |
| (demangled_hash_lookup): Modify to use htab_t. |
| (tlink_init): Modify to use htab_t. |
| * hash.h: Delete. |
| * hash.c: Delete. |
| * ggc.h: Delete forward structure declarations. |
| Delete prototypes for deleted functions. |
| * ggc-common.c: Don't include hash.h. |
| (ggc_add_tree_hash_table_root): Delete. |
| (ggc_mark_tree_hash_table_entry): Delete. |
| (ggc_mark_tree_hash_table): Delete. |
| (ggc_mark_tree_hash_table_ptr): Delete. |
| * gengtype.c (write_gc_structure_fields): Allow param_is option. |
| (write_gc_marker_routine_for_structure): Use visibility of |
| the parameter if there is one. |
| * function.c: Replace hash.h with hashtab.h. Replace references |
| to 'struct hash_table *' with htab_t. |
| (struct insns_for_mem_entry): Include a plain key. |
| (fixup_var_refs_insns_with_hash): Update to use htab_t. |
| (insns_for_mem_newfunc): Delete. |
| (insns_for_mem_hash): Update to use htab_t. |
| (insns_for_mem_comp): Likewise. |
| (insns_for_mem_walk): Likewise. |
| * c-lang.c: Include ggc.h. |
| * Makefile.in (OBJS): Remove hash.o. |
| (c-lang.o): Add GGC_H. |
| (COLLECT2_OBJS): Remove hash.o. |
| (tlink.o): Remove hash.h, add HASHTAB_H and OBSTACK_H. |
| (ggc-common.o): Remove hash.h. |
| (function.o): Remove hash.h, add HASHTAB_H. |
| (genautomata.o): Remove hash.h, add HASHTAB_H. |
| |
| * varasm.c (mark_const_str_htab_1): Delete. |
| (mark_const_str_htab): Delete. |
| (const_str_htab_del): Delete. |
| (const_str_htab): Use gengtype to mark. |
| (init_varasm_once): Use gengtype to mark hashtables. Use GC to |
| allocate them. |
| * tree.c (mark_tree_hashtable_entry): Delete. |
| (mark_tree_hashtable): Delete. |
| * tree.h (mark_tree_hashtable): Delete prototype. |
| * ggc.h (ggc_test_and_set_mark): Treat (void *)1 like NULL. |
| (ggc_mark): Likewise. |
| (ggc_calloc): New. |
| (htab_create_ggc): New. |
| * ggc-common.c (ggc_calloc): New. |
| * gengtype.h (enum typekind): Add TYPE_PARAM_STRUCT. |
| (struct type): Add param_struct structure. |
| * gengtype.c (param_structs): New. |
| (adjust_field_type): Handle param_is option. |
| (set_gc_used_type): Handle TYPE_PARAM_STRUCT. |
| (get_output_file_with_visibility): Include hashtab.h in gtype-desc.c. |
| (write_gc_structure_fields): Add new PARAM parameter. Update |
| callers. Handle use_param option. Handle TYPE_PARAM_STRUCT. |
| (write_gc_marker_routine_for_structure): Add new PARAM parameter. |
| Use it to generate function name. Update callers. |
| (write_gc_types): Add new PARAM_STRUCTS parameter. Update callers. |
| Process them. |
| (write_gc_roots): Handle TYPE_PARAM_STRUCT. Allow param_is |
| option. |
| (main): Define PTR as pointer-to-scalar. Don't specially |
| mark deferred_string or ehl_map_entry. |
| * gengtype-yacc.y (PARAM_IS): Add new token. |
| (externstatic): Use adjust_field_type. |
| (type_option): Add PARAM_IS. |
| * gengtype-lex.l: Add rule for typedef of function pointers. |
| Add rule for PARAM_IS. |
| (IWORD): Add size_t. |
| * except.c (exception_handler_label_map): Use gengtype to mark. |
| (type_to_runtime_map): Likewise. |
| (mark_ehl_map_entry): Delete. |
| (mark_ehl_map): Delete. |
| (init_eh): Use gengtype for roots; use GC to allocate hash tables. |
| (t2r_mark_1): Delete. |
| (t2r_mark): Delete. |
| * Makefile.in (gtype-desc.o): Correct dependencies. |
| (GTFILES): Add hashtab.h. |
| (genautomata.o): Actually uses hashtab.h. |
| |
| * Makefile.in (stringpool.o): Add $(GGC_H). |
| (dwarf2asm.o): Likewise. |
| (GTFILES): Add hashtable.h. |
| * c-common.h (struct c_common_identifier): Use gengtype. |
| * c-decl.h (c_mark_tree): Delete. |
| * c-lang.c (LANG_HOOKS_MARK_TREE): Delete. |
| * c-tree.h (struct lang_identifier): Use gengtype. |
| (union lang_tree_node): New. |
| (c_mark_tree): Delete prototype. |
| * dwarf2out.c [!DWARF2_DEBUGGING_INFO]: Define dummy |
| dwarf2_debug_hooks. |
| * gengtype-lex.l (IWORD): Allow 'bool'. |
| (ptr_alias): Match. |
| * gengtype-yacc.y (ALIAS): New token. |
| (type_option): New rule. |
| (option): Use type_option. |
| * gengtype.c (process_gc_options): New. |
| (set_gc_used_type): Use it. |
| (write_gc_structure_fields): Add 'bitmap' parameter, change callers. |
| Add new variable 't' to hold the type of the field being processed. |
| Add more error checking. Use UNION_P when looking at 'desc' option. |
| Handle language-specific structures containing other |
| language-specific structures. |
| (write_gc_types): Handle 'ptr_alias' option. |
| (main): Don't need to specially output lang_type, lang_decl, lang_id2. |
| * ggc-common.c (ggc_pending_trees): Delete. |
| (ggc_mark_roots): Don't manipulate ggc_pending_trees. |
| (ggc_mark_trees): Delete. |
| (gt_ggc_m_tree_node): Delete. |
| * ggc.h (ggc_pending_trees): Delete. |
| (ggc_mark_tree): Make alias of gt_ggc_m_tree_node. |
| * hashtable.h (ht_identifier): Use gengtype. |
| * langhooks-def.h (LANG_HOOKS_MARK_TREE): Delete. |
| * langhooks.h (struct lang_hooks): Delete mark_tree. |
| * sdbout.c [! SDB_DEBUGGING_INFO]: Define dummy sdb_debug_hooks |
| anyway. |
| * system.h: Poison LANG_HOOKS_MARK_TREE. |
| * tree.c (tree_node_structure): New. |
| * tree.h (struct tree_common): Use gengtype. |
| (struct tree_int_cst): Likewise. |
| (struct tree_real_cst): Likewise. |
| (struct tree_string): Likewise. |
| (struct tree_complex): Likewise. |
| (struct tree_vector): Likewise. |
| (struct tree_identifier): Likewise. |
| (struct tree_list): Likewise. |
| (struct tree_vec): Likewise. |
| (struct tree_exp): Likewise. |
| (struct tree_block): Likewise. |
| (struct tree_type): Likewise. |
| (struct tree_decl): Likewise. |
| (enum tree_structure_enum): New. |
| (union tree_node): Use gengtype, with an alias. |
| (tree_node_structure): Prototype. |
| * objc/objc-lang.c (LANG_HOOKS_MARK_TREE): Delete. |
| |
| Merge to tag pch-merge-20020430. The LANG_HOOKS_FUNCTION_MARK |
| macro was deleted. The LANG_HOOKS_FUNCTION_FREE macro was renamed |
| to LANG_HOOKS_FUNCTION_FINAL. |
| * Makefile.in (GTFILES): Add bitmap.h. |
| * except.c (struct eh_region): Mark field 'aka' to be skipped. |
| |
| * config/alpha/alpha.c [TARGET_ABI_UNICOSMK] |
| (alpha_init_machine_status): Give proper type. |
| * Makefile.in (c-lang.o): Depend on gtype-c.h. |
| (optabs.o): Depend on gt-optabs.h. |
| (GTFILES): Add optabs.o. |
| (gt-optabs.h): Add rule. |
| * optabs.c: Include gt-optabs.h. |
| |
| * gengtype.c (set_gc_used_type): Correct some errors in last change. |
| (write_gc_structure_fields): If a field which should be NULL is |
| not, abort. |
| * c-pragma.c: Move struct align_stack and variable alignment_stack |
| out from the ifdef. |
| |
| * config/xtensa/t-xtensa: Add dependencies for gt-xtensa.h. |
| * config/xtensa/xtensa.c: Include gt-cris.h. |
| (struct machine_function): Use gengtype to mark. |
| * config/mmix/mmix.h (struct machine_function): Use gengtype |
| to mark. |
| * config/cris/t-cris: Add dependencies for gt-cris.h. |
| * config/cris/cris.c: Include gt-cris.h. |
| (struct machine_function): Use gengtype to mark. |
| * config/rs6000/rs6000.h (struct machine_function): Use gengtype |
| to mark. |
| * doc/tm.texi (Per-Function Data): Delete references to |
| mark_machine_status. |
| * config/ia64/ia64.c (ia64_override_options): Don't set |
| mark_machine_status. |
| * config/i386/i386.c (override_options): Likewise. |
| * config/d30v/d30v.c (d30v_init_expanders): Likewise. |
| * config/arm/arm.c (arm_init_expanders): Likewise. |
| * config/alpha/alpha.c (override_options): Likewise. |
| * gengtype.h (enum gc_used_enum): Add GC_MAYBE_POINTED_TO. |
| * gengtype.c (set_gc_used_type): Handle 'maybe_null' option. |
| (write_gc_structure_fields): Don't handle 'really' option. |
| Handle 'maybe_null' option. |
| (write_gc_types): Handle 'maybe_null' option. |
| * function.h (struct function): Don't use "really". |
| (mark_machine_status): Delete declaration. |
| (mark_lang_status): Delete declaration. |
| (gt_ggc_mr_machine_function): Delete prototype. |
| (gt_ggc_mr_language_function): Delete prototype. |
| * function.c (mark_machine_status): Delete. |
| (mark_lang_status): Delete. |
| (gt_ggc_mr_machine_function): Delete. |
| (gt_ggc_mr_language_function): Delete. |
| * c-tree.h (mark_c_function_context): Delete prototype. |
| * c-objc-common.c (c_objc_common_init): Don't set mark_lang_status. |
| * c-decl.c (struct language_function): Rename from struct |
| c_language_function. Update uses. Use gengtype to mark. |
| (mark_c_function_context): Delete. |
| * c-common.h (struct c_language_function): Rename from struct |
| language_function. |
| (mark_stmt_tree): Delete prototype. |
| (c_mark_lang_decl): Delete prototype. |
| (mark_c_language_function): Delete prototype. |
| * c-common.c (mark_stmt_tree): Delete. |
| (c_mark_lang_decl): Delete. |
| (mark_c_language_function): Delete. |
| |
| * gengtype.h (enum typekind): Add TYPE_LANG_STRUCT. |
| (lang_bitmap): New typedef. Use where appropriate. |
| (struct type): Add gc_used field, lang_struct field. |
| (UNION_P): New macro. |
| (new_structure): New prototype. |
| (find_structure): Remove 'pos' parameter. Change all callers. |
| * gengtype-lex.l: Update for changes to find_structure. |
| * gengtype-yacc.y (typedef_struct): Use new_structure. |
| (yacc_ids): Suppress warning. |
| (type): Use new_structure. |
| * gengtype.c (string_type): Update for changes to struct type. |
| (find_structure): Just find a structure, don't worry about |
| creating one. |
| (new_structure): New. |
| (note_yacc_type): Use new_structure. |
| (set_gc_used_type): New. |
| (set_gc_used): New. |
| (write_gc_structure_fields): Allow for pointers to TYPE_LANG_STRUCT. |
| (write_gc_types): Handle TYPE_LANG_STRUCT. |
| (write_gc_marker_routine_for_structure): New. |
| (main): Call set_gc_used. Add some calls to set_gc_used_type |
| for places where GCC doesn't use gengtype properly yet. |
| * ggc.h (gt_ggc_m_rtx_def): Don't prototype. |
| (gt_ggc_m_tree_node): Likewise. |
| |
| * varasm.c (copy_constant): Call expand_constant if we hit |
| something we can't recognize. |
| |
| * ggc-common.c (ggc_mark_rtvec_children): Delete. |
| (ggc_mark_rtx_children): Use generic name for ggc_mark_rtvec. |
| (lang_mark_false_label_stack): Delete. |
| * rtl.h (struct rtvec_def): Use gengtype to mark. |
| * ggc.h (ggc_mark_rtvec): Delete. |
| (gt_ggc_m_rtvec_def): Delete. |
| (ggc_mark_nonnull_tree): Delete. |
| (ggc_mark_rtvec_children): Delete prototype. |
| (lang_mark_false_label_stack): Delete declaration. |
| |
| * gengtype.h (note_yacc_type): Add prototype. |
| * gengtype.c (note_yacc_type): New function. |
| * gengtype-lex.l: Add lexer support for yacc files. |
| * gengtype-yacc.y (start): Extract union from yacc files. |
| (yacc_union): New rule. |
| (yacc_typematch): New rule. |
| (yacc_ids): New rule. |
| (enum_items): Tweak for efficiency. |
| (optionseq): Likewise. |
| |
| * c-common.h (struct language_function): Use gengtype. |
| (struct c_lang_decl): Likewise. |
| * c-tree.h (struct lang_decl): Likewise. |
| (struct lang_type): Likewise. |
| * c-decl.c (lang_mark_tree): Use generated marker routines to mark |
| tree language substructures. |
| |
| * stringpool.c (mark_ident): Replace ggc_mark_nonnull_tree with |
| ggc_mark_tree. |
| * dwarf2asm.c (mark_indirect_pool_entry): Likewise. |
| |
| * varasm.c (struct rtx_const): Remove 'skip' tags for scalar arrays. |
| |
| * stmt.c (struct nesting): Add discriminator. Use gengtype to |
| mark. Remove 'data.block.cleanup_ptr' field. |
| (struct stmt_status): Use usual technique to mark struct nesting. |
| (gt_ggc_mr_nesting_cond): Delete. |
| (gt_ggc_mr_nesting_loop): Delete. |
| (gt_ggc_mr_nesting_block): Delete. |
| (gt_ggc_mr_nesting_case_stmt): Delete. |
| (expand_start_cond): Set discriminator. |
| (expand_start_loop): Likewise. |
| (expand_start_null_loop): Likewise. |
| (expand_start_bindings_and_block): Set discriminator. Don't set |
| deleted fields. |
| (expand_decl_cleanup): Replace 'cleanup_ptr' with |
| &thisblock->data.block.cleanups. |
| (expand_start_case): Set discriminator. |
| (expand_start_case_dummy): Set discriminator. |
| |
| * ggc-callbacks.c: Remove. |
| |
| * gengtype.h (struct type): Add 'u.s.bitmap' field. |
| (find_structure): Add 'pos' parameter. |
| * gengtype-lex.l: Update callers to find_structure. |
| * gengtype-yacc.y: Likewise. |
| * gengtype.c (find_structure): Allow for structures to be defined |
| in multiple language backends. |
| (get_output_file_with_visibility): Include debug.h in gtype-desc.c. |
| (counter): Rename to gc_counter. |
| (write_gc_structure_fields): Fail when writing out fields for |
| an incomplete structure. Ignore arrays of scalars. Handle |
| 'tree_vec' special. |
| (write_gc_types): Reset counter for each procedure written. |
| |
| * stmt.c (add_case_node): Use GGC to allocate struct case_node. |
| (free_case_nodes): Delete. |
| (expand_end_case_type): Delete call to free_case_nodes. |
| |
| * Makefile.in (cselib.o): Include gt-<filename>.h. |
| (gcse.o): Likewise. |
| (profile.o): Likewise. |
| (alias.o): Likewise. |
| (GTFILES): Add alias.c, cselib.c, gcse.c, profile.c, and |
| alphabetize backend files. |
| (gt-alias.h, gt-cselib.h, gt-gcse.h, gt-profile.h): New rules. |
| * alias.c: Use gengtype for roots. |
| * c-common.h (struct stmt_tree_s): Use gengtype. |
| * c-decl.c: Use gengtype for roots. |
| * cselib.c: Use gengtype for roots. |
| * expr.c: Use gengtype for roots. |
| * fold-const.c: Use gengtype for roots. |
| * gcse.c: Use gengtype for roots. |
| * gengtype-lex.l: Handle typedefs of function types. |
| Allow for empty array bounds. |
| Allow processing to stop on initializers. |
| * gengtype-yacc.y (externstatic): Stop processing on initializers. |
| (semiequal): New rule. |
| * gengtype.c (create_file): Tidy output files. |
| (get_output_file_with_visibility): Fix paren warning. Fix bug |
| involving multiple input files mapping to one output file. |
| (write_gc_structure_fields): Skip arrays of scalars. |
| (write_gc_types): Tidy output files. |
| (write_gc_root): New function. |
| (write_gc_roots): Fix bugs, add support for roots that are |
| structures. |
| * ggc-common.c (ggc_mark_rtx_ptr): Delete. |
| (ggc_mark_tree_ptr): Delete. |
| (ggc_add_rtx_root): Delete. |
| (ggc_add_tree_root): Delete. |
| (ggc_del_root): Delete. |
| * integrate.c (get_func_hard_reg_initial_val): Use ggc_alloc to |
| allocate struct initial_value_struct. |
| * profile.c: Use gengtype for roots. |
| * sdbout.c: Use gengtype for roots. |
| * varasm.c (mark_weak_decls): Delete unused prototype. |
| (mark_const_hash_entry): Delete unused function. |
| * config/darwin-protos.h: Use gengtype for roots. |
| (machopic_add_gc_roots): Delete. |
| * config/arm/arm.c: Use gengtype for roots. |
| * config/arm/arm.h: Use gengtype for roots. |
| * config/c4x/c4x-protos.h: Use gengtype for roots. |
| * config/c4x/c4x.c (c4x_add_gc_roots): Delete. |
| * config/d30v/d30v-protos.h: Use gengtype for roots. |
| * config/d30v/d30v.c (d30v_add_gc_roots): Delete. |
| * config/dsp16xx/dsp16xx.c (override_options): Use gengtype for roots. |
| * config/dsp16xx/dsp16xx.h: Use gengtype for roots. |
| * config/ia64/ia64-protos.h: Use gengtype for roots. |
| * config/ia64/ia64.c (ia64_add_gc_roots): Delete. |
| * config/m68hc11/m68hc11-protos.h: Use gengtype for roots. |
| * config/m68hc11/m68hc11.c (z_reg): Make global. |
| (z_reg_qi): Make global. |
| (m68hc11_add_gc_roots): Delete. |
| * config/mcore/mcore-protos.h: Use gengtype for roots. |
| * config/mcore/mcore.c (mcore_add_gc_roots): Delete. |
| * config/mips/mips.c (mips_add_gc_roots): Delete. |
| * config/mips/mips.h: Use gengtype for roots. |
| * config/mmix/mmix.c (override_options): Use gengtype for roots. |
| * config/mmix/mmix.h: Use gengtype for roots. |
| * config/mn10200/mn10200.c (asm_file_start): Use gengtype for roots. |
| * config/mn10200/mn10200.h: Use gengtype for roots. |
| * config/pa/pa.c: Use gengtype for roots, marking. |
| (struct deferred_plabel): Use GGC, gengtype. |
| (pa_add_gc_roots): Delete. |
| (mark_deferred_plabels): Delete. |
| * config/pj/pj-protos.h: Use gengtype for roots. |
| * config/pj/pj.h (OVERRIDE_OPTIONS): Don't define. |
| * config/rs6000/rs6000.c: Use gengtype for roots. Don't call |
| machopic_add_gc_roots. |
| * config/rs6000/rs6000.h: Use gengtype for roots. |
| * config/rs6000/t-darwin (darwin.o): Add dependency on gt-darwin.h. |
| (gt-darwin.h): Add rule. |
| * config/sh/sh.c: Use gengtype for roots. |
| * config/sh/t-sh ($(out_object_file)): Add dependency on gt-sh.h. |
| (gt-sh.h): Add rule. |
| * config/sparc/sparc.c: Use gengtype for roots. |
| (sparc_add_gc_roots): Delete. |
| (struct ultrasparc_pipeline_state): Use GGC, gengtype. |
| (mark_ultrasparc_pipeline_state): Delete. |
| * config/sparc/sparc.h: Use gengtype for roots. |
| |
| * Makefile.in (c-parse.o): Update dependencies. |
| (c-common.o): Likewise. |
| (GTFILES): Add c-common.h, c-tree.h, c-common.c, c-parse.in. |
| Add dependencies for the files they generate. |
| * c-common.c: Replace ggc_add_* uses with GTY annotations. |
| * c-common.h: Likewise. |
| * c-decl.c: Likewise. |
| (gt_ggc_mp_binding_level): Delete. |
| * c-lang.c: Include gtype-c.h. |
| * c-parse.in: Replace ggc_add_* uses with GTY annotations. Include |
| gt-c-parse.h. |
| * c-pragma.h: Replace ggc_add_* uses with GTY annotations. |
| (gt_ggc_mp_align_stack): Delete. |
| * c-tree.h: Replace ggc_add_* uses with GTY annotations. |
| * function.c: Replace ggc_add_* uses with GTY annotations. |
| (gt_ggc_mp_function): Delete. |
| * function.h: Replace ggc_add_* uses with GTY annotations. |
| * gengtype.c (lang_names): New. |
| (NUM_BASE_FILES): New. |
| (open_base_files): Create language base files. |
| (startswith): New. |
| (get_file_basename): New. |
| (get_base_file_bitmap): New. |
| (get_output_file_with_visibility): Rename from get_output_file. |
| Add more mappings for various C/Objc filenames. |
| (finish_root_table): New. |
| (write_gc_roots): Handle dependencies and scoping properly. |
| * gengtype.h: Add prototypes for new functions. |
| * ggc-common.c (struct deletable_root): Delete. |
| (deletables): Delete. |
| (ggc_add_deletable_root): Delete. |
| (ggc_mark_roots): No need to deal with deleted functionality. |
| * ggc.h (ggc_add_deletable_root): Delete prototype. |
| * objc/Make-lang.in (objc-act.o): Add gtype-objc.h dependency. |
| (gtype-objc.h): Add rule to create. |
| * objc/config-lang.in (gtfiles): New. |
| * objc/objc-act.c: Allocate imp_list using GGC. Replace uses of |
| ggc_add_* with GTY markers. Include gtype-objc.h. |
| (ggc_mark_imp_list): Delete. |
| * objc/objc-act.h: Replace uses of ggc_add_* with GTY markers. |
| * objc/objc-lang.c: Random Whitespace Change. |
| |
| * except.h (exception_handler_labels): Delete. |
| (get_exception_handler_labels): New. |
| * except.c (exception_handler_labels): Delete. |
| (struct eh_status): Add exception_handler_labels field. |
| (doing_eh): Don't add exception_handler_labels as root. |
| (free_eh_status): Don't need to free exception_handler_labels. |
| (get_exception_handler_labels): New. |
| (find_exception_handler_labels): Update for move of |
| exception_handler_labels. |
| (remove_exception_handler_label): Likewise. |
| * cfgrtl.c (can_delete_label_p): Use get_exception_handler_labels. |
| * jump.c (rebuild_jump_labels): Likewise. |
| * loop.c (find_and_verify_loops): Likewise. |
| * sched-rgn.c (is_cfg_nonregular): Likewise. |
| |
| * gengtype.c (write_gc_structure_fields): Handle variable-length |
| TYPE_ARRAYs. |
| |
| * varasm.c (struct weak_syms): Use GGC, gengtype. |
| (mark_weak_decls): Delete. |
| (weak_decls): Likewise. |
| (add_weak): Likewise. |
| (remove_from_pending_weak_list): Likewise. |
| (init_varasm_once): Likewise. |
| |
| * Makefile.in (gtype-desc.o): Add libfuncs.h dependency. |
| (GTFILES): Add tree.h, libfuncs.h, emit-rtl.c, explow.c, |
| stor-layout.c, regclass.c, and lists.c. |
| Add dependencies of gt-emit-rtl.h gt-explow.h gt-stor-layout.h |
| gt-regclass.h and gt-lists.h on s-gtype. |
| * emit-rtl.c: Use gengtype for roots. Include gt-emit-rtl.h. |
| * except.c: Use gengtype for roots. |
| * explow.c: Use gengtype for roots. Include gt-explow.h. |
| * expr.h (init_stor_layout_once): Delete prototype. |
| * function.c: Use gengtype for roots. |
| * gengtype-lex.l: Add ENT_EXTERNSTATIC lexing. |
| * gengtype-yacc.y (start): Can also be an externstatic. |
| (externstatic): New production. |
| (struct_fields): Correct array bounds inversion for 2-d arrays. |
| * gengtype.c (variables): New variable. |
| (note_variable): New function. |
| (get_output_file): Include libfuncs.h into gtype-desc.c. |
| (get_output_file_name): New function. |
| (write_gc_structure_fields): Suppress warnings. |
| (write_gc_types): Make static. |
| (put_mangled_filename): New function. |
| (write_gc_roots): New function. |
| (main): Call write_gc_roots. |
| * gengtype.h (note_variable): Prototype. |
| (get_output_file_name): Prototype. |
| (write_gc_types): Delete prototype. |
| * ggc.h: Clean up unnecessary structure predefinitions. |
| (struct ggc_root_tab): Define. |
| (gt_ggc_m_rtx_def): Make function, not macro. |
| (gt_ggc_m_tree_node): Likewise. |
| * libfuncs.h: Use gengtype for roots. |
| * lists.c: Use gengtype for roots. Include gt-lists.h. |
| (init_EXPR_INSN_LIST_cache): Delete. |
| * optabs.c: Use gengtype for roots. |
| (gt_ggc_mp_optab): Delete. |
| * optabs.h: Use gengtype for roots. |
| * regclass.c: Use gengtype for roots. Include gt-regclass.h. |
| * rtl.h: Use gengtype for roots. |
| (init_EXPR_INSN_LIST_cache): Delete prototype. |
| * stor-layout.c: Use gengtype for roots. |
| Include gt-stor-layout.h. |
| (init_stor_layout_once): Delete. |
| * toplev.c: Use gengtype for roots. Delete calls to deleted |
| routines. |
| * tree.c: Use gengtype for roots. |
| * tree.h: Use gengtype for roots. |
| * varasm.c: Use gengtype for roots. |
| |
| * Makefile.in (GTFILES): Add @all_gtfiles@. |
| * configure: Regenerate. |
| * configure.in: Construct all_gtfiles from the gtfiles definitions |
| in config-lang.in. |
| * gengtype-yacc.y (type): Warn about duplicate structure names. |
| * gengtype.c (get_output_file): Handle .c files in language |
| subdirectories. |
| |
| * Makefile.in (GTFILES): Run gengtype on all the config files |
| and on the target .c file. |
| * except.c (mark_eh_region): Delete. |
| (init_eh_for_function): Use GGC on struct eh_status. |
| (mark_eh_status): Delete. |
| (free_eh_status): Use GGC. |
| (expand_eh_region_start): Use GGC to |
| (collect_eh_region_array): Allocate last_region_number using GGC. |
| (duplicate_eh_region_1): Use GGC to allocate struct eh_region. |
| (remove_eh_handler): Let GGC free struct eh_region. |
| (add_call_site): Use GGC to reallocate call_site_record array. |
| * function.c (init_machine_status): Update calling sequence. |
| (mark_machine_status): Likewise. |
| (mark_lang_status): Likewise. |
| (prepare_function_start): Update init_machine_status call. |
| (mark_function_status): Delete. |
| (maybe_mark_struct_function): Delete. |
| (ggc_mark_struct_function): Delete. |
| (gt_ggc_mp_function): New. |
| (gt_ggc_mr_machine_function): New. |
| (gt_ggc_mr_language_function): New. |
| (init_function_once): Use canonical names. |
| * function.h (struct function): Use gengtype. |
| (init_machine_status): Return the structure. |
| (mark_machine_status): Take a 'void *'. |
| (mark_lang_status): Likewise. |
| * ggc-common.c (ggc_mark_trees): Use canonical name for |
| ggc_mark_struct_function. |
| * tree.h (ggc_mark_struct_function): Delete prototype. |
| * config/alpha/alpha.c (alpha_mark_machine_status): Delete. |
| (alpha_init_machine_status): Likewise. |
| (override_options): Use canonical name for alpha_mark_machine_status. |
| * config/alpha/unicosmk.h (struct machine_function): Use gengtype. |
| * config/arm/arm.h (struct machine_function): Use gengtype. |
| * config/arm/arm.c (arm_mark_machine_status): Delete. |
| (arm_init_machine_status): Update calling sequence. |
| (arm_init_expanders): Use canonical name for arm_mark_machine_status. |
| * config/cris/cris.c (cris_init_machine_status): Update |
| calling sequence. |
| * config/d30v/d30v.h (struct machine_function): Use gengtype. |
| * config/d30v/d30v.c (d30v_init_machine_status): Update |
| calling sequence. |
| (d30v_mark_machine_status): Delete. |
| * config/i386/i386.c: Include gt-i386.h. |
| (struct machine_function): Use gengtype. |
| (ix86_init_machine_status): Update calling sequence. |
| (ix86_mark_machine_status): Delete. |
| (override_options): Use canonical namke for ix86_mark_machine_status. |
| * config/ia64/ia64.h (struct machine_function): Use gengtype. |
| * config/ia64/ia64.c (ia64_init_machine_status): Update calling |
| sequence. |
| (ia64_mark_machine_status): Delete. |
| (ia64_override_options): Use canonical name for |
| ia64_mark_machine_status. |
| * config/mmix/mmix.c (mmix_init_machine_status): Update calling |
| sequence. |
| * config/rs6000/rs6000.c (rs6000_init_machine_status): Likewise. |
| * config/xtensa/xtensa.c (xtensa_init_machine_status): Likewise. |
| * gengtype.c (get_output_file): Fix warning. |
| (main): Add prototype to suppress warning. |
| * tree.c: Remove tree_hash_mark prototype. |
| |
| * tree.h (init_stmt): Delete prototype. |
| * toplev.c (lang_independent_init): Don't call init_stmt. |
| * stmt.c (ALLOC_NESTING): Use GGC for 'struct nesting'. |
| (stmt_obstack): Delete. |
| (POPSTACK): No need to free 'struct nesting'. |
| (gt_ggc_mr_nesting_cond): Use canonical names. |
| (gt_ggc_mr_nesting_loop): Use canonical names. |
| (gt_ggc_mr_nesting_block): Use canonical names. |
| (gt_ggc_mr_nesting_case_stmt): Use canonical names. |
| (mark_stmt_status): Delete. |
| (init_stmt): Delete. |
| (clear_last_expr): Clear both last_expr_type and last_expr_value. |
| Use it everywhere that last_expr_type was cleared. |
| * lists.c (init_EXPR_INSN_LIST_cache): Use ggc_add_deletable_root. |
| (zap_lists): Delete. |
| * ggc.h (ggc_add_deletable_root): Prototype. |
| (mark_stmt_status): Remove prototype. |
| * ggc-common.c (ggc_add_deletable_root): New. |
| (ggc_mark_roots): Handle deletable roots. |
| * function.c (ggc_mark_struct_function): Use canonical name |
| for mark_stmt_status. |
| * emit-rtl.c (free_sequence_stack): New. |
| (start_sequence): Use a freelist for sequences. |
| (end_sequence): Likewise. |
| (init_emit_once): Add free_sequence_stack as a deleteable root. |
| * c-pragma.c Include gt-c-pragma.h. |
| (struct align_stack): Use gengtype. |
| (push_alignment): Use GGC for struct align_stack. |
| (mark_align_stack): Delete. |
| (gt_ggc_mp_align_stack): New. |
| (init_pragma): Use canonical name for mark_align_stack. |
| * c-decl.c: Include gt-c-decl.h. |
| (struct binding_level): Use gengtype. |
| (make_binding_level): Use GGC; handle the freelist here. |
| (pop_binding_level): New. |
| (pushlevel): Move code into make_binding_level. |
| (push_label_level): Likewise. |
| (poplevel): Move code into pop_binding_level. |
| (pop_label_level): Likewise. |
| (mark_binding_level): Delete. |
| (gt_ggc_mp_binding_level): New. |
| (c_init_decl_processing): Use canonical name for mark_binding_level. |
| Add free_binding_level as deletable root. |
| (mark_c_function_context): Use canonical name for mark_binding_level. |
| * Makefile.in (c-decl.o): Add gt-c-decl.h. |
| (c-pragma.o): Add gt-c-pragma.h. |
| (GTFILES): Add c-decl.c and c-pragma.c. |
| (gt-c-decl.h, gt-c-pragma.h): Create using gengtype. |
| |
| * tree.c (struct type_hash): Use gengtype. |
| (init_obstacks): Use canonical name for type_hash_mark. |
| (type_hash_mark): Delete. |
| Include gt-tree.h. |
| * rtl.h (struct mem_attrs): Use gengtype. |
| * optabs.h (struct optab): Use gengtype. |
| * optabs.c (expand_binop): Squish signed/unsigned warning. |
| (mark_optab): Make local, use canonical name, use autogenerated |
| marker procedure. |
| (init_optabs): Use canonical name for mark_optab. |
| (new_optab): Use GGC to allocate optabs. |
| * ggc.h: Delete mark_optab prototype. |
| * ggc-common.c (ggc_mark_rtx_children): Use canonical name for |
| mem_attrs marker procedure. |
| * gengtype.c (get_output_file): Include headers in gtype-desc.c |
| explicitly rather than deducing them from file names. |
| (write_gc_structure_fields): Handle arrays of structures. |
| (main): Return nonzero exit code if errors occur during output. |
| * emit-rtl.c (mem_attrs_mark): Delete. |
| (init_emit_once): Use canonical name for mem_attrs marker procedure. |
| * Makefile.in (gtype-desc.o): Explicitly name dependencies. |
| (tree.o): Depend on gt-tree.h. |
| (GTFILES): Add rtl.h, optabs.h, tree.c. |
| (gt-tree.h): Add it to s-gtype rule. |
| |
| * .cvsignore: Ignore gengtype flex/bison generated files. |
| * Makefile.in (GGC_H): Add gtype-desc.h. |
| (OBJS): Add gtype-desc.o. |
| (GEN): Add gengtype. |
| (STAGESTUFF): Add gengtype. |
| (varasm.o): Add gt-varasm.h. |
| (stmt.o): Add gt-stmt.h. |
| (except.o): Add gt-except.h. |
| (integrate.o): Add gt-integrate.h. |
| (GTFILES): New. |
| Add new rules for new files. |
| * configure: Regenerate. |
| * configure.in: Correct defaults.h paths. |
| * emit-rtl.c (mark_sequence_stack): Delete. |
| (mark_emit_status): Delete. |
| (start_sequence): Allocate sequence structures using GGC. |
| (end_sequence): Allocate sequence structures using GGC. |
| * except.c: Use gengtype for various structures. Include |
| gt-except.h. |
| * expr.c (mark_expr_status): Delete. |
| * function.c: Use gengtype for various structures. Include |
| gt-function.h. |
| (mark_function_status): Use standard gt_ggc names for marker functions. |
| (ggc_mark_struct_function): Likewise. |
| * function.h: Use gengtype for various structures. |
| * gengtype-lex.l: New file. |
| * gengtype-yacc.y: New file. |
| * gengtype.c: New file. |
| * gengtype.h: New file. |
| * ggc.h: Include gtype-desc.h. Alias some marker procedures to |
| the standard names. Remove some now-unnecessary prototypes. |
| * integrate.c: Use gengtype for various structures. Include |
| gt-integrate.h. |
| (mark_hard_reg_initial_vals): Delete. |
| * integrate.h (mark_hard_reg_initial_vals): Delete. |
| * stmt.c: Use gengtype for various structures. Include |
| gt-stmt.h. |
| (mark_case_node): Delete. |
| (mark_goto_fixup): Delete. |
| (mark_stmt_status): Use standard gt_ggc names for marker functions. |
| * system.h: Define GTY to empty. In flex/bison files, |
| don't poison malloc or realloc, instead just define them to |
| xmalloc and xrealloc. |
| * varasm.c: Use gengtype for various structures. Include |
| gt-varasm.h. Use standard gt_ggc names for marker functions. |
| (mark_pool_constant): Delete. |
| (mark_varasm_status): Delete. |
| (decode_rtx_const): #if 0 out non-typesafe hack. |
| |
| * function.h (free_lang_status): Mark as obsolete. |
| * function.c (free_lang_status): Mark as obsolete. |
| * c-decl.c (push_c_function_context): Use GC to allocate and free |
| struct language_function. |
| (pop_c_function_context): Likewise. |
| * c-common.c (mark_c_language_function): Mark struct |
| language_function. |
| |
| * doc/tm.texi (Per-Function Data): Don't document free_machine_status. |
| Document that the machine_function structures must be allocated |
| using GC. Update mark_machine_status documentation. |
| * function.h: Don't declare free_machine_status. |
| * function.c (free_machine_status): Don't define. |
| (free_after_compilation): Don't call free_machine_status. |
| (ggc_mark_struct_function): Mark f->machine. Call |
| mark_machine_status only on non-NULL pointers. |
| * system.h: Poison free_machine_status. |
| * config/xtensa/xtensa.c (xtensa_init_machine_status): Use GC on |
| struct machine_function. |
| (xtensa_free_machine_status): Delete. |
| (override_options): Don't set free_machine_status. |
| * config/rs6000/rs6000.c (rs6000_override_options): Don't set |
| free_machine_status. |
| (rs6000_init_machine_status): Use GC on struct machine_function. |
| (rs6000_free_machine_status): Delete. |
| * config/ia64/ia64.c (ia64_init_machine_status): Use GC on struct |
| machine_function. |
| (ia64_mark_machine_status): Likewise. |
| (ia64_free_machine_status): Delete. |
| (ia64_override_options): Don't set free_machine_status. |
| * config/i386/i386.c (override_options): Don't set |
| free_machine_status. |
| (ix86_init_machine_status): Use GC on struct machine_function. |
| (ix86_mark_machine_status): Likewise. |
| (ix86_free_machine_status): Delete. |
| * config/d30v/d30v.c: (d30v_init_machine_status): Use GC on struct |
| machine_function. |
| (d30v_mark_machine_status): Likewise. |
| (d30v_free_machine_status): Delete. |
| (d30v_init_expanders): Don't set free_machine_status. |
| * config/arm/arm.c (arm_mark_machine_status): Use GC on struct |
| machine_function. |
| (arm_init_machine_status): Likewise. |
| (arm_free_machine_status): Delete. |
| (arm_init_expanders): Don't set free_machine_status. |
| * config/alpha/alpha.c (override_options): Don't set |
| free_machine_status. |
| (alpha_init_machine_status): Use GC on struct machine_function. |
| (alpha_mark_machine_status): Likewise. |
| (alpha_free_machine_status): Delete. |
| |
| * varasm.c (compare_constant): Fix typo. |
| |
| * varasm.c: Don't include obstack.h. |
| (struct varasm_status): x_const_rtx_hash_table is a hash of rtxes. |
| (struct rtx_const): Give substructures names, improve formatting. |
| (struct constant_descriptor): Delete. |
| (struct constant_descriptor_tree): New, based on constant_descriptor. |
| (const_hash_table): Is a hash table of trees. |
| (mark_const_hash_entry): Is used for hashes of trees. Mark |
| constant_descriptor_tree structure. |
| (mark_const_str_htab_1): Mark deferred_string structure. |
| (compare_constant): Rewrite to compare trees. |
| (compare_constant_1): Delete. |
| (record_constant): Delete. |
| (record_constant_1): Delete. |
| (output_constant_def): Use struct constant_descriptor_tree. |
| Don't duplicate trees twice. |
| (struct constant_descriptor_rtx): New. |
| (struct pool_constant): Used for rtx constants. |
| (init_varasm_status): Update for change to struct varasm_status. |
| (mark_varasm_status): Likewise. |
| (free_varasm_status): Delete. |
| (compare_constant_rtx): Rewrite to handle constant_descriptor_rtx. |
| (record_constant_rtx): Likewise. |
| (mem_for_const_double): Update to use struct constant_descriptor_rtx. |
| (force_const_mem): Likewise. |
| * Makefile.in (varasm.o): Doesn't depend on obstack.h. |
| * function.c (free_after_compilation): Don't use free_varasm_status. |
| * function.h: Don't prototype free_varasm_status. |
| |
| * ggc-common.c (ggc_realloc): Handle X being NULL. |
| |
| * ggc-common.c (ggc_realloc): New function. |
| * ggc.h: Prototype it. |
| * emit-rtl.c (free_emit_status): Delete. |
| (init_emit): Allocate emit subarrays using GC. |
| (gen_reg_rtx): Reallocate subarrays using GC. |
| (init_emit): Use GC to allocate 'struct emit_status' and its |
| subarrays. |
| (mark_emit_status): Mark structure and its subarrays. |
| * stmt.c (free_stmt_status): Delete. |
| * expr.c (free_expr_status): Delete. |
| * function.h: Remove prototypes for deleted functions. |
| * function.c (free_after_compilation): Don't use deleted functions. |
| Don't call free() on x_parm_reg_stack_loc. |
| (free_after_parsing): Don't use free_stmt_status. |
| (assign_parms): Use GC to allocate and resize x_parm_reg_stack_loc. |
| (mark_function_status): Mark x_parm_reg_stack_loc. |
| |
| * varasm.c (init_varasm_status): Use GC to allocate |
| 'struct varasm_status' and its fields x_const_rtx_hash_table |
| and x_const_rtx_sym_hash_table. |
| (mark_varasm_status): Mark them. |
| (free_varasm_status): Use GC to free them. |
| * expr.c (init_expr): Use GC to allocate 'struct expr_status'. |
| (mark_expr_status): Mark the structure itself. |
| (free_expr_status): Use GC to free the structure. |
| * stmt.c (free_stmt_status): Use GC to free 'struct stmt_status'. |
| (mark_stmt_status): Mark the 'struct stmt_status' itself. |
| (init_stmt_for_function): Allocate the structure for GC. |
| |
| * dwarf2out.c (lookup_type_die): Use TYPE_SYMTAB_DIE. |
| (equate_type_number_to_die): Likewise. |
| * tree.h (TYPE_SYMTAB_DIE): New macro. |
| (struct die_struct): Predeclare. |
| (struct tree_type): Add field symtab.die. Add a tag |
| to the union type of field symtab. |
| |
| * varray.h (VARRAY_RTVEC_INIT): A varray of rtvec contains |
| 'struct rtvec_def *', not 'struct rtvec_def'. |
| |
| * function.h (original_arg_vector): Make a real rtvec. |
| * function.c (ggc_mark_struct_function): Adjust. |
| * integrate.c (expand_inline_function): Adjust. |
| |
| 2002-06-04 Jason Thorpe <thorpej@wasabisystems.com> |
| |
| * config.gcc (sh5-*-netbsd*, sh5l*-*-netbsd*) |
| (sh64-*-netbsd*, sh64l*-*-netbsd*): New targets. |
| * config/sh/netbsd-elf.h (TARGET_VERSION_ENDIAN) |
| (TARGET_VERSION_CPU): Define according to the |
| default target. |
| (TARGET_VERSION): Use TARGET_VERSION_ENDIAN and |
| TARGET_VERSION_CPU. |
| (TARGET_OS_CPP_BUILTINS): Use NETBSD_OS_CPP_BUILTINS_LP64 |
| if TARGET_SHMEDIA64. |
| (LINK_DEFAULT_CPU_EMUL): Define according to the |
| default target. |
| (SUBTARGET_LINK_EMUL_SUFFIX): Define. |
| (SUBTARGET_LINK_SPEC): Define. |
| (LINK_SPEC): Use SH_LINK_SPEC. |
| (ASM_SPEC): Remove. |
| (TARGET_DEFAULT): Use TARGET_CPU_DEFAULT. |
| (FUNCTION_PROFILER): Add cases for TARGET_SHMEDIA32 |
| and TARGET_SHMEDIA64 which abort, for now. |
| * config/sh/t-netbsd-sh5: New file. |
| * config/sh/t-netbsd-sh5-32: New file. |
| * config/sh/t-netbsd-sh5-64: New file. |
| |
| 2002-06-03 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de> |
| Richard Henderson <rth@redhat.com> |
| |
| * config/alpha/alpha.c (reg_or_const_int_operand): New. |
| (some_operand, input_operand): Accept CONST_VECTOR. |
| (alpha_extra_constraint): Add 'W'. |
| (alpha_expand_zap_mask): New. |
| (alpha_expand_builtin_vector_binop): New. |
| (enum alpha_builtin): New. |
| (zero_arg_builtins, one_arg_builtins, two_arg_builtins): New. |
| (alpha_init_builtins, alpha_expand_builtin): New. |
| (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): New. |
| * config/alpha/alpha.h (VECTOR_MODE_SUPPORTED_P): New. |
| (PREDICATE_CODES): Update. |
| * config/alpha/alpha-protos.h: Update. |
| * config/alpha/alpha.md (UNSPEC_CMPBGE, UNSPEC_ZAP, |
| UNSPEC_AMASK, UNSPEC_IMPLVER, UNSPEC_PERR, UNSPECV_RPCC): New. |
| (movv8qi, movv8qi_fix, movv8qi_nofix): New. |
| (movv4hi, movv4hi_fix, movv4hi_nofix): New. |
| (movv2si, movv2si_fix, movv2si_nofix): New. |
| (uminv8qi3, sminv8qi3, uminv4hi3, sminv4hi3): New. |
| (umaxv8qi3, smaxv8qi3, umaxv4hi3, smaxv4hi3): New. |
| (builtin_cmpbge, builtin_extql, builtin_extqh, builtin_zap, |
| builtin_zap_1, builtin_zapnot, builtin_zapnot_1, builtin_amask, |
| builtin_implver, builtin_rpcc, builtin_minub8, builtin_minsb8, |
| builtin_minuw4, builtin_minsw4, builtin_maxub8, builtin_maxsb8, |
| builtin_maxuw4, builtin_maxsw4, builtin_perr, builtin_pklb, |
| pklb, builtin_pkwb, pkwb, builtin_unpkbl, unpkbl, |
| builtin_unpkbw, unpkbw): New. |
| * doc/extend.texi (Alpha Built-in Functions): New. |
| |
| 2002-06-03 Richard Henderson <rth@redhat.com> |
| |
| * crtstuff.c (__EH_FRAME_BEGIN__): Conditionalize on |
| USE_EH_FRAME_REGISTRY, not EH_FRAME_SECTION_NAME. |
| |
| 2002-06-03 Richard Henderson <rth@redhat.com> |
| |
| * config/alpha/alpha-protos.h: Eliminate unneeded ifdefs. |
| |
| * config/alpha/alpha.c (reg_or_0_operand): Use CONST0_RTX. |
| (const0_operand): New. |
| (reg_or_fp0_operand, fp0_operand): Remove. |
| * config/alpha/alpha.h (PREDICATE_CODES): Update. |
| * config/alpha/alpha-protos.h: Update. |
| * config/alpha/alpha.md: Replace all uses of reg_or_fp0_operand |
| and fp0_operand with reg_or_0_operand and const0_operand. |
| |
| 2002-06-03 Dan Nicolaescu <dann@godzilla.ics.uci.edu> |
| |
| * alias.c (nonoverlapping_memrefs_p): Fix off by one error. |
| |
| 2002-06-03 Roger Sayle <roger@eyesopen.com> |
| |
| * gcse.c (cprop_jump): Use single_set to get the pattern |
| from the setcc argument. |
| |
| 2002-06-03 Gabriel Dos Reis <gdr@codesourcery.com> |
| |
| * diagnostic.h (diagnostic_count): Move from output_buffer to |
| diagnostic_context. |
| (diagnostic_kind_count): Adjust definition. |
| |
| Mon Jun 3 19:11:53 CEST 2002 Jan Hubicka <jh@suse.cz> |
| |
| * except.c (except.c): Do not rebuild CFG. |
| * toplev.c (rest_of_compilation): Recompute CFG after sibcall |
| optimization. |
| |
| Mon Jun 3 11:53:01 CEST 2002 Jan Hubicka <jh@suse.cz> |
| |
| * integrate.c (copy_insn_list): Properly pace the INSN_SCOPE copies. |
| * toplev.c: Include cfglahout.h |
| * Makefile.in (toplev.c): Add dependnecy. |
| |
| 2002-06-03 Neil Booth <neil@daikokuya.demon.co.uk> |
| |
| * config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): New. |
| (CPP_CPU32_SPEC, CPP_CPU64_SPEC): Kill. |
| (CPP_CPUCOMMON_SPEC): Rename CPP_CPU_SPEC. |
| |
| 2002-06-03 Jason Thorpe <thorpej@wasabisystems.com> |
| |
| * config/ns32k/netbsd.h: Update copyright years. |
| (TARGET_OS_CPP_BUILTINS): Define. |
| (CPP_PREDEFINES): Remove. |
| * config/ns32k/ns32k.h (CPP_PREDEFINES): Remove. |
| (TARGET_CPU_CPP_BUILTINS): Define. |
| |
| 2002-06-02 Kazu Hirata <kazu@cs.umass.edu> |
| |
| * emit-rtl.c: Fix formatting. |
| * errors.h: Likewise. |
| * except.c: Likewise. |
| * explow.c: Likewise. |
| * expmed.c: Likewise. |
| * expr.c: Likewise. |
| * expr.h: Likewise. |
| |
| 2002-06-02 Kazu Hirata <kazu@cs.umass.edu> |
| |
| * config/h8300/elf.h: Fix formatting. |
| * config/h8300/rtems.h: Likewise. |
| |
| 2002-06-03 Jason Thorpe <thorpej@wasabisystems.com> |
| |
| * config/rs6000/netbsd.h (DRAFT_V4_STRUCT_RET): Remove. |
| |
| 2002-06-02 Tom Tromey <tromey@redhat.com> |
| |
| * fixinc/fixincl.x: Rebuilt. |
| * fixinc/inclhack.def (thread_keyword): Match `*__thread'. |
| |
| 2002-06-02 Neil Booth <neil@daikokuya.demon.co.uk> |
| |
| config/i370: |
| * i370.h (TARGET_CPU_CPP_BUILTINS): Use. |
| * linux.h: Use TARGET_OS_CPP_BUILTINS rather than CPP_PREDEFINES. |
| * mvs.h: Similarly. |
| * oe.h: Similarly. |
| |
| Mon Jun 3 00:18:20 CEST 2002 Jan Hubicka <jh@suse.cz> |
| |
| * final.c (final): Allow notes to not have computed addresses; |
| kill no longer needed STACK_REGS ifdef. |
| |
| 2002-06-02 Richard Henderson <rth@redhat.com> |
| |
| * gcse.c (bypass_conditional_jumps): Fix typo last change. |
| |
| Sun Jun 2 23:02:11 CEST 2002 Jan Hubicka <jh@suse.cz> |
| |
| * loop.c (emit_prefetch_instructions): Properly place the address |
| computation. |
| |
| Sun Jun 2 22:56:48 CEST 2002 Jan Hubicka <jh@suse.cz> |
| |
| * basic-block.h (basic_block_for_insn, BLOCK_FOR_INSN): Kill. |
| (set_block_for_insn): Turn into macro. |
| * cfgbuild.c (find_basic_block): Do not clear basic_block_for_insn. |
| * cfglayout.c (insn_scopes): Kill. |
| (scope_to_insns_initialize): Do not use insn_scopes. |
| (scope_to_insns_finalize): Likewise. |
| (duplicate_insn_chain): Likewise. |
| (cfg_layout_initialize, cfg_layout_finalize): Do not turn scopes to notes. |
| * cfgrtl.c (basic_block_for_insn): Kill. |
| (delete_insn_and_edges, delete_insn_chain_and_edges): Simplify. |
| (create_basic_block_structure): Use reorder_insns. |
| (compute_bb_for_insn): Do not use basic_block_for_insn. |
| (merge_blocks_nomove): Likewise. |
| (update_bb_for_insn): Likewise. |
| (verify_flow_info): Likewise. |
| (set_block_for_insn): Kill. |
| * combine.c (try_combine): Update gen_rtx_INSN call. |
| * emit-rtl.c (gen_label_rtx): Update gen_rtx_CODE_LABEL call. |
| (mark_insn_raw, make_jump_insn_raw, make_call_insn_raw): Clear |
| scopes and BBs. |
| (add_insn_after, add_insn_before, remove_insn, reorder_insns): Simplify. |
| (emit_note_before, emit_note_after, emit_line_note_after, emit_note): |
| Clear BB. |
| (emit_insns_after): Simplify. |
| (emit_copy_of_insn_after): Copy scope. |
| * final.c (final_start_function): Lower scopes. |
| * flow.c (check_function_return_warnings): Do not rely on deleted insn. |
| * integrate.c (copy_insn_list): Cope scopes. |
| * jump.c (duplicate_loop_exit_test): LIkewise; simplify. |
| * loop.c (loop_optimize): Do not care block notes. |
| * print-rtl.c (print_rtx): Print BB. |
| * recog.c (apply_change_group): Simplify. |
| * rtl.c (copy_rtx): Handle 'B'. |
| * rtl.def (INSN, CALL_INSN, JUMP_INSN, NOTE): Add extra fields. |
| * rtl.h (Field accessors): Update indexes. |
| * sched-ebb.c (schedule_ebbs): Do not lower notes. |
| * sched-rgn.c (schedule_insns): Likewise. |
| * toplev.c (rest_of_compilation): Lower notes. |
| * unroll.c (unroll_loop): Do not care scoping notes. |
| (copy_loop_body): Copy scopes. |
| |
| 2002-06-02 Neil Booth <neil@daikokuya.demon.co.uk> |
| |
| config/h8300: |
| * elf.h: Use TARGET_OS_CPP_BUILTINS rather than |
| SUBTARGET_SPEC. |
| * rtems.h: Similarly. |
| * h8300.h (CPP_PREDEFINES, CPP_SPEC, SUBTARGET_CPP_SPEC, |
| EXTRA_SPECS, SUBTARGET_EXTRA_SPECS): Remove. |
| (TARGET_CPU_CPP_BUILTINS): Use. |
| |
| 2002-06-02 Richard Henderson <rth@redhat.com> |
| |
| * alias.c: Include target.h. |
| (mark_constant_function): Use targetm.binds_local_p instead |
| of checking TREE_PUBLIC ourselves. |
| * Makefile.in (alias.o): Add TARGET_H. |
| |
| 2002-06-02 Neil Booth <neil@daikokuya.demon.co.uk> |
| |
| * c-lex.c: Update copyright and file description. |
| |
| 2002-06-02 Neil Booth <neil@daikokuya.demon.co.uk> |
| |
| * config/fr30/fr30.h: Update to new CPP macros. |
| |
| 2002-06-02 Neil Booth <neil@daikokuya.demon.co.uk> |
| |
| * config/dsp16xx/dsp16xx.h: Update to new CPP macros. |
| |
| 2002-06-02 Neil Booth <neil@daikokuya.demon.co.uk> |
| Zack Weinberg <zack@codesourcery.com> |
| |
| * c-common.c (c_common_init): Override cpplib's default |
| warn_long_long setting. |
| * c-lex.c (lex_number): Replace with interpret_integer, |
| interpret_float, narrowest_unsigned_type and |
| narrowest_signed_type, taking advantage of the new |
| cpplib functionality. |
| * cpperror.c (_cpp_begin_message): If a warning is turned |
| into an error, avoid printing "warning:". |
| * cppexp.c (cpp_num_sign_extend): New. |
| * cppinit.c: Update comment. |
| * cpplib.h (cpp_num_sign_extend): New. |
| * tree.h: Update comment. |
| |
| 2002-06-02 Gabriel Dos Reis <gdr@codesourcery.com> |
| |
| * diagnostic.h (struct diagnostic_context): Add new member |
| internal_error. |
| (internal_error_function): Remove declaration. |
| * diagnostic.c (internal_error_function): Remove definition.. |
| (internal_error): Adjust use. |
| |
| 2002-06-02 Richard Henderson <rth@redhat.com> |
| |
| * rtl.h (CC0_P): New. |
| * gcse.c (cprop_jump): Use it with single_set. Tweak dump text. |
| (cprop_insn): Allow any mode register; use CC0_P. CSE out single_set. |
| (bypass_block): Save old dest block for dump text. |
| (bypass_conditional_jumps): Allow any mode register; use CC0_P. |
| Allow only true SET insns, not single_set. |
| |
| 2002-06-02 Gabriel Dos Reis <gdr@codesourcery.com> |
| |
| * diagnostic.c (diagnostic_finish): Rename to output_flush. |
| (clear_disgnostic_info): Rename to output_clear_data. Use false |
| instead of 0 for boolean value. |
| Adjust function call throughout. |
| |
| Sun Jun 2 19:15:27 CEST 2002 Jan Hubicka <jh@suse.cz> |
| |
| * cfgrtl.c (commit_one_edge_insertion): Fix warning. |
| * gcse.c (bypass_conditional_jumps): CSE out single_set call. |
| |
| 2002-06-02 Neil Booth <neil@daikokuya.demon.co.uk> |
| |
| * d30v.h (CPP_PREDEFINES): Replace with |
| (TARGET_CPU_CPP_BUILTINS): New. |
| |
| 2002-06-02 Roger Sayle <roger@eyesopen.com> |
| |
| * config/alpha/alpha.h [ASM_OUTPUT_LABELREF]: Fix typo. |
| |
| Sun Jun 2 12:11:52 CEST 2002 Jan Hubicka <jh@suse.cz> |
| |
| * gcse.c (bypass_conditional_jumps): Use single set to obtain set. |
| |
| 2002-06-02 Richard Henderson <rth@redhat.com> |
| |
| * rtlanal.c (volatile_refs_p): Not automatically true for CALL. |
| |
| 2002-06-02 Marek Michalkiewicz <marekm@amelek.gda.pl> |
| |
| Support for C++ constructors/destructors. |
| * config/avr/avr.c (avr_output_function_epilogue): Jump to exit() |
| instead of looping if main() returns. |
| (asm_file_start): Output global symbols that cause .data and .bss |
| initialization code to be linked in, unconditionally for now. |
| (avr_asm_out_ctor, avr_asm_out_dtor): New functions. |
| * config/avr/avr.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): New. |
| (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New. |
| (LIBSTDCXX): New. |
| * config/avr/libgcc.S (_exit): Split in .fini9 and .fini0 sections. |
| (__tablejump__): New. |
| (__do_copy_data, __do_clear_bss): New. |
| (__do_global_ctors, __do_global_dtors): New. |
| * config/avr/t-avr (LIB1ASMFUNCS): Add _copy_data, _clear_bss, |
| _ctors, _dtors. |
| |
| 2002-06-02 Neil Booth <neil@daikokuya.demon.co.uk> |
| |
| * c4x/c4x.h (TARGET_CPU_CPP_BUILTINS): New. |
| (CPP_SPEC, CPP_PREDEFINES): Kill. |
| *
|