1. 28 Aug, 2007 12 commits
    • re PR target/32661 (__builtin_ia32_vec_ext suboptimal for pointer/ref args) · 7f97f938
      	PR target/32661
      	* simplify-rtx.c (simplify_binary_operation_1) [VEC_SELECT]:
      	Simplify nested VEC_SELECT (with optional VEC_CONCAT operator as
      	operand) when top VEC_SELECT extracts scalar element.
      	* config/i386/sse.md (*vec_extract_v4si_mem): New.
      	(*vec_extract_v4sf_mem): Ditto.
      
      testsuite/ChangeLog:
      
      	PR target/32661
      	* gcc.target/i386/pr32661.c: New test.
      
      From-SVN: r127857
      Uros Bizjak committed
    • re PR middle-end/32370 (Segfault after rejecting bogus assembler) · 0b738568
      	PR middle-end/32370
      	* passes.c (init_optimization_passes): Move pass_df_finish
      	after pass_postreload sublist.
      
      	* gcc.dg/pr32370.c: New test.
      
      From-SVN: r127856
      Jakub Jelinek committed
    • re PR rtl-optimization/33148 (ICE in trunc_int_for_mode, at explow.c:56 during combine) · 71cca289
      	PR rtl-optimization/33148
      	* simplify-rtx.c (simplify_unary_operation_1): Only optimize
      	(neg (lt X 0)) if X has scalar int mode.
      
      	* gcc.c-torture/compile/20070827-1.c: New test.
      
      From-SVN: r127855
      Jakub Jelinek committed
    • re PR debug/32914 (ICE in rtl_for_decl_init with -g option) · a7d0852d
      	PR debug/32914
      	* dwarf2out.c (rtl_for_decl_init): If vector decl has CONSTRUCTOR
      	initializer, use build_vector_from_ctor if possible to create
      	VECTOR_CST out of it.  If vector initializer is not VECTOR_CST
      	even after this, return NULL.
      
      	* d++.dg/debug/const3.C: New test.
      	* d++.dg/debug/const4.C: New test.
      	* d++.dg/debug/dwarf2/const1.C: New test.
      	* d++.dg/debug/dwarf2/const2.C: New test.
      	* d++.dg/debug/dwarf2/const2b.C: New test.
      
      From-SVN: r127854
      Jakub Jelinek committed
    • Add new tests. · 6a76d216
      From-SVN: r127853
      Arnaud Charlet committed
    • * c-pretty-print.c (pp_c_constant): Handle COMPLEX_CST. · b29ee02b
      From-SVN: r127852
      Gabriel Dos Reis committed
    • tree.h (DECL_DISREGARD_INLINE_LIMITS): New. · c536a6a7
      2007-08-28  Richard Guenther  <rguenther@suse.de>
      
      	* tree.h (DECL_DISREGARD_INLINE_LIMITS): New.
      	(struct tree_function_decl): Make function_code a bitfield.
      	Add disregard_inline_limits flag.
      	* cgraphunit.c (cgraph_process_new_functions): Check
      	DECL_DISREGARD_INLINE_LIMITS instead of disregard_inline_limits_p.
      	(cgraph_preserve_function_body_p): Likewise.
      	* ipa-inline.c (compute_inline_parameters): Likewise.
      	* c-decl.c (finish_function): Set DECL_DISREGARD_INLINE_LIMITS
      	for GNU C extern inline functions.
      	(merge_decls): Merge DECL_DISREGARD_INLINE_LIMITS.
      	* tree-inline.c (disregard_inline_limits_p): Remove.
      	* tree-inline.h (disregard_inline_limits_p): Likewise.
      	* c-common.c (handle_always_inline_attribute): Set
      	DECL_DISREGARD_INLINE_LIMITS.
      	* langhooks.c (add_builtin_function): Verify the function code
      	fits in the bitfield.
      
      	cp/
      	* decl.c (duplicate_decls): Merge DECL_DISREGARD_INLINE_LIMITS.
      
      From-SVN: r127851
      Richard Guenther committed
    • re PR libstdc++/33128 (std::tr1::uniform_int returns value out of range) · 44d5230c
      2007-08-28  Paolo Carlini  <pcarlini@suse.de>
      
      	PR libstdc++/33128
      	* include/tr1_impl/random (uniform_int<>::_M_call): Deal with
      	__urng() returning negative values.
      	* testsuite/tr1/5_numerical_facilities/random/uniform_int/33128.cc:
      	New.
      
      From-SVN: r127849
      Paolo Carlini committed
    • Modulo-scheduling improvements. Patch 2 of 2 · 46dc0789
      Co-Authored-By: Andrey Belevantsev <abel@ispras.ru>
      Co-Authored-By: Revital Eres <eres@il.ibm.com>
      Co-Authored-By: Vladimir Yanovsky <yanov@il.ibm.com>
      
      From-SVN: r127848
      Mircea Namolaru committed
    • error.c (dump_expr): Handle COMPLEX_CST. · 7368348c
      	* error.c (dump_expr): Handle COMPLEX_CST.
      	* cxx-pretty-print.c (pp_cxx_primary_expression): Likewise.
      	(pp_cxx_expression): Likewise.
      
      From-SVN: r127847
      Gabriel Dos Reis committed
    • write.c (stdbool.h): Add include. · 2861f77f
      2007-08-27  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
      
      	* io/write.c (stdbool.h): Add include. (sign_t): Move typedef to
      	new file write_float.def. Include write_float.def.
      	(extract_real): Delete. (calculate_sign): Delete.
      	(calculate_exp): Delete. (calculate_G_format): Delete.
      	(output_float): Delete. (write_float): Delete.
      	* io/write_float.def (calculate_sign): Added.
      	(output_float): Refactored to be independent of kind and added to this
      	file for inclusion. (write_infnan): New function to write "Infinite" or
      	"NaN" depending on flags passed, independent of kind.
      	(CALCULATE_EXP): New macro to build kind specific functions. Use it.
      	(OUTPUT_FLOAT_FMT_G): New macro, likewise. Use it.
      	(DTOA, DTOAL): Macros to implement "decimal to ascii".
      	(WRITE_FLOAT): New macro for kind specific write_float functions.
      	(write_float): Revised function to determine kind and use WRITE_FLOAT
      	to implement kind specific output.
      
      From-SVN: r127846
      Jerry DeLisle committed
    • Daily bump. · c7682132
      From-SVN: r127844
      GCC Administrator committed
  2. 27 Aug, 2007 16 commits
    • extend.texi (gnu_inline funtion attribute): Document C++ behavior. · 3a47c4e4
      gcc/ChangeLog:
      * doc/extend.texi (gnu_inline funtion attribute): Document C++
      behavior.
      gcc/cp/ChangeLog:
      * decl.c (GNU_INLINE_P): New.
      (duplicate_decls): Handle gnu_inline.  Merge attributes and
      some flags in overriding definitions.
      (redeclaration_error_message): Handle gnu_inline.
      (start_preparsed_function): Likewise.
      gcc/testsuite/ChangeLog:
      * g++.dg/ext/gnu-inline-common.h: New.
      * g++.dg/ext/gnu-inline-global-reject.C: New.
      * g++.dg/ext/gnu-inline-global.C: New.
      * g++.dg/ext/gnu-inline-namespace.C: New.
      * g++.dg/ext/gnu-inline-anon-namespace.C: New.
      * g++.dg/ext/gnu-inline-class.C: New.
      * g++.dg/ext/gnu-inline-class-static.C: New.
      * g++.dg/ext/gnu-inline-template-class.C: New.
      * g++.dg/ext/gnu-inline-template-func.C: New.
      
      From-SVN: r127839
      Alexandre Oliva committed
    • re PR c++/31337 (ICE with statement expression) · 83d7e8f0
              PR c++/31337
              * gimplify.c (gimplify_modify_expr): Discard the assignment of
              zero-sized types after calling gimplify_modify_expr_rhs.
              * testsuite/g++.dg/ext/stmtexpr11.C: New.
      
      From-SVN: r127838
      Jason Merrill committed
    • regclass.c (init_reg_autoinc): Fix typo. · 9da72d66
      2007-08-27  Sandra Loosemore  <sandra@codesourcery.com>
      
      	gcc/
      	* regclass.c (init_reg_autoinc): Fix typo.
      
      From-SVN: r127836
      Sandra Loosemore committed
    • target-supports.exp (check_profiling_available): Set profiling_available_saved to 0 on fido-*-elf. · da3ce502
      	* lib/target-supports.exp (check_profiling_available):
      	Set profiling_available_saved to 0 on fido-*-elf.
      
      From-SVN: r127835
      Kazu Hirata committed
    • re PR tree-optimization/33173 (ICE in set_uids_in_ptset, at tree-ssa-structalias.c:4704) · 11df3da3
      2007-08-27  Daniel Berlin  <dberlin@dberlin.org>
      	
      	Fix PR tree-optimization/33173
      	* tree-ssa-alias.c (find_used_portions): Fix reversed test.
      
      From-SVN: r127834
      Daniel Berlin committed
    • re PR target/31385 (gcc fails to find spill register for decimal arithmetic) · 62d75179
      gcc/
      
      2007-08-27  H.J. Lu  <hongjiu.lu@intel.com>
      
      	PR target/31385
      	* config/i386/i386.h (VALID_DFP_MODE_P): New.
      	* config/i386/i386.c (ix86_hard_regno_mode_ok): Allow DFP in
      	GPR.
      
      gcc/testsuite/
      
      2007-08-27  H.J. Lu  <hongjiu.lu@intel.com>
      
      	PR target/31385
      	* gcc.dg/dfp/pr31385.c: New.
      
      From-SVN: r127833
      H.J. Lu committed
    • Separate target-specific initialization from general back-end initialization. · b5deb7b6
      2007-08-27  Sandra Loosemore  <sandra@codesourcery.com>
      	    David Ung  <davidu@mips.com>
                  Nigel Stephens <nigel@mips.com>
      
      	gcc/
      	Separate target-specific initialization from general
      	back-end initialization.
      
      	* toplev.c (init_alignments): New, split out from...
      	(process_options): ...here.
      	(backend_init_target):  New, split out from...
      	(backend_init): ...here.
      	(lang_dependent_init_target):  New, split out from...
      	(lang_dependent_init): ...here.
      	(target_reinit): New.
      	* toplev.h (target_reinit): Declare.
      	* expr.c (init_expr_target): Renamed from init_expr_once, since it
      	now can be called more than once.  Update comments.
      	* expr.h (init_expr_target): Likewise.
      	* alias.c (init_alias_target): Renamed from init_alias_once, since it
      	now can be called more than once.  Explicitly zero
      	static_reg_base_value.
      	* emit-rtl.c (init_emit_regs): New, split out from...
      	(init_emit_once): Here.
      	* regclass.c (initial_fixed_regs, initial_call_used_regs): Make
      	non-const, so that changes from command-line arguments can overwrite
      	values provided by the static initializers.
      	(initial_call_really_used_regs): New, used similarly to the above.
      	(initial_reg_names): Likewise.
      	(last_mode_for_init_move_cost): Promoted function-local static to
      	file-scope static to make it accessible outside init_move_cost.
      	(init_reg_sets): Do not initialize fixed_regs and call_used_regs yet.
      	Do not initialize inv_reg_alloc_order yet, either.  Do initialize
      	reg_names since it is needed for parsing command-line options.
      	(init_move_cost): Use last_mode_for_init_move_cost instead of
      	function-local static.
      	(init_reg_sets_1): Initialize fixed_regs, call_used_regs, and
      	call_really_used_regs now.  Reinitialize reg_names.  Also
      	initialize inv_reg_alloc_order.  Zero reg_class_subunion and
      	reg_class_superunion.  Clear losing_caller_save_reg_set.
      	Preserve global registers if called more than once.  Reset
      	move cost, may_move_in_cost, may_move_out_cost, and
      	last_mode_for_init_move_cost.
      	(init_reg_modes_target): Renamed from init_reg_modes_once, since it
      	can now be invoked more than once.  Update comments.
      	(init_regs): Update comments.
      	(fix_register): Update initial_fixed_regs, initial_call_used_regs,
      	and initial_call_really_used_regs, instead of the non-initial 
              variables.  This allows us to save the command-line register settings
      	after target reinitialization.
      	(init_reg_autoinc): Zero forbidden_inc_dec_classes.
      	* rtl.h (init_emit_regs): Declare.
      	(init_reg_modes_target, init_alias_target): Renamed as described
      	above.
      	* reload1.c (init_reload): Update comments.
      	* optabs.c (init_optabs): Likewise.
      	* cfgloopanal.c (init_set_costs): Explicitly zero target_avail_regs.
      	
      
      
      Co-Authored-By: David Ung <davidu@mips.com>
      Co-Authored-By: Nigel Stephens <nigel@mips.com>
      
      From-SVN: r127832
      Sandra Loosemore committed
    • unsigned-long-compare.c: Remove target selector. · 107d7676
      	* gcc.dg/unsigned-long-compare.c: Remove target selector.
      
      From-SVN: r127831
      Uros Bizjak committed
    • config.host: Add x86_64-elf target. · 3ae3dbd6
      	* config.host : Add x86_64-elf target.
      
      From-SVN: r127830
      Hans Kester committed
    • simplify.c (gfc_simplify_lgamma): Fix mpfr_lgamma call. · 5b550abd
      2007-08-27  Tobias Burnus  <burnus@net-b.de>
      
      	* simplify.c (gfc_simplify_lgamma): Fix mpfr_lgamma call.
      
      From-SVN: r127829
      Tobias Burnus committed
    • arm-eabi1.c, [...]: Move to gcc.target/arm directory. · f95ae12a
      	* gcc.dg/arm-eabi1.c, gcc.dg/symbian1.c, cc.dg/symbian2.c,
      	gcc.dg/symbian3.c, gcc.dg/symbian4.c, gcc.dg/symbian5.c,
      	gcc.dg/20051215-1.c: Move to gcc.target/arm directory.
      	* gcc.dg/const-compare.c, gcc.dg/non-lazy-ptr-test.c,
      	gcc.dg/unsigned-long-compare.c, gcc.dg/rs6000-leaf.c: Move to
      	gcc.target/powerpc directory.
      	* gcc.dg/m68k-pic-1.c, gcc.dg/m68k-slp-ice.c: Move to
      	gcc.target/m68k directory.
      	* gcc.dg/i386-darwin-fpmath.c: Move to gcc.target/i386 directory.
      	* gcc.dg/cris-peep2-andu1.c, gcc.dg/cris-peep2-andu2.c,
      	gcc.dg/cris-peep2-xsrand.c, gcc.dg/cris-peep2-xsrand2.c: Move to
      	gcc.target/cris directory.
      	* gcc.dg/20020620-1.c: Move to gcc.target/mips directory.
      	* gcc.dg/bfin-longcall-1.c, gcc.dg/bfin-longcall-2.c: Move to
      	gcc.target/bfin directory.
      
      	* gcc.target/sh: New directory.
      	* gcc.target/sh/sh.exp: New file.
      	* gcc.dg/pr21255-1.c, gcc.dg/pr21255-2-mb.c, gcc.dg/pr21255-2-ml.c,
      	gcc.dg/pr21255-3.c, gcc.dg/pr21255-4.c, gcc.dg/sh4a-bitmovua.c,
      	gcc.dg/sh4a-cos.c, gcc.dg/sh4a-cosf.c, gcc.dg/sh4a-fprun.c,
      	gcc.dg/sh4a-fsrra.c, gcc.dg/sh4a-memmovua.c, gcc.dg/sh4a-sin.c,
      	gcc.dg/sh4a-sincosf.c, gcc.dg/sh4a-sinf.c gcc.dg/sh-relax.c,
      	gcc.dg/sh-relax-vxworks.c: Move to gcc.target/sh directory.
      
      From-SVN: r127828
      Uros Bizjak committed
    • pow-1.c: Fix scan-assembler-not. · a29e020e
      	* gcc.target/i386/pow-1.c: Fix scan-assembler-not.
      	* gcc.target/i386/asm-3.c: Skip -fpic ilp32 targets only.
      	* gcc.target/i386/tailcall-1.c: Ditto.
      	* gcc.target/i386/20020523-1.c: Require nonpic effective target.
      	* gcc.target/i386/local2.c: Ditto.
      	* gcc.target/i386/stack-prot-kernel.c: Ditto.
      	* gcc.target/i386/20011119-1.c: Ditto.
      	* gcc.target/i386/fastcall-1.c: Fix target selector.
      
      From-SVN: r127826
      Uros Bizjak committed
    • rtl.h (XCNMPFV): Preserve const-ness of parameters through use of __typeof(). · 14b4a70a
      	* rtl.h (XCNMPFV): Preserve const-ness of parameters through use of
      	__typeof().
      
      From-SVN: r127825
      Chao-ying Fu committed
    • alias.c (memory_modified_1, [...]): Constify. · 9678086d
      	* alias.c (memory_modified_1, memory_modified_in_insn_p):
      	Constify.
      	* basic-block.h (tree_predicted_by_p, rtl_predicted_by_p):
      	Likewise.
      	* bb-reorder.c (copy_bb_p): Likewise.
      	* cfghooks.c (can_remove_branch_p, can_merge_blocks_p,
      	predicted_by_p, can_duplicate_block_p, block_ends_with_call_p,
      	block_ends_with_condjump_p): Likewise.
      	* cfghooks.h (can_remove_branch_p, can_merge_blocks_p,
      	predicted_by_p, can_duplicate_block_p, block_ends_with_call_p,
      	block_ends_with_condjump_p): Likewise.
      	* cfglayout.c (cfg_layout_can_duplicate_bb_p): Likewise.
      	* cfgrtl.c (can_delete_note_p, can_delete_label_p,
      	rtl_can_merge_blocks, cfg_layout_can_merge_blocks_p,
      	rtl_block_ends_with_call_p, rtl_block_ends_with_condjump_p,
      	need_fake_edge_p, rtl_can_remove_branch_p): Likewise.
      	* dbxout.c (dbx_debug_hooks, xcoff_debug_hooks): Use
      	debug_true_const_tree instad of debug_true_tree.
      	* debug.c (do_nothing_debug_hooks): Likewise.
      	* debug.h (ignore_block, debug_true_const_tree): Constify.
      	* dwarf2out.c (stack_adjust_offset, clobbers_queued_reg_save,
      	dwarf2out_ignore_block, is_pseudo_reg, is_tagged_type,
      	decl_ultimate_origin, block_ultimate_origin, lookup_decl_loc,
      	same_dw_val_p, add_ranges, is_subrange_type, type_is_enum,
      	dbx_reg_number, is_based_loc, field_type,
      	simple_type_align_in_bits, simple_decl_align_in_bits,
      	simple_type_size_in_bits, field_byte_offset, insert_float,
      	type_tag, member_declared_type, is_redundant_typedef,
      	secname_for_decl, is_inlined_entry_point): Likewise.
      	* emit-rtl.c (const_next_insn, const_previous_insn,
      	const_next_nonnote_insn, const_prev_nonnote_insn,
      	const_next_real_insn, const_prev_real_insn,
      	const_next_active_insn, const_prev_active_insn, const_next_label,
      	const_prev_label): Likewise.
      	* except.h (lookup_stmt_eh_region_fn, lookup_stmt_eh_region):
      	Likewise.
      	* haifa-sched.c (may_trap_exp, haifa_classify_insn,
      	find_set_reg_weight, no_real_insns_p, find_set_reg_weight,
      	sched_insn_is_legitimate_for_speculation_p): Likewise.
      	* jump.c (reversed_comparison_code_parts,
      	reversed_comparison_code, reversed_comparison, condjump_label):
      	Likewise.
      	* predict.c (rtl_predicted_by_p, tree_predicted_by_p): Likewise.
      	* reg-stack.c (stack_regs_mentioned_p, stack_regs_mentioned):
      	Likewise.
      	* rtl.h (const_previous_insn, const_next_insn,
      	const_prev_nonnote_insn, const_next_nonnote_insn,
      	const_prev_real_insn, const_next_real_insn,
      	const_prev_active_insn, const_next_active_insn, const_prev_label,
      	const_next_label, modified_between_p, modified_in_p,
      	const_note_storeskeep_with_call_p, condjump_label,
      	reversed_comparison, reversed_comparison_code,
      	reversed_comparison_code_parts, memory_modified_in_insn_p,
      	stack_regs_mentioned): Likewise.
      	* rtlanal.c (modified_between_p, modified_in_p, const_note_stores,
      	keep_with_call_p): Likewise.
      	* sched-deps.c (deps_may_trap_p, sched_get_condition,
      	conditions_mutex_p, sched_insns_conditions_mutex_psd_next_list,
      	sd_lists_size, sd_lists_empty_p): Likewise.
      	* sched-int.h (sched_insns_conditions_mutex_p,
      	haifa_classify_insn, no_real_insns_p,
      	sched_insn_is_legitimate_for_speculation_p, sd_next_list,
      	sd_lists_size, sd_lists_empty_p): Likewise.
      	* sdbout.c (sdb_debug_hooks): Likewise.
      	* tree-cfg.c (tree_can_merge_blocks_p, is_ctrl_altering_stmt,
      	stmt_ends_bb_p, tree_can_remove_branch_p, tree_can_duplicate_bb_p,
      	-tree_block_ends_with_call_p, tree_block_ends_with_condjump_p):
      	Likewise.
      	* tree-eh.c (lookup_stmt_eh_region_fn, lookup_stmt_eh_region,
      	tree_can_throw_internal): Likewise.
      	* tree-flow-inline.h (phi_nodes): Likewise.
      	* tree-flow.h (phi_nodesstmt_ends_bb_p, is_ctrl_altering_stmt,
      	tree_can_throw_internal, lookup_stmt_eh_region): Likewise.
      	* tree-gimple.c (const_get_call_expr_in): Likewise.
      	* tree-gimple.h (const_get_call_expr_in): Likewise.
      	* tree.c (const_lookup_attribute, attribute_list_equal,
      	attribute_list_contained): Likewise.
      	* tree.h (attribute_list_equal, attribute_list_contained,
      	const_lookup_attribute): Likewise.
      	* vmsdbgout.c (vmsdbgout_ignore_block): Likewise.
      
      From-SVN: r127824
      Kaveh R. Ghazi committed
    • Daily bump. · 8a51fbfd
      From-SVN: r127822
      GCC Administrator committed
  3. 26 Aug, 2007 12 commits