Commit Graph

44128 Commits

Author SHA1 Message Date
GCC Administrator
cd095b7d1f Daily bump.
From-SVN: r55552
2002-07-18 07:19:00 +00:00
Alan Modra
f6f23ad2d5 prefix.c: (update_path): Strip ".." components when prior dir doesn't exist.
* prefix.c: (update_path): Strip ".." components when prior dir
	doesn't exist.  Pass correct var to UPDATE_PATH_HOST_CANONICALIZE.

From-SVN: r55547
2002-07-18 16:14:35 +09:30
Alan Modra
85272855b5 * gcc.dg/nest.c: New.
From-SVN: r55546
2002-07-18 13:11:04 +09:30
Alan Modra
99bcb625a1 sysv4.h (ASM_OUTPUT_REG_PUSH): Remove 64-bit support.
* config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Remove 64-bit support.
	(ASM_OUTPUT_REG_POP): Likewise.

From-SVN: r55545
2002-07-18 13:09:44 +09:30
Alan Modra
09eeeacbb9 rs6000.c (first_reg_to_save): Remove bogus adjustments to first_reg for profiling case.
* config/rs6000/rs6000.c (first_reg_to_save): Remove bogus
	adjustments to first_reg for profiling case.
	(output_function_profiler): Correct lr save slot for ABI_AIX_NODESC.
	Disable profiling for 64 bit code on both ABI_V4 and ABI_AIX_NODESC.
	Save static chain reg to sp + 12 on ABI_AIX_NODESC.
	* config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Define.
	(ASM_OUTPUT_REG_POP): Define.
	* config/rs6000/linux64.h (ASM_OUTPUT_REG_PUSH): Undef.
	(ASM_OUTPUT_REG_POP): Undef.

From-SVN: r55544
2002-07-18 09:45:32 +09:30
Phil Edwards
a1fa4e3170 run_doxygen: Remove template parameter names from "Compound List" summary page.
2002-07-17  Phil Edwards  <pme@gcc.gnu.org>

	* docs/doxygen/run_doxygen:  Remove template parameter names from
	"Compound List" summary page.  Reformat.
	* docs/html/documentation.html:  XHTML fixes.

From-SVN: r55543
2002-07-17 22:02:32 +00:00
Neil Booth
74d06cf221 cpplib.c (do_sccs): Handle #sccs on all systems.
* cpplib.c (do_sccs): Handle #sccs on all systems.
	* system.h (SCCS_DIRECTIVE): Poison.
	* config/darwin.h, config/freebsd.h, config/netbsd.h,
	config/ptx4.h, config/svr3.h, config/svr4.h, config/alpha/elf.h,
	config/arm/linux-elf.h, config/c4x/c4x.h, config/d30v/d30v.h,
	config/i370/i370.h, config/i386/gas.h, config/i386/sco5.h,
	config/i960/i960.h, config/m68hc11/m68hc11.h, config/m68k/3b1.h,
	config/m68k/3b1g.h, config/m68k/crds.h, config/m68k/mot3300.h,
	config/m68k/pbb.h, config/m88k/m88k.h, config/mips/mips.h,
	config/sparc/pbd.h, config/stormy16/stormy16.h, config/vax/vaxv.h:
	Remove all references to SCCS_DIRECTIVE.
	* doc/cpp.texi, doc/tm.texi: Update.

From-SVN: r55542
2002-07-17 21:31:42 +00:00
J"orn Rennecke
61dde664e4 regrename.c (maybe_mode_change): New function.
* regrename.c (maybe_mode_change): New function.
	(find_oldest_value_reg, copyprop_hardreg_forward_1): Use it.

From-SVN: r55541
2002-07-17 19:24:46 +01:00
Rodney Brown
97f51ac4af i386.c (ix86_expand_int_movcc): In the general case suppress addition when either ct or cf are zero.
* config/i386/i386.c (ix86_expand_int_movcc): In the general case
        suppress addition when either ct or cf are zero.

From-SVN: r55540
2002-07-17 11:09:56 -07:00
Eric Botcazou
f1a73cfecf re PR rtl-optimization/6713 (Regression wrt 3.0.4: g++ -O2 leads to seg fault at run time)
PR optimization/6713
 * loop.c (loop_givs_rescan): Explicitly delete the insn that
 sets a non-replaceable giv after issuing the new one.

Co-Authored-By: Glen Nakamura <glen@imodulo.com>

From-SVN: r55539
2002-07-17 11:00:35 -07:00
Eric Botcazou
9088828378 loop-2e.x: Let the testcase XFAIL for all x86 processors.
* gcc.c-torture/execute/loop-2e.x: Let the testcase
 XFAIL for all x86 processors.

From-SVN: r55538
2002-07-17 10:55:23 -07:00
Ian Dall
ce0ead2521 20010122-1.x: Do not test with -fomit-frame-pointer.
* gcc.c-torture/execute/20010122-1.x: Do not test with
        -fomit-frame-pointer.

From-SVN: r55537
2002-07-17 10:54:16 -07:00
Neil Booth
23ff022370 cppexp.c (cpp_interpret_integer, [...]): Clarify and correct use of "bool" variables.
* cppexp.c (cpp_interpret_integer, append_digit, parse_defined,
	eval_token): Clarify and correct use of "bool" variables.
	* cpplib.h (struct cpp_options): Similarly.
	* cppmacro.c (parse_params, _cpp_save_parameter): Ditto.
	* cpptrad.c (recursive_macro): Similarly.

From-SVN: r55536
2002-07-17 17:27:14 +00:00
Jason Merrill
db50171f40 mangle.c (write_unqualified_name): Handle template parm subtitution.
* mangle.c (write_unqualified_name): Handle template parm
subtitution.
* class.c (build_base_field): Set DECL_PACKED.
(layout_class_type): Don't use tail padding of PODs.

From-SVN: r55535
2002-07-17 12:43:42 -04:00
Joern Rennecke
d28586abe7 Fix file name.
From-SVN: r55534
2002-07-17 17:10:43 +01:00
J"orn Rennecke
ac09192adb lib1funcs.asm (udivsi3_i4): Implement SHcompact version in SHmedia code.
* lib1funcs.asm (udivsi3_i4): Implement SHcompact version in
	SHmedia code.

From-SVN: r55533
2002-07-17 17:09:43 +01:00
J"orn Rennecke
68cef00997 * sh.md (cmpgtudi_media): Remove spurious @.
From-SVN: r55532
2002-07-17 17:06:18 +01:00
J"orn Rennecke
701e3726b9 lib1funcs.asm (FMOVD_WORKS): Don't define for little endian.
* config/sh/lib1funcs.asm (FMOVD_WORKS): Don't define for little endian.
	* sh.h (OVERRIDE_OPTIONS): Don't set FMOVD_BIT for little endian.

From-SVN: r55531
2002-07-17 17:02:53 +01:00
J"orn Rennecke
ca903bba77 lib1funcs.asm (init_trampoline): New entry point.
* config/sh/lib1funcs.asm (init_trampoline): New entry point.
	* sh-protos.h (sh_initialize_trampoline): Declare.
	* sh.c (sh_initialize_trampoline): New function.
	* sh.h (TRAMPOLINE_SIZE): Only 24 for TARGET_SHMEDIA32.
	(TRAMPOLINE_ALIGNMENT): Need cache-line alignment for TARGET_SHMEDIA.
	(INITIALIZE_TRAMPOLINE): Call sh_initialize_trampoline.
	(TRAMPOLINE_ADJUST_ADDRESS): Not needed for SHcompact.
	* sh.md (initialize_trampoline, double_shori): New patterns.
	(initialize_trampoline_compact): Likewise.
	(shmedia32_initialize_trampoline_big): Remove.
	(shmedia32_initialize_trampoline_little): Likewise.

From-SVN: r55529
2002-07-17 16:43:18 +01:00
J"orn Rennecke
0ac785173d sh-protos.h (binary_float_operator): Remove declaration.
* sh-protos.h (binary_float_operator): Remove declaration.
	(sh_expand_unop_v2sf, sh_expand_binop_v2sf): Declare.
	* sh.c (print_operand, case 'N'): Check against CONST0_RTX.
	(unary_float_operator, sh_expand_unop_v2sf): New functions.
	(sh_expand_binop_v2sf): Likewise.
	(zero_vec_operand): Delete.
	(SH_BLTIN_UDI): New builtin shared signature define.  Renumbered
	all non-shared ones.
	(bdesc): Change all the mextr builtins to use SH_BLTIN_UDI.
	Enable nsb and byterev.
	* sh.h (CONDITIONAL_REGISTER_USAGE): Initialize DF_HI_REGS.
	(HARD_REGNO_MODE_OK): Allow TImode in fp regs.  Allow V2SFmode
	in general regs.
	(enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add DF_HI_REGS.
	(SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.  Remove clause for
	immediate operands.
	(SECONDARY_INPUT_RELOAD_CLASS): Add clause for immediate operands.
	Add DF_HI_REGS.
	(CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P): Allow
	lowpart fp regs - only for big endian for now.
	(LEGITIMATE_CONSTANT_P): Don't allow non-zero float vectors
	when FPU is in use.
	(EXTRA_CONTRAINT_U): Check against CONST0_RTX.
	(LOAD_EXTEND_OP): NIL for SImode.
	(REGISTER_MOVE_COST): Add DF_HI_REGS.  Const for moves between
	general and fp registers is 4.
	PREDICATE_CODES: Amend binary_float_operator entry.
	Remove zero_vec_operand.  Add unary_float_operator.
	* sh.md (udivsi3_i4_media): Use truncate instead of paradoxical
	subreg SET_DEST.
	(truncdisi2, truncdihi2, movv2sf): Allow memory destinations.
	(truncdiqi2): Do sign extension.
	(movsi_media, movdi_media): Allow to use r63 to an fp register.
	(movdf_media, movsf_media): Likewise.
	(movv2sf_i, movv2sf_i+1): Don't use f{ld,st}.p or SUBREGS.
	Collapse to one define_insn_and_split.  Allow immediate sources.
	(addv2sf3, subv2sf3, mulv2sf3, divv2sf3): New patterns.
	(movv4sf_i): Allow immediate sources.  Use simplify_gen_subreg.
	(movv4sf): Allow immediate sources.
	(movsf_media_nofpu+1): Don't split moves to FP registers.
	(unary_sf_op, binary_sf_op, mshflo_w_x, concat_v2sf): New patterns.
	(movv8qi_i+3): Check against CONST0_RTX.
	(mextr1, mextr2. mextr3. mextr4, mextr5, mextr6, mextr7): Use DImode
	for input and output operands.  Fix argument 3 to gen_mextr_rl.
	(mmul23_wl, mmul01_wl, mmulsum_wq_i): s/const_vector/parallel/
	(msad_ubq_i, mshf4_b, mshf0_b, mshf4_l, mshf0_l, mshf4_w): Likewise.
	(mshf0_w, fipr, ftrv): Likewise.
	(mshfhi_l_di): Now insn_and_split.  Can handle FP regs.

From-SVN: r55528
2002-07-17 16:15:04 +01:00
Kriang Lerdsuwanakij
d955f6ea6f PR c++/2862, c++/2863
PR c++/2862, c++/2863
	* pt.c (determine_specialization): Compare the length of
	TYPE_ARG_TYPES.  Tidy.

	* g++.dg/template/instantiate2.C: New test.
	* g++.dg/template/spec4.C: New test.

From-SVN: r55527
2002-07-17 14:17:21 +00:00
Kriang Lerdsuwanakij
d03d18e8de re PR c++/3797 (gcc 3.0 fails to emit explicit specialization of a template member)
PR c++/3797
	* decl.c (duplicate_decls): Don't propagate inlining parameters from
	olddecl to newdecl when newdecl is a specialization of the
	instantiation olddecl.

From-SVN: r55525
2002-07-17 14:07:42 +00:00
Kriang Lerdsuwanakij
ba59df78eb PR c++/4802, c++/5387
PR c++/4802, c++/5387
	* decl.c (make_typename_type): Use enforce_access.

	* g++.dg/template/access2.C: New test.
	* g++.dg/template/access3.C: New test.

From-SVN: r55517
2002-07-17 13:56:46 +00:00
Scott Snyder
58f05188d7 re PR c++/7320 (g++ 3.2 relocation problem)
PR c++/7320
	* rtti.c (get_tinfo_decl): Set DECL_COMDAT.

From-SVN: r55516
2002-07-17 11:46:38 +00:00
Jeroen Dobbelaere
e9d7b180c2 From Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
* arm.h (ARM_NUM_INTS, ARM_NUM_REGS, ARM_NUM_REGS2): Renamed from
NUM_INTS, NUM_REGS and ARM_NUM_REGS2 respectively.  All uses changed.
* arm.c: Similarly.

From-SVN: r55515
2002-07-17 09:54:11 +00:00
Richard Sandiford
8214bf98d2 mips-protos.h (mips_sign_extend): Declare.
* config/mips/mips-protos.h (mips_sign_extend): Declare.
	* config/mips/mips.h (MASK_DEBUG_H, TARGET_DEBUG_H_MODE): Remove.
	(TARGET_SWITCHES): Remove debugh.
	(ISA_HAS_TRUNC_W): New macro.
	(CLASS_CANNOT_CHANGE_MODE): Include FP_REGS if TARGET_FLOAT64.
	(PREDICATE_CODES): Remove se_nonimmediate_operand.
	* config/mips/mips.c (movdi_operand): Allow sign-extensions of
	any SImode move_operand.
	(se_nonimmediate_operand): Remove.
	(mips_sign_extend): New.
	(mips_move_2words): Use it for sign-extended source operands.
	(override_options): Allow integers to be put into single FPRs.
	(mips_secondary_reload_class): Handle integers in float registers.
	* config/mips/mips.md (extendsidi2): Turn into a define_expand.
	(fix_truncsfsi2, fix_truncdfsi2): Likewise.
	(fix_truncdfsi2_insn, fix_truncdfsi2_macro): New.
	(fix_truncsfsi2_insn, fix_truncsfsi2_macro): New.
	(fix_truncdfdi2): Provide only a single alternative, in which the
	integer is in a float register.  Depend on TARGET_FLOAT64 rather
	than TARGET_64BIT.
	(fix_truncsfdi2, floatdidf2, floatdisf2): Likewise.
	(floatsidf2, floatsisf2): Likewise, but no TARGET_FLOAT64 dependency.
	(movdi_internal2): Don't allow the source operand to be sign-extended.
	Add alternatives for float registers.
	(*movdi_internal2_extend): New.  Version of movdi_internal2 that
	allows sign-extension.
	(*movdi_internal2_mips16): Name the existing mips16 movdi pattern.
	(movsi_internal2): Rename to movsi_internal.  Add alternatives for
	float registers.  Remove TARGET_DEBUG_H_MODE test.
	(movhi_internal1): Rename to movhi_internal.  Don't check
	TARGET_DEBUG_H_MODE.  Fix transposed *d and *f source constraints.
	(movqi_internal1): Rename to movqi_internal and remove
	TARGET_DEBUG_H_MODE dependency.
	(movsi_internal1, movhi_internal2, movqi_internal2): Remove.

From-SVN: r55514
2002-07-17 09:24:08 +00:00
GCC Administrator
5fc5be1522 Daily bump.
From-SVN: r55513
2002-07-17 07:17:26 +00:00
Jim Wilson
7ab0121e27 Fix for i960 build failure reported by Andreas Jaeger.
* toplev.c (lang_dependent_init): Create function context for
	init_expr_once.

From-SVN: r55508
2002-07-16 20:03:40 -07:00
Hans-Peter Nilsson
349ccf2eeb linux.h (CRIS_LINK_SUBTARGET_SPEC): Don't --gc-sections if -r.
* config/cris/linux.h (CRIS_LINK_SUBTARGET_SPEC): Don't
	--gc-sections if -r.
	* config/cris/cris.h: Ditto.

From-SVN: r55507
2002-07-17 01:49:50 +00:00
Rodney Brown
06ec023fb9 i386.c (ix86_expand_int_movcc): In the case where the comparison directly gives a mask suppress addition when...
* config/i386/i386.c (ix86_expand_int_movcc): In the case where
        the comparison directly gives a mask suppress addition when cf is
        zero by complementing the mask.

From-SVN: r55505
2002-07-16 18:36:36 -07:00
Stan Shebs
2aa9948d9b darwin.h (ASM_OUTPUT_LABEL): Move to here from config/rs6000/darwin.h.
* config/darwin.h (ASM_OUTPUT_LABEL): Move to here from
        config/rs6000/darwin.h.
        (ASM_OUTPUT_SKIP): Ditto.
        (TEXT_SECTION_ASM_OP): Ditto.
        (DATA_SECTION_ASM_OP): Ditto.
        (ASM_APP_ON): Define.
        (ASM_APP_OFF): Define.
        * config/rs6000/darwin.h (ASM_OUTPUT_LABEL, ASM_OUTPUT_SKIP,
        TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): Remove.

From-SVN: r55504
2002-07-17 00:19:30 +00:00
Chris Demetriou
e2d83b8cb2 config.guess: Update to 2002-07-09 version.
2002-07-16  Chris Demetriou  <cgd@broadcom.com>

        * config.guess: Update to 2002-07-09 version.
        * config.sub: Update to 2002-07-03 version.

From-SVN: r55503
2002-07-16 17:14:49 -07:00
Nathanael Nerode
39cef9146f Makefile.in: Delete references to enquire.
(gcc)
	* Makefile.in: Delete references to enquire.
	* enquire.c: Move to contrib.

(contrib)
	* enquire.c: Move from gcc.

From-SVN: r55502
2002-07-17 00:09:11 +00:00
Stan Shebs
92c1a778df darwin.c (func_name_maybe_scoped): Remove unused decl.
* darwin.c (func_name_maybe_scoped): Remove unused decl.
        (machopic_function_base_name): Declare result to be const.
        (machopic_non_lazy_ptr_name): Ditto.
        (machopic_stub_name): Ditto.
        * darwin-protos.h: Ditto for the prototypes.

From-SVN: r55501
2002-07-16 23:59:40 +00:00
Jan Hubicka
daaab00ade * m68hc11.c (m68hc11_reorg): Do not rebuild CFG.
From-SVN: r55500
2002-07-16 22:23:59 +00:00
Jan Hubicka
63c574ccc4 Wed Jul 17 00:20:48 CEST 2002 Jan Hubicka <jh@suse.cz>
* i386.md (prefetch): Fix for 64bit mode.
	(prefetch_sse_rex, prefetch_3dnow_rex): New patterns.

From-SVN: r55499
2002-07-16 22:21:34 +00:00
Jan Hubicka
2a500b9e70 i386.h (MACHINE_DEPENDENT_REORG): New macro.
* i386.h (MACHINE_DEPENDENT_REORG): New macro.
	* i386.c (x86_machine_dependent_reorg): New function.
	* i386-protos.h (x86_machine_dependent_reorg): Declare.

From-SVN: r55498
2002-07-16 22:20:10 +00:00
H.J. Lu
554b811104 gcc_update (touch_files): Pass -s to ${MAKE}.
2002-07-16  H.J. Lu <hjl@gnu.org>

	* gcc_update (touch_files): Pass -s to ${MAKE}.

From-SVN: r55497
2002-07-16 15:03:34 -07:00
Mark Wielaard
00e0a9e83d StreamTokenizer.java (pushBack): Update documentation.
* java/io/StreamTokenizer.java (pushBack): Update documentation.
	(whitespaceChars): call resetChar().

From-SVN: r55496
2002-07-16 21:08:25 +00:00
Zack Weinberg
e5faf155c9 builtins.c (std_expand_builtin_va_start): Remove unused first argument.
* builtins.c (std_expand_builtin_va_start): Remove unused
	first argument.
	(expand_builtin_va_start): Call EXPAND_BUILTIN_VA_START and
	std_expand_builtin_va_start with just two arguments.
	* expr.h: Update prototypes.

	* alpha-protos.h, alpha.h, alpha.c, arc-protos.h, arc.h,
	arc.c, d30v-protos.h, d30v.h, d30v.c, i386-protos.h, i386.h,
	i386.c, i960-protos.h, i960.h, i960.c, m88k-protos.h, m88k.h,
	m88k.c, mips-protos.h, mips.h, mips.c, mn10300-protos.h,
	mn10300.h, mn10300.c, pa-protos.h, pa.h, pa.c,
	rs6000-protos.h, rs6000.h, rs6000.c, s390-protos.h, s390.h,
	s390.c, sh-protos.h, sh.h, sh.c, sparc-protos.h, sparc.h,
	sparc.c, stormy16-protos.h, stormy16.h, stormy16.c,
	xtensa-protos.h, xtensa.h, xtensa.c:  Remove unused first
	argument from all implementations of EXPAND_BUILTIN_VA_START
	and all uses of std_expand_builtin_va_start.

From-SVN: r55495
2002-07-16 20:59:08 +00:00
J"orn Rennecke
dbf65c2f4e * regrename.c (copy_value): Don't record high part copies.
From-SVN: r55493
2002-07-16 21:13:35 +01:00
Steve Ellcey
99b823ca2a *** empty log message ***
From-SVN: r55491
2002-07-16 19:51:18 +00:00
Steve Ellcey
6acb6d3ef0 long_double.h (FIXUNS_TRUNCTFDI2_LIBCALL): New define.
* gcc/config/pa/long_double.h (FIXUNS_TRUNCTFDI2_LIBCALL): New define.
	(fixunstfdi_libfunc): Change to use FIXUNS_TRUNCTFDI2_LIBCALL.
	* gcc/config/pa/quadlib.c (_U_Qfcnvfxt_quad_to_udbl): New function.

From-SVN: r55490
2002-07-16 19:39:27 +00:00
Ian Dall
5d7c281902 invoke.texi (NS32K Options): Document -mieee-compare option
* doc/invoke.texi (NS32K Options): Document -mieee-compare option

        * config/ns32k/ns32k.md (addsi3, *frame_addr, *stack_addr): merge
        into addsi3 using register class "x" and "y".

        * config/ns32k/ns32k.md (*madddf, *maddsf, *msubdf, *msubsf):
        "earlyclobber" constraint modifier for some alternative.

        * config/ns32k/ns32k.md (tstdf, tstsf, cmpdf, cmpsf, blt, ble)
        (*ble, *blt): Flag to indicate bCOND and sCOND should check for
        unordered.
        config/ns32k/ns32k.h (CC_UNORD): define corresponding mask.

        * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE, MASK_IEEE_COMPARE)
        (TARGET_SWITCHES): Add -mieee-compare option.
        (OVERRIDE_OPTIONS): 32332 is a subset of
        32532. Don't use IEEE_COMPARE -funsafe-math-optimizations.
        (TARGET_SWITCHES): Fix description of bitfield option.
        * config/ns32k/netbsd.h (TARGET_DEFAULT): Add
        -mieee-compare option. Remove 32332 flag.

From-SVN: r55489
2002-07-16 10:46:33 -07:00
Steve Ellcey
5da4f54878 explow.c (convert_memory_address): Remove special handling when POINTERS_EXTEND_UNSIGNED < 0.
* gcc/explow.c (convert_memory_address): Remove special handling
	when POINTERS_EXTEND_UNSIGNED < 0.
	* gcc/config/ia64.md (movsi_symbolic): New instruction for ILP32
	mode.
	(movedi_symbolic): Fix typo.
	(load_fptr): Remove mode restriction so it works for SI and DI.
	(load_fptr_internal1): Ditto.
	(load_gprel): Ditto.
	(load_symptr_internal1): Ditto.
	(call_pic): Ditto.
	* gcc/config/ia64.c (call_operand): Modify mode check.
	(ia64_expand_load_address): Handle DI and SI addresses and symbols.
	(ia64_expand_move): Ditto.
	(ia64_assemble_integer): Handle SImode function pointers.
	(ia64_expand_fetch_and_op): Handle SImode mem addresses.
	(ia64_expand_op_and_fetch): Ditto.
	(ia64_expand_compare_and_swap): Ditto.
	(ia64_expand_lock_test_and_set): Ditto.
	(ia64_expand_lock_release): Ditto.

From-SVN: r55488
2002-07-16 16:07:13 +00:00
Jeroen Dobbelaere
1575c31ee1 From: Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
From: Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
* arm.c (emit_sfm): Don't set RTX_FRAME_RELATED_P on DWARF.

From: Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
 and Richard Earnshaw  <rearnsha@arm.com>
* arm.h (LEGITIMATE_PIC_OPERAND_P): Only test
CONSTANT_POOL_ADDRESS_P if a SYMBOL_REF.  Simplify logic.

Co-Authored-By: Richard Earnshaw <rearnsha@arm.com>

From-SVN: r55487
2002-07-16 15:39:22 +00:00
Richard Earnshaw
3894f59ee4 arm.md (stack_tie): New insn.
* arm.md (stack_tie): New insn.  Use an idiom that the alias code
understands to be a memory clobber.
* arm.c (arm_expand_prologue): Use it.

From-SVN: r55486
2002-07-16 15:14:22 +00:00
Michael Matz
9406d60d5e Add a new register allocator.
* ra.c: New file.
	* ra.h: New file.
	* ra-build.c: New file.
	* ra-colorize.c: New file.
	* ra-debug.c: New file.
	* ra-rewrite.c: New file.

	* Makefile.in (ra.o, ra-build.o, ra-colorize.o, ra-debug.o,
	(ra-rewrite.o): New .o files for libbackend.a.
	(GTFILES): Add basic-block.h.

	* toplev.c (flag_new_regalloc): New.
	(f_options): New option "new-ra".
	(rest_of_compilation): Call initialize_uninitialized_subregs()
	only for the old allocator.  If flag_new_regalloc is set, call
	new allocator, instead of local_alloc(), global_alloc() and
	friends.

	* doc/invoke.texi: Document -fnew-ra.
	* basic-block.h (FOR_ALL_BB): New.
	* config/rs6000/rs6000.c (print_operand): Write small constants
	as @l+80.

	* df.c (read_modify_subreg_p): Narrow down cases for a rmw subreg.
	(df_reg_table_realloc): Make size at least as large as max_reg_num().
	(df_insn_table_realloc): Size argument now is absolute, not relative.
	Changed all callers.

	* gengtype.c (main): Add the pseudo-type "HARD_REG_SET".
	* regclass.c (reg_scan_mark_refs): Ignore NULL rtx's.

	2002-06-20  Michael Matz  <matz@suse.de>

	* df.h (struct ref.id): Make unsigned.
	* df.c (df_bb_reg_def_chain_create): Remove unsigned cast.

	2002-06-13  Michael Matz  <matz@suse.de>

	* df.h (DF_REF_MODE_CHANGE): New flag.
	* df.c (df_def_record_1, df_uses_record): Set this flag for refs
	involving subregs with invalid mode changes, when
	CLASS_CANNOT_CHANGE_MODE is defined.

	2002-05-07  Michael Matz  <matz@suse.de>

	* reload1.c (fixup_abnormal_edges): Don't insert on NULL edge.

	2002-05-03  Michael Matz  <matz@suse.de>

	* sbitmap.c (sbitmap_difference): Accept sbitmaps of different size.

	Sat Feb  2 18:58:07 2002  Denis Chertykov  <denisc@overta.ru>

	* regclass.c (regclass): Work with all regs which have sets or
	refs.
	(reg_scan_mark_refs): Count regs inside (clobber ...).

	2002-01-04  Michael Matz  <matzmich@cs.tu-berlin.de>

	* df.c (df_ref_record): Correctly calculate SUBREGs of hardregs.
	(df_bb_reg_def_chain_create, df_bb_reg_use_chain_create): Only
	add new refs.
	(df_bb_refs_update): Don't clear insns_modified here, ...
	(df_analyse): ... but here.

	* sbitmap.c (dump_sbitmap_file): New.
	(debug_sbitmap): Use it.

	* sbitmap.h (dump_sbitmap_file): Add prototype.

	2001-08-07  Daniel Berlin  <dan@cgsoftware.com>

	* df.c (df_insn_modify): Grow the UID table if necessary, rather
	than assume all emits go through df_insns_modify.

	2001-07-26  Daniel Berlin  <dan@cgsoftware.com>

	* regclass.c (reg_scan_mark_refs): When we increase REG_N_SETS,
	increase REG_N_REFS (like flow does), so that regclass doesn't
	think a reg is useless, and thus, not calculate a class, when it
	really should have.

	2001-01-28  Daniel Berlin  <dberlin@redhat.com>

	* sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP_REV): New macro, needed for
	dataflow analysis.

From-SVN: r55485
2002-07-16 13:36:30 +00:00
Hans-Peter Nilsson
e0b89be2e2 Fix ChangeLog date last entry
From-SVN: r55484
2002-07-16 11:31:24 +00:00
Daniel Berlin
54b2a7f821 ra-rewrite.c: #include reload.h, insn-config.h
* ra-rewrite.c: #include reload.h, insn-config.h
	* ra-build.c: #include reload.h
	* Makefile.in: Update ra-rewrite.o, ra-build.o dependencies to
	depend on reload.h, insn-config.h.

From-SVN: r55483
2002-07-16 11:29:14 +00:00