1. 12 Jun, 2005 4 commits
    • re PR tree-optimization/14796 ([tree-ssa] combine two shifts into one) · e3d025cb
      2005-06-12  James A. Morrison  <phython@gcc.gnu.org>
      
              PR tree-optimization/14796
              * fold-const.c (fold_binary): Transform (A >> C) << C into
              one BIT_AND_EXPR.
              <shift>: Transform (A OP c1) OP c2 into A OP (c1 + c2).
      
      From-SVN: r100853
      James A. Morrison committed
    • predicates.md (reg_or_arith_cint_operand): Delete. · 4ae234b0
      	* config/rs6000/predicates.md (reg_or_arith_cint_operand): Delete.
      	(reg_or_add_cint_operand): Rename from reg_or_add_cint64_operand.
      	Handle SImode.
      	(reg_or_sub_cint_operand): Likewise.
      	(mask_operand): Handle DImode.
      	(mask64_operand): Delete.
      	(and64_operand): Delete.
      	* config/rs6000/rs6000.c (num_insns_constant): Use mask_operand
      	instead of mask64_operand.
      	(print_operand): Likewise.
      	(rs6000_rtx_costs): Use mask_operand and reg_or_add_cint_operand and
      	reg_or_sub_cint_operand instead of *64_* variants.
      	* config/rs6000/rs6000.h (EXTRA_CONSTRAINT): Use mask_operand
      	instead of mask64_operand.
      	* config/rs6000/rs6000.md: Use mask_operand and and_operand instead
      	of *64_* variants.
      	(FP): New.
      	(add_op2): Delete.
      	(add<mode>3): Use reg_or_add_cint_operand.
      	(sub_op2): Delete.
      	(sub<mode>3): Use reg_or_sub_cint_operand.
      	(udiv<mode>3, div<mode>3, div<mode>3_no_mq, mod<mode>3,
      	mov<mode>_internal2, mov<mode>, cmp<mode>, cmp<mode>,
      	cmp<mode>_internal1, indirect_jump<mode>, ctr<mode>,
      	ctr<mode>_internal1, ctr<mode>_internal2, ctr<mode>_internal5,
      	ctr<mode>_internal6, save_fpregs_<mode>, return_internal_<mode>,
      	return_and_restore_fpregs_<mode>, eh_set_lr_<mode>,
      	various unnamed patterns): New.
      	(udivsi3, divsi3, divsi3_no_mq, modsi3, movsi_internal2, movsi,
      	cmpsi, cmpsi_internal1, indirect_jumpsi, ctrsi, ctrsi_internal1,
      	ctrsi_internal2, ctrsi_internal5, ctrsi_internal6, save_fpregs_si,
      	return_internal_si, return_and_restore_fpregs_si, eh_set_lr_si,
      	udivdi3, divdi3, divdi3_no_mq, moddi3, movdi_internal2, movdi,
      	cmpdi, cmpdi_internal1, indirect_jumpdi, ctrdi, ctrdi_internal1,
      	ctrdi_internal2, ctrdi_internal5, ctrdi_internal6, save_fpregs_di,
      	return_internal_di, return_and_restore_fpregs_di, eh_set_lr_di,
      	movhi, movqi, cmpsf, cmpdf, cmptf, various unnamed patterns):
      	Delete.
      
      From-SVN: r100852
      Geoffrey Keating committed
    • Fix PR tree-optimization/22005 Fix PR tree-optimization/22025 · 58b82d2b
      2005-06-11  Daniel Berlin  <dberlin@dberlin.org>
      
      	Fix PR tree-optimization/22005
      	Fix PR tree-optimization/22025
      
      	* tree-ssa-structalias.c (struct variable_info): Add has_union
      	member.
      	(create_variable_info_for):  Mark variables containing unions.
      	Don't sort the field stack if notokay is true.
      	(find_what_p_points_to): Convert variables containing unions back
      	to their SFT's if necessary.
      
      From-SVN: r100851
      Daniel Berlin committed
    • Daily bump. · e71b548a
      [[Split portion of a mixed commit.]]
      
      From-SVN: r100849.2
      GCC Administrator committed
  2. 11 Jun, 2005 8 commits
    • re PR fortran/17792 ([4.0 only] deallocate does not return stat) · 94631c1e
      	PR fortran/17792
      	PR fortran/21375
      	* gfortran.dg/deallocate_statO.f90:  New test.
      
      From-SVN: r100847
      Steven G. Kargl committed
    • rtl.h (to_rtx_code): Remove. · 411e6c1e
              * rtl.h (to_rtx_code): Remove.
              * machmode.h (to_machine_mode): Likewise.
              * read-rtl.c (apply_mode_macro): Replace to_machine_mode with
              explicit cast.
              (apply_mode_maps): Likewise.
              (read_rtx_1): Likewise.
              (apply_code_macro): Replace to to_rtx_code with explicit cast.
              (check_code_macro): Likewise.
              (read_rtx_1): Likewise.
      
      From-SVN: r100846
      Gabriel Dos Reis committed
    • re PR fortran/17792 ([4.0 only] deallocate does not return stat) · 364667a1
      PR fortran/17792
      PR fortran/21375
      * trans-array.c (gfc_array_deallocate): pstat is new argument
        (gfc_array_allocate): update gfc_array_deallocate() call.
        (gfc_trans_deferred_array): ditto.
      * trans-array.h: update gfc_array_deallocate() prototype.
      * trans-decl.c (gfc_build_builtin_function_decls): update declaration
      * trans-stmt.c (gfc_trans_deallocate): Implement STAT= feature.
      
      From-SVN: r100845
      Steven G. Kargl committed
    • c-typeck.c (convert_for_assignment): Avoid cheking OPT_Wc___compat, as it is always true. · c6bdf92e
              * c-typeck.c (convert_for_assignment): Avoid cheking
              OPT_Wc___compat, as it is always true.
      
      From-SVN: r100843
      Gabriel Dos Reis committed
    • [multiple changes] · 39328081
      2005-06-11  Thomas Koenig  <Thomas.Koenig@onlinde.de>
      
      	PR libfortran/21333
      	* Makefile.am: Add in_pack_c4.c, in_pack_c8.c, in_unpack_c4.c
      	and in_unpack_c8.c.
      	* Makefile.in: Regenerate.
      	* libgfortran.h:  Declare internal_pack_c4, internal_pack_c8,
      	internal_unpack_c4 and internal_unpack_c8.
      	* m4/in_pack.m4: Use rtype_ccode insteald of rtype_kind
      	in function name.
      	Use sizeof (rtype_name) as size for memory allocation.
      	* m4/in_unpack.m4: Use rtype_ccode insteald of rtype_kind
      	in function name.
      	Use sizeof (rtype_name) for calculation of sizes for memcpy.
      	* runtime/in_pack_generic.c:  For real, integer and logical
      	call internal_pack_4 if size==4 and internal_pack_8 if
      	size==8.
      	For complex, call internal_pack_c4 if size==8 and
      	internal_pack_c8 if size==16.
      	* runtime/in_unpack_generic.c: For real, integer and logical
              call internal_unpack_4 if size==4 and internal_unpack_8 if
              size==8.
              For complex, call internal_unpack_c4 if size==8 and
              internal_unpack_c8 if size==16.
      	* generated/in_pack_i4.c:  Regenerated.
      	* generated/in_pack_i8.c:  Regenerated.
      	* generated/in_unpack_i4.c:  Regenerated.
      	* generated/in_unpack_i8.c:  Regenerated.
      	* generated/in_pack_c4.c:  New file.
      	* generated/in_pack_c8.c:  New file.
      	* generated/in_unpack_c4.c:  New file.
      	* generated/in_unpack_c8.c:  New file.
      
      2005-05-11  Thomas Koenig  <Thomas.Koenig@online.de>
      
      	* gfortran.fortran-torture/execute/in-pack.f90:  New test.
      
      From-SVN: r100842
      Thomas Koenig committed
    • lambda-code.c (replace_uses_equiv_to_x_with_y): Verify the step is an… · e4d693c1
      lambda-code.c (replace_uses_equiv_to_x_with_y): Verify the step is an INTEGER_CST before calling int_cst_value.
      
      2005-06-11  Daniel Berlin  <dberlin@dberlin.org>
      
      	* lambda-code.c (replace_uses_equiv_to_x_with_y): Verify the step
      	is an INTEGER_CST before calling int_cst_value.
      
      From-SVN: r100839
      Daniel Berlin committed
    • Daily bump. · e8f92731
      [[Split portion of a mixed commit.]]
      
      From-SVN: r100836.2
      GCC Administrator committed
  3. 10 Jun, 2005 13 commits
  4. 09 Jun, 2005 15 commits
    • sh.md (mextr_rl): Set buffer size properly. · 9a487a45
      	* config/sh/sh.md (mextr_rl): Set buffer size properly.
      	(*mextr_lr): Likewise.
      
      From-SVN: r100808
      Kaz Kojima committed
    • Fix email address · 724da856
      From-SVN: r100807
      Gabriel Dos Reis committed
    • re PR c/21759 (Implement warning for codes at the intersection of C and C++) · b7e20b53
              PR c/21759
              * c.opt (Wc++-compat): New.
              * doc/invoke.texi (-Wc++-compat): Document.
              * c-typeck.c (convert_for_assignment): Check for implicit
              conversion void* -> T*.
      testsuite/
              * gcc.dg/Wcxx-compat-1.c: New.
      
      From-SVN: r100806
      Gabriel Dos Reis committed
    • re PR fortran/21480 ([4.0 only] trivial reshape operation gives erroneous results) · 92f5e87c
      2005-06-09  Thomas Koenig  <Thomas.Koenig@online.de>
      
      	PR libfortran/21480
      	* m4/reshape.m4:  Use sizeof (rtype_name) for sizes to be passed
      	to reshape_packed.
      	* generated/reshape_c4.c:  Regenerated.
      	* generated/reshape_c8.c:  Regenerated.
      	* generated/reshape_i4.c:  Regenerated.
      	* generated/reshape_i8.c:  Regenerated.
      
      2005-06-09  Thomas Koenig  <Thomas.Koenig@online.de>
      
      	PR libfortran/21480
      	* gfortran.dg/reshape-complex.f90:  Add a test for a packed
      	complex array.
      
      From-SVN: r100805
      Thomas Koenig committed
    • machmode.h (to_machine_mode): New. · 8562f05c
              * machmode.h (to_machine_mode): New.
              * rtl.h (to_rtx_code): Likewise.
              * read-rtl.c (apply_mode_macro): Convert mode to machine_mode.
              (print_c_condition): Convert return value of htab_find().
              (apply_code_macro): Add explicit cast when convertin to enums.
              (apply_mode_maps): Likewise.
              (check_code_macro): Likewise.
              (read_rtx_1): Likewise.
      
      From-SVN: r100804
      Gabriel Dos Reis committed
    • ia64.c (update_set_flags): Just return for IF_THEN_ELSE. · c8d3810f
              * config/ia64/ia64.c (update_set_flags): Just return for IF_THEN_ELSE.
              Use SCALAR_FLOAT_MODE_P.
              * config/ia64/vect.md (vcondv2sf): Remove code check on comparison.
              (fselect): Rename from fpcmp; use %F.
              (fpcmp): New.
      
      From-SVN: r100803
      Richard Henderson committed
    • cgraphunit.c (cgraph_create_edges): Do not walk BLOCK; finalize local statics… · 30be951a
      cgraphunit.c (cgraph_create_edges): Do not walk BLOCK; finalize local statics when doing unit-at-a-time.
      
      	* cgraphunit.c (cgraph_create_edges): Do not walk BLOCK; finalize
      	local statics when doing unit-at-a-time.
      	(cgraph_varpool_assemble_pending_decls): Output debug info.
      	* dwarf2out.c (decls_for_scope): Skip local statics.
      	(dwarf2out_decl): Handle local statics.
      	* passes.c (rest_of_decl_compilation): Do not differentiate
      	local and global statics in unit-at-a-time.
      	* tree-inline.c (remap_decls): Put local static into
      	unexpanded_vars_list rather than introducing duplicated VAR_DECL
      	node.
      
      From-SVN: r100802
      Jan Hubicka committed
    • rs6000.c: (rs6000_insn_valid_within_doloop): Fix prototype. · 2ffa9a0c
      2005-06-09  Daniel Berlin  <dberlin@dberlin.org>
      
      	* config/rs6000/rs6000.c: (rs6000_insn_valid_within_doloop): Fix
      	prototype.
      
      From-SVN: r100801
      Daniel Berlin committed
    • Makefile.in (OBJS-common): Add tree-ssa-structalias.o. · 910fdc79
      2005-06-08  Daniel Berlin  <dberlin@dberlin.org>
      
      	* Makefile.in (OBJS-common): Add tree-ssa-structalias.o.
      	* tree-flow.h (find_what_p_points_to): Add prototype.
      	(push_fields_onto_fieldstack): Ditto.
      	(sort_fieldstack): Ditto.
      	* tree-optimize.c (init_tree_optimization_passes): Add
      	pass_build_pta and pass_del_pta.
      	* tree-pass.h (pass_build_pta): New structure.
      	(pass_del_pta): Ditto.
      	* tree-ssa-alias.c (compute_flow_sensitive_aliasing): Disambiguate
      	using new alias analyzer.
      	(push_fields_onto_fieldstack): Removed from here.
      	(bitpos_of_field): Ditto.
      	(fieldoff_compare): Ditto.
      	* tree-ssa-structalias.c: New file.
      	* tree-ssa-structalias.h: Ditto.
      
      From-SVN: r100800
      Daniel Berlin committed
    • c-typeck.c (build_c_cast): Check type punning on COMPONENT_REF too. · 5878b92f
      /:
      	* c-typeck.c (build_c_cast): Check type punning on COMPONENT_REF
      	too.
      testsuite:
      	* gcc.dg/alias-8.c: New.
      
      From-SVN: r100799
      Nathan Sidwell committed
    • bfin.c (enum bfin_builtins): Moved here from... · 9df3d545
      	* config/bfin/bfin.c (enum bfin_builtins): Moved here from...
      	* config/bfin/bfin.h (enum bfin_builtins): ... here.
      
      From-SVN: r100798
      Bernd Schmidt committed
    • target.h (insn_valid_within_doloop): Rename into "invalid_within_doloop". · e7e64a25
      2005-06-09  Adrian Straetling  <straetling@de.ibm.com>
      
      	* target.h (insn_valid_within_doloop): Rename into
      	"invalid_within_doloop".  Change return type to "const char *".
      	Update Comment.
      	* targhooks.h (default_insn_valid_within_doloop): Rename into
      	"default_invalid_within_doloop".
      	* targhooks.c (default_insn_valid_within_doloop): Likewise.
      	Update Comment.
      	* target-def.h (TARGET_INSN_VALID_WITHIN_DOLOOP): Rename target hook
      	into "TARGET_INVALID_WITHIN_DOLOOP". Default it to
      	"default_invalid_within_doloop".
      	* hooks.c (hook_constcharptr_rtx_null): New function.
      	(hook_bool_rtx_true): Remove.
      	* hooks.h (hook_constcharptr_rtx_null): Declare.
      	(hook_bool_rtx_true): Remove.
      	* loop-doloop.c (doloop_valid_p): Temporarily store return value of
      	"invalid_within_doloop" and print error message if non-null.
      	Update Comment.
      	* doc/tm.texi: Update documentation.
      	* config/s390/s390.c: Adjust to new hook name and new default hook.
      	* config/rs6000/rs6000.c: (rs6000_insn_valid_within_doloop): Rename
      	into "rs6000_invalid_within_doloop".
      	(rs6000_invalid_within_doloop): Change return type to "static const
      	char *" and replace return values.  Update Comment.
      
      From-SVN: r100797
      Adrian Straetling committed
    • bfin.opt (mlong-calls): New. · fd078f52
      	* config/bfin/bfin.opt (mlong-calls): New.
      	* config/bfin/predicates.md (call_insn_operand): Disallow SYMBOL_REF
      	if TARGET_LONG_CALLS.
      
      From-SVN: r100796
      Bernd Schmidt committed
    • gjavah.c (error): Add ATTRIBUTE_PRINTF_1. · 74118f15
      	* gjavah.c (error): Add ATTRIBUTE_PRINTF_1.
      	* java-tree.h (parse_error_context): Move...
      	* parse.h (parse_error_context): ... here, add ATTRIBUTE_GCC_DIAG.
      	* parse.y (parse_warning_context): Add ATTRIBUTE_GCC_DIAG.
      	* verify-impl.c (debug_print): Add ATTRIBUTE_PRINTF_1.
      
      From-SVN: r100795
      Kaveh R. Ghazi committed
    • re PR tree-optimization/20610 (Real by complex multiplications perform unnecessary operations) · e41d82f5
              PR tree-opt/20610
              * tree.h (DECL_COMPLEX_GIMPLE_REG_P): New.
              (struct tree_decl): Add gimple_reg_flag.
              * integrate.c (copy_decl_for_inlining): Copy it.
              * gimplify.c (internal_get_tmp_var): Set it.
              (gimplify_bind_expr): Likewise.
              (gimplify_function_tree): Likewise.
              (gimplify_modify_expr_complex_part): New.
              (gimplify_modify_expr): Use it.
              * tree-gimple.c (is_gimple_reg_type): Allow complex.
              (is_gimple_reg): Allow complex with DECL_COMPLEX_GIMPLE_REG_P set.
      
              * tree-complex.c (complex_lattice_t): New.
              (complex_lattice_values, complex_variable_components): New.
              (some_nonzerop, find_lattice_value, is_complex_reg,
              init_parameter_lattice_values, init_dont_simulate_again,
              complex_visit_stmt, complex_visit_phi, create_components,
              update_complex_components, update_parameter_components,
              update_phi_components, update_all_vops, expand_complex_move): New.
              (extract_component): Handle INDIRECT_REF, COMPONENT_REF, ARRAY_REF,
              SSA_NAME.
              (update_complex_assignment): Use update_complex_components;
              handle updates of return_expr properly.
              (expand_complex_addition): Use complex lattice values.
              (expand_complex_multiplication): Likewise.
              (expand_complex_division): Likewise.
              (expand_complex_libcall): Use update_complex_components.
              (expand_complex_comparison): Use update_stmt.
              (expand_complex_operations_1): Use expand_complex_move, retrieve
              lattice values.
              (tree_lower_complex): Compute lattice values.
              (tree_lower_complex_O0): Duplicate from tree_lower_complex.
              (pass_lower_complex_O0): Rename from pass_lower_complex.
              (pass_lower_complex, gate_no_optimization): New.
              * tree-optimize.c (init_tree_optimization_passes): Update for
              complex pass changes.
              * tree-pass.h (pass_lower_complex_O0): Declare.
      
      From-SVN: r100793
      Richard Henderson committed