Commit Graph

25313 Commits

Author SHA1 Message Date
Roger Sayle 4634cf7ee2 tree.c (int_fits_type_p): Always honor integer constant TYPE_MIN_VALUE and TYPE_MAX_VALUE if they exist.
* tree.c (int_fits_type_p): Always honor integer constant
	TYPE_MIN_VALUE and TYPE_MAX_VALUE if they exist.

From-SVN: r93086
2005-01-08 16:13:22 +00:00
Roger Sayle 88c0f1c63f ifcvt.c (find_if_case_1): Reinstate 2005-01-04 change...
* ifcvt.c (find_if_case_1): Reinstate 2005-01-04 change, now that
	the latent bug in rtl_delete_block has been resolved.

From-SVN: r93085
2005-01-08 14:47:56 +00:00
Richard Sandiford 37e30acca0 t-iris6 (MULTILIB_DIRNAMES): Use -mabi argument values.
* config/mips/t-iris6 (MULTILIB_DIRNAMES): Use -mabi argument values.
	(MULTILIB_OSDIRNAMES): Use the standard lib, lib32 and lib64.

From-SVN: r93081
2005-01-08 11:59:25 +00:00
Richard Sandiford 943cb1d06f t-slibgcc-irix (SHLIB_LINK): Install a copy of the library as @multilib_dir@/$(SHLIB_SONAME).
* config/mips/t-slibgcc-irix (SHLIB_LINK): Install a copy of the
	library as @multilib_dir@/$(SHLIB_SONAME).

From-SVN: r93080
2005-01-08 11:45:54 +00:00
Eric Botcazou 1b5c01520e configure.ac (HAVE_AS_OFFSETABLE_LO10): Fix typo.
* configure.ac (HAVE_AS_OFFSETABLE_LO10): Fix typo.
	* configure: Regenerate.

From-SVN: r93075
2005-01-08 01:17:47 +00:00
Jakub Jelinek b827788f57 c-common.c (handle_mode_attribute): For ENUMERAL_TYPE, also copy TYPE_MODE.
* c-common.c (handle_mode_attribute): For ENUMERAL_TYPE, also copy
	TYPE_MODE.

	* gcc.c-torture/execute/20050107-1.c: New test.

From-SVN: r93066
2005-01-07 21:05:14 +01:00
David Edelsohn 4937d02db2 re PR rtl-optimization/13674 (ICE in reload_cse_simplify_operands, at postreload.c:378 on PPC64)
PR target/13674
	* config/rs6000/rs6000.c (rs6000_legitimize_reload_address):
	Convert non-word aligned offset address using ld/std into
	indirect address.

From-SVN: r93052
2005-01-07 10:30:13 -05:00
Richard Henderson db39699900 * config/i386/i386.md (sse_loadhps splitter): Fix operand number typo.
From-SVN: r93051
2005-01-07 06:29:44 -08:00
Richard Sandiford 4600cc1427 * tree.h (IS_EXPR_CODE_CLASS): Use a straight-forward range check.
From-SVN: r93044
2005-01-07 09:24:49 +00:00
Jakub Jelinek 2a0958c5f6 re PR tree-optimization/19283 (Bad code generated in final_cleanup)
PR tree-optimization/19283
	* fold-const.c (fold_widened_comparison): Return NULL if shorter_type
	is not shorter than the original type.

	* gcc.c-torture/execute/20050106-1.c: New test.

From-SVN: r93043
2005-01-07 10:08:10 +01:00
Jakub Jelinek ebc0c8bbfc re PR target/19012 (ICE on testsuite/gcc.c-torture/execute/930208-1.c with -fpack-struct -Os)
PR rtl-optimization/19012
	* config/i386/i386.md (addqi_1_slp): Set memory attribute.

From-SVN: r93042
2005-01-07 10:05:46 +01:00
Jakub Jelinek 0210ae141e re PR rtl-optimization/18861 (ICE Segmentation fault in try_crossjump_to_edge at ../../gcc/gcc/cfgcleanup.c:1637 with two switches (table jumps))
PR rtl-optimization/18861
	* cfgbuild.c (BLOCK_USED_BY_TABLEJUMP): Define.
	(FULL_STATE): Define.
	(mark_tablejump_edge): New function.
	(purge_dead_tablejump_edges): New function.
	(find_bb_boundaries): Use it.

	* gcc.dg/20050105-1.c: New test.

From-SVN: r93041
2005-01-07 10:04:01 +01:00
Jakub Jelinek 8870e2121d re PR tree-optimization/18828 (Extraneous warning with var_start and optimization)
PR tree-optimization/18828
	* builtins.c (expand_builtin_next_arg): Remove argument and all
	the argument checking.
	(expand_builtin): Adjust caller.
	(expand_builtin_va_start): Likewise.  Remove error for too many
	arguments.
	(fold_builtin_next_arg): Issue error for too many arguments.
	After checking arguments, replace them with magic arguments that
	prevent further checking of the args.

	* gcc.dg/20050105-2.c: New test.

From-SVN: r93040
2005-01-07 10:01:00 +01:00
John David Anglin 9fb29c4634 * pa64-hpux.h (STARTFILE_SPEC): Fix typo in spec.
From-SVN: r93024
2005-01-07 01:11:57 +00:00
Roger Sayle 9a3bf943ce re PR target/6077 ([alpha-osf].s with -x assembler-with-cpp breaks mips-tfile)
PR target/6077
	* gcc.c (input_suffix_matches): Tweak the semantics of %{.s:...}
	and %{.S:...} (and their negative variants) to test whether the
	input file is assembler or pre-processed-assembler independent of
	the actual filename extension.

From-SVN: r93023
2005-01-07 01:05:37 +00:00
Roger Sayle c79fc2963d simplify-rtx.c (simplify_subreg): Simplify truncations of shifts of sign or zero extended values.
* simplify-rtx.c (simplify_subreg): Simplify truncations of shifts
	of sign or zero extended values.

From-SVN: r93022
2005-01-07 00:47:13 +00:00
Geoffrey Keating 59d7d76786 c-cppbuiltin.c (builtin_define_float_constants): Set __*_EPSILON__ for IBM long double format correctly.
* c-cppbuiltin.c (builtin_define_float_constants): Set __*_EPSILON__
	for IBM long double format correctly.

From-SVN: r93021
2005-01-07 00:19:23 +00:00
Daniel Berlin 1f24dd474e re PR tree-optimization/18792 (ICE with -O1 -ftree-loop-linear on small test case)
2005-01-06  Daniel Berlin <dberlin@dberlin.org>

	Fix PR tree-optimization/18792

	* tree-data-ref.c (build_classic_dist_vector): Change first_loop
	to first_loop_depth, and use loop depth instead of loop number.
	(build_classic_dir_vector): Ditto.
	(compute_data_dependences_for_loop): Use depth, not loop number.
	* tree-loop-linear.c (try_interchange_loops): Use loop depth, not loop
	number. Pass in loops, instead of loop numbers.
	(gather_interchange_stats): Ditto.
	(linear_transform_loops): Ditto.

From-SVN: r93008
2005-01-06 22:08:27 +00:00
Richard Sandiford 27916b83f5 re PR rtl-optimization/13299 (Unsafe treatment of extended givs)
PR rtl-opt/13299
        * loop.c (get_monotonic_increment, biased_biv_fits_mode_p,
        biv_fits_mode_p, extension_within_bounds_p): New functions.
        (check_ext_dependent_givs): Use them.

From-SVN: r93000
2005-01-06 11:10:56 -08:00
Roger Sayle 4ab8006314 cfgrtl.c (rtl_delete_block): A basic block may be followed by more than one barrier...
* cfgrtl.c (rtl_delete_block): A basic block may be followed by
	more than one barrier, in which case we should delete them all.

From-SVN: r92996
2005-01-06 18:05:27 +00:00
Tobias Schlüter 12d3e34bd5 gcc.c (process_command): Change year in 'gcc --version' to 2005.
* gcc.c (process_command): Change year in 'gcc --version' to 2005.

fortran/
* gfortranspec.c (lang_specific_driver): Change year to 2005 in
output of 'gfortran --version'.

From-SVN: r92995
2005-01-06 17:41:36 +01:00
Daniel Berlin 9acf766fe1 Fix PR middle-end/19286 Fix PR debug/19267
2005-01-05  Daniel Berlin  <dberlin@dberlin.org>

	Fix PR middle-end/19286
	Fix PR debug/19267
	* dwarf2out.c (gen_subprogram_die): If we've already tried to
	output this subprogram, simply ignore this attempt to do it again.
	(add_abstract_origin_attribute): Don't abort trying to add the abstract
	origin attribute if it's not possible.
	(gen_block_die): Don't ignore subblocks of "unused" blocks.
	(decls_for_scope): Ditto.
	* gimple-low.c (mark_blocks_with_used_subblocks): Remove.
	(mark_used_blocks): Don't call mark_blocks_with_used_subblocks.

From-SVN: r92991
2005-01-06 14:49:34 +00:00
Richard Henderson e358acde2c re PR rtl-optimization/11327 (Non-optimal code when using MMX/SSE builtins)
PR target/11327
        * config/i386/i386.c (BUILTIN_DESC_SWAP_OPERANDS): New.
        (bdesc_2arg): Use it.
        (ix86_expand_binop_builtin): Force operands into registers
        when optimizing.
        (ix86_expand_unop_builtin, ix86_expand_unop1_builtin,
        ix86_expand_sse_compare, ix86_expand_sse_comi,
        ix86_expand_builtin): Likewise.

From-SVN: r92988
2005-01-05 22:22:32 -08:00
Richard Henderson 051d824588 ia64.c (rtx_needs_barrier): Handle CONST_VECTOR and VEC_SELECT.
* config/ia64/ia64.c (rtx_needs_barrier): Handle CONST_VECTOR
        and VEC_SELECT.
        * config/ia64/vect.md (mulv8qi3): Re-implement with mix_[rl].
        (mulv4hi3): Set itanium_class mmmul.
        (fpack_sfxf, fpack_xfsf, fpack_xfxf): Remove.

From-SVN: r92987
2005-01-05 22:18:15 -08:00
Richard Henderson 19f17bb9a0 re PR rtl-optimization/10692 ([m68k] miscompilation of perl with -O2 -fPIC)
PR rtl-opt/10692
        * reload1.c (do_input_reload): Restrict the optimization deleteing
        a previous output reload to RELOAD_FOR_INPUT.

From-SVN: r92984
2005-01-05 20:09:11 -08:00
Steven Bosscher 46d096a3c7 combine.c (expand_compound_operation): Add comment that we fall through after case.
* combine.c (expand_compound_operation)  <ZERO_EXTRACT>: Add
	comment that we fall through after case.
	(mark_used_regs_combine): Don't expect a SIGN_EXTRACT in a SET_DEST.
	(distribute_links): Likewise.
	* cse.c (cse_insn): Likewise.
	* cselib.c (cselib_invalidate_mem): Likewise.
	* df.c: Update comments at the top of the file.
	(read_modify_subreg_p): Update comments here too.
	(df_def_record_1): Don't expect a SIGN_EXTRACT in a SET_DEST.
	* flow.c (mark_set_1): Likewise.
	(mark_used_regs): Likewise.
	* gcse.c (mems_conflict_for_gcse_p): Likewise.
	(canon_list_insert): Likewise.
	(mark_set): Likewise.
	(try_replace_reg): Likewise.
	(store_killed_in_insn): Likewise.
	* loop.c (count_one_set): Likewise.
	(basic_induction_var): Likewise.
	* postreload-gcse.c (find_mem_conflicts): Likewise.
	* postreload.c (reload_combine_note_store): Likewise.
	(move2add_note_store): Likewise.
	* reload.c (find_equiv_reg): Likewise.
	(mark_referenced_resources): Likewise.
	* rtlanal.c (set_noop_p): Likewise.
	(note_stores): Likewise.
	(note_uses): Likewise.
	* sched-deps.c (sched_analyze_1): Likewise.
	* sched-rgn.c (check_live_1): Likewise.
	(update_live_1): Likewise.
	* config/i860/i860.c: Likewise.

	* rtl.dec (SIGN_EXTRACT): Document that this cannot appear as
	an lvalue.
	(ZERO_EXTRACT): Mention that this one can be an lvalue.

	* doc/rtl.texi: Update documentation for bit-fields and SET.

From-SVN: r92974
2005-01-05 23:19:23 +00:00
Roger Sayle 65a878f5db * ifcvt.c (find_if_case_1): Revert 2005-01-04 change.
From-SVN: r92970
2005-01-05 21:13:08 +00:00
Jan Hubicka d2ad2c8a9c re PR target/18910 (unrecognisable insn in regclass on x86/amd64)
PR target/18910
        * config/i386/i386.c (ix86_expand_move): Handle tls symbols
        with an offset.

Co-Authored-By: Richard Henderson <rth@redhat.com>

From-SVN: r92968
2005-01-05 12:29:06 -08:00
Richard Henderson 2cdb314898 re PR target/12902 (Invalid assembly generated when using SSE / xmmintrin.h)
PR target/12902
        * config/i386/i386.md (sse_movhps, sse_movlps): Remove.
        (sse_shufps): Change operand 3 to const_int_operand.
        (sse2_storelps): Fix typo in template.
        (sse_storehps, sse_loadhps, sse_storelps, sse_loadlps): New.
        * config/i386/i386.c (ix86_expand_vector_move_misalign): Use them.
        (ix86_expand_builtin): Likewise.

From-SVN: r92967
2005-01-05 11:14:39 -08:00
Julian Brown 3dd7ab6505 arm.c (arm_return_in_memory): Treat complex types as aggregates for AAPCS ABIs.
2004-01-05  Julian Brown  <julian@codesourcery.com>

	* config/arm/arm.c (arm_return_in_memory): Treat complex types
	as aggregates for AAPCS ABIs.

From-SVN: r92963
2005-01-05 18:53:08 +00:00
Stan Shebs 59d8fe2722 unwind-dw2-fde-darwin.c (examine_objects): Use 64-bit Mach-O getters if ppc64.
* unwind-dw2-fde-darwin.c (examine_objects): Use 64-bit
        Mach-O getters if ppc64.
        * config/darwin.c (darwin_asm_output_dwarf_delta): Obey
        size argument.
        * config/darwin.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
        signed four-byte field for global code case.
        (STARTFILE_SPEC): Avoid crt2.o for 64-bit compilation.

From-SVN: r92962
2005-01-05 18:39:43 +00:00
Roger Sayle 010c4d9c14 re PR middle-end/19100 (Wrong code for ?-operator with casted ?-operator predicat)
PR middle-end/19100
	* c-common.c: Include real.h.
	(c_common_truthvalue_conversion): Avoid destructively modifying expr.
	Correctly handle TREE_CONSTANT_OVERFLOW for INTEGER_CST.
	Correctly handle TREE_CONSTANT_OVERFLOW and NaNs for REAL_CST.
	* Makefile.in (c-common.o): Update dependencies.

	* gcc.dg/conv-3.c: New test case.

From-SVN: r92957
2005-01-05 17:27:26 +00:00
Joseph Myers 9368fb8fbc * c-parse.in (asm_string): Add trailing semicolon.
From-SVN: r92956
2005-01-05 17:08:35 +00:00
Joseph Myers 9143de5c01 c-parse.in (asm_string): New.
* c-parse.in (asm_string): New.  Don't allow wide strings in
	'asm'.
	(simple_asm_expr, asm_argument, asm_operand, asm_clobbers): Use
	asm_string instead of STRING.

testsuite:
	* gcc.dg/asm-wide-1.c: New test.

From-SVN: r92952
2005-01-05 15:27:26 +00:00
Joseph Myers 0953878d48 c-typeck.c (constructor_no_implicit): Remove.
* c-typeck.c (constructor_no_implicit): Remove.
	(set_designator, process_init_element): Don't check
	constructor_no_implicit.

From-SVN: r92951
2005-01-05 15:22:38 +00:00
J"orn Rennecke cf99f196e2 re PR target/16482 (gcc.c-torture/unsorted/SFset.c fails with "-O2 -m4")
PR target/16482
	* lcm.c (create_pre_exit): New.
	(optimize_mode_switching): In MODE_ENTRY / MODE_EXIT case, set
	ENTRY_EXIT_EXTRA to 3.  Use create_pre_exit.

Co-Authored-By: Kaz Kojima <kkojima@gcc.gnu.org>

From-SVN: r92950
2005-01-05 14:41:30 +00:00
Richard Earnshaw 712ecf4dfb arm.h (TARGET_OPTIONS): Correctly record -mhard-float and -msoft-float in target_float_switch.
* arm.h (TARGET_OPTIONS): Correctly record -mhard-float and
-msoft-float in target_float_switch.
* arm.c (arm_override_options): Fix processing of target_float_switch.

From-SVN: r92949
2005-01-05 11:56:24 +00:00
Richard Earnshaw 082cca25d0 vfp.md (arm_movsi_vfp): Hide VFP register classes from register preferencing.
* arm/vfp.md (arm_movsi_vfp): Hide VFP register classes from register
preferencing.

From-SVN: r92948
2005-01-05 11:24:20 +00:00
Uros Bizjak c2b43d7ab2 invoke.texi (Intel 386 and AMD x86-64 Options): Replace i387 with 'i386 compiler' in -mfpmath=sse option.
* doc/invoke.texi (Intel 386 and AMD x86-64 Options):
        Replace i387 with 'i386 compiler' in -mfpmath=sse option.

From-SVN: r92943
2005-01-05 10:55:55 +01:00
Roger Sayle e82f57499b ifcvt.c (find_if_case_1): Avoid creating an empty forwarder block...
* ifcvt.c (find_if_case_1): Avoid creating an empty forwarder block,
	if deleting the then-block allows the test-block to fallthru to the
	else-block.

From-SVN: r92919
2005-01-05 01:45:00 +00:00
Andrew Pinski f8f5c4b3aa re PR c/19152 (IMA and external inline don't get along)
2005-01-04  Andrew Pinski  <pinskia@physics.uc.edu>

        PR c/19152
        * c-decl.c (diagnose_mismatched_decls): Accept "extern inline" declared
        after the full declaration if the are in two different TUs.

From-SVN: r92918
2005-01-04 17:41:36 -08:00
Richard Henderson fa5884290a re PR tree-optimization/19158 (GNAT Bug Box compiling makegpr.adb of the GNAT tools)
2005-01-04 Richard Henderson  <rth@redhat.com>

        PR tree-opt/19158
        * tree-sra.c (generate_one_element_init): Just
        call gimplify_and_add.
        (generate_element_init): Record the
        new referenced variables and mark them for renaming
        and split out to ...
        (generate_element_init_1): This.
        (scalarize_init): Don't call push_gimplify_context/
        pop_gimplify_context.

From-SVN: r92911
2005-01-04 15:54:26 -08:00
Geoffrey Keating 5f0c48ed93 * toplev.c (get_src_pwd): Handle failure of getpwd().
From-SVN: r92910
2005-01-04 23:28:00 +00:00
Roger Sayle e3523f56d2 fold-const.c (fold_single_bit_test): Delete unreachable handling of TRUTH_NOT_EXPR.
* fold-const.c (fold_single_bit_test): Delete unreachable handling
	of TRUTH_NOT_EXPR.
	(fold): Don't call fold_single_bit_test with a TRUTH_NOT_EXPR, as
	all the cases handled by it are inverted by invert_truthvalue.

From-SVN: r92909
2005-01-04 21:42:52 +00:00
Eric Botcazou 9746bb275e sparc.md (save_register_windowdi): Add missing mode.
* config/sparc/sparc.md (save_register_windowdi): Add missing mode.
	(save_register_windowsi): Likewise.

From-SVN: r92902
2005-01-04 19:03:45 +00:00
Richard Henderson bfee926bd1 * tree-mudflap.c (mf_varname_tree): Fix thinko setting declname.
From-SVN: r92901
2005-01-04 10:47:02 -08:00
Uros Bizjak 21e5076a0b re PR middle-end/17767 (MMX intrinsics cause internal compiler error)
PR middle-end/17767
	* cse.c (fold_rtx) [RTX_COMPARE, RTX_COMM_COMPARE]: Don't attempt
	any simplifications of vector mode comparison operators.
	* simplify-rtx.c (simplify_relational_operation): Fix variable name.

testsuite:

	* gcc.dg/i386-mmx-6.c: New test case.

From-SVN: r92896
2005-01-04 16:44:25 +01:00
Paolo Bonzini 8ea9d0c7c9 re PR tree-optimization/18308 (ICE in do_jump, at dojump.c:274)
gcc:
2005-01-04  Paolo Bonzini  <bonzini@gnu.org>
	    Devang Patel  <dpatel@apple.com>

	PR tree-optimization/18308

	* tree-if-conv.c (add_to_dst_predicate_list): Gimplify
	the operands before creating a new expression.
	* dojump.c (do_jump): Make drop_through_label available
	for all cases.  Add expansion of COND_EXPR.

gcc/testsuite:
2005-01-04  Paolo Bonzini  <bonzini@gnu.org>

	* gcc.dg/vect/pr18308.c: New testcase.

Co-Authored-By: Devang Patel <dpatel@apple.com>

From-SVN: r92895
2005-01-04 14:37:23 +00:00
Ira Rosen 8c427b58d1 tree-vectorizer.c (vect_analyze_offset_expr): Test for INTEGER_CST instead of TREE_CONSTANT.
2005-01-04  Ira Rosen  <irar@il.ibm.com>

        * tree-vectorizer.c (vect_analyze_offset_expr): Test for
        INTEGER_CST instead of TREE_CONSTANT.
        (vect_gen_niters_for_prolog_loop): Test for INTEGER_CST
        instead of TREE_CONSTANT.
        (vect_analyze_pointer_ref_access): Test for INTEGER_CST
        instead of TREE_CONSTANT.

From-SVN: r92894
2005-01-04 13:12:26 +00:00
Eric Botcazou 8287d24ad5 tree-eh.c (replace_goto_queue): Return early if the queue is empty.
* tree-eh.c (replace_goto_queue): Return early if the queue is
          empty.

From-SVN: r92893
2005-01-04 12:45:42 +00:00