platform/upstream/gcc.git
12 years ago20121108-1.c: New test.
Andrew Pinski [Sat, 10 Nov 2012 03:23:22 +0000 (03:23 +0000)]
20121108-1.c: New test.

2012-11-09  Andrew Pinski  <apinski@cavium.com>

* gcc.c-torture/execute/20121108-1.c: New test.

From-SVN: r193386

12 years agoDaily bump.
GCC Administrator [Sat, 10 Nov 2012 00:18:05 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r193385

12 years agoImplement a flag -fext-numeric-literals that allows control of whether GNU...
Ed Smith-Rowland [Sat, 10 Nov 2012 00:08:49 +0000 (00:08 +0000)]
Implement a flag -fext-numeric-literals that allows control of whether GNU...

Implement a flag -fext-numeric-literals that allows control of whether GNU
numeric suffix extensions are parsed or passed to C++ as user-defined literals.

From-SVN: r193382

12 years ago* doc/install.texi (sparc64-x-solaris2): Mention MPC as well.
Eric Botcazou [Fri, 9 Nov 2012 21:52:29 +0000 (21:52 +0000)]
* doc/install.texi (sparc64-x-solaris2): Mention MPC as well.

From-SVN: r193377

12 years agore PR other/52438 (Some files still GPLv2)
Eric Botcazou [Fri, 9 Nov 2012 21:42:02 +0000 (21:42 +0000)]
re PR other/52438 (Some files still GPLv2)

PR other/52438
* s-taspri-lynxos.ads: Delete.
* s-osinte-kfreebsd-gnu.ads: Change license to GPL V3+.
* s-tpopsp-rtems.adb: Likewise.
* s-osinte-rtems.adb: Likewise.

From-SVN: r193375

12 years agoWarray-bounds-3.c (bar): Keep array access within bounds for ABDAY, DAY, ABMON, MON...
Siddhesh Poyarekar [Fri, 9 Nov 2012 19:55:53 +0000 (19:55 +0000)]
Warray-bounds-3.c (bar): Keep array access within bounds for ABDAY, DAY, ABMON, MON, AM_PM.

        * gcc.dg/Warray-bounds-3.c (bar): Keep array access within
        bounds for ABDAY, DAY, ABMON, MON, AM_PM.
        * gcc.dg/vect/pr22506.c (foo): Reduce loop iterations to within
        array bounds.
        * gcc.dg/vect/pr34005.c (XdmcpUnwrap): Likewise.

From-SVN: r193373

12 years ago+ * g++.dg/tm/pr47530-2.C: Adjust for uninstrumented code path.
Aldy Hernandez [Fri, 9 Nov 2012 18:52:36 +0000 (18:52 +0000)]
+ * g++.dg/tm/pr47530-2.C: Adjust for uninstrumented code path.

+       * g++.dg/tm/pr47530-2.C: Adjust for uninstrumented code path.
+       * g++.dg/tm/pr47530.C: Same.

From-SVN: r193372

12 years agoUse hook_bool_void_true for TARGET_LRA_P
Richard Henderson [Fri, 9 Nov 2012 17:20:12 +0000 (09:20 -0800)]
Use hook_bool_void_true for TARGET_LRA_P

From-SVN: r193370

12 years agoAdd HTM fastpath and use Intel RTM for it on x86.
Torvald Riegel [Fri, 9 Nov 2012 17:04:40 +0000 (17:04 +0000)]
Add HTM fastpath and use Intel RTM for it on x86.

* beginend.cc (htm_fastpath): New.
(gtm_thread::begin_transaction, _ITM_commitTransaction,
_ITM_commitTransactionEH): Add HTM fastpath handling.
* config/linux/rwlock.h (gtm_rwlock.is_write_locked): New.
* config/posix/rwlock.h (gtm_rwlock.is_write_locked): New.
* config/x86/target.h (htm_available, htm_init, htm_begin_success,
htm_begin, htm_commit, htm_abort, htm_abort_should_retry): New.
* configure.tgt: Add -mrtm to XCFLAGS.
* method-serial.cc (htm_mg, o_htm_mg, htm_dispatch, dispatch_htm): New.
(gtm_thread::serialirr_mode): Add HTM fastpath handling.
* libitm_i.h (htm_fastpath, dispatch_htm): Declare.
* retry.cc (parse_default_method): Add HTM method parsing.
(gtm_thread::number_of_threads_changed): Use HTM by default if
available.

From-SVN: r193369

12 years agore PR c++/54859 (constexpr in template alias rejected as non-constant)
Jason Merrill [Fri, 9 Nov 2012 16:14:48 +0000 (11:14 -0500)]
re PR c++/54859 (constexpr in template alias rejected as non-constant)

PR c++/54859
* pt.c (check_instantiated_arg): Don't complain about dependent args.

From-SVN: r193368

12 years agoAdd C++ attribute abi_tag and -Wabi-tag option.
Jason Merrill [Fri, 9 Nov 2012 16:14:37 +0000 (11:14 -0500)]
Add C++ attribute abi_tag and -Wabi-tag option.

gcc/
* attribs.c (lookup_attribute_spec): Handle getting a TREE_LIST.
gcc/c-family/
* c.opt (Wabi-tag): New.
gcc/cp/
* tree.c (cxx_attribute_table): Add abi_tag attribute.
(check_abi_tag_redeclaration, handle_abi_tag_attribute): New.
* class.c (find_abi_tags_r, check_abi_tags): New.
(check_bases, check_field_decl): Call check_abi_tags.
* decl.c (redeclaration_error_message): Call
check_abi_tag_redeclaration.
* mangle.c (tree_string_cmp, write_abi_tags): New.
(write_unqualified_name): Call write_abi_tags.
include/
* demangle.h (enum demangle_component_type): Add
DEMANGLE_COMPONENT_TAGGED_NAME.
libiberty/
* cp-demangle.c (d_dump): Handle DEMANGLE_COMPONENT_TAGGED_NAME.
(d_make_comp, d_find_pack, d_print_comp): Likewise.
(d_abi_tags): New.
(d_name): Call it.

From-SVN: r193367

12 years agoremove redundant definition of IN_CHARGE_NAME
Jason Merrill [Fri, 9 Nov 2012 16:14:25 +0000 (11:14 -0500)]
remove redundant definition of IN_CHARGE_NAME

From-SVN: r193366

12 years agore PR rtl-optimization/55154 (ICE: in curr_insn_transform, at lra-constraints.c:2702...
Vladimir Makarov [Fri, 9 Nov 2012 15:33:19 +0000 (15:33 +0000)]
re PR rtl-optimization/55154 (ICE: in curr_insn_transform, at lra-constraints.c:2702 with custom flags)

2012-11-09  Vladimir Makarov  <vmakarov@redhat.com>

PR tree-optimization/55154
* lra-int.h (LRA_LOSER_COST_FACTOR, LRA_MAX_REJECT): New macros.
* lra.c (setup_operand_alternative): Use them.
* lra-constraints.c (LOSER_COST_FACTOR, MAX_OVERALL_COST_BOUND):
Remove.
(process_alt_operands): Use LRA_LOSER_COST_FACTOR and
LRA_MAX_REJECT.  Accumulate reject instead of setting for
non-const.
(curr_insn_transform): Initialize best_losers and best_overall by
INT_MAX.

2012-11-09  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/55154
* gcc.target/i386/pr55154.c: New test.

From-SVN: r193364

12 years agoHandle target specific memory models in C frontend
Andi Kleen [Fri, 9 Nov 2012 15:24:25 +0000 (15:24 +0000)]
Handle target specific memory models in C frontend

get_atomic_generic_size would error out for
__atomic_store(...,__ATOMIC_HLE_RELEASE)

Just mask it out. All the memory orders are checked completely
in builtins.c anyways.

I'm not sure what that check is for, it could be removed in theory.

Passed bootstrap and test suite on x86-64

gcc/c-family/:
2012-11-09  Andi Kleen  <ak@linux.intel.com>

PR 55139
* c-common.c (get_atomic_generic_size): Mask with
        MEMMODEL_MASK

From-SVN: r193363

12 years agosh.c (sh_can_use_simple_return_p): Enable with -freorder-blocks-and-partition.
Christian Bruel [Fri, 9 Nov 2012 14:32:55 +0000 (15:32 +0100)]
sh.c (sh_can_use_simple_return_p): Enable with -freorder-blocks-and-partition.

        * config/sh/sh.c (sh_can_use_simple_return_p): Enable with
        -freorder-blocks-and-partition.

From-SVN: r193362

12 years agore PR rtl-optimization/55151 (ICE: in assign_by_spills, at lra-assigns.c:1217 with...
Vladimir Makarov [Fri, 9 Nov 2012 14:28:40 +0000 (14:28 +0000)]
re PR rtl-optimization/55151 (ICE: in assign_by_spills, at lra-assigns.c:1217 with -fPIC)

2012-11-09  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/55151
* gcc.dg/pr55151.c: Move ...
* gcc.target/i386/pr55151.c: ... here.

From-SVN: r193361

12 years agortl.h (CONST_SCALAR_INT_P): New macro.
Kenneth Zadeck [Fri, 9 Nov 2012 13:18:49 +0000 (13:18 +0000)]
rtl.h (CONST_SCALAR_INT_P): New macro.

2012-11-09  Kenneth Zadeck <zadeck@naturalbridge.com>

* rtl.h (CONST_SCALAR_INT_P): New macro.
    * cfgexpand.c (expand_debug_locations): Changed to use
CONST_SCALAR_INT_P macro.
* combine.c (try_combine, subst, make_extraction,
gen_lowpart_for_combine): Ditto.
* cselib.c (entry_and_rtx_equal_p, rtx_equal_for_cselib_1): Ditto.
* dwarf2out.c (loc_descriptor): Ditto.
* emit-rtl.c (gen_lowpart_common): Ditto.
* ira-costs.c (record_reg_classes, record_address_regs): Ditto.
* ira-lives.c (single_reg_class): Ditto.
* recog.c (simplify_while_replacing, asm_operand_ok,
constrain_operands): Ditto.
* reload.c (find_reloads): Ditto.
* simplify-rtx.c (simplify_unary_operation_1,
simplify_const_unary_operation, simplify_binary_operation_1,
simplify_const_binary_operation, simplify_relational_operation_1,
simplify_subreg): Ditto.

From-SVN: r193360

12 years agore PR middle-end/54385 (ICE in pre_and_rev_post_order_compute, at cfganal.c:873)
Steven Bosscher [Fri, 9 Nov 2012 12:31:32 +0000 (12:31 +0000)]
re PR middle-end/54385 (ICE in pre_and_rev_post_order_compute, at cfganal.c:873)

PR middle-end/54385
* postreload.c (reload_cse_simplify): Return a bool indicating
whether the CFG was changed.
(reload_cse_regs_1): Traverse the CFG instead of the insns chain.
Cleanup the CFG if edges may have been removed.
(reload_cse_regs): Update.

From-SVN: r193359

12 years agore PR rtl-optimization/54472 (ICE (spill_failure): unable to find a register to spill...
Andrey Belevantsev [Fri, 9 Nov 2012 12:28:21 +0000 (16:28 +0400)]
re PR rtl-optimization/54472 (ICE (spill_failure): unable to find a register to spill in class 'AREG' with -O -fschedule-insns -fselective-scheduling)

PR rtl-optimization/54472

* sel-sched-ir.c (has_dependence_note_reg_set): Handle implicit sets.
(has_dependence_note_reg_clobber,
has_dependence_note_reg_use): Likewise.

* gcc.dg/pr54472.c: New test.

From-SVN: r193358

12 years agotrans.c (gnat_to_gnu): Deal with a missing library unit instead of calling gnat_to_gn...
Eric Botcazou [Fri, 9 Nov 2012 11:07:30 +0000 (11:07 +0000)]
trans.c (gnat_to_gnu): Deal with a missing library unit instead of calling gnat_to_gnu on Emtpy.

* gcc-interface/trans.c (gnat_to_gnu) <N_Subprogram_Body_Stub>: Deal
with a missing library unit instead of calling gnat_to_gnu on Emtpy.
Remove last bits of support for SCIL nodes.  Add cases for nodes that
should only be present when annotating types.  Add default abort.

From-SVN: r193357

12 years agoi386.c (release_scratch_register_on_entry): Also adjust sp_offset manually.
Eric Botcazou [Fri, 9 Nov 2012 09:10:04 +0000 (09:10 +0000)]
i386.c (release_scratch_register_on_entry): Also adjust sp_offset manually.

* config/i386/i386.c (release_scratch_register_on_entry): Also adjust
sp_offset manually.

From-SVN: r193352

12 years agotree-ssa-tail-merge.c (replace_block_by): Update bb2 profile count.
Christian Bruel [Fri, 9 Nov 2012 06:32:28 +0000 (07:32 +0100)]
tree-ssa-tail-merge.c (replace_block_by): Update bb2 profile count.

2012-11-08  Christian Bruel  <christian.bruel@st.com>

* tree-ssa-tail-merge.c (replace_block_by): Update bb2 profile count.
Do not reset dead bb1->frequency.

From-SVN: r193350

12 years agoDaily bump.
GCC Administrator [Fri, 9 Nov 2012 00:18:20 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r193348

12 years agogo-test.exp (go-gc-tests): Handle runoutput test type with arguments.
Ian Lance Taylor [Fri, 9 Nov 2012 00:05:05 +0000 (00:05 +0000)]
go-test.exp (go-gc-tests): Handle runoutput test type with arguments.

* go.test/go-test.exp (go-gc-tests): Handle runoutput test type
with arguments.  Handle errorcheckoutput and rundir test types.

From-SVN: r193344

12 years agore PR tree-optimization/55191 (ICE in compute_antic at tree-ssa-pre.c:2511)
Steven Bosscher [Thu, 8 Nov 2012 21:47:50 +0000 (21:47 +0000)]
re PR tree-optimization/55191 (ICE in compute_antic at tree-ssa-pre.c:2511)

gcc/
PR tree-optimization/55191
* cfganal.c (connect_infinite_loops_to_exit): Call dfs_deadend here.
(flow_dfs_compute_reverse_execute): Don't call it here.

testsuite/
PR tree-optimization/55191
* gcc.dg/pr55191.c: New test.

From-SVN: r193341

12 years agore PR debug/53145 (gcc.dg/pch/save-temps-1.c)
Jakub Jelinek [Thu, 8 Nov 2012 20:20:10 +0000 (21:20 +0100)]
re PR debug/53145 (gcc.dg/pch/save-temps-1.c)

PR debug/53145
* dwarf2out.c (gen_compile_unit_die): Don't call gen_producer_string
here, instead add "" if producer_string is NULL.
(dwarf2out_finish): Call gen_producer_string here, unconditionally
decrease refcount of the old indirect string and set val_str to
find_AT_string result.

From-SVN: r193340

12 years agore PR libstdc++/54075 ([4.7.1] unordered_map insert still slower than 4.6.2)
François Dumont [Thu, 8 Nov 2012 20:16:04 +0000 (20:16 +0000)]
re PR libstdc++/54075 ([4.7.1] unordered_map insert still slower than 4.6.2)

2012-11-08  François Dumont  <fdumont@gcc.gnu.org>

PR libstdc++/54075
* include/bits/hashtable.h (_Hashtable<>::rehash): Reset hash
policy state if no rehash.
* testsuite/23_containers/unordered_set/modifiers/reserve.cc
(test02): New.

From-SVN: r193339

12 years agore PR debug/54499 (GCC produces wrong debugging information, failure while assembling...
Jakub Jelinek [Thu, 8 Nov 2012 20:15:06 +0000 (21:15 +0100)]
re PR debug/54499 (GCC produces wrong debugging information, failure while assembling generated .s file)

PR debug/54499
* cgraphunit.c (assemble_thunk): Don't call source_line debug hook
here, instead call insn_locations_{init,finalize} and initialize
prologue_location.

* g++.dg/debug/pr54499.C: New test.

From-SVN: r193338

12 years agore PR driver/54789 (Error in GCC driver when defining GCC_COMPARE_DEBUG)
Dmitry Gorbachev [Thu, 8 Nov 2012 20:13:13 +0000 (20:13 +0000)]
re PR driver/54789 (Error in GCC driver when defining GCC_COMPARE_DEBUG)

PR driver/54789
* gcc.c (process_command): Use save_switch for synthesized
-fcompare-debug=* option; mark the switch as known.

From-SVN: r193337

12 years agore PR target/54308 (build regression in 190498 on ppc64/linux: legitimate_indirect_ad...
Jakub Jelinek [Thu, 8 Nov 2012 20:09:14 +0000 (21:09 +0100)]
re PR target/54308 (build regression in 190498 on ppc64/linux: legitimate_indirect_address_p undefined)

PR target/54308
* config/rs6000/rs6000.c (legitimate_indirect_address_p): Remove
inline keyword.

From-SVN: r193336

12 years agore PR rtl-optimization/54850 (FAIL: gcc.c-torture/execute/20041113-1.c execution...
Bernd Schmidt [Thu, 8 Nov 2012 17:10:26 +0000 (17:10 +0000)]
re PR rtl-optimization/54850 (FAIL: gcc.c-torture/execute/20041113-1.c execution,  -Os)

PR rtl-optimization/54850
* sched-deps.c (find_inc): Add all dependencies from the inc_insn
to the mem_insn.

From-SVN: r193332

12 years agore PR fortran/48636 (Enable more inlining with -O2 and higher)
Jan Hubicka [Thu, 8 Nov 2012 16:46:18 +0000 (17:46 +0100)]
re PR fortran/48636 (Enable more inlining with -O2 and higher)

PR middle-end/48636
* ipa-inline.c (big_speedup_p): New function.
(want_inline_small_function_p): Use it.
(edge_badness): Dump it.
* params.def (inline-min-speedup): New parameter.
* doc/invoke.texi (inline-min-speedup): Document.

From-SVN: r193331

12 years agoipa-prop.c (determine_known_aggregate_parts): Skip writes to different declarations...
Martin Jambor [Thu, 8 Nov 2012 16:41:06 +0000 (17:41 +0100)]
ipa-prop.c (determine_known_aggregate_parts): Skip writes to different declarations when tracking writes to a declaration.

2012-11-08  Martin Jambor  <mjambor@suse.cz>

* ipa-prop.c (determine_known_aggregate_parts): Skip writes to
different declarations when tracking writes to a declaration.

* gfortran.dg/ipcp-array-1.f90: New test.

From-SVN: r193330

12 years agore PR fortran/51727 (Changing module files)
Tobias Schlüter [Thu, 8 Nov 2012 15:46:07 +0000 (16:46 +0100)]
re PR fortran/51727 (Changing module files)

PR fortran/51727
* module.c (sorted_pointer_info): New.
(gfc_get_sorted_pointer_info): New.
(free_sorted_pointer_info_tree): New.
(compare_sorted_pointer_info): New.
(find_symbols_to_write): New.
(write_symbol1_recursion): New.
(write_symbol1): Collect symbols that need writing, output in order.
(write_generic): Traverse tree in order.

From-SVN: r193329

12 years ago55028-debug.cc: Don't pass -D_GLIBCXX_DEBUG by hand (check-debug does).
Paolo Carlini [Thu, 8 Nov 2012 13:40:53 +0000 (13:40 +0000)]
55028-debug.cc: Don't pass -D_GLIBCXX_DEBUG by hand (check-debug does).

2012-11-08  Paolo Carlini  <paolo.carlini@oracle.com>

* testsuite/23_containers/unordered_multimap/insert/55028-debug.cc:
Don't pass -D_GLIBCXX_DEBUG by hand (check-debug does).

From-SVN: r193327

12 years agocxa_vec.C: Fix typo in comment.
Florian Weimer [Thu, 8 Nov 2012 09:54:04 +0000 (10:54 +0100)]
cxa_vec.C: Fix typo in comment.

* g++.old-deja/g++.abi/cxa_vec.C: Fix typo in comment.

* testsuite/18_support/cxa_vec.cc: Fix typo in comment.

From-SVN: r193326

12 years agoiterator_tracker.h (operator++): Fix returning dangling reference.
Jonathan Wakely [Thu, 8 Nov 2012 09:15:43 +0000 (09:15 +0000)]
iterator_tracker.h (operator++): Fix returning dangling reference.

* include/profile/iterator_tracker.h (operator++): Fix returning
dangling reference.
(operator--): Likewise.

From-SVN: r193323

12 years agoAdd extensive commentary to sparc's "U" constraint.
David S. Miller [Thu, 8 Nov 2012 03:26:49 +0000 (03:26 +0000)]
Add extensive commentary to sparc's "U" constraint.

* config/sparc/constraints.md ("U"): Document, in detail,
which this constraint is necessary.

From-SVN: r193322

12 years agoDaily bump.
GCC Administrator [Thu, 8 Nov 2012 00:17:51 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r193321

12 years agoUse -Wl,-undefined,dynamic_lookup on darwin
Jack Howarth [Wed, 7 Nov 2012 23:12:27 +0000 (23:12 +0000)]
Use -Wl,-undefined,dynamic_lookup on darwin

* testsuite/libgomp.c++/pr24455.C: Use
-Wl,-undefined,dynamic_lookup on darwin.

From-SVN: r193318

12 years agore PR rtl-optimization/55151 (ICE: in assign_by_spills, at lra-assigns.c:1217 with...
Vladimir Makarov [Wed, 7 Nov 2012 22:43:30 +0000 (22:43 +0000)]
re PR rtl-optimization/55151 (ICE: in assign_by_spills, at lra-assigns.c:1217 with -fPIC)

2012-11-07  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/55151
* gcc.dg/pr55151.c: Use ia32 instead of x86_64.

From-SVN: r193317

12 years agocunroll-1.c: Scan cunrolli dump.
Uros Bizjak [Wed, 7 Nov 2012 22:41:39 +0000 (23:41 +0100)]
cunroll-1.c: Scan cunrolli dump.

* gcc.dg/tree-ssa/cunroll-1.c: Scan cunrolli dump.

From-SVN: r193316

12 years agore PR middle-end/55235 (FAIL: gcc.target/i386/pr44948-2a.c)
Uros Bizjak [Wed, 7 Nov 2012 22:34:48 +0000 (23:34 +0100)]
re PR middle-end/55235 (FAIL: gcc.target/i386/pr44948-2a.c)

PR middle-end/55235
* expr.c (store_expr): Do not call emit_block_move for
non-BLKmode values.

From-SVN: r193314

12 years agore PR middle-end/55219 (memory explosion on nested conditional expressions)
Eric Botcazou [Wed, 7 Nov 2012 22:26:02 +0000 (22:26 +0000)]
re PR middle-end/55219 (memory explosion on nested conditional expressions)

PR middle-end/55219
* fold-const.c (fold_binary_op_with_conditional_arg): Do not fold if
the argument is itself a conditional expression.

From-SVN: r193312

12 years agore PR rtl-optimization/55151 (ICE: in assign_by_spills, at lra-assigns.c:1217 with...
Vladimir Makarov [Wed, 7 Nov 2012 22:20:15 +0000 (22:20 +0000)]
re PR rtl-optimization/55151 (ICE: in assign_by_spills, at lra-assigns.c:1217 with -fPIC)

2012-11-07  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/55151
* gcc.dg/pr55151.c: Compile it only for x86_64.

From-SVN: r193311

12 years agore PR rtl-optimization/55122 (ICE: maximum number of LRA constraint passes is achieve...
Vladimir Makarov [Wed, 7 Nov 2012 22:11:08 +0000 (22:11 +0000)]
re PR rtl-optimization/55122 (ICE: maximum number of LRA constraint passes is achieved (15))

2012-11-07  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/55122
* lra-constraints.c (match_reload): Sync values for dead input
pseudos.

2012-11-07  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/55122
* gcc.dg/pr55122.c: New test.

From-SVN: r193310

12 years agopr46728-[1234578].c: Tighten regex to ignore word powerpc.
David Edelsohn [Wed, 7 Nov 2012 21:03:08 +0000 (21:03 +0000)]
pr46728-[1234578].c: Tighten regex to ignore word powerpc.

        * gcc.target/powerpc/pr46728-[1234578].c: Tighten regex to ignore
        word powerpc.
        * gcc.target/powerpc/vsx-mass-1.c: Escape [ and ] in regex.
        * gcc.target/powerpc/loop_align.c: Skip on AIX.
        * gcc.target/powerpc/ppc-pow.c: Allow dot symbols in branch.
        * gcc.target/powerpc/tfmode_off.c: Skip on AIX.

From-SVN: r193309

12 years ago* trans-mem.c (pass_ipa_tm): Don't use TODO_update_ssa.
Richard Henderson [Wed, 7 Nov 2012 20:20:32 +0000 (12:20 -0800)]
* trans-mem.c (pass_ipa_tm): Don't use TODO_update_ssa.

From-SVN: r193308

12 years agoinvoke.texi (-mcpu=power8): Document.
Peter Bergner [Wed, 7 Nov 2012 19:49:51 +0000 (13:49 -0600)]
invoke.texi (-mcpu=power8): Document.

* doc/invoke.texi (-mcpu=power8): Document.
* config.in (HAVE_AS_POWER8): New.
* config.gcc: Add cpu_type power8.
* configure.ac: (HAVE_AS_POWER8): Check for assembler support for
the POWER8 instructions.
* configure: Regenerate.
* config/rs6000/rs6000.h: (ASM_CPU_POWER8_SPEC): Define.
(ASM_CPU_SPEC): Pass %(asm_cpu_power8) for -mcpu=power8.
(EXTRA_SPECS): Add asm_cpu_power8 spec string.
* config/rs6000/rs6000-cpus.def (processor_target_table): Alias
POWER8 to POWER7.
* config/rs6000/rs6000-tables.opt: Regenerate.
* config/rs6000/driver-rs6000.c (ASM_CPU_SPEC): For -mcpu=power8,
pass %(asm_cpu_power8)/-mpwr8.
* config/rs6000/aix53.h: Likewise.
* config/rs6000/aix61.h: Likewise.

From-SVN: r193307

12 years agore PR target/55224 (FAIL: gcc.target/i386/tailcall-1.c scan-assembler jmp)
Uros Bizjak [Wed, 7 Nov 2012 19:35:25 +0000 (20:35 +0100)]
re PR target/55224 (FAIL: gcc.target/i386/tailcall-1.c scan-assembler jmp)

PR target/55224
* config/i386/i386.c (ix86_function_ok_for_sibcall): Put back exception
to make a sibcall if one of the functions has void return type.

From-SVN: r193306

12 years agore PR target/55224 (FAIL: gcc.target/i386/tailcall-1.c scan-assembler jmp)
Uros Bizjak [Wed, 7 Nov 2012 19:30:48 +0000 (20:30 +0100)]
re PR target/55224 (FAIL: gcc.target/i386/tailcall-1.c scan-assembler jmp)

PR target/55224
* config/i386/i386.c (ix86_function_ok_for_sibcall): Put back exception
to make a sibcall if one of the functions has void return type.

From-SVN: r193305

12 years agore PR c/53063 (encode group options in the .opt files)
Manuel López-Ibáñez [Wed, 7 Nov 2012 18:27:14 +0000 (18:27 +0000)]
re PR c/53063 (encode group options in the .opt files)

gcc/
2012-11-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>

PR c/53063
* doc/invoke.texi (Wformat): Update.
c-family/
2012-11-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>

PR c/53063
* c.opt (Wformat): Make it Alias Wformat=1.
(Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral,
Wformat-security,Wformat-y2k,Wformat-zero-length): Use
LangEnabledBy.
(Wformat=): RejectNegative. Use LangEnabledBy.
(Wnonnull): Use LangEnabledBy.
* c-opts.c (c_common_handle_option): Do not handle Wformat here.
* c-format.c (set_Wformat): Delete.
(decode_format_attr): Replace OPT_Wformat with OPT_Wformat_.
        (maybe_read_dollar_number):  Likewise.
        (avoid_dollar_number):  Likewise.
        (finish_dollar_format_checking):  Likewise.
        (check_format_info):  Likewise.
        (check_format_info_main):  Likewise.
        (check_format_types):  Likewise.
        (format_type_warning):  Likewise.
        * c-common.c (int):  Likewise.
        (check_function_sentinel):  Likewise.
        * c-common.h (warn_format,set_Wformat): Do not declare here.
testsuite/
2012-11-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>

PR c/53063
* gcc.dg/warn-nsstring.c: Use -Wformat explicitly.

From-SVN: r193304

12 years agooptc-gen.awk: Factor code out to...
Manuel López-Ibáñez [Wed, 7 Nov 2012 18:11:01 +0000 (18:11 +0000)]
optc-gen.awk: Factor code out to...

2012-11-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>

* optc-gen.awk: Factor code out to...
* opt-functions.awk (lang_enabled_by): ... this new function.

From-SVN: r193303

12 years agore PR c/53063 (encode group options in the .opt files)
Manuel López-Ibáñez [Wed, 7 Nov 2012 17:54:11 +0000 (17:54 +0000)]
re PR c/53063 (encode group options in the .opt files)

c-family/
2012-11-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>

PR c/53063
* c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare,
Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros):
Use LangEnabledBy.
(Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from
common.opt.
(Wvariadic-macros): Init(1).
* c-opts.c (c_common_handle_option): Do not handle them
explicitly.
(c_common_post_options): Likewise.
(sanitize_cpp_opts): warn_unused_macros is now
cpp_warn_unused_macros.
(push_command_line_include): Likewise.
* c-common.c (warn_unknown_pragmas): Do not define.
* c-common.h (warn_unknown_pragmas): Do not declare.
gcc/
2012-11-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>

PR c/53063
* common.opt (Wswitch,Wswitch-default,Wswitch-enum): Move to c.opt.
fortran/
2012-11-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>

PR c/53063
* options.c (set_Wall): Do not set warn_switch here.

From-SVN: r193302

12 years agore PR c/51294 (spurious warning from -Wconversion in C and C++ in conditional express...
Manuel López-Ibáñez [Wed, 7 Nov 2012 16:58:03 +0000 (16:58 +0000)]
re PR c/51294 (spurious warning from -Wconversion in C and C++ in conditional expressions)

2012-11-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>

PR c/51294
c-family/
* c-common.c (conversion_warning): Handle conditional expressions.
testsuite/
* c-c++-common/pr51294.c: New.

From-SVN: r193301

12 years agoaarch64.c (aarch64_expand_prologue): add the missing argument 'Pmode' to the 'plus_co...
Yufeng Zhang [Wed, 7 Nov 2012 16:13:27 +0000 (16:13 +0000)]
aarch64.c (aarch64_expand_prologue): add the missing argument 'Pmode' to the 'plus_constant' call.

gcc/ChangeLog

2012-11-07  Yufeng Zhang  <yufeng.zhang@arm.com>

* config/aarch64/aarch64.c (aarch64_expand_prologue): add the missing
argument 'Pmode' to the 'plus_constant' call.

From-SVN: r193299

12 years agore PR tree-optimization/53787 (Possible IPA-SRA / IPA-CP improvement)
Martin Jambor [Wed, 7 Nov 2012 15:55:54 +0000 (16:55 +0100)]
re PR tree-optimization/53787 (Possible IPA-SRA / IPA-CP improvement)

2012-11-07  Martin Jambor  <mjambor@suse.cz>

PR tree-optimization/53787
* ipa-cp.c (ipcp_value_source): New field offset.
(ipcp_agg_lattice): New type.
(ipcp_param_lattices): Likewise, move virt_call from ipcp_lattice here.
(ipcp_agg_lattice_pool): New variable.
(ipa_get_parm_lattices): New function.
(ipa_get_lattice): Turned into ipa_get_scalar_lat, use the above.
Adjusted all callers.
(print_lattice): New function.
(print_all_lattices): Use the above, also print aggregate lattices.
(set_agg_lats_to_bottom): New function.
(set_agg_lats_contain_variable): Likewise.
(set_all_contains_variable): Likewise.
(initialize_node_lattices): Also handle aggregate lattices, set
virt_call in ipcp_param_lattices.
(add_value_source): Handle offsets.
(add_value_to_lattice): Likewise.
(add_scalar_value_to_lattice): New function.
(propagate_vals_accross_pass_through): Use add_scalar_value_to_lattice.
(propagate_vals_accross_ancestor): Likewise.
(propagate_accross_jump_function): Renamed to
propagate_scalar_accross_jump_function, use
add_scalar_value_to_lattice.
(set_check_aggs_by_ref): New function.
(merge_agg_lats_step): Likewise.
(set_chain_of_aglats_contains_variable): Likewise.
(merge_aggregate_lattices): Likewise.
(propagate_constants_accross_call): Also handle aggregate lattices.
(hint_time_bonus): New function.
(context_independent_aggregate_values): Likewise.
(gather_context_independent_values): Also handle agggregate values.
(agg_jmp_p_vec_for_t_vec): New function.
(estimate_local_effects): Also handle agggregate values.
(add_all_node_vals_to_toposort): Likewise.
(ipcp_propagate_stage): Use struct ipcp_param_lattices.
(get_clone_agg_value): New function.
(cgraph_edge_brings_value_p): Also handle agggregate values.
(create_specialized_node): Likewise.
(find_more_values_for_callers_subset): Rename to
find_more_scalar_values_for_callers_subset.  Modify dump.
(copy_plats_to_inter): New function.
(intersect_with_plats): Likewise.
(agg_replacements_to_vector): Likewise.
(intersect_with_agg_replacements): Likewise.
(find_aggregate_values_for_callers_subset): Likewise.
(known_aggs_to_agg_replacement_list): Likewise.
(cgraph_edge_brings_all_scalars_for_node): Likewise.
(cgraph_edge_brings_all_agg_vals_for_node): Likewise.
(perhaps_add_new_callers): Old functionality moved to
cgraph_edge_brings_all_scalars_for_node, call it and
cgraph_edge_brings_all_agg_vals_for_node.
(ipcp_val_in_agg_replacements_p): New function.
(decide_about_value): New function.
(decide_whether_version_node): A lot of functionality moved to
decide_about_value.  Also handle agggregate values.
(ipcp_driver): Also allocate ipcp_agg_lattice_pool.
(pass_ipa_cp): Fill in new entries.
* ipa-prop.c (ipa_node_agg_replacements): New variable.
(free_parms_ainfo): New function.
(ipa_analyze_node): Use free_parms_ainfo to free stuff.
(ipa_find_agg_cst_for_param): Do not rely on offset ordering.
(ipa_set_node_agg_value_chain): New function.
(ipa_node_removal_hook): Also handle ipa_node_agg_replacements.
(ipa_node_duplication_hook): Likewise.
(ipa_free_all_structures_after_ipa_cp): Also free ipcp_agg_lattice_pool.
(ipa_free_all_structures_after_iinln): Likewise.
(ipa_dump_agg_replacement_values): New function.
(write_agg_replacement_chain): Likewise.
(read_agg_replacement_chain): Likewise.
(ipa_prop_write_all_agg_replacement): Likewise.
(read_replacements_section): Likewise.
(ipa_prop_read_all_agg_replacement): Likewise.
(adjust_agg_replacement_values): Likewise.
(ipcp_transform_function): Likewise.
* ipa-prop.h: Also define heap vector of ipa_agg_jf_item_t and of
ipa_agg_jump_function_t.
(ipa_node_params): Make lattices an array of ipcp_param_lattices.
(ipa_agg_replacement_value): New type and its vector.
(ipa_set_node_agg_value_chain) Declare.
(ipa_node_agg_replacements): Likewise.
(ipa_get_agg_replacements_for_node): New function.
(ipcp_agg_lattice_pool): Declare.
(ipa_dump_agg_replacement_values): Likewise.
(ipa_prop_write_all_agg_replacement): Likewise.
(ipa_prop_read_all_agg_replacement): Likewise.
(ipcp_transform_function): Likewise.
* ipa-inline-analysis.c (estimate_ipcp_clone_size_and_time): Pass around
known aggregates and hints.
* ipa-inline.h: include ipa-prop.h.
(estimate_ipcp_clone_size_and_time): Adjust declaration.
* lto-streamer.h (lto_section_type): New item
LTO_section_ipcp_transform.
* lto-section-in.c (lto_section_name): New element ipcp_trans.
* params.def (PARAM_IPA_CP_LOOP_HINT_BONUS): New parameter.
* Makefile.in (IPA_INLINE_H): New.  Use everywhee instead of
ipa-inline.h.

* testsuite/gcc.dg/ipa/ipa-5.c: Adjust.
* testsuite/gcc.dg/ipa/ipcp-agg-1.c: New test.
* testsuite/gcc.dg/ipa/ipcp-agg-2.c: Likewise.
* testsuite/gcc.dg/ipa/ipcp-agg-3.c: Likewise.
* testsuite/gcc.dg/ipa/ipcp-agg-4.c: Likewise.
* testsuite/gcc.dg/ipa/ipcp-agg-5.c: Likewise.
* testsuite/gcc.dg/ipa/ipcp-agg-6.c: Likewise.
* testsuite/gfortran.dg/pr48636.f90: Add -fno-ipa-cp.
* testsuite/gfortran.dg/pr48636-2.f90: New test.
* testsuite/gfortran.dg/pr53787.f90: Likewise.

From-SVN: r193298

12 years ago* testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
David Edelsohn [Wed, 7 Nov 2012 14:16:04 +0000 (14:16 +0000)]
* testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.

From-SVN: r193296

12 years agoarray (_GLIBCXX_THROW_OR_ABORT): Move...
Paolo Carlini [Wed, 7 Nov 2012 13:20:33 +0000 (13:20 +0000)]
array (_GLIBCXX_THROW_OR_ABORT): Move...

2012-11-07  Paolo Carlini  <paolo.carlini@oracle.com>

* include/debug/array (_GLIBCXX_THROW_OR_ABORT): Move...
* include/bits/c++config: ... here.
* include/bits/shared_ptr_base.h (__throw_bad_weak_ptr): Use it.
* include/ext/pb_ds/exception.hpp: Likewise.
* include/ext/throw_allocator.h (__throw_forced_error): Likewise.
* include/ext/concurrence.h (__throw_concurrence_lock_error,
__throw_concurrence_unlock_error, __throw_concurrence_broadcast_error,
__throw_concurrence_wait_error): Likewise.
* include/tr1/shared_ptr.h (__throw_bad_weak_ptr): Likewise.
* include/tr1/functional (function<_Res(_ArgTypes...)>::operator()
(_ArgTypes...)): Likewise.
* libsupc++/eh_aux_runtime.cc (__cxxabiv1::__cxa_bad_cast,
__cxxabiv1::__cxa_bad_typeid): Likewise.
* libsupc++/vec.cc (compute_size): Likewise.
* libsupc++/new_op.cc (operator new (std::size_t)): Likewise.
* src/c++11/functexcept.cc: Likewise.
* testsuite/util/io/illegal_input_error.hpp
(__throw_illegal_input_error): Likewise.
* libsupc++/eh_personality.cc: Avoid warning with -fno-exceptions.
* testsuite/ext/profile/mutex_extensions_neg.cc: Adjust dg-error line
numbers.
* testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc:
Likewise.
* testsuite/23_containers/array/tuple_interface/
tuple_element_debug_neg.cc: Likewise.
* testsuite/23_containers/array/tuple_interface/get_debug_neg.cc:
Likewise.
* testsuite/20_util/shared_ptr/cons/43820_neg.cc: Likewise.

From-SVN: r193295

12 years agoi386.c (enum upper_128bits_state): Remove.
Uros Bizjak [Wed, 7 Nov 2012 12:15:59 +0000 (13:15 +0100)]
i386.c (enum upper_128bits_state): Remove.

* config/i386/i386.c (enum upper_128bits_state): Remove.
(check_avx256_store): Use bool pointer argument.
(ix86_avx_u128_mode_needed): Use note_stores also for CALL insns.
* config/i386/predicates.md (vzeroupper_operation): Use match_test.

From-SVN: r193294

12 years agore PR c++/55226 (ICE regression in regard to anonymous unions and constexpr)
Paolo Carlini [Wed, 7 Nov 2012 11:15:40 +0000 (11:15 +0000)]
re PR c++/55226 (ICE regression in regard to anonymous unions and constexpr)

/cp
2012-11-07  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/55226
Revert:
2012-10-23  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/54922
* semantics.c (cx_check_missing_mem_inits): Handle anonymous union
members.

/testsuite
2012-11-07  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/55226
Revert:
2012-10-23  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/54922
* g++.dg/cpp0x/constexpr-union4.C: New.

From-SVN: r193292

12 years agoaarch64.c (aarch64_expand_prologue): For the load-pair with writeback instruction...
Yufeng Zhang [Wed, 7 Nov 2012 11:01:46 +0000 (11:01 +0000)]
aarch64.c (aarch64_expand_prologue): For the load-pair with writeback instruction...

gcc/ChangeLog

2012-11-07  Yufeng Zhang  <yufeng.zhang@arm.com>

* config/aarch64/aarch64.c (aarch64_expand_prologue): For the
load-pair with writeback instruction, replace
aarch64_set_frame_expr with add_reg_note (REG_CFA_ADJUST_CFA);
add new local variable 'cfa_reg' and use it.

gcc/testsuite/ChangeLog

2012-11-07  Yufeng Zhang  <yufeng.zhang@arm.com>

* gcc.target/aarch64/dwarf-cfa-reg.c: New test.

From-SVN: r193291

12 years agopr49220.c: New test.
Kaz Kojima [Wed, 7 Nov 2012 10:50:22 +0000 (10:50 +0000)]
pr49220.c: New test.

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

From-SVN: r193290

12 years agore PR middle-end/49220 (ICE in create_pre_exit, at mode-switching.c:401)
Kaz Kojima [Wed, 7 Nov 2012 10:48:12 +0000 (10:48 +0000)]
re PR middle-end/49220 (ICE in create_pre_exit, at mode-switching.c:401)

PR middle-end/49220
* mode-switching.c (create_pre_exit): Set short_block if there
are no copy insns.

From-SVN: r193289

12 years agoinit.c (build_new_1): Do not check for arithmetic overflow if inner array size is 1.
Florian Weimer [Wed, 7 Nov 2012 09:45:57 +0000 (10:45 +0100)]
init.c (build_new_1): Do not check for arithmetic overflow if inner array size is 1.

* init.c (build_new_1): Do not check for arithmetic overflow if
inner array size is 1.

* g++.dg/init/new40.C: New.

From-SVN: r193287

12 years agolto-cgraph.c: Include tree-pass.h.
Martin Jambor [Wed, 7 Nov 2012 09:28:50 +0000 (10:28 +0100)]
lto-cgraph.c: Include tree-pass.h.

2012-11-07  Martin Jambor  <mjambor@suse.cz>

* lto-cgraph.c: Include tree-pass.h.
(lto_output_node): Stream node->ipa_transforms_to_apply.
(input_node): Likewise.
* tree-pass.h (passes_by_id): Declare.
(passes_by_id_size): Likewise.
* Makefile.in (lto-cgraph.o): Add TREE_PASS_H to dependencies.

From-SVN: r193286

12 years agoipa-inline-analysis.c (true_predicate, [...]): Fix formatting.
Jan Hubicka [Wed, 7 Nov 2012 09:22:50 +0000 (10:22 +0100)]
ipa-inline-analysis.c (true_predicate, [...]): Fix formatting.

* ipa-inline-analysis.c (true_predicate, single_cond_predicate,
reset_inline_edge_summary): Fix
formatting.
(account_size_time): Bump up the limit on number of size/time entries to
256.
(estimate_function_body_sizes): Work in reverse postorder.

From-SVN: r193285

12 years agostl_vector.h (vector(size_type)): Add missing allocator parameter.
Jonathan Wakely [Wed, 7 Nov 2012 09:17:42 +0000 (09:17 +0000)]
stl_vector.h (vector(size_type)): Add missing allocator parameter.

* include/bits/stl_vector.h (vector(size_type)): Add missing allocator
parameter.
* include/bits/stl_bvector.h: Likewise.
* include/debug/vector (vector(size_type)): Likewise.
* include/profile/vector (vector(size_type)): Likewise. Pass allocator
to base constructor.
* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
Adjust dg-error line numbers.
* testsuite/23_containers/vector/requirements/dr438/
constructor_1_neg.cc: Likewise.
* testsuite/23_containers/vector/requirements/dr438/
constructor_2_neg.cc: Likewise.
* testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
Likewise.

From-SVN: r193284

12 years agoRevert sparc "U" constraint removal.
David S. Miller [Wed, 7 Nov 2012 08:42:09 +0000 (08:42 +0000)]
Revert sparc "U" constraint removal.

PR bootstrap/55211
Revert:
     * config/sparc/constraints.md ("U"): Delete.
     * config/sparc/sparc.md: Use 'r' constraint instead of 'U'.
     * config/sparc/sync.md: Likewise.
And revert parts of:
* doc/md.texi: Sync sparc constraint documentation with reality.

From-SVN: r193283

12 years agoi386.c (ix86_avx_u128_mode_after): Don't look for reg in CALL operand.
Jakub Jelinek [Wed, 7 Nov 2012 07:52:16 +0000 (08:52 +0100)]
i386.c (ix86_avx_u128_mode_after): Don't look for reg in CALL operand.

* config/i386/i386.c (ix86_avx_u128_mode_after): Don't
look for reg in CALL operand.

From-SVN: r193282

12 years agore PR debug/54693 (VTA guality issues with loops)
Jakub Jelinek [Wed, 7 Nov 2012 07:50:01 +0000 (08:50 +0100)]
re PR debug/54693 (VTA guality issues with loops)

PR debug/54693
* tree-flow.h (propagate_threaded_block_debug_into): New prototype.
* tree-ssa-threadedge.c (propagate_threaded_block_debug_into): No
longer static.
* tree-ssa-loop-ch.c (copy_loop_headers): Use it.

* gcc.dg/guality/pr54693-2.c: New test.

From-SVN: r193281

12 years agoMakefile.in: Revert most changes.
Eric Botcazou [Wed, 7 Nov 2012 04:58:23 +0000 (04:58 +0000)]
Makefile.in: Revert most changes.

* gcc-interface/Makefile.in: Revert most changes.
* gcc-interface/Make-lang.in (gnatlib): Remove ada/s-oscons.ads.
libada/
* libada/Makefile.in: Revert most changes.

From-SVN: r193280

12 years agodwarf2out.c (output_comdat_type_unit): Check for OBJECT_FORMAT_ELF.
Sterling Augustine [Wed, 7 Nov 2012 01:18:28 +0000 (01:18 +0000)]
dwarf2out.c (output_comdat_type_unit): Check for OBJECT_FORMAT_ELF.

2012-11-06  Sterling Augustine <saugustine@google.com>

* dwarf2out.c (output_comdat_type_unit): Check for OBJECT_FORMAT_ELF.

Co-Authored-By: Cary Coutant <ccoutant@google.com>
From-SVN: r193279

12 years agore PR libstdc++/51850 (debug mode for std::array and tr1::array)
Paolo Carlini [Wed, 7 Nov 2012 00:42:19 +0000 (00:42 +0000)]
re PR libstdc++/51850 (debug mode for std::array and tr1::array)

2012-11-06  Paolo Carlini  <paolo.carlini@oracle.com>

PR libstdc++/51850
* include/debug/array: New, debug-mode implementation.
* include/profile/array: New.
* include/std/array: Adjust.
* include/std/tuple: Just include <array>.
* include/Makefile.am: Add.
* include/Makefile.in: Regenerate.
* testsuite/23_containers/array/debug/front1_neg.cc: New.
* testsuite/23_containers/array/debug/
square_brackets_operator1_neg.cc: Likewise.
* testsuite/23_containers/array/debug/front2_neg.cc: Likewise.
* testsuite/23_containers/array/debug/
square_brackets_operator2_neg.cc: Likewise.
* testsuite/23_containers/array/debug/back1_neg.cc: Likewise.
* testsuite/23_containers/array/debug/back2_neg.cc: Likewise.
* testsuite/23_containers/array/tuple_interface/get_neg.cc: Tweak
to run only in normal-mode.
* testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
Likewise.
* testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: New.
* testsuite/23_containers/array/tuple_interface/
tuple_element_debug_neg.cc: Likewise.

From-SVN: r193278

12 years agoAdd a contrib script for comparing the performance of two sets of
Lawrence Crowl [Wed, 7 Nov 2012 00:36:04 +0000 (00:36 +0000)]
Add a contrib script for comparing the performance of two sets of
compiler runs.

Usage documentation is in the script.

The script produces output of the form:

$ compare_two_ftime_report_sets "Log0/*perf" "Log3/*perf"

Arithmetic sample for timevar log files
"Log0/*perf"
and selecting lines containing "TOTAL" with desired confidence 95 is
trial count is 4, mean is 443.022 (95% confidence in 440.234 to 445.811),
std.deviation is 1.75264, std.error is 0.876322

Arithmetic sample for timevar log files
"Log3/*perf"
and selecting lines containing "TOTAL" with desired confidence 95 is
trial count is 4, mean is 441.302 (95% confidence in 436.671 to 445.934),
std.deviation is 2.91098, std.error is 1.45549

The first sample appears to be 0.39% larger,
with 60% confidence of being larger.
To reach 95% confidence, you need roughly 14 trials,
assuming the standard deviation is stable, which is iffy.

Tested on x86_64 builds.

Index: contrib/ChangeLog

2012-11-05  Lawrence Crowl  <crowl@google.com>

* compare_two_ftime_report_sets: New.

From-SVN: r193277

12 years agovect-fmaxv-fminv-compile.c: Add -fno-vect-cost-model.
Andrew Pinski [Wed, 7 Nov 2012 00:18:31 +0000 (00:18 +0000)]
vect-fmaxv-fminv-compile.c: Add -fno-vect-cost-model.

2012-11-06  Andrew Pinski  <apinski@cavium.com>

* gcc.target/aarch64/vect-fmaxv-fminv-compile.c: Add -fno-vect-cost-model.

From-SVN: r193276

12 years agoDaily bump.
GCC Administrator [Wed, 7 Nov 2012 00:18:29 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r193275

12 years agotm: Add uninstrumented code path
Aldy Hernandez [Tue, 6 Nov 2012 23:55:39 +0000 (23:55 +0000)]
tm: Add uninstrumented code path

Co-Authored-By: Richard Henderson <rth@redhat.com>
From-SVN: r193271

12 years ago* cfghooks.c (copy_bbs): Handle a null loop_father.
Aldy Hernandez [Tue, 6 Nov 2012 23:55:29 +0000 (23:55 +0000)]
* cfghooks.c (copy_bbs): Handle a null loop_father.

From-SVN: r193270

12 years agoHandle null current_function_decl in cgraph_debug_gimple_stmt
Aldy Hernandez [Tue, 6 Nov 2012 23:55:20 +0000 (23:55 +0000)]
Handle null current_function_decl in cgraph_debug_gimple_stmt

        * cfghooks.c (cgraph_debug_gimple_stmt): Handle a null
        current_function_decl.

From-SVN: r193269

12 years agoPrevent "illegal" block sharing within transactions.
Richard Henderson [Tue, 6 Nov 2012 23:55:11 +0000 (15:55 -0800)]
Prevent "illegal" block sharing within transactions.

        * tree-ssa-tail-merge.c (find_duplicate): Do not consider
        is_tm_ending_fndecl calls as mergable.

From-SVN: r193268

12 years agocommon.opt (gno-split-dwarf, [...]): New switches.
Sterling Augustine [Tue, 6 Nov 2012 23:15:25 +0000 (23:15 +0000)]
common.opt (gno-split-dwarf, [...]): New switches.

gcc/ChangeLog

2012-11-06  Sterling Augustine <saugustine@google.com>
            Cary Coutant <ccoutant@google.com>

* common.opt (gno-split-dwarf, gsplit-dwarf): New switches.
* doc/invoke.texi (Debugging Options): Document them.
* gcc.c (replace_extension_spec_func):  New function.
(ASM_FINAL_SPEC): Adjust.
(static_spec_functions): Add new field for replace-extension.
(check_live_switch): Adjust comment.  Add case for 'g'.
* opts.c (finish_options): Set x_debug_generate_pub_sections based on
x_dwarf_split_debug_info.
(common_handle_option): Add case for OPT_gsplit_dwarf.
* dwarf2out.h (addr_table_entry_struct): Add forward declaration.
(dw_val_struct): Add val_entry pointer.
* dwarf2out.c: (debug_skeleton_info_section,
debug_skeleton_abbrev_section, debug_addr_section,
debug_skeleton_line_section, debug_str_offsets_section): New globals.
(NOT_INDEXED, NO_INDEX_ASSIGNED): New defines.
(indirect_string_node): New field index.
(ate_kind): New enum with fields ate_kind_rtc, ate_kind_rtx_dtprel,
ate_kind_label.
(addr_table_entry): New structure and type.
(dw_loc_list_struct): Add field begin_entry.
(new_loc_desc): Initialize val_entry.
(size_of_loc_descr, output_loc_operands, output_loc_operands_raw):
Add cases for DW_OP_GNU_addr_index and DW_OP_const_index.
(build_cfa_loc): Initialize val_entry.
(AT_index, add_addr_table_entry, remove_addr_table_entry,
add_AT_lbl_id): New functions.
(add_AT_addr, add_AT_range_list): New parameter force_direct.
(output_die_abbrevs): New function.
(add_ranges_by_labels): New parameter force_direct.
(output_line_info): New parameter prologue_only.
(dtprel_bool): New enum with dtprel_false and dtprel_true.
(dw_addr_op, new_addr_loc_descr): New functions.
(DEBUG_DWO_INFO_SECTION, DEBUG_DWO_ABBREV_SECTION,
DEBUG_ADDR_SECTION, DEBUG_NORM_MACINFO_SECTION,
DEBUG_DWO_MACINFO_SECTION, DEBUG_MACINFO_SECTION,
DEBUG_NORM_MACRO_SECTION, DEBUG_DWO_MACRO_SECTION,
DEBUG_MACRO_SECTION, DEBUG_DWO_LINE_SECTION,
DEBUG_DWO_LOC_SECTION, DEBUG_NORM_STR_OFFSETS_SECTION,
DEBUG_DWO_STR_OFFSETS_SECTION, DEBUG_STR_OFFSETS_SECTION,
DEBUG_DWO_STR_SECTION, DEBUG_NORM_STR_SECTION, DEBUG_STR_SECTION,
DEBUG_MACRO_SECTION_FLAGS, DEBUG_SKELETON_LINE_SECTION_LABEL,
DEBUG_SKELETON_INFO_SECTION_LABEL, DEBUG_ADDR_SECTION_LABEL
DEBUG_SKELETON_ABBREV_SECTION_LABEL): New macros.
(DEBUG_STR_SECTION_FLAGS): Adjust.
(TEXT_SECTION_LABEL, COLD_TEXT_SECTION_LABEL,
DEBUG_LINE_SECTION_LABEL, DEBUG_INFO_SECTION_LABEL,
DEBUG_ABBREV_SECTION_LABEL, DEBUG_ADDR_SECTION_LABEL,
DEBUG_LOC_SECTION_LABEL, DEBUG_RANGES_SECTION_LABEL,
DEBUG_MACINFO_SECTION_LABEL, DEBUG_MACRO_SECTION_LABEL): Adjust
indentation.
(debug_skeleton_abbrev_section_label, debug_addr_section_label,
debug_skeleton_line_section_label, debug_skeleton_info_section_label):
New global variables.
(add_AT_flag, add_AT_int, add_AT_unsigned, add_AT_double, add_AT_vec,
add_AT_data8): Initialize val_entry.
(add_AT_low_high_pc): New parameter force_direct. Handle
dwarf_split_debug_info.
(set_indirect_string, find_AT_string_form): New functions.
(AT_string_form): Adjust to call find_AT_string_from.
(add_AT_die_ref, add_AT_fde_ref, add_AT_loc, add_AT_list):
Initialize val_entry.
(addr_index_table): New global variable.
(addr_table_entry_do_hash, addr_table_entry_eq, add_addr_table_entry,
init_addr_table_entry, remove_addr_table_entry, index_addr_table_entry,
remove_loc_list_addr_table_entries): New functions.
(add_AT_addr, add_AT_lbl_id, add_AT_range_list): New parameter
force_direct.  Handle dwarf_split_debug_info.
(add_AT_file, add_AT_vms_delta, add_AT_lineptr, add_AT_macptr,
add_AT_offset): Initialize val_entry.
(UNRELOCATED_OFFSET, RELOCATED_OFFSET): New defines.
(size_of_die): Handle dwarf_split_debug_info.
(size_of_aranges, value_format): Call AT_class.  Check AT_index.
(output_die_abbrevs): New function.
(output_abbrev_section): Call output_die_abbrevs.
(new_loc_list): Initialize begin_entry.
(output_loc_list): Handle dwarf_split_debug_info.
(output_range_list_offset, output_loc_list_offset,
output_attr_index_or_value, ): New functions.
(output_die): Fix call to dw2_asm_output_data.  Call
output_attr_index_or_value and output_range_list_offset.
Adjust logic around dw_val_class_str.
(add_top_lebel_skeleton_die_attrs, get_skeleton_type_unit,
output_skeleton_debug_sections): New functions.
(output_comdat_type_unit, output_pubname, output_aranges): Handle
dwarf_split_debug_info.
(add_ranges_by_labels): New parameter force_direct.
(mem_loc_descriptor, loc_descr): Call new_addr_loc_descr.
(loc_list_from_tree, add_const_value_attribtue): Use dtprel_bools in
place of generic integer.
(dwarf2out_vms_debug_main_pointer, gen_entry_point_die, gen_label_die,
gen_call_site_die, gen_subprogram_die, gen_variable_die,
add_high_low_attributes): Adjust calls to add_AT_lbl_id.
(output_macinfo_op): Adjust indirect_string_logic.
(save_macinfo_strings): New function.
(output_macinfo): Adjust.
(dwarf2out_init): Handle dwarf_split_debug_info.
(index_string, output_index_string_offset, output_index_string): New
functions.
(output_indirect_string): Adjust.
(output_indirect_strings, output_addr_table_entry, output_addr_table):
New functions.
(resolve_addr_in_expr, hash_loc_operands): Handle DW_OP_GNU_addr_index
and DW_OP_GNU_const_index.  Handle dwarf_split_debug_info.  Call
remove_loc_list_addr_table_entries and remove_addr_table_entry.
(index_location_lists): New function.
(dwarf2out_finish): Handle dwarf_split_debug_info.  New variable
main_comp_unit_die.  Adjust calls to add_AT_low_high_pc,
add_ranges_by_labels, add_AT_addr, and add_AT_lineptr. Call
save_macinfo_strings and output_indirect_strings.

include/ChangeLog

2012-10-29  Sterling Augustine <saugustine@google.com>
            Cary Coutant <ccoutant@google.com>

* dwarf2.h (dwarf_location_list_entry_type): New enum with fields
DW_LLE_GNU_end_of_list_entry, DW_LLE_GNU_base_address_selection_entry,
DW_LLE_GNU_start_end_entry and DW_LLE_GNU_start_length_entry.

Co-Authored-By: Cary Coutant <ccoutant@google.com>
From-SVN: r193267

12 years agogeneric-morestack.c (__generic_morestack): Align the returned stack pointer to a...
Ian Lance Taylor [Tue, 6 Nov 2012 23:04:28 +0000 (23:04 +0000)]
generic-morestack.c (__generic_morestack): Align the returned stack pointer to a 32 byte boundary.

* generic-morestack.c (__generic_morestack): Align the returned
stack pointer to a 32 byte boundary.
* config/i386/morestack.S (__morestack_non_split) [32-bit]: Don't
increment the return address until we have decided that we don't
have a varargs function.
(__morestack) [32-bit]: Align stack correctly when calling C
functions.
(__morestack) [64-bit]: Likewise.

From-SVN: r193264

12 years ago55123.cc: Remove duplicate include.
Jonathan Wakely [Tue, 6 Nov 2012 22:53:16 +0000 (22:53 +0000)]
55123.cc: Remove duplicate include.

* testsuite/20_util/shared_ptr/cons/55123.cc: Remove duplicate
include.

From-SVN: r193263

12 years agoi386.c (make_dispatcher_decl): Guard with ASM_OUTPUT_TYPE_DIRECTIVE and HAVE_GNU_INDI...
Gerald Pfeifer [Tue, 6 Nov 2012 22:14:47 +0000 (22:14 +0000)]
i386.c (make_dispatcher_decl): Guard with ASM_OUTPUT_TYPE_DIRECTIVE and HAVE_GNU_INDIRECT_FUNCTION.

* config/i386/i386.c (make_dispatcher_decl): Guard with
ASM_OUTPUT_TYPE_DIRECTIVE and HAVE_GNU_INDIRECT_FUNCTION.

From-SVN: r193261

12 years agoaarch64_guard1.C: Add -fno-section-anchors.
Andrew Pinski [Tue, 6 Nov 2012 22:06:19 +0000 (22:06 +0000)]
aarch64_guard1.C: Add -fno-section-anchors.

2012-11-06  Andrew Pinski  <apinski@cavium.com>

* g++.dg/abi/aarch64_guard1.C: Add -fno-section-anchors.

From-SVN: r193260

12 years agoipa-inline-analysis.c (estimate_function_body_sizes, [...]): Cap time calculations.
Jan Hubicka [Tue, 6 Nov 2012 21:08:49 +0000 (22:08 +0100)]
ipa-inline-analysis.c (estimate_function_body_sizes, [...]): Cap time calculations.

* ipa-inline-analysis.c (estimate_function_body_sizes,
inline_update_overall_summary): Cap time calculations.

From-SVN: r193259

12 years agoUpdate index.go from master testsuite.
Ian Lance Taylor [Tue, 6 Nov 2012 19:48:12 +0000 (19:48 +0000)]
Update index.go from master testsuite.

From-SVN: r193258

12 years agoi386.c (ix86_init_machine_status): Do not explicitly clear tls_descriptor_call_expand...
Uros Bizjak [Tue, 6 Nov 2012 19:04:47 +0000 (20:04 +0100)]
i386.c (ix86_init_machine_status): Do not explicitly clear tls_descriptor_call_expanded_p again.

* config/i386/i386.c (ix86_init_machine_status): Do not
explicitly clear tls_descriptor_call_expanded_p again.

From-SVN: r193257

12 years ago* config/i386/sse.md
Uros Bizjak [Tue, 6 Nov 2012 18:53:21 +0000 (19:53 +0100)]
* config/i386/sse.md
(<avx_avx2>_maskstore<ssemodesuffix><avxsizesuffix>): Mark operand 0
as read and written by the instruction.

From-SVN: r193256

12 years agocompiler, runtime: Size of int is now 64 bits on x86_64.
Ian Lance Taylor [Tue, 6 Nov 2012 18:46:38 +0000 (18:46 +0000)]
compiler, runtime: Size of int is now 64 bits on x86_64.

From-SVN: r193255

12 years agocompiler, libgo: Fixes to prepare for 64-bit int.
Ian Lance Taylor [Tue, 6 Nov 2012 18:28:21 +0000 (18:28 +0000)]
compiler, libgo: Fixes to prepare for 64-bit int.

From-SVN: r193254

12 years agocompiler, runtime: Memcmp routine returns intgo.
Ian Lance Taylor [Tue, 6 Nov 2012 18:12:45 +0000 (18:12 +0000)]
compiler, runtime: Memcmp routine returns intgo.

From-SVN: r193253

12 years agoChangeLog: Add missing PR number.
Uros Bizjak [Tue, 6 Nov 2012 18:00:46 +0000 (19:00 +0100)]
ChangeLog: Add missing PR number.

* ChangeLog: Add missing PR number.
* testsuite/ChangeLog: Ditto.

From-SVN: r193252

12 years agore PR debug/54693 (VTA guality issues with loops)
Alexandre Oliva [Tue, 6 Nov 2012 17:58:52 +0000 (17:58 +0000)]
re PR debug/54693 (VTA guality issues with loops)

PR debug/54693
* tree-ssa-threadedge.c (propagate_threaded_block_debug_into):
Use a stack vector before allocating a pointer set.

From-SVN: r193251

12 years agoipa-prop.c (ipa_get_param_decl_index_1): New function.
Martin Jambor [Tue, 6 Nov 2012 17:39:37 +0000 (18:39 +0100)]
ipa-prop.c (ipa_get_param_decl_index_1): New function.

2012-11-06  Martin Jambor  <mjambor@suse.cz>

* ipa-prop.c (ipa_get_param_decl_index_1): New function.
(ipa_get_param_decl_index): Just call ipa_get_param_decl_index_1.
(ipa_populate_param_decls): Accept descriptors parameter rather
than the whole info.
(load_from_unmodified_param): Likewise.
(ipa_load_from_parm_agg_1): Likewise.
(ipa_load_from_parm_agg): Extract descriptors from info.
(compute_complex_assign_jump_func): Likewise.
(ipa_analyze_indirect_call_uses): Likewise.

From-SVN: r193250

12 years agoipa-inline.c (compute_uninlined_call_time): Return gcov_type.
Jan Hubicka [Tue, 6 Nov 2012 17:32:40 +0000 (18:32 +0100)]
ipa-inline.c (compute_uninlined_call_time): Return gcov_type.

* ipa-inline.c (compute_uninlined_call_time): Return gcov_type.
(compute_inlined_call_time): Watch overflows.
(relative_time_benefit): Compute in gcov_type.

From-SVN: r193249

12 years agoForgot changelog :(
Jan Hubicka [Tue, 6 Nov 2012 17:28:36 +0000 (17:28 +0000)]
Forgot changelog :(

From-SVN: r193248

12 years agocfgloopanal.c (get_loop_hot_path): New function.
Jan Hubicka [Tue, 6 Nov 2012 16:22:45 +0000 (17:22 +0100)]
cfgloopanal.c (get_loop_hot_path): New function.

* cfgloopanal.c (get_loop_hot_path): New function.
* tree-ssa-lop-ivcanon.c (struct loop_size): Add CONSTANT_IV,
NUM_NON_PURE_CALLS_ON_HOT_PATH, NUM_PURE_CALLS_ON_HOT_PATH,
NUM_BRANCHES_ON_HOT_PATH.
(tree_estimate_loop_size): Compute the new values.
(try_unroll_loop_completely): Disable unrolling of loops with only
calls or too many branches.
(tree_unroll_loops_completely): Deal also with outer loops of hot loops.
* cfgloop.h (get_loop_hot_path): Declare.
* params.def (PARAM_MAX_PEEL_BRANCHES): New parameters.
* invoke.texi (max-peel-branches): Document.

* gcc.dg/tree-ssa/loop-1.c: Make to look like a good unroling candidate still.
* gcc.dg/tree-ssa/loop-23.c: Likewise.
* gcc.dg/tree-ssa/cunroll-1.c: Unrolling now happens early.
* gcc.dg/tree-prof/unroll-1.c: Remove confused dg-options.

From-SVN: r193246

12 years ago* ipa-pure-const.c (check_stmt): Fix debug info formatting.
Jan Hubicka [Tue, 6 Nov 2012 16:05:18 +0000 (17:05 +0100)]
* ipa-pure-const.c (check_stmt): Fix debug info formatting.

From-SVN: r193245