aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2007-09-09i386.h (ix86_tune_indices): Add X86_USE_VECTOR_CONVERTS.Jan Hubicka5-21/+296
* i386.h (ix86_tune_indices): Add X86_USE_VECTOR_CONVERTS. (TARGET_USE_VECTOR_CONVERTS): New. * i386.md: New post-reload splitters for converting SF to DF and DF to SF. (floatsi* expander): Special case vector conversions. (floatsisf2_mixed_vector, floatsisf2_sse_vector_nointernunit, floatsisf2_sse_vector_internunit, floatsisf2_sse_vector, floatsidf2_mixed_vector, floatsidf2_sse_vector): New. (floatsisf2_mixed, floatsisf2_sse, floatsidf2_mixed, floatsidf2_sse): Disable when doing vector converts. (floatsi<mode>2_i387): Disable when * sse.md (vec_dupv2df): Export. * i386.c (ix86_tune_features): Enable SSE conversions. Co-Authored-By: Dwarakanath Rajagopal <dwarak.rajagopal@amd.com> From-SVN: r128301
2007-09-09tree-ssa-operands.c (add_virtual_operand): Only mark stores as ↵Richard Guenther4-1/+19
has_volatile_ops if alias information is not available. 2007-09-09 Richard Guenther <rguenther@suse.de> * tree-ssa-operands.c (add_virtual_operand): Only mark stores as has_volatile_ops if alias information is not available. * gcc.c-torture/compile/20070906-1.c: New testcase. From-SVN: r128300
2007-09-09Add myself to doc/contrib.texiRevital Eres2-0/+7
From-SVN: r128299
2007-09-09interpret-run.cc (invokevirtual_resolved): Nullcheck object on TOS.Andrew Haley2-0/+6
* interpret-run.cc (invokevirtual_resolved): Nullcheck object on TOS. From-SVN: r128298
2007-09-09costmodel-vect-outer-fir.c: Add noinline attribute.Ira Rosen5-5/+17
* 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
2007-09-09uc1.ads: Compile with -gnatws.Eric Botcazou2-0/+5
* gnat.dg/specs/uc1.ads: Compile with -gnatws. From-SVN: r128296
2007-09-09addr2_p.ads: Bump size of array to 9.Eric Botcazou2-3/+7
* gnat.dg/addr2_p.ads: Bump size of array to 9. From-SVN: r128295
2007-09-09tree-vectorizer.h (stmt_vinfo_set_inside_of_loop_cost, [...]): New functions.Ira Rosen3-63/+63
* 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
2007-09-09Fix two warnings in rs6000.c cause by bdesc_paired_predsRevital Eres2-4/+10
From-SVN: r128293
2007-09-09Use new debug counterRevital Eres5-9/+14
From-SVN: r128292
2007-09-09* ChangeLog: Fix cut'n'pasto.Uros Bizjak1-3/+2
From-SVN: r128291
2007-09-09i386.md (X87MODEF12, SSEMODEF): Remove mode iterators.Uros Bizjak4-281/+296
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
2007-09-09tree-vectorizer.h (enum vect_def_type): Start enumeration from 1.Ira Rosen52-310/+5780
* 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
2007-09-09optabs.c (sign_expand_binop): Set libcall_gen = NULL in the fake signed optab.Andrew Haley2-0/+8
* optabs.c (sign_expand_binop): Set libcall_gen = NULL in the fake signed optab. From-SVN: r128288
2007-09-09Divide REG_LABEL notes into REG_LABEL_OPERAND and REG_LABEL_TARGET.Hans-Peter Nilsson18-203/+439
* 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
2007-09-09re PR c++/33342 (ICE in dependent_type_p, at cp/pt.c:15081)Jason Merrill1-0/+29
PR c++/33342 * pt.c (most_specialized_class): Set processing_template_decl while tsubsting partial spec args. From-SVN: r128286
2007-09-08re PR c++/33342 (ICE in dependent_type_p, at cp/pt.c:15081)Jason Merrill2-0/+10
PR c++/33342 * pt.c (most_specialized_class): Set processing_template_decl while tsubsting partial spec args. From-SVN: r128285
2007-09-09revert: regrename.c (copyprop_hardreg_forward_1): New variable next.Laurynas Biveinis9-146/+149
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
2007-09-09file-format.exp (gcc_target_object_format): Use remote_exec to call objdump.Joseph Myers21-20/+75
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
2007-09-09Daily bump.GCC Administrator1-1/+1
From-SVN: r128281
2007-09-09functional_hash.h: Add ext/numeric_traits.h.Benjamin Kosnik18-162/+348
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
2007-09-08constraints.md: Remove 'X' from unused letters comment.John David Anglin2-1/+5
* pa/constraints.md: Remove 'X' from unused letters comment. From-SVN: r128277
2007-09-08tree-tailcall.c (find_tail_calls): If we don't have aliases computed check ↵Richard Biener2-2/+9
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
2007-09-08cse.c (fold_rtx): Use validate_unshare_change() instead of validate_change() ↵Segher Boessenkool2-1/+6
in one more case. 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
2007-09-08re PR rtl-optimization/32283 (Missed induction variable optimization)Zdenek Dvorak4-16/+47
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
2007-09-08tree-cfg.c (verify_gimple_expr): Avoid building new pointer types, use ↵Richard Guenther2-6/+12
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
2007-09-08re PR rtl-optimization/26449 (ICE in loop invariant motion)Uros Bizjak2-1/+28
PR rtl-optimization/26449 * gcc.target/i386/pr26449-1.c: New file. From-SVN: r128270
2007-09-08re PR target/33329 (ICE in expand_simple_binop, at optabs.c:1294)Uros Bizjak4-48/+100
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
2007-09-08decl.c (gnat_to_gnu_entity): Simplify the condition under which a constant ↵Eric Botcazou6-10/+55
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
2007-09-08Add missing dg command.Eric Botcazou1-0/+2
From-SVN: r128267
2007-09-08decl.c (make_packable_type): If the new type has been given BLKmode, try ↵Eric Botcazou4-0/+51
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
2007-09-08re PR tree-optimization/33301 (wrong vectorization factor due to an ↵Dorit Nuzman4-4/+46
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
2007-09-08Add support file for controlled2.adbArnaud Charlet1-0/+13
From-SVN: r128264
2007-09-08Add spec for controlled2.adb testArnaud Charlet1-0/+5
From-SVN: r128263
2007-09-07re PR tree-optimization/32183 (reassoc2 can more extra calculations into a loop)Zdenek Dvorak3-16/+47
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
2007-09-08Daily bump.GCC Administrator1-1/+1
From-SVN: r128260
2007-09-07lib2funcs.S (__xtensa_sync_caches): Use an ISYNC even if there is no i-cache.Sterling Augustine2-1/+6
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
2007-09-07copy_neg.cc: Correct line number.Benjamin Kosnik2-1/+6
2007-09-07 Benjamin Kosnik <bkoz@redhat.com> * testsuite/19_diagnostics/error_category/cons/copy_neg.cc: Correct line number. From-SVN: r128255
2007-09-07re PR fortran/33307 (I/O read/positioning problem)Jerry DeLisle2-0/+42
2007-09-07 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR libfortran/33307 * gfortran.dg/backspace_10.f90: New test. From-SVN: r128254
2007-09-07re PR fortran/33307 (I/O read/positioning problem)Jerry DeLisle2-1/+6
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
2007-09-07Re-apply accidentally reverted change:Eric Botcazou2-17/+11
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
2007-09-07re PR tree-optimization/32586 (New VN misses FRE opportunities)Richard Guenther8-19/+85
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
2007-09-07configure.ac (noconfigdirs): Remove target-libffi and target-libjava.Andrew Haley3-4/+10
2007-09-07 Andrew Haley <aph@redhat.com> * configure.ac (noconfigdirs): Remove target-libffi and target-libjava. * configure: Regenerate. From-SVN: r128250
2007-09-07re PR target/33286 (All exception related tests fail)John David Anglin3-1/+146
PR target/33286 * gthr-posix.h (__gthread_active_p): Add implementation for hppa-hpux. (__gthread_active,__gthread_start, __gthread_active_init): New. * gthr-posix95.h: Likewise. From-SVN: r128249
2007-09-07function.h (struct function): Rename calls_unwind_init to saves_all_registers.Roman Zippel5-11/+23
* function.h (struct function): Rename calls_unwind_init to saves_all_registers. (current_function_saves_all_registers): Renamed from current_function_calls_unwind_init. * reload1.c (reload): Set current_function_saves_all_registers. * except.c (expand_builtin_unwind_init): Likewise. * config/m68k/m68k.c (m68k_save_reg): Use current_function_saves_all_registers to save pic register. From-SVN: r128248
2007-09-07Reapply reverted change:Janis Johnson13-29/+231
gcc/ada/ Reapply reverted change: 2007-09-06 Eric Botcazou <ebotcazou@adacore.com> * trans.c (convert_with_check): Update call to real_2expN. gcc/ config/m68k/m68k.c (floating_exact_log2): Update call to real_2expN. config/s390/s390.md (fixuns_trunc<BFP:mode><GPR:mode>2): Ditto. Reapply reverted changes: 2007-09-06 Jan Hubicka <jh@suse.cz> * config/i386.c (ix86_expand_lround, ix86_expand_round): Update call of real_2expN. 2007-09-06 Richard Sandiford <richard@codesourcery.com> * config/mips/mips.md (fixuns_truncdfsi2, fixuns_truncdfdi2) (fixuns_truncsfsi2, fixuns_truncsfdi2): Update calls to real_2expN. 2007-09-05 Janis Johnson <janis187@us.ibm.com> * optabs.c (expand_float): Convert unsigned integer as signed only if it provides sufficient accuracy; add mode argument to real_2expN. (expand_fix): Fix comment typos; extend binary float into mode wider than destination for converion to unsigned integer; add mode argument to real_2expN. * real.c (real_2expN): Add mode argument to special-case decimal float values. * real.h (real_2expN): Ditto. * fixed-value.c (check_real_for_fixed_mode): Add mode argument to real_2expN. (fixed_from_string): Ditto. (fixed_to_decimal): Ditto. (fixed_convert_from_real): Ditto. (real_convert_from_fixed): Ditto. * config/rs6000/rs6000.md (FP): Include DD and TD modes. * config/rs6000/dfp.md (extendddtd2, adddd3, addtd3, subdd3, subtd3, muldd3, multd3, divdd3, divtd3, cmpdd_internal1, cmptd_internal1, floatditd2, ftruncdd2, fixdddi2, ftrunctd2, fixddi2): New. From-SVN: r128247
2007-09-07tree-flow.h (const_block_stmt_iterator): Remove.Diego Novillo12-165/+56
* tree-flow.h (const_block_stmt_iterator): Remove. Update all users to use block_stmt_iterator. * tree-iterator.h (const_tree_stmt_iterator): Remove. Update all users to use tree_stmt_iterator. From-SVN: r128246
2007-09-07mips.c (mips_set_current_function): Temporarily make this a no-op to fix ↵Sandra Loosemore2-13/+7
bootstrap errors, pending rewrite. 2007-09-07 Sandra Loosemore <sandra@codesourcery.com> gcc/ * config/mips/mips.c (mips_set_current_function): Temporarily make this a no-op to fix bootstrap errors, pending rewrite. From-SVN: r128245
2007-09-07reorg.c (dbr_schedule): Move code removing placeholder USEs later in the pass.Jan Hubicka2-11/+16
* reorg.c (dbr_schedule): Move code removing placeholder USEs later in the pass. From-SVN: r128243
2007-09-07re PR tree-optimization/33299 (miscompilation with gfortran -O2 -ffast-math ↵Dorit Nuzman5-30/+61
-ftree-vectorize) PR tree-optimization/33299 * tree-vect-transform.c (vect_create_epilog_for_reduction): Update uses for all relevant loop-exit phis, not just the first. From-SVN: r128242