Age | Commit message (Collapse) | Author | Files | Lines |
|
2011-12-11 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/50690
* frontend-passes.c (in_omp_workshare): New variable.
(cfe_expr_0): Don't eliminiate common function if it would put
the variable immediately into a WORKSHARE construct.
(optimize_namespace): Set in_omp_workshare.
(gfc_code_walker): Keep track of OMP PARALLEL and OMP WORKSHARE
constructs.
2011-12-11 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/50690
* gfortran.dg/gomp/workshare2.f90: New test.
* gfortran.dg/gomp/workshare3.f90: New test.
From-SVN: r182208
|
|
* trans-mem.c (ipa_tm_transform_calls_redirect): Do not remove
edge.
From-SVN: r182205
|
|
compute that of the constructor.
* gcc-interface/utils2.c (gnat_build_constructor): Test the TREE_STATIC
flag of elements to compute that of the constructor.
From-SVN: r182203
|
|
for parameters which aren't...
* gcc-interface/decl.c (gnat_to_gnu_param): Set the restrict qualifier
on references built for parameters which aren't specifically by-ref.
From-SVN: r182202
|
|
* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: If there is an
alignment set on a renaming, assert that the renamed object is aligned
enough as to make it possible to honor it.
From-SVN: r182201
|
|
From-SVN: r182199
|
|
From-SVN: r182198
|
|
2011-12-10 Tobias Burnus <burnus@net-b.de>
* trans-decl.c (add_argument_checking): Fix syntax.
From-SVN: r182194
|
|
* config/rs6000/altivec.md (altivec_vmrghb): Rewrite pattern as
vec_select + vec_concat.
(altivec_vmrghh, altivec_vmrghw, altivec_vmrghsf, altivec_vmrglb,
altivec_vmrglh, altivec_vmrglw, altivec_vmrglsf): Likewise.
(vec_perm_constv16qi): New.
(vec_extract_evenv4si, vec_extract_evenv4sf, vpkuhum_nomode,
vpkuwum_nomode, vec_extract_oddv8hi, vec_extract_oddv16qi,
vec_interleave_high<VI>, vec_interleave_low<VI>): Remove.
* config/rs6000/paired.md (paired_merge00): Rewrite pattern as
vec_select + vec_concat.
(paired_merge10, paired_merge01, paired_merge11): Likewise.
(vec_perm_constv2sf): New.
(vec_interleave_highv2sf, vec_interleave_lowv2sf,
vec_extract_evenv2sf, vec_extract_oddv2sf): Remove.
* config/rs6000/spe.md (spe_evmergehi): Rewrite pattern as
vec_select + vec_concat.
(spe_evmergehilo, spe_evmergelo, spe_evmergelohi): New.
(vec_perm_constv2si): New.
* config/rs6000/vector.md (vec_interleave_highv4sf,
vec_interleave_lowv4sf, vec_interleave_high<VEC_64>,
vec_interleave_low<VEC_64>): Remove.
* config/rs6000/vsx.md (VS_double): New mode attribute.
(UNSPEC_VSX_XXPERMDI): Remove.
(vsx_xxpermdi_<VSX_L>_1): Rewrite pattern as vec_select + vec_concat.
(vsx_xxmrghw_<VSX_W>, vsx_xxmrglw_<VSX_W>): Likewise.
(vsx_xxpermdi_<VSX_L>): Change to expander.
(vec_perm_const<VSX_D>): New.
(vsx_mergel_<VSX_D>, vsx_mergeh_<VSX_D>): New.
* config/rs6000/predicates.md (const_0_to_1_operand): New.
(const_2_to_3_operand): New.
* config/rs6000/rs6000.c (TARGET_VECTORIZE_VEC_PERM_CONST_OK): New.
(altivec_expand_vec_perm_const): New.
(rs6000_expand_vec_perm_const_1, rs6000_expand_vec_perm_const): New.
(rs6000_vectorize_vec_perm_const_ok): New.
(rs6000_do_expand_vec_perm): New.
(rs6000_expand_extract_even, rs6000_expand_interleave): New.
* config/rs6000/rs6000-builtin.def (VEC_MERGE*): Update rtx codes.
* config/rs6000/rs6000-modes.def: Add double-wide vector modes.
* config/rs6000/rs6000-protos.h: Update.
From-SVN: r182193
|
|
* expr.c (expand_expr_real_2) [VEC_PERM_EXPR]: Avoid passing a
CONST_INT to expand_vec_perm as the selector.
* optabs.c (expand_vec_perm): Assert the selector is of a proper mode.
From-SVN: r182192
|
|
* genmodes.c (struct mode_data): Remove wider_2x member.
(blank_mode): Adjust initializer.
(calc_wider_mode): Use XALLOCAVEC.
(emit_move_wider): Select double-width same-element vectors for
2xwider vectors.
* machmode.h (GET_MODE_2XWIDER_MODE): Update documentation.
* config/i386/i386.c (doublesize_vector_mode): Remove.
(expand_vselect_vconcat): Use GET_MODE_2XWIDER_MODE instead.
From-SVN: r182191
|
|
2011-12-10 Tobias Burnus <burnus@net-b.de>
Kai Tietz <ktietz@redhat.com>
* trans-decl.c (add_argument_checking): Check ts.deferred earlier.
* trans-intrinsic.c (gfc_conv_intrinsic_repeat): Use %ld with long.
Co-Authored-By: Kai Tietz <ktietz@redhat.com>
From-SVN: r182190
|
|
gcc:
* config/epiphany/epiphany-protos.h (epiphany_start_function): Declare.
* config/epiphany/epiphany.c (epiphany_handle_interrupt_attribute):
Split "timer" value into "timer0" and "timer1".
Handle page_miss, message and wand. Don't handle static_flag.
Adjust warning text.
(epiphany_start_function): New function.
(epiphany_compute_function_type): Split "timer" value into "timer0"
and "timer1". Handle page_miss, message and wand.
Don't handle static_flag.
(epiphany_expand_epilogue): Don't use frame_insn for status / iret
restore.
* config/epiphany/epiphany.h: ASM_DECLARE_FUNCTION_NAME: Define.
(enum epiphany_function_type):
Split EPIPHANY_FUNCTION_TIMER value into EPIPHANY_FUNCTION_TIMER0
and EPIPHANY_FUNCTION_TIMER1.
Remove EPIPHANY_FUNCTION_ILINK1 and EPIPHANY_FUNCTION_ILINK2 values.
Add EPIPHANY_FUNCTION_PAGE_MISS and EPIPHANY_FUNCTION_MESSAGE values.
Rename EPIPHANY_FUNCTION_STATIC_FLAG to EPIPHANY_FUNCTION_WAND.
gcc/testsuite:
* gcc.target/epiphany/interrupt.c: Add dg-options "-g".
Add a scan-assembler-time clause to test for the interupt vector jump.
(f): Rename to ...
(dma0_handler): ... this.
From-SVN: r182187
|
|
* config/epiphany/epiphany.h (EPIPHANY_RETURN_REGNO): New macro,
broken out of ..
(INCOMING_RETURN_ADDR_RTX) .. this. Use EPIPHANY_RETURN_REGNO.
(DWARF_FRAME_RETURN_COLUMN): New macro.
From-SVN: r182186
|
|
* config/epiphany/epiphany.h (USE_LOAD_POST_INCREMENT): Define.
(USE_LOAD_POST_DECREMENT, USE_STORE_POST_INCREMENT): Likewise.
(USE_STORE_POST_DECREMENT): Likewise.
From-SVN: r182185
|
|
PR gcov-profile/51449
* coverage.c (coverage_end_function): Always process the coverage
variables.
testsuite/
* g++.dg/gcov/gcov-14.C: New.
From-SVN: r182184
|
|
From-SVN: r182183
|
|
language has support for TM.
PR/51291
* tree.c (build_common_builtin_nodes): Do not use TM_PURE
attribute unless language has support for TM.
* config/i386/i386.c (ix86_init_tm_builtins): Exit gracefully in
the absence of TM builtins.
From-SVN: r182179
|
|
recognize useless pointer conversions.
* gimple-fold.c (gimple_fold_stmt_to_constant_1) <GIMPLE_UNARY_RHS>:
Also check the TYPE_MODE to recognize useless pointer conversions.
From-SVN: r182178
|
|
PR tree-optimization/51117
* tree-eh.c (optimize_clobbers): Don't remove just one
clobber, but all consecutive clobbers before RESX.
Use gimple_clobber_p predicate.
From-SVN: r182177
|
|
PR c++/51151
* call.c (perform_implicit_conversion_flags): Remove earlier kludge.
* parser.c (cp_parser_omp_for_loop): Use cp_parser_omp_for_incr
in templates even if decl isn't type-dependent.
From-SVN: r182175
|
|
gcc/cp/
PR c++/51289
* cp-tree.h (TYPE_TEMPLATE_INFO): Rewrite this accessor macro to
better support aliased types.
(TYPE_ALIAS_P): Don't crash on TYPE_NAME nodes that are not
TYPE_DECL.
* pt.c (find_parameter_packs_r): Handle types aliases.
(push_template_decl_real): Check for bare parameter packs in the
underlying type of an alias template.
gcc/PR51289/gcc/testsuite/
PR c++/51289
* g++.dg/cpp0x/alias-decl-17.C: New test.
From-SVN: r182170
|
|
change macros on PPC
From-SVN: r182169
|
|
2011-12-09 H.J. Lu <hongjiu.lu@intel.com>
PR bootstrap/51479
* Makefile.in (errors.o): Restored.
From-SVN: r182166
|
|
* gcc.dg/vect/slp-13.c: Increase array size, add initialization.
* gcc.dg/vect/slp-24.c: Ditto.
* gcc.dg/vect/slp-3.c: Likewise and fix scans.
* gcc.dg/vect/slp-34.c: Ditto.
* gcc.dg/vect/slp-4.c: Ditto.
* gcc.dg/vect/slp-cond-2.c: Ditto.
* gcc.dg/vect/slp-multitypes-11.c: Ditto.
* gcc.dg/vect/vect-1.c: Ditto.
* gcc.dg/vect/vect-10.c: Ditto.
* gcc.dg/vect/vect-105.c: Ditto.
* gcc.dg/vect/vect-112.c: Ditto.
* gcc.dg/vect/vect-15.c: Ditto.
* gcc.dg/vect/vect-2.c: Ditto.
* gcc.dg/vect/vect-31.c: Ditto.
* gcc.dg/vect/vect-32.c: Ditto.
* gcc.dg/vect/vect-33.c: Ditto.
* gcc.dg/vect/vect-34.c: Ditto.
* gcc.dg/vect/vect-35.c: Ditto.
* gcc.dg/vect/vect-36.c: Ditto.
* gcc.dg/vect/vect-6.c: Ditto.
* gcc.dg/vect/vect-73.c: Ditto.
* gcc.dg/vect/vect-74.c: Ditto.
* gcc.dg/vect/vect-75.c: Ditto.
* gcc.dg/vect/vect-76.c: Ditto.
* gcc.dg/vect/vect-80.c: Ditto.
* gcc.dg/vect/vect-85.c: Ditto.
* gcc.dg/vect/vect-89.c: Ditto.
* gcc.dg/vect/vect-97.c: Ditto.
* gcc.dg/vect/vect-98.c: Ditto.
* gcc.dg/vect/vect-all.c: Ditto.
* gcc.dg/vect/vect-double-reduc-6.c: Ditto.
* gcc.dg/vect/vect-iv-8.c: Ditto.
* gcc.dg/vect/vect-iv-8a.c: Ditto.
* gcc.dg/vect/vect-outer-1.c: Ditto.
* gcc.dg/vect/vect-outer-1a.c: Ditto.
* gcc.dg/vect/vect-outer-1b.c: Ditto.
* gcc.dg/vect/vect-outer-2.c: Ditto.
* gcc.dg/vect/vect-outer-2a.c: Ditto.
* gcc.dg/vect/vect-outer-2c.c: Ditto.
* gcc.dg/vect/vect-outer-3.c: Ditto.
* gcc.dg/vect/vect-outer-3a.c: Ditto.
* gcc.dg/vect/vect-outer-4a.c: Ditto.
* gcc.dg/vect/vect-outer-4b.c: Ditto.
* gcc.dg/vect/vect-outer-4c.c: Ditto.
* gcc.dg/vect/vect-outer-4d.c: Ditto.
* gcc.dg/vect/vect-outer-4m.c: Ditto.
* gcc.dg/vect/vect-outer-fir-lb.c: Ditto.
* gcc.dg/vect/vect-outer-fir.c: Ditto.
* gcc.dg/vect/vect-over-widen-1.c: Ditto.
* gcc.dg/vect/vect-over-widen-2.c: Ditto.
* gcc.dg/vect/vect-over-widen-3.c: Ditto.
* gcc.dg/vect/vect-over-widen-4.c: Ditto.
* gcc.dg/vect/vect-reduc-1char.c: Ditto.
* gcc.dg/vect/vect-reduc-2char.c: Ditto.
* gcc.dg/vect/vect-reduc-pattern-1b.c: Ditto.
* gcc.dg/vect/vect-reduc-pattern-1c.c: Ditto.
* gcc.dg/vect/vect-reduc-pattern-2b.c: Ditto.
* gcc.dg/vect/vect-shift-2.c: Ditto.
* gcc.dg/vect/vect-strided-a-u8-i8-gap2.c: Ditto.
* gcc.dg/vect/vect-strided-a-u8-i8-gap7.c: Ditto.
* gcc.dg/vect/vect-strided-u8-i8-gap2.c: Ditto.
* gcc.dg/vect/vect-strided-u8-i8-gap4.c: Ditto.
* gcc.dg/vect/vect-strided-u8-i8-gap7.c: Ditto.
From-SVN: r182165
|
|
* dse.c (get_stored_val, get_call_args): Use gen_int_mode.
* expmed.c (expand_divmod): Likewise.
* combine.c (simplify_if_then_else): Likewise.
From-SVN: r182164
|
|
-fwhole-program)
2011-12-09 Richard Guenther <rguenther@suse.de>
PR lto/48042
* tree.c (free_lang_data_in_decl): Remove freeing conditional
on debuginfo level.
* g++.dg/lto/pr48042_0.C: New testcase.
From-SVN: r182163
|
|
PR middle-end/40154
* emit-rtl.c (set_dst_reg_note): New function.
* rtl.h (set_dst_reg_note): Declare.
* optabs.c (expand_binop, expand_absneg_bit): Use set_dst_reg_note.
(emit_libcall_block, expand_fix): Likewise.
* function.c (assign_parm_setup_reg, expand_function_start): Likewise.
* expmed.c (expand_mult_const, expand_divmod): Likewise.
* reload1.c (gen_reload): Likewise.
From-SVN: r182162
|
|
instead of %lld.
* ira-color.c (print_hard_regs_subforest): Use
HOST_WIDEST_INT_PRINT_DEC instead of %lld.
(allocno_hard_regs): Change type of cost member
to HOST_WIDEST_INT.
(add_allocno_hard_regs): Change type of argument cost
to HOST_WIDEST_INT.
* ira-conflict.c (build_conflict_bit_table): Replace use
of long-long by HOST_WIDEST_INT.
From-SVN: r182161
|
|
PR target/51425
* config/avr/avr.md (config/avr/avr.md, *sbix_branch_tmp): Use
zero_extract:QIHI instead of zero_extract:HI.
From-SVN: r182159
|
|
PR tree-optimization/51117
* tree-eh.c (optimize_clobbers): New function.
(execute_lower_eh_dispatch): Call it.
Co-Authored-By: Andrew Pinski <apinski@cavium.com>
From-SVN: r182158
|
|
point)
2011-12-09 Richard Guenther <rguenther@suse.de>
PR tree-optimization/51482
* tree-vect-stmts.c (get_vectype_for_scalar_type_and_size):
Make sure to only create REAL_TYPE and INTEGER_TYPE component
vectors.
* g++.dg/torture/pr51482.C: New testcase.
From-SVN: r182156
|
|
* implicit-zee.c (num_realized): Change type to long.
(num_ze_opportunities): Likewise.
From-SVN: r182155
|
|
From-SVN: r182154
|
|
2011-12-08 Andrew Pinski <apinski@cavium.com>
* config/mips/mips-cpus.def (octeon+): New CPU.
* config/mips/mips-tables.opt: Regenerate.
* config/mips/mips.h (MIPS_CPP_SET_PROCESSOR): Emit '+' as 'P'.
2011-12-08 Andrew Pinski <apinski@cavium.com>
* cc.target/mips/mult-1.c: Forbid all Octeon processors.
* gcc.target/mips/dmult-1.c: Likewise.
* gcc.target/mips/branch-1.c: Likewise.
* gcc.target/mips/extend-1.c: Likewise.
From-SVN: r182152
|
|
From-SVN: r182148
|
|
From-SVN: r182144
|
|
From-SVN: r182143
|
|
PR c++/51318
* typeck.c (build_x_conditional_expr): Restrict glvalue games to C++11.
From-SVN: r182142
|
|
lambdas)
PR c++/51459
* pt.c (tsubst_expr) [DECL_EXPR]: Handle capture proxies properly.
* semantics.c (insert_capture_proxy): No longer static.
* cp-tree.h: Declare it.
From-SVN: r182141
|
|
revision r146817)
2011-12-08 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR middle-end/39976
* tree-ssa-dom.c (enum expr_kind): Add EXPR_PHI.
(struct hashable_expr): Add struct phi field.
(initialize_hash_element): Handle phis; change to use XCNEWVEC.
(hashable_expr_equal_p): Handle phis.
(iterative_hash_hashable_expr): Likewise.
(print_expr_hash_elt): Likewise.
(free_expr_hash_elt): Likewise.
(dom_opt_enter_block): Create equivalences from redundant phis.
(eliminate_redundant_computations): Handle redundant phis.
(lookup_avail_expr): Handle phis.
From-SVN: r182140
|
|
PR tree-optimization/51466
* tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Also copy
TREE_SIDE_EFFECTS.
* gcc.c-torture/execute/pr51466.c: New test.
From-SVN: r182136
|
|
dummy argument when -fbounds-check)
2011-12-08 Tobias Burnus <burnus@net-b.de>
PR fortran/50815
* trans-decl.c (add_argument_checking): Skip bound checking
for deferred-length strings.
2011-12-08 Tobias Burnus <burnus@net-b.de>
PR fortran/50815
* gfortran.dg/bounds_check_16.f90: New.
From-SVN: r182134
|
|
components if only child has PRIVATE comps)
2011-12-08 Tobias Burnus <burnus@net-b.de>
PR fortran/51378
* symbol.c (gfc_find_component): Fix access check of parent
components.
2011-12-08 Tobias Burnus <burnus@net-b.de>
PR fortran/51378
* gfortran.dg/private_type_14.f90: New.
From-SVN: r182133
|
|
data and F2008)
2011-12-08 Tobias Burnus <burnus@net-b.de>
PR fortran/51407
* io/transfer.c (require_numeric_type): New function.
(formatted_transfer_scalar_read, formatted_transfer_scalar_write):
Use it, allow BOZ edit descriptors with F2008.
2011-12-08 Tobias Burnus <burnus@net-b.de>
PR fortran/51407
* gfortran.dg/io_real_boz_3.f90: New.
* gfortran.dg/io_real_boz_4.f90: New.
* gfortran.dg/io_real_boz_5.f90: New.
From-SVN: r182132
|
|
different kinds)
2011-12-08 Tobias Burnus <burnus@net-b.de>
PR fortran/51448
* fortran/trans-array.c (get_std_lbound): Fix handling of
conversion functions.
2011-12-08 Tobias Burnus <burnus@net-b.de>
PR fortran/51448
* gfortran.dg/realloc_on_assign_8.f90: New.
From-SVN: r182131
|
|
to the requested constant.)
2011-12-08 Toon Moene <toon@moene.org>
PR fortran/51310
* invoke.texi: Itemize the cases for which
-finit-<type>=<constant> doesn't work.
From-SVN: r182127
|
|
* gcc.target/i386/movdi-rex64.c: Remove unnecessary
unused label.
From-SVN: r182123
|
|
* gcc.target/i386/movdi-rex64.c: Remove unnecessary
-Wwrite-strings option.
From-SVN: r182121
|
|
* gcc.target/i386/movdi-rex64.c: New.
From-SVN: r182119
|