1. 07 Jun, 2003 18 commits
    • re PR libgcj/8738 (java.io.CharArrayWriter's write methods erroneously throw IOExceptions) · 60e9f0d7
      2002-06-06  James Clark  <jjc@jclark.com>
      
             Fix for PR libgcj/8738:
             * gnu/gcj/convert/UnicodeToBytes.java (havePendingBytes): New method.
             * gnu/gcj/convert/Output_SJIS.java (havePendingBytes): Likewise.
             * gnu/gcj/convert/Output_EUCJIS.java (havePendingBytes): Likewise.
             * gnu/gcj/convert/Output_UTF8.java (havePendingBytes): Likewise.
             (write): Always decrease avail when count is increased.
             * java/lang/natString.cc (getBytes): Check converter havePendingBytes()
             and whether output buffer is full before increasing size.
      
      2002-06-06  Mark Wielaard  <mark@klomp dot org>
      
             * java/io/PrintStream.java (writeChars(char[],int, int)):
             Check converter.havePendingBytes().
             (writeChars(String,int,int)): Likewise.
             * java/io/OutputStreamWriter.java (writeChars(char[], int, int)):
             Check converter.havePendingBytes() and flush buffer when stalled.
      
      From-SVN: r67595
      Mark Wielaard committed
    • symbol.c (ffesymbol_new_): Remove tests for macro FFECOM_symbolHOOK. · ddc612a2
      	* symbol.c (ffesymbol_new_): Remove tests for macro
      	FFECOM_symbolHOOK.
      	* symbol.h: Likewise.
      
      	* storag.c (ffestorag_new): Remove tests for macro
      	FFECOM_storageHOOK.
      	* storag.h: Likewise.
      
      	* lab.c (ffelab_new): Remove tests for macro FFECOM_labelHOOK.
      	* lab.h: Likewise.
      
      	* global.c: Remove tests for macro FFECOM_globalHOOK.
      	* global.h (struct _ffeglobal_): Likewise.
      
      	* bld.h: Remove tests for macros FFECOM_constantHOOK,
      	FFECOM_nonterHOOK, FFECOM_globalHOOK, FFECOM_labelHOOK,
      	FFECOM_storageHOOK, FFECOM_symbolHOOK.
      	Remove code dependend on FFECOM_itemHOOK.
      	* bld.c: Likewise.
      
      	* com.h (FFECOM_constantHOOK): Remove define.
      	(FFECOM_nonterHOOK): Remove.
      	(FFECOM_globalHOOK): Remove.
      	(FFECOM_labelHOOK): Remove.
      	(FFECOM_storageHOOK): Remove.
      	(FFECOM_symbolHOOK): Remove.
      
      	* com.c (ffecom_get_external_identifier_): Remove usage of
      	FFETARGET_isENFORCED_MAIN_NAME.
      
      	* bld.c: Remove code dependend on FFEBLD_BLANK_, FFECOM_itemHOOK.
      	(ffebld_new_accter): Likewise.
      	(ffebld_new_arrter): Likewise.
      	(ffebld_new_conter_with_orig): Likewise.
      	(ffebld_new_item): Likewise.
      	(ffebld_new_labter): Likewise.
      	(ffebld_new_labtok): Likewise.
      	(ffebld_new_none): Likewise.
      	(ffebld_new_one): Likewise.
      	(ffebld_new_symter): Likewise.
      	(ffebld_new_two): Likewise.
      
      From-SVN: r67594
      Andreas Jaeger committed
    • crtstuff.c: Remove undefined usage of INIT_SECTION_PREAMBLE. · 44de936e
      	* crtstuff.c: Remove undefined usage of INIT_SECTION_PREAMBLE.
      
      	* system.h: Poison INIT_SECTION_PREAMBLE.
      
      From-SVN: r67593
      Andreas Jaeger committed
    • config.gcc (with_cpu handling): Translate sparc64 in $machine to --with-cpu=v9. · a5fe455b
      	* config.gcc (with_cpu handling): Translate sparc64 in
      	$machine to --with-cpu=v9.
      	* config/alpha/alpha.c
      	(TARGET_ASM_GLOBALIZE_LABEL [TARGET_ABI_UNICOSMK]): Correct definition.
      	(alpha_setup_incoming_varargs): #ifdef out when TARGET_ABI_UNICOSMK.
      
      	* target.h: New hook asm_out.file_end.
      	* target.h: Update to match.  New hook macro TARGET_ASM_FILE_END.
      	* toplev.c (compile_file: Use targetm.asm_out.file_end.
      	* system.h: Poison ASM_FILE_END.
      	* varasm.c (file_end_indicate_exec_stack): New.
      	* output.h: Prototype it.
      	* doc/tm.texi: Document TARGET_ASM_FILE_END and
      	file_end_indicate_exec_stack.  Delete references to attasm.h.
      
      	* config/darwin.h (TARGET_ASM_FILE_END): Reset to darwin_file_end.
      	(ASM_FILE_END): Delete; move code...
      	* config/darwin.c (darwin_file_end): Here; new function.
      	* config/darwin-protos.h: Prototype it.
      	* config/alpha/alpha.c (unicosmk_asm_file_end): Make static,
      	rename unicosmk_file_end.
      	* config/arm/aof.h (ASM_FILE_END): Delete; move code...
      	* config/arm/arm.c (aof_file_end): ... here; new static function.
      	Set TARGET_ASM_FILE_END to aof_file_end if AOF_ASSEMBLER.
      	Make aof_dump_imports and aof_dump_pic_table static.
      	* config/avr/avr.c (asm_file_end): Rename avr_file_end, make static.
      	Set TARGET_ASM_FILE_END to avr_file_end.
      	* config/c4x/c4x.c (c4x_file_end): Make static.  Take no arguments.
      	Set TARGET_ASM_FILE_END to c4x_file_end.
      	* config/h8300/h8300.c (asm_file_end): Rename h8300_file_end,
      	make static. Take no arguments.  Set TARGET_ASM_FILE_END to
      	h8300_file_end.
      	* config/i370/i370.h (ASM_FILE_END): Delete; move code...
      	* config/i370/i370.c (i370_file_end): ... here; new static function.
      	Set TARGET_ASM_FILE_END to i370_file_end.
      	 * config/i386/i386.c (ix86_asm_file_end): Rename ix86_file_end.
      	 Take no arguments.  Call file_end_indicate_exec_stack if
      	 NEED_INDICATE_EXEC_STACK; don't use SUBTARGET_FILE_END.
      	* config/i386/i386.h: Set TARGET_ASM_FILE_END, not ASM_FILE_END.
      	Define NEED_INDICATE_EXEC_STACK to 0.
      	* config/i386/linux.h, config/i386/linux64.h: Redefine
      	NEED_INDICATE_EXEC_STACK to 1 instead of setting SUBTARGET_FILE_END.
      	* config/i386/winnt.c (i386_pe_asm_file_end): Rename to
      	i386_pe_file_end.  Take no arguments.  Use ix86_file_end.
      	* config/ia64/ia64.c (ia64_hpux_asm_file_end): Rename to
      	ia64_hpux_file_end, make static.  Take no arguments.
      	* config/ip2k/ip2k.c (asm_file_start, asm_file_end,
      	commands_in_prologues, commands_in_epilogues): Delete.
      	(function_epilogue): Update to match.
      	* config/mips/mips.c (mips_asm_file_end): Rename mips_file_end,
      	make static.  Take no arguments.
      	(iris6_asm_file_end): Rename iris6_file_end, make static, use
      	mips_file_end, take no arguments.
      	Set TARGET_ASM_FILE_END to iris6_file_end or mips_file_end as
      	appropriate.
      	* config/mmix/mmix.c (mmix_asm_file_end): Rename mmix_file_end,
      	make static, take no arguments. Set TARGET_ASM_FILE_END to
      	mmix_file_end.
      	* config/pa/pa.c (output_deferred_plabels): Make static, take
      	no arguments.  Set TARGET_ASM_FILE_END to output_deferred_plabels.
      	* config/rs6000/xcoff.h (TARGET_ASM_FILE_END): Set it.
      	(ASM_FILE_END): Delete; move code...
      	* config/rs6000/rs6000.c (rs6000_xcoff_file_end): ... here;
      	new static function.
      
      	* config/avr/avr.h, config/cris/cris.h, config/h8300/h8300.h
      	* config/mmix/mmix.h, config/mips/iris6.h, config/mips/mips.h:
      	Don't set ASM_FILE_END.
      	* config/alpha/linux-elf.h, config/m68k/linux.h, config/rs6000/linux.h
      	* config/rs6000/linux64.h, config/s390/linux.h, config/sparc/linux.h
      	* config/sparc/linux64.h: Set TARGET_ASM_FILE_END to
      	file_end_indicate_exec_stack; don't set ASM_FILE_END.
      	* config/alpha/unicosmk.h, config/i386/cygming.h
      	* config/ia64/hpux.h: Set TARGET_ASM_FILE_END, not ASM_FILE_END.
      	* config/arm/arm-protos.h, config/alpha/alpha-protos.h
      	* config/avr/avr-protos.h, config/c4x/c4x-protos.h
      	* config/h8300/h8300-protos.h, config/ia64/ia64-protos.h
      	* config/ip2k/ip2k-protos.h, config/mips/mips-protos.h
      	* config/mmix/mmix-protos.h, config/pa/pa-protos.h: Update.
      
      From-SVN: r67591
      Zack Weinberg committed
    • i386.h (OPTION_DEFAULT_SPECS): Avoid -mcpu default when -march is specified. · da2d4c01
      	* i386.h (OPTION_DEFAULT_SPECS): Avoid -mcpu default when -march is
      	specified.
      
      From-SVN: r67590
      Jan Hubicka committed
    • copy-file.exp: New. · ccfc7360
      2003-06-07  H.J. Lu <hongjiu.lu@intel.com>
      
      	* lib/copy-file.exp: New. Implement gcc_copy_files.
      
      	* lib/dg-pch.exp: Load copy-file.exp
      	(dg-pch): Use gcc_copy_files instead of "file copy".
      
      From-SVN: r67588
      H.J. Lu committed
    • 2003-06-07 Michael Koch <konqueror@gmx.de> · 248e983e
      	* include/posix.h
      	(O_DSYNC): Define O_DSYNC on platforms not
      	supporting O_FSYNC (newlib).
      
      From-SVN: r67587
      Michael Koch committed
    • Makefile.in (stageprofile_build): Kill redundant target. · 8c560c80
      	* Makefile.in (stageprofile_build): Kill redundant target.
      	* i386.c (mdep_reorg): Don't pad jumps for Athlon.
      
      From-SVN: r67586
      Jan Hubicka committed
    • tm.texi (Costs): Remove DONT_REDUCE_ADDR documentation. · e62b6ea1
      	* doc/tm.texi (Costs): Remove DONT_REDUCE_ADDR documentation.
      
      	* config/avr/avr.h: Remove comment regarding DONT_REDUCE_ADDR.
      	* config/dsp16xx/dsp16xx.h: Likewise.
      	* config/i386/i386.h: Likewise.
      	* config/ip2k/ip2k.h: Likewise.
      
      From-SVN: r67585
      Andreas Jaeger committed
    • Makefile.in (OJBS, c-opts.o): Update. · 2772ef3e
      	* Makefile.in (OJBS, c-opts.o): Update.
      	(c-options.c, c-options.h): Rename options.h and options.c.
      	(options.h): Rename options_.h.
      	(opts.o): New.
      	* c-common.h (c_common_handle_option): Replace c_common_decode_option.
      	(c_common_init_options): Update prototype.
      	* c-lang.c (c_init_options): Update prototype.
      	(LANG_HOOKS_HANDLE_OPTION): Override.
      	(LANG_HOOKS_DECODE_OPTION): Drop.
      	* c-opts.c: Include opts.h and options.h instead of c-options.h
      	and c-options.c.
      	(lang_flags): Move to file scope.
      	(find_opt, c_common_decode_option): Remove.
      	(CL_C, CL_OBJC, CL_CXX, CL_OBJCXX, CL_JOINED, CL_SEPARATE,
      	CL_REJECT_NEGATIVE): Move to opts.h.
      	(missing_arg): Update prototype.
      	(c_common_init_options): Update for new prototype.
      	(c_common_handle_options): Filenames are passed as N_OPTS.
      	* hooks.c (hook_int_void_0): New.
      	* hooks.h (hook_int_void_0): New.
      	* langhooks-def.h (LANG_HOOKS_INIT_OPTIONS): New default.
      	(LANG_HOOKS_HANDLE_OPTION): Default to NULL for now.
      	(LANG_HOOKS_INITIALIZER): Update.
      	* langhooks.h (init_options): Update.
      	(handle_option): New.
      	* opts.c, opts.h: New files.
      	* opts.sh: Update c file to include opts.h and options.h.
      	* toplev.c: Include opts.h; change options.h to options_.h.
      	(parse_options_and_default_flags): Get lang_mask, use
      	handle_option for language-specific handling.
      	* objc/objc-lang.c (LANG_HOOKS_DECODE_OPTON): Drop.
      	(LANG_HOOKS_HANDLE_OPTION): Override.
      	(objc_init_options): Update.
      ada:
      	* misc.c (gnat_init_options): Update.
      cp:
      	* cp-lang.c (LANG_HOOKS_DECODE_OPTON): Drop.
      	(LANG_HOOKS_HANDLE_OPTION): Override.
      	* cp-tree.h (cxx_init_options): Update.
      	* lex.c (cxx_init_options): Update.
      f:
      	* com.c (ffe_init_options): Update.
      java:
      	* lang.c (java_init_options): Update.
      
      From-SVN: r67584
      Neil Booth committed
    • Forgot to indicate PR number on last checkin. · f6749ed8
      From-SVN: r67583
      Jim Wilson committed
    • re PR other/7031 (program-suffix not respected in make install) · 3743ea05
      PR other/7031
      * Makefile.in (install-common): Remove GCOV_INSTALL_NAME instead of
      gcov.
      
      Co-Authored-By: Thibaud Gaillard <thibaud.gaillard@nto.atmel.com>
      
      From-SVN: r67582
      Magnus Kreth committed
    • configure.in (HAVE_LD_RO_RW_SECTION_MIXING): Remove quotes in section names. · 90e145da
      	* configure.in (HAVE_LD_RO_RW_SECTION_MIXING): Remove quotes in
      	section names.
      	* configure: Regenerate.
      
      From-SVN: r67580
      Kelley Cook committed
    • * config/rs6000/linux64.h (CRT_CALL_STATIC_FUNCTION): Define. · ffbc65c3
      From-SVN: r67578
      Alan Modra committed
    • re PR inline-asm/10890 (ICE in merge_assigned_reloads building Linux 2.4.2x sched.c) · 8a5db2b4
      PR inline-asm/10890
      * reload1.c (merge_assigned_reloads): Abort only if two reloads have
      different in fields.
      
      From-SVN: r67577
      James E Wilson committed
    • configure.in: Make $(target_subdir) correspond with top level usage. · 6a1b7268
      	* configure.in: Make $(target_subdir) correspond with top level usage.
      	* Makefile.in: Likewise.
      	* configure: Regenerate.
      
      From-SVN: r67575
      Nathanael Nerode committed
    • Daily bump. · eba441c0
      From-SVN: r67573
      GCC Administrator committed
  2. 06 Jun, 2003 22 commits
    • weak.exp: Simplify. · b7df4616
      	* gcc.dg/weak/weak.exp: Simplify.
      	* gcc.dg/weak/typeof-2.c: Use dg-require-weak.
      	* gcc.dg/weak/weak-1.c: Likewise.
      	* gcc.dg/weak/weak-2.c: Likewise.
      	* gcc.dg/weak/weak-3.c: Likewise.
      	* gcc.dg/weak/weak-4.c: Likewise.
      	* gcc.dg/weak/weak-5.c: Likewise.
      	* gcc.dg/weak/weak-6.c: Likewise.
      	* gcc.dg/weak/weak-7.c: Likewise.
      	* gcc.dg/weak/weak-8.c: Likewise.
      	* gcc.dg/weak/weak-9.c: Likewise.
      
      From-SVN: r67571
      Mark Mitchell committed
    • pa.h (ASM_OUTPUT_SKIP, [...]): Cast `SIZE' and `ALIGNED' parameters to unsigned HOST_WIDE_INT. · 78cabff8
      	* pa.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGNED_COMMON,
      	ASM_OUTPUT_ALIGNED_LOCAL): Cast `SIZE' and `ALIGNED' parameters to
      	unsigned HOST_WIDE_INT.
      	* pa-pro-end.h (ASM_OUTPUT_ALIGNED_COMMOM, ASM_OUTPUT_ALIGNED_LOCAL):
      	Likewise.
      	* pa64-hpux.h (ASM_OUTPUT_ALIGNED_COMMON, ASM_OUTPUT_ALIGNED_LOCAL):
      	Likewise.
      
      From-SVN: r67570
      John David Anglin committed
    • install.texi (Prerequisites): New section documenting tools and packages… · 67b1fbb9
      install.texi (Prerequisites): New section documenting tools and packages necessary prior to building and/or...
      
      	* doc/install.texi (Prerequisites): New section documenting
      	tools and packages necessary prior to building and/or
      	modifying GCC.
      	* doc/install.texi2html: Also generate prerequisites.html.
      
      From-SVN: r67562
      Kaveh R. Ghazi committed
    • 2003-06-06 Nathan Myers <ncm-nospam@cantrip.org> · d56a8811
      	* include/bits/stl_iterator.h
      	(reverse_iterator::reverse_iterator()): Apply DR235: default
      	constructor default-initializes data member.  Instantiated on a
      	pointer type, the member has to end up equal to zero.
      
      From-SVN: r67559
      Nathan Myers committed
    • re PR target/11052 ([arm] noce_process_if_block() can loose REG_INC notes) · 3a11ec8b
      PR target/11052
      * ifcvt.c (noce_process_if_block): Fail if the destination has
      side-effects.
      
      gcc.c-torture/execute/20030606-1.c: New.
      
      From-SVN: r67558
      Richard Earnshaw committed
    • stmt.c (resolve_asm_operand_names): Rename from resolve_operand_names. · 7dc8b126
              * stmt.c (resolve_asm_operand_names): Rename from
              resolve_operand_names.  No longer static.  Avoid needless copying.
              Don't build array of constraints.
              (expand_asm_operands): Build it here.
              * tree.h: Declare resolve_asm_operand_names.
      
              * stmt.c (expand_decl): Put artificial vars into registers even
              when not optimizing, and don't mark the regs as user vars.
      
      From-SVN: r67556
      Jason Merrill committed
    • sh.h (FUNCTION_ARG_1): Consistently use NEW_MODE for the mode of the generated register. · 1c20913c
      	* sh.h (FUNCTION_ARG_1): Consistently use NEW_MODE for the mode
      	of the generated register.
      
      From-SVN: r67555
      J"orn Rennecke committed
    • * config.gcc: Add a missing sparc64 case. · 09c36669
      From-SVN: r67554
      Daniel Jacobowitz committed
    • builtins-2.c: Correct check-in of incorrect version. · f14262fb
      
              * gcc.dg/builtins-2.c: Correct check-in of incorrect version.
              * gcc.dg/builtins-19.c: Likewise. Sorry.
      
      From-SVN: r67553
      Roger Sayle committed
    • stl_alloc.h: Cleanups. · b2acb86f
      
      
      2003-06-06  Benjamin Kosnik  <bkoz@redhat.com>
      
      	* include/bits/stl_alloc.h: Cleanups.
      	* include/ext/functional: Same.
      	* include/ext/hash_map: Same.
      	* include/ext/hash_set: Same.
      	* include/ext/iterator: Same.
      	* include/ext/memory: Same.
      	* include/ext/numeric: Same.
      	* include/ext/rb_tree: Same.
      	* include/ext/ropeimpl.h: Same.
      	* include/ext/slist: Same.
      	* include/ext/stdio_filebuf.h: Same.
      	* include/ext/stdio_sync_filebuf.h: Same.
      	* include/ext/stl_rope.h: Move to...
      	* include/ext/rope: ...here.
      	* include/ext/stl_hash_fun.h: Move to...
      	* include/ext/hash_fun.h: ...here.
      	* include/ext/stl_hashtable.h: Move to...
      	* include/ext/hashtable.h: ...here.
      	* include/backward/hashtable.h: Reflect new names.
      	* include/Makefile.am: Same.
      	* include/Makefile.in: Regenerated.
      
      From-SVN: r67551
      Benjamin Kosnik committed
    • mklibgcc.in: Propagate .note.GNU-stack section if needed into the .hidden assembly stubs. · 744f6f09
      	* mklibgcc.in: Propagate .note.GNU-stack section if needed into
      	the .hidden assembly stubs.
      
      From-SVN: r67545
      Jakub Jelinek committed
    • Apply the right patch. · c220e3a9
      From-SVN: r67544
      H.J. Lu committed
    • config.gcc (extra_headers): Add emmintrin.h for i[34567]86-*-* and x86_64-*-*. · 30fb3231
      2003-06-06  H.J. Lu <hongjiu.lu@intel.com>
      
      	* config.gcc (extra_headers): Add emmintrin.h for i[34567]86-*-*
      	and x86_64-*-*.
      
      	* config/i386/mmintrin.h: Update version and add alternate
      	intrinsic names.
      	* config/i386/xmmintrin.h: Likewise.
      
      	* config/i386/xmmintrin.h: Include <emmintrin.h>. Move SSE2
      	intrinsics to ...
      	* config/i386/emmintrin.h: Here. New file.
      
      From-SVN: r67543
      H.J. Lu committed
    • Toolkit.java (getDefaultToolkit): Add exception cause to AWTError. · 6d8176f0
             * java/awt/Toolkit.java (getDefaultToolkit): Add exception cause to
             AWTError.
      
      From-SVN: r67542
      Mark Wielaard committed
    • fold-const.c (fold <ABS_EXPR>): Re-fold the result of folding fabs(-x) into fabs(x). · 07bae5ad
      
      	* fold-const.c (fold <ABS_EXPR>):  Re-fold the result of folding
      	fabs(-x) into fabs(x).  Use tree_expr_nonnegative_p to determine
      	when the ABS_EXPR (fabs or abs) is not required.
        	(tree_expr_nonnegative_p): Move the logic that sqrt and exp are
      	always nonnegative from fold to here.  Additionally, cabs and fabs
      	are always non-negative, and pow and atan are non-negative if
      	their first argument is non-negative.
      
      	* builtins.c (fold_builtin_cabs): New function to fold cabs{,f,l}.
      	Evaluate cabs of a constant at compile-time.  Convert cabs of a
      	non-complex argument into fabs.  Convert cabs(z) into
      	sqrt(z.r*z.r + z.i*z.i) at the tree-level with -ffast-math or
      	-funsafe-math-optimizations or -ffast-math.
      	(fold_builtin): Convert BUILT_IN_FABS{,F,L} into an ABS_EXPR.
      	Fold BUILT_IN_CABS{,F,L} using fold_builtin_cabs.
      
      	* gcc.dg/builtins-2.c: Add some more tests.
      	* gcc.dg/builtins-18.c: New test case.
      	* gcc.dg/builtins-19.c: New test case.
      
      From-SVN: r67541
      Roger Sayle committed
    • uninit-C.c: Only test TImode on 64-bit platforms. · 84cd52a9
      
      	* gcc.dg/uninit-C.c: Only test TImode on 64-bit platforms.
      
      Co-Authored-By: James E Wilson <wilson@tuliptree.org>
      
      From-SVN: r67540
      Roger Sayle committed
    • string-4.c (main_test): Allow some mempcpy/stpcpy calls not to be optimized into something else. · 67bf5d01
      	* gcc.c-torture/execute/builtins/string-4.c (main_test): Allow some
      	mempcpy/stpcpy calls not to be optimized into something else.
      	* gcc.c-torture/execute/string-opt-3.c: Moved to...
      	* gcc.c-torture/execute/builtins/string-7.c: ...here.
      	* gcc.c-torture/execute/builtins/string-7-lib.c: New.
      
      From-SVN: r67538
      Jakub Jelinek committed
    • re PR libgcj/6181 (Mauve Introspector.jdk11: getBeanInfo fail for AWT classes) · f0718851
              * libjava.mauve/mauve.exp (test_mauve): Add -wno-deprecated to GCJ.
      
              PR libgcj/6181:
              * libjava.mauve/xfails: Remove getBeanInfo() failures.
      
              PR libgcj/6293:
              * libjava.mauve/xfails: Remove PipedStream.close() failure.
      
      From-SVN: r67536
      Mark Wielaard committed
    • function.c (FLOOR_ROUND, CEIL_ROUND): Fix. · 9ee634e3
      	* function.c (FLOOR_ROUND, CEIL_ROUND): Fix.
      	* i386.md (gen_pro_epilogue_adjust_stack): Deal with gigantic stack frames.
      	(pro_epilogue_adjust_stack_rex64_2): New pattern
      
      	* cfghooks.h, cfghooks.c: New files.
      	* Makefile.in (BASIC_BLOCK_H): Depends on cfghooks.h.
      	(OBJS): Add cfghooks.o.
      	(cfghooks.o): New rule.
      	* basic-block.h (split_edge): Rename to rtl_split_edge.
      	(verify_flow_info): Rename to rtl_verify_flow_info.
      	(cfghooks.h): Included here.
      	* cfgrtl.c (split_edge): Renamed rtl_split_edge.
      	(verify_flow_info): Renamed rtl_verify_flow_info.
      	* toplev.c (rest_of_compilation): Call rtl_register_cfg_hooks.
      
      	* basic-block.h (split_block, split_edge, flow_delete_block,
      	redirect_edge_and_branch, redirect_edge_and_branch_force): Delete.
      	(flow_delete_block_noexpunge):  Return void.
      	* cfg.c (verify_flow_info): New function.
      	* cfgcleanup.c (try_simplify_condjump, outgoing_edges_match,
      	try_crossjump_to_edge, try_optimize_cfg, delete_unreachable_blocks):
      	Use delete_block.
      	* cfglayout.c (function_footer): Rename to...
      	(cfg_layout_function_footer): ... this variable
      	(unlink_insn_chain): Make global.
      	(fixup_reorder_chain, record_effective_endpoints): Update.
      	(cleanup_unconditional_jumps): Use delete_block.
      	(cfg_layout_redirect_edge, cfg_layout_split_block): Move to cfgrtl.c
      	(cfg_layout_duplicate_bb): Use redirect_edge_and_branch_force.
      	(cfg_layout_initialize, cfg_layout_finalize): Update hooks.
      	* cfglayout.h (cfg_layout_redirect_edge, cfg_layout_split_block):  Delete.
      	(cfg_layout_function_footer): Declare.
      	* cfgloopmanip (split_loop_bb): Do not update RBI.
      	(remove_bbs): Use delete_block.
      	(loop_reidrect_edge, loop_delete_branch_edge): Use
      	redirect_edge_and_branch.
      	(create_preheader): Use split_block and redirect_edge_and_branch_force.
      	(split_edge_with): Likewise.
      	* cfgrtl.c: Include cfglayout.h
      	(split_edge): Rename to ...
      	(rtl_split_edge) ... this one; make local.
      	(redirect_edge_and_branch): Rename to ...
      	(rtl_redirect_edge_and_branch) ... this one; make local.
      	(redirect_edge_and_branch_force): Rename to ...
      	(rtl_redirect_edge_and_branch_force) ... this one; make local.
      	(cfg_layout_delete_block, cfg_layout_delete_edge_and_branch_force): New.
      	(cfg_layout_redirect_edge_and_branch, cfg_layout_split_block): Move here from
      	cfglayout.c; update to directly call RTL counterparts.
      	(rtl_cfg_hooks, cfg_layout_rtl_cfg_hooks): New functions.
      	* ifcvt.c (find_cond_trap): Use delete_block.
      	(find_if_case_1): Use delete_block.
      	(find_if_case_2): Use delete_block.
      	* rtl.h (unlink_insn_chain): Declare.
      	* toplev.c (rtl_reigster_cfg_hooks): New.
      
      From-SVN: r67535
      Jan Hubicka committed
    • * recog.c (peephole2_optimize): Revert last change. · 7654db1b
      From-SVN: r67533
      Richard Henderson committed
    • recog.c (peephole2_optimize): Don't split block unless can_throw_internal. · c1dbd774
              * recog.c (peephole2_optimize): Don't split block unless
              can_throw_internal.
      
      From-SVN: r67532
      Richard Henderson committed