Commit Graph

28019 Commits

Author SHA1 Message Date
Dorit Nuzman 90ff949ff7 re PR tree-optimization/22228 (ICE with -ftree-vectorize in verify_ssa)
PR tree-optimization/22228
        * tree-ssa-loop (pass_vectorize): Add TODO_verify_loops to todo_flags_start.
        * tree-vect-transform.c (vect_transform_loop): Mark the variables that
        are recorded in vect_vnames_to_rename for renaming.
        * tree-vectorizer.c (vect_vnames_to_rename): New global bitmap.
        (slpeel_update_phi_nodes_for_guard1): Record virtual vars for renaming
        in vect_vnames_to_rename.
        (vectorize_loops): Allocate and free the vect_vnames_to_rename bitmap.
        * tree-vectorizer.h (vect_vnames_to_rename): New extern variable.

From-SVN: r103252
2005-08-18 16:07:54 +00:00
Jan Hubicka f17db6cd86 re PR c++/22034 (ICE on valid (local class), dwarf2)
PR c++/22034
	* cgraphunit.c (cgraph_varpool_assemble_pending_decls): Emit debug
	info only for local statics, not for member variables.

From-SVN: r103251
2005-08-18 15:22:46 +00:00
Volker Reichelt 4286d8cedb * tree-data-ref.c (analyze_siv_subscript_cst_affine): Fix comment typo.
From-SVN: r103248
2005-08-18 11:00:47 +00:00
Volker Reichelt b06df647c8 * c-typeck.c (designator_errorneous): Rename to designator_erroneous.
From-SVN: r103247
2005-08-18 10:56:07 +00:00
Andrew Pinski 7563412918 re PR middle-end/16045 (ICE fold check: original tree changed by fold)
2005-08-18  Andrew Pinski  <pinskia@physics.uc.edu>

        PR middle-end/16045
        * builtins.c (fold_builtin): Create a new NOP_EXPR all the time.

From-SVN: r103243
2005-08-17 22:01:43 -07:00
James E Wilson 9bc2a5cb82 Use TYPE_SIZE_UNIT consistently. Last patch was inconsistent.
* c-decl.c (grokdeclarator): Use TYPE_SIZE_UNIT not TYPE_SIZE in
array size check.

From-SVN: r103240
2005-08-17 17:21:28 -07:00
David Edelsohn a2dba29155 rs6000.md (leu<mode>): Convert to mode macro.
* config/rs6000/rs6000.md (leu<mode>): Convert to mode macro.
        (leu<mode>_compare): Same.
        (plus_leu<mode>): Same.
        (neg_leu<mode>): Same.
        (and_neg_leu<mode): Same.
        (ltu<mode>_compare): Same.
        (plus_ltu<mode>): Same.
        (geu<mode>): Same.
        (geu<mode>_compare): Same.
        (plus_geu<mode>): Same.
        (neg_geu<mode>): Same.
        (and_neg_geu<mode>): Same.
        (plus_gt<mode>): Same.
        (gtu<mode>_compare): Same.
        (plus_gtu<mode>): Same.

From-SVN: r103233
2005-08-17 19:12:16 -04:00
Erik Christiansen aa29dfeb70 Eliminate linker error with v850e code using interrupt_handler attribute.
* config/v850/lib1funcs.asm (callt_save_interrupt): Fix comment typos.
Move call_table_data to end.  Delete spurious .text.
(callt_save_all_interrupt): Fix comment typo.

From-SVN: r103231
2005-08-17 15:19:19 -07:00
James E Wilson 90e0c734fa Fix misoptimization of mask and shift.
PR target/21684
* config/mcore/mcore.h (SHIFT_COUNT_TRUNCATED): Define to 0.

Co-Authored-By: Kevin Winchester <winchester@amirix.com>

From-SVN: r103228
2005-08-17 14:43:49 -07:00
Uros Bizjak 87bb8864f6 re PR target/23268 (ICE using math functions log & rint, -ffast-math, -O1 (,2,3,s))
PR target/23268
	* config/i386/i386.md ("*fist<mode>2_1"): New pattern.
	("lrint<mode>2"): Change expander to use "*fist<mode>2_1" pattern.

From-SVN: r103224
2005-08-17 13:44:01 -07:00
J"orn Rennecke dd0ae678ee * varasm.c (decode_reg_name): Skip empty aqdditional register names.
From-SVN: r103222
2005-08-17 20:25:12 +01:00
Zdenek Dvorak d28cbb0767 tree-ssa-loop-im.c (MAX_LSM_NAME_LENGTH, [...]): New.
* tree-ssa-loop-im.c (MAX_LSM_NAME_LENGTH, lsm_tmp_name,
	lsm_tmp_name_length): New.
	(lsm_tmp_name_add, gen_lsm_tmp_name, get_lsm_tmp_name): New functions.
	(schedule_sm): Use get_lsm_tmp_name instead of "lsm_tmp".

From-SVN: r103215
2005-08-17 14:00:52 +00:00
Ulrich Weigand 39bd07e86e Added missing Changelog entry.
From-SVN: r103212
2005-08-17 11:27:03 +00:00
Andreas Krebbel 33d2e547c2 20020926-1.c: Added "-mesa" to dg-options.
2005-08-17  Andreas Krebbel  <krebbel1@de.ibm.com>

	* testsuite/gcc.dg/20020926-1.c: Added "-mesa" to dg-options.

From-SVN: r103210
2005-08-17 08:55:30 +00:00
Nick Clifton e5eb9a5226 stormy16.c (xstormy16_encode_section_info): Call default_encode_section_info.
* config/stormy16/stormy16.c (xstormy16_encode_section_info): Call
default_encode_section_info.

From-SVN: r103207
2005-08-17 08:11:51 +00:00
Steven Bosscher a318e3acf8 re PR tree-optimization/21574 (store_ccp doesn't see through a store.)
PR tree-optimization/21574
	* tree-ssa-ccp.c (likely_value): If the right hand side is a
	constant, return CONSTANT.
	(ccp_lattice_meet): Use operand_equal_p instead of simple_cst_equal.
	(ccp_fold, visit_assignment): Likewise.
	(evaluate_stmt): Handle UNDEFINED and UNKNOWN_VAL the same way.

From-SVN: r103206
2005-08-17 07:27:47 +00:00
James A. Morrison 00d1b1d675 c-typeck.c (build_function_call): Call fold_buildN_initializer or fold_buildN instead of buildN then...
2005-08-16  James A. Morrison  <phython@gcc.gnu.org>

        * c-typeck.c (build_function_call): Call fold_buildN_initializer or
        fold_buildN instead of buildN then fold_initializer or fold.
        (build_unary_op): Likewise.
        (build_binary_op): Likewise.
        * fold-const.c (fold_initializer): Remove.
        (fold_build1_initializer): New function.
        (fold_build2_initializer): New function.
        (fold_build3_initializer): New function.
        * tree.h (fold_initializer): Remove.
        (fold_build1_initializer): New function.
        (fold_build2_initializer): New function.
        (fold_build3_initializer): New function.

From-SVN: r103201
2005-08-17 04:00:21 +00:00
James A. Morrison f457cf402e fold-const.c (optimize_bit_field_compare): Remove extra fold call.
2005-08-16  James A. Morrison  <phython@gcc.gnu.org>

        * fold-const.c (optimize_bit_field_compare): Remove extra fold call.
        (try_move_mult_to_index): Call fold_build2 instead of build2.
        (fold_binary): Don't call fold after calls to try_move_mult_to_index.
        * tree-ssa-loop-niter.c (inverse): Call int_const_binop instead of
        fold_binary_to_constant.
        (infer_loop_bounds_from_undefined): Call fold_build2 instead of
        fold (build.
        * tree-data-ref.c (tree_fold_divides_p): Use tree_int_cst_equal to
        check if A == gcd (A, B).  Remove TYPE argument.
        (analyze_offset) Use fold_build2 instead of fold (build.
        (create_data_ref): Likewise.
        (analyze_siv_subscript_cst_affine): Update calls to tree_fold_divides_p.        * tree-ssa-ccp.c (widen_bitfield): Call fold_build2 instead of build2
        then fold.

From-SVN: r103200
2005-08-17 03:56:20 +00:00
Kelley Cook 4c617d120c crtfastmath.c, [...]: Update FSF address.
2005-08-17  Kelley Cook  <kcook@gcc.gnu.org>

	* config/arm/unaligned-funcs.c,config/i386/crtfastmath.c,
	ipa-cp.c,ipa-prop.c,ipa-prop.h: Update FSF address.

From-SVN: r103196
2005-08-17 03:07:06 +00:00
Andrew Pinski d06526b797 re PR tree-optimization/23402 (error: statement makes a memory store, but has no V_MAY_DEFS nor V_MUST_DEFS)
2005-08-16  Andrew Pinski  <pinskia@physics.uc.edu>

        PR tree-opt/23402
        * gcc.c-torture/compile/zero-strct-3.c: New test.
        * gcc.c-torture/compile/zero-strct-4.c: New test.

2005-08-16  Andrew Pinski  <pinskia@physics.uc.edu>

        PR tree-opt/23402
        * gimplify.c (zero_sized_type): New function.
        (gimplify_modify_expr_rhs): If we have a zero sized type,
        replace the statement with an empty statement.

From-SVN: r103191
2005-08-16 18:55:05 -07:00
H.J. Lu e9e68ae334 crtfastmath.c (set_fast_math): Add "=m" for fxsave.
2005-08-16  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/crtfastmath.c (set_fast_math): Add "=m" for
	fxsave.

From-SVN: r103189
2005-08-16 17:32:17 -07:00
Ian Lance Taylor e374d5c9a4 * doc/tm.texi (Label Output): Correct typo.
From-SVN: r103182
2005-08-16 22:29:09 +00:00
Steven Bosscher f2dd440f45 re PR target/23376 (ICE on GCC 4.x with -O1 -funroll-loops -fvariable-expansion-in-unroller)
PR target/23376
	* loop-unroll.c (analyze_insn_to_expand_var): Make sure that
	force_operand will work later on using have_insn_for.

From-SVN: r103181
2005-08-16 22:24:30 +00:00
Volker Reichelt 196f5a8dcd * fold-const.c (tree_expr_nonnegative_p): Regroup cases.
From-SVN: r103178
2005-08-16 22:13:37 +00:00
Ian Lance Taylor cf0efa6a76 re PR c++/23337 (ICE initializing array of vectors in C++)
./	PR c++/23337
	* gimplify.c (gimplify_init_ctor_eval): If we see an element of
	vector type, don't try to construct it element by element.  Add an
	assertion that we use a FIELD_DECL when building a COMPONENT_REF.
testsuite/
	PR c++/23337
	* g++.dg/ext/vector2.C: New.

From-SVN: r103177
2005-08-16 22:07:44 +00:00
Volker Reichelt 3a69437a55 * fold-const.c (fold_ternary): Simplify folding of a CALL_EXPR.
From-SVN: r103176
2005-08-16 22:05:14 +00:00
Geoffrey Keating 17ccdd2c51 invoke.texi (Precompiled Headers): Document some more options which are known to be safe.
* doc/invoke.texi (Precompiled Headers): Document some more options
	which are known to be safe.

From-SVN: r103166
2005-08-16 18:43:10 +00:00
James E Wilson 355a9e437d Emit an error for too large arrays instead of an ICE.
PR tree-optimization/21105
* c-decl.c (grokdeclarator): Use TYPE_SIZE_UNIT not TYPE_SIZE in
TREE_OVERFLOW check.
* gcc.dg/large-size-array.c: New.

From-SVN: r103164
2005-08-16 11:23:58 -07:00
David Edelsohn ce45ef468c rs6000.md (ltu<mode>): Convert to mode macro.
* config/rs6000/rs6000.md (ltu<mode>): Convert to mode macro.
        (neg_ltu<mode>): Same.
        (gtu<mode>): Same.
        (neg_gtu<mode>): Same.

From-SVN: r103159
2005-08-16 11:13:40 -04:00
Volker Reichelt 543e2cc3e4 builtins.c (expand_builtin_strcat): Remove superfluous call to fold.
* builtins.c (expand_builtin_strcat): Remove superfluous call to fold.
	(fold_builtin_isdigit): Use fold_buildN.
	(build_function_call_expr): Likewise.
	* c-typeck.c (c_finish_loop): Likewise.

From-SVN: r103154
2005-08-16 12:14:10 +00:00
J"orn Rennecke 28f52a4d8e re PR middle-end/20396 (TRULY_NOOP_TRUNCATION ignored)
2005-08-16  J"orn Rennecke <joern.rennecke@st.com>
            Richard Shann <rshann@superh.com>

	PR middle-end/20396:
	* optabs.c (expand_binop): Take TRULY_NOOP_TRUNCATION into account.

Co-Authored-By: Richard Shann <rshann@superh.com>

From-SVN: r103153
2005-08-16 12:57:07 +01:00
Sebastian Pop 546ad2d9fc * tree-ssa-loop-niter.c (scev_probably_wraps_p): Reword a comment.
From-SVN: r103152
2005-08-16 09:41:33 +00:00
Richard Earnshaw 39c39be09e re PR target/23355 (size optimizer did not eliminateing useless Push and pop instructions at ARM/Thumb machine)
PR target/23355
	* arm.c (thumb_compute_save_reg_mask): Use similar logic to
	arm_compure_save_reg0_reg12_mask to determine when the PIC register
	must be saved.

From-SVN: r103151
2005-08-16 09:27:52 +00:00
John David Anglin f60c951c84 re PR middle-end/23369 (build_range_check generates wrong code for funcptr comparison)
PR middle-end/23369
	* fold-const.c (build_range_check): Disable optimization for function
	pointer expressions on targets that require function pointer
	canonicalization.

From-SVN: r103145
2005-08-16 02:20:40 +00:00
Ulrich Weigand 5b5dc47588 simplify-rtx.c (simplify_const_relational_operation): When extracting arguments of a COMPARE, recompute the mode as well.
* simplify-rtx.c (simplify_const_relational_operation): When
	extracting arguments of a COMPARE, recompute the mode as well.

From-SVN: r103143
2005-08-16 02:01:27 +00:00
Ian Lance Taylor 1595ec20a0 * tree.c (build_string): Mark tree CONSTANT and INVARIANT.
From-SVN: r103141
2005-08-16 00:35:50 +00:00
DJ Delorie eb5f0c07fc mov.md (movqi_op): Immediates can't be moved to the stack.
* config/m32c/mov.md (movqi_op): Immediates can't be moved to
the stack.
(movsi_splittable): Allow, but split, moves to the stack.
* config/m32c/m32c.c (m32c_split_move): Always split moves to the
stack.

From-SVN: r103140
2005-08-15 20:31:39 -04:00
Kaveh R. Ghazi 06145cb9b4 aclocal.m4 (gcc_AC_FUNC_PRINTF_PTR): Delete.
* aclocal.m4 (gcc_AC_FUNC_PRINTF_PTR): Delete.
	* configure.ac: Don't call gcc_AC_FUNC_PRINTF_PTR.
	* system.h (HOST_PTR_PRINTF): Don't define, poison it.

	* bitmap.c, c-decl.c, config/i386/i386-interix.h,
	config/iq2000/iq2000.c, mips-tfile.c, print-rtl.c, print-tree.c:
	Delete HOST_PTR_PRINTF.

	* configure, config.in: Regenerate.

cp:
	* name-lookup.c, ptree.c: Delete HOST_PTR_PRINTF.

From-SVN: r103135
2005-08-16 00:13:53 +00:00
David Edelsohn b5568f074b rs6000.md (QHSI): New mode macro.
* config/rs6000/rs6000.md (QHSI): New mode macro.
	(wd): Extend mode attr for QImode and HImode
	(dbits): New mode attr.
	(zero_extend<mode>di2): Convert to mode macro.

From-SVN: r103118
2005-08-15 13:58:58 -04:00
Steve Ellcey a73035ae3b re PR target/21841 (Documentation should say -mhp-ld/-mgnu-ld are only for hppa64-*-hpux*)
PR target/21841
	* doc/invoke.texi (-mgnu-ld): Update description.
	(-mhp-ld): Ditto.

From-SVN: r103112
2005-08-15 15:23:38 +00:00
Sebastian Pop 7e0923cdbf re PR tree-optimization/23391 (Tree checking failure due to scev)
PR 23391
	* Makefile.in (tree-chrec.o): Depends on real.h.
	* tree-chrec.c: Include real.h.
	(chrec_fold_plus_poly_poly, chrec_fold_multiply_poly_poly,
	chrec_fold_plus_1): Use build_real for SCALAR_FLOAT_TYPE_P.
	* tree-scalar-evolution.c (add_to_evolution_1,
	interpret_rhs_modify_expr): Ditto.

From-SVN: r103109
2005-08-15 12:26:12 +00:00
Sebastian Pop 852c19aae4 re PR tree-optimization/23386 (bitmap.c is being miscompiled (VRP))
PR 23386
 	* tree-data-ref.c (estimate_niter_from_size_of_data): When
 	step is negative compute the estimation from init downwards to
 	zero.

	* testsuite/gcc.dg/tree-ssa/pr23386.c: New.

From-SVN: r103106
2005-08-15 07:51:42 +00:00
James A. Morrison b23dce2468 fold-const (fold_binary): Call fold_build2 instead of fold (build.
2005-08-14  James A. Morrison  <phython@gcc.gnu.org>

        * fold-const (fold_binary): Call fold_build2 instead of fold (build.

From-SVN: r103089
2005-08-14 23:19:05 +00:00
Ulrich Weigand 11598938f4 s390.c (s390_const_ok_for_constraint_p): Add 'P' constraint.
* config/s390/s390.c (s390_const_ok_for_constraint_p): Add 'P'
	constraint.
	(legitimate_reload_constant_p): Fix handling of lliXX operands.
	Accept double-word constants that can be split.
	* config/s390/s390.md ("movti"): Use 'P' constraint.
	("*movdi_31", "*movdf_31"): Likewise.

From-SVN: r103088
2005-08-14 23:13:58 +00:00
Daniel Berlin 8971094d72 re PR tree-optimization/22615 (ICE in first_vi_for_offset, at tree-ssa-structalias.c:2858)
2005-08-14  Daniel Berlin  <dberlin@dberlin.org>

	Fix PR tree-optimization/22615

	* tree-ssa-structalias.c (solution_set_add): Handle
	first_vi_for_offset returning NULL.
	(do_da_constraint): Ditto.
	(do_sd_constraint): Ditto.
	(do_ds_constraint): Ditto
	(find_func_aliases): Ditto.
	(build_constraint_graph): RHS is allowed be ANYTHING.
	(first_vi_for_offset): Return NULL if we couldn't find anything at
	the offset.

From-SVN: r103083
2005-08-14 19:23:56 +00:00
Ulrich Weigand c5b2a111dc s390.c (s390_canonicalize_comparison): Prefer register over memory as first operand.
* config/s390/s390.c (s390_canonicalize_comparison): Prefer register
	over memory as first operand.

From-SVN: r103082
2005-08-14 19:06:56 +00:00
H.J. Lu adb7b76436 re PR target/23360 (-ffast-math startup broken on i686 (maybe Athlon-xp))
2005-08-14  H.J. Lu  <hongjiu.lu@intel.com>

	PR target/23360
	* config/i386/crtfastmath.c (set_fast_math): Check if DAZ is
	available for setting it.

From-SVN: r103078
2005-08-14 07:26:51 -07:00
Ira Rosen 1f400bbb8f re PR tree-optimization/23320 (ICE in in base_addr_differ_p, at tree-data-ref.c:430)
PR tree-optimization/23320
        * tree-data-ref.c (base_addr_differ_p): Add comment. Check
        data-refs' types instead of base object nullness. Add check for
        pointer type data-refs before first location comparison. Remove
        assert.

From-SVN: r103076
2005-08-14 06:28:03 +00:00
Andreas Schwab db875b15ff * doc/md.texi (Machine Constraints): Fix misplaced @end table.
From-SVN: r103065
2005-08-13 23:54:11 +00:00
James E Wilson 0ffb94cd68 Document compatibility with earlier ProPolice implementation.
* c-cppbuiltin.c (c_cpp_builtins): Add comment for flag_stack_protect
macros.

From-SVN: r103058
2005-08-13 13:58:02 -07:00