- 15 Sep, 2012 10 commits
-
-
From-SVN: r191348
Joseph Myers committed -
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
Tom de Vries committed -
2012-09-15 Tobias Burnus <burnus@net-b.de> * trans-io.c (gfc_trans_transfer): Add an assert. From-SVN: r191346
Tobias Burnus committed -
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
Georg-Johann Lay committed -
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 committed -
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
Tobias Burnus committed -
* 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
Oleg Endo committed -
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
Sandra Loosemore committed -
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
Dehao Chen committed -
From-SVN: r191335
GCC Administrator committed
-
- 14 Sep, 2012 30 commits
-
-
From-SVN: r191332
David Edelsohn committed -
From-SVN: r191331
David Edelsohn committed -
From-SVN: r191330
David Edelsohn committed -
From-SVN: r191329
David Edelsohn committed -
From-SVN: r191328
David Edelsohn committed -
From-SVN: r191327
David Edelsohn committed -
From-SVN: r191326
David Edelsohn committed -
From-SVN: r191325
David Edelsohn committed -
From-SVN: r191324
David Edelsohn committed -
From-SVN: r191323
David Edelsohn committed -
From-SVN: r191322
David Edelsohn committed -
From-SVN: r191321
David Edelsohn committed -
From-SVN: r191320
David Edelsohn committed -
From-SVN: r191319
David Edelsohn committed -
From-SVN: r191318
David Edelsohn committed -
From-SVN: r191317
David Edelsohn committed -
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
David Edelsohn committed -
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
Joseph Myers committed -
* 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
Walter Lee committed -
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
Marc Glisse committed -
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 committed -
From-SVN: r191306
Richard Earnshaw committed -
* reload.c (find_dummy_reload): Don't use OUT as a reload reg for IN if it overlaps a fixed register. From-SVN: r191305
Richard Earnshaw committed -
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
Joseph Myers committed -
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
Paolo Carlini committed -
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
Eric Botcazou committed -
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 committed -
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
Christian Bruel committed -
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 committed -
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
Jakub Jelinek committed
-