- 09 Sep, 2007 18 commits
-
-
* interpret-run.cc (invokevirtual_resolved): Nullcheck object on TOS. From-SVN: r128298
Andrew Haley committed -
* gcc.dg/vect/costmodel/ppc/costmodel-vect-outer-fir.c: Add noinline attribute. * gcc.dg/vect/costmodel/ppc/costmodel-fast-math-vect-pr29925.c, gcc.dg/vect/costmodel/spu/costmodel-fast-math-vect-pr29925.c, gcc.dg/vect/costmodel/x86_64/costmodel-fast-math-vect-pr29925.c: Likewise. From-SVN: r128297
Ira Rosen committed -
* gnat.dg/specs/uc1.ads: Compile with -gnatws. From-SVN: r128296
Eric Botcazou committed -
* gnat.dg/addr2_p.ads: Bump size of array to 9. From-SVN: r128295
Eric Botcazou committed -
* tree-vectorizer.h (stmt_vinfo_set_inside_of_loop_cost, stmt_vinfo_set_outside_of_loop_cost): New functions. * tree-vect-transform.c (vect_get_cost_fields): Remove. (vect_model_simple_cost): Call stmt_vinfo_set_inside/outside_of_loop_cost to set the relevant cost field instead of calling vect_get_cost_fields. (vect_model_store_cost, vect_model_load_cost): Likewise. From-SVN: r128294
Ira Rosen committed -
From-SVN: r128293
Revital Eres committed -
From-SVN: r128292
Revital Eres committed -
From-SVN: r128291
Uros Bizjak committed -
2007-09-09 Uros Bizjak <ubizjak@gmail.com> * config/i386/i386.md (X87MODEF12, SSEMODEF): Remove mode iterators. Substitute all uses with ... (MODEF): New mode iterator. (*cmpfp_<mode>_cc): Remove operand constraints from pre-regalloc define_insn_and_split splitter pattern. (fix_trunc<mode>_fisttp_i387_1): Ditto. (*fix_trunc<mode>_i387_1): Ditto. (*fistdi2_1): Ditto. (*fist<mode>2_1): Ditto. (frndintxf2_floor): Ditto. (*fist<mode>2_floor_1): Ditto. (frndintxf2_ceil): Ditto. (*fist<mode>2_ceil_1): Ditto. (frndintxf2_trunc): Ditto. (frndintxf2_mask_pm): Ditto. (prologue): Use (const_int 0) as never generated filler insn. (epilogue): Ditto. (sibcall_epilogue): Ditto. (eh_return_si): Ditto. (eh_return_di): Ditto. (add<mode>3): Rename from adddf3 and addsf3. Macroize expander using MODEF mode iterator. (sub<mode>3): Rename from subdf3 and subsf3. Macroize expander using MODEF mode iterator. (mul<mode>3): Rename from muldf3 and mulsf3. Macroize expander using MODEF mode iterator. (nearbyint<mode>2): Rename from nearbyintdf2 and nearbyintsf2. Macroize expander using MODEF mode iterator. (zero_extendsidi2): Remove operand constraints from expander. (smuldi3_highpart): Ditto. (indirect_jump): Ditto. (tablejump): Ditto. (rsqrtsf2): Ditto. * config/i386/sse.md (storentv4sf): Ditto. (storentv2df): Ditto. (storentv2di): Ditto. (storentsi): Ditto. (sse2_cvtpd2ps): Ditto. (vec_interleave_highv16qi): Ditto. (vec_interleave_lowv16qi): Ditto. (vec_interleave_highv8hi): Ditto. (vec_interleave_lowv8hi): Ditto. (vec_interleave_highv4si): Ditto. (vec_interleave_lowv4si): Ditto. (vec_interleave_highv2di): Ditto. (vec_interleave_lowv2di): Ditto. (sse2_maskmovdqu): Ditto. * config/i386/mmx.md (mmx_maskmovq): Ditto. From-SVN: r128290
Uros Bizjak committed -
* tree-vectorizer.h (enum vect_def_type): Start enumeration from 1. (struct _slp_tree, struct _slp_instance): Define new data structures along macros for their access. (struct _loop_vec_info): Define new fields: strided_stores, slp_instances, and slp_unrolling_factor along macros for their access. (enum slp_vect_type): New. (struct _stmt_vec_info): Define new field, slp_type, and macros for its access. (STMT_VINFO_STRIDED_ACCESS): New macro. (vect_free_slp_tree): Declare. (vectorizable_load): Add an argument of type slp_tree. (vectorizable_store, vectorizable_operation, vectorizable_conversion, vectorizable_assignment): Likewise. (vect_model_simple_cost, vect_model_store_cost, vect_model_load_cost): Declare (make extern). * tree-vectorizer.c (new_stmt_vec_info): Initiliaze the new field. (new_loop_vec_info): Likewise. (destroy_loop_vec_info): Free memory allocated for SLP structures. * tree-vect-analyze.c: Include recog.h. (vect_update_slp_costs_according_to_vf): New. (vect_analyze_operations): Add argument for calls to vectorizable_ () functions. For not pure SLP stmts with strided access check that the group size is power of 2. Update the vectorization factor according to SLP. Call vect_update_slp_costs_according_to_vf. (vect_analyze_group_access): New. (vect_analyze_data_ref_access): Call vect_analyze_group_access. (vect_free_slp_tree): New functions. (vect_get_and_check_slp_defs, vect_build_slp_tree, vect_print_slp_tree, vect_mark_slp_stmts, vect_analyze_slp_instance, vect_analyze_slp, vect_make_slp_decision, vect_detect_hybrid_slp_stmts, vect_detect_hybrid_slp): Likewise. (vect_analyze_loop): Call vect_analyze_slp, vect_make_slp_decision and vect_detect_hybrid_slp. * tree-vect-transform.c (vect_estimate_min_profitable_iters): Take SLP costs into account. (vect_get_cost_fields): New function. (vect_model_simple_cost): Make extern, add SLP parameter and handle SLP. (vect_model_store_cost, vect_model_load_cost): Likewise. (vect_get_constant_vectors): New function. (vect_get_slp_vect_defs, vect_get_slp_defs, vect_get_vec_defs_for_stmt_copy, vect_get_vec_defs_for_stmt_copy, vect_get_vec_defs): Likewise. (vectorizable_reduction): Don't handle SLP for now. (vectorizable_call): Don't handle SLP for now. Add argument to vect_model_simple_cost. (vectorizable_conversion): Handle SLP (call vect_get_vec_defs to get SLPed and vectorized defs). Fix indentation and spacing. (vectorizable_assignment): Handle SLP. (vectorizable_induction): Don't handle SLP for now. (vectorizable_operation): Likewise. (vectorizable_type_demotion): Add argument to vect_model_simple_cost. (vectorizable_type_promotion): Likewise. (vectorizable_store, vectorizable_load): Handle SLP. (vectorizable_condition): Don't handle SLP for now. (vect_transform_stmt): Add a new argument for SLP. Check that there is no SLP transformation required for unsupported cases. Add SLP argument for supported cases. (vect_remove_stores): New function. (vect_schedule_slp_instance, vect_schedule_slp): Likewise. (vect_transform_loop): Schedule SLP instances. * Makefile.in: (tree-vect-analyze.o): Depend on recog.h. From-SVN: r128289
Ira Rosen committed -
* optabs.c (sign_expand_binop): Set libcall_gen = NULL in the fake signed optab. From-SVN: r128288
Andrew Haley committed -
* doc/rtl.texi (Insns): Specify when a label_ref makes a jump_insn. Similar for what label_refs can go in the JUMP_TARGET field. Split REG_LABEL documentation into REG_LABEL_TARGET and REG_LABEL_OPERAND. * reload.c (find_reloads): Generate REG_LABEL_OPERAND, not REG_LABEL when replacing an operand with a LABEL_REF for a non-jump insn. (subst_reloads): When replacing a LABEL_REG with a register, instead of generating a REG_LABEL note, assert that there already is one or that the label is a known target for the insn. * rtlanal.c (computed_jump_p): Instead of looking for a REG_LABEL note, check the JUMP_LABEL field. Remove "else" after return. * reorg.c (emit_delay_sequence): Replace case for REG_LABEL with cases for REG_LABEL_OPERAND and REG_LABEL_TARGET. (fill_slots_from_thread): Handle both REG_LABEL_OPERAND and REG_LABEL_TARGET notes, including the JUMP_TARGET field on JUMP_P insns. Iterate over all notes; don't assume there's only one. * cse.c (recorded_label_ref): Adjust comment to refer to REG_LABEL_OPERAND. (cse_extended_basic_block): Do LABEL_REF check for all INSN_P insns, not just NONJUMP_INSN_P. (check_for_label_ref): For JUMP_P insns, check that the LABEL_REF isn't a jump target. * jump.c (rebuild_jump_labels): Adjust head comment. (init_label_info): Ditto. Remove REG_LABEL_OPERAND notes only; don't reset REG_LABEL_TARGET notes, including the JUMP_LABEL field. (mark_all_labels): For JUMP_P insns without a target, check if the the target is noted on the previous nonjump insn. (mark_jump_label_1): New function, guts from mark_jump_label. <case IF_THEN_ELSE>: Handle first operand as a non-target when marking jump target labels. <case LABEL_REF>: Adjust for whether to generate a REG_LABEL_TARGET or a REG_LABEL_OPERAND note. For 'E' format rtl, iterate in descending element order. (delete_related_insns): Handle both REG_LABEL_TARGET and REG_LABEL_OPERAND notes. For JUMP_P insns with labels with zero reference count, delete and fallthrough. Move finding-next- non-deleted insn last in the function. Look at all INSN_P insns for REG_LABEL_OPERAND notes. (redirect_jump_2): Assert that OLABEL equals the old JUMP_LABEL of JUMP. * print-rtl.c (print_rtx): For JUMP_P insns and a non-NULL JUMP_LABEL, output the INSN_UID of it. * gcse.c: Adjust comments as appropriate to say REG_LABEL_OPERAND and/or REG_LABEL_TARGET. (add_label_notes): Only add REG_LABEL_OPERAND notes. Put in line with jump.c copy by only adding notes for labels actually referenced in the insn. * emit-rtl.c (try_split): Don't assume only NONJUMP_INSN_P need usage count increment; handle all INSN_P trial insns. (emit_copy_of_insn_after): Change to not copy REG_LABEL_OPERAND notes. * rtl.h (struct rtx_def) <volatil>: Adjust to mention REG_LABEL_TARGET and REG_LABEL_OPERAND. (LABEL_REF_NONLOCAL_P): Allow REG_LABEL_TARGET and REG_LABEL_OPERAND. * combine.c (distribute_notes): Adjust for REG_LABEL_TARGET on JUMP_P insns and REG_LABEL_OPERAND everywhere. * sched-rgn.c (is_cfg_nonregular): Check for REG_LABEL_OPERANDS on all INSN_P insns. * reg-notes.def (LABEL_TARGET, LABEL_OPERAND): Split from LABEL. * cfgrtl.c (delete_insn): Adjust to handle REG_LABEL_TARGET and REG_LABEL_OPERAND notes. * reload1.c (calculate_needs_all_insns): Adjust comments. (set_label_offsets): Adjust to look for REG_LABEL_OPERAND notes. * config/alpha/alpha.md (split for load of an address into a four-insn sequence on Unicos/Mk): Adjust to use REG_LABEL_OPERAND. * config/sh/sh.md (sh_reorg, final_prescan_insn): Ditto. From-SVN: r128287
Hans-Peter Nilsson committed -
PR c++/33342 * pt.c (most_specialized_class): Set processing_template_decl while tsubsting partial spec args. From-SVN: r128286
Jason Merrill committed -
PR c++/33342 * pt.c (most_specialized_class): Set processing_template_decl while tsubsting partial spec args. From-SVN: r128285
Jason Merrill committed -
Revert: 2007-09-05 Laurynas Biveinis <laurynas.biveinis@gmail.com> * regrename.c (copyprop_hardreg_forward_1): New variable next. Use FOR_BB_INSNS_SAFE instead of for loop. * cse.c (cse_extended_basic_block): Likewise. * postreload.c (reload_cse_regs_1): New variable next. Make sure that the for loop does not invoke NEXT_INSN on a deleted insn. * function.c (instantiate_virtual_regs): Likewise. * lower-subreg.c (remove_retval_note): Likewise. (decompose_multiword_subregs): Use FOR_BB_INSNS_SAFE instead of FOR_BB_INSNS. * emit-rtl.c (remove_insn): Set NEXT_INSN and PREV_INSN to NULL on a deleted insn. * cfgrtl.c (delete_insn): Set JUMP_LABEL to NULL on a deleted insn, if it's a jump. (try_redirect_by_replacing_jump): New variable jump_p. Call tablejump_p before delete_insn_chain. * reload1.c (reload): New variable next. Make sure that the for loop does not invoke NEXT_INSN on a deleted insn. (fixup_eh_region_note): Make the loop terminate if i becomes NULL. (delete_output_reload): New variable prev. Make sure the the for loops do not invoke PREV_INSN on a deleted insn. From-SVN: r128284
Laurynas Biveinis committed -
gcc/testsuite: * lib/file-format.exp (gcc_target_object_format): Use remote_exec to call objdump. * lib/scanasm.exp (scan-assembler-dem, scan-assembler-dem-not): Use remote_exec to call c++filt. * lib/target-supports-dg.exp (dg-require-host-local): New. * gcc.misc-tests/options.exp: Allow .exe in command paths. * g++.dg/parse/repo1.C: Use dg-require-host-local. * g++.dg/rtti/repo1.C: Likewise. * g++.dg/template/repo1.C: Likewise. * g++.dg/template/repo2.C: Likewise. * g++.dg/template/repo3.C: Likewise. * g++.dg/template/repo4.C: Likewise. * g++.dg/template/repo5.C: Likewise. * g++.old-deja/g++.pt/instantiate4.C: Likewise. * g++.old-deja/g++.pt/instantiate6.C: Likewise. * g++.old-deja/g++.pt/repo1.C: Likewise. * g++.old-deja/g++.pt/repo2.C: Likewise. * g++.old-deja/g++.pt/repo3.C: Likewise. * g++.old-deja/g++.pt/repo4.C: Likewise. * gcc.dg/cpp/trad/builtins.c: Likewise. libstdc++-v3: * testsuite/lib/libstdc++.exp (v3-build-support): Specify output file for preprocessing. Use remote_exec to call ar and ranlib. From-SVN: r128283
Joseph Myers committed -
From-SVN: r128281
GCC Administrator committed -
2007-09-08 Benjamin Kosnik <bkoz@redhat.com> * include/bits/functional_hash.h: Add ext/numeric_traits.h. * include/tr1/functional_hash.h Same. * include/tr1/functional: Remove string, ext/type_traits.h includes. * include/tr1_impl/functional_hash.h: Move string, wstring definitions for std::<hash>::operator into separate file. * include/std/functional * src/hash.cc: New, move definitions here. * src/hash_c++0x.cc: Same. * src/Makefile.am: Add new source files. * configure: Regenerate. * Makefile.in: Same. * src/Makefile.in: Same. * po/Makefile.in: Same. * libmath/Makefile.in: Same. * libsupc++/Makefile.in: Same. * testsuite/Makefile.in: Same. * config/abi/pre/gnu.ver: Add symbols. * config/abi/pre/gnu-versioned-namespace.ver: Same, fix. From-SVN: r128278
Benjamin Kosnik committed
-
- 08 Sep, 2007 15 commits
-
-
* pa/constraints.md: Remove 'X' from unused letters comment. From-SVN: r128277
John David Anglin committed -
tree-tailcall.c (find_tail_calls): If we don't have aliases computed check stmt_ann->references_memory instead of... 2007-09-08 Richard Guenther <rguenther@suse.de> * tree-tailcall.c (find_tail_calls): If we don't have aliases computed check stmt_ann->references_memory instead of counting virtual operands. From-SVN: r128276
Richard Biener committed -
2007-09-09 Segher Boessenkool <segher@kernel.crashing.org> * cse.c (fold_rtx): Use validate_unshare_change() instead of validate_change() in one more case. From-SVN: r128275
Segher Boessenkool committed -
PR tree-optimization/32283 * tree-ssa-loop-ivopts.c (may_eliminate_iv): Use estimated_loop_iterations. (determine_use_iv_cost_condition): Decrease cost of expressions used in iv elimination. * gcc.dg/tree-ssa/loop-31.c: New test. From-SVN: r128272
Zdenek Dvorak committed -
tree-cfg.c (verify_gimple_expr): Avoid building new pointer types, use TYPE_POINTER_TO if available instead. 2007-09-08 Richard Guenther <rguenther@suse.de> * tree-cfg.c (verify_gimple_expr): Avoid building new pointer types, use TYPE_POINTER_TO if available instead. From-SVN: r128271
Richard Guenther committed -
PR rtl-optimization/26449 * gcc.target/i386/pr26449-1.c: New file. From-SVN: r128270
Uros Bizjak committed -
PR target/33329 PR target/26449 * config/i386/sse.md (mulv4si3): Do not expand sse2 sequence. (*sse2_mulv4si3): New define_insn_and_split pattern. Split insn in split1 pass. (mulv16qi3): Implement as define_insn_and_split pattern instead of define_expand, to split insn in split1 pass. (mulv2di3): Ditto. testsuite/ChangeLog: PR target/33329 PR target/26449 * gcc.target/i386/pr33329.c: New file. From-SVN: r128269
Uros Bizjak committed -
decl.c (gnat_to_gnu_entity): Simplify the condition under which a constant renaming is treated as a normal... * decl.c (gnat_to_gnu_entity) <Object>: Simplify the condition under which a constant renaming is treated as a normal object declaration. * trans.c (lvalue_required_p) <N_Slice>: New case, extracted from the N_Indexed_Component case. <N_Indexed_Component>: Fall through to above case. <N_Object_Renaming_Declaration>: Return true for all composite types. From-SVN: r128268
Eric Botcazou committed -
From-SVN: r128267
Eric Botcazou committed -
decl.c (make_packable_type): If the new type has been given BLKmode, try again to get an integral mode for it. * decl.c (make_packable_type): If the new type has been given BLKmode, try again to get an integral mode for it. From-SVN: r128266
Eric Botcazou committed -
re PR tree-optimization/33301 (wrong vectorization factor due to an invariant type-promotion in the loop) PR tree-optimization/33301 * tree-vect-analyze (analyze_operations): Look at the type of the rhs when relevant. From-SVN: r128265
Dorit Nuzman committed -
From-SVN: r128264
Arnaud Charlet committed -
From-SVN: r128263
Arnaud Charlet committed -
2007-09-07 Zdenek Dvorak <ook@ucw.cz> PR tree-optimization/32183 * Makefile.in (tree-ssa-reassoc.o): Also depend on $(CFGLOOP_H). * tree-ssa-reassoc.c: Include cfgloop.h. (is_reassociable_op): Add a loop argument and return true only for inside loop. (linearize_expr): Updated. (should_break_up_subtract): Likewise. (linearize_expr_tree): Likewise. (init_reassoc): Call loop_optimizer_init with AVOID_CFG_MODIFICATIONS. Remove calculate_dominance_info call with CDI_DOMINATORS. (fini_reassoc): Call loop_optimizer_finalize. From-SVN: r128262
Zdenek Dvorak committed -
From-SVN: r128260
GCC Administrator committed
-
- 07 Sep, 2007 7 commits
-
-
2007-09-07 Sterling Augustine <sterling@tensilica.com> * config/xtensa/lib2funcs.S (__xtensa_sync_caches): Use an ISYNC even if there is no i-cache. From-SVN: r128256
Sterling Augustine committed -
2007-09-07 Benjamin Kosnik <bkoz@redhat.com> * testsuite/19_diagnostics/error_category/cons/copy_neg.cc: Correct line number. From-SVN: r128255
Benjamin Kosnik committed -
2007-09-07 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR libfortran/33307 * gfortran.dg/backspace_10.f90: New test. From-SVN: r128254
Jerry DeLisle committed -
2007-09-07 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR libfortran/33307 * io/filepos.c (st_backspace): Don't truncate when already at the end of the file. From-SVN: r128253
Jerry DeLisle committed -
2007-02-07 Andreas Krebbel <krebbel1@de.ibm.com> * raise-gcc.c (get_region_description_for, get_call_site_action_for, get_action_description_for): Replace _Unwind_Word with _uleb128_t and _Unwind_SWord with _sleb128_t. From-SVN: r128252
Eric Botcazou committed -
2007-09-07 Richard Guenther <rguenther@suse.de> PR tree-optimization/32586 * tree-ssa-sccvn.c (simplify_binary_expression): Avoid folding if nothing changed. (simplify_unary_expression): New function. Do tree combining on conversion like codes. (try_to_simplify): Call it. * g++.dg/tree-ssa/pr27090.C: Remove XFAILs. * gcc.dg/tree-ssa/ssa-fre-1.c: Likewise. * gcc.dg/tree-ssa/ssa-fre-3.c: Likewise. * gcc.dg/tree-ssa/ssa-fre-5.c: Likewise. * gcc.dg/tree-ssa/ssa-fre-4.c: Likewise, remove scan for now obsolete simplification. From-SVN: r128251
Richard Guenther committed -
2007-09-07 Andrew Haley <aph@redhat.com> * configure.ac (noconfigdirs): Remove target-libffi and target-libjava. * configure: Regenerate. From-SVN: r128250
Andrew Haley committed
-