- 25 Aug, 2010 3 commits
-
-
re PR tree-optimization/45059 (error: invalid operands in binary operation, leads to ICE: verify_stmts failed) PR tree-optimization/45059 * tree-ssa-reassoc.c (eliminate_redundant_comparison): Strip useless type conversions from newop{1,2}. Assert t is a comparison and newop{1,2} after the stripping are gimple vals. * gcc.c-torture/compile/pr45059.c: New test. From-SVN: r163539
Jakub Jelinek committed -
For Tejas Belagod 2010-08-25 Tejas Belagod <tejas.belagod@arm.com> * lib/target-supports.exp (check_effective_target_vect_unpack): Set vect_unpack supported flag to true for neon. * config/arm/iterators.md (VU, SE, V_widen_l): New. (V_unpack, US): New. * config/arm/neon.md (vec_unpack<US>_hi_<mode>): Expansion for vmovl. (vec_unpack<US>_lo_<mode>): Likewise. (neon_vec_unpack<US>_hi_<mode>): Instruction pattern for vmovl. (neon_vec_unpack<US>_lo_<mode>): Likewise. (vec_widen_<US>mult_lo_<mode>): Expansion for vmull. (vec_widen_<US>mult_hi_<mode>): Likewise. (neon_vec_<US>mult_lo_<mode>"): Instruction pattern for vmull. (neon_vec_<US>mult_hi_<mode>"): Likewise. (neon_unpack<US>_<mode>): Widening move intermediate step for vectorizing without -mvectorize-with-neon-quad. (neon_vec_<US>mult_<mode>): Widening multiply intermediate step for vectorizing without -mvectorize-with-neon-quad. * config/arm/predicates.md (vect_par_constant_high): Check for high-half lanes of a vector. (vect_par_constant_low): Check for low-half lanes of a vector. From-SVN: r163538
Tejas Belagod committed -
From-SVN: r163536
GCC Administrator committed
-
- 24 Aug, 2010 10 commits
-
-
This patch speeds up the ifcvt_memrefs_wont_trap computation by caching the results of the computations in the data references ->aux fields. * tree-if-conv.c (struct ifc_dr): New. (IFC_DR): New. (DR_WRITTEN_AT_LEAST_ONCE): New. (DR_RW_UNCONDITIONALLY): New. (memref_read_or_written_unconditionally): Use the cached values when possible. (write_memref_written_at_least_once): Same. (if_convertible_loop_p): Initialize and free DR->aux fields. From-SVN: r163532
Sebastian Pop committed -
This patch relaxes the checks from gimple_could_trap_p in order to allow the flag_loop_if_convert_stores to if-convert more loops in which it is possible to prove that: - the accesses to an array in a loop do not trap (more than the original non-if-converted loop). This is true when the memory accesses are executed at every iteration of the if-converted loop. - the writes to memory occur on arrays that are not const qualified. This is true when there exists at least one unconditional write to the array in the analyzed program. In this patch this analysis is limited to the loop to be if-converted. * gimple.c (gimple_could_trap_p_1): Not static anymore. Pass an extra bool parameter include_mem. (gimple_could_trap_p): Adjust call to gimple_could_trap_p_1. (gimple_assign_rhs_could_trap_p): Same. * gimple.h (gimple_could_trap_p_1): Declared. * tree-data-ref.h (same_data_refs_base_objects): New. (same_data_refs): New. * tree-if-conv.c (memrefs_read_or_written_unconditionally): New. (write_memrefs_written_at_least_once): New. (ifcvt_memrefs_wont_trap): New. (operations_could_trap): New. (ifcvt_could_trap_p): New. (if_convertible_gimple_assign_stmt_p): Call ifcvt_could_trap_p. Gets a vector of data refs. (if_convertible_stmt_p): Same. (if_convertible_loop_p_1): New. (if_convertible_loop_p): Call if_convertible_loop_p_1. * gcc.dg/tree-ssa/ifc-5.c: New. From-SVN: r163531
Sebastian Pop committed -
This patch adds a flag that controls the replacement of the memory writes that are in predicated basic blocks with a full write: for (...) if (cond) A[i] = foo is replaced with: for (...) A[i] = cond ? foo : A[i] In order to do this, we have to call gimple_could_trap_p instead of gimple_assign_rhs_could_trap_p, as we have to also check that the LHS of assign stmts does not trap. * common.opt (ftree-loop-if-convert-stores): New flag. * doc/invoke.texi (ftree-loop-if-convert-stores): Documented. * tree-if-conv.c (ifc_temp_var): Pass an extra parameter GSI. Insert the created statement before GSI. (if_convertible_phi_p): Allow virtual phi nodes when flag_loop_if_convert_stores is set. (if_convertible_gimple_assign_stmt_p): Allow memory reads and writes Do not handle types that do not match is_gimple_reg_type. Remove loop and bb parameters. Call gimple_could_trap_p instead of when flag_loop_if_convert_stores is set, as LHS can contain memory refs. (if_convertible_stmt_p): Remove loop and bb parameters. Update calls to if_convertible_gimple_assign_stmt_p. (if_convertible_loop_p): Update call to if_convertible_stmt_p. (replace_phi_with_cond_gimple_assign_stmt): Renamed predicate_scalar_phi. Do not handle virtual phi nodes. (ifconvert_phi_nodes): Renamed predicate_all_scalar_phis. Call predicate_scalar_phi. (insert_gimplified_predicates): Insert the gimplified predicate of a BB just after the labels for flag_loop_if_convert_stores, otherwise insert the predicate in the end of the BB. (predicate_mem_writes): New. (combine_blocks): Call predicate_all_scalar_phis. When flag_loop_if_convert_stores is set, call predicate_mem_writes. (tree_if_conversion): Call mark_sym_for_renaming when flag_loop_if_convert_stores is set. (main_tree_if_conversion): Return TODO_update_ssa_only_virtuals when flag_loop_if_convert_stores is set. * gcc.dg/tree-ssa/ifc-4.c: New. * gcc.dg/tree-ssa/ifc-7.c: New. From-SVN: r163530
Sebastian Pop committed -
* MAINTAINERS (OS Port Maintainers): Remove myself from windows ports From-SVN: r163529
Danny Smith committed -
PR bootstrap/45376 * configure.ac (HAVE_SSE4): New check. * configure, config.in: Rebuild. * lex.c (search_line_sse42): Omit if !HAVE_SSE4. From-SVN: r163528
Richard Henderson committed -
* config/pa/pa.c (hppa_register_move_cost, pa_libcall_value, pa_function_value_regno_p, pa_print_operand_punct_valid_p): New. (pa_function_value): Make static. (override_options): Rename to... (pa_option_override): ...this. Make static. (TARGET_PRINT_OPERAND_PUNCT_VALID_P, TARGET_REGISTER_MOVE_COST, TARGET_LIBCALL_VALUE, TARGET_FUNCTION_VALUE_REGNO_P, TARGET_OPTION_OVERRIDE): Define. * config/pa/pa.h (OVERRIDE_OPTIONS, FUNCTION_VALUE_REGNO_P, LIBCALL_VALUE, REGISTER_MOVE_COST, PRINT_OPERAND_PUNCT_VALID_P): Remove. * config/pa/pa-protos.h (override_options): Remove. From-SVN: r163525
Anatoly Sokolov committed -
* lex.c [__sun__ && __svr4__]: Disable init_vectorized_lexer etc. on Solaris 2/x86. From-SVN: r163522
Rainer Orth committed -
2010-08-24 Richard Guenther <rguenther@suse.de> PR middle-end/45379 * tree-ssa-address.c (create_mem_ref_raw): Drop to MEM_REF if addr->index is NULL or zero. * tree-ssa-alias.c (indirect_refs_may_alias_p): Handle TARGET_MEM_REF more properly. (indirect_ref_may_alias_decl_p): Likewise. * emit-rtl.c (set_mem_attributes_minus_bitpos): Keep TARGET_MEM_REFs. * alias.c (ao_ref_from_mem): Handle TARGET_MEM_REF more properly. From-SVN: r163519
Richard Guenther committed -
From-SVN: r163495
Mingjie Xing committed -
From-SVN: r163494
GCC Administrator committed
-
- 23 Aug, 2010 12 commits
-
-
* config/m32c/m32c.c (m32c_function_value_regno_p): Make static. (m32c_override_options): Rename to... (m32c_option_override): ...this. Make static. (TARGET_FUNCTION_VALUE_REGNO_P, TARGET_OPTION_OVERRIDE): Define. * config/m32c/m32c.h (OVERRIDE_OPTIONS, FUNCTION_VALUE_REGNO_P): Remove. * config/m32c/m32c-protos.h (m32c_override_options, m32c_function_value_regno_p): Remove. From-SVN: r163488
Anatoly Sokolov committed -
* gcc_release (snapshot_print): Also include an sha1 hash for every tarball. Slightly tweak indentation. From-SVN: r163487
Gerald Pfeifer committed -
* tree-ssa-loop-prefetch.c (gather_memory_references_ref): Fix a typo ("could not taken" --> "could not be taken") From-SVN: r163485
Changpeng Fang committed -
2010-08-23 Mikael Morin <mikael@gcc.gnu.org> PR fortran/45380 * frontend-passes.c (optimize_equality): Don't optimize array equality From-SVN: r163484
Mikael Morin committed -
2010-08-23 Kai Tietz <kai.tietz@onevision.com> * tree-vect-loop.c (vect_get_single_scalar_iteraion_cost): Pre-initialize innerloop_iters to one. From-SVN: r163477
Kai Tietz committed -
* tree-flow.h (may_be_nonaddressable_p): New definition. Make the existing static function global. *tree-ssa-loop-ivopts.c (may_be_nonaddressable_p): This function is changed to global. *tree-ssa-loop-prefetch.c (gather_memory_references_ref): Call may_be_nonaddressable_p on base, and don't collect this reference if the address of the base could not be taken. From-SVN: r163475
Changpeng Fang committed -
From-SVN: r163473
Michael Meissner committed -
From-SVN: r163471
Michael Meissner committed -
From-SVN: r163470
Michael Meissner committed -
2010-08-23 Tobias Burnus <burnus@net-b.de> PR fortran/45323 * io/write.c (nml_write_obj, namelist_write): Cast argument of toupper to int. From-SVN: r163469
Tobias Burnus committed -
2010-08-23 Janus Weil <janus@gcc.gnu.org> PR fortran/45366 * resolve.c (resolve_procedure_interface): New function split off from 'resolve_symbol'. (resolve_formal_arglist): Call it here ... (resolve_symbol): ... and here. 2010-08-23 Janus Weil <janus@gcc.gnu.org> PR fortran/45366 * gfortran.dg/proc_ptr_29.f90: New. From-SVN: r163468
Janus Weil committed -
From-SVN: r163465
GCC Administrator committed
-
- 22 Aug, 2010 9 commits
-
-
PR boehm-gc/34544 * gthr-posix.h (__gthread_active_init): Delete. (__gthread_active_p): Do activity check here. Don't include errno.h on hppa-hpux. Update comment. * gthr-posix95.h (__gthread_active_init): Delete. (__gthread_active_p): Do activity check here. Don't include errno.h on hppa-hpux. Update comment. * config.gcc (hppa[12]*-*-hpux11*): Define extra_parts. * config/pa/pa64-hpux.h (LIB_SPEC): When -static is specified, only add -lpthread when -mt or -pthread is specified. * config/pa/pa-hpux11.h (LIB_SPEC): likewise. (LINK_GCC_C_SEQUENCE_SPEC): Define. * config/pa/t-pa-hpux11 (LIBGCCSTUB_OBJS): Define. (stublib.c, pthread_default_stacksize_np-stub.o, pthread_mutex_lock-stub.o, pthread_mutex_unlock-stub.o, $(T)libgcc_stub.a): Add methods. * config/pa/t-pa64 (LIBGCCSTUB_OBJS): Add pthread stubs. (stublib.c, pthread_default_stacksize_np-stub.o, pthread_mutex_lock-stub.o, pthread_mutex_unlock-stub.o): Add methods. * config/pa/stublib.c (pthread_default_stacksize_np, pthread_mutex_lock, pthread_mutex_unlock): New stubs. From-SVN: r163461
John David Anglin committed -
2010-08-22 Tobias Burnus <burnus@net-b.de> Dominique d'Humieres <dominiq@lps.ens.fr> PR fortran/45367 * gfortran.dg/bessel_6.f90: Further reduce required accuracy. Co-Authored-By: Dominique d'Humieres <dominiq@lps.ens.fr> From-SVN: r163460
Tobias Burnus committed -
* Makefile.in (gccspec.o, cppspec.o): Update dependencies. * common.opt (L, nodefaultlibs, nostdlib, pg, static): New options. * config/avr/avr.h (LIBSTDCXX): Remove initial "-l". * config/freebsd.h (MATH_LIBRARY_PROFILE): Remove initial "-l". * config/i386/djgpp.h (LIBSTDCXX): Remove initial "-l". * config/rs6000/aix.h (LIBSTDCXX_STATIC): Remove initial "-l". * config/s390/tpf.h (MATH_LIBRARY, LIBSTDCXX): Remove initial "-l". * cppspec.c: Include opts.h. (lang_specific_driver): Use cl_decoded_option structures. * doc/tm.texi.in (MATH_LIBRARY): Update documentation. * doc/tm.texi: Regenerate. * gcc.c (translate_options): Translate -d to -foutput-class-dir=. (driver_handle_option): Allow driver options needing no special processing. (process_command): Decode options before call to lang_specific_driver. Pass decoded options to lang_specific_driver. * gcc.h (lang_specific_driver): Update prototype. * gccspec.c: Include opts.h. (lang_specific_driver): Use cl_decoded_option structures. * opts-common.c (option_ok_for_language, generate_option, generate_option_input_file): New. (decode_cmdline_option): Use option_ok_for_language. (decode_cmdline_options_to_array): Use generate_option_input_file. (handle_generated_option): Use generate_option. * opts.h (generate_option, generate_option_input_file): Declare. cp: * Make-lang.in (g++spec.o): Update dependencies. * g++spec.c: Include opts.h (MATH_LIBRARY, LIBSTDCXX): Remove initial "-l". (lang_specific_driver): Use cl_decoded_option structures. fortran: * Make-lang.in (gfortranspec.o): Update dependencies. * gfortranspec.c: Include coretypes.h before gcc.h. Include opts.h. (MATH_LIBRARY, FORTRAN_LIBRARY): Remove initial "-l". (ADD_ARG_LIBGFORTRAN, Option, lookup_option): Remove. (g77_xargc): Make unsigned. (g77_xargv): Change to g77_x_decoded_options. (g77_newargc): Make unsigned. (g77_newargv): Change to g77_new_decoded_options. (strings_same, options_same): New. (append_arg): Use cl_decoded_option structures. (append_option): New. (add_arg_libgfortran): New. (lang_specific_driver): Use cl_decoded_option structures. java: * Make-lang.in (jvspec.o): Update dependencies. * jvspec.c: Include opts.h. (PARAM_ARG): Remove. (find_spec_file): Do not add leading -specs=. (lang_specific_driver): Use cl_decoded_option structures. * lang.opt (C, CLASSPATH, D, bootclasspath, classpath, encoding, extdirs, fmain=, s-bc-abi): New options. From-SVN: r163459
Joseph Myers committed -
2010-08-22 Tobias Burnus <burnus@net-b.de> PR fortran/45367 * gfortran.dg/bessel_6.f90: Fix numeric tolerence. From-SVN: r163458
Tobias Burnus committed -
2010-08-22 Tobias Burnus <burnus@net-b.de> Dominique d'Humieres <dominiq@lps.ens.fr> PR fortran/45367 * gfortran.dg/bessel_6.f90: Increase numeric tolerence. From-SVN: r163457
Tobias Burnus committed -
* config/mips/mips.c (mips_override_options): Rename to... (mips_option_override): ...this. Make static. (TARGET_OPTION_OVERRIDE): Define. (mips_in_small_data_p): Update comment. * config/mips/mips.h (OVERRIDE_OPTIONS): Remove. (FIXED_REGISTERS): Update comment. * config/mips/mips-protos.h (mips_override_options): Remove. From-SVN: r163456
Anatoly Sokolov committed -
2010-08-22 Tobias Burnus <burnus@net-b.de> PR fortran/36158 * gfortran.dg/bessel_7.f90: Disable accidently enabled debug output. From-SVN: r163455
Tobias Burnus committed -
2010-08-22 Tobias Burnus <burnus@net-b.de> Dominique d'Humieres <dominiq@lps.ens.fr> PR fortran/45367 PR fortran/36158 * gfortran.dg/bessel_6.f90: Increase numeric tolerence. * gfortran.dg/bessel_7.f90: Increase numeric tolerence. Co-Authored-By: Dominique d'Humieres <dominiq@lps.ens.fr> From-SVN: r163454
Tobias Burnus committed -
From-SVN: r163453
GCC Administrator committed
-
- 21 Aug, 2010 6 commits
-
-
From-SVN: r163449
Olivier Hainque committed -
* config/rs6000/vxworks.h (TARGET_OS_CPP_BUILTINS): Define __PPC__. From-SVN: r163448
Olivier Hainque committed -
* config/rs6000/vxworks.h: (PREFERRED_STACK_BOUNDARY, ABI_STACK_BOUNDARY): Ensure STACK_BOUNDARY is honored despite EABI. From-SVN: r163447
Olivier Hainque committed -
* configure.ac (AC_C_BIGENDIAN, AC_TYPE_UINTPTR_T): New tests. (ssize_t): Check via AC_TYPE_SSIZE_T instead of AC_CHECK_TYPE. (ptrdiff_t): Check via AC_CHECK_TYPE. * config.in, configure: Rebuild. * system.h: Include stdint.h, if available. * lex.c (WORDS_BIGENDIAN): Provide default. (acc_char_mask_misalign, acc_char_replicate, acc_char_cmp, acc_char_index, search_line_acc_char, repl_chars, search_line_mmx, search_line_sse2, search_line_sse42, init_vectorized_lexer, search_line_fast): New. (_cpp_clean_line): Use search_line_fast. Restructure the fast loop to make it clear when we're leaving the loop. Stay in the fast loop for non-trigraph '?'. Co-Authored-By: Andi Kleen <ak@linux.intel.com> Co-Authored-By: David S. Miller <davem@davemloft.net> From-SVN: r163446
Richard Henderson committed -
2010-08-21 Janus Weil <janus@gcc.gnu.org> PR fortran/45271 PR fortran/45290 * class.c (add_proc_comp): Add static initializer for PPCs. (add_procs_to_declared_vtab): Modified comment. * module.c (mio_component): Add argument 'vtype'. Don't read/write the initializer if the component is part of a vtype. (mio_component_list): Add argument 'vtype', pass it on to 'mio_component'. (mio_symbol): Modified call to 'mio_component_list'. * trans.h (gfc_conv_initializer): Modified prototype. (gfc_trans_assign_vtab_procs): Removed. * trans-common.c (create_common): Modified call to 'gfc_conv_initializer'. * trans-decl.c (gfc_get_symbol_decl,get_proc_pointer_decl, gfc_emit_parameter_debug_info): Modified call to 'gfc_conv_initializer'. (build_function_decl): Remove assertion. * trans-expr.c (gfc_conv_derived_to_class,gfc_trans_class_assign): Removed call to 'gfc_trans_assign_vtab_procs'. (gfc_conv_initializer): Add argument 'procptr'. (gfc_conv_structure): Modified call to 'gfc_conv_initializer'. (gfc_trans_assign_vtab_procs): Removed. * trans-stmt.c (gfc_trans_allocate): Removed call to 'gfc_trans_assign_vtab_procs'. 2010-08-21 Janus Weil <janus@gcc.gnu.org> PR fortran/44863 PR fortran/45271 PR fortran/45290 * gfortran.dg/dynamic_dispatch_10.f03: New (PR 44863 comment #1). * gfortran.dg/pointer_init_5.f90: New (PR 45290 comment #6). * gfortran.dg/typebound_call_18.f03: New (PR 45271 comment #3). From-SVN: r163445
Janus Weil committed -
From-SVN: r163444
Eric Botcazou committed
-