91790 Commits

Author SHA1 Message Date
Richard Guenther
ab05897240 re PR tree-optimization/38937 (dereferencing pointer '<anonymous>' does break strict-aliasing)
2009-02-02  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/38937
	* g++.dg/warn/Wstrict-aliasing-bogus-escape.C: New testcase.

From-SVN: r143864
2009-02-02 10:39:12 +00:00
Ben Elliston
b5bde9fffe tm.texi (Storage Layout): Fix TARGET_ALIGN_ANON_BITFIELD and TARGET_NARROW_VOLATILE_BITFIELD macro names.
* doc/tm.texi (Storage Layout): Fix TARGET_ALIGN_ANON_BITFIELD and
	TARGET_NARROW_VOLATILE_BITFIELD macro names.

From-SVN: r143863
2009-02-02 20:57:08 +11:00
Danny Smith
00f97e5a1a * ssp.c (_PATH_TTY): Define as "CONOUT$" for _WIN32.
From-SVN: r143862
2009-02-02 03:23:39 +00:00
Paolo Carlini
def88a88c4 re PR c++/39053 (ICE with broken function declaration)
/cp
2009-02-01  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/39053
	* parser.c (cp_parser_pure_specifier): If there are no tokens left
	do not call cp_lexer_consume_token.

/testsuite
2009-02-01  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/39053
	* g++.dg/parse/crash52.C: New.

From-SVN: r143861
2009-02-02 00:41:52 +00:00
GCC Administrator
27c40174ae Daily bump.
From-SVN: r143859
2009-02-02 00:16:38 +00:00
Laurent GUERBY
d0ec4c99b6 Makefile.in: Fix mipsel linux handling.
2009-01-31  Laurent GUERBY  <laurent@guerby.net>

	* gcc-interface/Makefile.in: Fix mipsel linux handling.

From-SVN: r143855
2009-02-01 14:18:20 +00:00
GCC Administrator
591f8a9237 Daily bump.
From-SVN: r143837
2009-02-01 00:16:52 +00:00
John David Anglin
be7659ba0b install.texi (hppa*-hp-hpux*): Update binutils and linker information.
* doc/install.texi (hppa*-hp-hpux*): Update binutils and linker
	information.  Remove some obsolete information.  Reorganize.

From-SVN: r143834
2009-01-31 22:29:16 +00:00
John David Anglin
30f3e4272a fptr.c: Revert license to GPL 2.
* config/pa/fptr.c: Revert license to GPL 2.
	* config/pa/milli64.S: Likewise.

From-SVN: r143831
2009-01-31 20:01:46 +00:00
Dave Korn
3cbfaf9846 re PR target/38904 (Shared libgcc DLL violates Cygwin platform conventions.)
PR target/38904
	* mkmap-flat.awk (END):  Use pe_dll command-line arg to pass
	LIBRARY name in, instead of hard-coding it.
	* config.gcc (i[34567]86-*-pe | i[34567]86-*-cygwin*):  Add an
	extra target make frag to tmake_files according to EH model.
	(i[34567]86-*-mingw* | x86_64-*-mingw*):  Likewise.
	* config/i386/t-dw2-eh, config/i386/t-sjlj-eh:  Add new target
	frags that define makefile variable EH_MODEL appropriately.
	* config/i386/cygming.h (DWARF2_UNWIND_INFO):  Add comment.
	* config/i386/cygwin.h (LIBGCC_EH_EXTN):  Define to nothing or
	to "-sjlj" according to type of EH configured.
	(LIBGCC_SONAME):  Concatenate it to shared library base name.
	* config/i386/mingw32.h (LIBGCC_EH_EXTN):  Define to "_dw2" or
	to "_sjlj" according to type of EH configured.
	(LIBGCC_SONAME):  Concatenate it to shared library base name.
	* config/i386/t-cygming (SHLIB_SONAME):  Use EH_MODEL.
	(SHLIB_LINK):  Add missing semicolon to if-else construct.
	(SHLIB_MKMAP_OPTS):  Pass library name to mkmap-flat.awk as
	string value of "pe_dll" command-line option.
	* config/i386/t-cygwin (SHLIB_EH_EXTENSION):  New helper.
	(SHLIB_SONAME):  Use it when overriding t-cygming default.
	(SHLIB_IMPLIB):  Override t-cygming default.
	(SHLIB_MKMAP_OPTS):  Pass library name to mkmap-flat.awk as
	string value of "pe_dll" command-line option.

From-SVN: r143829
2009-01-31 18:52:00 +00:00
Dave Korn
8d0b6068b5 re PR target/38952 (EH does not work.)
2009-01-31  Dave Korn  <dave.korn.cygwin@gmail.com>

	PR target/38952
	* config/i386/i386.c (ix86_builtin_setjmp_frame_value): New.
	(TARGET_BUILTIN_SETJMP_FRAME_VALUE): Override default to point
	at it.

From-SVN: r143823
2009-01-31 09:34:03 -08:00
Ian Lance Taylor
b39dea08d9 acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set libgomp_ld_is_gold.
* acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
	libgomp_ld_is_gold.  Get gold version number.
	(LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
	* configure: Rebuild.

From-SVN: r143822
2009-01-31 17:09:24 +00:00
Richard Guenther
14c28276e0 re PR tree-optimization/38937 (dereferencing pointer '<anonymous>' does break strict-aliasing)
2009-01-30  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/38937
	* tree-ssa-structalias.c (do_sd_constraint): Do not shortcut
	computing the transitive closure.

From-SVN: r143819
2009-01-31 10:25:41 +00:00
Ian Lance Taylor
907884c92a * MAINTAINERS: Move myself to the Global Reviewers list.
From-SVN: r143818
2009-01-31 06:46:00 +00:00
GCC Administrator
07b75c15d3 Daily bump.
From-SVN: r143815
2009-01-31 00:16:40 +00:00
Richard Guenther
5f4d82c2ea re PR tree-optimization/39041 (ICE on valid during vrp2)
2009-01-30  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/39041
	* tree-ssa-forwprop.c (forward_propagate_addr_expr_1):
	Propagate variable indices only if the types match for this stmt.

	* gcc.c-torture/compile/pr39041.c: New testcase.

From-SVN: r143808
2009-01-30 22:09:15 +00:00
Jakub Jelinek
d0728ae0d8 re PR target/39013 (Missing @PLT when -fpie is used)
PR target/39013
	* c-decl.c (pop_scope): Set DECL_EXTERNAL for functions declared
	inline but never defined.

	* gcc.target/i386/pr39013-1.c: New test.
	* gcc.target/i386/pr39013-2.c: New test.

From-SVN: r143803
2009-01-30 21:46:32 +01:00
Jakub Jelinek
ac9bc18b37 re PR c++/39028 (C++ front-end rejects "__label__" at the beginning of a block after "for" and "while")
PR c++/39028
	* parser.c (cp_parser_already_scoped_statement): Handle __label__
	declarations.

	* g++.dg/ext/label12.C: New test.

From-SVN: r143797
2009-01-30 17:17:30 +01:00
Paolo Carlini
1fae3e66da re PR c++/33465 (Broken diagnostic: 'fix_trunc_expr' and 'float_expr' not supported by dump_expr)
/cp
2009-01-30  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/33465
	* error.c (dump_expr): Handle FIX_TRUNC_EXPR and FLOAT_EXPR.

/testsuite
2009-01-30  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/33465
	* g++.dg/parse/error34.C: New.
	* g++.dg/parse/error35.C: Likewise.

/cp
2009-01-30  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/38655
	* error.c (dump_type_prefix, dump_type_suffix): Handle FIXED_POINT_TYPE.

/testsuite
2009-01-30  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/38655
	* g++.dg/cpp0x/decltype-38655.C: New.

From-SVN: r143790
2009-01-30 15:03:10 +00:00
Paolo Carlini
349ac74671 2009-01-30 Paolo Carlini <paolo.carlini@oracle.com>
Tweak last ChangeLog entry.

From-SVN: r143788
2009-01-30 12:11:17 +00:00
Wolfgang Gellerich
9fec758df2 2009-01-30 Wolfgang Gellerich <gellerich@de,ibm.com>
* config/s390/s390.md (*insv<mode>_reg_extimm): Removed.
	(*insv_h_di_reg_extimm): New insn.
	(*insv_l<mode>_reg_extimm): New insn.

From-SVN: r143786
2009-01-30 10:50:31 +00:00
Hariharan Sandanagobalane
9e8be1e49e picochip.c (flag_conserve_stack): set PARAM_LARGE_STACK_FRAME and PARAM_STACK_FRAME_GROWTH to zero under...
* config/picochip/picochip.c (flag_conserve_stack): set
        PARAM_LARGE_STACK_FRAME and PARAM_STACK_FRAME_GROWTH to zero under
        fconserve-stack. Reduce call-overhead used by inliner.

From-SVN: r143785
2009-01-30 10:25:54 +00:00
Hariharan Sandanagobalane
df9198abb2 common.opt (flag_conserve_stack): Initialised to zero.
PR/38157
        * common.opt (flag_conserve_stack): Initialised to zero.

From-SVN: r143784
2009-01-30 09:50:30 +00:00
Jakub Jelinek
c95b2534da Fix spacing around names.
From-SVN: r143783
2009-01-30 10:28:41 +01:00
Jakub Jelinek
0802336fe3 re PR target/39002 (codegen bug, stack pointer is not restored)
PR target/39002
	* g++.dg/torture/pr39002.C: New test.

From-SVN: r143782
2009-01-30 10:22:48 +01:00
Kai Tietz
7f1c539c95 i386.c (ix86_can_use_return_insn_p): Check for nsseregs.
2009-01-30  Kai Tietz  <kai.tietz@onevision.com>

	PR/39002
	* config/i386/i386.c (ix86_can_use_return_insn_p): Check for nsseregs.
	(ix86_expand_epilogue): Take nsseregs in account to use proper restore
	method.

From-SVN: r143780
2009-01-30 09:45:35 +01:00
GCC Administrator
e2b861f4ca Daily bump.
From-SVN: r143776
2009-01-30 00:16:46 +00:00
Ulrich Drepper
60822e0b57 cstring (memchr, [...]): Provide inlines only if __CORRECT_ISO_CPP_STRING_H_PROTO is not defined.
* include/c_std/cstring (memchr, strchr, strpbrk, strrchr, strstr):
	Provide inlines only if __CORRECT_ISO_CPP_STRING_H_PROTO is not
	defined.
	* include/c_std/cwchar (wcschr, wcspbrk, wcsrchr, wcsstr, wmemchr):
	Provide inlines only if __CORRECT_ISO_CPP_WCHAR_H_PROTO is not
	defined.
	* include/c_global/cstring (memchr, strchr, strpbrk, strrchr, strstr):
	Provide inlines only if __CORRECT_ISO_CPP_STRING_H_PROTO is not
	defined.
	* include/c_global/cwchar (wcschr, wcspbrk, wcsrchr, wcsstr, wmemchr):
	Provide inlines only if __CORRECT_ISO_CPP_WCHAR_H_PROTO is not
	defined.
	* testsuite/21_strings/c_strings/char_t/2.cc (test02): If first
	argument is const char *, assign result to const char * var, not
	char *.
	* testsuite/21_strings/c_strings/wchar_t/2.cc (test02): If first
	argument is const wchar_t *, assign result to const wchar_t * var, not
	wchar_t *.

Co-Authored-By: Jakub Jelinek <jakub@redhat.com>

From-SVN: r143773
2009-01-30 01:08:29 +01:00
Jonathan Wakely
cbdab9c897 thread: Remove unused headers.
2009-01-29  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* include/std/thread: Remove unused headers.
	(__thread_data_base): Remove unused mutex and base.
	(thread::~thread): Only detach if joinable.
	(thread::joinable): Test if thread data ptr is empty.
	(thread::_M_thread_data_mutex): Remove.
	(thread::_M_get_thread_data): Remove.
	(thread::_M_make_thread_data): Remove overload, use make_shared.
	(thread:🆔:id): Make constructor explicit.
	* src/thread.cc (thread::join,thread::detach): Throw if not joinable.
	(thread::_M_start_thread): Break shared_ptr cycle on error.
	(__thread_proxy): Use shared_ptr swap instead of copy and reset.
	* testsuite/30_threads/thread/member/4.cc: New.
	* testsuite/30_threads/thread/member/5.cc: New.

From-SVN: r143772
2009-01-29 23:24:05 +00:00
H.J. Lu
3631be4865 ira-color.c (allocno_reload_assign): Update comments.
2009-01-29  H.J. Lu  <hongjiu.lu@intel.com>

	* ira-color.c (allocno_reload_assign): Update comments.
	* regmove.c (regmove_optimize): Likewise.

	* ra.h: Removed.

From-SVN: r143771
2009-01-29 13:56:17 -08:00
Robert Millan
416ac4d45b configure.ac: Recognize GNU/kOpenSolaris (*-*-kopensolaris*-gnu).
2009-01-29  Robert Millan  <rmh@aybabtu.com>

	* configure.ac: Recognize GNU/kOpenSolaris (*-*-kopensolaris*-gnu).
	* configure: Regenerate.

gcc/
2009-01-29  Robert Millan  <rmh@aybabtu.com>

	* gcc/config.gcc: Recognize GNU/kOpenSolaris (*-*-kopensolaris*-gnu).
	* gcc/config/i386/kopensolaris-gnu.h: New file.  Undefine
	`MD_UNWIND_SUPPORT'.
	* gcc/config/kopensolaris-gnu.h: New file (based on kfreebsd-gnu.h).

From-SVN: r143768
2009-01-29 18:48:41 +00:00
Kazu Hirata
d5e54bc106 re PR tree-optimization/39007 (-ftree-loop-distribution ICEs)
gcc/
	PR tree-optimization/39007
	* tree-loop-distribution.c (generate_builtin): Use
	recompute_dominator to compute the immediate dominator of the
	basic block just after the loop.

gcc/testsuite/
	PR tree-optimization/39007
	* gcc.dg/tree-ssa/pr39007.c: New.

From-SVN: r143767
2009-01-29 18:23:21 +00:00
Paolo Carlini
90ef777327 typeck.c (invalid_nonstatic_memfn_p): Use DECL_NONSTATIC_MEMBER_FUNCTION_P.
2009-01-29  Paolo Carlini  <paolo.carlini@oracle.com>

	* typeck.c (invalid_nonstatic_memfn_p): Use
	DECL_NONSTATIC_MEMBER_FUNCTION_P.

From-SVN: r143761
2009-01-29 17:02:52 +00:00
Rainer Orth
e9e077faa2 * config/i386/sol2-10.h [!HAVE_AS_IX86_DIFF_SECT_DELTA]
(ASM_OUTPUT_DWARF_PCREL): Define.

From-SVN: r143758
2009-01-29 16:06:53 +00:00
Vladimir Makarov
2af2dbdc68 tm.texi (TARGET_IRA_COVER_CLASSES): Modify description.
2008-01-29  Vladimir Makarov  <vmakarov@redhat.com>

	* doc/tm.texi (TARGET_IRA_COVER_CLASSES): Modify description.
	* doc/passes.texi: Remove entries about regclass, local-alloc, and
	global.  Modify entries about regmove and IRA.

	* ra-conflict.c: Remove the file.

	* reload.c (push_reload, find_dummy_reload): Remove flag_ira.

	* tree-pass.h (pass_local_alloc, pass_global_alloc): Remove.
	(pass_regclass_init): Rename to pass_reginfo_init.

	* cfgloopanal.c (estimate_reg_pressure_cost): Remove flag_ira.

	* toplev.h (flag_ira): Remove.

	* caller-save.c (setup_save_areas): Remove flag_ira.

	* ira-color.c (ira_reuse_stack_slot, ira_mark_new_stack_slot):
	Ditto.

	* global.c: Remove the file.

	* opts.c: (decode_options): Remove flag_ira.

	* hard-reg-set.h (losing_caller_save_reg_set): Remove.

	* regmove.c: Modify file description.
	(find_use_as_address, try_auto_increment): Define them only if
	AUTO_INC_DEC is defined.
	(replacement_quality, replace_in_call_usage, fixup_match_1,
	stable_and_no_regs_but_for_p): Remove.
	(reg_set_in_bb): Make it static.
	(regmove_optimize): Remove flag_ira and code which worked for
	!flag_ira.

	* local-alloc.c: Remove the file.

	* common.opt (fira): Remove.

	* ira.c: Include except.h.
	(eliminable_regset): Move from global.c.
	(mark_elimination): Ditto.  Remove flag_ira.
	(reg_renumber, struct equivalence, reg_equiv, equiv_mem,
	equiv_mem_modified, validate_equiv_mem_from_store,
	validate_equiv_mem, equiv_init_varies_p, equiv_init_movable_p,
	contains_replace_regs, memref_referenced_p, memref_used_between_p,
	no_equiv, recorded_label_ref): Move from local-alloc.c.
	(update_equiv_regs): Ditto.  Make it static.
	(print_insn_chain, print_insn_chains): Move it from global.c.
	pseudo_for_reload_consideration_p): Ditto.  Remove flag_ira.
	(build_insn_chain): Ditto.  Make it static.
	(ra_init_live_subregs): Move from ra-conflict.c.  Make it static.
	Rename to init_live_subregs.
	(gate_ira): Remove flag_ira.

	* regclass.c: Rename reginfo.c.  Change file description.
	(FORBIDDEN_INC_DEC_CLASSES): Remove.
	(reg_class_superclasses, forbidden_inc_dec_class, in_inc_dec):
	Remove.
	(init_reg_sets_1): Remove code for evaluation of
	reg_class_superclasses and losing_caller_save_reg_set.
	(init_regs): Remove init_reg_autoinc.
	(struct costs, costs, init_cost, ok_for_index_p_nonstrict,
	ok_for_base_p_nonstrict): Remove.
	(regclass_init): Rename to reginfo_init.  Don't initialize
	init_cost.
	(pass_regclass_init): Rename to pass_reginfo_init.  Modify
	corresponding entries.
	(dump_regclass, record_operand_costs, scan_one_insn,
	init_reg_autoinc, regclass, record_reg_classes, copy_cost,
	record_address_regs, auto_inc_dec_reg_p): Remove.
	(gt-regclass.h): Rename to gt-reginfo.h.

	* rtl.h (dump_global_regs, retry_global_alloc,
	build_insn_chain, dump_local_alloc, update_equiv_regs):
	Remove.

	* Makefile.in (RA_H): Remove.
	(OBJS-common): Remove global.o, local-alloc.o, and ra-conflict.o.
	Rename regclass.o to reginfo.o.
	(regclass.o): Rename to reginfo.o.  Rename gt-regclass.h to
	gt-reginfo.h.
	(global.o, local-alloc.o, ra-conflict.o): Remove entries.
	(GTFILES): Rename regclass.c to	reginfo.c.

	* passes.c (init_optimization_passes): Remove pass_local_alloc and
	pass_global_alloc.  Rename pass_regclass_init to
	pass_reginfo_init.

	* reload1.c (compute_use_by_pseudos, reload, count_pseudo,
	count_spilled_pseudo, find_reg, alter_reg, delete_output_reload):
	Remove flag_ira.
	(finish_spills): Ditto.  Remove code for !flga_ira.

From-SVN: r143757
2009-01-29 14:51:46 +00:00
Kenneth Zadeck
00b251a037 re PR middle-end/35854 (life passes dump option still documented)
2009-01-29  Kenneth Zadeck <zadeck@naturalbridge.com>

	PR middle-end/35854
	* doc/invoke.texi (rtl debug options): Complete rewrite.
	* auto-inc-dec.c (pass_inc_dec): Rename pass from "auto-inc-dec"
	to auto_inc_dec".
	* mode-switching.c (pass_mode_switching): Rename pass from
	"mode-sw" to "mode_sw".
	* except.c (pass_convert_to_eh_ranges): Rename pass from
	"eh-ranges" to "eh_ranges".
	* lower-subreg.c (pass_lower_subreg): Renamed pass from "subreg"
	to "subreg1".
		
	
2009-01-29  Kenneth Zadeck <zadeck@naturalbridge.com>

	PR middle-end/35854
	* gcc.dg/lower-subreg-1.c: Renamed dump pass from "subreg" to "subreg1"

From-SVN: r143756
2009-01-29 14:34:55 +00:00
Alexander Monakov
72a54528db [multiple changes]
2009-01-29  Andrey Belevantsev  <abel@ispras.ru>
	    Alexander Monakov  <amonakov@ispras.ru>

	PR middle-end/38857
	* sel-sched.c (count_occurrences_1): Check that *cur_rtx is a hard
	register.
	(move_exprs_to_boundary): Change return type and pass through
	should_move from move_op.  Relax assert.  Update usage ...
	(schedule_expr_on_boundary): ... here.  Use should_move instead of
	cant_move.
	(move_op_orig_expr_found): Indicate that insn was disconnected from
	stream.
	(code_motion_process_successors): Do not call after_merge_succs
	callback if original expression was not found when traversing any of
	the branches.
	(code_motion_path_driver): Change return type.  Update prototype.
	(move_op): Update comment.  Add a new parameter (should_move).  Update
	prototype.  Set *should_move based on indication provided by
	move_op_orig_expr_found.

2009-01-29  Steve Ellcey  <sje@cup.hp.com>

	PR middle-end/38857
	* gcc.c-torture/compile/pr38857.c: New test.

From-SVN: r143753
2009-01-29 13:53:15 +03:00
Uros Bizjak
d748c4062c * testsuite/ChangeLog: Add missing entry.
From-SVN: r143751
2009-01-29 09:49:14 +01:00
Benjamin Kosnik
5292c0337d testsuite_common_types.h (has_trivial_cons_dtor): New.
2009-01-28  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/util/testsuite_common_types.h (has_trivial_cons_dtor): New.
	(standard_layout): Just use !has_virtual_destructor for now.
	* testsuite/30_threads/mutex/requirements/standard_layout.cc: New.
	* testsuite/30_threads/timed_mutex/requirements/standard_layout.cc: New.
	* testsuite/30_threads/recursive_mutex/requirements/
	standard_layout.cc: New.
	* testsuite/30_threads/condition_variable/requirements/
	standard_layout.cc: New.
	* testsuite/29_atomics/atomic_address/requirements/
	standard_layout.cc: Adjust.
	* testsuite/29_atomics/atomic_flag/requirements/
	standard_layout.cc: Same.
	* testsuite/29_atomics/atomic_address/requirements/trivial.cc: New.
	* testsuite/29_atomics/atomic_integral/requirements/trivial.cc: Same.
	* testsuite/29_atomics/atomic_flag/requirements/trivial.cc: Same.
	* testsuite/30_threads/condition_variable/requirements/typedefs.cc: New.
	* testsuite/29_atomics/atomic_integral/cons/assign_neg.cc: Adjust
	line numbers.
	* testsuite/29_atomics/atomic_integral/cons/copy_neg.cc: Same.
	* testsuite/29_atomics/atomic/cons/assign_neg.cc: Same.
	* testsuite/29_atomics/atomic/cons/copy_neg.cc: Same.
	* testsuite/29_atomics/atomic/requirements/standard_layout.cc:
	Remove, not required.

From-SVN: r143749
2009-01-29 00:25:17 +00:00
GCC Administrator
e8eef5963f Daily bump.
From-SVN: r143747
2009-01-29 00:16:44 +00:00
Paul Thomas
61a3961538 re PR fortran/38852 ([4.3] UBOUND fails for negative stride triplets)
2009-01-28  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/38852
	PR fortran/39006
	* trans-intrinsic.c (gfc_conv_intrinsic_bound): Use the array
	descriptor ubound for UBOUND, when the array lbound == 1.

2009-01-28  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/38852
	PR fortran/39006
	* gfortran.dg/bound_6.f90: New test.

From-SVN: r143743
2009-01-28 21:48:53 +00:00
Pat Haugen
001b9eb6b1 invoke.texi (avoid-indexed-addresses): Document new option.
* doc/invoke.texi (avoid-indexed-addresses): Document new option.
	* config/rs6000/rs6000-protos.h (avoiding_indexed_address_p): Declare.
	* config/rs6000/rs6000.opt (avoid-indexed-addresses): New option.
	* config/rs6000/rs6000.c (rs6000_override_options): Default
	avoid-indexed-addresses on for Power6, off for everything else.
	(avoiding_indexed_address_p): New function.
	(rs6000_legitimize_address): Use it.
	(rs6000_legitimate_address): Likewise.
	* config/rs6000/rs6000.md (movXX_updateX): Likewise
	* gcc.target/powerpc/avoid-indexed-addresses.c: New test.

From-SVN: r143742
2009-01-28 18:51:53 +00:00
Kazu Hirata
b990b40f02 re PR tree-optimization/38997 (-ftree-loop-distribution ICEs)
gcc/
	PR tree-optimization/38997
	* tree-loop-distribution.c (generate_memset_zero): Use
	POINTER_PLUS_EXPR for a pointer addition.

gcc/testsuite/
	PR tree-optimization/38997
	* gcc.dg/tree-ssa/pr38997.c: New.

From-SVN: r143740
2009-01-28 18:17:13 +00:00
Kazu Hirata
59dc48988a re PR tree-optimization/38997 (-ftree-loop-distribution ICEs)
gcc/
	PR tree-optimization/38997
	* tree-loop-distribution.c (generate_memset_zero): Use
	POINTER_PLUS_EXPR for a pointer addition.

gcc/testsuite/
	PR tree-optimization/38997
	* gcc.dg/tree-ssa/pr38997.c: New.

From-SVN: r143739
2009-01-28 18:16:57 +00:00
Andreas Krebbel
07da44aba4 s390.md (bswap<mode>2): New pattern added.
2009-01-28  Andreas Krebbel  <krebbel1@de.ibm.com>

	* config/s390/s390.md (bswap<mode>2): New pattern added.

From-SVN: r143737
2009-01-28 16:41:24 +00:00
Wolfgang Gellerich
cdc15d231a s390.md (*tls_load_31): Added type attribute.
2009-01-28  Wolfgang Gellerich  <gellerich@de.ibm.com>

	* config/s390/s390.md (*tls_load_31): Added type attribute.

From-SVN: r143736
2009-01-28 16:39:56 +00:00
Wolfgang Gellerich
d46f24b683 s390.md: Fix a few comments.
2009-01-28  Wolfgang Gellerich  <gellerich@de.ibm.com>

	* config/s390/s390.md: Fix a few comments.

From-SVN: r143735
2009-01-28 16:38:06 +00:00
Wolfgang Gellerich
729e750fba s390.md (*tmsi_reg): Fixed z10prop attribute.
2009-01-28  Wolfgang Gellerich  <gellerich@de.ibm.com>

	* config/s390/s390.md (*tmsi_reg): Fixed z10prop attribute.
	(*tm<mode>_full): Fixed z10prop attribute.
	(*tst<mode>_extimm): Fixed z10prop attribute.
	(*tst<mode>_cconly_extimm): Fixed z10prop attribute.
	(*tstqiCCT_cconly): Fixed z10prop attribute.
	(*cmpsi_ccu_zerohi_rlsi): Fixed z10prop attribute.
	(*movsi_larl): Fixed z10prop attribute.
	(*movsi_zarch): Fixed z10prop attribute.
	(*movsi_eas): Fixed z10prop attribute.
	(*movhi): Fixed z10prop attribute.
	(*movqi): Fixed z10prop attribute.
	(*movstrictqi): Fixed z10prop attribute.
	(*mov<mode>): Fixed z10prop attribute.
	(*movcc): Fixed z10prop attribute.
	(*sethighpartdi_64): Fixed z10prop attribute.
	(*zero_extendhi<mode>2_z10): Fixed z10prop attribute.
	(*negdi2_sign_cc): Fixed z10prop attribute.
	(*negdi2_sign): Fixed z10prop attribute.
	(*absdi2_sign_cc): Fixed z10prop attribute.
	(*absdi2_sign): Fixed z10prop attribute.
	(*negabsdi2_sign_cc): Fixed z10prop attribute.
	(*negabsdi2_sign): Fixed z10prop attribute.
	(*cmp_and_trap_signed_int<mode>): Fixed z10prop attribute.
	(*cmp_and_trap_unsigned_int<mode>): Fixed z10prop attribute.
	(doloop_si64): Fixed z10prop attribute.
	(doloop_si31): Fixed z10prop attribute.
	(doloop_long): Fixed z10prop attribute.
	(indirect_jump): Fixed z10prop attribute.
	(nop): Fixed z10prop attribute.
	(main_base_64): Fixed z10prop attribute.
	(reload_base_64): Fixed z10prop attribute.

From-SVN: r143734
2009-01-28 16:36:42 +00:00
Jakub Jelinek
c7789bfb8c re PR rtl-optimization/38740 (Incorrect delayed branch optimization)
PR rtl-optimization/38740
	* reorg.c (gate_handle_delay_slots): Avoid dbr scheduling
	if !optimize.
	* config/mips/mips.c (mips_reorg): Likewise.

From-SVN: r143733
2009-01-28 17:05:41 +01:00
Richard Guenther
de081cfd3b re PR tree-optimization/38926 (ice in find_or_generate_expression, at tree-ssa-pre.c:2769)
2009-01-28  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/38926
	* tree-ssa-pre.c (add_to_value): Assert we add only expressions
	with the correct value id to a value.
	(do_regular_insertion): Use the value number of edoubleprime
	for the value number of the expr.

	Revert
	2008-08-21  Richard Guenther  <rguenther@suse.de>
  
        * tree-ssa-pre.c (insert_into_preds_of_block): Before inserting
        a PHI ask VN if it is already available.
        * tree-ssa-sccvn.h (vn_phi_lookup): Declare.
        * tree-ssa-sccvn.c (vn_phi_lookup): Export.

	* gcc.c-torture/compile/pr38926.c: New testcase.

From-SVN: r143725
2009-01-28 12:14:09 +00:00