Age | Commit message (Collapse) | Author | Files | Lines |
|
PR fortran/48636
* gcc.dg/ipa/inlinehint-2.c: New testcase.
* ipa-inline-analysis.c (dump_inline_hints): Dump loop stride.
(set_hint_predicate): New function.
(reset_inline_summary): Reset loop stride.
(remap_predicate_after_duplication): New function.
(remap_hint_predicate_after_duplication): New function.
(inline_node_duplication_hook): Update.
(dump_inline_summary): Dump stride summaries.
(estimate_function_body_sizes): Compute strides.
(remap_hint_predicate): New function.
(inline_merge_summary): Use it.
(inline_read_section): Read stride.
(inline_write_summary): Write stride.
* ipa-inline.c (want_inline_small_function_p): Handle strides.
(edge_badness): Likewise.
* ipa-inline.h (inline_hints_vals): Add stride hint.
(inline_summary): Update stride.
From-SVN: r191232
|
|
* config/i386/i386.c (x86_prefetch_sse): Change to unsigned char.
* config/i386/i386.h (x86_prefetch_sse): Ditto.
From-SVN: r191231
|
|
gcc/
PR target/54445
* config/i386/predicates.md (x86_64_immediate_operand): Allow
negative offset for UNSPEC_DTPOFF/UNSPEC_NTPOFF.
gcc/testsuite/
PR target/54445
* gcc.target/i386/pr54445-1.c: New file.
* gcc.target/i386/pr54445-2.c: Likewise.
From-SVN: r191230
|
|
* common.opt (flto-partition): Add "max".
* invoke.texi (flto-partition): Document "max"
* lto.c (do_whole_program_analysis): Care timevars, statistics and
AUX pointer cleaning. Add max partitioning.
* lto-partition.c (enum symbol_class): New.
(get_symbol_class): New function.
(symbol_partitioned_p): New function.
(add_references_to_partition): Remove.
(add_aliases_to_partition): Remove.
(add_cgraph_node_to_partition_1): Remove.
(add_cgraph_node_to_partition): Remove.
(add_symbol_to_partition): New function.
(add_symbol_to_partition_1): New function.
(contained_in_symbol): New function.
(partition_cgraph_node_p): Remove.
(partition_varpool_node_p): Remove.
(partition_symbol_p): Remove.
(lto_1_to_1_map): Cleanup.
(lto_max_map): New.
(lto_balanced_map): Update.
(lto_promote_cross_file_statics): Update.
* lto-partition.h (lto_max_map): Declare.
* timevar.def (TV_WHOPR_PARTITIONING): New timevar.
From-SVN: r191229
|
|
PR lto/54312
* lto.c (uniquify_nodes): Remove quadratic loop checking if the
type is variant leader.
From-SVN: r191228
|
|
register pressure...
2012-09-12 Ganesh Gopalasubramanian <Ganesh.Gopalasubramanian@amd.com>
* config/i386/i386.md : Comments on fma4 instruction
selection reflect requirement on register pressure based
cost model.
* config/i386/driver-i386.c (host_detect_local_cpu): fma4
flag is set-reset as informed by the cpuid flag.
* config/i386/i386.c (processor_alias_table): fma4
flag is enabled for bdver2.
From-SVN: r191226
|
|
2012-09-12 Richard Guenther <rguenther@suse.de>
PR tree-optimization/54489
* tree-ssa-pre.c: Include domwalk.h.
(in_fre): Remove.
(sccvn_valnum_from_value_id): New function.
(debug_bitmap_sets_for): Simplify.
(get_representative_for): Properly initialize the SCCVN valnum.
(create_expression_by_pieces): Likewise.
(insert_into_preds_of_block): Likewise.
(can_PRE_operation): Remove.
(make_values_for_phi): Simplify.
(compute_avail): Likewise.
(do_SCCVN_insertion): Remove.
(eliminate_avail, eliminate_push_avail, eliminate_insert):
New functions.
(eliminate): Split and perform a domwalk.
(eliminate_bb): Former eliminate part that is now dom-enter.
(eliminate_leave_block): New function.
(fini_eliminate): Likewise.
(init_pre): Simplify.
(fini_pre): Likewise.
(execute_pre): Fold into do_pre and do_fre.
(do_pre): Consume execute_pre.
(do_fre): Likewise.
* Makefile.in (tree-ssa-pre.o): Add domwalk.h dependency.
From-SVN: r191225
|
|
of objects...
2012-09-12 Diego Novillo <dnovillo@google.com>
* vec.h: Remove compatibility notes for previous distinction
between vectors of objects and vectors of pointers.
From-SVN: r191223
|
|
From-SVN: r191220
|
|
* config/sh/newlib.h (NO_IMPLICIT_EXTERN_C): Define.
From-SVN: r191219
|
|
* rtl.h (FFS, FLOAT, ABS, PC): Don't undef.
* system.h (FFS, FLOAT, ABS, PC): Undef.
From-SVN: r191217
|
|
for other functions)
2012-09-12 Richard Guenther <rguenther@suse.de>
PR middle-end/54553
* common.opt (finline): Mark with Optimization.
From-SVN: r191215
|
|
2012-09-12 Tobias Burnus <burnus@net-b.de>
PR fortran/54225
PR fortran/53306
* array.c (match_subscript, gfc_match_array_ref): Fix
diagnostic of coarray's '*'.
2012-09-12 Tobias Burnus <burnus@net-b.de>
PR fortran/54225
PR fortran/53306
* gfortran.dg/coarray_10.f90: Update dg-error.
* gfortran.dg/coarray_28.f90: New.
* gfortran.dg/array_section_3.f90: New.
From-SVN: r191213
|
|
From-SVN: r191210
|
|
* config/mmix/mmix.h (MMIX_REG_OK_STRICT): Delete.
(REG_CLASS_FROM_LETTER, CONST_OK_FOR_LETTER_P): Delete.
(CONST_DOUBLE_OK_FOR_LETTER_P, EXTRA_CONSTRAINT): Delete.
* config/mmix/mmix-protos.h (mmix_intval): Declare.
(mmix_const_ok_for_letter_p, mmix_extra_constraint): Delete.
(mmix_const_double_ok_for_letter_p): Delete.
* config/mmix/constraints.md: New file.
* config/mmix/mmix.md: Include it.
(iordi3): Fix typo; use "I" instead of undefined "H" constraint.
("*call_real"): Update comment about not using the "p" constraint.
* config/mmix/predicates.md (mmix_reg_or_8bit_operand): Use
satisfies_constraint_I.
(mmix_address_operand): New predicate.
(mmix_symbolic_or_address_operand): Use it instead of address_operand.
* config/mmix/mmix.c: #include tm-constrs.h.
(mmix_intval): Delete declaration. Make non-static.
(mmix_const_ok_for_letter_p, mmix_extra_constraint): Delete.
(mmix_const_double_ok_for_letter_p): Delete.
(mmix_legitimate_address_p): Use satisfies_constraint_I.
(mmix_print_operand_address): Likewise.
(mmix_emit_sp_add): Adjust to use insn_const_int_ok_for_constraint
when matching "L" constraint.
Co-Authored-By: Hans-Peter Nilsson <hp@bitrange.com>
From-SVN: r191208
|
|
From-SVN: r191206
|
|
* tree.h (expand_case): Move prototype ...
* expr.h (expand_case): ...here.
(expand_sjlj_dispatch_table): New prototype.
* stmt.c: Include pointer-set.h instead of bitmap.h.
(expand_case): Use a pointer set instead of a bitmap for
already-seen labels. Fold label values here.
(add_case_node): Don't fold label values here.
(expand_sjlj_dispatch_table): New function.
* except.c (sjlj_emit_dispatch_table): Use it.
From-SVN: r191203
|
|
From-SVN: r191201
|
|
2012-09-11 Christophe Lyon <christophe.lyon@linaro.org>
gcc/testsuite/
* gcc.target/arm/neon-vset_lanes8.c, gcc.target/arm/pr51835.c,
gcc.target/arm/pr48252.c: Fix for big-endian support.
From-SVN: r191200
|
|
2012-09-11 Marc Glisse <marc.glisse@inria.fr>
gcc/
* tree-ssa-forwprop.c (simplify_vector_constructor): New function.
(ssa_forward_propagate_and_combine): Call it.
gcc/testsuite/
* gcc.dg/tree-ssa/forwprop-22.c: New testcase.
From-SVN: r191198
|
|
2012-09-11 Diego Novillo <dnovillo@google.com>
* var-tracking.c (vt_add_function_parameter): Adjust for VEC
changes.
From-SVN: r191197
|
|
2012-09-11 Dominique Dhumieres <dominiq@lps.ens.fr>
* config/darwin.c (darwin_asm_named_section): Adjust for
VEC changes.
(darwin_asm_dwarf_section): Likewise.
From-SVN: r191192
|
|
2012-09-11 Martin Jambor <mjambor@suse.cz>
* dwarf2out.c (dwarf2out_abstract_function): Do not change cfun.
(premark_used_types): New parameter fun, use it instead of cfun.
(gen_subprogram_die): Use DECL_STRUCT_FUNCTION (decl) instead of cfun,
also pass it to premark_used_types.
From-SVN: r191186
|
|
2012-09-11 Richard Guenther <rguenther@suse.de>
* lto.c (enum gtc_mode): Remove.
(struct type_pair_d): Adjust.
(lookup_type_pair): Likewise.
(gimple_type_leader): Do not mark as deletable.
(gimple_lookup_type_leader): Adjust.
(gtc_visit): Likewise.
(gimple_types_compatible_p_1): Likewise.
(gimple_types_compatible_p): Likewise.
(gimple_type_hash): Likewise.
(gimple_register_type): Likewise.
(read_cgraph_and_symbols): Manage lifetime of tables
here.
From-SVN: r191184
|
|
Co-Authored-By: Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
From-SVN: r191182
|
|
2012-09-11 Tobias Burnus <burnus@net-b.de>
* doc/sourcebuild.texi (arm_neon_v2_ok): Fix @anchor.
From-SVN: r191181
|
|
2012-09-11 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
* config/arm/neon.md (fma<VCVTF:mode>4): New pattern.
(*fmsub<VCVTF:mode>4): Likewise.
* doc/sourcebuild.texi (arm_neon_v2_ok, arm_neon_v2_hw): Document it.
2012-09-11 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
* gcc.target/arm/neon-vfma-1.c: New testcase.
* gcc.target/arm/neon-vfms-1.c: Likewise.
* gcc.target/arm/neon-vmla-1.c: Update test to use int instead
of float.
* gcc.target/arm/neon-vmls-1.c: Likewise.
* lib/target-supports.exp (add_options_for_arm_neonv2): New
function.
(check_effective_target_arm_neonv2_ok_nocache): Likewise.
(check_effective_target_arm_neonv2_ok): Likewise.
(check_effective_target_arm_neonv2_hw): Likewise.
(check_effective_target_arm_neonv2): Likewise.
Co-Authored-By: Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
From-SVN: r191180
|
|
PR middle-end/54149
* tree-ssa-loop-im.c (execute_sm_if_changed_flag_set): Only set
flag for writes.
From-SVN: r191179
|
|
2012-09-11 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR tree-optimization/55492
* doc/invoke.texi (max-slsr-cand-scan): New description.
* gimple-ssa-strength-reduction.c (find_basis_for_candidate): Limit
the time spent searching for a basis.
* params.def (PARAM_MAX_SLSR_CANDIDATE_SCAN): New param.
From-SVN: r191178
|
|
2012-09-11 Richard Guenther <rguenther@suse.de>
* gimple.h (gimple_register_type): Remove.
(print_gimple_types_stats): Adjust prototype.
* lto-streamer.h (print_lto_report): Likewise.
* lto-streamer.c (print_lto_report): Adjust.
* gimple.c (gimple_types, type_hash_cache, enum gtc_mode,
struct type_pair_d, lookup_type_pair, struct sccs,
next_dfs_num, gtc_next_dfs_num, struct gimple_type_leader_entry_s,
gimple_type_leader, gimple_lookup_type_leader, compare_type_names_p,
gtc_visit, gimple_types_compatible_p_1, gimple_types_compatible_p,
visit, iterative_hash_name, struct type_hash_pair,
type_hash_pair_compare, iterative_hash_gimple_type, gimple_type_hash,
gimple_type_eq, gimple_register_type_1, gimple_register_type):
Move to lto/lto.c.
(print_gimple_types_stats): Adjust.
(free_gimple_type_tables): Likewise.
lto/
* lto.c (gimple_types, type_hash_cache, enum gtc_mode,
struct type_pair_d, lookup_type_pair, struct sccs,
next_dfs_num, gtc_next_dfs_num, struct gimple_type_leader_entry_s,
gimple_type_leader, gimple_lookup_type_leader, compare_type_names_p,
gtc_visit, gimple_types_compatible_p_1, gimple_types_compatible_p,
visit, iterative_hash_name, struct type_hash_pair,
type_hash_pair_compare, iterative_hash_gimple_type, gimple_type_hash,
gimple_type_eq, gimple_register_type_1, gimple_register_type):
Move here from gimple.c
(read_cgraph_and_symbols): Free hash tables here.
(print_lto_report_1): New function wrapping print_lto_report.
(do_whole_program_analysis): Call it.
(lto_main): Likewise.
From-SVN: r191177
|
|
2012-09-11 Richard Guenther <rguenther@suse.de>
* graphite-scop-detection.c (move_sd_regions): Adjust for VEC
changes.
(scopdet_basic_block_info): Likewise.
(build_scops_1): Likewise.
(limit_scops): Likewise.
From-SVN: r191175
|
|
2012-09-11 Richard Guenther <rguenther@suse.de>
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.
From-SVN: r191174
|
|
2012-09-10 Andrew Pinski <apinski@cavium.com>
PR tree-opt/54362
* trans-mem.c (thread_private_new_memory): Handle COND_EXPR also.
2012-09-10 Andrew Pinski <apinski@cavium.com>
PR tree-opt/c54362
* gcc.dg/tm/memopt-16.c: New testcase.
From-SVN: r191173
|
|
2012-09-10 Andrew Pinski <apinski@cavium.com>
PR tree-opt/54362
* trans-mem.c (thread_private_new_memory): Handle COND_EXPR also.
2012-09-10 Andrew Pinski <apinski@cavium.com>
PR tree-opt/c54362
* gcc.dg/tm/memopt-16.c: New testcase.
From-SVN: r191172
|
|
a pre-existing state.
* config/m68k/m68k.c (m68k_sched_dfa_post_advance_cycle): Support
starting scheduling from a pre-existing state.
From-SVN: r191171
|
|
/cp
2012-09-10 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/54541
PR c++/54542
* call.c (build_cxx_call): Add tsubst_flags_t parameter, use
require_complete_type_sfinae.
(build_op_delete_call, build_over_call): Adjust.
* typeck.c (build_x_compound_expr_from_vec): Add tsubst_flags_t
parameter.
(cp_build_function_call_vec): Adjust.
* init.c (build_new_1): Likewise.
* rtti.c (throw_bad_cast, throw_bad_typeid, build_dynamic_cast_1):
Likewise.
* optimize.c (build_delete_destructor_body): Likewise.
* cp-tree.h: Adjust declarations.
* call.c (convert_arg_to_ellipsis): Use require_complete_type_sfinae.
/testsuite
2012-09-10 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/54541
PR c++/54542
* g++.dg/cpp0x/sfinae40.C: New.
* g++.dg/cpp0x/sfinae41.C: Likewise.
From-SVN: r191170
|
|
From-SVN: r191169
|
|
Several VEC member functions that accept an element 'T' used to have
two overloads: one taking 'T', the second taking 'T *'.
This used to be needed because of the interface dichotomy between
vectors of objects and vectors of pointers. In the past, vectors of
pointers would use pass-by-value semantics, but vectors of objects
would use pass-by-reference semantics. This is no longer necessary,
but the distinction had remained.
The main side-effect of this change is some code reduction in code
that manipulates vectors of objects. For instance,
- struct iterator_use *iuse;
-
- iuse = VEC_safe_push (iterator_use, heap, iterator_uses, NULL);
- iuse->iterator = iterator;
- iuse->ptr = ptr;
+ struct iterator_use iuse = {iterator, ptr};
+ VEC_safe_push (iterator_use, heap, iterator_uses, iuse);
Compile time performance was not affected.
Tested on x86_64 and ppc64.
Also built all-gcc on all targets using VEC routines: arm, bfin, c6x,
epiphany, ia64, mips, sh, spu, and vms.
2012-09-10 Diego Novillo <dnovillo@google.com>
* vec.h (vec_t::quick_push): Remove overload that accepts 'T *'.
Update all users.
(vec_t::safe_push): Likewise.
(vec_t::quick_insert): Likewise.
(vec_t::lower_bound): Likewise.
(vec_t::safe_insert): Likewise.
(vec_t::replace): Change second argument to 'T &'.
From-SVN: r191165
|
|
PR c++/54538
PR c++/53783
* pt.c (tsubst_copy_and_build) [LAMBDA_EXPR]: Go back to using RECUR
for LAMBDA_EXPR_EXTRA_SCOPE except for function scope.
From-SVN: r191164
|
|
From-SVN: r191162
|
|
PR target/54089
* config/sh/sh.h (SH_DYNAMIC_SHIFT_COST): Set always to 1 if
dynamic shifts are available.
(SHIFT_COUNT_TRUNCATED): Always define to 0. Correct comment.
* config/sh/sh.c (ashl_lshr_seq, ext_ashl_lshr_seq): Add comments.
* config/sh/predicates.md (shift_count_operand): Allow
arith_reg_operand even if TARGET_DYNSHIFT is false.
* config/sh/sh.md (ashlsi3, lshrsi3): Expand library call patterns
if needed.
(ashlsi3_d_call, lshrsi3_d_call): New insns.
PR target/54089
* config/sh/lib1funcs.S (ashlsi3): Reimplement as ashlsi3_r0.
(lshrsi3): Reimplement as lshrsi3_r0.
PR target/54089
* gcc.target/sh/pr54089-3.c: New.
From-SVN: r191161
|
|
gcc/
* ira.c (setup_pressure_classes): Handle synonymous classes.
From-SVN: r191159
|
|
2012-09-10 Marc Glisse <marc.glisse@inria.fr>
gcc/
* tree-ssa-forwprop.c (simplify_bitfield_ref): New function.
(ssa_forward_propagate_and_combine): Call it.
gcc/testsuite/
* gcc.dg/tree-ssa/forwprop-21.c: New testcase.
From-SVN: r191158
|
|
2012-09-10 Steve Ellcey <sellcey@mips.com>
* config.gcc: Add mips*-mti-linux* target
Handle with_synci like other options.
* config/mips/gnu-user64.h (LINUX64_DRIVER_SELF_SPECS): New.
(DRIVER_SELF_SPECS): Define in terms of LINUX64_DRIVER_SELF_SPECS.
* config/mips/mips.h (MIPS_ISA_SYNCI_SPEC): New.
* config/mips/mti-linux.h: New file.
* config/mips/t-mti-linux: New file.
From-SVN: r191155
|
|
From-SVN: r191154
|
|
testsuite/
* gcc.dg/pr52558-2.c: Delete.
* gcc.dg/simulate-thread/speculative-store-3.c: New.
From-SVN: r191153
|
|
2012-09-10 Marc Glisse <marc.glisse@inria.fr>
gcc/
* tree-ssa-forwprop.c (simplify_permutation): Handle CONSTRUCTOR.
gcc/testsuite/
* gcc.dg/tree-ssa/forwprop-20.c: New testcase.
From-SVN: r191151
|
|
2012-09-10 Martin Jambor <mjambor@suse.cz>
* params.def (PARAM_IPA_MAX_AGG_ITEMS): New parameter.
* ipa-prop.c: Include params.h.
(IPA_MAX_AFF_JF_ITEMS): Removed.
(determine_known_aggregate_parts): Use param value of
PARAM_IPA_MAX_AGG_ITEMS instead of IPA_MAX_AFF_JF_ITEMS.
* Makefile.in (ipa-prop.o): Add PARAMS_H dependency.
From-SVN: r191150
|
|
2012-09-10 Richard Guenther <rguenther@suse.de>
PR tree-optimization/54520
* tree-ssa-threadupdate.c (def_split_header_continue_p):
Properly consider sub-loops.
* gcc.dg/torture/pr54520.c: New testcase.
From-SVN: r191141
|
|
are erroneously defined as deleted)
PR c++/54506
* decl.c (move_signature_fn_p): Split out from move_fn_p.
* method.c (process_subob_fn): Use it.
* cp-tree.h: Declare it.
From-SVN: r191140
|