- 04 Sep, 2012 19 commits
-
-
From-SVN: r190941
Richard Henderson committed -
PR bootstrap/54453 * include/Makefile.am: Fix regex. * include/Makefile.in: Regenerate. From-SVN: r190939
Steven Bosscher committed -
2012-09-04 Richard Guenther <rguenther@suse.de> * tree-ssa-pre.c (value_expressions): Make it a vector of bitmaps containing expression IDs. (add_to_value): Adjust. (sorted_array_from_bitmap_set): Likewise. (bitmap_set_replace_value): Likewise. (print_value_expressions): Likewise. (get_constant_for_value_id): Likewise. (get_representative_for): Likewise. (phi_translate_1): Likewise. (bitmap_find_leader): Likewise. (find_or_generate_expression): Likewise. (do_regular_insertion): Likewise. (init_pre): Likewise. (fini_pre): Likewise. From-SVN: r190938
Richard Guenther committed -
PR bootstrap/54479 * vec.h (vec_t::copy): Add cast in call to reserve_exact. From-SVN: r190937
Diego Novillo committed -
From-SVN: r190932
Eric Botcazou committed -
2012-09-04 Richard Guenther <rguenther@suse.de> * tree-ssa-pre.c (add_to_exp_gen): Adjust. (make_values_for_phi): Do not add to PHI_GEN for FRE. (compute_avail): Stop processing after adding all defs to AVAIL_OUT for FRE. (init_pre): Do not allocate not needed bitmap sets for FRE. From-SVN: r190930
Richard Guenther committed -
From-SVN: r190929
Diego Novillo committed -
2012-09-04 Christophe Lyon <christophe.lyon@st.com> * MAINTAINERS (Write After Approval): Add myself. From-SVN: r190928
Christophe Lyon committed -
This patch is the first step towards making the API for VEC use member functions. There are no user code modifications in this patch. Everything is still using the VEC_* macros, but this time they expand into member function calls. Because of the way VECs are used, this required some trickery. The API allows VECs to be NULL. This means that services like VEC_length(V) will return 0 when V is a NULL pointer. This is, of course, not possible to do if we call V->length(). For functions that either need to allocate/re-allocate the vector, or they need to handle NULL vectors, I implemented them as static member functions or free functions. Another wart that I did not address in this patch is the fact that vectors of pointers and vectors of objects have slightly different semantics when handling elements in the vector. In vector of pointers, we pass them around by value, but in vectors of objects, they are passed around via pointers. That's why we need TYPE * and TYPE ** overloads for some functions (e.g., vec_t::iterate). I will fix these two warts in a subsequent patch. The idea is to make vec_t a single-word structure, which acts as a handler for the structure containing the actual vector. Something like this: template<typename T> struct vec_t { struct vec_internal<T> *vec_; }; This has the advantage that we can now declare the actual vector instances as regular variables, instead of pointers. They will use the same amount of memory when embedded in other structures, and we will be able to allocate and reallocate the actual data without having to mutate the vector instance. All the functions that are now static members in vec_t, will become instance members in the new vec_t. This will mean that all the callers will need to be changed, of course. Tested on x86_64 and ppc64 with all languages plus ada, go and obj-c++. Rewrite VEC_* functions as member functions of vec_t. * vec.h: Update documentation. (ALONE_VEC_CHECK_INFO): Define. (ALONE_VEC_CHECK_DECL): Define. (ALONE_VEC_CHECK_PASS): Define. (struct vec_prefix): Rename field NUM to NUM_. Rename field ALLOC to ALLOC_. Update all users. (struct vec_t): Rename field PREFIX to PREFIX_. Rename field VEC to VEC_. Update all users. (vec_t::length): Rename from VEC_length_1. Update all users. (vec_t::empty): Rename from VEC_empty_1. Update all users. (vec_t::address): Rename from VEC_address_1. Update all users. (vec_address): New. (vec_t::last): Rename from VEC_last_1. Update all users. (vec_t::operator[]): Rename from VEC_index_1. Update all users. (vec_t::iterate): Rename from VEC_iterate_1. Update all users. (vec_t::embedded_size): Rename from VEC_embedded_size_1. Update all users. (vec_t::embedded_init): Rename from VEC_embedded_init_1. Update all users. (vec_t::alloc): Rename from VEC_alloc_1. Update all users. (vec_t::free): Rename from VEC_free_1. Update all users. (vec_t::copy): Rename from VEC_copy_1. Update all users. (vec_t::space): Rename from VEC_space_1. Update all users. (vec_t::reserve): Rename from VEC_reserve_1. Update all users. (vec_t::reserve_exact): Rename from VEC_reserve_exact_1. Update all users. (vec_t::splice): Rename from VEC_splice_1. Update all users. (vec_t::safe_splice): Rename from VEC_safe_splice_1. Update all users. (vec_t::quick_push): Rename from VEC_quick_push_1. Update all users. (vec_t::safe_push): Rename from VEC_safe_push_1. Update all users. (vec_t::pop): Rename from VEC_pop_1. Update all users. (vec_t::truncate): Rename from VEC_truncate_1. Update all users. (vec_t::safe_grow): Rename from VEC_safe_grow_1. Update all users. (vec_t::safe_grow_cleared): Rename from VEC_safe_grow_cleared_1. Update all users. (vec_t::replace): Rename from VEC_replace_1. Update all users. (vec_t::quick_insert): Rename from VEC_quick_insert_1. Update all users. (vec_t::safe_insert): Rename from VEC_safe_insert_1. Update all users. (vec_t::ordered_remove): Rename from VEC_ordered_remove_1. Update all users. (vec_t::unordered_remove): Rename from VEC_unordered_remove_1. Update all users. (vec_t::block_remove): Rename from VEC_block_remove_1. Update all users. (vec_t::lower_bound): Rename from VEC_lower_bound_1. Update all users. From-SVN: r190927
Diego Novillo committed -
* gimple.h (gimple_build_switch): Remove. (gimple_build_switch_vec): Promote to the new gimple_build_switch. (gimple_switch_default_label): Assert the default case label is really a default case label. (gimple_switch_set_default_label): Likewise. * gimple.c (gimple_build_switch_nlabels): Make sure a default label is passed in, and simplify accordingly. (gimple_build_switch): Removed. (gimple_build_switch_vec): Rename to gimple_build_switch. * gimplify.c (gimplify_switch_expr): Update gimple_build_switch use. * gimple-pretty-print.c (dump_gimple_switch): Do not accept a NULL case label. * stmt.c (expand_case): Simplify using the fact that every GIMPLE switch must have a default case. * tree-cfg.c (group_case_labels_stmt): Likewise. (verify_gimple_switch): Use gimple_switch_label in verifier to get the label at index 0, and verify that it is a valid default case. * except.c (sjlj_emit_dispatch_table): Rewrite construction of the switch for dispatching. * tree-eh.c (lower_try_finally_switch): Update gimple_build_switch use. (lower_eh_dispatch): Likewise. * tree-vrp.c (execute_vrp): Use gimple_switch_label to get the case label at index 0 before turning it into a default case label. * omp-low.c (expand_omp_sections): Update gimple_build_switch use. * tree-switch-conversion.c (emit_case_bit_tests): Get the default case label using gimple_switch_default_label. (collect_switch_conv_info): Likewise. (process_switch): Likewise. * doc/gimple.texi: Update documentation of gimple_build_switch. From-SVN: r190925
Steven Bosscher committed -
re PR target/54476 ([avr] __builtin_avr_delay_cycles (-1ul) causes memory usage to explode on x86_64 host) PR target/54476 * config/avr/avr.c (avr_expand_delay_cycles): Mask operand with SImode. From-SVN: r190920
Georg-Johann Lay committed -
re PR target/45070 (Miscompiled c++ class with packed attribute on ARM with -Os optimizations (Qt 4.6.2)) PR target/45070 * config/arm/arm.c (thumb1_extra_regs_pushed): Handle return value of size less than 4 bytes by using macro ARM_NUM_INTS. (thumb1_unexpanded_epilogue): Use macro ARM_NUM_INTS. From-SVN: r190919
Bin Cheng committed -
2012-09-04 Richard Guenther <rguenther@suse.de> PR tree-optimization/54458 * tree-ssa-threadupdate.c (thread_through_loop_header): If we turn the loop into one with multiple latches mark it so. * gcc.dg/torture/pr54458.c: New testcase. From-SVN: r190918
Richard Guenther committed -
PR target/54220 * config/avr/avr.c (TARGET_ALLOCATE_STACK_SLOTS_FOR_ARGS): New define to... (avr_allocate_stack_slots_for_args): ...this new static function. From-SVN: r190914
Senthil Kumar Selvaraj committed -
2012-09-04 Christophe Lyon <christophe.lyon@linaro.org> * config/arm/arm.c (arm_expand_builtin): Replace gen_rtx_CONST_INT by GEN_INT. (arm_emit_coreregs_64bit_shift): Likewise. From-SVN: r190912
Christophe Lyon committed -
2012-09-04 Christophe Lyon <christophe.lyon@linaro.org> gcc/ * config/arm/arm.c (arm_evpc_neon_vext): New function. (arm_expand_vec_perm_const_1): Add call to arm_evpc_neon_vext. gcc/testsuite/ * gcc.target/arm/neon-vext.c: New test. * gcc.target/arm/neon-vext-execute.c: Ditto. From-SVN: r190911
Christophe Lyon committed -
2012-09-04 Janus Weil <janus@gcc.gnu.org> PR fortran/54435 PR fortran/54443 * match.c (gfc_match_select_type): Make sure to only access CLASS_DATA for BT_CLASS. 2012-09-04 Janus Weil <janus@gcc.gnu.org> PR fortran/54243 PR fortran/54244 * gfortran.dg/select_type_29.f03: New. From-SVN: r190910
Janus Weil committed -
PR target/51244 * config/sh/sh.c (prepare_cbranch_operands): Pull out comparison canonicalization code into... * (sh_canonicalize_comparison): This new function. * config/sh/sh-protos.h: Declare it. * config/sh/sh.h: Use it in new macro CANONICALIZE_COMPARISON. * config/sh/sh.md (cbranchsi4): Remove TARGET_CBRANCHDI4 check and always invoke expand_cbranchsi4. From-SVN: r190909
Oleg Endo committed -
From-SVN: r190908
GCC Administrator committed
-
- 03 Sep, 2012 16 commits
-
-
gcc/ 2012-09-03 Andi Kleen <ak@linux.intel.com> * tree-ssa-sccvn.c (vn_reference_fold_indirect): Initialize addr_offset always. From-SVN: r190905
Andi Kleen committed -
re PR tree-optimization/53395 (The LAPACK functions i(d|s)amax are more than two times slower after revision 187183) 2012-09-03 Andrew Pinski <apinski@cavium.com> PR tree-opt/53395 * tree-if-conv.c (constant_or_ssa_name): New function. (fold_build_cond_expr): New function. (predicate_scalar_phi): Use fold_build_cond_expr instead of build3. (predicate_mem_writes): Likewise. From-SVN: r190904
Andrew Pinski committed -
2012-09-03 Marc Glisse <marc.glisse@inria.fr> gcc/ * fold-const.c (fold_ternary_loc): Constant-propagate after removing dead operands. gcc/testsuite/ * gcc.dg/fold-perm.c: Improve test. From-SVN: r190901
Marc Glisse committed -
PR tree-optimization/46590 * tree-cfg.c (gimple_duplicate_sese_region): Don't update SSA web here ... * tree-ssa-loop-ch.c (copy_loop_headers): ... but here. From-SVN: r190897
Michael Matz committed -
2012-09-03 Sandra Loosemore <sandra@codesourcery.com> gcc/ * doc/invoke.texi: Fix numerous typos and punctuation/grammatical errors throughout the file. Re-word some awkward sentences and paragraphs. From-SVN: r190896
Sandra Loosemore committed -
2012-09-03 Richard Guenther <rguenther@suse.de> PR bootstrap/54138 * configure.ac: Re-organize ISL / CLOOG checks to allow disabling with either --without-isl or --without-cloog. * configure: Regenerated. * config/cloog.m4: Adjust. * config/isl.m4: Adjust. From-SVN: r190895
Richard Guenther committed -
re PR fortran/54467 (f951: internal compiler error: in gfc_add_component_ref, at fortran/class.c:213) 2012-09-03 Tobias Burnus <burnus@net-b.de> PR fortran/54467 * class.c (gfc_find_derived_vtab): Fix disabling of _final by continuing to generate normal type-bound procedures. From-SVN: r190892
Tobias Burnus committed -
2012-09-03 Richard Guenther <rguenther@suse.de> PR tree-optimization/54362 * tree-ssa-structalias.c (find_func_aliases): Handle COND_EXPR. From-SVN: r190889
Richard Biener committed -
* configure.ac (noconfigdirs,target=avr): Add target-libquadmath. * configure: Regenerate. From-SVN: r190887
Georg-Johann Lay committed -
2012-09-03 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> * config/s390/s390.c (s390_loadrelative_operand_p): New function. (s390_check_qrst_address, print_operand_address): Use s390_loadrelative_operand_p instead of s390_symref_operand_p. (s390_check_symref_alignment): Accept pointer size alignment for GOT slots. (legitimize_pic_address): Use load relative on z10 or later. From-SVN: r190884
Andreas Krebbel committed -
re PR debug/53923 (ICE: RTL check: expected code 'reg', have 'debug_expr' in rhs_regno, at rtl.h:1091) PR debug/53923 * valtrack.c (dead_debug_insert_temp): Drop non-reg uses from the chain. From-SVN: r190883
Jakub Jelinek committed -
* common.opt (--no-sysroot-suffix): New driver option. * doc/invoke.texi (--no-sysroot-suffix): Document. * gcc.c (driver_handle_option): Handle --no-sysroot-suffix as not needing spec processing. (main): Do not process sysroot suffixes if no_sysroot_suffix. From-SVN: r190882
Joseph Myers committed -
class.c (gfc_find_derived_vtab): Disable ABI-breaking generation of the "_final" subroutine for now. 2012-09-03 Tobias Burnus <burnus@net-b.de> * class.c (gfc_find_derived_vtab): Disable ABI-breaking generation of the "_final" subroutine for now. From-SVN: r190872
Tobias Burnus committed -
2012-09-03 Tobias Burnus <burnus@net-b.de> * class.c (finalize_component): Fixes to the comment. From-SVN: r190870
Tobias Burnus committed -
2012-09-03 Alessandro Fanfarillo <fanfarillo.gcc@gmail.com> Tobias Burnus <burnus@net-b.de> PR fortran/37336 * gfortran.h (symbol_attribute): Add artificial. * module.c (mio_symbol_attribute): Handle attr.artificial * class.c (gfc_build_class_symbol): Defer creation of the vtab if the DT has finalizers, mark generated symbols as attr.artificial. (has_finalizer_component, finalize_component, finalization_scalarizer, generate_finalization_wrapper): New static functions. (gfc_find_derived_vtab): Add _final component and call generate_finalization_wrapper. * dump-parse-tree.c (show_f2k_derived): Use resolved proc_tree->n.sym rather than unresolved proc_sym. (show_attr): Handle attr.artificial. * resolve.c (gfc_resolve_finalizers): Ensure that the vtab * exists. (resolve_fl_derived): Resolve finalizers before generating the vtab. (resolve_symbol): Also allow assumed-rank arrays with CONTIGUOUS; skip artificial symbols. (resolve_fl_derived0): Skip artificial symbols. 2012-09-03 Tobias Burnus <burnus@net-b.de> PR fortran/51632 * gfortran.dg/coarray_class_1.f90: New. From-SVN: r190869
Tobias Burnus committed -
From-SVN: r190868
GCC Administrator committed
-
- 02 Sep, 2012 5 commits
-
-
PR target/33135 * common/config/sh/sh-common.c: Update copyright years. (sh_option_init_struct): Delete. (TARGET_OPTION_INIT_STRUCT): Likewise. From-SVN: r190865
Oleg Endo committed -
PR target/54418 * config/sh/sh.md (cmpgeusi_t): Remove N alternative. Check operands[1] in split condition instead of operands[0]. Add comments. From-SVN: r190864
Oleg Endo committed -
libgcc/ * config.host (x86_64-*-openbsd*): New target. gcc/ * config.gcc (x86_64-*-openbsd*): New target. * config.host (*-*-openbsd*): New target. * config/openbsd.h (TARGET_C99_FUNCTIONS): Define. * config/i386/openbsdelf.h: Remove some superfluous defines and group things together in a more logical fashion. (DBX_REGISTER_NUMBER): Provide a definition that works on both 32-bit and 64-bit targets. (WCHAR_TYPE_SIZE): Hardcode as 32. (NO_DOLLAR_IN_LABEL): Remove undef. (TARGET_DEFAULT): Remove. (SET_ASM_OP): Remove. (DEFAULT_PCC_STRUCT_RETURN): Undef first to prevent warning. (ASM_OUTPUT_MAX_SKIP_ALIGN): Synch with x86-64.h (DWARF2_UNWIND_INFO): Remove define. (HAVE_ENABLE_EXECUTE_STACK): Define. * config/host-openbsd.c: New file. * config/t-openbsd (USER_H): Add EXTRA_HEADERS. * config/x-openbsd: New file. From-SVN: r190863
Mark Kettenis committed -
sh.md (*extend<mode>si2_compact_mem_disp): Pass iterated mode to sh_legitimate_index_p instead of QImode. * config/sh/sh.md (*extend<mode>si2_compact_mem_disp): Pass iterated mode to sh_legitimate_index_p instead of QImode. From-SVN: r190862
Oleg Endo committed -
* config/i386/sync.md (atomic_compare_and_swap<dwi>_doubleword): Improve insn output code. From-SVN: r190861
Uros Bizjak committed
-