- 29 Apr, 2013 29 commits
-
-
From-SVN: r198424
Ian Bolton committed -
2013-04-29 Richard Biener <rguenther@suse.de> PR middle-end/57075 * tree-inline.c (copy_edges_for_bb): Still split the bbs, even if not adding abnormal edges for calls that can make abnormal gotos. * gcc.dg/torture/pr57075.c: New testcase. From-SVN: r198423
Richard Biener committed -
re PR middle-end/57103 (ICE: verify_gimple failed: location references block not in block tree with -ftree-parallelize-loops=4) 2013-04-29 Richard Biener <rguenther@suse.de> PR middle-end/57103 * tree-cfg.c (move_stmt_op): Fix condition under which to update TREE_BLOCK. (move_stmt_r): Remove redundant checking. * gcc.dg/autopar/pr57103.c: New testcase. From-SVN: r198418
Richard Biener committed -
c-family: 2013-04-03 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com> * c-common.c (check_user_alignment): Emit error for negative values. testsuite: 2013-04-03 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com> * gcc.dg/c1x-align-3.c: Add test for negative power of 2. From-SVN: r198417
Senthil Kumar Selvaraj committed -
This patch fixes PR bootstrap/57077. Certain new uses of apply_probability are actually scaling the counts up, and the scale factor should not be treated as a probability as the value may exceed REG_BR_PROB_BASE. One example (from the PR) is when scaling counts up in LTO when merging profiles. Another example I found when preparing the patch to use the rounding divide in more places is when inlining COMDAT functions. Add new helper function apply_scale that does the scaling without the probability range check. I audited the new uses of apply_probability and changed the calls as appropriate. 2013-04-29 Teresa Johnson <tejohnson@google.com> PR bootstrap/57077 * basic-block.h (apply_scale): New function. (apply_probability): Use apply_scale. * gimple-streamer-in.c (input_bb): Ditto. * lto-streamer-in.c (input_cfg): Ditto. * lto-cgraph.c (merge_profile_summaries): Ditto. * tree-optimize.c (execute_fixup_cfg): Ditto. * tree-inline.c (copy_bb): Update comment to use apply_scale. (copy_edges_for_bb): Ditto. (copy_cfg_body): Ditto. From-SVN: r198416
Teresa Johnson committed -
2013-04-29 Tom de Vries <tom@codesourcery.com> * tree-ssa-tail-merge.c (find_same_succ_bb): Skip loop latch bbs. (replace_block_by): Don't set LOOPS_NEED_FIXUP. (tail_merge_optimize): Handle current_loops == NULL. * gcc.dg/pr50763.c: Update test. From-SVN: r198414
Tom de Vries committed -
* tree-vrp.c (range_fits_type_p): Move to earlier point in file. (simplify_cond_using_ranges): Generalize code to simplify COND_EXPRs where one argument is a constant and the other is an SSA_NAME created by an integral type conversion. * gcc.dg/tree-ssa/vrp88.c: New test. From-SVN: r198413
Jeff Law committed -
2013-04-29 Kyrylo Tkachov <kyrylo.tkachov@arm.com> * config/arm/arm.md (store_minmaxsi): Use only when optimize_insn_for_size_p. From-SVN: r198412
Kyrylo Tkachov committed -
re PR target/57108 ([4.7/4.8/4.9] SH internal compiler error: in int_mode_for_mode, at stor-layout.c:395) 2013-04-29 Christian Bruel <christian.bruel@st.com> PR target/57108 * sh.md (tstsi_t_zero_extract_eq): Set mode for operand 0. From-SVN: r198411
Christian Bruel committed -
2013-04-29 Richard Biener <rguenther@suse.de> PR middle-end/57089 * omp-low.c (expand_omp_taskreg): If the parent function had a broken loop tree make sure to schedule a fixup for the child as well. (expand_omp_for_generic): Properly add loops. (expand_omp_for_static_nochunk): Likewise. (expand_omp_for_static_chunk): Likewise. (expand_omp_for): For the degenerate case fixup loops. (expand_omp_sections): Fix default bb placement in loops. (expand_omp_atomic_pipeline): Properly add loops. * gfortran.dg/gomp/pr57089.f90: New testcase. From-SVN: r198409
Richard Biener committed -
2013-04-29 Kyrylo Tkachov <kyrylo.tkachov@arm.com> * predict.c: Fix typo in comment above #define PROB_VERY_UNLIKELY. From-SVN: r198408
Kyrylo Tkachov committed -
2013-04-29 Tom de Vries <tom@codesourcery.com> * tree-ssa-tail-merge.c: Update header comment. From-SVN: r198407
Tom de Vries committed -
gcc/testsuite/ * lib/target-supports.exp (vect_uintfloat_cvt): Enable for AArch64. From-SVN: r198406
James Greenhalgh committed -
gcc/ * config/aarch64/arm_neon.h (vcvt<sd>_f<32,64>_s<32,64>): Rewrite in C. (vcvt<q>_f<32,64>_s<32,64>): Rewrite using builtins. (vcvt_<high_>_f<32,64>_f<32,64>): Likewise. (vcvt<qsd>_<su><32,64>_f<32,64>): Likewise. (vcvta<qsd>_<su><32,64>_f<32,64>): Likewise. (vcvtm<qsd>_<su><32,64>_f<32,64>): Likewise. (vcvtn<qsd>_<su><32,64>_f<32,64>): Likewise. (vcvtp<qsd>_<su><32,64>_f<32,64>): Likewise. gcc/testsuite/ * gcc.target/aarch64/vect-vcvt.c: New. From-SVN: r198404
James Greenhalgh committed -
gcc/ * config/aarch64/aarch64-simd.md (<optab><VDQF:mode><fcvt_target>2): New, maps to fix, fixuns. (<fix_trunc_optab><VDQF:mode><fcvt_target>2): New, maps to fix_trunc, fixuns_trunc. (ftrunc<VDQF:mode>2): New. * config/aarch64/iterators.md (optab): Add fix, fixuns. (fix_trunc_optab): New. From-SVN: r198403
James Greenhalgh committed -
gcc/ * config/aarch64/aarch64-builtins.c (aarch64_builtin_vectorized_function): Vectorize over ifloorf, iceilf, lround, iroundf. From-SVN: r198402
James Greenhalgh committed -
PR target/54349 * config/i386/i386.h (enum ix86_tune_indices) <X86_TUNE_INTER_UNIT_MOVES_TO_VEC, X86_TUNE_INTER_UNIT_MOVES_FROM_VEC>: New, split from X86_TUNE_INTER_UNIT_MOVES. <X86_TUNE_INTER_UNIT_MOVES>: Remove. (TARGET_INTER_UNIT_MOVES_TO_VEC): New define. (TARGET_INTER_UNIT_MOVES_FROM_VEC): Ditto. (TARGET_INTER_UNIT_MOVES): Remove. * config/i386/i386.c (initial_ix86_tune_features): Update. Disable X86_TUNE_INTER_UNIT_MOVES_FROM_VEC for m_ATHLON_K8 only. (ix86_expand_convert_uns_didf_sse): Use TARGET_INTER_UNIT_MOVES_TO_VEC instead of TARGET_INTER_UNIT_MOVES. (ix86_expand_vector_init_one_nonzero): Ditto. (ix86_expand_vector_init_interleave): Ditto. (inline_secondary_memory_needed): Return true for moves from SSE class registers for !TARGET_INTER_UNIT_MOVES_FROM_VEC targets and for moves to SSE class registers for !TARGET_INTER_UNIT_MOVES_TO_VEC targets. * config/i386/constraints.md (Yi, Ym): Depend on TARGET_INTER_UNIT_MOVES_TO_VEC. (Yj, Yn): New constraints. * config/i386/i386.md (*movdi_internal): Change constraints of operand 1 from Yi to Yj and from Ym to Yn. (*movsi_internal): Ditto. (*movdf_internal): Ditto. (*movsf_internal): Ditto. (*float<SWI48x:mode><X87MODEF:mode>2_1): Use TARGET_INTER_UNIT_MOVES_TO_VEC instead of TARGET_INTER_UNIT_MOVES. (*float<SWI48x:mode><X87MODEF:mode>2_1 splitters): Ditto. (floatdi<X87MODEF:mode>2_i387_with_xmm): Ditto. (floatdi<X87MODEF:mode>2_i387_with_xmm splitters): Ditto. * config/i386/sse.md (movdi_to_sse): Ditto. (sse2_stored): Change constraint of operand 1 from Yi to Yj. Use TARGET_INTER_UNIT_MOVES_FROM_VEC instead of TARGET_INTER_UNIT_MOVES. (sse_storeq_rex64): Change constraint of operand 1 from Yi to Yj. (sse_storeq_rex64 splitter): Use TARGET_INTER_UNIT_MOVES_FROM_VEC instead of TARGET_INTER_UNIT_MOVES. * config/i386/mmx.md (*mov<mode>_internal): Change constraint of operand 1 from Yi to Yj and from Ym to Yn. From-SVN: r198401
Uros Bizjak committed -
gcc/ * config/aarch64/aarch64-simd-builtins.def (vec_unpacks_hi_): New. (float_truncate_hi_): Likewise. (float_extend_lo_): Likewise. (float_truncate_lo_): Likewise. * config/aarch64/aarch64-simd.md (vec_unpacks_lo_v4sf): New. (aarch64_float_extend_lo_v2df): Likewise. (vec_unpacks_hi_v4sf): Likewise. (aarch64_float_truncate_lo_v2sf): Likewise. (aarch64_float_truncate_hi_v4sf): Likewise. (vec_pack_trunc_v2df): Likewise. (vec_pack_trunc_df): Likewise. From-SVN: r198400
James Greenhalgh committed -
gcc/ * config/aarch64/aarch64-builtins.c (aarch64_fold_builtin): Fold float conversions. * config/aarch64/aarch64-simd-builtins.def (floatv2si, floatv4si, floatv2di): New. (floatunsv2si, floatunsv4si, floatunsv2di): Likewise. * config/aarch64/aarch64-simd.md (<optab><fcvt_target><VDQF:mode>2): New, expands to float and floatuns. * config/aarch64/iterators.md (FLOATUORS): New. (optab): Add float, floatuns. (su_optab): Likewise. From-SVN: r198399
James Greenhalgh committed -
gcc/ * config/aarch64/aarch64-builtins.c (aarch64_builtin_vectorized_function): Use new names for fcvt builtins. * config/aarch64/aarch64-simd-builtins.def (fcvtzs): Split as... (lbtruncv2sf, lbtruncv4sf, lbtruncv2df): ...This. (fcvtzu): Split as... (lbtruncuv2sf, lbtruncuv4sf, lbtruncuv2df): ...This. (fcvtas): Split as... (lroundv2sf, lroundv4sf, lroundv2df, lroundsf, lrounddf): ...This. (fcvtau): Split as... (lrounduv2sf, lrounduv4sf, lrounduv2df, lroundusf, lroundudf): ...This. (fcvtps): Split as... (lceilv2sf, lceilv4sf, lceilv2df): ...This. (fcvtpu): Split as... (lceiluv2sf, lceiluv4sf, lceiluv2df, lceilusf, lceiludf): ...This. (fcvtms): Split as... (lfloorv2sf, lfloorv4sf, lfloorv2df): ...This. (fcvtmu): Split as... (lflooruv2sf, lflooruv4sf, lflooruv2df, lfloorusf, lfloorudf): ...This. (lfrintnv2sf, lfrintnv4sf, lfrintnv2df, lfrintnsf, lfrintndf): New. (lfrintnuv2sf, lfrintnuv4sf, lfrintnuv2df): Likewise. (lfrintnusf, lfrintnudf): Likewise. * config/aarch64/aarch64-simd.md (l<fcvt_pattern><su_optab><fcvt_target><VDQF:mode>2): Convert to define_insn. (aarch64_fcvt<frint_suffix><su><mode>): Remove. * config/aarch64/iterators.md (FCVT): Include UNSPEC_FRINTN. (fcvt_pattern): Likewise. From-SVN: r198398
James Greenhalgh committed -
gcc/ * config/aarch64/aarch64-simd.md (l<fcvt_pattern><su_optab><fcvt_target><VDQF:mode>2): Rename to... (l<fcvt_pattern><su_optab><VDQF:mode><fcvt_target>2): ... This. From-SVN: r198397
James Greenhalgh committed -
gcc/ * config/aarch64/arm_neon.h (vrndq<a,m,n,p>_f<32, 64>): Rename to... (vrnd<a,m,n,p>q_f<32, 64>): ...This, implement using builtin. (vrnd<a,m,n,p>_f32): Implement using builtins. (vrnd<i,x><q>_f<32, 64>): New. gcc/testsuite/ * gcc.target/aarch64/vect-vrnd.c: New. From-SVN: r198396
James Greenhalgh committed -
gcc/ * config/aarch64/aarch64-builtins.c (aarch64_builtin_vectorized_function): Fold to standard pattern names. * config/aarch64/aarch64-simd-builtins.def (frintn): New. (frintz): Rename to... (btrunc): ...this. (frintp): Rename to... (ceil): ...this. (frintm): Rename to... (floor): ...this. (frinti): Rename to... (nearbyint): ...this. (frintx): Rename to... (rint): ...this. (frinta): Rename to... (round): ...this. * config/aarch64/aarch64-simd.md (aarch64_frint<frint_suffix><mode>): Delete. (<frint_pattern><mode>2): Convert to insn. * config/aarch64/aarch64.md (unspec): Add UNSPEC_FRINTN. * config/aarch64/iterators.md (FRINT): Add UNSPEC_FRINTN. (frint_pattern): Likewise. (frint_suffix): Likewise. From-SVN: r198394
James Greenhalgh committed -
2013-04-29 Richard Biener <rguenther@suse.de> PR tree-optimization/57081 * loop-init.c: Include tree-flow.h. (loop_optimizer_finalize): Free number of iteration estimates. * Makefile.in (loop-init.o): Add $(TREE_FLOW_H) dependency. * gcc.dg/torture/pr57081.c: New testcase. From-SVN: r198392
Richard Biener committed -
2013-04-29 Janne Blomqvist <jb@gcc.gnu.org> * intrinsics/system_clock (gf_gettime_mono): Use variable resolution for fractional seconds argument. (system_clock_4): Simplify, update for gf_gettime_mono change. (system_clock_8): Likewise. From-SVN: r198391
Janne Blomqvist committed -
2013-04-29 Janne Blomqvist <jb@gcc.gnu.org> PR fortran/56981 * io/transfer.c (next_record_w_unf): First fix head marker, then write tail. (next_record): Call flush_if_unbuffered. * io/unix.c (struct unix_stream): Add field unbuffered. (flush_if_unbuffered): New function. (fd_to_stream): New argument. (open_external): Fix fd_to_stream call. (input_stream): Likewise. (output_stream): Likewise. (error_stream): Likewise. * io/unix.h (flush_if_unbuffered): New prototype. From-SVN: r198390
Janne Blomqvist committed -
PR tree-optimization/57083 * tree-vrp.c (extract_range_from_binary_expr_1): For LSHIFT_EXPR with non-singleton shift count range, zero extend low_bound for uns case. * gcc.dg/torture/pr57083.c: New test. From-SVN: r198388
Jakub Jelinek committed -
* config/i386/predicates.md (general_vector_operand): New predicate. * config/i386/i386.c (const_vector_equal_evenodd_p): New function. (ix86_expand_mul_widen_evenodd): Force op1 resp. op2 into register if they aren't nonimmediate operands. If their original values satisfy const_vector_equal_evenodd_p, don't shift them. * config/i386/sse.md (mul<mode>3): Use general_vector_operand predicates. For the SSE4.1 case force operands[{1,2}] into registers if not nonimmediate_operand. (vec_widen_smult_even_v4si): Use nonimmediate_operand predicates instead of register_operand. (vec_widen_<s>mult_odd_<mode>): Use general_vector_operand predicates. From-SVN: r198387
Jakub Jelinek committed -
From-SVN: r198384
GCC Administrator committed
-
- 28 Apr, 2013 10 commits
-
-
/cp 2013-04-28 Paolo Carlini <paolo.carlini@oracle.com> PR c++/56450 * semantics.c (finish_decltype_type): Handle COMPOUND_EXPR. /testsuite 2013-04-28 Paolo Carlini <paolo.carlini@oracle.com> PR c++/56450 * g++.dg/cpp0x/decltype52.C: New. From-SVN: r198381
Paolo Carlini committed -
N3472 binary constants * include/cpplib.h (struct cpp_options): Fix a typo in user_literals field comment. Add binary_constants field. * init.c (struct lang_flags): Add binary_constants field. (lang_defaults): Add bin_cst column to the table. (cpp_set_lang): Initialize CPP_OPTION (pfile, binary_constants). * expr.c (cpp_classify_number): Talk about C++11 instead of C++0x in diagnostics. Accept binary constants if CPP_OPTION (pfile, binary_constants) even when pedantic. Adjust pedwarn message. * g++.dg/cpp/limits.C: Adjust warning wording. * g++.dg/system-binary-constants-1.C: Likewise. * g++.dg/cpp1y/system-binary-constants-1.C: New test. From-SVN: r198380
Jakub Jelinek committed -
2013-04-28 Tobias Burnus <burnus@net-b.de> PR fortran/57093 * trans-types.c (gfc_get_element_type): Fix handling of scalar coarrays of type character. * intrinsic.texi (PACK): Add missing ")". 2013-04-28 Tobias Burnus <burnus@net-b.de> PR fortran/57093 * gfortran.dg/coarray_30.f90: New. From-SVN: r198379
Tobias Burnus committed -
2013-04-28 Janne Blomqvist <jb@gcc.gnu.org> * intrinsics/system_clock.c (system_clock_4): Fix sign error in Windows version. From-SVN: r198378
Janne Blomqvist committed -
stor-layout.c (finalize_size_functions): Allocate a structure and reset cfun before dumping the functions. * stor-layout.c (finalize_size_functions): Allocate a structure and reset cfun before dumping the functions. From-SVN: r198376
Eric Botcazou committed -
From-SVN: r198371
Joseph Myers committed -
2013-04-28 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/57071 * frontend-passes (optimize_power): New function. (optimize_op): Use it. 2013-04-28 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/57071 * gfortran.dg/power_3.f90: New test. * gfortran.dg/power_4.f90: New test. From-SVN: r198369
Thomas Koenig committed -
* include/bits/hashtable_policy.h (_Hashtable_ebo_helper): Fix comment. * include/std/mutex (__recursive_mutex_base): Likewise. From-SVN: r198368
Jonathan Wakely committed -
PR libstdc++/51365 * include/bits/shared_ptr_base (_Sp_ebo_helper): Helper class to implement EBO safely. (_Sp_counted_base::_M_get_deleter): Add noexcept. (_Sp_counter_ptr): Use noexcept instead of comments. (_Sp_counted_deleter): Likewise. Use _Sp_ebo_helper. (_Sp_counted_ptr_inplace): Likewise. * testsuite/20_util/shared_ptr/cons/51365.cc: New. * testsuite/20_util/shared_ptr/cons/52924.cc: Add rebind member to custom allocator and test construction with custom allocator. * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error line number. From-SVN: r198367
Jonathan Wakely committed -
From-SVN: r198365
GCC Administrator committed
-
- 27 Apr, 2013 1 commit
-
-
From-SVN: r198358
Jakub Jelinek committed
-