jakub [Mon, 9 Sep 2013 17:09:59 +0000 (17:09 +0000)]
PR tree-optimization/58364
* tree-ssa-reassoc.c (init_range_entry): For BIT_NOT_EXPR on
BOOLEAN_TYPE, only invert in_p and continue with arg0 if
the current range can't be an unconditional true or false.
* gcc.c-torture/execute/pr58364.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202409
138bc75d-0d04-0410-961f-
82ee72b054a4
jgreenhalgh [Mon, 9 Sep 2013 15:16:03 +0000 (15:16 +0000)]
[AArch64] obvious - Fix parameter to vrsqrte_f64
gcc/
* config/aarch64/arm_neon.h (vrsqrte_f64): Fix parameter type.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202407
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Mon, 9 Sep 2013 15:07:58 +0000 (15:07 +0000)]
* ipa-prop.c (ipa_modify_call_arguments): Initialize deref_align.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202406
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Mon, 9 Sep 2013 14:47:21 +0000 (14:47 +0000)]
2013-09-09 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/43452
* doc/invoke.texi (-Wdelete-incomplete): Document it.
/c-family
2013-09-09 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/43452
* c.opt (Wdelete-incomplete): Add.
/cp
2013-09-09 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/43452
* init.c (build_vec_delete_1): When the type is incomplete emit a
warning, enabled by default (not an error).
(build_delete): Adjust to use OPT_Wdelete_incomplete.
/testsuite
2013-09-09 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/43452
* g++.dg/warn/Wdelete-incomplete-1.C: New.
* g++.dg/warn/Wdelete-incomplete-2.C: Likewise.
* g++.dg/init/delete1.C: Adjust.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202405
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Mon, 9 Sep 2013 14:31:16 +0000 (14:31 +0000)]
2013-09-09 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/43452
* doc/invoke.texi (-Wdelete-incomplete): Document it.
/c-family
2013-09-09 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/43452
* c.opt (Wdelete-incomplete): Add.
/cp
2013-09-09 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/43452
* init.c (build_vec_delete_1): When the type is incomplete emit a
warning, enabled by default (not an error).
(build_delete): Adjust to use OPT_Wdelete_incomplete.
/testsuite
2013-09-09 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/43452
* g++.dg/warn/Wdelete-incomplete-1.C: New.
* g++.dg/warn/Wdelete-incomplete-2.C: Likewise.
* g++.dg/init/delete1.C: Adjust.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202404
138bc75d-0d04-0410-961f-
82ee72b054a4
ibolton [Mon, 9 Sep 2013 13:53:18 +0000 (13:53 +0000)]
Improve handling of constants destined for FP_REGS on AArch64
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202403
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Mon, 9 Sep 2013 13:39:47 +0000 (13:39 +0000)]
/cp
2013-09-09 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58362
* error.c (location_of): Don't handle PARM_DECLs specially.
/testsuite
2013-09-09 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58362
* g++.dg/warn/Wunused-parm-5.C: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202402
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Mon, 9 Sep 2013 13:34:44 +0000 (13:34 +0000)]
2013-09-09 Paolo Carlini <paolo.carlini@oracle.com>
* error.c (dump_expr, [PSEUDO_DTOR_EXPR]): Fix.
* cxx-pretty-print.c (cxx_pretty_printer::postfix_expression):
Tweak, TREE_OPERAND (t, 1) may be null.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202401
138bc75d-0d04-0410-961f-
82ee72b054a4
ktkachov [Mon, 9 Sep 2013 13:32:50 +0000 (13:32 +0000)]
[gcc/]
2013-09-09 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* config/aarch64/aarch64.c (aarch64_select_cc_mode): Return CC_SWP for
comparison with negated operand.
* config/aarch64/aarch64.md (compare_neg<mode>): Match canonical RTL form.
[gcc/testsuite/]
2013-09-09 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* gcc.target/aarch64/cmn-neg.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202400
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Mon, 9 Sep 2013 13:18:38 +0000 (13:18 +0000)]
2013-09-09 Richard Biener <rguenther@suse.de>
PR middle-end/58326
* cfgloopmanip.c (fix_bb_placements): When fixing the placement
of a subloop record all its block as affecting loop-closed SSA form.
* gcc.dg/torture/pr58326-1.c: New testcase.
* gcc.dg/torture/pr58326-2.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202399
138bc75d-0d04-0410-961f-
82ee72b054a4
ktkachov [Mon, 9 Sep 2013 13:16:44 +0000 (13:16 +0000)]
2013-09-09 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
PR target/57735
* g++.dg/ext/pr57735.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202398
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Mon, 9 Sep 2013 13:07:18 +0000 (13:07 +0000)]
gcc/
* expmed.c (lshift_value): Take an unsigned HOST_WIDE_INT instead
of an rtx/bitpos pair.
(store_fixed_bit_field): Update accordingly.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202395
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Mon, 9 Sep 2013 13:07:10 +0000 (13:07 +0000)]
gcc/
* asan.c (asan_emit_stack_protection): Use gen_int_mode instead of
GEN_INT.
* builtins.c (expand_errno_check): Likewise.
* dwarf2cfi.c (init_return_column_size): Likewise.
* except.c (sjlj_mark_call_sites): Likewise.
* expr.c (move_by_pieces_1, store_by_pieces_2): Likewise.
* lra-constraints.c (emit_inc): Likewise.
* ree.c (combine_set_extension): Likewise.
* regmove.c (fixup_match_2): Likewise.
* reload1.c (inc_for_reload): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202394
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Mon, 9 Sep 2013 13:07:02 +0000 (13:07 +0000)]
gcc/
* combine.c (simplify_set, expand_field_assignment, extract_left_shift)
(force_to_mode, simplify_shift_const_1, simplify_comparison):
Use gen_int_mode with the mode of the associated simplify_* call.
* explow.c (probe_stack_range, anti_adjust_stack_and_probe): Likewise.
* expmed.c (expand_shift_1): Likewise.
* function.c (instantiate_virtual_regs_in_insn): Likewise.
* loop-iv.c (iv_number_of_iterations): Likewise.
* loop-unroll.c (unroll_loop_runtime_iterations): Likewise.
* simplify-rtx.c (simplify_binary_operation_1): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202393
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Mon, 9 Sep 2013 13:06:53 +0000 (13:06 +0000)]
gcc/
* asan.c (asan_clear_shadow): Use gen_int_mode with the mode
of the associated expand_* call.
(asan_emit_stack_protection): Likewise.
* builtins.c (round_trampoline_addr): Likewise.
* explow.c (allocate_dynamic_stack_space, probe_stack_range): Likewise.
* expmed.c (expand_smod_pow2, expand_sdiv_pow2, expand_divmod)
(emit_store_flag): Likewise.
* expr.c (emit_move_resolve_push, push_block, emit_single_push_insn_1)
(emit_push_insn, optimize_bitfield_assignment_op, expand_expr_real_1):
Likewise.
* function.c (instantiate_virtual_regs_in_insn): Likewise.
* ifcvt.c (noce_try_store_flag_constants): Likewise.
* loop-unroll.c (unroll_loop_runtime_iterations): Likewise.
* modulo-sched.c (generate_prolog_epilog): Likewise.
* optabs.c (expand_binop, widen_leading, expand_doubleword_clz)
(expand_ctz, expand_ffs, expand_unop): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202392
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Mon, 9 Sep 2013 13:06:43 +0000 (13:06 +0000)]
gcc/
* alias.c (addr_side_effect_eval): Use gen_int_mode with the mode
of the associated gen_rtx_* call.
* caller-save.c (init_caller_save): Likewise.
* combine.c (find_split_point, make_extraction): Likewise.
(make_compound_operation): Likewise.
* dwarf2out.c (mem_loc_descriptor): Likewise.
* explow.c (plus_constant, probe_stack_range): Likewise.
* expmed.c (expand_mult_const): Likewise.
* expr.c (emit_single_push_insn_1, do_tablejump): Likewise.
* reload1.c (init_reload): Likewise.
* valtrack.c (cleanup_auto_inc_dec): Likewise.
* var-tracking.c (adjust_mems): Likewise.
* modulo-sched.c (sms_schedule): Likewise, but use gen_rtx_GT
rather than gen_rtx_fmt_ee.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202391
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Mon, 9 Sep 2013 12:09:50 +0000 (12:09 +0000)]
PR middle-end/58294
* value-prof.c (gimple_ic): Copy also abnormal edges.
* g++.dg/torture/PR58294.C: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202389
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Mon, 9 Sep 2013 09:23:54 +0000 (09:23 +0000)]
gcc/
* asan.c (asan_shadow_cst): Use gen_int_mode.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202384
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Mon, 9 Sep 2013 07:37:53 +0000 (07:37 +0000)]
* ipa-profile.c: Add toplevel comment.
(ipa_propagate_frequency_1): Be more conservative when profile is read.
(contains_hot_call_p): New function.
(ipa_propagate_frequency): Set frequencies based on counts when
profile is read.
* predict.c (compute_function_frequency): Use PROFILE_READ gueard for
profile; do not tamper with profile after inlining if it is read.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202382
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Mon, 9 Sep 2013 06:13:24 +0000 (06:13 +0000)]
* ipa-prop.c (try_make_edge_direct_simple_call): Do not special case
speculative edges.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202381
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Mon, 9 Sep 2013 06:12:21 +0000 (06:12 +0000)]
* ipa.c (walk_polymorphic_call_targets): Fix redirection before IPA
summary generation.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202380
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Mon, 9 Sep 2013 03:07:28 +0000 (03:07 +0000)]
* tree-ssa-threadedge.c (thread_across_edge): Fix initialization
of 'found'.
* gcc.c-torture/compile/pr58340.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202379
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Mon, 9 Sep 2013 00:16:52 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202377
138bc75d-0d04-0410-961f-
82ee72b054a4
ak [Sun, 8 Sep 2013 23:41:38 +0000 (23:41 +0000)]
Fix handling of very long asm statements in inliner
An auto generated program with a 6.4mio line asm statement gave
with 4.7 and 4.8:
xxx.c:6400017:1: internal compiler error: in account_size_time, at
ipa-inline-analysis.c:601
The problem is that the inliner counts the number of lines in the asm
statement and multiplies that with a weight. With the weight this
overflows 32bit signed int, and triggers an assert for negative time.
Fix this by limiting the number of lines to 1000 for asm cost
estimation. The RTL backend also does similar multiplications for
jump shortening. I haven't tried to address this, but presumably
it's less likely to result in a failure.
gcc/:
2013-09-08 Andi Kleen <ak@linux.intel.com>
* tree-inline.c (estimate_num_insns): Limit asm cost to 1000.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202374
138bc75d-0d04-0410-961f-
82ee72b054a4
ctice [Sun, 8 Sep 2013 23:35:14 +0000 (23:35 +0000)]
Update libvtv testsuite so that most of the tests now run under
the dejagnu test harness.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202373
138bc75d-0d04-0410-961f-
82ee72b054a4
ctice [Sun, 8 Sep 2013 21:58:07 +0000 (21:58 +0000)]
Fix PR 58300: Re-order events with -fvtable-verify=preinit
flag, so constructor init function is not written to assembly
file until after call to cgraph_process_new_functions.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202371
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Sun, 8 Sep 2013 20:32:46 +0000 (20:32 +0000)]
* ipa.c (walk_polymorphic_call_targets): Fix inliner summary update.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202370
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Sun, 8 Sep 2013 18:15:49 +0000 (18:15 +0000)]
gcc/
* ira.c (update_equiv_regs): Only call set_paradoxical_subreg
for non-debug insns.
* lra.c (new_insn_reg): Take the containing insn as a parameter.
Only modify lra_reg_info[].biggest_mode if it's non-debug insn.
(collect_non_operand_hard_regs, add_regs_to_insn_regno_info): Update
accordingly.
gcc/testsuite/
* g++.dg/debug/ra1.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202369
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Sun, 8 Sep 2013 16:42:21 +0000 (16:42 +0000)]
* testsuite/g++.dg/ipa/devirt-11.C: Update template.
* testsuite/g++.dg/ipa/devirt-16.C: New testcase.
* testsuite/g++.dg/ipa/devirt-17.C: New testcase.
* testsuite/g++.dg/ipa/devirt-18.C: New testcase.
* cgraphunit.c (walk_polymorphic_call_targets): Permit 0 possible
targets and devirtualize to BUILT_IN_UNREACHABLE.
* timevar.def (TV_IPA_UNREACHABLE): New timevar.
* ipa.c (walk_polymorphic_call_targets): New function.
(symtab_remove_unreachable_nodes): Use it; do not keep all virtual
functions; use the new timevar.
* ipa-devirt.c (maybe_record_node): Do not insert static nodes that
was removed from the program.
(record_binfo): If BINFO corresponds to an anonymous namespace, we may
not consider it in the walk when its vtable is dead.
(possible_polymorphic_call_targets_1): Pass anonymous flag to
record_binfo.
(devirt_variable_node_removal_hook): New function.
(possible_polymorphic_call_targets): Also register
devirt_variable_node_removal_hook.
(ipa_devirt): Do not do non-speculative devirtualization.
(gate_ipa_devirt): One execute if devirtualizing speculatively.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202368
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Sun, 8 Sep 2013 16:18:04 +0000 (16:18 +0000)]
* cgraph.h (varpool_node_hook, varpool_node_hook_list,
varpool_add_node_removal_hook, varpool_add_variable_insertion_hook,
varpool_remove_variable_insertion_hook): Declare.
* varpool.c (varpool_node_hook_list): New structure.
(first_varpool_node_removal_hook,
first_varpool_variable_insertion_hook): New variables.
(varpool_add_node_removal_hook, varpool_remove_node_removal_hook,
varpool_call_node_removal_hooks, varpool_add_variable_insertion_hook,
varpool_remove_variable_insertion_hook,
varpool_call_variable_insertion_hooks): New functions.
(varpool_remove_node): Use it.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202367
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Sun, 8 Sep 2013 14:30:27 +0000 (14:30 +0000)]
2013-09-08 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/54941
* diagnostic.c (diagnostic_build_prefix): When s.file is
"<built-in>" don't output line and column numbers.
/testsuite
2013-09-08 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/54941
* g++.dg/overload/new1.C: Adjust.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202366
138bc75d-0d04-0410-961f-
82ee72b054a4
vries [Sun, 8 Sep 2013 08:17:47 +0000 (08:17 +0000)]
Add missing ChangeLog entry for r199969.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202365
138bc75d-0d04-0410-961f-
82ee72b054a4
amylaar [Sun, 8 Sep 2013 06:16:24 +0000 (06:16 +0000)]
gcc/c-family:
* c-common.c (same_scalar_type_ignoring_signedness): Delete.
(vector_types_compatible_elements_p): New function.
* c-common.h: (same_scalar_type_ignoring_signedness): Delete
declaration.
(vector_types_compatible_elements_p): Declare.
gcc/c:
* c-typeck.c (build_binary_op): Use vector_types_compatible_elements_p.
gcc/cp:
* typeck.c (cp_build_binary_op): Use vector_types_compatible_elements_p.
gcc/testsuite:
* c-c++-common/opaque-vector.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202364
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Sun, 8 Sep 2013 00:16:31 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202363
138bc75d-0d04-0410-961f-
82ee72b054a4
vries [Sat, 7 Sep 2013 23:31:58 +0000 (23:31 +0000)]
Testcase for PR58282
2013-09-08 Tom de Vries <tom@codesourcery.com>
PR c++/58282
* g++.dg/tm/noexcept-6.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202360
138bc75d-0d04-0410-961f-
82ee72b054a4
vries [Sat, 7 Sep 2013 23:31:48 +0000 (23:31 +0000)]
Handle noexcept on transactions with -fno-exceptions
2013-09-08 Tom de Vries <tom@codesourcery.com>
PR c++/58282
* except.c (build_must_not_throw_expr): Handle
flag_exceptions.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202359
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Sat, 7 Sep 2013 22:57:49 +0000 (22:57 +0000)]
2013-09-07 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/58341
* include/bits/stl_algobase.h (copy_backward): Fix documentation
per DR 1206.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202357
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Sat, 7 Sep 2013 21:35:38 +0000 (21:35 +0000)]
2013-09-07 Paolo Carlini <paolo.carlini@oracle.com>
* testsuite/Makefile.am: Remove #if ENABLE_VTABLE_VERIFY check around
definition of check-am:.
* testsuite/Makefile.in: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202356
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Sat, 7 Sep 2013 07:48:59 +0000 (07:48 +0000)]
* cgraphunit.c (expand_thunk): Get body before touching arguments.
* lto-streamer-out.c: Stream thunks, too.
* lto-streamer-in.c (input_function): Pop cfun here
(lto_read_body): Instead of here.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202352
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Sat, 7 Sep 2013 00:16:36 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202350
138bc75d-0d04-0410-961f-
82ee72b054a4
ctice [Fri, 6 Sep 2013 17:56:35 +0000 (17:56 +0000)]
Add documentation for the options --enable-vtable-verify,
--disable-vtable-verify and --disable-libvtv. Also
update configure and make files in libvtv not to use
--enable-vtable-verify.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202346
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Fri, 6 Sep 2013 17:41:48 +0000 (17:41 +0000)]
* tree-ssa-dom.c (cprop_into_successor_phis): Also propagate
edge implied equivalences into successor phis.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202345
138bc75d-0d04-0410-961f-
82ee72b054a4
amylaar [Fri, 6 Sep 2013 17:37:50 +0000 (17:37 +0000)]
gcc:
* resource.c (mark_referenced_resources): Handle COND_EXEC.
gcc/testsuite:
* gcc.target/arc/cond-set-use.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202344
138bc75d-0d04-0410-961f-
82ee72b054a4
amylaar [Fri, 6 Sep 2013 17:27:54 +0000 (17:27 +0000)]
2013-09-06 Claudiu Zissulescu <claziss@synopsys.com>
* resource.c (mark_target_live_regs): Compute resources taking
into account if a call is predicated or not.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202343
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Fri, 6 Sep 2013 15:28:02 +0000 (15:28 +0000)]
* toplev.c (output_stack_usage): Be prepared for suffixes created by
the compiler in the function names.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202339
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Fri, 6 Sep 2013 15:02:03 +0000 (15:02 +0000)]
PR middle-end/58094
* ipa-inline.c (has_caller_p): New function.
(want_inline_function_to_all_callers_p): Use it.
(sum_callers, inline_to_all_callers): Break out from ...
(ipa_inline): ... here.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202337
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Fri, 6 Sep 2013 14:39:17 +0000 (14:39 +0000)]
* i386.c (ix86_hard_regno_mode_ok): AVX modes are valid only when
AVX is enabled.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202335
138bc75d-0d04-0410-961f-
82ee72b054a4
jgreenhalgh [Fri, 6 Sep 2013 13:59:47 +0000 (13:59 +0000)]
[AArch64] Use neon_<ldm,stm>_2 where appropriate as "type".
gcc/
* config/aarch64/aarch64.md
(*movtf_aarch64): Use neon_<ls>dm_2 as type where v8type
is fpsimd_<load/store>2.
(load_pair<mode>): Likewise.
(store_pair<mode>): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202334
138bc75d-0d04-0410-961f-
82ee72b054a4
jgreenhalgh [Fri, 6 Sep 2013 13:58:09 +0000 (13:58 +0000)]
[AArch64, ARM] Introduce "mrs" type attribute.
gcc/
* config/arm/types.md (type): Add "mrs" type.
* config/aarch64/aarch64.md
(aarch64_load_tp_hard): Make type "mrs".
* config/arm/arm.md
(load_tp_hard): Make type "mrs".
* config/arm/cortex-a15.md: Update with new attributes.
* config/arm/cortex-a5.md: Update with new attributes.
* config/arm/cortex-a53.md: Update with new attributes.
* config/arm/cortex-a7.md: Update with new attributes.
* config/arm/cortex-a8.md: Update with new attributes.
* config/arm/cortex-a9.md: Update with new attributes.
* config/arm/cortex-m4.md: Update with new attributes.
* config/arm/cortex-r4.md: Update with new attributes.
* config/arm/fa526.md: Update with new attributes.
* config/arm/fa606te.md: Update with new attributes.
* config/arm/fa626te.md: Update with new attributes.
* config/arm/fa726te.md: Update with new attributes.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202333
138bc75d-0d04-0410-961f-
82ee72b054a4
jgreenhalgh [Fri, 6 Sep 2013 13:56:01 +0000 (13:56 +0000)]
[AArch64, ARM] Use "multiple" for type, where more than one instruction is used for a move
gcc/
* config/aarch64/aarch64.md
(*movti_aarch64): Use "multiple" for type where v8type is "move2".
(*movtf_aarch64): Likewise.
* config/arm/arm.md
(thumb1_movdi_insn): Use "multiple" for type where more than one
instruction is used for a move.
(*arm32_movhf): Likewise.
(*thumb_movdf_insn): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202332
138bc75d-0d04-0410-961f-
82ee72b054a4
jgreenhalgh [Fri, 6 Sep 2013 13:53:51 +0000 (13:53 +0000)]
[AArch64, ARM] Rename the FCPYS type to FMOV
gcc/
* config/arm/types.md (type): Rename fcpys to fmov.
* config/arm/vfp.md
(*arm_movsi_vfp): Rename type fcpys as fmov.
(*thumb2_movsi_vfp): Likewise
(*movhf_vfp_neon): Likewise
(*movhf_vfp): Likewise
(*movsf_vfp): Likewise
(*thumb2_movsf_vfp): Likewise
(*movsfcc_vfp): Likewise
(*thumb2_movsfcc_vfp): Likewise
* config/aarch64/aarch64-simd.md
(move_lo_quad_<mode>): Replace type mov_reg with fmovs.
* config/aarch64/aarch64.md
(*movsi_aarch64): Replace type mov_reg with fmovs.
(*movdi_aarch64): Likewise
(*movsf_aarch64): Likewise
(*movdf_aarch64): Likewise
* config/arm/arm.c
(cortexa7_older_only): Rename TYPE_FCPYS to TYPE_FMOV.
* config/arm/iwmmxt.md
(*iwmmxt_movsi_insn): Rename type fcpys as fmov.
* config/arm/arm1020e.md: Update with new attributes.
* config/arm/cortex-a15-neon.md: Update with new attributes.
* config/arm/cortex-a5.md: Update with new attributes.
* config/arm/cortex-a53.md: Update with new attributes.
* config/arm/cortex-a7.md: Update with new attributes.
* config/arm/cortex-a8-neon.md: Update with new attributes.
* config/arm/cortex-a9.md: Update with new attributes.
* config/arm/cortex-m4-fpu.md: Update with new attributes.
* config/arm/cortex-r4f.md: Update with new attributes.
* config/arm/marvell-pj4.md: Update with new attributes.
* config/arm/vfp11.md: Update with new attributes.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202331
138bc75d-0d04-0410-961f-
82ee72b054a4
jgreenhalgh [Fri, 6 Sep 2013 13:42:12 +0000 (13:42 +0000)]
[Patch AArch64] Fix types for some multiply instructions.
gcc/
* config/aarch64/aarch64.md
(*madd<mode>): Fix type attribute.
(*maddsi_uxtw): Likewise.
(*msub<mode>): Likewise.
(*msubsi_uxtw): Likewise.
(<su_optab>maddsidi4): Likewise.
(<su_optab>msubsidi4): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202330
138bc75d-0d04-0410-961f-
82ee72b054a4
jgreenhalgh [Fri, 6 Sep 2013 13:39:57 +0000 (13:39 +0000)]
[Patch ARM AARCH64] Split "type" attributes: fdiv
gcc/
* config/arm/types.md: Split fdiv<sd> as fsqrt<sd>, fdiv<sd>.
* config/arm/arm.md (core_cycles): Remove fdiv.
* config/arm/vfp.md:
(*sqrtsf2_vfp): Update for attribute changes.
(*sqrtdf2_vfp): Likewise.
* config/aarch64/aarch64.md:
(sqrt<mode>2): Update for attribute changes.
* config/arm/arm1020e.md: Update with new attributes.
* config/arm/cortex-a15-neon.md: Update with new attributes.
* config/arm/cortex-a5.md: Update with new attributes.
* config/arm/cortex-a53.md: Update with new attributes.
* config/arm/cortex-a7.md: Update with new attributes.
* config/arm/cortex-a8-neon.md: Update with new attributes.
* config/arm/cortex-a9.md: Update with new attributes.
* config/arm/cortex-m4-fpu.md: Update with new attributes.
* config/arm/cortex-r4f.md: Update with new attributes.
* config/arm/marvell-pj4.md: Update with new attributes.
* config/arm/vfp11.md: Update with new attributes.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202329
138bc75d-0d04-0410-961f-
82ee72b054a4
jgreenhalgh [Fri, 6 Sep 2013 13:37:56 +0000 (13:37 +0000)]
[ARM,AARCH64] Insn type reclassification. Split f_cvt type.
gcc/
* config/arm/types.md
(type): Split f_cvt as f_cvt, f_cvtf2i, f_cvti2f.
* config/aarch64/aarch64.md
(l<fcvt_pattern><su_optab><GPF:mode><GPI:mode>2): Update with
new attributes.
(fix_trunc<GPF:mode><GPI:mode>2): Likewise.
(fixuns_trunc<GPF:mode><GPI:mode>2): Likewise.
(float<GPI:mode><GPF:mode>2): Likewise.
* config/arm/vfp.md
(*truncsisf2_vfp): Update with new attributes.
(*truncsidf2_vfp): Likewise.
(fixuns_truncsfsi2): Likewise.
(fixuns_truncdfsi2): Likewise.
(*floatsisf2_vfp): Likewise.
(*floatsidf2_vfp): Likewise.
(floatunssisf2): Likewise.
(floatunssidf2): Likewise.
(*combine_vcvt_f32_<FCVTI32typename>): Likewise.
(*combine_vcvt_f64_<FCVTI32typename>): Likewise.
* config/arm/arm1020e.md: Update with new attributes.
* config/arm/cortex-a15-neon.md: Update with new attributes.
* config/arm/cortex-a5.md: Update with new attributes.
* config/arm/cortex-a53.md: Update with new attributes.
* config/arm/cortex-a7.md: Update with new attributes.
* config/arm/cortex-a8-neon.md: Update with new attributes.
* config/arm/cortex-a9.md: Update with new attributes.
* config/arm/cortex-m4-fpu.md: Update with new attributes.
* config/arm/cortex-r4f.md: Update with new attributes.
* config/arm/marvell-pj4.md: Update with new attributes.
* config/arm/vfp11.md: Update with new attributes.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202328
138bc75d-0d04-0410-961f-
82ee72b054a4
jgreenhalgh [Fri, 6 Sep 2013 13:34:41 +0000 (13:34 +0000)]
[AArch64] Fix types of second parameter to qtbl/qtbx intrinsics
gcc/
* config/aarch64/arm_neon.h
(vqtbl<1,2,3,4><q>_s8): Fix control vector parameter type.
(vqtbx<1,2,3,4><q>_s8): Likewise.
gcc/testsuite/
* gcc.target/aarch64/table-intrinsics.c
(qtbl_tests8_< ,2,3,4>): Fix control vector parameter type.
(qtb_tests8_< ,2,3,4>): Likewise.
(qtblq_tests8_< ,2,3,4>): Likewise.
(qtbxq_tests8_< ,2,3,4>): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202327
138bc75d-0d04-0410-961f-
82ee72b054a4
jgreenhalgh [Fri, 6 Sep 2013 13:21:38 +0000 (13:21 +0000)]
[Patch ARM] Add "type" attribute to Everything!
gcc/
* config/arm/types.md: Add "no_insn", "multiple" and "untyped"
types.
* config/arm/arm-fixed.md: Add type attribute to all insn
patterns.
* config/arm/vfp.md: Add type attribute to all insn patterns.
* config/arm/arm.md: Add type attribute to all insn patterns.
* config/arm/thumb2.md: Add type attribute to all insn patterns.
* config/arm/arm1020e.md: Update with new attributes.
* config/arm/arm1026ejs.md: Update with new attributes.
* config/arm/arm1136jfs.md: Update with new attributes.
* config/arm/arm926ejs.md: Update with new attributes.
* config/arm/cortex-a15.md: Update with new attributes.
* config/arm/cortex-a5.md: Update with new attributes.
* config/arm/cortex-a53.md: Update with new attributes.
* config/arm/cortex-a7.md: Update with new attributes.
* config/arm/cortex-a8.md: Update with new attributes.
* config/arm/cortex-a9.md: Update with new attributes.
* config/arm/cortex-m4.md: Update with new attributes.
* config/arm/cortex-r4.md: Update with new attributes.
* config/arm/fa526.md: Update with new attributes.
* config/arm/fa606te.md: Update with new attributes.
* config/arm/fa626te.md: Update with new attributes.
* config/arm/fa726te.md: Update with new attributes.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202323
138bc75d-0d04-0410-961f-
82ee72b054a4
jgreenhalgh [Fri, 6 Sep 2013 11:02:52 +0000 (11:02 +0000)]
[Patch AArch64] Fix register constraints for lane intrinsics.
gcc/
* config/aarch64/aarch64-simd.md
(aarch64_sqdml<SBINQOPS:as>l_n<mode>_internal): Use
<vwx> iterator to ensure correct register choice.
(aarch64_sqdml<SBINQOPS:as>l2_n<mode>_internal): Likewise.
(aarch64_sqdmull_n<mode>): Likewise.
(aarch64_sqdmull2_n<mode>_internal): Likewise.
* config/aarch64/arm_neon.h
(vml<as><q>_lane<q>_<su>16): Use 'x' constraint for element vector.
(vml<as><q>_n_<su>16): Likewise.
(vml<as>l_high_lane<q>_<su>16): Likewise.
(vml<as>l_high_n_<su>16): Likewise.
(vml<as>l_lane<q>_<su>16): Likewise.
(vml<as>l_n_<su>16): Likewise.
(vmul<q>_lane<q>_<su>16): Likewise.
(vmul<q>_n_<su>16): Likewise.
(vmull_lane<q>_<su>16): Likewise.
(vmull_n_<su>16): Likewise.
(vmull_high_lane<q>_<su>16): Likewise.
(vmull_high_n_<su>16): Likewise.
(vqrdmulh<q>_n_s16): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202322
138bc75d-0d04-0410-961f-
82ee72b054a4
belagod [Fri, 6 Sep 2013 10:57:14 +0000 (10:57 +0000)]
2013-09-06 Tejas Belagod <tejas.belagod@arm.com>
gcc/
* config/aarch64/arm_neon.h: Fix all vdup<bhsd_lane<q> intrinsics to
have the correct lane parameter.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202321
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Fri, 6 Sep 2013 10:38:08 +0000 (10:38 +0000)]
2013-09-06 Richard Biener <rguenther@suse.de>
* cfganal.c (control_dependences::~control_dependences):
Properly free all of the vector.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202320
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Fri, 6 Sep 2013 10:36:44 +0000 (10:36 +0000)]
* Makefile.in (tree-sra.o): Update dependencies.
* tree-sra.c: Include ipa-utils.h
(scan_function): Use recursive_call_p.
(has_caller_p): New function.
(cgraph_for_node_and_aliases): Count also callers of aliases.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202319
138bc75d-0d04-0410-961f-
82ee72b054a4
kyukhin [Fri, 6 Sep 2013 10:36:30 +0000 (10:36 +0000)]
PR target/58269
* config/i386/i386.c (ix86_conditional_register_usage):
Proper initialize extended SSE registers.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202318
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Fri, 6 Sep 2013 10:33:48 +0000 (10:33 +0000)]
PR tree-optimization/58311
* ipa-devirt.c (gate_ipa_devirt): Only execute when optimizing.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202317
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Fri, 6 Sep 2013 10:13:37 +0000 (10:13 +0000)]
PR middle-end/58094
* cgraph.h (symtab_semantically_equivalent_p): Declare.
* tree-tailcall.c: Include ipa-utils.h.
(find_tail_calls): Use it.
* ipa-pure-const.c (check_call): Likewise.
* ipa-utils.c (recursive_call_p): New function.
* ipa-utils.h (recursive_call_p): Dclare.
* symtab.c (symtab_nonoverwritable_alias): Fix formatting.
(symtab_semantically_equivalent_p): New function.
* Makefile.in (tree-tailcall.o): Update dependencies.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202316
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Fri, 6 Sep 2013 09:35:23 +0000 (09:35 +0000)]
* ipa-split.c (split_function): Set DECL_NO_INLINE_WARNING_P on the
non-inlinable part.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202315
138bc75d-0d04-0410-961f-
82ee72b054a4
amylaar [Fri, 6 Sep 2013 09:31:12 +0000 (09:31 +0000)]
* gcc.dg/ipa/ipa-pta-14.c (scan-ipa-dump) [keeps_null_pointer_checks]:
Don't expect NULL in foo.result set.
* gcc.dg/tree-ssa/pta-escape-1.c (scan-tree-dump): Don't expect NULL
in ESCAPED set.
* gcc.dg/tree-ssa/pta-escape-2.c: Likewise.
* gcc.dg/tree-ssa/pta-escape-3.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202314
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Fri, 6 Sep 2013 09:06:25 +0000 (09:06 +0000)]
2013-09-06 Richard Biener <rguenther@suse.de>
* lto-streamer.h (lto_global_var_decls): Remove.
* Makefile.in (OBJS): Remove lto-symtab.o.
(lto-symtab.o): Remove.
(GTFILES): Remove lto-symtab.c
* lto-symtab.c: Move to lto/
lto/
* lto-symtab.c: Move from gcc/
* lto.h: Include vec.h.
(lto_global_var_decls): Declare.
* lto.c (lto_global_var_decls): Move definition here.
* Make-lang.in (LTO_OBJS): Add lto-symtab.o.
(lto-symtab.o): Add.
* config-lang.in (gtfiles): Add lto.h.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202313
138bc75d-0d04-0410-961f-
82ee72b054a4
krebbel [Fri, 6 Sep 2013 07:55:35 +0000 (07:55 +0000)]
2013-09-06 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* config/s390/s390.md (UNSPEC_FPINT_FLOOR, UNSPEC_FPINT_BTRUNC)
(UNSPEC_FPINT_ROUND, UNSPEC_FPINT_CEIL, UNSPEC_FPINT_NEARBYINT)
(UNSPEC_FPINT_RINT): New constant definitions.
(FPINT, fpint_name, fpint_roundingmode): New integer iterator
definition with 2 attributes.
("<FPINT:fpint_name><BFP:mode>2", "rint<BFP:mode>2")
("<FPINT:fpint_name><DFP:mode>2", "rint<DFP:mode>2"): New pattern
definitions.
2013-09-06 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* gcc.target/s390/nearestint-1.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202312
138bc75d-0d04-0410-961f-
82ee72b054a4
krebbel [Fri, 6 Sep 2013 07:54:05 +0000 (07:54 +0000)]
2013-09-06 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* config/s390/s390.md: Add "bcr_flush" value to mnemonic
attribute.
("mem_thread_fence_1"): Use bcr 14,0 for z196 and later.
Set the mnemonic attribute to "bcr_flush". Set the "z196prop"
attribute to "z196_alone".
* config/s390/2827.md: Add "bcr_flush" to "ooo_groupalone" and
"zEC12_simple".
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202311
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Fri, 6 Sep 2013 07:24:11 +0000 (07:24 +0000)]
2013-09-06 Richard Biener <rguenther@suse.de>
* basic-block.h (class control_dependences): New.
* tree-ssa-dce.c (control_dependence_map): Remove.
(cd): New global.
(EXECUTE_IF_CONTROL_DEPENDENT): Remove.
(set_control_dependence_map_bit, clear_control_dependence_bitmap,
find_pdom, find_control_dependence, find_all_control_dependences):
Move to cfganal.c.
(mark_control_dependent_edges_necessary, find_obviously_necessary_stmts,
propagate_necessity, tree_dce_init, tree_dce_done,
perform_tree_ssa_dce): Adjust.
* cfganal.c (set_control_dependence_map_bit,
clear_control_dependence_bitmap, find_pdom, find_control_dependence,
find_all_control_dependences): Move from tree-ssa-dce.c and
implement as methods of control_dependences class.
(control_dependences::control_dependences): New.
(control_dependences::~control_dependences): Likewise.
(control_dependences::get_edges_dependent_on): Likewise.
(control_dependences::get_edge): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202309
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Fri, 6 Sep 2013 00:16:51 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202305
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Thu, 5 Sep 2013 23:25:48 +0000 (23:25 +0000)]
* tree.c (types_same_for_odr): Drop overactive check.
* ipa-devirt.c (hash_type_name): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202302
138bc75d-0d04-0410-961f-
82ee72b054a4
amylaar [Thu, 5 Sep 2013 23:23:53 +0000 (23:23 +0000)]
* gcc.c-torture/execute/
20101011-1.c [__arc__] (DO_TEST): Define as 0.
* testsuite/gcc.target/arc: New directory.
* gcc.dg/torture/pr37868.c: Also skip for arc*-*-*.
* gcc.dg/stack-usage-1.c [__arc__] (SIZE): Define.
* testsuite/gcc.dg/torture/stackalign/builtin-apply-2.c
[__arc__] (STACK_ARGUMENTS_SIZE): Set to 0.
* testsuite/gcc.dg/builtin-apply2.c
[__arc__] (STACK_ARGUMENTS_SIZE): Set to 0.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202301
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Thu, 5 Sep 2013 23:06:10 +0000 (23:06 +0000)]
* cgraphunit.c (walk_polymorphic_call_targets): Break out from ...
(analyze_functions): ... here.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202299
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Thu, 5 Sep 2013 23:04:11 +0000 (23:04 +0000)]
PR middle-end/58201
* cgraphunit.c (analyze_functions): Clear AUX fields
after processing; initialize assembler name has.
* g++.dg/torture/pr58201_0.C: New testcase.
* g++.dg/torture/pr58201_1.C: New testcase.
* g++.dg/torture/pr58201.h: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202298
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Thu, 5 Sep 2013 22:48:48 +0000 (22:48 +0000)]
* gcc.dg/autopar/pr49960.c: Disable partial inlining
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202297
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Thu, 5 Sep 2013 20:28:36 +0000 (20:28 +0000)]
* tree-ssa-threadedge.c (thread_around_empty_blocks): Renamed
from thread_around_empty_block. Record threading path into PATH.
Recurse if threading through the initial block is successful.
(thread_across_edge): Corresponding changes to slightly simplify.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202296
138bc75d-0d04-0410-961f-
82ee72b054a4
jgreenhalgh [Thu, 5 Sep 2013 15:53:37 +0000 (15:53 +0000)]
[AArch64] Fix categorisation of the frecp* insns.
gcc/
* config/aarch64/aarch64.md
(type): Remove frecpe, frecps, frecpx.
(aarch64_frecp<FRECP:frecp_suffix><mode>): Move to aarch64-simd.md,
fix to be a TARGET_SIMD instruction.
(aarch64_frecps): Remove.
* config/aarch64/aarch64-simd.md
(aarch64_frecp<FRECP:frecp_suffix><mode>): New, moved from aarch64.md
(aarch64_frecps<mode>): Handle all float/vector of float modes.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202292
138bc75d-0d04-0410-961f-
82ee72b054a4
jgreenhalgh [Thu, 5 Sep 2013 15:49:15 +0000 (15:49 +0000)]
[AARCH64][Insn classification unification 3/N] ALU/shift types
2013-09-05 James Greenhalgh <james.greenhalgh@arm.com>
Sofiane Naci <sofiane.naci@arm.com>
* config/arm/types.md (define_attr "type"):
Expand "arlo_imm"
into "adr", "alu_imm", "alus_imm", "logic_imm", "logics_imm".
Expand "arlo_reg"
into "adc_reg", "adc_imm", "adcs_reg", "adcs_imm", "alu_ext",
"alu_reg", "alus_ext", "alus_reg", "bfm", "csel", "logic_reg",
"logics_reg", "rev".
Expand "arlo_shift"
into "alu_shift_imm", "alus_shift_imm", "logic_shift_imm",
"logics_shift_imm".
Expand "arlo_shift_reg"
into "alu_shift_reg", "alus_shift_reg", "logic_shift_reg",
"logics_shift_reg".
Expand "clz" into "clz, "rbit".
Rename "shift" to "shift_imm".
* config/arm/arm.md (define_attr "core_cycles"): Update for attribute
changes.
Update for attribute changes all occurrences of arlo_* and
shift* types.
* config/arm/arm-fixed.md: Update for attribute changes
all occurrences of arlo_* types.
* config/arm/thumb2.md: Update for attribute changes all occurrences
of arlo_* types.
* config/arm/arm.c (xscale_sched_adjust_cost): (rtx insn, rtx
(cortexa7_older_only): Likewise.
(cortexa7_younger): Likewise.
* config/arm/arm1020e.md (1020alu_op): Update for attribute changes.
(1020alu_shift_op): Likewise.
(1020alu_shift_reg_op): Likewise.
* config/arm/arm1026ejs.md (alu_op): Update for attribute changes.
(alu_shift_op): Likewise.
(alu_shift_reg_op): Likewise.
* config/arm/arm1136jfs.md (11_alu_op): Update for
attribute changes.
(11_alu_shift_op): Likewise.
(11_alu_shift_reg_op): Likewise.
* config/arm/arm926ejs.md (9_alu_op): Update for attribute changes.
(9_alu_shift_reg_op): Likewise.
* config/arm/cortex-a15.md (cortex_a15_alu): Update for
attribute changes.
(cortex_a15_alu_shift): Likewise.
(cortex_a15_alu_shift_reg): Likewise.
* config/arm/cortex-a5.md (cortex_a5_alu): Update for
attribute changes.
(cortex_a5_alu_shift): Likewise.
* config/arm/cortex-a53.md
(cortex_a53_alu): Update for attribute changes.
(cortex_a53_alu_shift): Likewise.
* config/arm/cortex-a7.md
(cortex_a7_alu_imm): Update for attribute changes.
(cortex_a7_alu_reg): Likewise.
(cortex_a7_alu_shift): Likewise.
* config/arm/cortex-a8.md
(cortex_a8_alu): Update for attribute changes.
(cortex_a8_alu_shift): Likewise.
(cortex_a8_alu_shift_reg): Likewise.
* config/arm/cortex-a9.md
(cortex_a9_dp): Update for attribute changes.
(cortex_a9_dp_shift): Likewise.
* config/arm/cortex-m4.md
(cortex_m4_alu): Update for attribute changes.
* config/arm/cortex-r4.md
(cortex_r4_alu): Update for attribute changes.
(cortex_r4_mov): Likewise.
(cortex_r4_alu_shift_reg): Likewise.
* config/arm/fa526.md
(526_alu_op): Update for attribute changes.
(526_alu_shift_op): Likewise.
* config/arm/fa606te.md
(606te_alu_op): Update for attribute changes.
* config/arm/fa626te.md
(626te_alu_op): Update for attribute changes.
(626te_alu_shift_op): Likewise.
* config/arm/fa726te.md
(726te_alu_op): Update for attribute changes.
(726te_alu_shift_op): Likewise.
(726te_alu_shift_reg_op): Likewise.
* config/arm/fmp626.md (mp626_alu_op): Update for attribute changes.
(mp626_alu_shift_op): Likewise.
* config/arm/marvell-pj4.md (pj4_alu): Update for attribute changes.
(pj4_alu_conds): Likewise.
(pj4_shift): Likewise.
(pj4_shift_conds): Likewise.
(pj4_alu_shift): Likewise.
(pj4_alu_shift_conds): Likewise.
* config/aarch64/aarch64.md: Update for attribute change
all occurrences of arlo_* and shift* types.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202291
138bc75d-0d04-0410-961f-
82ee72b054a4
timshen [Thu, 5 Sep 2013 15:20:39 +0000 (15:20 +0000)]
2013-09-05 Tim Shen <timshen91@gmail.com>
* include/bits/regex_automaton.h: Add dummy node type. Rewrite
_StateSeq.
* include/bits/regex_automaton.tcc: Implement them.
* include/bits/regex_compiler.h: Rewrite _Compiler to use new
_StateSeq interfaces.
* include/bits/regex_compiler.tcc: Implement them.
* include/bits/regex_scanner.h: Add word boundry assertion token.
* include/bits/regex_scanner.tcc (_Scanner<>::_M_eat_escape_ecma):
Support word boundry.
* testsuite/28_regex/algorithms/regex_match/basic/
string_range_02_03.cc: Remove "xfail".
* testsuite/28_regex/algorithms/regex_match/extended/cstring_plus.cc:
Likewise.
* testsuite/28_regex/algorithms/regex_match/extended/
string_range_02_03.cc: Likewise.
* testsuite/28_regex/algorithms/regex_match/extended/
cstring_questionmark.cc: Remove xfail and get correct length of
c-string.
* testsuite/28_regex/algorithms/regex_match/extended/
string_range_00_03.cc: Likewise.
* testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc:
New.
* testsuite/28_regex/algorithms/regex_match/extended/cstring_range.cc:
New.
* testsuite/28_regex/iterators/regex_iterator/wchar_t/string_02.cc: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202290
138bc75d-0d04-0410-961f-
82ee72b054a4
mrs [Thu, 5 Sep 2013 14:52:50 +0000 (14:52 +0000)]
* tree.h: Move documentation for tree_function_decl to tree-core.h
with the declaration.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202289
138bc75d-0d04-0410-961f-
82ee72b054a4
bergner [Thu, 5 Sep 2013 14:09:07 +0000 (14:09 +0000)]
PR target/58139
* reginfo.c (choose_hard_reg_mode): Scan through all mode classes
looking for widest mode.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202286
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Thu, 5 Sep 2013 13:54:35 +0000 (13:54 +0000)]
* config.gcc (*-*-vxworks*): Do not override an existing extra_objs.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202284
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Thu, 5 Sep 2013 12:45:20 +0000 (12:45 +0000)]
2013-09-05 Richard Biener <rguenther@suse.de>
PR tree-optimization/58137
* tree-vect-stmts.c (get_vectype_for_scalar_type_and_size):
Do not create vectors of pointers.
* tree-vect-loop.c (get_initial_def_for_induction): Use proper
types for the components of the vector initializer.
* tree-cfg.c (verify_gimple_assign_binary): Remove special-casing
allowing pointer vectors with PLUS_EXPR/MINUS_EXPR.
* gcc.target/i386/pr58137.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202282
138bc75d-0d04-0410-961f-
82ee72b054a4
jamborm [Thu, 5 Sep 2013 12:41:16 +0000 (12:41 +0000)]
2013-09-05 Martin Jambor <mjambor@suse.cz>
* ipa-prop.c (remove_described_reference): Accept missing references,
return false if that hppens, otherwise return true.
(cgraph_node_for_jfunc): New function.
(try_decrement_rdesc_refcount): Likewise.
(try_make_edge_direct_simple_call): Use them.
(ipa_edge_removal_hook): Remove references from rdescs.
(ipa_edge_duplication_hook): Clone rdescs and their references
when the new edge has the same caller as the old one.
* cgraph.c (cgraph_resolve_speculation): Remove speculative
reference before removing any edges.
testsuite/
* g++.dg/ipa/remref-1.C: New test.
* g++.dg/ipa/remref-2.C: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202281
138bc75d-0d04-0410-961f-
82ee72b054a4
rearnsha [Thu, 5 Sep 2013 12:37:29 +0000 (12:37 +0000)]
* arm.c (thumb2_emit_strd_push): Rewrite to use pre-decrement on
initial store.
* thumb2.md (thumb2_storewb_parisi): New pattern.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202279
138bc75d-0d04-0410-961f-
82ee72b054a4
yufeng [Thu, 5 Sep 2013 11:30:14 +0000 (11:30 +0000)]
[AArch64] Support the 'crc' extension in -march and -mcpu options.
gcc/
* config/aarch64/aarch64-option-extensions.def: Add
AARCH64_OPT_EXTENSION of 'crc'.
* config/aarch64/aarch64.h (AARCH64_FL_CRC): New define.
(AARCH64_ISA_CRC): Ditto.
* doc/invoke.texi (-march and -mcpu feature modifiers): Add
description of the CRC extension.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202275
138bc75d-0d04-0410-961f-
82ee72b054a4
kyukhin [Thu, 5 Sep 2013 11:01:35 +0000 (11:01 +0000)]
* config/rs6000/linux64.h: Define OPTION_BIONIC and OPTION_UCLIBC.
* config/rs6000/linux.h: Ditto.
* alpha/linux.h: Ditto.
* config/bfin/uclinux.h: Define TARGET_LIBC_HAS_FUNCTION as
no_c99_libc_has_function.
* config/c6x/uclinux-elf.h: Ditto.
* config/lm32/uclinux-elf.h: Ditto.
* config/m68k/uclinux.h: Ditto.
* config/moxie/uclinux.h: Ditto.
* config.gcc (bfin*-linux-uclibc*): Add t-linux-android to tmake_file.
(crisv32-*-linux*, cris-*-linux*): Ditto.
* config/bfin/bfin.c: Include "tm_p.h".
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202274
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Thu, 5 Sep 2013 10:30:51 +0000 (10:30 +0000)]
2013-09-05 Richard Biener <rguenther@suse.de>
* tree-vect-loop.c (vect_analyze_loop_operations): Properly
check for a definition without a basic-block.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202273
138bc75d-0d04-0410-961f-
82ee72b054a4
jgreenhalgh [Thu, 5 Sep 2013 09:29:27 +0000 (09:29 +0000)]
[AArch64, AArch32][Insn classification refactoring 6/N] Remove "neon_type" attribute
gcc/
* config/aarch64/aarch64.md: Rename r_2_f and f_2_r where appropriate.
* config/arm/arm.md (attribute "neon_type"): Delete. Move attribute
values to config/arm/types.md. Update patterns where appropriate.
* config/arm/types.md (type): Add Neon types.
* config/arm/neon.md: Remove "neon_type" attribute,
use "type" attribute everywhere appropriate.
* doc/md.texi: Change references to neon_type to refer to type.
* config/arm/vfp.md: Update patterns for attribute changes.
* config/arm/arm.c (cortexa7_older_only): Update for attribute change.
* config/arm/arm1020e.md: Update for attribute change.
* config/arm/cortex-a15-neon.md: Update for attribute change.
* config/arm/cortex-a15.md: Update for attribute change.
* config/arm/cortex-a5.md: Update for attribute change.
* config/arm/cortex-a53.md: Update for attribute change.
* config/arm/cortex-a7.md: Update for attribute change.
* config/arm/cortex-a8-neon.md: Update for attribute change.
* config/arm/cortex-a8.md: Update for attribute change.
* config/arm/cortex-a9-neon.md: Update for attribute change.
* config/arm/cortex-a9.md: Update for attribute change.
* config/arm/cortex-m4-fpu.md: Update for attribute change.
* config/arm/cortex-r4f.md: Update for attribute change.
* config/arm/iterators.md: Update comment referring to neon_type.
* config/arm/iwmmxt.md: Update for attribute change.
* config/arm/marvell-pj4.md: Update for attribute change.
* config/arm/neon-schedgen.ml (emit_insn_reservations): Update for
attribute change.
* config/arm/vfp11.md: Update for attribute change.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202272
138bc75d-0d04-0410-961f-
82ee72b054a4
dodji [Thu, 5 Sep 2013 07:56:47 +0000 (07:56 +0000)]
Fix typo in comment
gcc/
* tree.h (DECL_BUILT_INT): Fix typo in comment.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202271
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Thu, 5 Sep 2013 00:17:05 +0000 (00:17 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202269
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Wed, 4 Sep 2013 23:52:48 +0000 (23:52 +0000)]
/cp
2013-09-04 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/24926
* class.c (finish_struct_anon_r): New.
(finish_struct_anon): Use it.
/testsuite
2013-09-04 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/24926
* g++.dg/parse/access11.C: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202266
138bc75d-0d04-0410-961f-
82ee72b054a4
dje [Wed, 4 Sep 2013 21:24:56 +0000 (21:24 +0000)]
* config/rs6000/rs6000.h (ASM_OUTPUT_DEF_FROM_DECLS): Only emit
lglobl if not weak.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202264
138bc75d-0d04-0410-961f-
82ee72b054a4
dje [Wed, 4 Sep 2013 21:21:39 +0000 (21:21 +0000)]
* g++.dg/warn/weak1.C: Skip on AIX.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202263
138bc75d-0d04-0410-961f-
82ee72b054a4
eraman [Wed, 4 Sep 2013 17:48:15 +0000 (17:48 +0000)]
2013-09-04 Easwaran Raman <eraman@google.com>
PR middle-end/57370
PR tree-optimization/58011
* tree-ssa-reassoc.c (get_stmt_uid_with_default): New function,
(build_and_add_sum): Use it.
(appears_later_in_bb): Simplify code.
gcc/testsuite/ChangeLog:
2013-09-04 Easwaran Raman <eraman@google.com>
PR middle-end/57370
PR tree-optimization/58011
* gfortran.dg/reassoc_12.f90: New testcase.
* gcc.dg/tree-ssa/reassoc-31.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202262
138bc75d-0d04-0410-961f-
82ee72b054a4
dje [Wed, 4 Sep 2013 15:33:56 +0000 (15:33 +0000)]
* gcc.dg/attr-weakref-1.c: Skip on AIX.
* gcc.dg/torture/pr53922.c: Skip on AIX.
* lib/file-format.exp (gcc_target_object_format): AIX is COFF.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202261
138bc75d-0d04-0410-961f-
82ee72b054a4
tejohnson [Wed, 4 Sep 2013 14:31:20 +0000 (14:31 +0000)]
2013-09-04 Teresa Johnson <tejohnson@google.com>
* dumpfile.c (dump_finish): Don't close stderr/stdout.
* testsuite/gcc.dg/unroll_1.c: Test dumping to stderr.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202260
138bc75d-0d04-0410-961f-
82ee72b054a4
jgreenhalgh [Wed, 4 Sep 2013 14:26:23 +0000 (14:26 +0000)]
[AArch64] Obvious - Fix return types for vaddvq_<su>64
gcc/
* config/aarch64/arm_neon.h (vaddvq_<su>64): Fix return types.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202259
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Wed, 4 Sep 2013 14:14:28 +0000 (14:14 +0000)]
* Makefile.in (ipa-devirt.o): Add dependency on diagnostic.h
* ipa-devirt.c: Include diganostic.h
(odr_type_d): Add types and types_set.
(hash_type_name): Work for types with vtables during LTO.
(odr_hasher::remove): Fix comment; destroy types_set.
(add_type_duplicate): New function,
(get_odr_type): Use it.
(dump_type_inheritance_graph): Dump type duplicates.
* ipa.c (symtab_remove_unreachable_nodes): Build type inheritance
graph.
* tree.c (types_same_for_odr): Give exact answers on types with
virtual tables.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202258
138bc75d-0d04-0410-961f-
82ee72b054a4
dodji [Wed, 4 Sep 2013 12:54:09 +0000 (12:54 +0000)]
More comments about DECL_BUILT_IN and DECL_IS_BUILTIN
gcc/
* tree.h (DECL_BUILT_IN, DECL_IS_BUILTIN): Add more comments
explaining their differences.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202251
138bc75d-0d04-0410-961f-
82ee72b054a4