- 19 Oct, 2011 17 commits
-
-
jakub authored
* cfgexpand.c (expand_debug_expr): Handle WIDEN_LSHIFT_EXPR, ignore VEC_PERM_EXPR. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180201 138bc75d-0d04-0410-961f-82ee72b054a4
-
ktietz authored
* gcc.dg/tree-ssa/builtin-expect-1.c: Adjust test. * gcc.dg/tree-ssa/builtin-expect-2.c: Adjust test. * gcc.dg/tree-ssa/builtin-expect-3.c: Adjust test. * gcc.dg/tree-ssa/builtin-expect-4.c: Adjust test. * gcc.dg/tree-ssa/builtin-expect-5.c: Adjust test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180200 138bc75d-0d04-0410-961f-82ee72b054a4
-
bernds authored
* regrename.c: Include it. Also include "emit-rtl.h". (struct du_head, struct du_chain, du_head_p DEF_VEC and DEF_VEC_ALLOC_P): Move to regrename.h. (do_replace): Remove declaration. (insn_rr): New variable. (cur_operand): New static variable. (regrename_chain_from_id): Renamed from chain_from_id and no longer static. All callers changed. (record_operand_use): New static function. (scan_rtx_reg): Use it. (find_best_rename_reg): New function, broken out of rename_chains. (rename_chains): Use it. Don't update chain regno and nregs here, ... (regrename_do_replace): ... do it here instead. Renamed from do_replace, and no longer static. All callers changed. (regrename_analyze): No longer static. New arg bb_mask. All callers changed. If bb_mask is nonzero, use it to limit the number of basic blocks we analyze. If we failed to analyze a block, clear insn operand data. (record_out_operands): New arg insn_info. Update cur_operand if it is nonnull. (build_def_use): If insn_rr is nonnull, pass an insn_info to record_out_operands, and update cur_operand here as well. (regrename_init, regrename_finish): New functions. (regrename_optimize): Use them. * Makefile.in (regrename.o): Adjust dependencies. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180198 138bc75d-0d04-0410-961f-82ee72b054a4
-
vries authored
PR tree-optimization/50769 * tree-ssa-tail-merge.c (replace_block_by): Calculate phi_vuse2 unconditionally. Handle case that phi_vuse2 is not an SSA_NAME. Add dummy argument .MEM to phi when increasing number of arguments of phi by redirecting edges to the block with phi. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180197 138bc75d-0d04-0410-961f-82ee72b054a4
-
ro authored
PR bootstrap/50777 * configure.ac: Save and restore CXXFLAGS around gcc_AC_CHECK_DECLS uses. Check for madvise() declaration with g++ if --enable-build-with-cxx. * configure: Regenerate. * config.in: Regenerate. * ggc-page.c (USING_MADVISE): Also check HAVE_DECL_MADVISE. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180195 138bc75d-0d04-0410-961f-82ee72b054a4
-
aoliva authored
* var-tracking.c (loc_exp_dep, onepart_aux): New structs. (variable_part): Replace offset with union. (enum onepart_enum, onepart_enum_t): New. (variable_def): Drop cur_loc_changed, add onepart. (value_chain_def, const_value_chain): Remove. (VAR_PART_OFFSET, VAR_LOC_1PAUX): New macros, with checking. (VAR_LOC_DEP_LST, VAR_LOC_DEP_LSTP): New macros. (VAR_LOC_FROM, VAR_LOC_DEPTH, VAR_LOC_DEP_VEC): Likewise. (value_chain_pool, value_chains): Remove. (dropped_values): New. (struct parm_reg): Only if HAVE_window_save. (vt_stack_adjustments): Don't record register arguments. (dv_as_rtx): New. (dv_onepart_p): Return a onepart_enum_t. (onepart_pool): New. (dv_pool): Remove. (dv_from_rtx): New. (variable_htab_free): Release onepart aux data. Reset flags. (value_chain_htab_hash, value_chain_htab_eq): Remove. (unshare_variable): Use onepart field. Propagate onepart aux data or offset. Drop cur_loc_changed. (val_store): Cope with NULL insn. Rephrase dump output. Check for unsuitable locs. Add FIXME on using cselib locs. (val_reset): Remove FIXME of unfounded concerns. (val_resolve): Check for unsuitable locs. Add FIXME on using cselib locs. (variable_union): Use onepart field, adjust access to offset. (NO_LOC_P): New. (VALUE_CHANGED, DECL_CHANGED): Update doc. (set_dv_changed): Clear NO_LOC_P when changed. (find_loc_in_1pdv): Use onepart field. (intersect_loc_chains): Likewise. (unsuitable_loc): New. (loc_cmp): Keep ENTRY_VALUEs at the end of the loc list. (add_value_chain, add_value_chains): Remove. (add_cselib_value_chains, remove_value_chain): Likewise. (remove_value_chains, remove_cselib_value_chains): Likewise. (canonicalize_loc_order_check): Use onepart. Drop cur_loc_changed. (canonicalize_values_star, canonicalize_vars_star): Use onepart. (variable_merge_over_cur): Likewise. Adjust access to offset. Drop cur_loc_changed. (variable_merge_over_src): Use onepart field. (remove_duplicate_values): Likewise. (variable_post_merge_new_vals): Likewise. (find_mem_expr_in_1pdv): Likewise. (dataflow_set_preserve_mem_locs): Likewise. Drop cur_loc_changed and value chains. (dataflow_set_remove_mem_locs): Likewise. Use VAR_LOC_FROM. (variable_different_p): Use onepart field. Move onepart test out of the loop. (argument_reg_set): Drop. (add_uses, add_stores): Preserve but do not record in dynamic tables equivalences for ENTRY_VALUEs and CFA_based addresses. Avoid unsuitable address expressions. (EXPR_DEPTH): Unlimit. (EXPR_USE_DEPTH): Repurpose PARAM_MAX_VARTRACK_EXPR_DEPTH. (prepare_call_arguments): Use DECL_RTL_IF_SET. (dump_var): Adjust access to offset. (variable_from_dropped, recover_dropped_1paux): New. (variable_was_changed): Drop cur_loc_changed. Use onepart. Preserve onepart aux in empty_var. Recover empty_var and onepart aux from dropped_values. (find_variable_location_part): Special-case onepart. Adjust access to offset. (set_slot_part): Use onepart. Drop cur_loc_changed. Adjust access to offset. Initialize onepaux. Drop value chains. (delete_slot_part): Drop value chains. Use VAR_LOC_FROM. (VEC (variable, heap), VEC (rtx, stack)): Define. (expand_loc_callback_data): Drop dummy, cur_loc_changed, ignore_cur_loc. Add expanding, pending, depth. (loc_exp_dep_alloc, loc_exp_dep_clear): New. (loc_exp_dep_insert, loc_exp_dep_set): New. (notify_dependents_of_resolved_value): New. (update_depth, vt_expand_var_loc_chain): New. (vt_expand_loc_callback): Revamped. (resolve_expansions_pending_recursion): New. (INIT_ELCD, FINI_ELCD): New. (vt_expand_loc): Use the new macros above. Drop ignore_cur_loc parameter, adjust all callers. (vt_expand_loc_dummy): Drop. (vt_expand_1pvar): New. (emit_note_insn_var_location): Operate on non-debug decls only. Revamp multi-part cur_loc recomputation and one-part expansion. Drop cur_loc_changed. Adjust access to offset. (VEC (variable, heap)): Drop. (changed_variables_stack, changed_values_stack): Drop. (check_changed_vars_0, check_changed_vars_1): Remove. (check_changed_vars_2, check_changed_vars_3): Remove. (values_to_stack, remove_value_from_changed_variables): New. (notify_dependents_of_changed_value, process_changed_values): New. (emit_notes_for_changes): Revamp onepart updates. (emit_notes_for_differences_1): Use onepart. Drop cur_loc_changed and value chains. Propagate onepaux. Recover empty_var and onepaux from dropped_values. (emit_notes_for_differences_2): Drop value chains. (emit_notes_in_bb): Adjust. (vt_emit_notes): Drop value chains, changed_variables_stack. Initialize and release dropped_values. (create_entry_value): Revamp. (vt_add_function_parameter): Use new interface. (note_register_arguments): Remove. (vt_initialize): Drop value chains and register arguments. (vt_finalize): Drop value chains. Release windowed_parm_regs only if HAVE_window_save. * rtl.h: Document various pass-local uses of RTL flags. * tree.h (DECL_RTL_KNOWN_SET): New. * doc/invoke.texi (param max-vartrack-expr-depth): Update description and default. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180194 138bc75d-0d04-0410-961f-82ee72b054a4
-
gjl authored
* config/avr/avr.md (cc): New alternative out_plus_noclobber. (adjust_len): Ditto. (addhi3): Don't pipe through short; use gen_int_mode instead. Prior to reload, expand to gen_addhi3_clobber. (*addhi3): Use avr_out_plus_noclobber if applicable, use out_plus_noclobber in cc and adjust_len attribute. (addhi3_clobber): 2 new RTL peepholes. (addhi3_clobber): New insn. * config/avr/avr-protos.h: (avr_out_plus_noclobber): New prototype. * config/avr/avr.c (avr_out_plus_noclobber): New function. (notice_update_cc): Handle CC_OUT_PLUS_NOCLOBBER. (avr_out_plus_1): Tweak if only MSB is +/-1 and other bytes are 0. Set cc0 to set_zn for adiw on 16-bit values. (adjust_insn_length): Handle ADJUST_LEN_OUT_PLUS_NOCLOBBER. (expand_epilogue): No need to add 0 to frame_pointer_rtx. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180193 138bc75d-0d04-0410-961f-82ee72b054a4
-
rguenth authored
PR middle-end/50780 * tree-ssa-forwprop.c (forward_propagate_into_cond): Verify the condition is properly gimple before using it. * tree-eh (stmt_could_throw_1_p): Properly extract the operation type from comparisons. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180192 138bc75d-0d04-0410-961f-82ee72b054a4
-
paolo authored
PR translation/48638 * plugin.c (add_new_plugin): Fix typo in fatal_error message. 2011-10-19 Roland Stigge <stigge@antcom.de> PR translation/49517 * config/rx/rx.c (rx_print_operand): Fix typo in warning message. /cp 2011-10-19 Roland Stigge <stigge@antcom.de> PR translation/49704 * semantics.c (potential_constant_expression_1): Use "AST" instead of "ast" in sorry message. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180188 138bc75d-0d04-0410-961f-82ee72b054a4
-
rguenth authored
PR middle-end/50768 * gimple-fold.c (gimplify_and_update_call_from_tree): Rewrite. * gcc.dg/torture/pr50768.c: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180187 138bc75d-0d04-0410-961f-82ee72b054a4
-
amonakov authored
PR rtl-optimization/50340 * sel-sched-ir.c (update_target_availability): LHS register availability is not known if the unavailable LHS of the other expression is a different register. * gcc.dg/pr50340.c: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180186 138bc75d-0d04-0410-961f-82ee72b054a4
-
paolo authored
PR c++/38761 PR c++/40872 * decl.c (duplicate_decls, make_typename_type, grokdeclarator): Use G_() in error message strings to facilitate translation. * semantics.c (finish_id_expression): Likewise. * parser.c (cp_parser_nested_name_specifier_opt, cp_parser_parameter_declaration): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180185 138bc75d-0d04-0410-961f-82ee72b054a4
-
uweigand authored
* config/spu/spu.c (spu_emit_vector_compare): Support unordered floating-point comparisons. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180184 138bc75d-0d04-0410-961f-82ee72b054a4
-
hubicka authored
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180182 138bc75d-0d04-0410-961f-82ee72b054a4
-
hubicka authored
* cgraphunit.c (handle_alias_pairs): Also handle wekref with destination declared. (output_weakrefs): New function. * varpool.c (varpool_create_variable_alias): Handle external aliases. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180181 138bc75d-0d04-0410-961f-82ee72b054a4
-
jakub authored
second argument instead of mode. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180178 138bc75d-0d04-0410-961f-82ee72b054a4
-
gccadmin authored
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180173 138bc75d-0d04-0410-961f-82ee72b054a4
-
- 18 Oct, 2011 23 commits
-
-
jakub authored
mode SUBREG of operands[0] as target. (valid_perm_using_mode_p): Don't ignore higher bits of d->perm. (expand_vec_pshufb): For V8SImode vmode emit avx2_permvarv8si. (expand_vec_perm_1): Handle identity and some broadcast permutations. (expand_vec_perm_interleave2): Handle also 32-byte modes, using vperm2[fi]128 or vpunpck[lh]* followed by single insn permutation. For d->testing_p return true earlier to avoid creating more GC garbage. (expand_vec_perm_vpermq_perm_1): New function. (expand_vec_perm_vpshufb2_vpermq): For d->testing_p return true earlier to avoid creating more GC garbage. Fix handling of V16HImode. Avoid some SUBREGs in SET_DEST. (expand_vec_perm_broadcast_1): Return false for 32-byte integer vector modes. (expand_vec_perm_vpshufb4_vpermq2): New function. (ix86_expand_vec_perm_builtin_1): Call expand_vec_perm_vpermq_perm_1 and expand_vec_perm_vpshufb4_vpermq2. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180169 138bc75d-0d04-0410-961f-82ee72b054a4
-
ams authored
2011-10-18 Andrew Stubbs <ams@codesourcery.com> gcc/ * config/arm/driver-arm.c (host_detect_local_cpu): Close the file before exiting. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180168 138bc75d-0d04-0410-961f-82ee72b054a4
-
ams authored
gcc/ * config/arm/driver-arm.c (host_detect_local_cpu): Close the file before exiting. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180167 138bc75d-0d04-0410-961f-82ee72b054a4
-
ams authored
PR tree-optimization/50717 gcc/ * tree-ssa-math-opts.c (is_widening_mult_p): Remove the 'type' parameter. Calculate 'type' from stmt. (convert_mult_to_widen): Update call the is_widening_mult_p. (convert_plusminus_to_widen): Likewise. gcc/testsuite/ * gcc.dg/pr50717-1.c: New file. * gcc.target/arm/wmul-12.c: Correct types. * gcc.target/arm/wmul-8.c: Correct types. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180164 138bc75d-0d04-0410-961f-82ee72b054a4
-
jason authored
* pt.c (instantiate_decl): Recognize when a function defaulted outside the class is already instantiated. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180162 138bc75d-0d04-0410-961f-82ee72b054a4
-
jason authored
* decl.c (check_previous_goto_1): Handle using-decl. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180160 138bc75d-0d04-0410-961f-82ee72b054a4
-
jason authored
DR 1082 * class.c (type_has_user_declared_move_constructor): New. (type_has_user_declared_move_assign): New. (add_implicitly_declared_members): Add lazy copy ops even if there's a move. * method.c (lazily_declare_fn): Delete implicit copies if there's a move. (maybe_explain_implicit_delete): Explain this. Use inform rather than error. * cp-tree.h: Declare new fns. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180159 138bc75d-0d04-0410-961f-82ee72b054a4
-
uweigand authored
(spu_init_machine_status): New function. (spu_option_override): Install it. (get_pic_reg): Set and use cfun->machine->pic_reg. (spu_split_immediate): Do not set crtl->uses_pic_offset_table. (need_to_save_reg): Use cfun->machine->pic_reg instead of checking crtl->uses_pic_offset_table. (spu_expand_prologue): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180156 138bc75d-0d04-0410-961f-82ee72b054a4
-
hjl authored
2011-10-18 Kirill Yukhin <kirill.yukhin@intel.com> * gcc.target/i386/avx2-vpop-check.h: New header. * gcc.target/i386/avx2-vpaddd-3.c: New test. * gcc.target/i386/avx2-vpaddw-3.c: Ditto. * gcc.target/i386/avx2-vpaddb-3.c: Ditto. * gcc.target/i386/avx2-vpaddq-3.c: Ditto. * gcc.target/i386/avx2-vpand-3.c: Ditto. * gcc.target/i386/avx2-vpmulld-3.c: Ditto. * gcc.target/i386/avx2-vpmullw-3.c: Ditto. * gcc.target/i386/avx2-vpsrad-3.c: Ditto. * gcc.target/i386/avx2-vpsraw-3.c: Ditto. * gcc.target/i386/avx2-vpsrld-3.c: Ditto. * gcc.target/i386/avx2-vpsrlw-3.c: Ditto. * gcc.target/i386/avx2-vpsubb-3.c: Ditto. * gcc.target/i386/avx2-vpsubd-3.c: Ditto. * gcc.target/i386/avx2-vpsubq-3.c: Ditto. * gcc.target/i386/avx2-vpsubw-3.c: Ditto. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180155 138bc75d-0d04-0410-961f-82ee72b054a4
-
jakub authored
* function.c (gimplify_parameters): Use create_tmp_var instead of create_tmp_reg. If parm is not TREE_ADDRESSABLE and type is complex or vector type, set DECL_GIMPLE_REG_P. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180154 138bc75d-0d04-0410-961f-82ee72b054a4
-
mikael authored
* gfortran.dg/coarray_subobject_1.f90: New test. * gfortran.dg/coarray/subobject_1.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180153 138bc75d-0d04-0410-961f-82ee72b054a4
-
mikael authored
* trans.c (gfc_build_array_ref): If type is not an array, check that there is nothing to do, and do nothing. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180152 138bc75d-0d04-0410-961f-82ee72b054a4
-
mikael authored
* trans-types.c (gfc_build_array_type): Don't force lower bound to one in the deferred case. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180151 138bc75d-0d04-0410-961f-82ee72b054a4
-
mikael authored
* simplify.c (simplify_cobound): Accept non-last-in-ref-chain coarrays. Don't set already set array ref. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180150 138bc75d-0d04-0410-961f-82ee72b054a4
-
mikael authored
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180149 138bc75d-0d04-0410-961f-82ee72b054a4
-
mikael authored
* check.c (dim_corank_check): Use gfc_get_corank to get corank. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180148 138bc75d-0d04-0410-961f-82ee72b054a4
-
mikael authored
* trans-intrinsic.c (walk_coarray): Change AR_ELEMENT to AR_SECTION. PR fortran/50420 * trans-intrinsic.c (walk_coarray): Use gfc_walk_array_ref for the scalarization chain initialization. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180147 138bc75d-0d04-0410-961f-82ee72b054a4
-
mikael authored
* trans-intrinsic.c (walk_coarray): Allow subreferences after a coarray object reference. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180146 138bc75d-0d04-0410-961f-82ee72b054a4
-
mikael authored
* trans-array.c (gfc_walk_array_ref): Allow zero rank arrays if they are coarrays. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180145 138bc75d-0d04-0410-961f-82ee72b054a4
-
mikael authored
* trans-array.c (gfc_walk_array_ref): New function, containing all but the beginning of gfc_walk_variable_expr's code. (gfc_walk_variable_expr): Use gfc_walk_array_ref. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180144 138bc75d-0d04-0410-961f-82ee72b054a4
-
mikael authored
* trans-array.c (gfc_conv_expr_descriptor): Use loop.dimen instead of ndim for the descriptor's rank. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180143 138bc75d-0d04-0410-961f-82ee72b054a4
-
mikael authored
* trans-array.c (gfc_conv_expr_descriptor): Count codimensions starting from zero, and add then the relevant offset (either ndim or loop.dimen) depending on context. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180142 138bc75d-0d04-0410-961f-82ee72b054a4
-
mikael authored
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180141 138bc75d-0d04-0410-961f-82ee72b054a4
-