Janus Weil [Mon, 17 Sep 2012 12:50:34 +0000 (14:50 +0200)]
re PR fortran/54285 ([F03] Calling a PPC with proc-ptr result)
2012-09-17 Janus Weil <janus@gcc.gnu.org>
PR fortran/54285
* expr.c (gfc_check_pointer_assign): Correctly handle procedure pointers
as function results.
* primary.c (gfc_match_varspec): Allow to call a PPC with proc-ptr
result.
2012-09-17 Janus Weil <janus@gcc.gnu.org>
PR fortran/54285
* gfortran.dg/proc_ptr_result_7.f90: New.
From-SVN: r191383
Tobias Burnus [Mon, 17 Sep 2012 12:30:16 +0000 (14:30 +0200)]
re PR fortran/54603 ([F03] Wrong code with structure constructor for proc-pointer components)
2012-09-17 Tobias Burnus <burnus@net-b.de>
PR fortran/54603
* trans-expr.c (gfc_trans_subcomponent_assign): Handle
proc-pointer components.
2012-09-17 Tobias Burnus <burnus@net-b.de>
PR fortran/54603
* gfortran.dg/structure_constructor_11.f90: New.
From-SVN: r191382
Tobias Burnus [Mon, 17 Sep 2012 10:13:12 +0000 (12:13 +0200)]
error.c (error_print): Move increment out of the assert.
2012-09-17 Tobias Burnus <burnus@net-b.de>
* error.c (error_print): Move increment out of the assert.
* interface.c (gfc_compare_derived_types): Add assert.
(get_expr_storage_size): Remove always-true logical condition.
* resolve.c (resolve_allocate_expr): Fix looping logic.
* target-memory.c (gfc_target_expr_size): Add assert.
From-SVN: r191381
Jakub Jelinek [Mon, 17 Sep 2012 09:18:35 +0000 (11:18 +0200)]
re PR middle-end/54563 (ICE in redirect_eh_edge_1, at tree-eh.c:2215)
PR tree-optimization/54563
* tree-ssa-math-opts.c (execute_cse_sincos): Call
gimple_purge_dead_eh_edges if last call has been changed.
* g++.dg/torture/pr54563.C: New test.
From-SVN: r191378
Jakub Jelinek [Mon, 17 Sep 2012 09:16:39 +0000 (11:16 +0200)]
re PR target/54564 (Broken __builtin_ia32_vfmadds[sd]3)
PR target/54564
ChangeLog entry fixup
From-SVN: r191377
Georg-Johann Lay [Mon, 17 Sep 2012 07:59:29 +0000 (07:59 +0000)]
re PR target/54222 ([avr] Implement fixed-point support)
PR target/54222
* config/avr/avr.c (avr_out_plus_symbol): Fix typo if PLUS and PSImode.
(avr_out_plus_1): Remove log comments from assembler output.
From-SVN: r191376
Ruben Buchatskiy [Mon, 17 Sep 2012 07:37:10 +0000 (07:37 +0000)]
vfp.md (*thumb2_movdf_vfp): Require one of the operands to be a register.
2012-09-17 Ruben Buchatskiy <ruben@ispras.ru>
* config/arm/vfp.md (*thumb2_movdf_vfp): Require one of the operands
to be a register.
From-SVN: r191375
Ian Lance Taylor [Mon, 17 Sep 2012 05:15:36 +0000 (05:15 +0000)]
compile: Detect invalid and likely-bad import statements.
* Make-lang.in (go/gogo.o): Depend on filenames.h.
From-SVN: r191372
Edward Smith-Rowland [Mon, 17 Sep 2012 03:46:40 +0000 (03:46 +0000)]
Fix a paste-o in ext/random.tcc - declared an Adapted urng that was not used ot needed.
From-SVN: r191371
GCC Administrator [Mon, 17 Sep 2012 00:18:12 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r191370
Paolo Carlini [Sun, 16 Sep 2012 22:28:21 +0000 (22:28 +0000)]
random (rice_distribution<>::operator==): Change inline friend definition to non-template.
2012-09-16 Paolo Carlini <paolo.carlini@oracle.com>
* include/ext/random (rice_distribution<>::operator==): Change
inline friend definition to non-template.
* testsuite/ext/random/rice_distribution/requirements/
explicit_instantiation/1.cc: New.
* testsuite/26_numerics/random/normal_mv_distribution: Move...
* testsuite/ext/random/normal_mv_distribution: ... here.
* testsuite/26_numerics/random/simd_fast_mersenne_twister_engine:
Move...
* testsuite/ext/random/simd_fast_mersenne_twister_engine: ... here.
* testsuite/26_numerics/random/beta_distribution: Move...
* testsuite/ext/random/beta_distribution: ... here.
* testsuite/26_numerics/random/rice_distribution: Move...
* testsuite/ext/random/rice_distribution: ... here.
From-SVN: r191367
Janus Weil [Sun, 16 Sep 2012 22:04:26 +0000 (00:04 +0200)]
re PR fortran/54594 ([OOP] Type-bound ASSIGNMENTs (elemental + array version) rejected as ambiguous)
2012-09-16 Janus Weil <janus@gcc.gnu.org>
PR fortran/54594
* resolve.c (get_checked_tb_operator_target): Add a reference to the
relevant quote from the F08 standard.
From-SVN: r191366
Janus Weil [Sun, 16 Sep 2012 20:49:20 +0000 (22:49 +0200)]
re PR fortran/54594 ([OOP] Type-bound ASSIGNMENTs (elemental + array version) rejected as ambiguous)
2012-09-16 Janus Weil <janus@gcc.gnu.org>
PR fortran/54594
* interface.c (compare_type_rank): Handle CLASS arrays.
2012-09-16 Janus Weil <janus@gcc.gnu.org>
PR fortran/54594
* gfortran.dg/typebound_generic_14.f03: New.
From-SVN: r191365
Janus Weil [Sun, 16 Sep 2012 20:12:21 +0000 (22:12 +0200)]
re PR fortran/54387 ([F03] Wrongly accepts non-proc result variable on the RHS of a proc-pointer assignment)
2012-09-16 Janus Weil <janus@gcc.gnu.org>
PR fortran/54387
* expr.c (gfc_check_pointer_assign): Check for result of embracing
function.
2012-09-16 Janus Weil <janus@gcc.gnu.org>
PR fortran/54387
* gfortran.dg/proc_ptr_38.f90: New.
From-SVN: r191364
Richard Sandiford [Sun, 16 Sep 2012 19:58:15 +0000 (19:58 +0000)]
calls.c (expand_call): Use emit_group_move for PARALLEL->PARALLEL moves.
gcc/
* calls.c (expand_call): Use emit_group_move for PARALLEL->PARALLEL
moves.
From-SVN: r191363
Edward Smith-Rowland [Sun, 16 Sep 2012 17:36:56 +0000 (17:36 +0000)]
Add the rice distribution as an extension.
From-SVN: r191362
John David Anglin [Sun, 16 Sep 2012 16:43:33 +0000 (16:43 +0000)]
re PR debug/54460 (FAIL: g++.dg/debug/dwarf2/nested-3.C)
PR debug/54460
* g++.dg/debug/dwarf2/nested-3.C: Add hppa assembler comment character
to scary regexp.
From-SVN: r191361
John David Anglin [Sun, 16 Sep 2012 16:40:25 +0000 (16:40 +0000)]
re PR testsuite/54007 (lto15.adb fails: gnat1: error: LTO support has not been enabled in this configuration)
PR testsuite/54007
* gnat.dg/lto15.adb: Require lto.
From-SVN: r191360
John David Anglin [Sun, 16 Sep 2012 16:37:56 +0000 (16:37 +0000)]
bind_c_array_params_2.f90: Adjust scan-assembler-times "myBindC" for hppa*-*-hpux*.
* gfortran.dg/bind_c_array_params_2.f90: Adjust scan-assembler-times
"myBindC" for hppa*-*-hpux*.
From-SVN: r191359
Tobias Burnus [Sun, 16 Sep 2012 12:11:04 +0000 (14:11 +0200)]
trans-decl.c (gfc_generate_function_code): Fix gfc_option.coarray check.
2012-09-16 Tobias Burnus <burnus@net-b.de>
* trans-decl.c (gfc_generate_function_code): Fix
gfc_option.coarray check.
* trans-stmt.c (compute_inner_temp_size): Fix handling
of gfc_option.rtcheck.
From-SVN: r191358
Mikael Morin [Sun, 16 Sep 2012 11:26:52 +0000 (11:26 +0000)]
symbol.c (gfc_undo_symbols): Correctly undo namelists.
fortran/
* symbol.c (gfc_undo_symbols): Correctly undo namelists.
testsuite/
* gfortran.dg/namelist_75.f90: New test.
From-SVN: r191357
GCC Administrator [Sun, 16 Sep 2012 00:17:39 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r191356
Tom de Vries [Sat, 15 Sep 2012 21:00:38 +0000 (21:00 +0000)]
vrp82.c: New test.
2012-09-15 Tom de Vries <tom@codesourcery.com>
* gcc.dg/tree-ssa/vrp82.c: New test.
* gcc.dg/tree-ssa/vrp83.c: Same.
* gcc.dg/tree-ssa/vrp84.c: Same.
From-SVN: r191352
Tom de Vries [Sat, 15 Sep 2012 21:00:33 +0000 (21:00 +0000)]
tree-vrp.c (extract_range_from_binary_expr_1): Fix bug in handling of LSHIFT_EXPR with shift range.
2012-09-15 Tom de Vries <tom@codesourcery.com>
* tree-vrp.c (extract_range_from_binary_expr_1): Fix bug in handling of
LSHIFT_EXPR with shift range. Handle more LSHIFT_EXPR cases with shift
range.
From-SVN: r191351
Joseph Myers [Sat, 15 Sep 2012 19:07:47 +0000 (20:07 +0100)]
* vi.po: Update.
From-SVN: r191348
Tom de Vries [Sat, 15 Sep 2012 18:48:12 +0000 (18:48 +0000)]
vrp80-2.c: Rename to ...
2012-09-15 Tom de Vries <tom@codesourcery.com>
* gcc.dg/tree-ssa/vrp80-2.c: Rename to ...
* gcc.dg/tree-ssa/vrp81.c: ... this.
From-SVN: r191347
Tobias Burnus [Sat, 15 Sep 2012 17:22:10 +0000 (19:22 +0200)]
trans-io.c (gfc_trans_transfer): Add an assert.
2012-09-15 Tobias Burnus <burnus@net-b.de>
* trans-io.c (gfc_trans_transfer): Add an assert.
From-SVN: r191346
Georg-Johann Lay [Sat, 15 Sep 2012 15:52:28 +0000 (15:52 +0000)]
re PR target/54222 ([avr] Implement fixed-point support)
gcc/
PR target/54222
* config/avr/avr-fixed.md (ALL2S, ALL4S, ALL24S, ALL124S,
ALL124U): New mode iterators.
(<code_stdname><mode>3): New insns for SS_PLUS, SS_MINUS.
(<code_stdname><mode>3): New insns for US_PLUS, US_MINUS.
(usneg<mode>2): New insns.
(<code_stdname><mode>2): New expanders for SS_NEG, SS_ABS.
(*<code_stdname><mode>2): New insns for SS_NEG, SS_ABS.
* config/avr/avr-dimode.md (ALL8U, ALL8S): New mode iterators.
(avr_out_plus64, avr_out_minus64): Use avr_out_plus instead.
(<code_stdname><mode>3): New expanders for SS_PLUS, SS_MINUS.
(<code_stdname><mode>3): New expanders for US_PLUS, US_MINUS.
(<code_stdname><mode>3_insn): New insns.
(<code_stdname><mode>3_const_insn): New insns.
* config/avr/avr.md (cc): Add: plus. Remove: out_plus,
out_plus_noclobber, minus.
(length): Add: plus. Remove: out_plus, out_plus_noclobber,
plus64, minus, minus64.
(abelian): New code_attr.
(code_stdname): Handle: ss_plus, ss_minus, ss_neg, ss_abs,
us_plus, us_minus, us_neg.
(*add<mode>3, add<mode>3_clobber, add<mode>3, addpsi3, sub<mode>3):
Use avr_out_plus to output.
* config/avr/avr-protos.h (avr_out_plus): Change prototype.
(avr_out_plus_noclobber, avr_out_minus): Remove.
(avr_out_plus64, avr_out_minus64): Remove.
* config/avr/avr.c (avr_out_plus_1): Add new default arguments
code_sat, sign. Saturate after operation if code_sat != UNKNOWN.
(avr_out_plus_symbol): New static function.
(avr_out_plus): Rewrite.
(adjust_insn_length): Handle: ADJUST_LEN_PLUS. Remove handling
of: ADJUST_LEN_OUT_PLUS, ADJUST_LEN_PLUS64, ADJUST_LEN_MINUS,
ADJUST_LEN_MINUS64, ADJUST_LEN_OUT_PLUS_NOCLOBBER.
(notice_update_cc): Handle: CC_PLUS. Remove handling of: CC_MINUS,
CC_OUT_PLUS, CC_OUT_PLUS_NOCLOBBER
(avr_out_plus_noclobber, avr_out_minus): Remove.
(avr_out_plus64, avr_out_minus64): Remove.
(avr_print_operand): Print raw REGNO if 'r' is used with REG.
libgcc/
PR target/54222
* config/avr/lib1funcs-fixed.S (__ssneg_2, __ssabs_2, __ssneg_4,
__ssabs_4, __clr_8, __ssneg_8, __ssabs_8,
__usadd_8, __ussub_8, __ssadd_8, __sssub_8): New functions.
(__divsa3): Use __negsi2 to negate r_quoL.
* config/avr/lib1funcs.S (FALIAS): New macro.
(__divmodsi4): Break out and use __divmodsi4_neg1 as...
(__negsi2): ...this new function.
* config/avr/t-avr (LIB1ASMFUNCS): Add _negsi2, _clr_8,
_ssneg_2, _ssneg_4, _ssneg_8, _ssabs_2, _ssabs_4,
_ssabs_8, _ssadd_8, _sssub_8, _usadd_8, _ussub_8.
(LIB2FUNCS_EXCLUDE): Fix typo for _add _sub.
Add: _ssadd*, _sssub*, _ssneg*, _ssabs* for signed fixed modes.
Add: _usadd*, _ussub*, _usneg* for unsigned fixed modes.
gcc/testsuite/
PR target/54222
* gcc.target/avr/torture/fix-types.h: New.
* gcc.target/avr/torture/vals-hr.def: New.
* gcc.target/avr/torture/vals-r.def: New.
* gcc.target/avr/torture/vals-k.def: New.
* gcc.target/avr/torture/vals-ur.def: New.
* gcc.target/avr/torture/vals-uk.def: New.
* gcc.target/avr/torture/vals-uhr.def: New.
* gcc.target/avr/torture/vals-llk.def: New.
* gcc.target/avr/torture/vals-ullk.def: New.
* gcc.target/avr/torture/sat-hr-plus-minus.c: New.
* gcc.target/avr/torture/sat-r-plus-minus.c: New.
* gcc.target/avr/torture/sat-k-plus-minus.c: New.
* gcc.target/avr/torture/sat-ur-plus-minus.c: New.
* gcc.target/avr/torture/sat-uk-plus-minus.c: New.
* gcc.target/avr/torture/sat-uhr-plus-minus.c: New.
* gcc.target/avr/torture/sat-llk-plus-minus.c: New.
* gcc.target/avr/torture/sat-ullk-plus-minus.c: New.
From-SVN: r191345
Tobias Burnus [Sat, 15 Sep 2012 15:44:22 +0000 (17:44 +0200)]
arith.c (arith_power): Call gfc_free_expr in case of error.
2012-09-15 Tobias Burnus <burnus@net-b.de>
* arith.c (arith_power): Call gfc_free_expr in case of error.
* array.c (gfc_match_array_constructor): Initialize variable.
(gfc_resolve_character_array_constructor): Remove superfluous check.
(gfc_array_dimen_size): Add assert.
* check.c (numeric_check): Fix implicit typing.
* class.c (gfc_build_class_symbol): Add assert.
(finalize_component): Free memory.
* dump-parse-tree.c (show_namespace): Add assert.
* trans-io.c (transfer_namelist_element, transfer_expr): Avoid
memory leakage.
(gfc_trans_transfer): Add assert.
* trans.c (gfc_trans_runtime_check): Call va_end
From-SVN: r191344
Tobias Burnus [Sat, 15 Sep 2012 15:42:01 +0000 (17:42 +0200)]
match.c (lock_unlock_statement, [...]): Fix potential double freeing.
2012-09-15 Tobias Burnus <burnus@net-b.de>
* match.c (lock_unlock_statement, sync_statement): Fix potential
double freeing.
(sync_statement): Remove unreachable code.
* simplify.c (gfc_simplify_bessel_n2): Avoid double freeing.
(gfc_simplify_repeat): Remove bogus code.
* target-memory.h (gfc_target_encode_expr): Update prototype.
* target-memory.c (gfc_target_encode_expr, encode_array,
encode_derived): Return unsigned HOST_WIDE_INT.
(gfc_target_interpret_expr): Add assert.
(gfc_merge_initializers): Fix "== 0" check for mpz_t.
* symbol.c (gfc_get_typebound_proc): Add assert.
(gfc_merge_initializers): Remove unreachable check.
From-SVN: r191343
Oleg Endo [Sat, 15 Sep 2012 13:24:30 +0000 (13:24 +0000)]
sh.c (sh_rtx_costs): Add handling of MEM, SIGN_EXTEND, ZERO_EXTEND and PARALLEL cases.
* config/sh/sh.c (sh_rtx_costs): Add handling of MEM, SIGN_EXTEND,
ZERO_EXTEND and PARALLEL cases.
(sh_address_cost): Correct rtx parsing and tweak cost estimations.
From-SVN: r191342
Sandra Loosemore [Sat, 15 Sep 2012 02:03:20 +0000 (22:03 -0400)]
tm.texi.in (Stack Arguments): Update obsolete references to current_function_outgoing_args_size.
2012-09-14 Sandra Loosemore <sandra@codesourcery.com>
gcc/
* doc/tm.texi.in (Stack Arguments): Update obsolete references
to current_function_outgoing_args_size.
(Function Entry): Likewise for current_function_pops_args,
current_function_pretend_args_size,
current_function_outgoing_args_size, and
current_function_epilogue_delay_list.
(Misc): Fix garbled sentence referencing nonexistent
current_function_leaf_function.
* doc/tm.texi: Regenerated.
From-SVN: r191339
Dehao Chen [Sat, 15 Sep 2012 00:41:53 +0000 (00:41 +0000)]
tree-eh.c (goto_queue_node): New field.
gcc:
* tree-eh.c (goto_queue_node): New field.
(record_in_goto_queue): New parameter.
(record_in_goto_queue_label): New parameter.
(lower_try_finally_dup_block): New parameter.
(maybe_record_in_goto_queue): Update source location.
(lower_try_finally_copy): Likewise.
(honor_protect_cleanup_actions): Likewise.
* gimplify.c (gimplify_expr): Reset the location to unknown.
testsuite:
* g++.dg/debug/dwarf2/deallocator.C: New test.
libjava:
* testsuite/libjava.lang/sourcelocation.java: New cases.
* testsuite/libjava.lang/sourcelocation.out: New cases.
From-SVN: r191338
GCC Administrator [Sat, 15 Sep 2012 00:17:28 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r191335
David Edelsohn [Fri, 14 Sep 2012 23:43:33 +0000 (23:43 +0000)]
* configure: Regenerated.
From-SVN: r191332
David Edelsohn [Fri, 14 Sep 2012 23:42:24 +0000 (23:42 +0000)]
* configure: Regenerated.
From-SVN: r191331
David Edelsohn [Fri, 14 Sep 2012 23:41:36 +0000 (23:41 +0000)]
* configure: Regenerated.
From-SVN: r191330
David Edelsohn [Fri, 14 Sep 2012 23:40:25 +0000 (23:40 +0000)]
* configure: Regenerated.
From-SVN: r191329
David Edelsohn [Fri, 14 Sep 2012 23:39:34 +0000 (23:39 +0000)]
* configure: Regenerated.
From-SVN: r191328
David Edelsohn [Fri, 14 Sep 2012 23:38:45 +0000 (23:38 +0000)]
* configure: Regenerated.
From-SVN: r191327
David Edelsohn [Fri, 14 Sep 2012 23:37:57 +0000 (23:37 +0000)]
* configure: Regenerated.
From-SVN: r191326
David Edelsohn [Fri, 14 Sep 2012 23:37:13 +0000 (23:37 +0000)]
* configure: Regenerated.
From-SVN: r191325
David Edelsohn [Fri, 14 Sep 2012 23:36:44 +0000 (23:36 +0000)]
* configure: Regenerated.
From-SVN: r191324
David Edelsohn [Fri, 14 Sep 2012 23:34:56 +0000 (23:34 +0000)]
* configure: Regenerated.
From-SVN: r191323
David Edelsohn [Fri, 14 Sep 2012 23:33:57 +0000 (23:33 +0000)]
* configure: Regenerated.
From-SVN: r191322
David Edelsohn [Fri, 14 Sep 2012 23:32:58 +0000 (23:32 +0000)]
* configure: Regenerated.
From-SVN: r191321
David Edelsohn [Fri, 14 Sep 2012 23:31:56 +0000 (23:31 +0000)]
* configure: Regenerated.
From-SVN: r191320
David Edelsohn [Fri, 14 Sep 2012 23:30:29 +0000 (23:30 +0000)]
* configure: Regenerated.
From-SVN: r191319
David Edelsohn [Fri, 14 Sep 2012 23:26:42 +0000 (23:26 +0000)]
* configure: Regenerated.
From-SVN: r191318
David Edelsohn [Fri, 14 Sep 2012 23:25:07 +0000 (23:25 +0000)]
* configure: Regenerated.
From-SVN: r191317
David Edelsohn [Fri, 14 Sep 2012 23:23:41 +0000 (19:23 -0400)]
re PR bootstrap/38607 (AIX error messages about TOC during build)
PR target/38607
Merge upstream change.
* libtool.m4 (_LT_COMPILER_PIC): Add -fPIC to GCC and GXX for AIX.
* configure.ac: Add target-libquadmath to noconfigdirs for AIX.
Add libgomp*.o to compare_exclusions for AIX.
* configure: Regenerate.
From-SVN: r191316
Joseph Myers [Fri, 14 Sep 2012 21:16:56 +0000 (22:16 +0100)]
re PR c/54552 (Cast to pointer to VLA crash the compiler)
c:
PR c/54552
* c-typeck.c (c_cast_expr): When casting to a type requiring
C_MAYBE_CONST_EXPR to be created, pass the inner expression to
c_fully_fold first.
testsuite:
* gcc.c-torture/compile/pr54552-1.c: New test.
From-SVN: r191313
Walter Lee [Fri, 14 Sep 2012 20:54:02 +0000 (20:54 +0000)]
Fix grammar and spelling.
* doc/invoke.texi (Option Summary): fix typesetting for -mcpu
option for TILEPro and TILE-Gx.
(TILE-Gx Options): Fix grammar and spellings in documentation for
-mcmodel.
From-SVN: r191311
Marc Glisse [Fri, 14 Sep 2012 17:17:01 +0000 (19:17 +0200)]
re PR c++/54427 (Expose more vector extensions)
2012-09-14 Marc Glisse <marc.glisse@inria.fr>
PR c++/54427
gcc/ChangeLog
* fold-const.c (fold_unary_loc): Disable for VECTOR_TYPE.
(fold_binary_loc): Likewise.
* gimple-fold.c (and_comparisons_1): Handle VECTOR_TYPE.
(or_comparisons_1): Likewise.
gcc/cp/ChangeLog
* typeck.c (cp_build_binary_op) [LSHIFT_EXPR, RSHIFT_EXPR, EQ_EXPR,
NE_EXPR, LE_EXPR, GE_EXPR, LT_EXPR, GT_EXPR]: Handle VECTOR_TYPE.
gcc/testsuite/ChangeLog
* g++.dg/other/vector-compare.C: New testcase.
* gcc/testsuite/c-c++-common/vector-compare-3.c: New testcase.
* gcc.dg/vector-shift.c: Move ...
* c-c++-common/vector-shift.c: ... here.
* gcc.dg/vector-shift1.c: Move ...
* c-c++-common/vector-shift1.c: ... here.
* gcc.dg/vector-shift3.c: Move ...
* c-c++-common/vector-shift3.c: ... here.
* gcc.dg/vector-compare-1.c: Move ...
* c-c++-common/vector-compare-1.c: ... here.
* gcc.dg/vector-compare-2.c: Move ...
* c-c++-common/vector-compare-2.c: ... here.
* gcc.c-torture/execute/vector-compare-1.c: Move ...
* c-c++-common/torture/vector-compare-1.c: ... here.
* gcc.c-torture/execute/vector-compare-2.x: Delete.
* gcc.c-torture/execute/vector-compare-2.c: Move ...
* c-c++-common/torture/vector-compare-2.c: ... here.
* gcc.c-torture/execute/vector-shift.c: Move ...
* c-c++-common/torture/vector-shift.c: ... here.
* gcc.c-torture/execute/vector-shift2.c: Move ...
* c-c++-common/torture/vector-shift2.c: ... here.
* gcc.c-torture/execute/vector-subscript-1.c: Move ...
* c-c++-common/torture/vector-subscript-1.c: ... here.
* gcc.c-torture/execute/vector-subscript-2.c: Move ...
* c-c++-common/torture/vector-subscript-2.c: ... here.
* gcc.c-torture/execute/vector-subscript-3.c: Move ...
* c-c++-common/torture/vector-subscript-3.c: ... here.
From-SVN: r191308
Richard Earnshaw [Fri, 14 Sep 2012 17:10:45 +0000 (17:10 +0000)]
re PR target/54516 (ICE in reload_cse_simplify_operands, at postreload.c:403 with -O1 -march=armv7-a -mthumb)
PR target/54516
PR rtl-optimization/54540
* reload.c (find_dummy_reload): Don't use OUT as a reload reg
for IN if it overlaps a fixed register.
From-SVN: r191307
Richard Earnshaw [Fri, 14 Sep 2012 17:08:42 +0000 (17:08 +0000)]
Temporarily revert previous
From-SVN: r191306
Richard Earnshaw [Fri, 14 Sep 2012 17:02:04 +0000 (17:02 +0000)]
reload.c (find_dummy_reload): Don't use OUT as a reload reg for IN if it overlaps a fixed register.
* reload.c (find_dummy_reload): Don't use OUT as a reload reg
for IN if it overlaps a fixed register.
From-SVN: r191305
Joseph Myers [Fri, 14 Sep 2012 16:59:10 +0000 (17:59 +0100)]
re PR c/54103 (ICE at gimplify.c:7790 on current trunk)
c:
PR c/54103
* c-typeck.c (build_unary_op): Pass original argument of
TRUTH_NOT_EXPR to c_objc_common_truthvalue_conversion, then remove
any C_MAYBE_CONST_EXPR, if it has integer operands.
(build_binary_op): Pass original arguments of TRUTH_ANDIF_EXPR,
TRUTH_ORIF_EXPR, TRUTH_AND_EXPR, TRUTH_OR_EXPR and TRUTH_XOR_EXPR
to c_objc_common_truthvalue_conversion, then remove any
C_MAYBE_CONST_EXPR, if they have integer operands. Use
c_objc_common_truthvalue_conversion not
c_common_truthvalue_conversion.
(c_objc_common_truthvalue_conversion): Build NE_EXPR directly and
call note_integer_operands for arguments with integer operands
that are not integer constants.
testsuite:
* gcc.c-torture/compile/pr54103-1.c,
gcc.c-torture/compile/pr54103-2.c,
gcc.c-torture/compile/pr54103-3.c,
gcc.c-torture/compile/pr54103-4.c,
gcc.c-torture/compile/pr54103-5.c,
gcc.c-torture/compile/pr54103-6.c: New tests.
* gcc.dg/c90-const-expr-8.c: Update expected column number.
From-SVN: r191304
Paolo Carlini [Fri, 14 Sep 2012 14:43:05 +0000 (14:43 +0000)]
decl.c (make_typename_type): Only error out if tf_error is set in complain.
2012-09-14 Paolo Carlini <paolo.carlini@oracle.com>
* decl.c (make_typename_type): Only error out if tf_error is set
in complain.
From-SVN: r191303
Eric Botcazou [Fri, 14 Sep 2012 13:28:44 +0000 (13:28 +0000)]
re PR rtl-optimization/44194 (struct returned by value generates useless stores)
PR rtl-optimization/44194
* calls.c (expand_call): In the PARALLEL case, copy the return value
into pseudos instead of spilling it onto the stack.
* emit-rtl.c (adjust_address_1): Rename ADJUST into ADJUST_ADDRESS and
add new ADJUST_OBJECT parameter.
If ADJUST_OBJECT is set, drop the underlying object if it cannot be
proved that the adjusted memory access is still within its bounds.
(adjust_automodify_address_1): Adjust call to adjust_address_1.
(widen_memory_access): Likewise.
* expmed.c (store_bit_field_1): Call adjust_bitfield_address instead
of adjust_address. Do not drop the underlying object of a MEM.
(store_fixed_bit_field): Likewise.
(extract_bit_field_1): Likewise. Fix oversight in recursion.
(extract_fixed_bit_field): Likewise.
* expr.h (adjust_address_1): Adjust prototype.
(adjust_address): Adjust call to adjust_address_1.
(adjust_address_nv): Likewise.
(adjust_bitfield_address): New macro.
(adjust_bitfield_address_nv): Likewise.
* expr.c (expand_assignment): Handle a PARALLEL in more cases.
(store_expr): Likewise.
(store_field): Likewise.
* dse.c: Fix typos in the head comment.
From-SVN: r191302
Christian Bruel [Fri, 14 Sep 2012 13:22:29 +0000 (15:22 +0200)]
re PR target/54546 (SH: Enable -fshrink-wrap)
PR target/54546
* config/sh/sh-protos.h (sh_need_epilogue): Delete.
(sh_can_use_simple_return_p): Declare.
* config/sh/sh.c (sh_can_use_simple_return_p): Define.
(sh_need_epilogue, sh_need_epilogue_known): Delete.
(sh_output_function_epilogue): Remove sh_need_epilogue_known.
* config/sh/sh.md (simple_return, return): Define.
(epilogue): Use inline return rtl.
(sh_expand_epilogue): Cleanup parameters boolean type.
* config/sh/iterators.md (any_return): New iterator.
From-SVN: r191301
Christian Bruel [Fri, 14 Sep 2012 13:01:56 +0000 (15:01 +0200)]
predicates.md (t_reg_operand): Check REG_P for SUBREG.
2012-09-14 Christian Bruel <christian.bruel@st.com>
* config/sh/predicates.md (t_reg_operand): Check REG_P for SUBREG.
* config/sh/sh.c (sequence_insn_p: Check INSNP_P for SEQUENCE.
From-SVN: r191300
Jakub Jelinek [Fri, 14 Sep 2012 12:37:16 +0000 (14:37 +0200)]
re PR target/54564 (Broken __builtin_ia32_vfmadds[sd]3)
PR target/54564
* config/i386/sse.md (fmai_vmfmadd_<mode>): Use (match_dup 1)
instead of (match_dup 0) as second argument to vec_merge.
(*fmai_fmadd_<mode>, *fmai_fmsub_<mode>): Likewise.
Remove third alternative.
(*fmai_fnmadd_<mode>, *fmai_fnmsub_<mode>): Likewise. Negate
operand 2 instead of operand 1, but put it as first argument
of fma.
* config/i386/fmaintrin.h (_mm_fnmadd_sd, _mm_fnmadd_ss,
_mm_fnmsub_sd, _mm_fnmsub_ss): Negate the second argument instead
of the first.
From-SVN: r191298
Jakub Jelinek [Fri, 14 Sep 2012 12:36:33 +0000 (14:36 +0200)]
re PR target/54564 (Broken __builtin_ia32_vfmadds[sd]3)
PR target/54564
* config/i386/sse.md (fmai_vmfmadd_<mode>): Use (match_dup 1)
instead of (match_dup 0) as second argument to vec_merge.
(*fmai_fmadd_<mode>, *fmai_fmsub_<mode>): Likewise.
Remove third alternative.
(*fmai_fnmadd_<mode>, *fmai_fnmsub_<mode>): Likewise. Negate
operand 2 instead of operand 1, but put it as first argument
of fma.
* config/i386/fmaintrin.h (_mm_fnmadd_sd, _mm_fnmadd_ss,
_mm_fnmsub_sd, _mm_fnmsub_ss): Negate the second argument instead
of the first.
From-SVN: r191297
Paolo Carlini [Fri, 14 Sep 2012 12:23:12 +0000 (12:23 +0000)]
2012-09-14 Paolo Carlini <paolo.carlini@oracle.com>
* Tweak last ChangeLog entry.
From-SVN: r191296
Richard Guenther [Fri, 14 Sep 2012 12:22:27 +0000 (12:22 +0000)]
re PR tree-optimization/54565 (pass_update_address_taken before forwprop1 for vectors)
2012-09-14 Richard Guenther <rguenther@suse.de>
PR tree-optimization/54565
* passes.c (init_optimization_passes): Adjust comments.
(execute_function_todo): Do not execute execute_update_addresses_taken
before processing TODO_rebuild_alias.
* tree-ssa-ccp.c (do_ssa_ccp): Schedule TODO_update_address_taken.
* gcc.dg/tree-ssa/ssa-ccp-17.c: Adjust.
* gcc.dg/tree-ssa/forwprop-6.c: Likewise. Remove XFAIL.
From-SVN: r191295
Jonathan Wakely [Fri, 14 Sep 2012 11:41:53 +0000 (11:41 +0000)]
Check _GLIBCXX_USE_C99_STDINT_TR1 in random.cc
PR libstdc++/54576
* libstdc++-v3/src/c++11/random.cc: Check if
_GLIBCXX_USE_C99_STDINT_TR1 is defined.
Co-Authored-By: H.J. Lu <hongjiu.lu@intel.com>
From-SVN: r191294
Richard Guenther [Fri, 14 Sep 2012 11:39:18 +0000 (11:39 +0000)]
tree-vrp.c (register_new_assert_for): Simplify for backward walk.
2012-09-14 Richard Guenther <rguenther@suse.de>
* tree-vrp.c (register_new_assert_for): Simplify for backward
walk.
(find_assert_locations_1): Walk the basic-block backwards,
properly add/prune from live. Use live for asserts derived
from stmts.
From-SVN: r191293
Marc Glisse [Fri, 14 Sep 2012 11:25:09 +0000 (13:25 +0200)]
tree-ssa-forwprop.c (simplify_bitfield_ref): Call get_prop_source_stmt.
2012-09-14 Marc Glisse <marc.glisse@inria.fr>
* tree-ssa-forwprop.c (simplify_bitfield_ref): Call
get_prop_source_stmt.
(simplify_permutation): Likewise.
(simplify_vector_constructor): Likewise.
From-SVN: r191292
Ulrich Weigand [Fri, 14 Sep 2012 10:12:43 +0000 (10:12 +0000)]
* gcc.target/arm/combine-movs.c: Add missing space.
From-SVN: r191291
Richard Guenther [Fri, 14 Sep 2012 08:50:01 +0000 (08:50 +0000)]
builtin-types.def (BT_FN_CONST_STRING): Add.
2012-09-14 Richard Guenther <rguenther@suse.de>
* builtin-types.def (BT_FN_CONST_STRING): Add.
* builtins.def (BUILT_IN_FILE, BUILT_IN_FUNCTION,
BUILT_IN_LINE): New builtins.
* gimplify.c (gimplify_call_expr): Expand them.
* doc/extend.texi (__builtin_LINE, __builtin_FUNCTION,
__builtin_FILE): Document.
* g++.dg/torture/builtin-location.C: New testcase.
From-SVN: r191290
GCC Administrator [Fri, 14 Sep 2012 00:17:59 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r191288
Anthony Green [Thu, 13 Sep 2012 23:35:48 +0000 (23:35 +0000)]
Bi-endian support for moxie
From-SVN: r191285
Paolo Carlini [Thu, 13 Sep 2012 23:04:04 +0000 (23:04 +0000)]
re PR c++/53210 (warning for data member initialized with itself should be in -Wall)
2012-09-13 Paolo Carlini <paolo.carlini@oracle.com>
Manuel López-Ibáñez <manu@gcc.gnu.org>
PR c++/53210
* doc/invoke.texi ([Winit-self]): Document as enabled by -Wall
in C++.
/c-family
2012-09-13 Paolo Carlini <paolo.carlini@oracle.com>
Manuel López-Ibáñez <manu@gcc.gnu.org>
PR c++/53210
* c.opt ([Winit-self]): Enabled by -Wall in C++.
/cp
2012-09-13 Paolo Carlini <paolo.carlini@oracle.com>
Manuel López-Ibáñez <manu@gcc.gnu.org>
PR c++/53210
* init.c (perform_member_init): Use OPT_Winit_self instead of
OPT_Wuninitialized.
/testsuite
2012-09-13 Paolo Carlini <paolo.carlini@oracle.com>
Manuel López-Ibáñez <manu@gcc.gnu.org>
PR c++/53210
* g++.dg/warn/Winit-self.C: New.
Co-Authored-By: Manuel López-Ibáñez <manu@gcc.gnu.org>
From-SVN: r191284
Eric Botcazou [Thu, 13 Sep 2012 23:00:23 +0000 (23:00 +0000)]
predicates.md (input_operand): Do not consider TImode constants as 1-instruction integer constants.
* config/sparc/predicates.md (input_operand): Do not consider TImode
constants as 1-instruction integer constants.
Use register_or_zero_operand instead of register_operand and tidy up.
* config/sparc/sparc.md (movti): New expander.
(movti_insn_sp64): New instruction.
(movti_insn_sp64_hq): Likewise.
(TImode splitters): New splitters.
* config/sparc/sparc.c (sparc_expand_move) <TImode>: New case.
(sparc_legitimate_address_p): Return 0 for REG+REG in TImode.
* config/sparc/sparc-protos.h (arith_double_4096_operand): Delete.
(arith_4096_operand): Likewise.
(zero_operand): Likewise.
(fp_zero_operand): Likewise.
(reg_or_0_operand): Likewise.
From-SVN: r191283
Paolo Carlini [Thu, 13 Sep 2012 22:20:14 +0000 (22:20 +0000)]
typeck.c (build_indirect_ref, [...]): Remove uses of ATTRIBUTE_UNUSED on the parameters.
2012-09-13 Paolo Carlini <paolo.carlini@oracle.com>
* typeck.c (build_indirect_ref, build_function_call,
build_function_call_vec, build_binary_op, build_unary_op,
build_compound_expr, build_c_cast, build_modify_expr): Remove
uses of ATTRIBUTE_UNUSED on the parameters.
* class.c (set_linkage_according_to_type, resort_type_method_vec,
dfs_find_final_overrider_post, empty_base_at_nonzero_offset_p):
Likewise.
* decl.c (local_variable_p_walkfn): Likewise.
* except.c (wrap_cleanups_r, check_noexcept_r): Likewise.
* error.c (find_typenames_r): Likewise.
* tree.c (verify_stmt_tree_r, bot_replace,
handle_java_interface_attribute, handle_com_interface_attribute,
handle_init_priority_attribute, c_register_addr_space): Likewise.
* cp-gimplify.c (cxx_omp_clause_default_ctor): Likewise.
* cp-lang.c (objcp_tsubst_copy_and_build): Likewise.
* pt.c (unify_success, unify_invalid, instantiation_dependent_r):
Likewise.
* semantics.c (dfs_calculate_bases_pre): Likewise.
* decl2.c (fix_temporary_vars_context_r, clear_decl_external):
Likewise.
* parser.c (cp_lexer_token_at, cp_parser_omp_clause_mergeable,
cp_parser_omp_clause_nowait, cp_parser_omp_clause_ordered,
cp_parser_omp_clause_untied): Likewise.
* mangle.c (write_unnamed_type_name,
discriminator_for_string_literal): Likewise.
* search.c (dfs_accessible_post, dfs_debug_mark): Likewise.
* lex.c (handle_pragma_vtable, handle_pragma_unit,
handle_pragma_interface, handle_pragma_implementation,
handle_pragma_java_exceptions): Likewise.
From-SVN: r191281
Jakub Jelinek [Thu, 13 Sep 2012 16:57:15 +0000 (18:57 +0200)]
re PR c/54559 (, ICE in gimplify_expr, at gimplify.c:7592)
PR c/54559
* c-typeck.c (c_finish_return): Do convert to BOOLEAN_TYPE or
COMPLEX_TYPE with in_late_binary_op set temporarily to true.
* gcc.c-torture/compile/pr54559.c: New test.
From-SVN: r191270
Jakub Jelinek [Thu, 13 Sep 2012 16:30:17 +0000 (18:30 +0200)]
configure.ac (CXXFLAGS): Remove -O2 when not bootstrapping.
* configure.ac (CXXFLAGS): Remove -O2 when not bootstrapping.
* configure: Regenerated.
From-SVN: r191267
Jason Merrill [Thu, 13 Sep 2012 15:14:08 +0000 (11:14 -0400)]
re PR c++/53839 ([C++11] internal compiler error: in adjust_temp_type, at cp/semantics.c:6391)
PR c++/53839
* semantics.c (cxx_eval_indirect_ref): If we aren't looking for an
address, make sure the value is constant.
From-SVN: r191263
Jason Merrill [Thu, 13 Sep 2012 15:13:45 +0000 (11:13 -0400)]
re PR c++/54511 (internal compiler error: in make_decl_rtl, at varasm.c:1147)
PR c++/54511
* pt.c (tsubst_decl) [VAR_DECL]: Handle DECL_ANON_UNION_VAR_P.
From-SVN: r191262
Jason Merrill [Thu, 13 Sep 2012 15:13:24 +0000 (11:13 -0400)]
re PR c++/53836 (ICE: unexpected expression of kind template_parm_index)
PR c++/53836
* pt.c (value_dependent_expression_p): A TREE_LIST initializer must
be dependent.
From-SVN: r191261
Tobias Burnus [Thu, 13 Sep 2012 14:57:38 +0000 (16:57 +0200)]
re PR fortran/54556 (Marking implicitly pure variables as DECL_PURE_P leads to wrong code)
2012-09-13 Tobias Burnus <burnus@net-b.de>
PR fortran/54556
* resolve.c (resolve_formal_arglist): Allow VALUE arguments
with implicit_pure.
(gfc_impure_variable): Don't check gfc_pure such that the
function also works for gfc_implicit_pure procedures.
2012-09-13 Tobias Burnus <burnus@net-b.de>
PR fortran/54556
* gfortran.dg/implicit_pure_3.f90: New.
From-SVN: r191259
Uros Bizjak [Thu, 13 Sep 2012 13:49:39 +0000 (15:49 +0200)]
i386.md (prefetch): Do not assert mode of operand 0.
* config/i386/i386.md (prefetch): Do not assert mode of operand 0.
(*prefetch_sse_<mode>): Do not set mode of address_operand predicate.
Rename to ...
(*prefetch_sse): ... this.
(*prefetch_3dnow_<mode>): Do not set mode of address_operand predicate.
Rename to ...
(*prefetch_3dnow): ... this.
From-SVN: r191256
Steven Bosscher [Thu, 13 Sep 2012 13:41:46 +0000 (13:41 +0000)]
ipa-pure-const.c (state_from_flags, [...]): Use current_function_name instead of lang_hooks.decl_printable_name.
* ipa-pure-const.c (state_from_flags, local_pure_const): Use
current_function_name instead of lang_hooks.decl_printable_name.
* function.h (fndecl_name): New prototype.
* function.c (fndecl_name): New function.
* vecir.h (cgraph_node_p): New standard IR VEC type.
* trans-mem.c (cgraph_node_p): No need anymore to define it here.
* ipa-utils.h (ipa_get_nodes_in_cycle): New prototype.
* ipa-utils.c (ipa_get_nodes_in_cycle): New function.
* ipa-reference.c: Don't include langhooks.h, and certainly not twice.
Fix many formatting issues (long lines, short lines, spacing, etc.).
(get_static_name): Use fndecl_name.
(dump_static_vars_set_to_file): New function split out from propagate.
(union_static_var_sets): New function, union two sets and collapse
to all_module_statics as quickly as possible.
(intersect_static_var_sets): New function, similar to above.
(copy_static_var_set): Renamed from copy_global_bitmap and rewritten
to allocate a copy on the same bitmap_obstack as the source set.
(propagate_bits): Simplify, and clarify by using union_static_var_sets.
(generate_summary): Remove bm_temp. Print UID of promotable globals.
(read_write_all_from_decl): Use pass-by-reference, bless C++.
(get_read_write_all_from_node): New function, split out from propagate.
(propagate): Simplify and clarify with helper functions. Use
ipa_get_nodes_in_cycle to walk all nodes in a reduced node.
(ipa_reference_read_optimization_summary): Use fndecl_name instead of
lang_hooks.decl_printable_name.
* rtl.h (print_rtl_single_with_indent): New prototype.
* print-rtl.c (print_rtl_single_with_indent): New function.
* cfghooks.h (empty_block_p, split_block_before_cond_jump): New hooks.
* cfghooks.c (empty_block_p, split_block_before_cond_jump): Implement.
* cfgrtl.c (rtl_block_empty_p, rtl_split_block_before_cond_jump):
Implement RTL specific hooks.
(rtl_cfg_hooks, cfg_layout_rtl_cfg_hooks): Register the new hooks.
* tree-cfg.c (gimple_empty_block_p,
gimple_split_block_before_cond_jump): Implement GIMPLE specific hooks.
(gimple_cfg_hooks): Register the new hooks.
* tree-ssa-phiopt.c (empty_block_p): Remove in favor of new hook.
From-SVN: r191255
Richard Guenther [Thu, 13 Sep 2012 12:43:58 +0000 (12:43 +0000)]
tree-ssa-sccvn.h (enum vn_kind): New.
2012-09-13 Richard Guenther <rguenther@suse.de>
* tree-ssa-sccvn.h (enum vn_kind): New.
(vn_get_stmt_kind): Likewise.
* tree-ssa-sccvn.c (vn_get_stmt_kind): New function, adjust
ADDR_EXPR handling.
(visit_use): Use it.
* tree-ssa-pre.c (compute_avail): Likewise, simplify further.
* gcc.dg/tree-ssa/ssa-fre-37.c: New testcase.
From-SVN: r191253
Uros Bizjak [Thu, 13 Sep 2012 11:45:35 +0000 (13:45 +0200)]
* config/i386/i386.c (processor_alias_table): Fix whitespace.
From-SVN: r191248
Venkataramanan Kumar [Thu, 13 Sep 2012 09:46:28 +0000 (09:46 +0000)]
Enable PTA_PRFCHW for AMD bdver1, bdver2, btver1 and btver2 cores
From-SVN: r191245
Christophe Lyon [Thu, 13 Sep 2012 08:55:30 +0000 (08:55 +0000)]
arm.md (arm_rev): Factorize thumb1, thumb2 and arm variants for rev instruction..
2012-09-13 Christophe Lyon <christophe.lyon@linaro.org>
Richard Earnshaw <rearnsha@arm.com>
gcc/
* config/arm/arm.md (arm_rev): Factorize thumb1, thumb2 and arm
variants for rev instruction..
(thumb1_rev): Delete pattern.
(arm_revsh): New pattern to support builtin_bswap16.
(arm_rev16, bswaphi2): Likewise.
gcc/testsuite/
* gcc.target/arm/builtin-bswap-1.c: New testcase.
Co-Authored-By: Richard Earnshaw <rearnsha@arm.com>
From-SVN: r191243
Kyrylo Tkachov [Thu, 13 Sep 2012 08:20:22 +0000 (08:20 +0000)]
For Kyryll
2012-09-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* c-c++-common/pr51712.c: Handle for short-enum targets.
From-SVN: r191241
Terry Guo [Thu, 13 Sep 2012 05:36:19 +0000 (05:36 +0000)]
combine-movs.c: Check movs for ARM mode and lsrs for Thumb2 mode.
2012-09-12 Terry Guo <terry.guo@arm.com>
* gcc.target/arm/combine-movs.c: Check movs for ARM mode
and lsrs for Thumb2 mode.
From-SVN: r191239
Teresa Johnson [Thu, 13 Sep 2012 04:59:14 +0000 (04:59 +0000)]
This fixes PR gcov-profile/54487 where the gcda files were not locked by the profile-use read...
This fixes PR gcov-profile/54487 where the gcda files were not locked
by the profile-use read, enabling writes by other instrumented compiles
to change the profile in the middle of the profile use read. The GCOV_LOCKED
macro was not set because it was guarded by HOST_HAS_F_SETLKW, which was
never set. The fix is to add a compile test in the configure to set it.
2012-09-12 Teresa Johnson <tejohnson@google.com>
PR gcov-profile/54487
* configure.ac (HOST_HAS_F_SETLKW): Set based on compile
test using F_SETLKW with fcntl.
* configure, config.in: Regenerate.
From-SVN: r191238
GCC Administrator [Thu, 13 Sep 2012 00:17:42 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r191237
Jan Hubicka [Wed, 12 Sep 2012 21:51:14 +0000 (23:51 +0200)]
re PR fortran/48636 (Enable more inlining with -O2 and higher)
PR fortran/48636
* gcc.dg/ipa/inlinehint-2.c: New testcase.
* ipa-inline-analysis.c (dump_inline_hints): Dump loop stride.
(set_hint_predicate): New function.
(reset_inline_summary): Reset loop stride.
(remap_predicate_after_duplication): New function.
(remap_hint_predicate_after_duplication): New function.
(inline_node_duplication_hook): Update.
(dump_inline_summary): Dump stride summaries.
(estimate_function_body_sizes): Compute strides.
(remap_hint_predicate): New function.
(inline_merge_summary): Use it.
(inline_read_section): Read stride.
(inline_write_summary): Write stride.
* ipa-inline.c (want_inline_small_function_p): Handle strides.
(edge_badness): Likewise.
* ipa-inline.h (inline_hints_vals): Add stride hint.
(inline_summary): Update stride.
From-SVN: r191232
Uros Bizjak [Wed, 12 Sep 2012 19:25:13 +0000 (21:25 +0200)]
i386.c (x86_prefetch_sse): Change to unsigned char.
* config/i386/i386.c (x86_prefetch_sse): Change to unsigned char.
* config/i386/i386.h (x86_prefetch_sse): Ditto.
From-SVN: r191231
H.J. Lu [Wed, 12 Sep 2012 18:08:59 +0000 (18:08 +0000)]
Allow negative offset for UNSPEC_DTPOFF/UNSPEC_NTPOFF
gcc/
PR target/54445
* config/i386/predicates.md (x86_64_immediate_operand): Allow
negative offset for UNSPEC_DTPOFF/UNSPEC_NTPOFF.
gcc/testsuite/
PR target/54445
* gcc.target/i386/pr54445-1.c: New file.
* gcc.target/i386/pr54445-2.c: Likewise.
From-SVN: r191230
Jan Hubicka [Wed, 12 Sep 2012 17:55:13 +0000 (19:55 +0200)]
common.opt (flto-partition): Add "max".
* common.opt (flto-partition): Add "max".
* invoke.texi (flto-partition): Document "max"
* lto.c (do_whole_program_analysis): Care timevars, statistics and
AUX pointer cleaning. Add max partitioning.
* lto-partition.c (enum symbol_class): New.
(get_symbol_class): New function.
(symbol_partitioned_p): New function.
(add_references_to_partition): Remove.
(add_aliases_to_partition): Remove.
(add_cgraph_node_to_partition_1): Remove.
(add_cgraph_node_to_partition): Remove.
(add_symbol_to_partition): New function.
(add_symbol_to_partition_1): New function.
(contained_in_symbol): New function.
(partition_cgraph_node_p): Remove.
(partition_varpool_node_p): Remove.
(partition_symbol_p): Remove.
(lto_1_to_1_map): Cleanup.
(lto_max_map): New.
(lto_balanced_map): Update.
(lto_promote_cross_file_statics): Update.
* lto-partition.h (lto_max_map): Declare.
* timevar.def (TV_WHOPR_PARTITIONING): New timevar.
From-SVN: r191229
Jan Hubicka [Wed, 12 Sep 2012 16:26:19 +0000 (18:26 +0200)]
re PR lto/54312 (uniquify_nodes takes 12% of Mozilla LTO build)
PR lto/54312
* lto.c (uniquify_nodes): Remove quadratic loop checking if the
type is variant leader.
From-SVN: r191228
Uros Bizjak [Wed, 12 Sep 2012 15:23:01 +0000 (17:23 +0200)]
i386.md: Comments on fma4 instruction selection reflect requirement on register pressure...
2012-09-12 Ganesh Gopalasubramanian <Ganesh.Gopalasubramanian@amd.com>
* config/i386/i386.md : Comments on fma4 instruction
selection reflect requirement on register pressure based
cost model.
* config/i386/driver-i386.c (host_detect_local_cpu): fma4
flag is set-reset as informed by the cpuid flag.
* config/i386/i386.c (processor_alias_table): fma4
flag is enabled for bdver2.
From-SVN: r191226
Richard Guenther [Wed, 12 Sep 2012 14:46:22 +0000 (14:46 +0000)]
re PR tree-optimization/54489 (tree FRE uses an excessive amount of memory)
2012-09-12 Richard Guenther <rguenther@suse.de>
PR tree-optimization/54489
* tree-ssa-pre.c: Include domwalk.h.
(in_fre): Remove.
(sccvn_valnum_from_value_id): New function.
(debug_bitmap_sets_for): Simplify.
(get_representative_for): Properly initialize the SCCVN valnum.
(create_expression_by_pieces): Likewise.
(insert_into_preds_of_block): Likewise.
(can_PRE_operation): Remove.
(make_values_for_phi): Simplify.
(compute_avail): Likewise.
(do_SCCVN_insertion): Remove.
(eliminate_avail, eliminate_push_avail, eliminate_insert):
New functions.
(eliminate): Split and perform a domwalk.
(eliminate_bb): Former eliminate part that is now dom-enter.
(eliminate_leave_block): New function.
(fini_eliminate): Likewise.
(init_pre): Simplify.
(fini_pre): Likewise.
(execute_pre): Fold into do_pre and do_fre.
(do_pre): Consume execute_pre.
(do_fre): Likewise.
* Makefile.in (tree-ssa-pre.o): Add domwalk.h dependency.
From-SVN: r191225
Diego Novillo [Wed, 12 Sep 2012 13:51:52 +0000 (09:51 -0400)]
vec.h: Remove compatibility notes for previous distinction between vectors of objects...
2012-09-12 Diego Novillo <dnovillo@google.com>
* vec.h: Remove compatibility notes for previous distinction
between vectors of objects and vectors of pointers.
From-SVN: r191223