Commit Graph

56631 Commits

Author SHA1 Message Date
Ian Lance Taylor
888ff7a125 Forgot to mention the PR number:
PR target/1532
	* flow.c (insn_dead_p): A clobber of a dead hard register is a
	dead insn after reload.

From-SVN: r77677
2004-02-11 23:52:19 +00:00
Joseph Myers
32e8aa9af1 re PR c/456 (constant expressions constraints (gcc.dg/c90-const-expr-1))
PR c/456
	* cppexp.c (num_binary_op): Don't allow comma operators in #if
	constant expressions at all outside C99 mode if pedantic.

testsuite:
	* gcc.dg/cpp/c90-if-comma-1.c, gcc.dg/cpp/c99-if-comma-1.c:
	New tests.

From-SVN: r77676
2004-02-11 23:50:45 +00:00
Uros Bizjak
3b8e0c9129 optabs.h (enum optab_index): Add new OTI_log10 and OTI_log2.
2004-02-11  Uros Bizjak  <uros@kss-loka.si>

	* optabs.h (enum optab_index): Add new OTI_log10 and OTI_log2.
	(log10_optab, log2_optab): Define corresponding macros.
	* optabs.c (init_optabs): Initialize log10_optab and log2_optab.
	* genopinit.c (optabs): Implement log10_optab and log2_optab
	using log10?f2 and log2?f2 patterns.
	* builtins.c (expand_builtin_mathfn): Handle BUILT_IN_LOG10{,F,L}
	using log10_optab, and BUILT_IN_LOG2{,F,L} using log2_optab.
	(expand_builtin): Expand BUILT_IN_LOG10{,F,L} and BUILT_IN_LOG2{,F,L}
	using expand_builtin_mathfn if flag_unsafe_math_optimizations is set.

	* config/i386/i386.md (log10sf2, log10df2, log10xf2, log2sf2,
	log2df2, log2xf2): New patterns to implement log10, log10f, log10l,
	log2, log2f and log2l built-ins as inline x87 intrinsics.

	* gcc.dg/builtins-33.c: New test.

From-SVN: r77675
2004-02-11 23:39:41 +00:00
Richard Henderson
a6abdce327 flow.c (insn_dead_p): A clobber of a dead hard register is a dead insn after reload.
* flow.c (insn_dead_p): A clobber of a dead hard register is a
	dead insn after reload.

From-SVN: r77674
2004-02-11 22:05:08 +00:00
Ulrich Weigand
05ac140eaf tree.h (frame_base_decl): Add GTY marker.
* tree.h (frame_base_decl): Add GTY marker.
	* var-tracking.c (frame_base_decl): Likewise.

From-SVN: r77671
2004-02-11 20:16:07 +00:00
Michael Koch
31d25d83b6 2004-02-11 Michael Koch <konqueror@gmx.de>
* java/net/DatagramSocket.java
	(setReuseAddress): Use Boolean.valueOf() instead of creating a new
	Boolean object.
	(setBroadcast): Likewise.
	* java/net/MulticastSocket.java
	(setLoopbackMode): Likewise.
	* java/net/ServerSocket.java
	(setReuseAddress): Likewise.
	* java/net/Socket.java
	(setTcpNoDelay): Likewise.
	(setSoLinger): Likewise.
	(setOOBInline): Likewise.
	(setKeepAlive): Likewise.
	(setReuseAddress): Likewise.
	* java/net/URLConnection.java
	(setContentHandler): Replace == with equals().
	* java/net/URLStreamHandler.java
	(hostSEquals): Fix checking host addresses.
	(toExternalForm): Dont check protocol for null. We know already its
	not null.

From-SVN: r77670
2004-02-11 18:22:09 +00:00
Daniel Berlin
e193b4082e dwarf2out.c (output_loc_list): Remove no longer necessary, and now incorrect, hunk.
2004-02-11  Daniel Berlin  <dberlin@dberlin.org>

	* dwarf2out.c (output_loc_list): Remove no longer necessary, and now
	incorrect, hunk.
	(add_location_or_const_value_attribute): Use text_section_label,
	not TEXT_SECTION_NAME.

From-SVN: r77669
2004-02-11 18:10:49 +00:00
David Edelsohn
1915e42288 configure.in (powerpc-*-aix*): Add target-libada to noconfigdirs.
* configure.in (powerpc-*-aix*): Add target-libada to noconfigdirs.
        (rs6000-*-aix*): Same.
        * configure: Regenerate.

From-SVN: r77668
2004-02-11 12:31:24 -05:00
Kelley Cook
a22c2d8d06 configure.in (host): Add in missing $noconfigdirs to defines.
2004-02-11  Kelley Cook  <kcook@gcc.gnu.org>

	* configure.in (host): Add in missing $noconfigdirs to defines.
	* configure: Regenerate.

From-SVN: r77665
2004-02-11 15:49:55 +00:00
Hartmut Penner
5f013ee9ee * g++.dg/simd-2.C: Set -maltivec for ppc64.
From-SVN: r77664
2004-02-11 15:43:28 +00:00
Per Bothner
12f9df4ec5 Represent column numbers using line-map's source_location.
The "next available source_location" is now managed internally by
	line-maps.c rather than by clients.
	* line-map.h (struct line_map):  New field column_bits.
	<from_line>:  Rename field to start_location.
	(struct line_maps):  New fields highest_location and max_column_hint.
	(linemap_check_files_exited):  New declaration.
	(linemap_line_start):  New declaration.
	(linemap_add):  Remove from_line parameter; use highest_location field.
	(SOURCE_LINE, LAST_SOURCE_LINE):  Modify to use column_bits.
	(SOURCE_COLUMN, LAST_SOURCE_LINE_LOCATION):  New macros.
	(CURRENT_LINE_MAP):  Remove macro.
	(linemap_position_for_column):  New inline function.
	* line-map.c (linemap_init):  Clear new fields.
	(linemap_check_files_exited):  New function, extracted from ...
	(linemap_free):  Use linemap_check_files_exited.
	(linemap_add):  Remove from_line parameter.  Various updates.
	(linemap_line_start):  New function.
	(linemap_lookeup):  Update for new field names.
	* cpphash.h (struct cpp_reader) <map>:  Field removed.  Because
	linemap_position_for_column may unpredictably change the current map,
	it is cleaner and simpler for us to not cache it in cpp_reader.
	(struct cpp_buffer):  New sysp field.
	Changed warned_cplusplus_comments and from_stage3 to bitfields.
	* cppinit.c (cpp_read_min_file):  pfile->map no longer exists.
	* cpplib.c (do_line, do_linemarker, _cpp_do_file_change):  Get
	current map using linemap_lookup.
	(do_linemarker):  Also set buffer's sysp field.
	(destringize_and_run):  No longer need to decrement current line.
	* cppfiles.c (_cpp_stack_file):  Set sysp from and in buffer.
	(search_path_head, open_file_failed):  Use buffer's sysp.
	(cpp_make_system_header):  Get current map using linemap_lookup.
	Also set buffer's sysp flag.
	* cppmacro.c (_cpp_builtin_macro_text):  Likewise use linemap_lookup.
	* cpphash.h (CPP_INCREMENT_LINE):  New macro.
	(struct cpp_buffer):  Moved fields saved_cur, saved_rlimit to ...
	(struct cpp_reader):  ... and adding saved_line_base field.
	* cpptrad.c (_cpp_overlay_buffer, _cpp_remove_overlay):
	Update accordingly.  Don't adjust line.
	(_cpp_scan_out_logical_line):  Use CPP_INCREMENT_LINE.
	* cpphash.c (CPP_IN_SYSTEM_HEADER):  Replaced macro by ...
	(cpp_in_system_header):  ... new inline function, using buffer's sysp.
	* cpperror.c (_cpp_begin_message):  Update to use cpp_in_system_header.
	* cpplex.c (_cpp_lex_direct):  Likewise.
	* cppmacro.c (_cpp_builtin_macro_text):  Likewise.
	* cppmacro.c (_cpp_create_definition):  Use buffer's sysp field.
	* cpplib.h (struct cpp_token):  Rename line field to src_loc.
	Remove col field as it is now subsumed by src_loc.
	* cpperror.c:  Update various field, parameter, and macro names.
	(print_location):  If col==0, try SOURCE_COLUMN of line.
	(cpp_error):  Use cur_token's src_loc field, rather than line+col.
	* cpplib.c (do_diagnostic):  Token's src_loc fields replaces line+col.
	* cpplex.c (_cpp_process_line_notes, _cpp_lex_direct,
	_cpp_skip_block_comment):  Use CPP_INCREMENT_LINE.
	(_cpp_temp_token):  Replace cpp_token's line+col fields by src_loc.
	(_cpp_get_fresh_line):  Don't need to adjust line for missing newline.
	(_cpp_lex_direct):  Use linemap_position_for_column.
	* c-ppoutput.c (maybe_print_line, print_line):  Don't take map
	parameter.  Instead get it from the line_table global.  Adjust callers.
	(print):  Remove map field.  Replace line field to src_line.
	(init_pp_output, account_for_newlines, maybe_print_line):  Adjust.
	(cb_line_change):  Use SOURCE_COLUMN.  Minor optimizations.
	(pp_file_change):  Use MAIN_FILE_P since we cannot checked print.map.
	Use LAST_SOURCE_LINE_LOCATION to "catch up" after #include.
	* cpptrad.c (copy_comment):  Rename variable.
	* c-lex.c (map):  Remove static variable, for same reason we removed
	cpp_reader's map field.
	(cb_line_change, cb_def_pragma, cb_define, cb_undef):  Hence we need
	to call linemap_lookup.
	(cb_line_change):  Token's line field replaced by src_loc.
	(fe_file_change):  Use MAINFILE_P and LAST_SOURCE_LINE macros.
	Don't save new_map.

	* cpphash.h, cpperror.c, cpplib.h:  Some renames of fileline to
	source_location.

From-SVN: r77663
2004-02-11 07:29:30 -08:00
Aldy Hernandez
8914b65e21 fix changelog entry
From-SVN: r77660
2004-02-11 15:05:23 +00:00
Hartmut Penner
e086f51d54 altivec.md (*movv4si_internal): At least one operand must be register_operand.
* config/rs6000/altivec.md (*movv4si_internal): At least one
       operand must be register_operand.
       (*movv8hi_internal1): Likewise.
       (*movv16qi_internal1): Likewise.
       (*movv4sf_internal1): Likewise.

From-SVN: r77654
2004-02-11 14:30:13 +00:00
Aldy Hernandez
e66b2fcf97 spe.md ("*movv2si_internal"): Check for register operand.
* config/rs6000/spe.md ("*movv2si_internal"): Check for register
        operand.

From-SVN: r77651
2004-02-11 12:37:21 +00:00
Paolo Carlini
a2af66c186 re PR libstdc++/14078 (Manipulators are slow)
2004-02-10  Paolo Carlini  <pcarlini@suse.de>
	    Petur Runolfsson  <peturr02@ru.is>

	PR libstdc++/14078
	* include/std/std_istream.h (operator>>(__istream_type& (*)
	(__istream_type&)), operator>>(__ios_type& (*)(__ios_type&)),
	operator>>(ios_base& (*)(ios_base&))): Declare inline.
	* include/std/std_ostream.h (operator<<(__ostream_type& (*)
	(__ostream_type&)), operator<<(__ios_type& (*)(__ios_type&)),
	operator<<(ios_base& (*) (ios_base&))): Likewise.
	* testsuite/performance/27_io/fmtflags_manipulators.cc: New.

Co-Authored-By: Petur Runolfsson <peturr02@ru.is>

From-SVN: r77650
2004-02-11 12:08:23 +00:00
Paolo Bonzini
ed045bef20 * gcc.dg/pr14092-1.c: Use intptr_t for the cast.
From-SVN: r77649
2004-02-11 11:53:38 +00:00
Richard Sandiford
c0689841b7 Fix typo in last entry.
From-SVN: r77646
2004-02-11 10:45:57 +00:00
Thiemo Seufer
7f9be2564e mips.h (TARGET_OLDABI): Define.
* config/mips/mips.h (TARGET_OLDABI): Define. Use TARGET_NEWABI and
	TARGET_LODABI consistently.
	* config/mips/mips.c (function_arg,mips_setup_incoming_varargs,
	mips_va_arg,override_options,compute_frame_size,
	mips_initial_elimination_offset,mips16_fp_args,build_mips16_call_stub
	,mips_return_in_memory,mips_strict_argument_naming): Use TARGET_NEWABI
	and TARGET_LODABI consistently.
	* config/mips/mips.md (exception_receiver): Likewise.
	* config/mips/linux64.h: Likewise.

From-SVN: r77643
2004-02-11 10:15:17 +00:00
Hartmut Penner
6d0ef01e47 * gcc/config/rs6000/rs6000.c (rs6000_override_options)
Set AltiVec ABI and vrsave as default for ppc64 linux.
       (init_cumulative_args): Post error, if try to return
       value in AltiVec register without enable AltiVec.
       (function_arg_advance): Ditto for passing arguments.

From-SVN: r77642
2004-02-11 09:00:08 +00:00
Richard Sandiford
7537fc907c emit-rtl.c (mark_label_nuses): Check that a LABEL_REF refers to a label before updating its usage count.
* emit-rtl.c (mark_label_nuses): Check that a LABEL_REF refers to
	a label before updating its usage count.

From-SVN: r77640
2004-02-11 08:06:00 +00:00
Loren J. Rittle
d318a8ba74 re PR libstdc++/14097 ([3.4 only] Severe disparity between stdio_filebuf and stdio_sync_filebuf.)
PR libstdc++/14097
	* config/linker-map.gnu: Add typeinfo and typeinfo name for
	__gnu_cxx::stdio_filebuf<char, std::char_traits<char> >.

From-SVN: r77636
2004-02-11 05:21:57 +00:00
Loren J. Rittle
64bd39ccc7 re PR libstdc++/14098 ([3.4 only] typeinfo issue with __gnu_cxx::stdio_sync_filebuf)
PR libstdc++/14098
	* config/linker-map.gnu: Add typeinfo and typeinfo name for
	__gnu_cxx::stdio_sync_filebuf<char, std::char_traits<char> >.

From-SVN: r77635
2004-02-11 05:03:13 +00:00
Matt Kraai
1e9f1674c6 * doc/install.texi: Remove extra cd.
From-SVN: r77634
2004-02-11 03:59:35 +00:00
Ziemowit Laski
b34417a407 c-common.c (vector_size_helper): Remove; call reconstruct_complex_type() instead.
2004-02-10  Ziemowit Laski  <zlaski@apple.com>

	* c-common.c (vector_size_helper): Remove; call
	reconstruct_complex_type() instead.
	* tree.c (reconstruct_complex_type): New function
	(formerly vector_size_helper() in c-common.c).
	(make_vector): Make externally visible.
	* tree.h (reconstruct_complex_type, make_vector): Add prototypes.

From-SVN: r77632
2004-02-11 01:55:29 +00:00
Mark Mitchell
3d2dbfbb30 * typeck.c (lookup_destructor): Fix typo in error message.
From-SVN: r77630
2004-02-11 01:47:06 +00:00
GCC Administrator
b87ab499fd Daily bump.
From-SVN: r77627
2004-02-11 00:16:13 +00:00
Kazu Hirata
a466bea388 h8300-protos.h: Add a prototype for h8300_regs_ok_for_stm.
* config/h8300/h8300-protos.h: Add a prototype for
	h8300_regs_ok_for_stm.
	* config/h8300/h8300.c (h8300_regs_ok_for_stm): New.
	* config/h8300/h8300.md (stm_h8300s_2_advanced,
	stm_h8300s_2_normal, stm_h8300s_2, stm_h8300s_3_advanced,
	stm_h8300s_3_normal, stm_h8300s_3, stm_h8300s_4_advanced,
	stm_h8300s_4_normal, stm_h8300s_4, ldm_h8300s_2_advanced,
	ldm_h8300s_2_normal, ldm_h8300s_2, ldm_h8300s_3_advanced,
	ldm_h8300s_3_normal, ldm_h8300s_3, ldm_h8300s_4_advanced,
	ldm_h8300s_4_normal, ldm_h8300s_4): Use
	h8300_regs_ok_for_stm().

From-SVN: r77624
2004-02-10 23:58:59 +00:00
Ulrich Weigand
cf81c88e37 * Makefile.in (gnattools): Depend on gnatlib.
From-SVN: r77621
2004-02-10 23:14:58 +00:00
Danny Smith
52bac94926 re PR c/14088 (Hexfloat constants with uppercase 0X prefix fail)
PR c/14088
	real.c (real_from_string): Look for 'X' as well as 'x' in
	hexfloat strings.

From-SVN: r77619
2004-02-10 23:05:58 +00:00
Kazu Hirata
2493deee55 h8300.md: Remove an incorrect comment about peephole2.
* config/h8300/h8300.md: Remove an incorrect comment about
	peephole2.  Add comments.

From-SVN: r77618
2004-02-10 22:40:30 +00:00
Joseph Myers
0237b2dc30 gjavah.c: Include "intl.h".
* gjavah.c: Include "intl.h".
	(error): New function.
	(main): Call gcc_init_libintl.
	(get_field_name, throwable_p, print_c_decl, print_full_cxx_name,
	print_stub_or_jni, process_file, main): Use error rather than
	fprintf.
	(print_method_info, usage, help, version, main): Mark strings for
	translation with _.  Avoid splitting up sentences.  Send
	information messages to stdout.
	* jcf-dump.c: Include "intl.h".
	(main): Call gcc_init_libintl.
	(process_class, usage, help, version, main, CHECK_PC_IN_RANGE):
	Mark error, usage and version messages for translation with _.
	Avoid splitting up sentences.
	* jv-scan.c: Include "intl.h".
	(fatal_error, warning): Change parameter s to msgid.  Translate
	messages.
	(main): Call gcc_init_libintl.
	(usage, help, version): Mark error, usage and version messages for
	translation with _.  Avoid splitting up sentences.
	* jvgenmain.c: Include "intl.h".
	(main): Call gcc_init_libintl.
	(usage, main): Mark error messages for translation with _.
	* Make-lang.in (GCJH_OBJS, JVSCAN_OBJS, JCFDUMP_OBJS,
	JVGENMAIN_OBJS): Add intl.o.
	(java/jcf-dump.o, java/gjavah.o, java/jv-scan.o,
	java/jvgenmain.o): Update dependencies.

From-SVN: r77614
2004-02-10 19:12:34 +00:00
David Jee
7b38bcac64 2004-02-10 David Jee <djee@redhat.com>
* java/awt/BorderLayout.java
	(calcCompSize): Invisible components get zero dimensions.
	* java/awt/Button.java
	(setLabel): Set actionCommand.
	* java/awt/Component.java
	(show): Invalidate component and parent container.
	(hide): Likewise.

From-SVN: r77613
2004-02-10 18:57:22 +00:00
David Jee
dcee9e6022 2004-02-10 David Jee <djee@redhat.com>
* java/awt/GridBagLayout.java
	(GridBagLayout): New private field, internalcomptable.
	(lookupInternalConstraints): New method.
	(ArrangeGrid): Use components' MINSIZE. Use internalcomptable.
	(GetLayoutInfo): Reimplement.
	(calcCellSizes): Ignore rows/columns with size 0.

From-SVN: r77612
2004-02-10 18:54:25 +00:00
Josef Zlomek
fbe6ec8150 emit-rtl.c (set_decl_incoming_rtl): New.
PR/14058
	* emit-rtl.c (set_decl_incoming_rtl): New.
	* tree.h (set_decl_incoming_rtl): New.
	* function.c (assign_parms): Use set_decl_incoming_rtl for setting
	DECL_INCOMING_RTL.
	* ada/misc.c (adjust_decl_rtl): Likewise.

From-SVN: r77611
2004-02-10 18:38:19 +00:00
Per Bothner
8a4baa83a1 c-opts.c (c_common_post_options): Don't emit working directory in cpp output if -P was specified.
* c-opts.c (c_common_post_options):   Don't emit working directory
	in cpp output if -P was specified.

From-SVN: r77607
2004-02-10 10:18:57 -08:00
Michael Koch
5e673ed855 2004-02-10 Michael Koch <konqueror@gmx.de>
* gnu/java/awt/EmbeddedWindow.java
	(setHandle): Use java.awt.Component.getPeer() instead of
	java.awt.Component.peer directly.

From-SVN: r77605
2004-02-10 17:46:28 +00:00
David Jee
49d77e2275 2004-02-10 David Jee <djee@redhat.com>
* gnu/java/awt/peer/gtk/GtkButtonPeer.java
	(gtkSetLabel): New native method definition.
	(setLabel): Use gtkSetLabel.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c
	(Java_gnu_java_awt_peer_gtk_GtkButtonPeer_gtkSetLabel): New method.

From-SVN: r77604
2004-02-10 17:12:09 +00:00
Paolo Bonzini
31cc608177 re PR middle-end/14092 (fold strips conversion from pointer to integer)
PR c/14092
* gcc.dg/pr14092-1.c: New testcase.
* fold-const.c (fold) <NEGATE_EXPR>: Convert result of
negate_expr back to the original type.

From-SVN: r77602
2004-02-10 13:41:16 +00:00
Alan Modra
d1d5c836a1 linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Don't bump retaddr here.
* config/rs6000/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Don't
	bump retaddr here.

	* include/powerpc-signal.h: Revert 2004-01-21 change.
	(INIT_SEGV, INIT_FPE): Provide powerpc64 versions.  Check return
	from syscall for ppc32 versions.

From-SVN: r77601
2004-02-10 23:57:43 +10:30
Joseph Myers
6ab36f9182 * de.po: Update.
From-SVN: r77598
2004-02-10 11:43:40 +00:00
Paolo Bonzini
dad822d36d rtl.h (schedule_insns, [...]): Move under the file in which they are actually declared.
* rtl.h (schedule_insns, schedule_ebbs, fix_sched_param,
gen_lowpart_SUBREG): Move under the file in which they
are actually declared.

From-SVN: r77597
2004-02-10 11:38:12 +00:00
Arnaud Charlet
cd2710546b sourcebuild.texi: Add libada documentation.
* doc/sourcebuild.texi: Add libada documentation.

	* doc/install.texi: Update documentation on Ada build, now
	that the GNAT lib and tools are built automatically.

From-SVN: r77596
2004-02-10 12:32:44 +01:00
Arnaud Charlet
0e315ffc0d * gcc_release: Add libada as part of ADA_DIRS.
From-SVN: r77595
2004-02-10 12:23:20 +01:00
Arnaud Charlet
d9cdb878ac PR ada/6637, PR ada/5911
PR ada/6637, PR ada/5911
	Merge with libada-branch:
	* configure.in, Makefile.tpl, Makefile.def: Add target-libada,
	with appropriate dependencies. Add --enable-libada configure switch.
	* configure, Makefile.in: Regenerate.

Co-Authored-By: Nathanael Nerode <neroden@gcc.gnu.org>

From-SVN: r77594
2004-02-10 11:54:48 +01:00
Arnaud Charlet
c1dcfa140c PR ada/6637, PR ada/5911
PR ada/6637, PR ada/5911
	Merge with libada-branch:
	* config-lang.in: Build libada only when ada is built.

Co-Authored-By: Nathanael Nerode <neroden@gcc.gnu.org>

From-SVN: r77593
2004-02-10 11:51:33 +01:00
Arnaud Charlet
b0b70d84d0 PR ada/6637, PR ada/5911
2003-02-10  Arnaud Charlet  <charlet@act-europe.fr>

	PR ada/6637, PR ada/5911
	* configure.in, Makefile.in, configure: Merge with libada-branch

From-SVN: r77592
2004-02-10 11:44:14 +01:00
Richard Sandiford
117c5858b4 mips.h (TARGET_GPWORD): Return false for TARGET_NEWABI && TARGET_IRIX.
* config/mips/mips.h (TARGET_GPWORD): Return false for TARGET_NEWABI
	&& TARGET_IRIX.

From-SVN: r77589
2004-02-10 10:17:47 +00:00
Alan Modra
cf5c0cea7f * gcc.dg/cpp/assert4.c: Fix typo last change.
From-SVN: r77587
2004-02-10 17:53:23 +10:30
Ziemowit Laski
42a1b62e55 objc-act.c (get_super_receiver): Move '#ifdef OBJCPLUS' boundaries outside build_component_ref() call (a macro...
2004-02-09  Ziemowit Laski  <zlaski@apple.com>

        * objc/objc-act.c (get_super_receiver): Move '#ifdef OBJCPLUS'
        boundaries outside build_component_ref() call (a macro in ObjC++).

From-SVN: r77584
2004-02-10 02:48:07 +00:00
Bob Wilson
997b8b4d4c xtensa-protos.h (xtensa_copy_incoming_a7): Update.
* config/xtensa/xtensa-protos.h (xtensa_copy_incoming_a7): Update.
	(init_cumulative_args): Likewise.
	(a7_overlap_mentioned_p): Delete prototype.
	* config/xtensa/xtensa.c (struct machine_function): Replace
	incoming_a7_copied field with need_a7_copy and vararg_a7 flags.
	Add set_frame_ptr_insn field.
	(xtensa_emit_move_sequence): Update call to xtensa_copy_incoming_a7.
	(xtensa_copy_incoming_a7): Rewrite to check need_a7_copy flag and check
	if the operand is an argument in a7.  If so, copy a7 to a new pseudo
	at the function entry and replace the operand with the pseudo.
	(init_cumulative_args): Remove unused arguments.  Add new "incoming"
	argument and record this flag in CUMULATIVE_ARGS.
	(function_arg): Remove result_mode and special-case code to handle
	arguments in a7.  Instead, set need_a7_copy flag when there is an
	incoming argument in a7.
	(xtensa_expand_prologue): Remove code to search for set_frame_ptr insn
	and use the value recorded in cfun->machine->set_frame_ptr_insn.
	(xtensa_builtin_saveregs): Check for negative gp_left value.  Set
	need_a7_copy and vararg_a7 flags.  Use move_block_from_reg instead of
	special-case code.
	(a7_overlap_mentioned_p): Delete.
	* config/xtensa/xtensa.h (CUMULATIVE_ARGS): Add "incoming" flag.
	(INIT_CUMULATIVE_ARGS, INIT_CUMULATIVE_INCOMING_ARGS): Remove useless
	arguments to init_cumulative_args and pass "incoming" flag instead.
	(BLOCK_REG_PADDING): Delete.
	* config/xtensa/xtensa.md (movdi, movsf, movdf): Remove unnecessary
	checks for reload_in_progress and reload_completed.  Update calls to
	xtensa_copy_incoming_a7.
	(ashlsi3): Rename existing insn to ashlsi3_internal.  Add expander
	to call xtensa_copy_incoming_a7.

From-SVN: r77583
2004-02-10 01:35:53 +00:00