summaryrefslogtreecommitdiffstats
path: root/gcc/testsuite/g++.dg/tree-ssa
Commit message (Collapse)AuthorAgeFilesLines
* 2014-05-08 Jeff Law <law@redhat.com>law2014-05-131-0/+53
| | | | | | | | | | | | | | | PR tree-optimization/61009 * tree-ssa-threadedge.c (thread_through_normal_block): Return a tri-state rather than a boolean. When a block is too big to thread through, inform caller via negative return value. (thread_across_edge): If a block was too big for normal threading, then it's too big for a joiner too, so remove temporary equivalences and return immediately. PR tree-optimization/61009 * g++.dg/tree-ssa/pr61009.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_9-branch@210400 138bc75d-0d04-0410-961f-82ee72b054a4
* * lib/g++-dg.exp (g++-dg-runtest): Run tests in C++1y mode, too.jason2014-03-071-1/+1
| | | | | | | | | | | | | | * lib/target-supports.exp (check_effective_target_c++11): Now means C++11 and up. (check_effective_target_c++11_only): New. (check_effective_target_c++11_down): New. (check_effective_target_c++1y): New. (check_effective_target_c++1y_only): New. (check_effective_target_c++98_only): Rename from check_effective_target_c++98. * g++.dg/*: Use { target c++11 } instead of -std=c++11. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208416 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-10-04 Marc Glisse <marc.glisse@inria.fr>glisse2013-10-032-0/+12
| | | | | | | | | | | | | PR c++/19476 gcc/cp/ * decl.c (cxx_init_decl_processing): Set operator_new_flag. gcc/testsuite/ * g++.dg/tree-ssa/pr19476-5.C: New file. * g++.dg/tree-ssa/pr19476-1.C: Mention pr19476-5.C. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203194 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-10-03 Marc Glisse <marc.glisse@inria.fr>glisse2013-10-034-0/+54
| | | | | | | | | | | | | | | | | | | | | | | PR c++/19476 gcc/c-family/ * c.opt (fcheck-new): Move to common.opt. gcc/ * common.opt (fcheck-new): Moved from c.opt. Make it 'Common'. * calls.c (alloca_call_p): Use get_callee_fndecl. * fold-const.c (tree_expr_nonzero_warnv_p): Handle operator new. * tree-vrp.c (gimple_stmt_nonzero_warnv_p, stmt_interesting_for_vrp): Likewise. (vrp_visit_stmt): Remove duplicated code. gcc/testsuite/ * g++.dg/tree-ssa/pr19476-1.C: New file. * g++.dg/tree-ssa/pr19476-2.C: Likewise. * g++.dg/tree-ssa/pr19476-3.C: Likewise. * g++.dg/tree-ssa/pr19476-4.C: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203163 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-09-12 Richard Biener <rguenther@suse.de>rguenth2013-09-121-0/+20
| | | | | | | | | | | | PR tree-optimization/58404 * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Also propagate non-invariant addresses into dereferences wrapped in component references. * g++.dg/tree-ssa/pr58404.C: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202525 138bc75d-0d04-0410-961f-82ee72b054a4
* * common.opt (fdevirtualize-speculatively): New function.hubicka2013-09-011-1/+1
| | | | | | | | | | | | | | | | | | | | * invoke.texi (fdevirtualize-speculatively): Document. * ipa-devirt.c: Include ipa-inline.h (likely_target_p): New function. (ipa_devirt): New function. (gate_ipa_devirt): New function. (pass_data_ipa_devirt): New static var. (pass_ipa_devirt): Likewise. (make_pass_ipa_devirt): New function. * opts.c (default_options): Add OPT_fdevirtualize_speculatively. (common_handle_option): Disable devirtualization when value range profiling is available. * passes.def (pass_ipa_devirt): Add. * timever.def (TV_IPA_DEVIRT): New timevar. * tree-pass.h (make_pass_ipa_devirt): git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202145 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-08-29 Teresa Johnson <tejohnson@google.com>tejohnson2013-08-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | * dumpfile.c (dump_loc): Output column number. * dumpfile.h (OPTGROUP_OTHER): Add and enable under OPTGROUP_ALL. * doc/invoke.texi: Document optall -fopt-info flag. * profile.c (read_profile_edge_counts): Use new dump framework. (compute_branch_probabilities): Ditto. * passes.c (pass_manager::register_one_dump_file): Use OPTGROUP_OTHER when pass not in any opt group. * pass_manager.h (pass_manager::get_pass_profile): New method. * value-prof.c (check_counter): Use new dump framework. (check_ic_target): Ditto. * coverage.c (get_coverage_counts): Ditto. (coverage_init): Setup new dump framework. * testsuite/gcc.dg/pr40209.c: Use -fopt-info. * testsuite/gcc.dg/pr26570.c: Ditto. * testsuite/gcc.dg/pr32773.c: Ditto. * testsuite/g++.dg/tree-ssa/dom-invalid.C: Ditto. * testsuite/gcc.dg/inline-dump.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202077 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-05-23 Richard Biener <rguenther@suse.de>rguenth2013-05-231-0/+21
| | | | | | | | | | | | | PR tree-optimization/57380 * tree-ssa-phiprop.c (propagate_with_phi): Do not require at least one invariant or re-used load. * passes.c (init_optimization_passes): Move pass_phiprop before pass_forwprop. * g++.dg/tree-ssa/pr57380.C: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@199246 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/34949jason2013-04-031-1/+1
| | | | | | * g++.dg/tree-ssa/ehcleanup-1.C: Adjust unreachable count. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@197408 138bc75d-0d04-0410-961f-82ee72b054a4
* * tree-ssa-dom.c (record_equivalences_from_incoming_edge): Recordlaw2013-03-211-0/+104
| | | | | | | | | addititional equivalences for equality comparisons between an SSA_NAME and a constant where the SSA_NAME was set from a widening conversion. * g++.dg/tree-ssa/ssa-dom.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@196855 138bc75d-0d04-0410-961f-82ee72b054a4
* PR tree-optimization/55789hubicka2013-02-051-1/+1
| | | | | | | | | | | | * g++.dg/tree-ssa/inline-1.C: Update max-inliner-iterations. * g++.dg/tree-ssa/inline-2.C: Update max-inliner-iterations. * g++.dg/tree-ssa/inline-3.C: Update max-inliner-iterations. * g++.dg/ipa/inline-1.C: New testcase. * g++.dg/ipa/inline-2.C: New testcase. * g++.dg/ipa/inline-3.C: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195758 138bc75d-0d04-0410-961f-82ee72b054a4
* PR tree-optimization/55789hubicka2013-02-053-3/+3
| | | | | | | | | | | | | | * g++.dg/tree-ssa/inline-1.C: Update max-inliner-iterations. * g++.dg/tree-ssa/inline-2.C: Update max-inliner-iterations. * g++.dg/tree-ssa/inline-3.C: Update max-inliner-iterations. * g++.dg/ipa/inline-1.C: New testcase. * g++.dg/ipa/inline-2.C: New testcase. * g++.dg/ipa/inline-3.C: New testcase. * params.def (PARAM_EARLY_INLINER_MAX_ITERATIONS): Drop to 1. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195751 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-09-11 Richard Guenther <rguenther@suse.de>rguenth2012-09-111-0/+19
| | | | | | | | | | | | | PR middle-end/54515 * gimple.c (get_base_address): Do not return NULL_TREE apart from for WITH_SIZE_EXPR. * gimple-fold.c (canonicalize_constructor_val): Do not call get_base_address when not necessary. * g++.dg/tree-ssa/pr54515.C: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@191174 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-07-04 Richard Guenther <rguenther@suse.de>rguenth2012-07-041-0/+78
| | | | | | | | | | | PR tree-optimization/53844 * tree-ssa-dse.c (dse_possible_dead_store_p): Properly handle the loop virtual PHI. * g++.dg/tree-ssa/pr53844.C: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189256 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/ChangeLog:aoliva2012-06-131-1/+1
| | | | | | | | | | | | | | * common.opt (ftree-coalesce-inlined-vars): New. (ftree-coalesce-vars): New. * doc/invoke.texi: Document them. * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Implement them. gcc/testsuite/ChangeLog: * g++.dg/tree-ssa/ivopts-2.C: Adjust for coalescing. * gcc.dg/tree-ssa/forwprop-11.c: Likewise. * gcc.dg/tree-ssa/ssa-fre-1.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188526 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/53356jason2012-05-301-0/+14
| | | | | | | * tree.c (stabilize_init): Handle stabilizing a TARGET_EXPR representing a bitwise copy of a glvalue. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188029 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-05-02 Richard Guenther <rguenther@suse.de>rguenth2012-05-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * tree.c (valid_constant_size_p): New function. * tree.h (valid_constant_size_p): Declare. * cfgexpand.c (expand_one_var): Adjust check for too large variables by using valid_constant_size_p. * varasm.c (assemble_variable): Likewise. c/ * c-decl.c (grokdeclarator): Properly check for sizes that cover more than half of the address-space. cp/ * decl.c (grokdeclarator): Properly check for sizes that cover more than half of the address-space. 2012-05-02 Richard Guenther <rguenther@suse.de> * fold-const.c (div_if_zero_remainder): sizetypes no longer sign-extend. (int_const_binop_1): New worker for int_const_binop with overflowable parameter. Pass it through to force_fit_type_double. (int_const_binop): Wrap around int_const_binop_1 with overflowable equal to one. (size_binop_loc): Call int_const_binop_1 with overflowable equal to minus one, forcing overflow detection for even unsigned types. (extract_muldiv_1): Remove bogus TYPE_IS_SIZETYPE special-casing. (fold_binary_loc): Call try_move_mult_to_index with signed offset. * stor-layout.c (initialize_sizetypes): sizetypes no longer sign-extend. (layout_type): For zero-sized arrays ignore overflow on the size calculations. * tree-ssa-ccp.c (bit_value_unop_1): Likewise. (bit_value_binop_1): Likewise. * tree.c (double_int_to_tree): Likewise. (double_int_fits_to_tree_p): Likewise. (force_fit_type_double): Likewise. (host_integerp): Likewise. (int_fits_type_p): Likewise. * varasm.c (output_constructor_regular_field): Sign-extend the field-offset to cater for negative offsets produced by the Ada frontend. * omp-low.c (extract_omp_for_data): Convert the loop step to signed for pointer adjustments. * g++.dg/tree-ssa/pr19807.C: Adjust. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187042 138bc75d-0d04-0410-961f-82ee72b054a4
* /cppaolo2012-04-021-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | 2012-04-01 Paolo Carlini <paolo.carlini@oracle.com> PR c++/50043 * class.c (deduce_noexcept_on_destructor, deduce_noexcept_on_destructors): New. (check_bases_and_members): Call the latter. * decl.c (grokfndecl): Call the former. * method.c (implicitly_declare_fn): Not static. * cp-tree.h (deduce_noexcept_on_destructor, implicitly_declare_fn): Declare /testsuite 2012-04-01 Paolo Carlini <paolo.carlini@oracle.com> PR c++/50043 * g++.dg/cpp0x/noexcept17.C: New. * g++.old-deja/g++.eh/cleanup1.C: Adjust. * g++.dg/tree-ssa/ehcleanup-1.C: Likewise. * g++.dg/cpp0x/noexcept01.C: Likewise. * g++.dg/eh/init-temp1.C: Likewise. * g++.dg/eh/ctor1.C: Likwise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186058 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-12-02 Martin Jambor <mjambor@suse.cz>jamborm2011-12-021-0/+30
| | | | | | | | | | | | PR tree-optimization/50622 * tree-sra.c (load_assign_lhs_subreplacements): Force gimple operand if both lacc and racc are grp_partial_lhs. * testsuite/g++.dg/tree-ssa/pr50622.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181908 138bc75d-0d04-0410-961f-82ee72b054a4
* PR middle-end/50644matz2011-11-171-0/+14
| | | | | | | | | | | | | | | PR middle-end/50741 * tree-ssa-live.c (mark_all_vars_used_1): Recurse only for decls of current function. (remove_unused_locals): Ditto. testsuite/ * g++.dg/tree-ssa/pr50741.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181443 138bc75d-0d04-0410-961f-82ee72b054a4
* * gengtype.c (write_field_root): Avoid out-of-scope access of newv.matz2011-11-081-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * tree-stdarg.c (execute_optimize_stdarg): Accept clobbers. * tree.h (TREE_CLOBBER_P): New macro. * gimple.h (gimple_clobber_p): New inline function. * gimplify.c (gimplify_bind_expr): Add clobbers for all variables that go out of scope and live in memory. * tree-ssa-operands.c (get_expr_operands): Transfer volatility also for constructors. * cfgexpand.c (decl_to_stack_part): New static variable. (add_stack_var): Allocate it, and remember mapping. (fini_vars_expansion): Deallocate it. (stack_var_conflict_p): Add early outs. (visit_op, visit_conflict, add_scope_conflicts_1, add_scope_conflicts): New static functions. (expand_used_vars_for_block): Don't call add_stack_var_conflict, tidy. (expand_used_vars): Add scope conflicts. (expand_gimple_stmt_1): Expand clobbers to nothing. (expand_debug_expr): Ditto. * tree-pretty-print.c (dump_generic_node): Dump clobbers nicely. * tree-ssa-live.c (remove_unused_locals): Remove clobbers that refer to otherwise unused locals. * tree-sra.c (build_accesses_from_assign): Ignore clobbers. * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Clobbers of SSA names aren't necessary. (propagate_necessity): Accept and ignore constructors on the rhs, tidy. * gimple.c (walk_gimple_op): Accept constructors like mem_rhs. * tree-ssa-structalias.c (find_func_aliases): Clobbers don't store any known value. * tree-ssa-sccvn.c (vn_reference_lookup_3): Ditto, in particular they don't zero-initialize something. * tree-ssa-phiopt.c (cond_if_else_store_replacement_1): Ignore clobber RHS, we don't want PHI nodes with those. testsuite/ * gcc.dg/tree-ssa/20031015-1.c: Adjust. * g++.dg/tree-ssa/ehcleanup-1.C: Ditto. * g++.dg/eh/builtin1.C: Rewrite to not use local variables. * g++.dg/eh/builtin2.C: Ditto. * g++.dg/eh/builtin3.C: Ditto. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181172 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-10-27 Martin Jambor <mjambor@suse.cz>jamborm2011-10-271-3/+3
| | | | | | | | * g++.dg/tree-ssa/pr45605.C: Scan fre1 dump and unxfail. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180577 138bc75d-0d04-0410-961f-82ee72b054a4
* * tree-ssa-structalias.c (intra_create_variable_infos): Treatjakub2011-09-251-0/+62
| | | | | | | | | | TYPE_RESTRICT REFERENCE_TYPE parameters like restricted DECL_BY_REFERENCE parameters. * g++.dg/tree-ssa/restrict2.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179166 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-09-07 Martin Jambor <mjambor@suse.cz>jamborm2011-09-071-1/+1
| | | | | | | | * g++.dg/tree-ssa/pr49911.C: Added flag -fstrict-enums. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178642 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-09-07 Martin Jambor <mjambor@suse.cz>jamborm2011-09-071-0/+41
| | | | | | | | | | | | PR tree-optimization/49911 * tree-sra.c (analyze_access_subtree): Change type of to-be-replaced enumerations to the corresponding plain integer type. * testsuite/g++.dg/tree-ssa/pr49911.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178639 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-08-11 Richard Guenther <rguenther@suse.de>rguenth2011-08-111-3/+3
| | | | | | | | | | * tree-ssa-sccvn.c (vn_reference_lookup_3): Avoid redundant lookups, make looking through aggregate copies stronger. * g++.dg/tree-ssa/pr41186.C: Un-XFAIL. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@177672 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc.dg/tree-ssa/20050314-1.c: Dump and cleanup lim1 pass only.uros2011-07-312-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * gcc.dg/tree-ssa/pr23109.c: Ditto. * gcc.dg/tree-ssa/loop-7.c: Ditto. * gcc.dg/tree-ssa/loop-32.c: Ditto. * gcc.dg/tree-ssa/loop-33.c: Ditto. * gcc.dg/tree-ssa/loop-34.c: Ditto. * gcc.dg/tree-ssa/loop-35.c: Ditto. * gcc.dg/tree-ssa/restrict-3.c: Ditto. * gcc.dg/tree-ssa/ssa-lim-2.c: Ditto. * gcc.dg/tree-ssa/ssa-lim-1.c: Ditto. * gcc.dg/tree-ssa/ssa-lim-3.c: Ditto. * gcc.dg/tree-ssa/ssa-lim-6.c: Ditto. * gcc.dg/tree-ssa/structopt-1.c: Ditto. * g++.dg/tree-ssa/pr33615.C: Ditto. * g++.dg/tree-ssa/restrict1.C: Ditto. * c-c++-common/restrict-2.c: Ditto. * gfortran.dg/pr32921.f: Ditto. * gcc.dg/tree-ssa/ssa-dse-10.c: Dump and cleanup dse1 pass only. * gcc.dg/fold-compare-2.c: Dump and cleanup vrp1 pass only. * gcc.dg/tree-ssa/vrp47.c: Ditto. * gcc.dg/tree-ssa/pr25501.c: Dump and cleanup mergephi1 pass only. * gcc.dg/tree-ssa/pr15349.c: Dump and cleanup mergephi2 pass only. * gcc.dg/tree-ssa/tailrecursion-1.c: Dump and cleanup tailr1 pass only. * gcc.dg/tree-ssa/tailrecursion-2.c: Ditto. * gcc.dg/tree-ssa/tailrecursion-3.c: Ditto. * gcc.dg/tree-ssa/tailrecursion-4.c: Ditto. * gcc.dg/tree-ssa/tailrecursion-6.c: Ditto. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176978 138bc75d-0d04-0410-961f-82ee72b054a4
* Also test -std=c++0x mode with 'make check-c++' at top leveljason2011-07-131-2/+2
| | | | | | | | | | | | | | | * Makefile.in (check-gcc-c++0x): New. (check-c++): Depend on it. gcc/ * Makefile.in ($(lang_checks_parallelized)): Allow --tool_opts. gcc/cp/ * Make-lang.in (check-c++0x): New. gcc/testsuite/ * lib/g++.exp (${tool}_option_help, ${tool}_option_proc): Remove. * lib/lto.exp (lto_prune_warns): Prune warning about -std=c++0x when compiling C files. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176250 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-07-06 Richard Guenther <rguenther@suse.de>rguenth2011-07-061-1/+1
| | | | | | | | | | | | | | | | | PR tree-optimization/49645 * c-decl.c (finish_decl): Also set DECL_HARD_REGISTER for global register variables. * tree-ssa-sccvn.c (vn_reference_op_eq): Disregard differences in type qualification here ... (copy_reference_ops_from_ref): ... not here. (vn_reference_lookup_3): ... or here. (copy_reference_ops_from_ref): Record decl bases as MEM[&decl]. (vn_reference_lookup): Do the lookup with a valueized ao-ref. * g++.dg/tree-ssa/pr8781.C: Disable SRA. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175916 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-06-24 Martin Jambor <mjambor@suse.cz>jamborm2011-06-241-0/+86
| | | | | | | | | | | | PR tree-optimizations/49516 * tree-sra.c (sra_modify_assign): Choose the safe path for aggregate copies if we also did scalar replacements. * testsuite/g++.dg/tree-ssa/pr49516.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175376 138bc75d-0d04-0410-961f-82ee72b054a4
* * g++.dg/tree-ssa-pr43411.C: Rename function to be inlined andjanis2011-05-271-7/+7
| | | | | | | replace dump search. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@174341 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-05-23 Richard Guenther <rguenther@suse.de>rguenth2011-05-231-0/+25
| | | | | | | | PR tree-optimization/40874 * g++.dg/tree-ssa/pr40874.C: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@174068 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-03-25 Richard Guenther <rguenther@suse.de>rguenth2011-03-252-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * passes.c (init_optimization_passes): Add FRE pass after early SRA. * g++.dg/tree-ssa/pr41186.C: Scan the appropriate FRE dump. * g++.dg/tree-ssa/pr8781.C: Likewise. * gcc.dg/ipa/ipa-pta-13.c: Likewise. * gcc.dg/ipa/ipa-pta-3.c: Likewise. * gcc.dg/ipa/ipa-pta-4.c: Likewise. * gcc.dg/tree-ssa/20041122-1.c: Likewise. * gcc.dg/tree-ssa/alias-18.c: Likewise. * gcc.dg/tree-ssa/foldstring-1.c: Likewise. * gcc.dg/tree-ssa/forwprop-10.c: Likewise. * gcc.dg/tree-ssa/forwprop-9.c: Likewise. * gcc.dg/tree-ssa/fre-vce-1.c: Likewise. * gcc.dg/tree-ssa/loadpre6.c: Likewise. * gcc.dg/tree-ssa/pr21574.c: Likewise. * gcc.dg/tree-ssa/ssa-dom-cse-1.c: Likewise. * gcc.dg/tree-ssa/ssa-fre-1.c: Likewise. * gcc.dg/tree-ssa/ssa-fre-11.c: Likewise. * gcc.dg/tree-ssa/ssa-fre-12.c: Likewise. * gcc.dg/tree-ssa/ssa-fre-13.c: Likewise. * gcc.dg/tree-ssa/ssa-fre-14.c: Likewise. * gcc.dg/tree-ssa/ssa-fre-15.c: Likewise. * gcc.dg/tree-ssa/ssa-fre-16.c: Likewise. * gcc.dg/tree-ssa/ssa-fre-17.c: Likewise. * gcc.dg/tree-ssa/ssa-fre-18.c: Likewise. * gcc.dg/tree-ssa/ssa-fre-19.c: Likewise. * gcc.dg/tree-ssa/ssa-fre-2.c: Likewise. * gcc.dg/tree-ssa/ssa-fre-21.c: Likewise. * gcc.dg/tree-ssa/ssa-fre-22.c: Likewise. * gcc.dg/tree-ssa/ssa-fre-23.c: Likewise. * gcc.dg/tree-ssa/ssa-fre-24.c: Likewise. * gcc.dg/tree-ssa/ssa-fre-25.c: Likewise. * gcc.dg/tree-ssa/ssa-fre-26.c: Likewise. * gcc.dg/tree-ssa/ssa-fre-27.c: Likewise. * gcc.dg/tree-ssa/ssa-fre-3.c: Likewise. * gcc.dg/tree-ssa/ssa-fre-4.c: Likewise. * gcc.dg/tree-ssa/ssa-fre-5.c: Likewise. * gcc.dg/tree-ssa/ssa-fre-6.c: Likewise. * gcc.dg/tree-ssa/ssa-fre-7.c: Likewise. * gcc.dg/tree-ssa/ssa-fre-8.c: Likewise. * gcc.dg/tree-ssa/ssa-fre-9.c: Likewise. * gcc.dg/tree-ssa/ssa-pre-10.c: Likewise. * gcc.dg/tree-ssa/ssa-pre-26.c: Likewise. * gcc.dg/tree-ssa/ssa-pre-7.c: Likewise. * gcc.dg/tree-ssa/ssa-pre-8.c: Likewise. * gcc.dg/tree-ssa/ssa-pre-9.c: Likewise. * gcc.dg/tree-ssa/ssa-sccvn-1.c: Likewise. * gcc.dg/tree-ssa/ssa-sccvn-2.c: Likewise. * gcc.dg/tree-ssa/ssa-sccvn-3.c: Likewise. * gcc.dg/tree-ssa/ssa-sccvn-4.c: Likewise. * gcc.dg/tree-ssa/struct-aliasing-1.c: Likewise. * gcc.dg/tree-ssa/struct-aliasing-2.c: Likewise. * c-c++-common/pr46562-2.c: Likewise. * gfortran.dg/pr42108.f90: Likewise. * gcc.dg/torture/pta-structcopy-1.c: Scan ealias dump, force foo to be inlined even at -O1. * gcc.dg/tree-ssa/ssa-dce-4.c: Disable FRE. * gcc.dg/ipa/ipa-pta-14.c: Likewise. * gcc.dg/tree-ssa/ssa-fre-1.c: Adjust. * gcc.dg/matrix/matrix.exp: Disable FRE. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@171450 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-03-15 Richard Guenther <rguenther@suse.de>rguenth2011-03-151-0/+29
| | | | | | | | | | | PR tree-optimization/13954 * tree-ssa-sccvn.c (vn_reference_lookup_3): Look through memcpy and friends. * g++.dg/tree-ssa/pr13954.C: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@170994 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-03-15 Richard Guenther <rguenther@suse.de>rguenth2011-03-151-2/+3
| | | | | | | | | | | | | | | | | | | | PR tree-optimization/41490 * tree-ssa-dce.c (propagate_necessity): Handle returns without value but with VUSE. * tree-ssa-operands.c (parse_ssa_operands): Add a VUSE on all return statements. * tree-ssa-sink.c (statement_sink_location): Fix store sinking. * tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Handle virtual PHIs. * tree-tailcall.c (find_tail_calls): Ignore returns. * gcc.dg/tree-ssa/ssa-sink-6.c: New testcase. * gcc.dg/tree-ssa/ssa-sink-7.c: Likewise. * gcc.dg/tree-ssa/ssa-sink-8.c: Likewise. * gcc.dg/tree-ssa/ssa-sink-9.c: Likewise. * g++.dg/tree-ssa/pr33604.C: Adjust. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@170984 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-03-08 Kai Tietz <ktietz@redhat.com>ktietz2011-03-081-1/+1
| | | | | | | | | * g++.dg/tree-ssa/pr21082.C: Use __INTPTR_TYPE__ instead of 'long' type. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@170774 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix PR47707davidxl2011-02-121-0/+29
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@170062 138bc75d-0d04-0410-961f-82ee72b054a4
* * g++.dg/tree-ssa/inline-3.C: Use a normal functionjason2011-02-101-5/+3
| | | | | | rather than misdeclare std::puts. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@170011 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-12-22 Martin Jambor <mjambor@suse.cz>jamborm2010-12-223-2/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR tree-optimization/45934 PR tree-optimization/46302 PR tree-optimization/46987 * gimple-fold.c (get_base_binfo_for_type): Removed. (gimple_get_relevant_ref_binfo): Likewise. (gimple_fold_obj_type_ref_call): Dumb down to 4.5 functionality, removed parameter inplace, updated the caller. * gimple.h (gimple_get_relevant_ref_binfo): Remove declaration. * ipa-cp.c (ipcp_propagate_types): Do not derive types from constants. (ipcp_discover_new_direct_edges): Do not do devirtualization based on constants. * ipa-prop.c (compute_known_type_jump_func): Use get_ref_base_and_extent and get_binfo_at_offset instead of gimple_get_relevant_ref_binfo. (compute_known_type_jump_func): Likewise. (update_jump_functions_after_inlining): Do not derive types from constants. (try_make_edge_direct_virtual_call): Likewise. * tree.c (get_binfo_at_offset): Get type from non-artificial fields. * testsuite/g++.dg/ipa/ipcp-ivi-1.C: Removed. * testsuite/g++.dg/ipa/ivinline-6.C: Likewise. * testsuite/g++.dg/otr-fold-1.C: Likewise. * testsuite/g++.dg/otr-fold-2.C: Likewise. * testsuite/g++.dg/tree-ssa/pr43411.C: Xfail dump scan. * testsuite/g++.dg/tree-ssa/pr45605.C: Likewise. * testsuite/g++.dg/tree-ssa/pr46987.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@168168 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-12-09 Martin Jambor <mjambor@suse.cz>jamborm2010-12-091-0/+34
| | | | | | | | | | | | PR middle-end/46734 * tree-sra.c (splice_param_accesses): Check that there are not multiple ADDRESSABLE types. * testsuite/g++.dg/tree-ssa/pr46734.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@167639 138bc75d-0d04-0410-961f-82ee72b054a4
* PR tree-optimize/33172hubicka2010-11-101-0/+29
| | | | | | | | | PR tree-optimize/43411 * gcc.dg/tree-ssa/pr33172.c: New testcase. * g++.dg/tree-ssa/pr43411.C: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166557 138bc75d-0d04-0410-961f-82ee72b054a4
* PR tree-optimize/46228hubicka2010-11-101-0/+23
| | | | | | | | | | * doc/invoke.texi (comdat-sharing-probability): Document. * ipa-inline.c (cgraph_estimate_growth): Handle COMDATs * params.def (PARAM_COMDAT_SHARING_PROBABILITY): New param. * g++.dg/tree-ssa/pr46228.C: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166555 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix PR/46200davidxl2010-11-031-0/+11
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166280 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-10-05 Richard Guenther <rguenther@suse.de>rguenth2010-10-053-12/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * value-prof.c (gimple_divmod_fixed_value): Work on SSA form. (gimple_mod_pow2): Likewise. (gimple_mod_subtract): Likewise. (gimple_ic): Likewise. (gimple_stringop_fixed_value): Likewise. * tree-profile.c (tree_init_edge_profiler): Mark profile functions nothrow and leaf. (add_abnormal_goto_call_edges): Remove. (tree_gen_edge_profiler): Work on SSA form. (tree_gen_ic_profiler): Likewise. Simplify. (do_tree_profiling): Update SSA form. (pass_tree_profile): Remove. (do_tree_profiling): Likewise. (gate_tree_profile_ipa): New function. (pass_ipa_tree_profile): New. (tree_profiling): Re-write as IPA pass. Properly drop const/pure state of instrumented functions. * passes.c (init_optimization_passes): Remove early non-SSA inlining. Move profiling after early optimizations. * ipa-inline.c (cgraph_gate_ipa_early_inlining): Remove. (pass_ipa_early_inline): Likewise. * tree-pass.h (pass_ipa_early_inline): Remove. (pass_tree_profile): Likewise. (pass_ipa_tree_profile): Declare. * gcc.dg/tree-prof/val-prof-1.c: Adjust. * gcc.dg/tree-prof/val-prof-2.c: Likewise. * gcc.dg/tree-prof/val-prof-3.c: Likewise. * gcc.dg/tree-prof/val-prof-4.c: Likewise. * gcc.dg/tree-prof/val-prof-5.c: Likewise. * gcc.dg/tree-prof/val-prof-7.c: Likewise. * gcc.dg/tree-prof/stringop-1.c: Likewise. * gcc.dg/tree-prof/stringop-2.c: Likewise. * gcc.dg/tree-prof/ic-misattribution-1.c: Likewise. * gcc.dg/tree-prof/indir-call-prof.c: Likewise. * gcc.dg/tree-prof/update-loopch.c: Likewise. * g++.dg/tree-prof/indir-call-prof.C: Likewise. * g++.dg/tree-prof/inline_mismatch_args.C: Likewise. * gcc.dg/tree-prof/tracer-1.c: Likewise. * gcc.dg/tree-ssa/inline-4.c: Likewise. * gcc.dg/tree-ssa/inline-3.c: Likewise. * gcc.dg/tree-ssa/20080530.c: Likewise. * g++.dg/tree-ssa/inline-3.C: Likewise. * g++.dg/tree-ssa/inline-1.C: Likewise. * g++.dg/tree-ssa/inline-2.C: Likewise. * gcc.dg/profile-dir-1.c: Likewise. * gcc.dg/profile-dir-2.c: Likewise. * gcc.dg/profile-dir-3.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164986 138bc75d-0d04-0410-961f-82ee72b054a4
* Add "\\".hjl2010-09-201-1/+1
| | | | | | | | | 2010-09-20 H.J. Lu <hongjiu.lu@intel.com> * g++.dg/tree-ssa/pr45605.C: Add "\\". git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164446 138bc75d-0d04-0410-961f-82ee72b054a4
* PR tree-optimize/45605hubicka2010-09-201-0/+37
| | | | | | | | | | | | | | | | | | | | | | | | * cgraph.h (const_value_known_p): Declare. (varpool_decide_const_value_known): Remove. * tree-ssa-ccp.c (get_base_constructor): Use it. * lto-cgraph.c (compute_ltrans_boundary): Likewise. * expr.c (string_constant): Likewise. * tree-ssa-loop-ivcanon.c (constant_after_peeling): Likewise. * ipa.c (ipa_discover_readonly_nonaddressable_var, function_and_variable_visibility): Likewise. * gimplify.c (gimplify_call_expr): Likewise. * gimple-fold.c (get_symbol_constant_value): Likewise. * varpool.c (varpool_decide_const_value_known): Replace by... (const_value_known_p): ... this one; handle other kinds of DECLs too and work for automatic vars. (varpool_finalize_decl): Use const_value_known_p. * lto.c (lto_promote_cross_file_statics): Use const_value_known_p. * g++.dg/tree-ssa/pr45605.C: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164438 138bc75d-0d04-0410-961f-82ee72b054a4
* PR tree-optimization/45453hubicka2010-09-181-0/+19
| | | | | | | | | | | | | | * cgraphunit.c (cgraph_finalize_function): Consider comdat & external virtual functions are reachable. * ipa-inline.c (cgraph_clone_inlined_nodes): Likewise. * ipa.c (cgraph_remove_unreachable_nodes): Likewise. * ipa-prop.c (ipa_modify_formal_parameters): Clear DECL_VIRTUAL_P when modifying function. * g++.dg/tree-ssa/pr45453.C: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164405 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix previous commit.hubicka2010-08-211-1/+5
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163442 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/45307hubicka2010-08-211-1/+4
| | | | | | | | | | | | | | | | | | PR c++/17736 * cgraph.h (cgraph_only_called_directly_p, cgraph_can_remove_if_no_direct_calls_and_refs_p): Handle static cdtors. * cgraphunit.c (cgraph_decide_is_function_needed): Static cdtors are not needed. (cgraph_finalize_function): Static cdtors are reachable. (cgraph_mark_functions_to_output): Use cgraph_only_called_directly_p. * gcc.dg/ipa/ctor-empty-1.c: Add testcase. * g++.dg/tree-ssa/empty-2.C: Check that constructor got optimized out. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163439 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/45307jason2010-08-191-0/+8
| | | | | | | | * gimplify.c (gimplify_init_constructor): Just return GS_UNHANDLED if ctor is empty. (gimplify_modify_expr_rhs): Adjust. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163380 138bc75d-0d04-0410-961f-82ee72b054a4
OpenPOWER on IntegriCloud