summaryrefslogtreecommitdiffstats
path: root/gcc/testsuite/g++.dg/tree-ssa
Commit message (Collapse)AuthorAgeFilesLines
...
* PR testsuite/35047uros2008-02-011-1/+1
| | | | | | | | | | | * gcc.c-torture/execute/20050316-2.x: New file. * gcc.target/i386/pr17390.c: Update scan pattern. * gcc.dg/builtin-apply4.c: Add -mno-mmx for 32bit x86 targets. * g++.dg/tree-ssa/ivopts-1.C: Remove XPASS for x86 targets. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@131997 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/testsuite/rsandifo2008-01-261-1/+1
| | | | | | | * g++.dg/tree-ssa/ivopts-1.C: XFAIL for MIPS too. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@131861 138bc75d-0d04-0410-961f-82ee72b054a4
* * g++.dg/tree-ssa/pr34355.C: Correct order of dg-do andhp2008-01-181-1/+1
| | | | | | | dg-require-effective-target. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@131627 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-01-17 Sebastian Pop <sebastian.pop@amd.com>spop2008-01-171-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | PR testsuite/34821 * gcc.dg/autopar/autopar.exp: New. * g++.dg/tree-ssa/pr34355.C: Require pthread. * lib/target-supports.exp (check_effective_target_pthread): New. * gcc.dg/tree-ssa/parallelization-1.c: Moved to gcc.dg/autopar. * gcc.dg/tree-ssa/reduc-1short.c: Same. * gcc.dg/tree-ssa/reduc-1.c: Same. * gcc.dg/tree-ssa/reduc-2short.c: Same. * gcc.dg/tree-ssa/reduc-2.c: Same * gcc.dg/tree-ssa/reduc-3.c: Same. * gcc.dg/tree-ssa/reduc-1char.c: Same. * gcc.dg/tree-ssa/reduc-6.c: Same. * gcc.dg/tree-ssa/reduc-7.c: Same. * gcc.dg/tree-ssa/reduc-2char.c: Same. * gcc.dg/tree-ssa/reduc-8.c: Same. * gcc.dg/tree-ssa/reduc-9.c: Same. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@131605 138bc75d-0d04-0410-961f-82ee72b054a4
* PR tree-optimization/34355rakdver2007-12-191-0/+26
| | | | | | | | | | | | | * tree-parloops.c (take_address_of): Handle expresions instead of just variables. (eliminate_local_variables_1): Force whole invariant address to ssa name. * g++.dg/tree-ssa/pr34355.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@131063 138bc75d-0d04-0410-961f-82ee72b054a4
* PR tree-optimization/34063jakub2007-11-131-0/+25
| | | | | | | | | | * tree-chrec.c (chrec_evaluate): Put CHREC_LEFT based argument as first chrec_fold_plus operand rather than second. * g++.dg/tree-ssa/pr34063.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130151 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-11-09 Richard Guenther <rguenther@suse.de>rguenth2007-11-091-0/+46
| | | | | | | | | | | | | | | PR tree-optimization/33604 * tree-ssa-forwprop.c (tree_ssa_forward_propagate_single_use_vars): Disregard changes in CV qualifiers of pointed to types for forward propagating ADDR_EXPRs. * tree-ssa-ccp.c (fold_stmt_r): Preserve volatileness of the original expression. * g++.dg/tree-ssa/pr33604.C: New testcase. * gcc.dg/pr32721.c: Adjust pattern. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130040 138bc75d-0d04-0410-961f-82ee72b054a4
* * g++.dg/tree-ssa/ivopts-1.C: Also search for "offset: 4294967292".uros2007-10-271-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@129676 138bc75d-0d04-0410-961f-82ee72b054a4
* * g++.dg/tree-ssa/ivopts-1.C: Remove xfail on the search foruros2007-10-261-2/+2
| | | | | | | | | "&x\\\[5\\\]" pattern. Search for "offset: 0x0f+fc" insetad of "offset: -4B". git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@129646 138bc75d-0d04-0410-961f-82ee72b054a4
* * g++.dg/tree-ssa/copyprop-1.C: Remove xfail.daney2007-10-261-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@129639 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/rsandifo2007-10-091-0/+20
| | | | | | | | | | | | | PR tree-optimization/33615 * tree-ssa-pre.c (compute_avail): Don't call make_values_for_stmt if the statement might throw. Fix formatting. gcc/testsuite/ PR tree-optimization/33615 * g++.dg/tree-ssa/pr33615-2.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@129164 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/rsandifo2007-10-091-0/+20
| | | | | | | | | | | | | PR tree-optimization/33615 * tree-ssa-loop-im.c (movement_possibility): Return MOVE_IMPOSSIBLE if the rhs might throw. gcc/testsuite/ PR tree-optimization/33615 * g++.dg/tree-ssa/pr33615.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@129163 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-10-05 Richard Guenther <rguenther@suse.de>rguenth2007-10-051-0/+19
| | | | | | | | | * tree-cfg.c (verify_gimple_expr): Accept OBJ_TYPE_REF. * g++.dg/tree-ssa/obj-type-ref.C: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@129033 138bc75d-0d04-0410-961f-82ee72b054a4
* PR 33593dnovillo2007-09-301-0/+19
| | | | | | | | | | | | | | | * tree-ssa-ter.c (is_replaceable_p): Return false if STMT may throw an exception. testsuite/ChangeLog PR 33593 * g++.dg/tree-ssa/pr33593.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128893 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-09-07 Richard Guenther <rguenther@suse.de>rguenth2007-09-071-1/+1
| | | | | | | | | | | | | | | | | | | PR tree-optimization/32586 * tree-ssa-sccvn.c (simplify_binary_expression): Avoid folding if nothing changed. (simplify_unary_expression): New function. Do tree combining on conversion like codes. (try_to_simplify): Call it. * g++.dg/tree-ssa/pr27090.C: Remove XFAILs. * gcc.dg/tree-ssa/ssa-fre-1.c: Likewise. * gcc.dg/tree-ssa/ssa-fre-3.c: Likewise. * gcc.dg/tree-ssa/ssa-fre-5.c: Likewise. * gcc.dg/tree-ssa/ssa-fre-4.c: Likewise, remove scan for now obsolete simplification. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128251 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-09-07 Richard Guenther <rguenther@suse.de>rguenth2007-09-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | Revert 2007-09-06 Richard Guenther <rguenther@suse.de> PR tree-optimization/32586 * tree-ssa-sccvn.c (simplify_binary_expression): Avoid folding if nothing changed. (simplify_unary_expression): New function. Do tree combining on conversion like codes. (try_to_simplify): Call it. * g++.dg/tree-ssa/pr27090.C: Remove XFAILs. * gcc.dg/tree-ssa/ssa-fre-1.c: Likewise. * gcc.dg/tree-ssa/ssa-fre-3.c: Likewise. * gcc.dg/tree-ssa/ssa-fre-5.c: Likewise. * gcc.dg/tree-ssa/ssa-fre-4.c: Likewise, remove scan for now obsolete simplification. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128236 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-09-06 Richard Guenther <rguenther@suse.de>rguenth2007-09-061-1/+1
| | | | | | | | | | | | | | | | | | | | | PR tree-optimization/32586 * tree-ssa-sccvn.c (simplify_binary_expression): Avoid folding if nothing changed. (simplify_unary_expression): New function. Do tree combining on conversion like codes. (try_to_simplify): Call it. * builtins.c (fold_builtin_cexp): Fold the built expressions. * fold-const.c (fold_unary): Test result of get_callee_fndecl(). * g++.dg/tree-ssa/pr27090.C: Remove XFAILs. * gcc.dg/tree-ssa/ssa-fre-1.c: Likewise. * gcc.dg/tree-ssa/ssa-fre-3.c: Likewise. * gcc.dg/tree-ssa/ssa-fre-5.c: Likewise. * gcc.dg/tree-ssa/ssa-fre-4.c: Likewise, remove scan for now obsolete simplification. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128189 138bc75d-0d04-0410-961f-82ee72b054a4
* * g++.dg/torture/pr33134.C: Moved from g++.dg/tree-ssa.ian2007-08-221-21/+0
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127686 138bc75d-0d04-0410-961f-82ee72b054a4
* ./:ian2007-08-211-0/+21
| | | | | | | | | | | | PR tree-optimization/33134 * tree-vrp.c (adjust_range_with_scev): Call set_value_range_to_value. testsuite/: PR tree-optimization/33134 * g++.dg/tree-ssa/pr33134.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127679 138bc75d-0d04-0410-961f-82ee72b054a4
* Add missing test from last commitdberlin2007-07-021-1/+1
| | | | | | | Fixup two existing C++ tests for SCCVN changes git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@126187 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-05-31 Richard Guenther <rguenther@suse.de>rguenth2007-05-311-17/+0
| | | | | | | | | | * g++.dg/other/str_empty.C: Move... * g++.dg/other/pr30567.C: Move... * g++.dg/tree-ssa/pr27218.C: Move... * g++.dg/torture: ...here and remove dg-options. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@125220 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-05-13 Richard Guenther <rguenther@suse.de>rguenth2007-05-131-3/+4
| | | | | | | | | * gcc.dg/tree-ssa/pr17141-1.c: Scan in forwprop2, xfail scanning forwprop1. * g++.dg/tree-ssa/pr31146.C: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@124653 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-05-02 Richard Guenther <rguenther@suse.de>rguenth2007-05-021-0/+24
| | | | | | | | | | | | | | PR tree-optimization/31146 * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): New argument, single_use_p. If we have a single use that is a conversion to the definition rhs type, propagate that rhs. (forward_propagate_addr_expr): Pass single_use_p argument to forward_propagate_addr_expr_1. * g++.dg/tree-ssa/pr31146-2.C: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@124349 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-04-18 Richard Guenther <rguenther@suse.de>rguenth2007-04-182-0/+37
| | | | | | | | | | | | | | | | | | | | | | | | PR tree-optimization/19431 PR tree-optimization/21463 * tree-pass.h (pass_phiprop): Declare. * passes.c (init_optimization_passes): New phiprop pass. * tree-ssa-forwprop.c (struct phiprop_d): New structure. (phivn_valid_p): New helper function. (phiprop_insert_phi): Likewise. (propagate_with_phi): Likewise. (tree_ssa_phiprop): New propagator propagating loads through phi nodes if profitable. * gcc.c-torture/execute/20070212-1.c: New testcase. * gcc.c-torture/execute/20070212-2.c: Likewise. * gcc.c-torture/execute/20070212-3.c: Likewise. * gcc.dg/tree-ssa/pr19431.c: Likewise. * gcc.dg/tree-ssa/pr21463.c: Likewise. * g++.dg/tree-ssa/pr21463.C: Likewise. * g++.dg/tree-ssa/pr30738.C: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123946 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-04-12 Richard Guenther <rguenther@suse.de>rguenth2007-04-121-0/+40
| | | | | | | | | | | | | | | | | | PR tree-optimization/24689 PR tree-optimization/31307 * fold-const.c (operand_equal_p): Compare INTEGER_CST array indices by value. * gimplify.c (canonicalize_addr_expr): To be consistent with gimplify_compound_lval only set operands two and three of ARRAY_REFs if they are not gimple_min_invariant. This makes it never at this place. * tree-ssa-ccp.c (maybe_fold_offset_to_array_ref): Likewise. * g++.dg/tree-ssa/pr31307.C: New testcase. * gcc.dg/tree-ssa/pr24689.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123736 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-04-03 Eric Christopher <echristo@apple.com>echristo2007-04-031-1/+1
| | | | | | | | * g++.dg/tree-ssa/pr29902.C: Require ilp32. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123482 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/paolo2007-03-301-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2007-03-30 Paolo Carlini <pcarlini@suse.de> PR c++/26099 * c-common.h (enum rid): Add RID_HAS_NOTHROW_ASSIGN, RID_HAS_NOTHROW_CONSTRUCTOR, RID_HAS_NOTHROW_COPY, RID_HAS_TRIVIAL_ASSIGN, RID_HAS_TRIVIAL_CONSTRUCTOR, RID_HAS_TRIVIAL_COPY, RID_HAS_TRIVIAL_DESTRUCTOR, RID_HAS_VIRTUAL_DESTRUCTOR, RID_IS_ABSTRACT, RID_IS_BASE_OF, RID_IS_CONVERTIBLE_TO, RID_IS_CLASS, RID_IS_EMPTY, RID_IS_ENUM, RID_IS_POD, RID_IS_POLYMORPHIC, RID_IS_UNION, as C++ extensions. * doc/extend.texi (Extensions to the C++ Language): Add Type Traits. gcc/cp/ 2007-03-30 Paolo Carlini <pcarlini@suse.de> PR c++/26099 * cp-tree.h (enum cp_trait_kind, struct tree_trait_expr, TRAIT_EXPR_TYPE1, TRAIT_EXPR_TYPE2, TRAIT_EXPR_KIND): Add. (enum cp_tree_node_structure_enum, union lang_tree_node): Update. (CLASS_TYPE_NON_UNION_P): Add. (struct lang_type_class): Add has_complex_dflt. (TYPE_HAS_COMPLEX_DFLT, TYPE_HAS_TRIVIAL_DFLT): Add. (locate_copy, locate_ctor, locate_dtor, finish_trait_expr): Declare. * cp-tree.def: Add TRAIT_EXPR. * cp-objcp-common.c (cp_tree_size): Add TRAIT_EXPR case. * lex.c (struct resword): Add __has_nothrow_assign, __has_nothrow_constructor, __has_nothrow_copy, __has_trivial_assign, __has_trivial_constructor, __has_trivial_copy, __has_trivial_destructor, __has_virtual_destructor, __is_abstract, __is_base_of, __is_class, __is_convertible_to, __is_empty, __is_enum, __is_pod, __is_polymorphic, __is_union. * parser.c (cp_parser_primary_expression): Deal with the new RIDs. (cp_parser_trait_expr): New. * semantics.c (finish_trait_expr, trait_expr_value classtype_has_nothrow_copy_or_assign_p): New. * method.c (locate_copy, locate_ctor, locate_dtor): Do not define as static. * decl.c (cp_tree_node_structure): Add TRAIT_EXPR. * class.c (check_bases, check_field_decl, check_bases_and_members): Deal with TYPE_HAS_COMPLEX_DFLT (t) too. * pt.c (uses_template_parms, tsubst_copy_and_build, value_dependent_expression_p, type_dependent_expression_p): Deal with TRAIT_EXPR. * tree.c (cp_walk_subtrees): Deal with TRAIT_EXPR. gcc/testsuite/ 2007-03-30 Paolo Carlini <pcarlini@suse.de> PR c++/26099 * g++.dg/ext/is_base_of.C: New. * g++.dg/ext/has_virtual_destructor.C: New. * g++.dg/ext/is_polymorphic.C: New. * g++.dg/ext/is_base_of_diagnostic.C: New. * g++.dg/ext/is_enum.C: New. * g++.dg/ext/has_nothrow_assign.C: New. * g++.dg/ext/has_nothrow_constructor.C: New. * g++.dg/ext/is_empty.C: New. * g++.dg/ext/has_trivial_copy.C: New. * g++.dg/ext/has_trivial_assign.C: New. * g++.dg/ext/is_abstract.C: New. * g++.dg/ext/is_pod.C: New. * g++.dg/ext/has_nothrow_copy.C: New. * g++.dg/ext/is_class.C: New. * g++.dg/ext/has_trivial_constructor.C: New. * g++.dg/ext/is_union.C: New. * g++.dg/ext/has_trivial_destructor.C: New. * g++.dg/tree-ssa/pr22444.C: Adjust, avoid __is_pod. * g++.dg/template/crash43.C: Likewise. libstdc++-v3/ 2007-03-30 Paolo Carlini <pcarlini@suse.de> PR c++/26099 * include/bits/cpp_type_traits.h (struct __is_pod, struct __is_empty): Remove. * include/bits/valarray_array.h: Adjust. * include/bits/allocator.h: Likewise. * include/bits/stl_tree.h: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123366 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-03-22 Dirk Mueller <dmueller@suse.de>mueller2007-03-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * g++.old-deja/g++.brendan/warnings2.C: Don't use -pedantic. * g++.dg/other/static1.C: Remove stray semicolon. * g++.dg/other/init1.C: Likewise. * g++.dg/rtti/dyncast1.C: Likewise. * g++.dg/tree-ssa/pr17153.C: Likewise. * g++.dg/lookup/disamb1.C: Likewise. * g++.dg/lookup/scoped2.C: Likewise. * g++.dg/lookup/friend7.C: Likewise. * g++.dg/parse/parse4.C: Likewise. * g++.dg/parse/parse5.C: Likewise. * g++.dg/expr/pr29066.C: Likewise. * g++.dg/expr/cast4.C: Likewise. * g++.dg/tc1/dr193.C: Likewise. * g++.dg/tc1/dr213.C: Likewise. * g++.dg/abi/dcast1.C: Likewise. * g++.dg/abi/covariant2.C: Likewise. * g++.dg/inherit/covariant11.C: Likewise. * g++.dg/inherit/covariant9.C: Likewise. * g++.dg/inherit/covariant10.C: Likewise. * g++.dg/init/static3.C: Likewise. * g++.dg/init/init-ref3.C: Likewise. * g++.dg/init/ref10.C: Likewise. * g++.dg/template/meminit2.C: Likewise. * g++.dg/template/using9.C: Likewise. * g++.dg/template/friend9.C: Likewise. * g++.dg/template/ref1.C: Likewise. * g++.old-deja/g++.warn/inline.C: Likewise. * g++.old-deja/g++.robertl/eb91.C: Likewise. * g++.old-deja/g++.robertl/eb46.C: Likewise. * g++.old-deja/g++.robertl/eb34.C: Likewise. * g++.old-deja/g++.robertl/eb43.C: Likewise. * g++.old-deja/g++.robertl/eb26.C: Likewise. * g++.old-deja/g++.robertl/eb116.C: Likewise. * g++.old-deja/g++.brendan/copy5.C: Likewise. * g++.old-deja/g++.brendan/overload8.C: Likewise. * g++.old-deja/g++.brendan/overload11.C: Likewise. * g++.old-deja/g++.brendan/copy7.C: Likewise. * g++.old-deja/g++.brendan/crash38.C: Likewise. * g++.old-deja/g++.brendan/template11.C: Likewise. * g++.old-deja/g++.brendan/err-msg3.C: Likewise. * g++.old-deja/g++.brendan/crash50.C: Likewise. * g++.old-deja/g++.brendan/crash16.C: Likewise. * g++.old-deja/g++.jason/pmem2.C: Likewise. * g++.old-deja/g++.jason/parse9.C: Likewise. * g++.old-deja/g++.jason/byval2.C: Likewise. * g++.old-deja/g++.jason/overload8.C: Likewise. * g++.old-deja/g++.jason/pmf8.C: Likewise. * g++.old-deja/g++.jason/template33.C: Likewise. * g++.old-deja/g++.jason/return3.C: Likewise. * g++.old-deja/g++.jason/scoping2.C: Likewise. * g++.old-deja/g++.jason/virtual.C: Likewise. * g++.old-deja/g++.jason/opeq3.C: Likewise. * g++.old-deja/g++.jason/template27.C: Likewise. * g++.old-deja/g++.jason/synth6.C: Likewise. * g++.old-deja/g++.jason/ref8.C: Likewise. * g++.old-deja/g++.jason/offset1.C: Likewise. * g++.old-deja/g++.other/static20.C: Likewise. * g++.old-deja/g++.other/array1.C: Likewise. * g++.old-deja/g++.other/new3.C: Likewise. * g++.old-deja/g++.other/array2.C: Likewise. * g++.old-deja/g++.other/overload9.C: Likewise. * g++.old-deja/g++.other/cast6.C: Likewise. * g++.old-deja/g++.other/ptrmem8.C: Likewise. * g++.old-deja/g++.other/eh4.C: Likewise. * g++.old-deja/g++.other/using7.C: Likewise. * g++.old-deja/g++.other/init18.C: Likewise. * g++.old-deja/g++.other/dyncast1.C: Likewise. * g++.old-deja/g++.other/dyncast2.C: Likewise. * g++.old-deja/g++.other/dtor11.C: Likewise. * g++.old-deja/g++.pt/static11.C: Likewise. * g++.old-deja/g++.pt/crash19.C: Likewise. * g++.old-deja/g++.pt/overload12.C: Likewise. * g++.old-deja/g++.pt/crash46.C: Likewise. * g++.old-deja/g++.pt/mi1.C: Likewise. * g++.old-deja/g++.pt/vaarg3.C: Likewise. * g++.old-deja/g++.pt/nontype5.C: Likewise. * g++.old-deja/g++.pt/local5.C: Likewise. * g++.old-deja/g++.pt/typename2.C: Likewise. * g++.old-deja/g++.pt/explicit80.C: Likewise. * g++.old-deja/g++.pt/auto_ptr.C: Likewise. * g++.old-deja/g++.law/visibility1.C: Likewise. * g++.old-deja/g++.law/visibility2.C: Likewise. * g++.old-deja/g++.law/virtual2.C: Likewise. * g++.old-deja/g++.law/operators19.C: Likewise. * g++.old-deja/g++.law/parsing10.C: Likewise. * g++.old-deja/g++.law/visibility4.C: Likewise. * g++.old-deja/g++.law/operators4.C: Likewise. * g++.old-deja/g++.law/dtors2.C: Likewise. * g++.old-deja/g++.law/missed-error3.C: Likewise. * g++.old-deja/g++.law/visibility10.C: Likewise. * g++.old-deja/g++.law/scope3.C: Likewise. * g++.old-deja/g++.law/casts2.C: Likewise. * g++.old-deja/g++.law/code-gen5.C: Likewise. * g++.old-deja/g++.law/operators33.C: Likewise. * g++.old-deja/g++.law/friend4.C: Likewise. * g++.old-deja/g++.mike/pmf7.C: Likewise. * g++.old-deja/g++.mike/p5611.C: Likewise. * g++.old-deja/g++.mike/net37.C: Likewise. * g++.old-deja/g++.mike/p3570.C: Likewise. * g++.old-deja/g++.mike/p5718.C: Likewise. * g++.old-deja/g++.mike/net21.C: Likewise. * g++.old-deja/g++.mike/p1862.C: Likewise. * g++.old-deja/g++.mike/p4511.C: Likewise. * g++.old-deja/g++.mike/virt3.C: Likewise. * g++.old-deja/g++.mike/p16146.C: Likewise. * g++.old-deja/g++.mike/p1989.C: Likewise. * g++.old-deja/g++.mike/p5571.C: Likewise. * g++.old-deja/g++.gb/scope10.C: Likewise. * g++.old-deja/g++.abi/primary5.C: Likewise. * g++.old-deja/g++.abi/empty2.C: Likewise. * g++.old-deja/g++.abi/arraynew.C: Likewise. * g++.old-deja/g++.eh/vbase4.C: Likewise. * g++.old-deja/g++.eh/ptr1.C: Likewise. * g++.old-deja/g++.eh/cleanup1.C: Likewise. * g++.old-deja/g++.bob/template3.C: Likewise. * g++.old-deja/g++.bob/inherit1.C: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123132 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-03-16 Richard Guenther <rguenther@suse.de>rguenth2007-03-161-0/+16
| | | | | | | | | | | | | | | | | | | PR tree-optimization/31146 * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Restructure to allow recursion of forward_propagate_addr_expr. (forward_propagate_addr_into_variable_array_index): Likewise. (forward_propagate_addr_expr): Likewise. (tree_ssa_forward_propagate_single_use_vars): Likewise. (forward_propagate_addr_expr_1): Recurse on simple copies instead of propagating into them. Do so for useless conversions as well. (forward_propagate_addr_expr): Clean up unused statements after recursion. * g++.dg/tree-ssa/pr31146.C: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@122985 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/ChangeLog:aoliva2007-02-151-0/+29
| | | | | | | | | | | | | * tree-sra.c (instantiate_missing_elements): Canonicalize bit-field types. (sra_build_assignment): New. (generate_copy_inout, generate_element_copy, generate_element_zero, generate_one_element_init): Use it. gcc/testsuite/ChangeLog: * g++.dg/tree-ssa/sra-1.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@121980 138bc75d-0d04-0410-961f-82ee72b054a4
* * g++.dg/tree-ssa/nothrow-1.C: Skip test if -fpic/-fPIC is used.ghazi2007-02-151-0/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@121976 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-02-04 Richard Guenther <rguenther@suse.de>rguenth2007-02-041-1/+1
| | | | | | | | | | | | PR middle-end/30636 * fold-const.c (try_move_mult_to_index): Make sure to not overflow one dimension of a multi-dimensional array access. * g++.dg/warn/pr30636.C: New testcase. * g++.dg/tree-ssa/tmmti-2.C: XFAIL parts. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@121575 138bc75d-0d04-0410-961f-82ee72b054a4
* ./:ian2007-01-281-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * common.opt: Add fstrict-overflow. * opts.c (decode_options): Set flag_strict_overflow if -O2. * flags.h (TYPE_OVERFLOW_WRAPS): Define. (TYPE_OVERFLOW_UNDEFINED): Define. (TYPE_OVERFLOW_TRAPS): Define. This replaces TYPE_TRAP_SIGNED. Replace all uses. * tree.h (TYPE_TRAP_SIGNED): Don't define. * fold-const.c (negate_expr_p): Use TYPE_OVERFLOW_UNDEFINED. (fold_negate_expr): Likewise. (make_range): Likewise. (extract_muldiv_1): Likewise. (maybe_canonicalize_comparison): Likewise. (fold_comparison): Likewise. (fold_binary): Likewise. (tree_expr_nonnegative_p): Likewise. (tree_expr_nonzero_p): Likewise. * tree-vrp.c (compare_values): Likewise. (extract_range_from_binary_expr): Likewise. (extract_range_from_unary_expr): Likewise. * tree-ssa-loop-niter.c (infer_loop_bounds_from_signedness): Likewise. (nowrap_type_p): Likewise. * tree-scalar-evolution.c (simple_iv): Likewise. * fold-const.c (negate_expr_p): Use TYPE_OVERFLOW_WRAPS. (build_range_check): Likewise. (extract_muldiv_1): Likewise. (fold_comparison): Likewise. * tree-vrp.c (vrp_int_const_binop): Likewise. (extract_range_from_unary_expr): Likewise. * convert.c (convert_to_integer): Likewise. * fold-const.c (fold_negate_expr): Use TYPE_OVERFLOW_TRAPS. (fold_comparison): Likewise. (fold_binary): Likewise. * optabs.c (optab_for_tree_code): Likewise. * tree-vectorizer.c (vect_is_simple_reduction): Likewise. * simplify-rtx.c (simplify_const_relational_operation): Check flag_strict_overflow and flag_trapv. (simplify_const_relational_operation): Likewise. * doc/invoke.texi (Option Summary): Mention -fstrict-overflow. (Optimize Options): Add -fstrict-overflow to -O2 list. Document -fstrict-overflow. testsuite/: * gcc.dg/strict-overflow-1.c: New test. * gcc.dg/no-strict-overflow-1.c: New test. * gcc.dg/strict-overflow-2.c: New test. * gcc.dg/no-strict-overflow-2.c: New test. * gcc.dg/strict-overflow-3.c: New test. * gcc.dg/no-strict-overflow-3.c: New test. * gcc.dg/strict-overflow-4.c: New test. * gcc.dg/no-strict-overflow-4.c: New test. * gcc.dg/fold-mod-1.c: Add -fstrict-overflow option. * gcc.dg/pr15784-1.c: Likewise. * gcc.dg/pr20922-1.c: Likewise. * gcc.dg/pr20922-3.c: Likewise. * gcc.dg/pr20922-4.c: Likewise. * gcc.dg/pr20922-6.c: Likewise. * gcc.dg/compare-4.c: Likewise. * gcc.dg/torture/pr26898-1.c: Likewise. * gcc.dg/tree-ssa/divide-1.c: Likewise. * gcc.dg/tree-ssa/divide-2.c: Likewise. * gcc.dg/tree-ssa/divide-3.c: Likewise. * gcc.dg/tree-ssa/divide-4.c: Likewise. * gcc.dg/tree-ssa/pr14490-1.c: Likewise. * gcc.dg/tree-ssa/pr14490-3.c: Likewise. * gcc.dg/tree-ssa/pr21082.c: Likewise. * gcc.dg/tree-ssa/pr26899.c: Likewise. * g++.dg/tree-ssa/pr21082.C: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@121254 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-12-09 Richard Guenther <rguenther@suse.de>rguenth2006-12-091-2/+2
| | | | | | | | | * g++.dg/warn/implicit-typename1.C: Qualify types. * g++.dg/parse/crash12.C: Likewise. * g++.dg/tree-ssa/pr22444.C: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119693 138bc75d-0d04-0410-961f-82ee72b054a4
* PR tree-optimization/29902rakdver2006-11-211-0/+19
| | | | | | | | | | | * tree-ssa-loop-manip.c (can_unroll_loop_p): Return false if any involved ssa name appears in abnormal phi node. * g++.dg/tree-ssa/pr29902.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119074 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-10-24 Richard Guenther <rguenther@suse.de>rguenth2006-10-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | PR middle-end/27132 PR middle-end/23295 * builtins.c (fold_binary): Remove checks for flag_wrapv and flag_trapv where negate_expr_p covers these cases. * gcc.dg/pr27132.c: New testcase. * gcc.dg/pr23295.c: Likewise. * gcc.dg/tree-ssa/pr23294.c: Adjust patterns. * g++.dg/tree-ssa/pr19807.C: Likewise. 2006-10-23 Richard Guenther <rguenther@suse.de> PR middle-end/29548 * fold-const.c (fold_plusminus_mult_expr): Check exact power of two on the absolute value. (fold_binary): Fold x * -C to -x * C if x is easily negatable and negating -C does not overflow. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@117969 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-08-22 Daniel Berlin <dberlin@dberlin.org>dberlin2006-08-221-0/+31
| | | | | | | | | | PR tree-optimization/28003 * tree-ssa-alias.c (compute_may_aliases): Compute call clobbered before grouping aliases. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@116323 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-08-02 Richard Guenther <rguenther@suse.de>rguenth2006-08-021-1/+1
| | | | | | | | | | | | | | | | PR c++/28479 Revert 2006-07-05 Richard Guenther <rguenther@suse.de> Andrew Pinski <pinskia@gcc.gnu.org> PR c++/27084 * cp-objcp-common.c (cxx_types_compatible_p): Ignore top level qualifiers for pointer type comparisons. * g++.dg/tree-ssa/copyprop-1.C: XFAIL. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@115887 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-07-17 Richard Guenther <rguenther@suse.de>rguenth2006-07-171-0/+22
| | | | | | | | | | | | PR tree-optimization/28238 * tree-inline.c (copy_bb): Check if we produced valid gimple copying and substituting a stmt. If not, gimplify it. * g++.dg/tree-ssa/pr28238.C: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@115517 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-07-05 Richard Guenther <rguenther@suse.de>rguenth2006-07-051-0/+29
| | | | | | | | | | | | | Andrew Pinski <pinskia@gcc.gnu.org> PR c++/27084 * cp-objcp-common.c (cxx_types_compatible_p): Ignore top level qualifiers for pointer type comparisons. * g++.dg/tree-ssa/copyprop-1.C: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@115200 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-06-19 Richard Guenther <rguenther@suse.de>rguenth2006-06-191-0/+21
| | | | | | | | PR tree-optimization/27090 * g++.dg/tree-ssa/pr27090.C: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@114786 138bc75d-0d04-0410-961f-82ee72b054a4
* PR middle-end/27793jakub2006-06-132-0/+126
| | | | | | | | | | | | | | | | | | | | | * cp-tree.h (cxx_int_tree_map): New struct. (struct language_function): Add extern_decl_map field. * name-lookup.c (pushdecl_maybe_friend): Add x -> t mapping to cp_function_chain->extern_decl_map hash table instead of copying over DECL_UID. * cp-gimplify.c (cxx_int_tree_map_eq, cxx_int_tree_map_hash): New functions. (cp_genericize_r): Remap DECL_EXTERN local decls using cp_function_chain->extern_decl_map hash table. * decl.c (finish_function): Clear extern_decl_map. PR c++/26757 PR c++/27894 * g++.dg/tree-ssa/pr26757.C: New test. * g++.dg/tree-ssa/pr27894.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@114607 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-06-13 Richard Guenther <rguenther@suse.de>rguenth2006-06-131-0/+18
| | | | | | | | | | | PR tree-optimization/27830 * tree-inline.c (copy_body_r): For copying the operand of an ADDR_EXPR make sure to fold &* afterwards. * g++.dg/tree-ssa/pr27830.C: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@114600 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-05-22 Richard Guenther <rguenther@suse.de>rguenth2006-05-221-2/+2
| | | | | | | | PR testsuite/27707 * g++.dg/tree-ssa/ivopts-1.C: XFAIL for hppa*-*-*. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@113972 138bc75d-0d04-0410-961f-82ee72b054a4
* PR tree-optimization/27548jakub2006-05-171-0/+60
| | | | | | | * g++.dg/tree-ssa/pr27548.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@113864 138bc75d-0d04-0410-961f-82ee72b054a4
* PR tree-optimization/27549jakub2006-05-171-0/+78
| | | | | | | * g++.dg/tree-ssa/pr27549.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@113845 138bc75d-0d04-0410-961f-82ee72b054a4
* PR rtl-optimization/27291rakdver2006-05-011-0/+363
| | | | | | | | | | | * loop-doloop.c (add_test, doloop_modify): Handle the case condition is folded to a constant. * g++.dg/tree-ssa/pr27291.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@113430 138bc75d-0d04-0410-961f-82ee72b054a4
* PR tree-optimization/27283rakdver2006-05-011-0/+57
| | | | | | | | | | | | | | | | * tree-ssa-loop-ivopts.c (struct nfe_cache_elt): Store just trees, not whole # of iteration descriptions. (niter_for_exit): Return just # of iterations. Fail if # of iterations uses abnormal ssa name. (niter_for_single_dom_exit): Ditto. (find_induction_variables, may_eliminate_iv): Expect niter_for_exit to return just the number of iterations. * g++.dg/tree-ssa/pr27283.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@113427 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-05-01 Richard Guenther <rguenther@suse.de>rguenth2006-05-011-0/+18
| | | | | | | | | | | | | PR tree-optimization/26726 * tree-ssa-loop-ivopts.c (idx_find_step): Mark source of the problem ... (find_interesting_uses_address): ... we work around here by folding INDIRECT_REFs in the substituted base. * g++.dg/tree-ssa/ivopts-1.C: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@113414 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-04-24 Andrew Pinski <pinskia@gcc.gnu.org>rguenth2006-04-241-0/+17
| | | | | | | | | | | | | Richard Guenther <rguenther@suse.de> PR tree-optimization/27218 * tree-inline.c (expand_call_inline): Strip useless type conversions for the return slot address. * g++.dg/tree-ssa/pr27218.C: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@113218 138bc75d-0d04-0410-961f-82ee72b054a4
OpenPOWER on IntegriCloud