Commit Graph

116965 Commits

Author SHA1 Message Date
Paolo Carlini
0a9696f022 re PR c++/29185 (inconsistent warning: deleting array)
/cp
2012-05-23  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/29185
	* decl2.c (delete_sanity): Extend 'deleting array' warning to
	any array type.

/testsuite
2012-05-23  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/29185
	* g++.dg/warn/delete-array-1.C: New.

From-SVN: r187801
2012-05-23 14:19:27 +00:00
Richard Biener
9c09f152d9 tree-dfa.c (add_referenced_var_1): Do not add global vars.
2012-05-23  Richard Guenther  <rguenther@suse.de>

	* tree-dfa.c (add_referenced_var_1): Do not add global vars.
	* tree-ssa-live.c (mark_all_vars_used_1): Handle global vars
	via the global_unused_vars bitmap.
	(remove_unused_locals): Handle global vars in local-decls via
	a global_unused_vars bitmap instead of the used flag in the
	var annotation.  Simplify global variable handling and removal.

	* gcc.dg/torture/pr39074-2.c: Adjust.
	* gcc.dg/torture/pr39074.c: Likewise.
	* gcc.dg/torture/pta-structcopy-1.c: Likewise.
	* gcc.dg/tree-ssa/alias-19.c: Likewise.

From-SVN: r187800
2012-05-23 12:25:41 +00:00
Jan Hubicka
aa19cf8778 re PR tree-optimization/53426 (ICE:create_variable_info_for at ../../gcc-trunk/gcc/tree-ssa-structalias.c:5581)
PR middle-end/53426
	* tree-ssa-structalias.c (create_variable_info_for): Skip constructors from
	other partitions.

From-SVN: r187799
2012-05-23 09:47:10 +00:00
Jan Hubicka
66379195d6 re PR middle-end/53161 (ICE with weakref function and a function which takes vector types)
PR middle-end/53161
	* symtab.c (symtab_register_node): Fix ordering issue.

From-SVN: r187798
2012-05-23 09:23:40 +00:00
Robert Mason
b8ce6b9cc0 re PR libfortran/53445 (No sticky bit on VxWorks - fix chmod.c)
2012-05-23  Robert Mason  <rbmj@verizon.net>
            Tobias Burnus  <burnus@net-b.de>

        PR libfortran/53445
        * intrinsics/chmod.c (chmod_func): Ignore S_ISVTX on VxWorks.


Co-Authored-By: Tobias Burnus <burnus@net-b.de>

From-SVN: r187797
2012-05-23 10:52:09 +02:00
Tobias Burnus
4179e59afa re PR libfortran/53444 (Accommodate non-compliant strerror_r() on VxWorks.)
2012-05-23  Tobias Burnus  <burnus@net-b.de>

        PR libfortran/53444
        * acinclude.m4 (LIBGFOR_CHECK_STRERROR_R): Add configure checks
        * for
        two- and three-argument versions of strerror_r.
        * configure.ac (LIBGFOR_CHECK_STRERROR_R): Use it.
        * runtime/error.c (gf_strerror): Handle two-argument version
        of strerror_r.
        * config.h.in: Regenerate.
        * configure: Regenerate.

From-SVN: r187796
2012-05-23 10:34:06 +02:00
GCC Administrator
f883872b10 Daily bump.
From-SVN: r187788
2012-05-23 00:18:38 +00:00
John David Anglin
917344232c re PR other/53231 (libatomic/tas_n.c💯10: error: 'ret' undeclared (first use in this function))
PR other/53231
	* tas_n.c (libat_test_and_set): Correct return.  Remove unused variable.

From-SVN: r187783
2012-05-22 23:54:32 +00:00
Ian Lance Taylor
4579805199 runtime: Tweak runtime.Callers for Go 1 compatibility.
From-SVN: r187781
2012-05-22 21:52:56 +00:00
Doug Evans
19460426c3 * leb128.h: New file.
From-SVN: r187780
2012-05-22 17:47:49 +00:00
Ian Lance Taylor
ef1f343258 runtime: Use getcontext, not setjmp, to save regs for GC.
From-SVN: r187777
2012-05-22 16:57:23 +00:00
Steven Drake
3cd50158f5 gcc.c (do_spec_1): Add %M spec token to output multilib_os_dir.
2012-05-22  Steven Drake <sbd@NetBSD.org>

	* gcc.c (do_spec_1): Add %M spec token to output multilib_os_dir.

From-SVN: r187775
2012-05-22 16:17:55 +01:00
David Edelsohn
f8dc1d832e rs6000.c (rs6000_aix_asm_output_dwarf_table_ref): Use strip_name_encoding target hook.
* config/rs6000/rs6000.c (rs6000_aix_asm_output_dwarf_table_ref):
Use strip_name_encoding target hook.

From-SVN: r187774
2012-05-22 10:15:51 -04:00
Tom Tromey
d931f693ce demangle-expected: Add regression test.
http://sourceware.org/bugzilla/show_bug.cgi?id=14065
	* testsuite/demangle-expected: Add regression test.
	* cp-demangle.c (d_find_pack): Return NULL for
	DEMANGLE_COMPONENT_UNNAMED_TYPE.

From-SVN: r187773
2012-05-22 13:55:02 +00:00
Richard Guenther
3828719aa9 tree.h (VAR_DECL_IS_VIRTUAL_OPERAND): New.
2012-05-22  Richard Guenther  <rguenther@suse.de>

	* tree.h (VAR_DECL_IS_VIRTUAL_OPERAND): New.
	(init_function_for_compilation): Remove.
	* tree-dfa.c (find_vars_r): Take struct function argument.
	(find_referenced_vars_in): Adjust.
	* tree-ssa-operands.c (clobber_stats): Remove.
	(create_vop_var): Take struct function argument.  Mark
	virtual operand with VAR_DECL_IS_VIRTUAL_OPERAND.
	(init_ssa_operands): Take struct function argument.
	(fini_ssa_operands): Do not dump dead stats.
	* tree-ssa-operands.h (init_ssa_operands): Take struct function
	argument.
	* cgraphunit.c (init_lowered_empty_function): Adjust.
	* lto-streamer-in.c (input_cfg): Likewise.
	* tree-inline.c (initialize_cfun): Likewise.
	* tree-into-ssa.c (rewrite_into_ssa): Likewise.
	* omp-low.c (expand_omp_taskreg): Likewise.  Avoid switching
	cfun.
	* gimple.c (is_gimple_reg): Optimize the SSA_NAME case,
	virtual operands are not registers.

From-SVN: r187772
2012-05-22 11:59:41 +00:00
Richard Guenther
72d5c6c157 tree-cfg.c (verify_gimple_assign_unary): Fix typo in previous commit.
2012-05-22  Richard Guenther  <rguenther@suse.de>

	* tree-cfg.c (verify_gimple_assign_unary): Fix typo in previous
	commit.

From-SVN: r187771
2012-05-22 11:21:30 +00:00
Tobias Burnus
f391a85582 re PR fortran/53389 (-frealloc-lhs: memory leak when assigning array function result to allocatable array, where one of its supplied arguments is itself an array function result)
2012-05-22  Tobias Burnus  <burnus@net-b.de>

        PR fortran/53389
        * trans-array.c (gfc_add_loop_ss_code): Don't evaluate
        * expression, if
        ss->is_alloc_lhs is set.

2012-05-22  Tobias Burnus  <burnus@net-b.de>

        PR fortran/53389
        * gfortran.dg/realloc_on_assign_15.f90: New.

From-SVN: r187769
2012-05-22 12:10:47 +02:00
Richard Guenther
633d9236a1 re PR middle-end/51071 (ICE in gimple_has_side_effects, at gimple.c:2513)
2012-05-22  Richard Guenther  <rguenther@suse.de>

	PR middle-end/51071
	* gcc.dg/torture/pr51071-2.c: New testcase.

From-SVN: r187768
2012-05-22 09:35:32 +00:00
Richard Guenther
27eb31c9de re PR middle-end/53437 (FAIL: gcc.dg/guality/inline-params.c -O0)
2012-05-22  Richard Guenther  <rguenther@suse.de>

	PR middle-end/53437
	* tree-inline.c (setup_one_parameter): Create a dummy init
	statement for unused parameters when not optimizing.

From-SVN: r187767
2012-05-22 09:33:42 +00:00
Richard Guenther
3efa0725f4 tree-flow.h (add_referenced_var_1): Declare.
2012-05-22  Richard Guenther  <rguenther@suse.de>

	* tree-flow.h (add_referenced_var_1): Declare.
	(add_referenced_var): Define.
	* tree-dfa.c (referenced_var_check_and_insert): Avoid one hash
	lookup.
	(add_referenced_var): Rename to ...
	(add_referenced_var_1): ... this.  Take struct function argument.

From-SVN: r187766
2012-05-22 09:33:01 +00:00
Ramana Radhakrishnan
95ffee1fce re PR target/53334 (ICE in extract_insn, at recog.c:2131)
Fix PR target/53334


2012-05-22  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>

	PR target/53334
	* config/arm/arm-protos.h (arm_validize_comparison): Declare.
	* config/arm/arm.c (arm_validize_comparison): Define.
	* config/arm/arm.md ("cbranchsi4"): Cleanup expansion and use
	arm_validize_comparison.
	("cbranchdi4"): Likewise.
	("cstoredi4"): Likewise.
	("movsicc"): Likewise.
	("movsfcc"): Likewise.
	("movdfcc"): Likewise.

From-SVN: r187761
2012-05-22 09:06:55 +00:00
Dimitrios Apostolou
7c2dbbdc48 df-scan.c (df_scan_alloc): Round up allocation pools size, reduce the mw_reg_pool size.
2012-05-22  Dimitrios Apostolou  <jimis@gmx.net>

	* df-scan.c (df_scan_alloc): Round up allocation pools size, reduce
	the mw_reg_pool size.

From-SVN: r187760
2012-05-22 08:35:32 +00:00
Paolo Bonzini
819f3b2cfa re PR tree-optimization/53336 (invalid types in nop conversion)
gcc:
2012-05-16  Paolo Bonzini  <bonzini@gnu.org>

	PR tree-optimization/53336
	* tree-cfg.c (verify_gimple_assign_unary): Allow conversion from
	non-integer integral types to offset type and vice versa.

gcc/testsuite:
2012-05-16  Paolo Bonzini  <bonzini@gnu.org>

	PR tree-optimization/53336
	* g++.dg/torture/pr53336.C: New testcase.

From-SVN: r187759
2012-05-22 08:31:52 +00:00
Paolo Bonzini
7caf4b0caa fix paths in previous ChangeLog entry
From-SVN: r187758
2012-05-22 08:29:10 +00:00
Dodji Seketeli
650dc14a73 PR c++/53322 - -Wunused-local-typedefs is not enabled by Wall or Wunused
As the audit trail of this shows, -Wunused-local-typedefs is not
turned on by -Wunused after all.  Sigh.

Now that we have the EnabledBy construct for the *.opt files, it's
more precise and concise to use that to make -Wunused-local-typedefs
be triggered by -Wunused.

I have changed the gcc+.dg/warn/Wunused-local-typedefs.C test case to
make it use -Wunused instead of -Wunused-local-typedefs.  I had to
adjust it to avoid the warnings due to the other -W* options triggered
by -Wunused there.

While testing the compiler, it turned out that some local typedefs
were not being used when the experimental "Concepts" support is turned
off, in the libstdc++ test suite.  I also had to remove some obvious
useless local typedef usage in the fortran front-end.  Fixed thus.

Bootstrapped and tested on x86_64-unknown-linux-gnu against trunk.

gcc/c-family/

	PR c++/53322
	* c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused).

libstdc++-v3/

	PR c++/53322
	* include/bits/stl_algobase.h (lower_bound)
	(lexicographical_compare): Do not declare unused local typedefs
	here when Concepts are turned off.

gcc/fortran/

	PR c++/53322
	* f95-lang.c (gfc_init_builtin_functions): Remove the unused
	typedef builtin_type.

gcc/testsuite/

	PR c++/53322
	* g++.dg/warn/Wunused-local-typedefs.C: Adjust to use -Wunused
	instead of -Wunused-local-typedefs.

From-SVN: r187757
2012-05-22 05:50:26 +02:00
GCC Administrator
00d7b6e2c4 Daily bump.
From-SVN: r187755
2012-05-22 00:18:48 +00:00
Paolo Carlini
d847ec803d 9780-2.cc: Avoid -Wall warnings.
2012-05-21  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/22_locale/num_put/put/char/9780-2.cc: Avoid -Wall warnings.
	* testsuite/29_atomics/atomic/cons/49445.cc: Likewise.
	* testsuite/29_atomics/atomic/operators/pointer_partial_void.cc:
	* Likewise.
	* testsuite/23_containers/unordered_map/observers.cc: Likewise.
	* testsuite/23_containers/unordered_map/erase/1.cc: Likewise.
	* testsuite/23_containers/unordered_multimap/erase/1.cc: Likewise.
	* testsuite/23_containers/unordered_multimap/erase/2.cc: Likewise.
	* testsuite/23_containers/unordered_multimap/insert/53115.cc: Likewise.
	* testsuite/23_containers/unordered_multimap/observers.cc: Likewise.
	* testsuite/23_containers/vector/debug/alloc_prop.cc: Likewise.
	* testsuite/23_containers/unordered_set/observers.cc: Likewise.
	* testsuite/23_containers/unordered_set/erase/1.cc: Likewise.
	* testsuite/23_containers/unordered_multiset/erase/1.cc: Likewise.
	* testsuite/23_containers/unordered_multiset/erase/2.cc: Likewise.
	* testsuite/23_containers/unordered_multiset/insert/53115.cc: Likewise.
	* testsuite/23_containers/unordered_multiset/insert/multiset_range.cc:
	* Likewise.
	* testsuite/23_containers/unordered_multiset/observers.cc: Likewise.

From-SVN: r187751
2012-05-21 23:40:55 +00:00
Alan Modra
c5e0766b42 aix.h (FP_SAVE_INLINE, [...]): Delete.
* aix.h (FP_SAVE_INLINE, GP_SAVE_INLINE): Delete.
	* darwin.h (FP_SAVE_INLINE, GP_SAVE_INLINE): Delete.
	* sysv4.h (FP_SAVE_INLINE, GP_SAVE_INLINE, V_SAVE_INLINE): Delete.
	* config/rs6000/rs6000.c (V_SAVE_INLINE): Delete.
	(rs6000_savres_strategy): Reimplement GP/FP/V_SAVE_INLINE logic.
	For ELF targets, use out-of-line restores for -Os and any number
	of regs if the restore exits, and out-of-line gp save for two or
	more regs.  Use save_reg_p to test for holes in reg restore set.
	Replace "#if" with "if".

From-SVN: r187750
2012-05-22 08:25:09 +09:30
Alan Modra
bbd72c2fe7 rs6000.c (save_reg_p): New function.
* config/rs6000/rs6000.c (save_reg_p): New function.
	(first_reg_to_save, first_fp_reg_to_save): Use it here.
	(first_altivec_reg_to_save, restore_saved_cr): Likewise.
	(emit_frame_save): Use gen_frame_store.
	(gen_frame_mem_offset): Correct SPE condition requiring reg+reg.
	(rs6000_emit_prologue): Use save_reg_p.  Use gen_frame_store for
	vrsave and toc.
	(rs6000_emit_epilogue): Use save_reg_p.  Use gen_frame_load for
	vrsave, toc, gp and fp restores.

From-SVN: r187749
2012-05-22 08:21:38 +09:30
Alan Modra
e1968bbaad rs6000.c: Delete unnecessary forward declarations.
* config/rs6000/rs6000.c: Delete unnecessary forward declarations.
	Move those with ATTRIBUTE_UNUSED to immediately before definitions.
	Move function pointer variables after forward declarations.
	(rs6000_builtin_support_vector_misalignment): Make static.
	(rs6000_legitimate_address_p, rs6000_gimplify_va_arg): Likewise.
	(rs6000_function_value, rs6000_can_eliminate): Likewise.

From-SVN: r187748
2012-05-22 08:19:51 +09:30
Patrick Marlier
f2f9a0977a eh_cpp.cc: Fix __cxa_end_catch declaration.
2012-05-21  Patrick Marlier  <patrick.marlier@gmail.com>

	* eh_cpp.cc: Fix __cxa_end_catch declaration.

From-SVN: r187747
2012-05-21 22:48:00 +00:00
Paolo Carlini
041f207220 re PR c++/53361 (Could not convert ‘{0, 0, 0}’ from ‘<brace-enclosed initializer list>’ to ‘std::array<unsigned int, 3ul>’)
2012-05-21  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/53361
	* testsuite/23_containers/array/cons/53361.cc: New.

From-SVN: r187746
2012-05-21 22:17:54 +00:00
Bernd Schmidt
1d2944a3fe re PR rtl-optimization/53373 (ICE on valid code with -mavx)
PR rtl-optimization/53373
	* caller-save.c (save_call_clobbered_regs): Look into a possible
	PARALLEL manually rather than using single_set on a call insn.

From-SVN: r187745
2012-05-21 21:37:01 +00:00
Jakub Jelinek
a9a587118e re PR tree-optimization/53436 (Volatile behaves strange with OpenMP)
PR tree-optimization/53436
	* omp-low.c (omp_build_component_ref): New function.
	(build_receiver_ref, build_sender_ref, create_task_copyfn): Use it.

From-SVN: r187741
2012-05-21 23:05:33 +02:00
Uros Bizjak
f1ea1f5c04 i386.c (put_condition_code): Change "reverse" and "fp" arguments to bool.
* config/i386/i386.c (put_condition_code): Change "reverse" and "fp"
	arguments to bool.
	(ix86_print_operand) <case 'O'>: Look at mode size of the operand.
	Do not print '.' here.  Output operand lossage error for unhandled
	sizes.  Move.
	<case '*'>: Move.
	<case '&'>: Ditto.
	<case 'Y'>: Ditto.
	<case 'z'>: Hardcode "code" argument into error strings.
	<case 'Z'>: Ditto.
	<case 'D'>: Merge AVX and non-AVX codes.
	<case 'C', case 'c', case 'F', case 'f'>: Merge.  Fix error string.
	Update call to put_condition_code.

From-SVN: r187734
2012-05-21 21:32:55 +02:00
Andrew Pinski
07ba94b91a re PR bootstrap/53183 (libgcc does not always figure out the size of double/long double)
2012-05-21  Andrew Pinski  <apinski@cavium.com>

        PR bootstrap/53183
        * configure.ac: Define the default includes to being none.
        * configure: Regenerate.

From-SVN: r187732
2012-05-21 11:56:35 -07:00
Andreas Schwab
577e03958f m68k.md (*clzsi2_cf): Renamed from clzsi2.
* config/m68k/m68k.md (*clzsi2_cf): Renamed from clzsi2.  Call
CC_STATUS_INIT.
(clzsi2): New expander.
(*clzsi2_68k): New insn.
* config/m68k/m68k.h: Update comment about
CLZ_DEFINED_VALUE_AT_ZERO.

From-SVN: r187731
2012-05-21 18:43:27 +00:00
Aldy Hernandez
83e1a7f080 gimple.h (gimple_set_in_transaction): Remove.
* gimple.h (gimple_set_in_transaction): Remove.
        (gimple_in_transaction): Look in BB instead.
        (gimple_statement_base): Remove in_transaction field.
        * basic-block.h (enum bb_flags): Add BB_IN_TRANSACTION.
        * trans-mem.c (compute_transaction_bits): Place transaction bit
        information into basic blocks.

From-SVN: r187729
2012-05-21 18:02:17 +00:00
Benjamin Kosnik
0ac65d04f4 re PR bootstrap/52700 (lib* configure fails on --enable-symvers=gnu-versioned-namespace.)
2012-05-21  Benjamin Kosnik  <bkoz@redhat.com>

        PR libstdc++/52700
        * configure.ac: Allow gnu, gnu-versioned-namespace for
        --enable-symvers arguments.
        * configure: Regenerate.

From-SVN: r187728
2012-05-21 17:34:25 +00:00
Andreas Schwab
18c5643980 expr.c (get_def_for_expr_class): Define only if HAVE_conditional_move.
* expr.c (get_def_for_expr_class): Define only if
HAVE_conditional_move.
(convert_tree_comp_to_rtx): Likewise.

From-SVN: r187727
2012-05-21 17:21:44 +00:00
John David Anglin
bbe9ae5180 re PR java/52815 (class.c:2815:53: error: 'JCR_SECTION_NAME' was not declared in this scope)
PR java/52815
	* class.c (emit_register_classes_in_jcr_section): Revise placement
	of #ifdef JCR_SECTION_NAME.

From-SVN: r187724
2012-05-21 16:27:40 +00:00
Joseph Myers
ce863f5d61 Fix PR number in ChangeLogs.
From-SVN: r187723
2012-05-21 17:01:01 +01:00
Uros Bizjak
89ac11d833 re PR target/53399 ("*ffs" pattern generates wrong code with BMI enabled)
PR target/53399
	* config/i386/i386.md (ffs<mode>2): Generate CCCmode compare
	for TARGET_BMI.
	(ffssi2_no_cmove): Ditto.
	(*ffs<mode>_1): Remove insn pattern.
	(*tzcnt<mode>_1): New insn pattern.
	(*bsf<mode>1): Ditto.

From-SVN: r187722
2012-05-21 17:46:25 +02:00
Paolo Carlini
94ccc95d41 re PR c++/51184 (Abstract class in function return type)
/cp
2012-05-21  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/51184
	* decl.c (grokdeclarator): Diagnose functions returning abstract
	class types as TYPENAME.
	* cp-tree.h (ABSTRACT_CLASS_TYPE_P): Add.
	* except.c (is_admissible_throw_operand_or_catch_parameter): Use it.
	* pt.c (tsubst): Likewise.
	* semantics.c (trait_expr_value): Likewise.

/testsuite
2012-05-21  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/51184
	* g++.dg/other/abstract4.C: New-

/cp
2012-05-21  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/40821
	* parser.c (cp_parser_attributes_opt): Enforce error checking of
	unbalanced parentheses in the presence of tentative parsing.

/testsuite
2012-05-21  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/40821
	* g++.dg/ext/attrib46.C: New.

From-SVN: r187720
2012-05-21 15:12:13 +00:00
Richard Guenther
cb0c9fc305 tree-dfa.c (add_referenced_var): Do not walk DECL_INITIAL for more referenced vars.
2012-05-21  Richard Guenther  <rguenther@suse.de>

	* tree-dfa.c (add_referenced_var): Do not walk DECL_INITIAL for
	more referenced vars.
	* tree-ssa-live.c (mark_all_vars_used_1): Only set the used
	flag on variables that have a var-annotation.

From-SVN: r187719
2012-05-21 14:53:21 +00:00
Joseph Myers
01c7ccbb81 re PR c/53418 (ICE at gimplify.c:7773)
PR c/53148
	* c-typeck.c (build_conditional_expr): Remove C_MAYBE_CONST_EXPR
	from folded operands before wrapping another around the
	conditional expression.

testsuite:
	* gcc.c-torture/compile/pr53418-1.c,
	gcc.c-torture/compile/pr53418-2.c: New tests.

From-SVN: r187718
2012-05-21 15:42:26 +01:00
Jakub Jelinek
7772bae06c re PR tree-optimization/53366 (wrong code generation by tree vectorizer using AVX)
PR tree-optimization/53366
	* tree-vect-slp.c (vect_supported_load_permutation_p): Don't shortcut
	tests if complex_numbers == 2, but there are non-complex number loads
	too.

	* gcc.dg/torture/pr53366-1.c: New test.
	* gcc.dg/torture/pr53366-2.c: New test.
	* gcc.target/i386/pr53366-1.c: New test.
	* gcc.target/i386/pr53366-2.c: New test.

From-SVN: r187717
2012-05-21 16:29:11 +02:00
Jakub Jelinek
017a202055 re PR middle-end/53409 (ICE: vector VEC(vec_void_p,base) index domain error, in vinfo_for_stmt at tree-vectorizer.h:630)
PR tree-optimization/53409
	* tree-vect-loop.c (vect_analyze_loop_operations): Don't check
	vinfo_for_stmt (op_def_stmt) if op_def_stmt isn't inside loop.

	* gcc.c-torture/compile/pr53409.c: New test.

From-SVN: r187716
2012-05-21 16:27:10 +02:00
Jakub Jelinek
27edb974ee re PR tree-optimization/53410 (ICE in build_int_cst_wide, at tree.c:1219)
PR tree-optimization/53410
	* fold-const.c (fold_binary_loc): Use build_zero_cst (type)
	instead of build_int_cst (type, 0) where vector types might be
	involved. Instead of build_int_cst (type, 1) convert the original
	integer_onep argument to the desired type.

	* gcc.c-torture/compile/pr53410-1.c: New test.
	* gcc.c-torture/compile/pr53410-2.c: New test.

From-SVN: r187715
2012-05-21 16:25:03 +02:00
Michael Matz
fb639843e4 genattrtab.c (attr_rtx_cost): Move earlier, start with cost being 1.
* genattrtab.c (attr_rtx_cost): Move earlier, start with cost being 1.
	(simplify_test_exp): Handle one more case of distributive law,
	decrease cost threshold.
	(tests_attr_p, get_attr_order): New functions.
	(optimize_attrs): Use topological order, inline only cheap values.
	(write_attr_set): Reset our_known_true after some time.

From-SVN: r187714
2012-05-21 13:24:31 +00:00