aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2007-01-10tree-inline.c (setup_one_parameter): Do not propagate into abnormal PHIs.Jan Hubicka2-1/+7
* tree-inline.c (setup_one_parameter): Do not propagate into abnormal PHIs. From-SVN: r120637
2007-01-09simplify.c (gfc_simplify_ibclr): Fix POS comparison.Brooks Moses2-2/+7
* simplify.c (gfc_simplify_ibclr): Fix POS comparison. (gfc_simplify_ibset): Same. From-SVN: r120636
2007-01-09re PR fortran/30381 ([4.1 only] ISHFTC() constant folding is broken.)Brooks Moses7-54/+149
PR 30381 PR 30420 * fortran/simplify.c (convert_mpz_to_unsigned): New function. (convert_mpz_to_signed): New function, largely based on twos_complement(). (twos_complement): Removed. (gfc_simplify_ibclr): Add conversions to and from an unsigned representation before bit-twiddling. (gfc_simplify_ibset): Same. (gfc_simplify_ishftc): Add checks for overly large constant arguments, only check the third argument if it's present, carry over high bits into the result as appropriate, and perform the final conversion back to a signed representation using the correct sign bit. (gfc_simplify_not): Removed unnecessary masking. * testsuite/gfortran.dg/ * chkbits.f90: Added IBCLR tests; test calls for different integer kinds. * ishft.f90: Renamed to ishft_1.f90... * ishft_1.f90: ...Renamed from ishft.f90. * ishft_2.f90: New test. * ishft_3.f90: New test. From-SVN: r120634
2007-01-10spu.h (STACK_SAVE_AREA): Use VOIDmode for SAVE_FUNCTION...Sa Liu5-26/+64
* spu.h (STACK_SAVE_AREA): Use VOIDmode for SAVE_FUNCTION, SImode for SAVE_NONLOCAL and Pmode for any other save level. * spu-protos.h (spu_restore_stack_block): Declare. * spu.md (save_stack_block): Remove. (restore_stack_block): Call spu_restore_stack_block. * spu.c (spu_restore_stack_block): New function. (spu_expand_epilogue): Remove old comment. Co-Authored-By: Ben Elliston <bje@au.ibm.com> From-SVN: r120633
2007-01-10[multiple changes]Jerry DeLisle4-5/+28
2007-01-09 Paul Thomas <pault@gcc.gnu.org> PR fortran/30408 * resolve.c (resolve_code): Use the code->expr character length directly to set length of llen. 2007-01-09 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR fortran/30408 * lang.opt: Add Wcharacter_truncation option. * options.c (gfc_init_options): Initialize gfc_option.warn_character_truncation to zero. (gfc_handle_option): Add case for OPT_Wcharacter_truncation. From-SVN: r120632
2007-01-09* gfortran.dg/altreturn_2.f90: Removed executable bit.Brooks Moses2-0/+4
From-SVN: r120631
2007-01-10re PR middle-end/30322 (((-i-1) + i) +1) is turned into ~i + (i+1) and never ↵Zdenek Dvorak6-40/+138
into 0 on the tree level) PR tree-optimization/30322 * tree-ssa-loop-ivopts.c (fold_affine_expr, iv_value): Removed. (cand_value_at): Return the value as aff_tree. (may_eliminate_iv): Convert the bound from aff_tree to tree. * tree-affine.c (aff_combination_add_cst, aff_combination_add_product, aff_combination_mult): New functions. (aff_combination_add): Use aff_combination_add_cst. (aff_combination_convert): Allow conversions to a wider type. (tree_to_aff_combination): Handle BIT_NOT_EXPR. * tree-affine.h (aff_combination_mult): Declare. * gcc.dg/tree-ssa/loop-21.c: New test. From-SVN: r120630
2007-01-10Daily bump.GCC Administrator1-1/+1
From-SVN: r120628
2007-01-09tm.texi: Update documentation to reflect reality of exec and start file ↵Carlos O'Donell3-13/+44
search behaviours. gcc/ 2007-01-09 Carlos O'Donell <carlos@codesourcery.com> * doc/tm.texi: Update documentation to reflect reality of exec and start file search behaviours. Update copyright year. * doc/invoke.texi: Explain how GCC_EXEC_PREFIX is used to find header file directories. From-SVN: r120622
2007-01-09Merged gcj-eclipse branch to trunk.Tom Tromey17499-104661/+610410
From-SVN: r120621
2007-01-09i386.md (*sinxf2): Rename to *sinxf2_i387.Uros Bizjak2-164/+88
* config/i386/i386.md (*sinxf2): Rename to *sinxf2_i387. (*cosxf2): Rename to cosxf2_i387. (*sindf2, *sinsf2): Extend operand 1 to XFmode. Macroize patterns using X87MODEF12 mode macro. Rename patterns to *sin_extend<mode>xf2_i387. Use SSE_FLOAT_MODE_P to disable patterns for SSE math. (*cosdf2, *cossf2): Ditto. (sincosdf3, sincossf3): Ditto. Rewrite corresponding splitters to match extended input operands. (sincos<mode>3): New expander. (*sinextendsfdf2, *cosextendsfdf2, *sincosextendsfdf3): Remove insn patterns and corresponding splitters. From-SVN: r120620
2007-01-09t-linux (TARGET_LIBGCC2_CFLAGS): Delete.Kaz Kojima5-36/+52
gcc/ * config/sh/t-linux (TARGET_LIBGCC2_CFLAGS): Delete. (SHLIB_MAPFILES, SHLIB_LINK, SHLIB_INSTALL): Likewise. libgcc/ * config/sh/t-linux: New. * config.host (sh*-*-linux*): Set tmake_file. From-SVN: r120619
2007-01-09re PR target/30173 (Error in ARM softfloat routine __adddf3)Nicolas Pitre2-1/+6
2007-01-09 Nicolas Pitre <nico@cam.org> PR target/30173 * arm/ieee754-df.S (Lad_s): Also test the low word of X for zero. From-SVN: r120613
2007-01-09MAINTAINERS: Add myself as i386 maintainer.Uros Bizjak2-1/+5
* MAINTAINERS: Add myself as i386 maintainer. From-SVN: r120612
2007-01-09Index: ChangeLogGeoffrey Keating10-3/+65
2007-01-08 Geoffrey Keating <geoffk@apple.com> * target.h (struct gcc_target): New field library_rtti_comdat. * target-def.h (TARGET_CXX_LIBRARY_RTTI_COMDAT): New. (TARGET_CXX): Add TARGET_CXX_LIBRARY_RTTI_COMDAT. * doc/tm.texi (C++ ABI): Document TARGET_CXX_LIBRARY_RTTI_COMDAT. * config/darwin.h (TARGET_CXX_LIBRARY_RTTI_COMDAT): Define. Index: testsuite/ChangeLog 2007-01-08 Geoffrey Keating <geoffk@apple.com> * g++.dg/rtti/darwin-builtin-linkage.C: New. Index: cp/ChangeLog 2007-01-08 Geoffrey Keating <geoffk@apple.com> * rtti.c: Include target.h. (emit_support_tinfos): If ! targetm.cxx.library_rtti_comdat (), don't emit typeinfo for fundamental types as weak. * Make-lang.in (cp/rtti.o): Update and correct dependencies. From-SVN: r120611
2007-01-09Regenerate configure after updating configure.inKai Tietz2-137/+147
From-SVN: r120610
2007-01-09* doc/invoke.texi (Optimize Options): Correct description of -O0.Geoffrey Keating1-1/+2
From-SVN: r120609
2007-01-09* doc/invoke.texi (Optimize Options): Correct description of -O0.Geoffrey Keating1-0/+4
From-SVN: r120608
2007-01-08intrinsics-1.c: Remove xfail.Andrew Pinski2-2/+5
2007-01-08 Andrew Pinski <andrew_pinski@playstation.sony.com> * gcc.target/spu/intrinsics-1.c: Remove xfail. From-SVN: r120607
2007-01-09Daily bump.GCC Administrator1-1/+1
From-SVN: r120603
2007-01-08tree.h (force_fit_type_double): Export.Richard Guenther5-89/+100
2007-01-08 Richard Guenther <rguenther@suse.de> * tree.h (force_fit_type_double): Export. (force_fit_type): Remove. * fold-const.c (force_fit_type_double): New function. (force_fit_type): Remove. (int_const_binop): Use it. (fold_convert_const_int_from_int): Likewise. (fold_convert_const_int_from_real): Likewise. (fold_div_compare): Likewise. (fold_sign_changed_comparison): Likewise. (fold_unary): Likewise. (fold_negate_const): Likewise. (fold_abs_const): Likewise. (fold_not_const): Likewise. * c-common.c (shorten_compare): Use force_fit_type_double. * convert.c (convert_to_pointer): Likewise. From-SVN: r120597
2007-01-08tree.h (build_int_cst_wide_type): Export.Richard Guenther14-53/+75
2007-01-08 Richard Guenther <rguenther@suse.de> * tree.h (build_int_cst_wide_type): Export. * tree.c (build_int_cst_wide_type): New function. (build_int_cst_wide): Fix comment. * builtins.c (fold_builtin_object_size): Use build_int_cst to build -1 or 0 of the correct type. Use fit_double_type to check for overflow. * fold-const.c (optimize_bit_field_compare): Use build_int_cst_type to build the mask. (decode_field_reference): Likewise. (all_ones_mask_p): Likewise. (native_interpret_int): Use build_int_cst_wide_type. (fold_binary): Use build_int_cst_type to build an all-ones value. * stor-layout.c (set_sizetype): Use build_int_cst_wide_type. java/ * lex.c (do_java_lex): Use build_int_cst_wide_type. * jcf-parse.c (get_constant): Likewise. cp/ * cvt.c (cp_convert_to_pointer): Use build_int_cst_type. ada/ * cuintp.c (build_cst_from_int): Use built_int_cst_type. * trans.c (gnat_to_gnu): Likewise. From-SVN: r120596
2007-01-08* config/pa/t-pa64 (libgcc_stub.a): Use $(T).Daniel Jacobowitz2-4/+8
From-SVN: r120595
2007-01-09genautomata.c (STATS_OPTION): New option.Ben Elliston3-10/+30
* genautomata.c (STATS_OPTION): New option. (stats_flag): New flag. (gen_automata_option): Handle it. (initiate_automaton_gen): Ditto. (write_automata): Output statistics only if stats_flag is set. Likewise, output time statistics only if time_flag is set. * doc/md.texi (Processor pipeline description): Document new flag. From-SVN: r120594
2007-01-08builtins.c (fold_builtin_int_roundingfn): Use fit_double_type.Richard Guenther5-105/+100
2007-01-08 Richard Guenther <rguenther@suse.de> * builtins.c (fold_builtin_int_roundingfn): Use fit_double_type. * tree.c (build_int_cst_type): Likewise. (size_in_bytes): Don't call force_fit_type on the result. (int_fits_type_p): Use fit_double_type. * fold-const.c (fit_double_type): New function. (force_fit_type): Use it. * tree.h (fit_double_type): Export. From-SVN: r120593
2007-01-08* MAINTAINERS: Add myself as i386 maintainer.Jan Hubicka1-1/+1
From-SVN: r120592
2007-01-08* MAINTAINERS: Add myself as build system maintainer.Jan Hubicka2-0/+5
From-SVN: r120591
2007-01-08* ipa.c (function_and_variable_visibility): Fix return type.Jan Hubicka2-1/+3
From-SVN: r120590
2007-01-08* tree-vectorizer.c (gate_increase_alignment): Fix return type.Jan Hubicka2-1/+5
From-SVN: r120589
2007-01-08overflow-warn-1.C: Fix testcase.Manuel López-Ibáñez10-877/+12
2007-01-08 Manuel Lopez-Ibanez <manu@gcc.gnu.org> testsuite/ * g++.dg/warn/overflow-warn-1.C: Fix testcase. * g++.dg/warn/overflow-warn-3.C: Likewise. * g++.dg/warn/overflow-warn-4.C: Likewise. * g++.dg/warn/overflow-warn-5.C: Likewise. * g++.dg/warn/overflow-warn-6.C: Likewise. * g++.dg/warn/Woverflow-1.C: Likewise. * g++.dg/warn/Woverflow-2.C: Likewise. * g++.dg/warn/Woverflow-3.C: Likewise. * g++.dg/warn/multiple-overflow-warn-2.C: Likewise. From-SVN: r120588
2007-01-08interface.c, [...]: Update Copyright years.Steven G. Kargl8-1353/+1243
2007-01-08 Steven G. Kargl <kargl@gcc.gnu.org> * interface.c, intrinsic.c, gfortranspec.c, io.c, f95-lang.c, iresolve.c, match.c: Update Copyright years. Whitespace. From-SVN: r120587
2007-01-08tree-ssa-ccp.c (maybe_fold_offset_to_array_ref): Use type of offset to build ↵Richard Guenther9-25/+44
the index. 2007-01-08 Richard Guenther <rguenther@suse.de> * tree-ssa-ccp.c (maybe_fold_offset_to_array_ref): Use type of offset to build the index. * tree-pretty-print.c (dump_generic_node): Don't build negated const just for printing. * c-pretty-print.c (pp_c_integer_constant): Likewise. * builtins.c (fold_builtin_int_roundingfn): Check if result fits the type by using force_fit_type and comparing the result. * predict.c (predict_loops): Use compare_tree_int for comparison. * tree.c (build_int_cst): Fall back to integer_type_node for NULL_TREE type. (build_int_cst_wide): Assert type is non-null. fortran/ * trans-io.c (transfer_array_desc): Use build_int_cst instead of build_int_cstu. From-SVN: r120586
2007-01-08* configure.in: Add support for an x86_64-mingw* target.Kai Tietz2-0/+13
From-SVN: r120585
2007-01-08trans-array.c (constant_array_constructor_p): New function to determine ↵Roger Sayle5-8/+173
whether an array constructor consists only of... * trans-array.c (constant_array_constructor_p): New function to determine whether an array constructor consists only of constant elements, and if so return it's size. (gfc_build_constant_array_constructor): Construct a statically initialized gfortran array for a given EXPR_ARRAY. (gfc_trans_constant_array_constructor): Efficiently scalarize a constant array constructor. (gfc_trans_array_constructor): Tidy up use of CONST_STRING. Special case scalarization of constant array constructors, all of whose elements are specified, using constant_array_constructor_p and gfc_trans_constant_array_constructor. (gfc_conv_scalarized_array_ref): Check whetger info->offset is zero before adding it to index, to avoid creating a NON_LVALUE_EXPR. * gfortran.dg/array_constructor_14.f90: New test case. * gfortran.dg/vect/vect-5.f90: Update test for improved alignment. From-SVN: r120584
2007-01-08Better handling of COND_EXPRs in rhsRoberto Costa5-8/+113
From-SVN: r120581
2007-01-08tree-ssa-forwprop.c (forward_propagate_into_cond, [...]): Release defs of ↵Jan Hubicka2-1/+11
propagated statement. * tree-ssa-forwprop.c (forward_propagate_into_cond, tree_ssa_forward_propagate_single_use_va): Release defs of propagated statement. From-SVN: r120580
2007-01-08re PR tree-optimization/23603 (VRP does not say range for a in a = b == c; ↵Richard Guenther5-4/+70
is [0,1]) 2007-01-08 Richard Guenther <rguenther@suse.de> PR tree-optimization/23603 * tree-vrp.c (set_value_range_to_truthvalue): New function. (extract_range_from_binary): Fall back to truthvalue instead of varying for TRUTH_*_EXPR. (extract_range_from_comparison): Fall back to truthvalue instead of varying. (vrp_visit_phi_node): Don't adjust new range bounds to +INF/-INF if all visited PHI values were constant. * gcc.dg/tree-ssa/vrp31.c: New testcase. * gcc.dg/tree-ssa/vrp32.c: Likewise. From-SVN: r120578
2007-01-08cgraphunit.c (cgraph_process_new_functions): Reset reachable flag.Jan Hubicka2-26/+47
* cgraphunit.c (cgraph_process_new_functions): Reset reachable flag. (cgraph_analyze_function): break out from ... (cgraph_finalize_compilation_unit): ... here. (cgraph_expand_function): Remove forgoten commented out line. (cgraph_optimize): Analyze functions. From-SVN: r120577
2007-01-08tree-pas.h (TODO_remove_function): New flag.Jan Hubicka8-142/+202
* tree-pas.h (TODO_remove_function): New flag. (TODO_update*): Renumber. (pass_ipa_increase_alignment, pass_ipa_function_and_variable_visibility): New passes. * cgraphunit.c (cgraph_increase_alignment): Move to tree-vectorizer.c (cgraph_function_and_variable_visibility): Move to ipa.c (cgraph_optimize): Don't call cgraph_function_and_variable_visibility, cgraph_increase_alignment. * ipa-inline.c (cgraph_decide_inlining): Don't push timevar. (cgraph_decide_inlining_incrementally): Push TV_INTEGRATION before calling tree-inline. (cgraph_early_inlining): Do not call cgraph_remove_unreachable_nodes. (pass_ipa_inline, pass_early_ipa_inlining): Set TODO_remove_functions * tree-vectorizer.c (increase_alignment): Move here from cgraphunit.c (gate_increase_alignment): New function. (pass_ipa_increase_alignment): New pass. * ipa.c: Inline tree-pass.h and timevar.h (function_and_variable_visibility): Move here from cgraphunit.c * tree-optimize.c (pass_early_local_passes): Add TODO_remove_functions. * passes.c (init_optimization_passes): Add the two new passes. (execute_todo): Handle cgraph_remove_functions. From-SVN: r120576
2007-01-08* config/frv/predicates.md (reg_or_0_operand): Accept CONST_DOUBLEs.Nick Clifton2-1/+6
From-SVN: r120574
2007-01-08rtems.h, t-rtems: New.Ralf Corsepius4-0/+44
* config/bfin/rtems.h, config/bfin/t-rtems: New. * config.gcc: Add bfin*-rtems*. From-SVN: r120573
2007-01-08c.opt: Add -flax-vector-conversions.Mark Shinwell22-66/+150
gcc/ * c.opt: Add -flax-vector-conversions. * c-typeck.c (convert_for_assignment): Pass flag to vector_types_convertible_p to allow emission of note. (digest_init): Likewise. (comptypes_internal): Use vector_types_convertible_p. * c-opts.c: Handle -flax-vector-conversions. * c-common.c (flag_lax_vector_conversions): New. (vector_types_convertible_p): Unless -flax-vector conversions has been passed, disallow conversions between vectors with differing numbers of subparts and/or element types. If such a conversion is disallowed, possibly emit a note on the first occasion only to inform the user of -flax-vector-conversions. The new last argument specifies this. * c-common.h (flag_lax_vector_conversions): New. (vector_types_convertible_p): Add extra argument. * config/i386/i386.c (ix86_init_mmx_sse_builtins): Use char_type_node for V*QI type vectors. * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Update to satisfy new typechecking rules. * config/rs6000/altivec.h (vec_cmple): Use vec_cmpge. * doc/invoke.texi (C Dialect Options): Document -flax-vector-conversions. gcc/cp/ * call.c (standard_conversion): Pass flag to vector_types_convertible_p to disallow emission of note. * typeck.c (convert_for_assignment): Pass flag to vector_types_convertible_p to allow emission of note. (ptr_reasonably_similar): Pass flag to vector_types_convertible_p to disallow emission of note. gcc/testsuite/ * gcc.target/i386/20020531-1.c: Use "char" not "unsigned char" in __v8qi typedef. * gcc.target/powerpc/altivec-vec-merge.c (foo): Add casts. * gcc.dg/simd-1.c: Update dg-error directives to reflect new compiler behaviour. * gcc.dg/simd-5.c: Likewise. * gcc.dg/simd-6.c: Likewise. * g++.dg/conversion/simd1.C: Likewise. * g++.dg/conversion/simd3.C: Likewise. * g++.dg/ext/attribute-test-2.C (data): Add "vs" member. (main): Use it. From-SVN: r120572
2007-01-08re PR tree-optimization/29877 (out of SSA (TER) extends variable life of ↵Mark Shinwell4-11/+39
variable beyond original declared) PR tree-optimization/29877 gcc/ * tree-ssa-ter.c (is_replaceable_p): Deem assignments with a register variable on the RHS to not be replaceable. gcc/testsuite/ * gcc.dg/pr16194.c: Skip test entirely if we don't know the name of a hard register for the target concerned. Adjust dg-error directives to cope with new behaviour of TER. From-SVN: r120571
2007-01-08t-score-elf (MULTILIB_OPTIONS): Change.Chen Liqin16-396/+1493
* config/score/t-score-elf (MULTILIB_OPTIONS): Change. * config/score/predicates.md (const_uimm5, sr0_operand, const_simm12, const_simm15, const_pow2, const_npow2): Added. * config/score/misc.md (insv, extv, extzv, movmemsi, move_lbu_a/b, mov_lhu_a/b etc): Added and fix some bug. * config/score/score.c (score_address_cost, score_select_cc_mode): Added. Change CONST_OK_FOR_LETTER_P/EXTRA_CONSTRAINT define. Update score_rtx_costs for MACRO TARGET_RTX_COSTS. Update score_print_operand. * config/score/score.h (DATA_ALIGNMENT, SELECT_CC_MODE): Added. Adjust register allocate order and update some macro define. * config/score/score-mdaux.c (mdx_unaligned_load, mdx_unsigned_store, mdx_block_move_straight, mdx_block_move_loop_head, mdx_block_move_loop_body, mdx_block_move_loop_foot, mdx_block_move_loop, mdx_block_move): Added. (mdx_movsicc, mdp_select_add_imm, mdp_select, mds_zero_extract_andi, mdp_limm): Updated and fix some bug and typo. * config/score/score.md (movqi/hi/si, add/sub/zero/ext): Updated. (movsf, movdf, doloop_end): Added. From-SVN: r120570
2007-01-08gfortran.texi: Fix typos.Kazu Hirata2-2/+6
From-SVN: r120567
2007-01-08arm.c, [...]: Fix comment typos.Kazu Hirata6-17/+23
* config/arm/arm.c, config/arm/arm.h, config/arm/arm.md, config/arm/thumb2.md: Fix comment typos. * doc/extend.texi: Fix a typo. From-SVN: r120566
2007-01-08Daily bump.GCC Administrator1-1/+1
From-SVN: r120564
2007-01-07configure.ac: Check for __stack_chk_fail for darwin.Eric Christopher3-5232/+5750
2007-01-07 Eric Christopher <echristo@apple.com> * configure.ac: Check for __stack_chk_fail for darwin. * configure: Regenerate. From-SVN: r120559
2007-01-07re PR c++/28986 (Failure to diagnose overflow in constant expression)Manuel López-Ibáñez13-1/+1347
2007-01-07 Manuel Lopez-Ibanez <manu@gcc.gnu.org> PR c++/28986 cp/ * typeck.c (build_binary_op): Call overflow_warning if TREE_OVERFLOW_P is true for the result and not for any of the operands. testsuite/ * g++.dg/conversion/nullptr1.C: Added overflow warning. * g++.dg/warn/overflow-warn-1.C: New. * g++.dg/warn/overflow-warn-3.C: New. * g++.dg/warn/overflow-warn-4.C: New. * g++.dg/warn/overflow-warn-5.C: New. * g++.dg/warn/overflow-warn-6.C: New. * g++.dg/warn/Woverflow-1.C: New. * g++.dg/warn/Woverflow-2.C: New. * g++.dg/warn/Woverflow-3.C: New. * g++.dg/warn/multiple-overflow-warn-2.C: New. From-SVN: r120558
2007-01-07decl.c, [...]: Update Copyright dates.Steven G. Kargl8-717/+645
2007-01-07 Steven G. Kargl <kargl@gcc.gnu.org> * decl.c, dump-parse-tree.c, error.c, data.c, expr.c, dependency.c, convert.c: Update Copyright dates. Fix whitespace. From-SVN: r120552