- 09 Sep, 2007 7 commits
-
-
* 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 18 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 -
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
John David Anglin committed -
* 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
Roman Zippel committed -
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
Janis Johnson committed -
* 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
Diego Novillo committed -
mips.c (mips_set_current_function): Temporarily make this a no-op to fix 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
Sandra Loosemore committed -
* reorg.c (dbr_schedule): Move code removing placeholder USEs later in the pass. From-SVN: r128243
Jan Hubicka committed -
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
Dorit Nuzman committed -
2007-09-07 Richard Guenther <rguenther@suse.de> PR middle-end/33330 * tree-ssa-operands.c (access_can_touch_variable): An access of the form (*p)[0] can touch a variable of same size. From-SVN: r128240
Richard Guenther committed -
* passes.c (init_optimization_passes): Add simple dce and addressable passes. * tree-ssa.c (execute_update_addresses_taken): New function. (pass_update_address_taken): New. * tree-ssa-dse.c (execute_simple_dse): New function. (pass_simple_dse): New. * tree-pass.h (pass_simple_dse, pass_update_address_taken): Declare. From-SVN: r128239
Jan Hubicka committed -
2007-09-07 Tobias Burnus <burnus@net-b.de> PR middle-end/33321 * doc/invoke.texi: Fix -Wstrict-overflow= table. From-SVN: r128238
Tobias Burnus committed -
2007-09-07 Richard Guenther <rguenther@suse.de> Revert 2007-09-06 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: r128236
Richard Guenther committed
-