bernds [Wed, 5 Oct 2011 20:42:21 +0000 (20:42 +0000)]
* function.c (thread_prologue_and_epilogue_insns): Don't shrink-wrap
if profiling after the prologue.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179577
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Wed, 5 Oct 2011 19:41:27 +0000 (19:41 +0000)]
* ChangeLog: Update my previous entry.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179574
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Wed, 5 Oct 2011 19:40:14 +0000 (19:40 +0000)]
* gcc.dg/vect/vect.exp (VEC_CFLAGS): Append "-fdump-tree-veclower2".
* gcc.dg/vect/vec-scal-opt.c: Scan and cleanup veclower2 tree dump.
* gcc.dg/vect/vec-scal-opt1.c: Ditto.
* gcc.dg/vect/vec-scal-opt2.c: Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179573
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Wed, 5 Oct 2011 18:09:56 +0000 (18:09 +0000)]
PR tree-optimization/50613
* tree-ssa-strlen.c (find_equal_ptrs): If CASE_CONVERT
operand is ADDR_EXPR, fallthru into ADDR_EXPR handling,
and if it is neither that not SSA_NAME, give up.
* gcc.dg/pr50613.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179567
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Wed, 5 Oct 2011 17:45:36 +0000 (17:45 +0000)]
Fix vect-shuffle-* test cases.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179566
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Wed, 5 Oct 2011 17:41:01 +0000 (17:41 +0000)]
* gcc.dg/vect/vect.exp (VEC_CFLAGS): Move initialization after
DEFAULT_VECTFLAGS initialization.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179565
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Wed, 5 Oct 2011 17:40:58 +0000 (17:40 +0000)]
i386: Rewrite ix86_expand_vshuffle.
1: Handle TARGET_XOP.
2: Reduce code duplication.
3: Use ASHIFT instead of MULT for scaling.
4: Fix errors in building convert-to-v16qi indicies.
5: Handle v2di without sse4.1.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179564
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Wed, 5 Oct 2011 17:40:49 +0000 (17:40 +0000)]
Fix lower_vec_shuffle.
1: It can never fail.
2: It should mask the input indicies.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179563
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Wed, 5 Oct 2011 17:24:01 +0000 (17:24 +0000)]
* config/i386/i386.c (distance_non_agu_define): Simplify calculation
of "found". Simplify return value calculation.
(distance_agu_use): Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179561
138bc75d-0d04-0410-961f-
82ee72b054a4
bernds [Wed, 5 Oct 2011 17:17:12 +0000 (17:17 +0000)]
PR bootstrap/50621
* config/i386/i386.c (ix86_add_cfa_restore_note): Omit notes only
if the function was not shrink-wrapped.
(ix86_expand_epilogue): Ensure queued cfa_adjust notes are attached
to an insn.
* function.c (thread_prologue_and_epilogue_insns): Make sure the
shrink_wrapped flag is set even if there is no dump file.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179560
138bc75d-0d04-0410-961f-
82ee72b054a4
nickc [Wed, 5 Oct 2011 15:07:21 +0000 (15:07 +0000)]
* config/rx/rx.opt (mpid): Define.
* config/rx/t-rx (MULTILIB_OPTIONS): Add -mpid
(MULTILIB_DIRNAMES): Add pid.
* config/rx/rx.c (rx_gp_base_regnum_val, rx_pid_base_regnum_val)
(rx_num_interrupt_regs): New variable.
(rx_gp_base_regnum): New function. Returns the number of the
small data area register.
(rx_pid_base_regnum): New function. Returns the number of the pid
base register.
(rx_decl_for_addr): New function. Returns the symbolic part of a
MEM.
(rx_pid_data_operand): New function. Returns whether an object is
in the position independent data area.
(rx_legitimize_address): New function. Puts undecided PID
objects in the PID data area.
(rx_is_legitimate_address): Add support for PID operands.
(rx_print_operand_address): Likewise.
(rx_print_operand): Likewise.
(rx_maybe_pidify_operand): New function. Determine if an operand
is suitable for PID addressing.
(rx_gen_move_template): Add PID support.
(rx_conditional_register_usage): Likewise.
(rx_option_override): Initialise rx_num_interrupt_regs.
(rx_is_legitimate_constant): Add support for PID constants.
(TARGET_LEGITIMIZE_ADDRESS): Define.
* config/rx/constraints.md (Rpid): Define.
(Rpda): Define.
* config/rx/rx.md (UNSPEC_PID_ADDR): Define.
(tablejump): Add PID support.
(mov<>): Likewise.
(mov<>_internal): Likewise.
(addsi3): Convert to an expander. Add PID support.
(pid_addr): New pattern.
* config/rx/rx.h (CPP_SPEC): Define.
(ASM_SPEC): Pass -mpid and -mint-register on to assembler.
(CASE_VECTOR_PC_RELATIVE): Define.
(JUMP_TABLES_IN_TEXT_SECTION): Enable for PID mode.
* config/rx/rx-protos.h (rx_maybe_pidify_operand): Prototype.
* doc/invoke.texi (RX Options): Document -mpid command line
option.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179558
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Wed, 5 Oct 2011 14:35:15 +0000 (14:35 +0000)]
2011-10-05 Richard Guenther <rguenther@suse.de>
PR tree-optimization/38885
* tree-ssa-sccvn.c (vn_reference_lookup_3): Handle partial reads
from constants.
* gcc.dg/tree-ssa/ssa-fre-33.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179556
138bc75d-0d04-0410-961f-
82ee72b054a4
bernds [Wed, 5 Oct 2011 12:59:23 +0000 (12:59 +0000)]
* doc/invoke.texi (-fshrink-wrap): Document.
* opts.c (default_options_table): Add it.
* common.opt (fshrink-wrap): Add.
* function.c (emit_return_into_block): Remove useless declaration.
(record_hard_reg_uses_1, record_hard_reg_uses, frame_required_for_rtx,
requires_stack_frame_p, gen_return_pattern): New static functions.
(emit_return_into_block): New arg simple_p. All callers changed.
Use gen_return_pattern.
(thread_prologue_and_epilogue_insns): Implement shrink-wrapping.
* config/i386/i386.md (return): Expand into a simple_return.
(simple_return): New expander):
(simple_return_internal, simple_return_internal_long,
simple_return_pop_internal_long, simple_return_indirect_internal):
Renamed from return_internal, return_internal_long,
return_pop_internal_long and return_indirect_internal; changed to use
simple_return.
* config/i386/i386.c (ix86_expand_epilogue): Adjust to expand
simple returns.
(ix86_pad_returns): Likewise.
* function.h (struct rtl_data): Add member shrink_wrapped.
* cfgcleanup.c (outgoing_edges_match): If shrink-wrapped, edges that
are not jumps or sibcalls can't be compared.
* gcc.target/i386/sw-1.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179553
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Wed, 5 Oct 2011 12:25:35 +0000 (12:25 +0000)]
2011-10-05 Richard Guenther <rguenther@suse.de>
* tree-ssa-sccvn.c (vn_get_expr_for): Handle CONSTRUCTOR of
vector type.
(simplify_unary_expression): Handle BIT_FIELD_REFs.
(try_to_simplify): Handle BIT_FIELD_REFs.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179549
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Wed, 5 Oct 2011 12:21:30 +0000 (12:21 +0000)]
* gcc.target/i386/avx256-unaligned-load-3.c (dg-options): Add
-mtune=generic.
* gcc.target/i386/avx256-unaligned-store-3.c (dg-options): Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179548
138bc75d-0d04-0410-961f-
82ee72b054a4
gjl [Wed, 5 Oct 2011 11:16:10 +0000 (11:16 +0000)]
* config/avr/avr-protos.h (avr_out_addto_sp): New prototype.
* config/avr/avr.c (avr_out_addto_sp): New function.
(adjust_insn_length): Handle ADJUST_LEN_ADDTO_SP.
* config/avr/avr.md (adjust_len): Add "addto_sp".
(*movhi_sp): Remove insn.
(*addhi3_sp_R_pc2, *addhi3_sp_R_pc3): Merge to *addhi3_sp_R.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179544
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Wed, 5 Oct 2011 10:54:14 +0000 (10:54 +0000)]
2011-10-05 Richard Guenther <rguenther@suse.de>
* gimple-fold.c (gimple_fold_stmt_to_constant_1): For
ternary ops with an embedded expression valueize and fold
that as well.
* tree-ssa-sccvn.c (try_to_simplify): Also allow SSA name
results from gimple_fold_stmt_to_constant_1.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179543
138bc75d-0d04-0410-961f-
82ee72b054a4
nickc [Wed, 5 Oct 2011 10:26:58 +0000 (10:26 +0000)]
* config/rx/rx.md (tablejump): Add missing label.
(adddi3_internal): Mark operand 0 as early-clobbered.
(smaxsi3): Revert previous delta.
(adc_internal): Fix whitespace in generated asm.
(adc_flags): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179542
138bc75d-0d04-0410-961f-
82ee72b054a4
krebbel [Wed, 5 Oct 2011 10:20:04 +0000 (10:20 +0000)]
2011-10-05 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* expmed.c (expand_mult_highpart_optab): Replace optab_handler
with the new widening_optab_handler.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179541
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Wed, 5 Oct 2011 09:31:40 +0000 (09:31 +0000)]
2011-10-05 Richard Guenther <rguenther@suse.de>
PR tree-optimization/50609
* gimple-fold.c (fold_array_ctor_reference): Also handle
vector typed constructors.
(fold_ctor_reference): Dispatch to fold_array_ctor_reference
for vector typed constructors.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179540
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Wed, 5 Oct 2011 08:05:14 +0000 (08:05 +0000)]
* config/i386/i386.c (ix86_emit_binop): New static function.
(ix86_split_lea_for_addr): Use ix86_emit_binop to emit add and shl
instructions.
(x86_output_mi_thunk): Use ix86_emit_binop to emit add instructions.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179537
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Wed, 5 Oct 2011 06:12:39 +0000 (06:12 +0000)]
* gcc.dg/torture/builtin-complex-1.c: Use dg-add-options ieee.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179536
138bc75d-0d04-0410-961f-
82ee72b054a4
davem [Wed, 5 Oct 2011 03:25:58 +0000 (03:25 +0000)]
Add support for more sparc VIS 3.0 instructions.
gcc/
* config/sparc/sparc.md (UNSPEC_FHADD, UNSPEC_FHSUB,
UNSPEC_XMUL): New unspecs.
(muldi3_v8plus): Use output_v8plus_mult.
(*naddsf3, *nadddf3, *nmulsf3, *nmuldf3, *nmuldf3_extend):
New VIS 3.0 combiner patterns.
(fhaddsf_vis, fhadddf_vis, fhsubsf_vis, fhsubdf_vis,
fnhaddsf_vis, fnhaddf_vis, umulxhi_vis, *umulxhi_sp64,
umulxhi_v8plus, xmulx_vis, *xmulx_sp64, xmulx_v8plus,
xmulxhi_vis, *xmulxhi_sp64, xmulxhi_v8plus): New VIS 3.0
builtins patterns.
* config/sparc/sparc.c (sparc_vis_init_builtins): Emit new
builtins.
(output_v8plus_mult): New function.
* config/sparc/sparc-protos.h: Declare it.
* config/sparc/visintrin.h (__vis_fhadds, __vis_fhaddd,
__vis_fhsubs, __vis_fhsubd, __vis_fnhadds, __vis_fnhaddd,
__vis_umulxhi, __vis_xmulx, __vis_xmulxhi): New intrinsics.
* doc/extend.texi: Document new builtins.
gcc/testsuite/
* gcc.target/sparc/fhalve.c: New test.
* gcc.target/sparc/fnegop.c: New test.
* gcc.target/sparc/xmul.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179535
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Wed, 5 Oct 2011 00:26:24 +0000 (00:26 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179534
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Tue, 4 Oct 2011 23:16:32 +0000 (23:16 +0000)]
Fix global var initialized to function call with calls as arguments.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179529
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Tue, 4 Oct 2011 22:19:44 +0000 (22:19 +0000)]
2011-10-04 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/49561
* include/bits/stl_list.h (_List_base<>::_List_impl::_M_size):
Add in C++0x mode.
(_List_base<>::_List_impl, _List_base<>::_M_get_node,
_List_base<>::_M_put_node, _List_base<>::_List_base(_List_base&&),
list<>::size, list<>::swap, list<>::splice): Use it.
(operator==(const list<>&, const list<>&)): Rewrite in C++0x mode.
* include/bits/list.tcc (list<>::erase): Likewise.
(list<>::merge): Adjust in C++0x mode.
* testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
Adjust dg-error line number.
* testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
Likewise.
* testsuite/23_containers/list/requirements/dr438/
constructor_1_neg.cc: Likewise.
* testsuite/23_containers/list/requirements/dr438/
constructor_2_neg.cc: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179528
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Tue, 4 Oct 2011 21:42:43 +0000 (21:42 +0000)]
2011-10-04 Paolo Carlini <paolo.carlini@oracle.com>
* testsuite/20_util/bind/48698.cc (g): Fix return type, avoid -Wall
warning.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179526
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Tue, 4 Oct 2011 21:04:10 +0000 (21:04 +0000)]
* c-typeck.c (c_build_vec_shuffle_expr): Fix uninitialized variable.
Avoid save_expr unless two_arguments.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179525
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Tue, 4 Oct 2011 20:34:54 +0000 (20:34 +0000)]
2011-10-04 Jonathan Wakely <jwakely.gcc@gmail.com>
* include/ext/alloc_traits.h (__alloc_traits::max_size): Define.
(__alloc_traits::rebind): Define.
* include/bits/stl_vector.h: Use them.
* testsuite/util/testsuite_allocator.h (SimpleAllocator): Define.
* testsuite/23_containers/vector/allocator/minimal.cc: New.
* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
Adjust dg-error line numbers.
* testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
Likewise.
* testsuite/23_containers/vector/requirements/dr438/
constructor_1_neg.cc: Likewise.
* testsuite/23_containers/vector/requirements/dr438/
constructor_2_neg.cc: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179523
138bc75d-0d04-0410-961f-
82ee72b054a4
janus [Tue, 4 Oct 2011 18:37:13 +0000 (18:37 +0000)]
2011-10-04 Janus Weil <janus@gcc.gnu.org>
PR fortran/35831
* interface.c (check_dummy_characteristics): Check the array shape.
2011-10-04 Janus Weil <janus@gcc.gnu.org>
PR fortran/35831
* gfortran.dg/dummy_procedure_6.f90: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179520
138bc75d-0d04-0410-961f-
82ee72b054a4
ktietz [Tue, 4 Oct 2011 16:42:35 +0000 (16:42 +0000)]
2011-10-04 Ozkan Sezer <sezeroz@gmail.com>
* config/i386/mingw-w64.h (CPP_SPEC): Rename _REENTRANCE to
_REENTRANT.
* config/i386/mingw32.h (CPP_SPEC): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179511
138bc75d-0d04-0410-961f-
82ee72b054a4
davem [Tue, 4 Oct 2011 15:45:49 +0000 (15:45 +0000)]
Small -m{cpu,tune}=native fix under Linux/Sparc.
* config/sparc/driver-sparc.c (cpu_names): Fix string for supersparc
under Linux.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179510
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Tue, 4 Oct 2011 15:25:53 +0000 (15:25 +0000)]
PR tree-optimization/50604
* builtins.c (fold_builtin_strcpy, fold_builtin_stpcpy,
fold_builtin_strncpy, fold_builtin_stxcpy_chk): Ensure
last argument to memcpy has size_type_node type instead of
ssizetype.
* tree-ssa-strlen.c (handle_builtin_memcpy): Use size_type_node
instead of TREE_TYPE (len) as type for newlen.
* gcc.dg/pr50604.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179508
138bc75d-0d04-0410-961f-
82ee72b054a4
ak [Tue, 4 Oct 2011 14:12:37 +0000 (14:12 +0000)]
Maintain order of LTO sections
Currently when reading in LTO sections from ld -r files they can
get randomly reordered based on hash tables and random IDs.
This causes reordering later when the final code is generated and
also makes crashes harder to reproduce.
This patch maintains explicit lists based on the input order and uses
those lists to preserve that order when starting the rest of the
LTO passes.
This is the first step to working -fno-toplevel-reorder for
LTO. But this needs more changes because the LTO partitioner
can still reorder.
This add two lists: one for the section and another one for
the file_decl_datas. This is needed because the sections are
walked twice through different data structures.
In addition some code becomes slightly cleaner because we don't need
to pass state through abstract callbacks anymore, but
can just use direct type safe calls.
gcc/lto/:
2011-10-02 Andi Kleen <ak@linux.intel.com>
* lto-object.c (lto_obj_add_section_data): Add list.
(lto_obj_add_section): Fill in list.
(ltoobj_build_section_table): Pass through list.
* lto.c (file_data_list): Declare.
(create_subid_section_table): Pass arguments directly.
Fill in list of file_datas.
(lwstate): Delete.
(lto_create_files_from_ids): Pass in direct arguments.
Don't maintain list.
(lto_file_read): Use explicit section and file data lists.
(lto_read_all_file_options): Pass in section_list.
* lto.h (lto_obj_build_section_table): Add list.
(lto_section_slot): Add next.
(lto_section_list): Declare.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179505
138bc75d-0d04-0410-961f-
82ee72b054a4
ro [Tue, 4 Oct 2011 14:02:29 +0000 (14:02 +0000)]
Don't XFAIL gcc.dg/graphite/interchange-14.c (PR tree-optimization/49662)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179503
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Tue, 4 Oct 2011 13:36:24 +0000 (13:36 +0000)]
PR tree-optimization/50522
* tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Don't test
TYPE_RESTRICT.
(ptr_derefs_may_alias_p): Call pt_solutions_same_restrict_base
unconditionally.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179502
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Tue, 4 Oct 2011 12:34:06 +0000 (12:34 +0000)]
* fold-const.c (fold_unary_loc): Don't optimize
POINTER_PLUS_EXPR casted to TYPE_RESTRICT pointer by
casting the inner pointer if it isn't TYPE_RESTRICT.
* tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Don't through
casts from non-TYPE_RESTRICT pointer to TYPE_RESTRICT pointer.
* gcc.dg/tree-ssa/restrict-4.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179500
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Tue, 4 Oct 2011 11:24:23 +0000 (11:24 +0000)]
* config.gcc (i[34567]86-*-elf*, x86_64-*-elf*): Use
i386/t-crtstuff.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179498
138bc75d-0d04-0410-961f-
82ee72b054a4
gjl [Tue, 4 Oct 2011 10:01:32 +0000 (10:01 +0000)]
2011-10-04 Artem Shinkarov <artyom.shinkaroff@gmail.com>
* gcc.c-torture/execute/vector-compare-1.c: Fix trailing white
spaces.
(main): Use __typeof to get result type of comparison.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179497
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Tue, 4 Oct 2011 09:46:56 +0000 (09:46 +0000)]
* lto-streamer.h (lto_input_toplevel_asms): Add order_base parameter.
* lto-streamer-in.c (lto_input_toplevel_asms): Stream in order.
* lto-streamer-out.c (lto_output_toplevel_asms): Stream out order.
* lto-cgraph.c (order_base): New static var.
(lto_output_node): Stream in order.
(lto_output_varpool_node): Stream out order.
(input_node): Stream in order.
(input_varpool_node): Stream out order.
(input_cgraph_1): Initialize order base; update call of
lto_input_toplevel_asms.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179496
138bc75d-0d04-0410-961f-
82ee72b054a4
gjl [Tue, 4 Oct 2011 08:23:03 +0000 (08:23 +0000)]
PR target/50566
* config/avr/avr-protos.h (avr_legitimize_reload_address): New
prototype.
* config/avr/avr.h (LEGITIMIZE_RELOAD_ADDRESS): Copy worker code
from here...
* config/avr/avr.c (avr_legitimize_reload_address) ...to this new
function. Log if avr_log.legitimize_reload_address.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179494
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Tue, 4 Oct 2011 07:40:07 +0000 (07:40 +0000)]
* config/sparc/sparc.c (sparc_fold_builtin): Use a sequence of tests.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179493
138bc75d-0d04-0410-961f-
82ee72b054a4
krebbel [Tue, 4 Oct 2011 07:27:01 +0000 (07:27 +0000)]
2011-10-04 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* longlong.h (smul_ppmm, sdiv_qrnnd): Add underscores to the local
variables. Fix second operand of DR. Swap inputs for sdiv_qrnnd.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179491
138bc75d-0d04-0410-961f-
82ee72b054a4
irar [Tue, 4 Oct 2011 07:21:46 +0000 (07:21 +0000)]
* lib/target-supports.exp
(check_effective_target_vect_multiple_sizes):
Make et_vect_multiple_sizes_saved global.
(check_effective_target_vect64): Make et_vect64_saved global.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179490
138bc75d-0d04-0410-961f-
82ee72b054a4
davem [Tue, 4 Oct 2011 06:34:22 +0000 (06:34 +0000)]
More consistent access to sparc %ger register.
* config/sparc/sparc.md (fpack16_vis, fpackfix_vis, fpack32_vis): Make
GSR_REG an input operand to UNSPEC instead of a parallel USE.
(faligndata<V64I:mode>_vis): Likewise and use DI mode.
(alignaddrsi_vis, alignaddrdi_vis, alignaddrlsi_vis, alignaddrldi_vis):
Reference GSR_REG in DI mode, simplify convoluted expressions by using
zero_extract.
(bshuffle<V64I:mode>_vis): Reference GSR_REG in DI mode.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179489
138bc75d-0d04-0410-961f-
82ee72b054a4
mkuvyrkov [Tue, 4 Oct 2011 02:23:17 +0000 (02:23 +0000)]
* tree-eh.c (remove_unreachable_handlers): Obvious cleanup.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179486
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Tue, 4 Oct 2011 00:17:40 +0000 (00:17 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179484
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Mon, 3 Oct 2011 20:15:53 +0000 (20:15 +0000)]
* de.po: Update.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179478
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Mon, 3 Oct 2011 20:09:56 +0000 (20:09 +0000)]
* godump.c (go_output_typedef): Support printing enum values that
don't fit in a signed HOST_WIDE_INT.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179477
138bc75d-0d04-0410-961f-
82ee72b054a4
aesok [Mon, 3 Oct 2011 19:39:50 +0000 (19:39 +0000)]
* config/cris/cris.c (cris_output_addr_const_extra): Make static.
(TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
* config/cris/cris.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
* config/cris/cris-protos.h (cris_output_addr_const_extra): Remove.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179476
138bc75d-0d04-0410-961f-
82ee72b054a4
aesok [Mon, 3 Oct 2011 19:16:29 +0000 (19:16 +0000)]
* config/m68k/m68k.c (m68k_output_addr_const_extra): Make static.
(TARGET_OUTPUT_ADDR_CONST_EXTRA): Define.
* config/m68k/m68k.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
* config/m68k/m68k-protos.h (m68k_output_addr_const_extra): Remove.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179474
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Mon, 3 Oct 2011 19:11:53 +0000 (19:11 +0000)]
2011-10-03 Jonathan Wakely <jwakely.gcc@gmail.com>
* testsuite/20_util/pointer_traits/pointer_to.cc: Define equality
operator and use.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179473
138bc75d-0d04-0410-961f-
82ee72b054a4
sje [Mon, 3 Oct 2011 17:57:40 +0000 (17:57 +0000)]
2011-10-03 Steve Ellcey <sje@cup.hp.com>
PR target/49967
* configure.ac (gcc_cv_ld_static_dynamic): Define for *-*-hpux*.
(gcc_cv_ld_static_option): Ditto.
(gcc_cv_ld_dynamic_option): Ditto.
* configure: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179472
138bc75d-0d04-0410-961f-
82ee72b054a4
davem [Mon, 3 Oct 2011 17:55:10 +0000 (17:55 +0000)]
Minor fixup to the sparc bshuffle pattern.
* config/sparc/sparc.md (bshuffle<V64I:mode>_vis): Don't wrap GSR_REG in
a USE, since it's now a true arg to the UNSPEC.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179470
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Mon, 3 Oct 2011 17:11:11 +0000 (17:11 +0000)]
Fix Artem's name spelling, at request.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179469
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Mon, 3 Oct 2011 17:08:43 +0000 (17:08 +0000)]
Fix broken commit wrt vect-shuffle-N.c tests.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179468
138bc75d-0d04-0410-961f-
82ee72b054a4
davem [Mon, 3 Oct 2011 16:41:07 +0000 (16:41 +0000)]
Minor fixups to the sparc bmask/bshuffle patterns.
* config/sparc/sparc.md (bmask<P:mode>_vis): Split into explicit 'di'
and 'si' patterns which describe the GSR changes explicitly in the
RTL using zero_extract.
(bshuffle<V64I:mode>_vis): Put the GSR use inside of the unspec.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179465
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Mon, 3 Oct 2011 15:28:47 +0000 (15:28 +0000)]
2011-10-03 Paolo Carlini <paolo.carlini@oracle.com>
* include/bits/hashtable.h (_Hashtable<>::insert(value_type&&),
insert(const_iterator, value_type&&)): Don't define here...
* include/bits/unordered_set.h (__unordered_set<>,
__unordered_multiset<>): ... define here instead.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179464
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Mon, 3 Oct 2011 15:13:26 +0000 (15:13 +0000)]
Vector shuffling patch from Artem Shinkarov.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179462
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Mon, 3 Oct 2011 09:06:38 +0000 (09:06 +0000)]
PR tree-optimization/50587
* tree-ssa-reassoc.c (init_range_entry): Stop iterating when
arg0 is not a SSA_NAME.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179447
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Mon, 3 Oct 2011 08:11:43 +0000 (08:11 +0000)]
gcc/
* ipa-inline-analysis.c (MAX_TIME): Update comment.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179446
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Mon, 3 Oct 2011 04:32:35 +0000 (04:32 +0000)]
* pt.c (tsubst_pack_expansion): Re-use ARGUMENT_PACK_SELECTs.
Change unsubstituted_packs to bool.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179444
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Mon, 3 Oct 2011 04:32:20 +0000 (04:32 +0000)]
* parser.c (cp_parser_range_for): Don't try to deduce from {}
in a template.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179443
138bc75d-0d04-0410-961f-
82ee72b054a4
davem [Mon, 3 Oct 2011 00:52:32 +0000 (00:52 +0000)]
Add missing changelog details in previous commit.
* config/sparc/predicates.md (const_one_operand): Delete.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179442
138bc75d-0d04-0410-961f-
82ee72b054a4
davem [Mon, 3 Oct 2011 00:46:54 +0000 (00:46 +0000)]
Add missing sparc shift zero extensions, and fix shift attributes.
* config/sparc/sparc.md (ashlsi3, *ashldi3_sp64): Remove
conditional insn type setting, we always emit a shift.
(*ashlsi3_extend, *lshrsi3_extend0): New patterns.
(*lshrsi3_extend): Rename to *lshrsi3_extend1.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179441
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Mon, 3 Oct 2011 00:19:00 +0000 (00:19 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179440
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Sun, 2 Oct 2011 21:45:01 +0000 (21:45 +0000)]
PR c++/35722
Implement N2555 (expanding pack expansion to fixed parm list)
* pt.c (coerce_template_parms): Allow expanding a pack expansion
to a fixed-length argument list.
(unify_pack_expansion): Handle explicit args properly.
(unify) [TREE_VEC]: Handle pack expansions here.
[TYPE_ARGUMENT_PACK]: Not here.
(tsubst_pack_expansion): Don't try to do partial substitution.
(pack_deducible_p): New.
(fn_type_unification): Use it.
(find_parameter_packs_r): Take the TYPE_MAIN_VARIANT
of a type parameter.
(check_non_deducible_conversion): Split from type_unification_real.
(unify_one_argument): Split from type_unification_real...
(unify_pack_expansion): ...and here. Drop call_args_p parm.
(type_unification_real, unify, more_specialized_fn): Adjust.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179436
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Sun, 2 Oct 2011 21:44:52 +0000 (21:44 +0000)]
* class.c (fixed_type_or_null): Handle NSDMI.
* method.c (walk_field_subobs): Disable NSDMI noexcept checking
for now.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179435
138bc75d-0d04-0410-961f-
82ee72b054a4
gerald [Sun, 2 Oct 2011 20:51:29 +0000 (20:51 +0000)]
* invoke.texi (SPARC Options): Refer to GNU/Linux.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179434
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Sun, 2 Oct 2011 18:29:27 +0000 (18:29 +0000)]
gcc/testsuite/
PR target/50579
* gcc.target/mips/mips.exp (mips_long32_abi_p, mips_long64_abi_p):
New procedures.
(mips-dg-options): Force an ABI option if the current ABI is
incompatible with the required -mlong setting. Likewise force
a long setting if the current one is incompatible with the
chosen ABI. Keep abi_test_option_p, abi and eabi_p updated
throughout procedure.
* gcc.target/mips/abi-o64-long64.c: Require -mno-abicalls
instead of addressing=absolute.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179433
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Sun, 2 Oct 2011 17:46:11 +0000 (17:46 +0000)]
gcc/
* config/mips/mips.c (mips_frame_barrier): New function.
(mips_expand_prologue): Call it after allocating stack space.
(mips_deallocate_stack): New function.
(mips_expand_epilogue): Call mips_frame_barrier and
mips_deallocate_stack.
gcc/testsuite/
* gcc.target/mips/stack-1.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179432
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Sun, 2 Oct 2011 17:45:10 +0000 (17:45 +0000)]
gcc/
PR target/49696
* config/mips/sync.md (sync_<optab>_12): Allow zero operands.
(sync_old_<optab>_12, sync_new_<optab>_12, sync_nand_12): Likewise.
(sync_old_nand_12, sync_new_nand_12, test_and_set_12): Likewise.
gcc/testsuite/
* gcc.dg/pr49696.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179431
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Sun, 2 Oct 2011 15:06:11 +0000 (15:06 +0000)]
* cgraphunit.c (verify_edge_count_and_frequency): Bounds check.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179430
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Sun, 2 Oct 2011 14:30:50 +0000 (14:30 +0000)]
* cgraphunit.c (ipa_passes): Remove unrechable nodes.
* lto-streamer-out.c (produce_symtab): Skip unused extern declarations.
* ipa.c (cgraph_remove_unreachable_nodes): Do not assume that external
functions are reachable when address is taken.
* ipa-inline-analysis.c (reset_inline_edge_summary): New
* gcc.dg/ipa/ctor-empty-1.c: Update dump file.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179429
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Sun, 2 Oct 2011 14:28:18 +0000 (14:28 +0000)]
* ipa-inline-analysis.c (inline_summary_alloc): Bounds check.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179428
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Sun, 2 Oct 2011 13:59:28 +0000 (13:59 +0000)]
* ipa-inline-analysis.c (reset_inline_edge_summary): New function.
(reset_inline_summary): New function.
(compute_inline_parameters, inline_node_removal_hook,
inline_edge_removal_hook): Use it.
(inline_free_summary): Reset holders correctly.
(inline_generate_summary): Free summary before computing it.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179427
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Sun, 2 Oct 2011 12:31:40 +0000 (12:31 +0000)]
2011-10-02 Paolo Carlini <paolo.carlini@oracle.com>
PR preprocessor/36819
* incpath.c (merge_include_chains): Call free_path on
heads[QUOTE] and tails[QUOTE].
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179426
138bc75d-0d04-0410-961f-
82ee72b054a4
revitale [Sun, 2 Oct 2011 11:14:53 +0000 (11:14 +0000)]
Fix r179381: add missing period in testsuite/Changelog.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179425
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Sun, 2 Oct 2011 10:41:24 +0000 (10:41 +0000)]
PR lto/47247
* lto-plugin.c (get_symbols_v2): New variable.
(write_resolution): Use V2 API when available.
(onload): Handle LDPT_GET_SYMBOLS_V2.
* lto-symtab.c (lto_symtab_resolve_symbols): Do not resolve
when resolution is already availbale from plugin.
(lto_symtab_merge_decls_1): Handle LDPR_PREVAILING_DEF_IRONLY_EXP.
* cgraph.c (ld_plugin_symbol_resolution): Add prevailing_def_ironly_exp.
* lto-cgraph.c (LDPR_NUM_KNOWN): Update.
* ipa.c (varpool_externally_visible_p): IRONLY variables are never
externally visible.
* varasm.c (resolution_to_local_definition_p): Add
LDPR_PREVAILING_DEF_IRONLY_EXP.
(resolution_local_p): Likewise.
* common.c (lto_resolution_str): Add new resolution.
* common.h (lto_resolution_str): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179424
138bc75d-0d04-0410-961f-
82ee72b054a4
davem [Sun, 2 Oct 2011 02:21:20 +0000 (02:21 +0000)]
Start adding support for VIS 3.0 instructions.
gcc/
* config/sparc/sparc.opt (VIS3): New option.
* doc/invoke.texi: Document it.
* config/sparc/sparc.h: Force TARGET_VIS3 to zero if assembler is
not capable of such instructions.
* config/sparc/sparc-c.c (sparc_target_macros): Define __VIS__
to 0x300 when TARGET_VIS3.
* config/sparc/sparc-modes.def: Create 16-byte vector modes.
* config/sparc/sparc.md (UNSPEC_CMASK8, UNSPEC_CMASK16, UNSPEC_CMASK32,
UNSPEC_FCHKSM16, UNSPEC_PDISTN, UNSPC_FUCMP): New unspecs.
(V64N8, VASS): New mode iterators.
(vis3_shift, vis3_addsub_ss): New code iterators.
(vbits, vconstr): New mode attributes.
(vis3_shift_insn, vis3_addsub_ss_insn): New code attributes.
(cmask8<P:mode>_vis, cmask16<P:mode>_vis, cmask32<P:mode>_vis,
fchksm16_vis, <vis3_shift_insn><vbits>_vis, pdistn<mode>_vis,
fmean16_vis, fpadd64_vis, fpsub64_vis, <vis3_addsub_ss_insn><vbits>_vis,
fucmp<code>8<P:mode>_vis): New VIS 3.0 instruction patterns.
* config/sparc/sparc.c (sparc_option_override): Set MASK_VIS3 by
default when targetting capable cpus. TARGET_VIS3 implies
TARGET_VIS2 and TARGET_VIS, and clear them when TARGET_FPU is
disabled.
(sparc_vis_init_builtins): Emit new VIS 3.0 builtins.
(sparc_fold_builtin): Do not eliminate cmask{8,16,32} when result
is ignored.
* config/sparc/visintrin.h (__vis_cmask8, __vis_cmask16,
__vis_cmask32, __vis_fchksm16, __vis_fsll16, __vis_fslas16,
__vis_fsrl16, __vis_fsra16, __vis_fsll32, __vis_fslas32,
__vis_fsrl32, __vis_fsra32, __vis_pdistn, __vis_fmean16,
__vis_fpadd64, __vis_fpsub64, __vis_fpadds16, __vis_fpadds16s,
__vis_fpsubs16, __vis_fpsubs16s, __vis_fpadds32, __vis_fpadds32s,
__vis_fpsubs32, __vis_fpsubs32s, __vis_fucmple8, __vis_fucmpne8,
__vis_fucmpgt8, __vis_fucmpeq8): New VIS 3.0 interfaces.
* doc/extend.texi: Document new VIS 3.0 builtins.
gcc/testsuite/
* gcc.target/sparc/cmask.c: New test.
* gcc.target/sparc/fpadds.c: New test.
* gcc.target/sparc/fshift.c: New test.
* gcc.target/sparc/fucmp.c: New test.
* gcc.target/sparc/vis3misc.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179421
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Sun, 2 Oct 2011 00:17:58 +0000 (00:17 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179420
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Sat, 1 Oct 2011 19:42:54 +0000 (19:42 +0000)]
* ira-color.c (assign_hard_reg): Fix typo.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179415
138bc75d-0d04-0410-961f-
82ee72b054a4
fdumont [Sat, 1 Oct 2011 19:21:57 +0000 (19:21 +0000)]
2011-10-01 François Dumont <fdumont@gcc.gnu.org>
* include/debug/vector (vector<>::erase(iterator, iterator): Check
iterators equality using normal iterators.
* include/debug/deque (deque<>::erase(iterator, iterator): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179414
138bc75d-0d04-0410-961f-
82ee72b054a4
janus [Sat, 1 Oct 2011 11:41:41 +0000 (11:41 +0000)]
2011-10-01 Janus Weil <janus@gcc.gnu.org>
PR fortran/50585
* interface.c (get_expr_storage_size): Check if 'length' component is
associated.
2011-10-01 Janus Weil <janus@gcc.gnu.org>
PR fortran/50585
* gfortran.dg/assumed_charlen_arg_2.f90: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179413
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Sat, 1 Oct 2011 00:17:57 +0000 (00:17 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179410
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Fri, 30 Sep 2011 17:47:40 +0000 (17:47 +0000)]
* cp-tree.h (TREE_NEGATED_INT): Remove.
* semantics.c (finish_unary_op_expr): Don't set it.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179400
138bc75d-0d04-0410-961f-
82ee72b054a4
janis [Fri, 30 Sep 2011 17:33:41 +0000 (17:33 +0000)]
gcc/cp
PR c++/44473
* mangle.c (write_type): Handle CV qualifiers for decimal classes.
gcc/testsuite
PR c++/44473
* g++.dg/dfp/44473-1.C: New test.
* g++.dg/dfp/44473-2.C: New test.
* g++.dg/dfp/mangle-1.C: New test.
* g++.dg/dfp/mangle-2.C: New test.
* g++.dg/dfp/mangle-3.C: New test.
* g++.dg/dfp/mangle-4.C: New test.
* g++.dg/dfp/mangle-5.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179399
138bc75d-0d04-0410-961f-
82ee72b054a4
hjl [Fri, 30 Sep 2011 16:29:06 +0000 (16:29 +0000)]
Add missing ','.
2011-09-30 H.J. Lu <hongjiu.lu@intel.com>
* doc/extend.texi: Add missing ','.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179397
138bc75d-0d04-0410-961f-
82ee72b054a4
hjl [Fri, 30 Sep 2011 15:48:51 +0000 (15:48 +0000)]
Use 64bit integer for LTO symbol ID.
gcc/lto
2011-09-30 H.J. Lu <hongjiu.lu@intel.com>
Andi Kleen <ak@linux.intel.com>
PR lto/50568
* lto.c (lto_splay_tree_delete_id): New.
(lto_splay_tree_compare_ids): Likewise.
(lto_splay_tree_lookup): Likewise.
(lto_splay_tree_id_equal_p): Likewise.
(lto_splay_tree_insert): Likewise.
(lto_splay_tree_new): Likewise.
(lto_resolution_read): Change id to unsigned HOST_WIDE_INT.
Use lto_splay_tree_id_equal_p and lto_splay_tree_lookup.
(create_subid_section_table): Use lto_splay_tree_lookup and
lto_splay_tree_insert.
(lto_file_read): Use lto_splay_tree_new.
lto-plugin/
2011-09-30 H.J. Lu <hongjiu.lu@intel.com>
Andi Kleen <ak@linux.intel.com>
PR lto/50568
* lto-plugin.c (sym_aux): Change id to unsigned long long.
(plugin_symtab): Likewise.
(dump_symtab): Likewise.
(resolve_conflicts): Likewise.
(process_symtab): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179395
138bc75d-0d04-0410-961f-
82ee72b054a4
bernds [Fri, 30 Sep 2011 15:37:43 +0000 (15:37 +0000)]
* common/config/c6x/c6x-common.c (c6x_option_optimization_table):
Enable -fmodulo-sched at -O2 and above.
* config/c6x/c6x.md (doloop_end): New expander.
(mvilc, sploop, spkernel, loop_end): New patterns.
(loop_end with memory destination splitter): New.
* config/c6x/c6x.c: Include "hw-doloop.h".
(enum unitreqs): New.
(unit_req_table): New typedef.
(unit_reqs): New static variable.
(unit_req_factor, get_unit_reqs, count_unit_reqs, merge_unit_reqs,
res_mii, split_delayed_nonbranch, undo_split_delayed_nonbranch,
hwloop_pattern_reg, bb_earliest_end_cycle, filter_insns_above,
hwloop_optimize, hwloop_fail, c6x_hwloops): New static functions.
(struct c6x_sched_context): New member last_scheduled_iter0.
(init_sched_state): Initialize it.
(c6x_variable_issue): Update it.
(sploop_max_uid_iter0): New static variable.
(c6x_sched_reorder_1): Be careful about issuing sploop.
(c6x_reorg): Call c6x_hwlooops before the final schedule.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179393
138bc75d-0d04-0410-961f-
82ee72b054a4
gjl [Fri, 30 Sep 2011 15:15:23 +0000 (15:15 +0000)]
PR target/50566
* config/avr/avr-protos.h (avr_log_t): New field address_cost.
* config/avr/avr.c (avr_address_cost): Use it.
* config/avr/avr-log.c (avr_log_set_avr_log): Initialize it.
(avr_log_vadump): Unknown %-codes finish printing.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179391
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Fri, 30 Sep 2011 15:01:27 +0000 (15:01 +0000)]
PR inline-asm/50571
* gimple-fold.c (fold_stmt_1) <case GIMPLE_ASM>: If
input constraints allow mem and not reg, pass true instead of
false as second argument to maybe_fold_reference.
* gcc.dg/pr50571.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179389
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Fri, 30 Sep 2011 15:00:12 +0000 (15:00 +0000)]
PR tree-optimization/46309
* fold-const.c (make_range, merge_ranges): Remove prototypes.
(make_range_step): New function.
(make_range): Use it.
* tree.h (make_range_step): New prototypes.
* Makefile.in (tree-ssa-reassoc.o): Depend on $(DIAGNOSTIC_CORE_H).
* tree-ssa-reassoc.c: Include diagnostic-core.h.
(struct range_entry): New type.
(init_range_entry, range_entry_cmp, update_range_test,
optimize_range_tests): New functions.
(reassociate_bb): Call optimize_range_tests.
* gcc.dg/pr46309.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179388
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Fri, 30 Sep 2011 14:58:27 +0000 (14:58 +0000)]
* tree-ssa-structalias.c (find_func_aliases_for_builtin_call): Handle
BUILT_IN_STRDUP and BUILT_IN_STRNDUP.
* tree-ssa-alias.c (call_may_clobber_ref_p_1): Likewise. Fix
handling of BUILT_IN_STRNCAT and BUILT_IN_STRNCAT_CHK.
(ref_maybe_used_by_call_p_1): Fix handling of BUILT_IN_STRCAT,
BUILT_IN_STRNCAT, BUILT_IN_STRCAT_CHK and BUILT_IN_STRNCAT_CHK.
* gcc.dg/strlenopt-21.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179387
138bc75d-0d04-0410-961f-
82ee72b054a4
jbeulich [Fri, 30 Sep 2011 14:56:01 +0000 (14:56 +0000)]
Split out LTO's writing of top level asm nodes in preparation of extending
what needs to be written out when top level asm-s get enhanced to accept a
limited set of input operands.
gcc/
2011-09-30 Jan Beulich <jbeulich@suse.com>
* lto-cgraph.c (output_cgraph): Remove processing of
'cgraph_asm_nodes', call lto_output_toplevel_asms() instead.
(input_cgraph_1): Remove loop calling cgraph_add_asm_node(), call
lto_input_toplevel_asms() instead.
* lto-section-in.c (lto_section_name): Add "asm" entry.
* lto-streamer-in.c (lto_input_toplevel_asms): New.
* lto-streamer-out.c (lto_output_toplevel_asms): New.
* lto-streamer.h (LTO_minor_version): Bump.
(enum lto_section_type): Add LTO_section_asm.
(struct lto_asm_header): New.
(lto_input_toplevel_asms, lto_output_toplevel_asms): Declare.
* tree-streamer.h (streamer_write_string_cst): Declare.
* tree-streamer-out.c (write_string_cst): Rename to
streamer_write_string_cst and make global. Handle incoming string
being NULL.
(streamer_write_tree_header): Adjust call to renamed function.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179386
138bc75d-0d04-0410-961f-
82ee72b054a4
bernds [Fri, 30 Sep 2011 14:12:34 +0000 (14:12 +0000)]
* sched-ebb.c (schedule_ebb): No longer static. Remove declaration.
New arg modulo_scheduling. All callers changed. Move note handling
code here from schedule_ebbs.
(schedule_ebbs_finish, schedule_ebbs_init): New functions, broken
out of schedule_ebbs.
(schedule_ebbs): Call them. Remove note handling code moved to
schedule_ebb.
* sched-int.h (schedule_ebb, schedule_ebbs_init,
schedule_ebbs_finish): Declare.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179385
138bc75d-0d04-0410-961f-
82ee72b054a4
iains [Fri, 30 Sep 2011 13:44:48 +0000 (13:44 +0000)]
ada:
Partial reversion of r179358.
* gcc-interface/Makefile.in (Darwin): Partial reversion of previous
change to powerpc section.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179384
138bc75d-0d04-0410-961f-
82ee72b054a4
bernds [Fri, 30 Sep 2011 13:33:54 +0000 (13:33 +0000)]
* haifa-sched.c (modulo_ii, modulo_max_states, modulo_n_insns,
modulo_insns_scheduled, modulo_iter0_max_uid, modulo_backtracks_left,
modulo_last_stage): New static variables.
(set_modulo_params, discard_delay_pairs_above): New functions.
(struct delay_pair): New member stages.
(htab_i2_traverse, htab_i1_traverse): New static functions.
(record_delay_slot_pair): New arg stages. All callers changed.
Record it.
(pair_delay): Take stages into account.
(add_delay_dependencies): Don't do so for stage pairs.
(struct sched_block_state): New member modulo_epilogue.
(save_backtrack_point): Don't set SHADOW_P for stage pairs.
(unschedule_insns_until): Decrease modulo_insns_scheduled.
Set HARD_DEP without using or.
(resolve_dependencies): New static function.
(prune_ready_list): New arg modulo_epilogue_p. All callers changed.
If it is true, allow only insns with INSN_EXACT_TICK set.
(schedule_block): Return bool, always true for normal scheduling,
true or false depending on modulo scheduling success otherwise.
Add bookkeeping for modulo scheduling, and call resolve_dependencies
on everything left over after a modulo schedule.
(haifa_sched_init): Remove check_cfg call. Clear modulo_ii.
* sched-int.h (schedule_block, record_delay_slot_pair): Adjust
declarations.
(set_modulo_params, discard_delay_pairs_above): Declare.
* params.def (PARAM_MAX_MODULO_BACKTRACK_ATTEMPS): New.
* doc/invoke.texi (--param): Document it.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179383
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Fri, 30 Sep 2011 13:33:14 +0000 (13:33 +0000)]
2011-09-30 Richard Guenther <rguenther@suse.de>
PR middle-end/50574
* tree-cfg.c (verify_gimple_comparison): Compare component
mode sizes for vector comparisons.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179382
138bc75d-0d04-0410-961f-
82ee72b054a4
revitale [Fri, 30 Sep 2011 13:25:30 +0000 (13:25 +0000)]
SMS: Support instructions with REG_INC_NOTE
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179381
138bc75d-0d04-0410-961f-
82ee72b054a4