OSDN Git Service

f1b73f6afc980f2062d023b3c807af9aafd50cc5
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2003-12-09  Matt Austern  <austern@apple.com>
2
3         PR c/13134
4         * c-decl.c (duplicate_decls): Copy visibility flag when appropriate.
5         
6 2003-12-09  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
7
8         * config/m32r/m32r.h: Add support for m32r2 processor.  Including
9         a new command line option -m32r2 to select it.
10         * config/m32r/m32r.c: Add support for the new processor variant.
11         * config/m32r/m32r.md: Likewise.
12         * config/m32r/t-m32r: Add m32r2 multilibs.
13         * doc/invoke.texi: Document the new command line switch.
14
15 2003-12-08  Kazu Hirata  <kazu@cs.umass.edu>
16
17         * defaults.h (LOCAL_REGNO): Give the default definition.
18         * flow.c (LOCAL_REGNO): Remove.
19         * reload1.c (LOCAL_REGNO): Likewise.
20
21 2003-12-08  Geoffrey Keating  <geoffk@apple.com>
22
23         PR target/11848
24         * rs6000.h (CANNOT_CHANGE_MODE_CLASS): Allow change of mode
25         in floating-point registers between TFmode and DImode.
26         * rs6000.c (rs6000_emit_move): Split moves early.
27         (secondary_reload_class): Random Whitespace Change.
28         (rs6000_split_multireg_move): Support moves involving FP registers.
29         Emit instructions directly.
30         * rs6000-protos.h (rs6000_split_multireg_move): Update prototype.
31         * altivec.md: Update for changes to rs6000_split_multireg_move.
32         * rs6000.md: Update for changes to rs6000_split_multireg_move.
33         (movtf_internal): Support moves to/from GPRs.
34
35 2003-12-08  Stuart Hastings  <stuart@apple.com>
36
37         * config/i386/i386.md: Typo in split of fp-valued if_then_else.
38         
39 2003-12-08  James E Wilson  <wilson@specifixinc.com>
40
41         PR target/13132
42         * expmed.c (extract_bit_field): Only call mode_for_size for scalar
43         integer modes.
44
45 2003-12-08  Nathanael Nerode  <neroden@gcc.gnu.org>
46
47         * doc/install.texi: Revert change of Dec 7; gcc is still a 2.13
48         directory.
49
50 2003-12-08  Alexandre Oliva  <aoliva@redhat.com>
51
52         * config/frv/frv.md (subdi2): Merge with _internal insn_and_split,
53         by using match_scratch.
54         (negdi2): New.
55
56 2003-12-08  Jason Merrill <jason@redhat.com>
57             Daniel Berlin  <dberlin@dberlin.org>
58
59         PR debug/11114
60         Support namespaces in DWARF 2 output.
61         * dwarf2out.c (gen_namespace_die): New function.
62         (force_namespace_die, setup_namespace_context): New fns.
63         (declare_in_namespace): New fn.
64         (gen_decl_die): Call declare_in_namespace.  Handle namespaces.
65         (dwarf2out_decl): Handle namespaces.
66         (scope_die_for): Pass through a namespace scope.
67         (class_scope_p): Rename to class_or_namespace_scope_p.
68         (gen_subprogram_die, gen_variable_die): Adjust.
69         (gen_struct_or_union_die): Always emit a declaration
70         if context_die is a namespace.
71
72 2003-12-08  Jan Hubicka  <jh@suse.cz>
73
74         * unwind-pe.h (read_uleb128): Fix handling of large values
75         (read_sleb128): Fix handling of large values
76
77 2003-12-08  Andrew Pinski  <pinskia@physics.uc.edu>
78
79         PR middle-end/10060
80         * emit-rtl.c (copy_rtx_if_shared): Split out into ...
81         (copy_rtx_if_shared_1): here and optimize the last one
82         in the sequence into tail-recursion.
83         (reset_used_flags): Optimize the last one
84         in the sequence into tail-recursion.
85
86 2003-12-08  Richard Earnshaw  <rearnsha@arm.com>
87
88         * arm.md: New split to transform ((X << y) - 1) into ~(~(X-1) << y)
89         for constant X.
90
91 2003-12-08  Richard Sandiford  <rsandifo@redhat.com>
92
93         * calls.c (expand_call): Don't try using tail or recursive calls
94         after the function body has been expanded.
95
96 2003-12-08  Jan Hubicka  <jh@suse.cz>
97
98         * i386.md (cmpstr expander): Obey TARGET_INLINE_ALL_STRINGOPS
99
100 2003-12-08  Arnaud Charlet  <charlet@act-europe.fr>
101
102         PR ada/13324, PR ada/12614
103         * doc/install.texi: Update requirements for building Ada.
104
105 2003-12-07  David Edelsohn  <edelsohn@gnu.org>
106             Graham Reed <greed@pobox.com>
107
108         * collect2.c (GCC_OK_SYMBOL): Add support for AIX C_WEAKEXT.
109         (GCC_UNDEF_SYMBOL): Same.
110
111 2003-12-07  Kazu Hirata  <kazu@cs.umass.edu>
112
113         * final.c (final_scan_insn): Don't use FINAL_PRESCAN_LABEL.
114         * system.h (FINAL_PRESCAN_LABEL): Poison.
115         * doc/tm.texi (FINAL_PRESCAN_LABEL): Remove.
116
117 2003-12-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
118
119         * Makefile.in (compare): Combine toplevel and $(SUBDIRS) cases.
120
121 2003-12-07  Nathanael Nerode  <neroden@gcc.gnu.org>
122
123         * configure.in, aclocal.m4: Revert to pre-2.5x conversion status.
124         * configure: Regenerate with autoconf 2.13.
125
126         * configure.in: Replace AC_INIT, AC_OUTPUT, AC_CANONICAL_SYSTEM
127         with modern equivalents.
128         * configure: Regenerate.
129
130         * configure.in: Replace gcc_AC_CHECK_TYPE with AC_CHECK_TYPE.
131         * aclocal.m4 (gcc_AC_CHECK_TYPE): Remove.
132         * configure: Regenerate.
133
134         * configure: Regenerate with (preferred) autoconf 2.57.
135         * doc/install.texi: Note that 'gcc' is now a 2.57 directory.
136
137 2003-12-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
138
139         PR optimization/12965
140         * caller-save.c (save_call_clobbered_regs): Do not save/restore
141         registers around no-return calls.
142
143 2003-12-07  Nathanael Nerode  <neroden@gcc.gnu.org>
144
145         * configure.in: Make minimum necessary changes for autoconf 2.5x.
146         * aclocal.m4: Make minimum necessary changes for autoconf 2.5x.
147         * configure: Regenerate with autoconf 2.58.
148
149 2003-12-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
150
151         PR optimization/13318
152         * loop.c (express_from): Protect integer division from overflow.
153
154 2003-12-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
155
156         PR optimization/13060
157         * function.c (fixup_var_refs_1) [SUBREG]: Recognize even if a
158         replacement already exists.  Fix again the whole insn if that fails.
159
160 2003-12-06  Andrew Pinski  <pinskia@physics.uc.edu>
161
162         * config/rs6000/rs6000.c (macho_branch_islands): Use 
163         HOST_WIDE_INT_PRINT_UNSIGNED.
164
165 2003-12-06  Richard Sandiford  <rsandifo@redhat.com>
166
167         * varasm.c (incorporeal_function_p): New.
168         (assemble_external): Use it as a filter.
169         * config/mips/mips.c (mips_output_external): Don't check for builtin
170         functions here.
171
172 2003-12-06  Richard Earnshaw  <reanrsha@arm.com>
173
174         * arm.md (IOR (COMPARISON) (AND)): New define_splits.
175
176 2003-12-06  Kelley Cook  <kcook@gcc.gnu.org>
177
178         * Makefile.in (program_transform_cross_name): Delete.
179         (GCC_CROSS_NAME, CPP_CROSS_NAME): Delete.
180         (PROTOIZE_CROSS_NAME, UNPROTOIZE_CROSS_NAME): Delete.
181         (AR_FOR_TARGET, RANLIB_FOR_TARGET, NM_FOR_TARGET): Adjust for above.
182         (install_cpp, install_driver, install-man, uninstall): Likewise.
183
184 2003-12-06  Alan Modra  <amodra@bigpond.net.au>
185
186         PR 13169
187         * basic-block.h (PROP_ASM_SCAN): Define.
188         * final.c (regs_asm_clobbered): New array.
189         * regs.h (regs_asm_clobbered): Declare.
190         * flow.c (life_analysis): Init it.
191         (mark_set_regs): Set PROP_ASM_SCAN for asms.
192         (mark_set_1): Set regs_asm_clobbered.
193         * global.c (global_alloc): Don't set eliminable_regset when
194         regs_asm_clobbered.
195
196 2003-12-05  Mark Mitchell  <mark@codesourcery.com>
197
198         * config/ia64/ia64.h (MUST_PASS_IN_STACK): Define.
199
200         PR c++/13314
201         * emit-rtl.c (set_mem_attributes_minus_bitpos): Robustify.
202
203 2003-12-05  Andrew Pinski <pinskia@physics.uc.edu>
204
205         PR driver/13211
206         * gcc.c (execute) Increment execution_count when returning
207         early because verbose_only_flag is true.
208
209 2003-12-05  Per Bothner  <pbothner@apple.com>
210
211         * cppfiles.c (file_hash_hash):  New static function.
212         (hash_string_eq):  Renamed static function to file_hash_eq.
213         (_cpp_init_files):  Create file_hash table with above callbacks.
214         (cpp_included):  Must use htab_find_with_hash insead of htab_find.
215         (_cpp_find_find, make_cpp_dir):  Must use htab_find_slot_with_hash.
216
217 2003-12-05  Per Bothner  <pbothner@apple.com>
218
219         * line-map.h (source_location):  New typedef.
220         (fileline):  Redefined as source_location.
221         (struct line_map, linemap_add, linemap_lookup):  Replace filefile
222         by source_location.
223         * line-map.c (linemap_add, linemap_lookup):  Use source_location.
224
225 2003-12-05  Richard Henderson  <rth@redhat.com>
226
227         * config/alpha/alpha.c (alpha_build_builtin_va_list): Add dummy
228         field to suppress -Wpadded warnings.
229
230 2003-12-05  Stuart Hastings  <stuart@apple.com>
231
232         * config/rs6000/rs6000.md: Correct macro test of TARGET_MACHO.
233
234 2003-12-05  Stuart Menefy <stuart.menefy@st.com>
235             J"orn Rennecke <joern.rennecke@superh.com>
236
237         PR target/13302
238         * sh.c (sh_build_builtin_va_list): Use (*lang_hooks.types.make_type).
239
240 2003-12-05  Roger Sayle  <roger@eyesopen.com>
241
242         * dojump.c (do_jump): If the expression being compared against
243         zero, is the subreg of a promoted variable, perform the comparison
244         in the promoted mode.
245         * simplify-rtx.c (simplify_unary_operation): Optimize sign and
246         zero-extensions of subregs of promoted variables where the
247         extension is identical to that used to promote the variable.
248
249 2003-12-05  Hans-Peter Nilsson  <hp@axis.com>
250
251         PR target/13256
252         * resource.h (enum mark_resource_type): Remove member MARK_DEST.
253         The only user changed as follows:
254         * resource.c (mark_set_resources) <case SET>: Always recurse for
255         SET_SRC (x).
256         <case SIGN_EXTRACT, case ZERO_EXTRACT>: Always recurse on
257         operands.
258         <case STRICT_LOW_PART>: Delete, deferring to default code.
259
260 2003-12-05  Waldek Hebisch <hebisch@math.uni.wroc.pl>
261
262         * stmt.c (expand_nl_goto_receiver): Copy hard register clobbers
263         and ASM_INPUT barrier from expand_builtin_setjmp_receiver.
264
265 2003-12-05  Richard Sandiford  <rsandifo@redhat.com>
266
267         * config/mips/mips.c (mips_expand_call): Don't allow laziy binding
268         for n32 & n64 abicalls.
269
270 2003-12-05  Richard Sandiford  <rsandifo@redhat.com>
271
272         PR bootstrap/13145
273         * config/mips/mips.h (FIRST_PSEUDO_REGISTER): Adjust comment.
274         * config/mips/mips.c (mips_reg_names, mips_sw_reg_names): Add $fcall.
275         (mips_load_got): Always create a constant MEM.
276         (mips_expand_call): Use load_callsi and load_calldi.
277         * config/mips/mips.md (UNSPEC_LOAD_CALL, FAKE_CALL_REGNO): New consts.
278         (load_callsi, load_calldi): New patterns.
279
280 2003-12-05  Peter Gerwinski <peter@gerwinski.de>
281
282         * tree.def (PLACEHOLDER_EXPR): Clarify commentary.
283
284 2003-12-05  Steven Bosscher  <stevenb@suse.de>
285
286         * config/d30v/d30v-protos.h , config/d30v/d30v.c,
287         config/dsp16xx/dsp16xx-protos.h, config/dsp16xx/dsp16xx.c,
288         config/fr30/fr30-protos.h, config/fr30/fr30.c,
289         config/i370/i370-protos.h, config/i370/i370.c,
290         config/i960/i960-protos.h, config/i960/i960.c,
291         config/ip2k/ip2k-protos.h, config/ip2k/ip2k.c,
292         config/m32r/m32r-protos.h, config/m32r/m32r.c,
293         config/mn10300/mn10300-protos.h, config/mn10300/mn10300.c,
294         config/ns32k/ns32k-protos.h, config/ns32k/ns32k.c:
295         Convert to ISO C90 function declarations and definitions.
296
297 2003-12-05  Eric Botcazou  <ebotcazou@libertysurf.fr>
298
299         * doc/extend.texi (Constructing Calls): Add warning about
300         the limitations of the functions.
301
302 2003-12-05  Eric Botcazou  <ebotcazou@libertysurf.fr>
303
304         PR middle-end/11151
305         * function.h (struct function): New field 'x_naked_return_label'.
306         * function.c (free_after_compilation): Set it to NULL.
307         (expand_function_end): Emit 'naked_return_label' if it exists.
308         * rtl.h (expand_naked_return): Declare.
309         * stmt.c (expand_naked_return): New function to generate a
310         jump to 'naked_return_label'.
311         * builtins.c (expand_builtin_return): Call expand_naked_return
312         instead of expand_null_return.
313         * config/sparc/sparc.md (untyped_return): Likewise.
314
315 2003-12-04  Andrew Pinski  <pinskia@physics.uc.edu>
316
317         PR target/11322
318         * config/sh/netbsd-elf.h (NO_PROFILE_COUNTERS): Define.
319
320         PR target/12467
321         * config/rs6000/altivec.md (altivec_vmsummbm): Fix typo.
322
323 2003-12-04  Stuart Hastings  <stuart@apple.com>
324
325         * rs6000.c (output_call, macho_branch_islands,
326         add_compiler_branch_island, no_previous_def, get_previous_label)
327         Revisions of xx_stub functions for branch islands,
328         add -fPIC support for Darwin.
329         * rs6000-protos.h (output_call) Prototype.
330         * rs6000.md Use output_call.
331         * invoke.texi Explain Darwin semantics of -longcall.
332         * testsuite/gcc.dg/darwin-abi-1.c Revise testcase for -longcall/jbsr.
333
334 2003-12-04  Richard Henderson  <rth@redhat.com>
335
336         * config/i386/i386.md (addqi3_carry): Use q not r constraints.
337         (subqi3_carry): Likewise.
338
339 2003-12-04  J"orn Rennecke <joern.rennecke@superh.com>
340
341         PR optimization/13260
342         * sh-protos.h (sh_expand_t_scc): Declare.
343         * sh.h (PREDICATE_CODES): Add cmpsi_operand.
344         * sh.c (cmpsi_operand, sh_expand_t_scc): New functions.
345         * sh.md (cmpsi): Use cmpsi_operand.  If T_REG is compared to
346         something that is not a CONST_INT, copy it into a pseudo register.
347         (subc): Fix description of new T value.
348         (slt, sgt, sge, sgtu): Don't clobber T after rtl generation is over.
349         (sltu, sleu, sgeu): Likewise.
350         (seq, sne): Likewise. Use sh_expand_t_scc.
351
352 2003-12-04  Nathanael Nerode  <neroden@gcc.gnu.org>
353
354         * configure.in: Generalize the CONFIG_HEADERS pattern under which
355         we stamp cstamp-h.
356         * configure: Regenerate.
357
358         * configure.in: Pull AC_CHECK_HEADER call out of shell if statement
359         to avoid trouble when updating to autoconf 2.5x.
360         * configure: Regenerate (with autoconf 2.13 still).
361
362 2003-12-04  J"orn Rennecke <joern.rennecke@superh.com>
363
364         * sh.md (truncdiqi2): Use andi opcode for immediate.
365         (reload_outdf+1,reload_outdf+2): Remove constraints.
366         (movv16sf_i): Fxi multiplier for SUBREG_BYTE.
367         (movv8qi_i+2): Zero-extend low byte before adding it to high byte.
368         (fipr, ftrv): Add .s suffix to opcode.
369
370 2003-12-04  Richard Sandiford  <rsandifo@redhat.com>
371
372         PR target/13186
373
374         Revert all of the following patch, except the addition of
375         hook_bool_machine_mode_true:
376
377         2003-11-02  Richard Sandiford  <rsandifo@redhat.com>
378
379         * Makefile.in (targhooks.o, reload.o): Update dependencies.
380         (GTFILES): Add targhooks.c.
381         (gt-targhooks.h): New rule; depend on s-gtype.
382         * target.h (direct_pool_load_p): New hook.
383         * target-def.h (TARGET_DIRECT_POOL_LOAD_P): New macro.
384         (TARGET_INITIALIZER): Include it.
385         * targhooks.h (default_direct_pool_load_p): Declare.
386         (hook_bool_machine_mode_true): Declare.
387         * targhooks.c: Include insn-config.h, recog.h, ggc.h and
388         gt-targhooks.h.
389         (pool_symbol): New variable.
390         (default_direct_pool_load_p): New function.
391         (hook_bool_machine_mode_true): New function.
392         * reload.c: Include target.h.
393         (find_reloads): If an alternative will force a constant into memory,
394         count an extra reload if constant pool symbols are not valid
395         addresses.  If an alternative uses memory to move values between
396         registers, count the move as two reloads rather than one.
397         * config/s390/s390.c (TARGET_DIRECT_POOL_LOAD_P): Define.
398         * doc/tm.texi (TARGET_DIRECT_POOL_LOAD_P): Document.
399
400 2003-12-03  Mark Mitchell  <mark@codesourcery.com>
401
402         * config/ia64/hpux.h (TARGET_HAVE_TLS): Define it to false.
403         * config/ia64/ia64.h (TARGET_HAVE_TLS): Define it to true if
404         HAVE_AS_TLS is true.
405         * config/ia64/ia64.c (TARGET_HAVE_TLS): Do not define it.
406
407 2003-12-03  James E Wilson  <wilson@specifixinc.com>
408
409         * gcc.c (init_spec): Pass -lunwind to init_gcc_specs in eh_name.
410
411         * gcc-page.c (extra_order_size_tab): Correct comment.
412
413 2003-12-03  Kazu Hirata  <kazu@cs.umass.edu>
414
415         * config/h8300/h8300.c (push): Call gen_push_h8300hs_advanced
416         instead of gen_push_h8300hs.
417         (pop): Call gen_pop_h8300hs_advanced instead of
418         gen_pop_h8300hs.
419         * config/h8300/h8300.h (TRAMPOLINE_SIZE): Use Pmode.
420         * config/h8300/h8300.md (*tablejump_h8300hs_advanced):
421         Tighten the predicate.
422         (*tablejump_h8300hs_normal): Tighten the predicate.
423         (push_h8300hs): Change to
424         push_h8300hs_advanced.
425         (pop_h8300hs): Change to pop_h8300hs_advanced.
426
427 2003-12-03  Eric Christopher  <echristo@redhat.com>
428
429         * rtl.c: Fix typo.
430         * config/mips/mips.h: Ditto. Fix formatting.
431
432 2003-12-04  Ben Elliston  <bje@wasabisystems.com>
433
434         * future.options: Remove. Move to gnu.org web pages.
435
436 2003-12-03  Eric Christopher  <echristo@redhat.com>
437
438         * c-parse.in (c_in_iteration_stmt, c_in_case_stmt): Move
439         from here...
440         * c-tree.h: to here.
441
442 2003-12-03  Jan Hubicka  <jh@suse.cz>
443
444         PR optimization/12324
445         * toplev.c  (rest_of_decl_compilation): Do not deffer when compiling
446         in unit-at-a-time mode.
447
448 2003-12-03  Jakub Jelinek  <jakub@redhat.com>
449
450         * expr.c (store_constructor): Only set RTX_UNCHANGING_P for
451         read-only field if cleared is 0.
452
453 2003-12-03  Nathanael Nerode  <neroden@gcc.gnu.org>
454
455         * config.gcc: Mark obsolete targets for GCC 3.4.
456
457 2003-12-03  Zack Weinberg  <zack@codesourcery.com>
458
459         * aclocal.m4 (AM_ICONV): Add explicit check for iconv.h.
460         * config.in, configure.in: Regenerate.
461         * cpphash.h: Check both HAVE_ICONV and HAVE_ICONV_H before
462         including iconv.h.
463
464 2003-12-03  Alan Modra  <amodra@bigpond.net.au>
465
466         PR target/11229
467         * cse.c (cse_insn): Set classp using src_const_elt if
468         src_eqv_elt is NULL.
469
470 2003-12-03  Richard Earnshaw  <rearnsha@arm.com>
471
472         * gcse.c (reg_clear_last_set): New function.
473         (reg_set_info): If data is non-null, treat it as an sbitmap of
474         registers, set the bit for the register being set.
475         (compute_store_table): Allocate last_set_in with xcalloc.  Do not
476         memset this array on each iteration.  Pass reg_set_in_block[bb->index]
477         to note_stores while computing last_set_in instead of scanning
478         last_set_in after the first pass through the insns.
479         Clear last_set_in using reg_clear_last_set instead of explicitly
480         rescanning after each insn.  If checking is enabled, assert that
481         last_set_in is completely zeroed after each bb has been processed.
482
483 2003-12-02  Geoffrey Keating  <geoffk@geoffk.org>
484
485         * df.c (df_uses_record) <MEM>: The argument of a MEM is read-only,
486         never read-write.
487         <REG>: Delete incorrect comment.
488         <SET>: Remove 'use_flags' variable.
489
490 2003-12-03  David Edelsohn  <edelsohn@gnu.org>
491
492         * function.c (assign_parms): Make sure parm PARALLEL combined
493         in reg is composed of more than one object and the mode really
494         produces a reg.
495
496 2003-12-03  Jan Hubicka  <jh@suse.cz>
497
498         * i386.c (classify_argument): Make it 64bit clean.
499
500 2003-12-02  Richard Sandiford  <rsandifo@redhat.com>
501
502         * config/mips/mips.c (mips_output_external): Replace checks for
503         specific builtin-in functions with a check for DECL_BUILTIN_IN.
504
505 2003-12-02  Richard Henderson  <rth@redhat.com>
506
507         * rtl.h (PUT_CODE, PUT_MODE): Remove ENUM_BITFIELD cast.
508         * tree.h (TREE_SET_CODE): Likewise.
509         * recog.h (struct insn_operand_data): Move const after ENUM_BITFIELD.
510
511 2003-12-02  Ben Elliston  <bje@wasabisystems.com>
512
513         * dbxstclass.h: Rename from this ..
514         * xcoff.h: .. to this.
515         * xcoffout.c: Include xcoff.h.
516
517 2003-12-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
518
519         * Makefile.in (GCC_CFLAGS): Add -Wold-style-definition.
520
521 2003-12-01  James Lemke <jim@wasabisystems.com>
522
523         * config/arm/arm.c (arm_rtx_costs): Improve for xscale multiply.
524
525 2003-12-01  Roger Sayle  <roger@eyesopen.com>
526
527         PR optimization/11634
528         * recog.c (split_insn): Factor test of INSN_P and handling of
529         set_noop_p out of here into the two callers.
530         (split_all_insns): Add INSN_P test and set_noop_p handling here.
531         If deleting a no-op set after reload that has a REG_UNUSED note,
532         mark the basic block as changed and recalculate life information.
533         (split_all_insns_noflow): Add INSN_P test and set_noop_p handling
534         here.
535
536 2003-12-01  Roger Sayle  <roger@eyesopen.com>
537
538         PR optimization/12322
539         * gcse.c (struct ls_expr): Change type of hash_index from int to
540         unsigned int.
541         (hash_expr): Document hash_table_size parameter and wrap long line.
542         (ldst_entry): Calculate expression's hash_index and record in ptr.
543         (trim_ld_motion_mems): Use hash_index to search a single bucket
544         instead of scanning the entire hash_table.  Remove the "del" local
545         variable and use the equivalent "expr == 0" instead.  Change last
546         to be a pointer to the pointer to the current element, to simplify
547         and speed-up deleting from a linked list.
548
549 2003-12-01  James E Wilson  <wilson@specifixinc.com>
550
551         * doc/contrib.texi: Update David Mosberger.
552
553         * doc/c-tree.texi (CONSTRUCTOR): Clarify element order and handling
554         of missing fields.
555
556         PR target/8407
557         * config/ia64/ia64.c (ia64_function_arg): For single-reg HFA, call
558         gen_rtx_REG to create new reg with argument mode.
559
560 2003-12-01  Steven Bosscher  <stevenb@suse.de>
561
562         * ggc.h (struct alloc_zone): Move forward declaration up.
563         (new_ggc_zone): New function prototype.
564         (destroy_ggc_zone): Ditto.
565         * ggc-simple.c (new_ggc_zone): New function, does nothing.
566         (destroy_ggc_zone): Ditto.
567         * ggc-page.c (new_ggc_zone): New function, does nothing.
568         (destroy_ggc_zone): Ditto.
569         * ggc-zone.c (struct page_entry): Fix comment.
570         (ggc_alloc_typed): Use a switch statement instead of ifs.
571         (new_ggc_zone): New function to set up a new GC zone.
572         (destroy_ggc_zone): New function to remove a GC zone.
573         init_ggc): Use new_ggc_zone to set up the default zones.
574         (ggc_collect): Walk a list of zones, instead of just the
575         default zones.  Report statistics using the zone name.
576
577 2003-12-01  Ulrich Weigand  <uweigand@de.ibm.com>
578
579         * unroll.c (find_splittable_givs): Add missing extend_value_for_giv.
580
581 2003-12-01  Roger Sayle  <roger@eyesopen.com>
582
583         PR optimization/12628
584         * toplev.c (rest_of_handle_jump_bypass): Call reg_scan.
585         * regclass.c (reg_scan): Include allocate_reg_info time in
586         TV_REG_SCAN.  Minor clean-ups.
587         (reg_scan_update): Minor clean-ups.
588
589 2003-12-01  Ulrich Weigand  <uweigand@de.ibm.com>
590
591         * config.gcc (s390x-ibm-tpf*): Add extra_parts.
592
593 2003-12-01  James E Wilson  <wilson@specifixinc.com>
594
595         * config/ia64/ia64.h (FUNCTION_ARG_REGNO_P): Use AR_REG_FIRST not
596         GR_ARG_FIRST.
597
598 2003-12-01  Zack Weinberg  <zack@codesourcery.com>
599
600         * common.opt: Remove -fgnu-linker.
601         * flags.h: Remove flag_gnu_linker.
602         * opts.c: Don't handle OPT_fgnu_linker.
603         * toplev.c: Don't initialize flag_gnu_linker.
604         Remove gnu-linker entry from f_options.
605         * config/dsp16xx/dsp16xx.h (OPTIMIZATION_OPTIONS):
606         Don't reset flag_gnu_linker.
607         * config/mips/mips.c (override_options): Likewise.
608         * doc/invoke.texi: Remove all mention of -fgnu-linker.
609
610 2003-12-01  Daniel Berlin  <dberlin@dberlin.org>
611
612         * ggc-zone.c (ggc_pch_write_object): Calculate object size using
613         ggc_get_size (which accounts for large objects properly).
614
615 2003-12-01  Jeff Sturm  <jsturm@one-point.com>
616
617         PR optimization/13024
618         * toplev.c (rest_of_handle_new_regalloc): Remove rebuild_notes
619         parameter.
620         (rest_of_handle_old_regalloc): Likewise.  Add rebuild_notes
621         declaration.  Rebuild jump labels following local_alloc if necessary.
622         (rest_of_compilation): Remove rebuild_label_notes_after_reload
623         declaration.  Don't pass rebuild_notes parameter to
624         rest_of_handle_new_regalloc and rest_of_handle_old_regalloc.
625         Don't rebuild jump labels.
626
627 2003-12-01  Jeff Law  <law@redhat.com>
628
629         * flow.c (count_or_remove_death_notes_bb): New.  Extracted from
630         count_or_remove_death_notes.
631         (count_or_remove_death_notes): Use EXECUTE_IF_SET_IN_SBITMAP.
632
633 2003-12-01  Andreas Krebbel  <krebbel1@de.ibm.com>
634
635         * builtins.c (expand_builtin_longjmp): Added two memory clobbers.
636
637 2003-12-01  Ulrich Weigand  <uweigand@de.ibm.com>
638
639         * reload.c (find_reloads_address): Split addresses of type
640         (plus (plus (reg) (reg)) (const_int)) only if one register
641         is either a valid base register or else one of the stack
642         frame related registers (sp/fp/ap).
643
644 2003-12-01  Steven Bosscher  <stevenb@suse.de>
645
646         * function.c (update_epilogue_consts): Don't use PARAMS.
647         * rtl.h (web_main): Ditto.
648         * target.h (is_costly_dependence): Ditto
649
650 2003-12-01  Eric Botcazou  <ebotcazou@libertysurf.fr>
651
652         PR middle-end/7847
653         * expr.c (expand_expr) [normal_inner_ref]: When 'offset' is non-zero,
654         do not recheck that 'op0' is a MEM.  Move comment.  When testing for
655         unaligned objects, take also into account the alignment of 'op0' and
656         'mode1' if 'op0' is a MEM.
657
658 2003-12-01 Gabriel Dos Reis <gdr@integrable-solutions.net>
659
660         * doc/c-tree.texi (Function Bodies): Update HANDLER documentation.
661
662 2003-12-01  Kelley Cook  <kcook@gcc.gnu.org>
663
664         * doc/install.texi: Note that fastjar is built with automake 1.7.x
665         and autoconf 2.57.
666
667 2003-12-01  Alan Modra  <amodra@bigpond.net.au>
668
669         * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Test
670         target_flags directly rather than using TARGET_* defines.
671
672 2003-11-30  Ben Elliston  <bje@wasabisystems.com>
673
674         * doschk.c: Remove.
675
676 2003-11-30  Richard Sandiford  <rsandifo@redhat.com>
677
678         PR target/12727
679         * config/mips/mips.c (mips_save_reg): Fix frame information for sdc1
680         on 32-bit big-endian targets.
681
682 2003-11-30  Kazu Hirata  <kazu@cs.umass.edu>
683
684         * genemit.c (register_constraints): Remove.
685
686 2003-11-30  Andreas Krebbel  <krebbel1@de.ibm.com>
687
688         * config/s390/s390.md ("tmdi_reg", "tmsi_reg", "*movdi_64", "*movdi_31",
689         "iordi3"): Insns now use multiple letter constraints.
690         ("*movdi_lhi", "*movdi_lli", "*movdi_lay"): Insns deleted. They are now
691         covered by "*movdi_64".
692         ("*movsi_lhi", "*movsi_lli", "*movsi_lay"): Insns deleted. They are now
693         covered by "*movsi_zarch" and "*movsi_esa".
694         ("*movsi_zarch", "*movsi_!zarch"): New insns.
695         ("*llgt_sisi_split", "*llgt_didi_split"): Insns deleted. Now covered
696         by "*andsi3_zarch" and "anddi3".
697         ("*anddi3_ni"): Insn merged with "anddi3".
698         ("*andsi3_ni"): Insn merged with "*andsi3_zarch".
699         ("*andsi3_zarch", "*andsi3_esa"): New insns.
700         ("*iordi3_oi"): Insn merged with "iordi3".
701         ("*iorsi3_oi"): Insn merged with "*iorsi3_zarch".
702         ("*iorsi3_zarch", "*iorsi3_esa"): New insns.
703
704         * config/s390/s390.c (s390_single_qi, s390_single_hi): Functions
705         merged to s390_single_part.
706         (s390_single_part): New function.
707         NOTE: Semantics have changed a bit. Now the value of the part must
708         be different from the others to get a non-negative return value.
709         (s390_extract_qi, s390_extract_hi): Functions merged to
710         s390_extract_part.
711         (s390_extract_part, s390_extra_constraint_str,
712         s390_const_ok_for_constraint_p): New functions. The L constraint got a
713         new meaning and the N constraint was added as a multiple letter
714         constraint.
715         (s390_extra_constraint): Function deleted.
716         (print_operand): New output modifier 'i' and 'j' added.
717         All uses of CONST_OK_FOR_LETTER_P were replaced by
718         CONST_OK_FOR_CONSTRAINT_P.
719
720         * config/s390/s390-protos.h: Function prototypes adapted.
721         * doc/md.texi: Documentation for new constraint letters added.
722
723 2003-11-30  Andreas Schwab  <schwab@suse.de>
724
725         * Makefile.in ($(DESTDIR)$(infodir)/%.info): Fix missing semicolon.
726
727 2003-11-29  James E Wilson  <wilson@specifixinc.com>
728
729         * gcc.c (init_spec): Pass -lunwind to init_gcc_specs in eh_name
730         instead of in shared_name.
731
732         * final.c (final_start_function): Delete code for NON_SAVING_SETJMP.
733         * reload1.c (reload): Re-add it here.
734
735 2003-11-30  Alan Modra  <amodra@bigpond.net.au>
736
737         * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): Don't
738         set SECTION_WRITE on TARGET_RELOCATABLE.
739
740 2003-11-29  Kazu Hirata  <kazu@cs.umass.edu>
741
742         * config/h8300/h8300.h (LIBCALL_VALUE): Use R0_REG.
743
744 2003-11-28  Gunther Nikl  <gni@gecko.de>
745
746         * config/m68k/m68k.c (MOTOROLA): Move from here...
747         * config/m68k/m68k.h (MOTOROLA): ... to here.
748         (OUTPUT_JUMP): Use do {...} while (0).
749         * config/m68k/m68k.md: Replace #ifdef MOTOROLA with C statements.
750
751 2003-11-28  Gunther Nikl  <gni@gecko.de>
752
753         * config.gcc (m68020-*-elf*, m68k-*-elf*, m68010-*-netbsdelf*,
754         m68k*-*-netbsdelf*, m68k-*-rtems*): Add tm_defines containing
755         MOTOROLA and USE_GAS.
756         * config/m68k/rtemself.h (MOTOROLA): Delete.
757         * config/m68k/netbsd-elf.h (MOTOROLA, USE_GAS): Delete.
758         * config/m68k/m68kelf.h (MOTOROLA, USE_GAS, SGS_CMP_ORDER): Delete.
759
760 2003-11-29  Kazu Hirata  <kazu@cs.umass.edu>
761
762         * config/h8300/h8300.h (WORDS_BIG_ENDIAN): Update the comment.
763
764 2003-11-29  Kelley Cook  <kcook@gcc.gnu.org>
765
766         * Makefile.in (install-info): Install gccinstall.info too.
767
768 2003-11-29  Ulrich Weigand  <uweigand@de.ibm.com>
769
770         * config/s390/s390.md ("cmpint_di"): Fix incorrect instruction lengths.
771
772 2003-11-29  Ulrich Weigand  <uweigand@de.ibm.com>
773
774         * config/s390/s390.md ("movhi"): Do not emit extender pattern
775         when loading from a (MEM (ADDRESSOF ...)).
776         ("movqi"): Likewise.
777
778 2003-11-29  Joseph S. Myers  <jsm@polyomino.org.uk>
779
780         PR c/10333
781         * c-parse.in (typespec_reserved_nonattr): Reject typeof on
782         bit-fields.
783
784 2003-11-29  Richard Sandiford  <rsandifo@redhat.com>
785
786         * stmt.c (expand_asm_operands): Check whether force_const_mem
787         succeeded.
788
789 2003-11-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
790
791         * config/gnu.h (HURD_TARGET_OS_CPP_BUILTINS): New.
792         * config/linux.h (LINUX_TARGET_OS_CPP_BUILTINS): New.
793
794         * config/alpha/gnu.h, config/alpha/linux.h,
795         config/arm/linux-elf.h, config/cris/cris.h, config/cris/linux.h,
796         config/i370/linux.h, config/i386/gnu.h, config/i386/i386.h,
797         config/i386/linux-aout.h, config/i386/linux.h,
798         config/i386/linux64.h, config/ia64/linux.h, config/m68k/linux.h,
799         config/m68k/uclinux.h, config/mips/linux.h,
800         config/mn10300/linux.h, config/pa/pa-linux.h,
801         config/rs6000/sysv4.h, config/s390/linux.h, config/sh/linux.h,
802         config/sparc/linux.h, config/sparc/linux64.h,
803         config/xtensa/linux.h (TARGET_OS_CPP_BUILTINS): Use
804         HURD_TARGET_OS_CPP_BUILTINS/LINUX_TARGET_OS_CPP_BUILTINS or ensure
805         all necessary assertions are included.
806
807 2003-11-28  Jan Hubicka  <jh@suse.cz>
808
809         * emit-rtl.c (set_used_flags): New.
810         (verify_rtx_sharing, verify_rtl_sharing): New.
811         (unshare_all_rtl_1): Rename to....
812         (unshare_all_rtl_in_chain): ... this one; make static.
813         (copy_rtx_if_shared): LABEL_REF chan be shared.
814         * ifcvt.c (unshare_ifcvt_sequence): New.
815         (noce_try_move, noce_try_store_flag, noce_try_store_flag_constants,
816         noce_try_addcc, noce_try_addcc, noce_try_store_flag_mask,
817         noce_try_cmove, noce_try_store_flag_mask, noce_try_minmax,
818         noce_try_abs, noce_process_if_block, find_cond_trap
819         * rtl.h (verify_rtl_sharing, set_used_flags, unshare_all_rtl_in_chain):
820         Declare.
821
822 2003-11-28  Kazu Hirata  <kazu@cs.umass.edu>
823
824         * config/h8300/h8300.md: Fix a comment typo.
825
826 2003-11-28  Kazu Hirata  <kazu@cs.umass.edu>
827
828         * config/h8300/h8300.md (*movsf_h8300h): Change to
829         *movsf_h8300hs.
830         (addsi_h8300): Change to *addsi_h8300.
831         (addsi_h8300h): Change to *addsi_h8300hs.
832         (subsi3_h8300): Change to *subsi3_h8300.
833         (subsi3_h8300h): Change to *subsi3_h8300hs.
834         (neghi2_h8300h): Change to *neghi2_h8300hs.
835         (negsi2_h8300h): Change to *negsi2_h8300hs.
836
837 2003-11-28  Kazu Hirata  <kazu@cs.umass.edu>
838
839         * config/h8300/h8300.md (*subhi3_h8300): Remove '&' from the
840         constraint.
841         (*subhi3_h8300hs): Likewise.
842
843 2003-11-28  David Edelsohn  <edelsohn@gnu.org>
844
845         * config/rs6000/rs6000.h (MASK_MFCRF): New.
846         (TARGET_MFCRF): Test target_flags, not processor type.
847         (TARGET_SWITCHES): Add mfcrf and no-mfcrf.
848         Change Don't to Do not.
849         * config/rs6000/rs6000.c (processors_target_table): Add MASK_MFCRF
850         to power4, 970, G5.
851
852 2003-11-27  J"orn Rennecke <joern.rennecke@superh.com>
853
854         * cse.c (cse_set_around_loop): When changing a constant load
855         to a register -register copy, add a REG_EQUAL note.
856
857 2003-11-27  Randolph Chung  <tausq@debian.org>
858             John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
859
860         * pa.c (hppa_profile_hook): Split gen_call_profiler into separate
861         insns.  Use the regular call expander for the call to the profiler.
862         * pa.md (call_profiler): Delete.
863         (load_offset_label_address): New insn to load the address of the
864         current function for the profiler.
865         (lcla1, lcla2): New insns to output a code label and load its address.
866
867 2003-11-27  Kazu Hirata  <kazu@cs.umass.edu>
868
869         * final.c (final_scan_insn): Remove commented-out code.
870
871 2003-11-27  Nathanael Nerode  <neroden@gcc.gnu.org>
872
873         * doc/install.texi: Remove ADAC reference and make accurate.
874
875 2003-11-27  Kazu Hirata  <kazu@cs.umass.edu>
876
877         * config/h8300/h8300.h (FUNCTION_VALUE): Use R0_REG.
878         (FUNCTION_VALUE_REGNO_P): Likewise.
879         * config/h8300/h8300.md: Define R0_REG.
880
881 2003-11-27  Kazu Hirata  <kazu@cs.umass.edu>
882
883         * config/h8300/h8300.c: Fix formatting.
884         * config/h8300/h8300.md: Likewise.
885
886 2003-11-27  Kazu Hirata  <kazu@cs.umass.edu>
887
888         * config/h8300/h8300.h (ELIMINABLE_REGS): Update a comment.
889
890 2003-11-27  Kazu Hirata  <kazu@cs.umass.edu>
891
892         * config/h8300/h8300.md: Give names to anonymous insns.
893
894 2003-11-27  Kazu Hirata  <kazu@cs.umass.edu>
895
896         * config/h8300/h8300.md (extendqisi2): Remove constraints.
897
898 2003-11-27  Gunther Nikl  <gni@gecko.de>
899
900         * doc/tm.texi (SYSROOT_HEADERS_SUFFIX_SPEC): Fix typo.
901
902 2003-11-27  Eric Botcazou  <ebotcazou@libertysurf.fr>
903
904         PR optimization/13041
905         * final.c (frame_pointer_needed): Fix comment.
906         * reload1.c (reload): Decrease alignment of the frame
907         pointer if it was used for register allocation.
908
909 2003-11-27  Eric Botcazou  <ebotcazou@libertysurf.fr>
910
911         PR target/12900
912         * reg-stack (move_for_stack_reg): New prototype.  Return
913         whether a control flow insn was deleted.
914         (subst_stack_regs_pat): Likewise, using the information provided
915         by move_for_stack_reg.
916         (subst_stack_regs): Likewise, using the information provided
917         by subst_stack_regs_pat.
918         (convert_regs_1): Record whether a control flow insn was deleted,
919         using the information provided by subst_stack_regs.  Purge dead
920         edges only if a control flow insn was deleted.
921
922 2003-11-27  Eric Botcazou  <ebotcazou@libertysurf.fr>
923
924         PR middle-end/8028
925         PR middle-end/9890
926         PR middle-end/11151
927         PR middle-end/12210
928         PR middle-end/12503
929         PR middle-end/12692
930         * builtins.c (expand_builtin_apply): Use virtual_outgoing_args_rtx
931         as the base address to copy the memory arguments to.
932
933 2003-11-26  Danny Smith  <dannysmith@users.sourceforge.net>
934
935         * config/i386/cygming.h (ASM_OUTPUT_DEF_FROM_DECLS): Declare
936         function aliases as functions.
937
938 2003-11-26  Nathanael Nerode  <neroden@gcc.gnu.org>
939
940         * aclocal.m4 (gcc_AC_PROG_GNAT): Rewrite to account for removal
941         of ADAC.
942         * configure: Regenerate.
943
944         * Makefile.in: Remove references to ADAC.
945
946         * configure.in: Remove check for whether ${ADAC} accepts -Wno-long-long.
947         * configure: Regenerate.
948
949 2003-11-26  Eric Botcazou  <ebotcazou@libertysurf.fr>
950             Olivier Hainque  <hainque@act-europe.fr>
951
952         PR target/6466
953         * config/sparc/sparc-protos.h (compute_frame_size): New prototype.
954         (sparc_flat_compute_frame_size): Likewise.
955         (sparc_flat_save_restore): Move prototype...
956         * config/sparc/sparc.c (sparc_flat_save_restore): ...here.
957         (save_regs): New prototype.
958         (build_big_number): Likewise.
959         (apparent_fsize): Change type to HOST_WIDE_INT.
960         (actual_fsize): Likewise.
961         (frame_base_offset): Likewise.
962         (build_big_number): Add support for HOST_BITS_PER_WIDE_INT == 64.
963         Change string descriptor to HOST_WIDE_INT_PRINT_DEC.
964         [TARGET_ARCH64]: Use the sequence of sparc_emit_set_const64_longway
965         to load a 64-bit constant.
966         (sparc_nonflat_function_prologue): Change string descriptor to
967         HOST_WIDE_INT_PRINT_DEC.  Change offset type to HOST_WIDE_INT.
968         (output_restore_regs): Change offset type to HOST_WIDE_INT.
969         (sparc_nonflat_function_epilogue): Change string descriptor to
970         HOST_WIDE_INT_PRINT_DEC.  Use build_big_number.
971         (output_sibcall): Change size type to HOST_WIDE_INT.  Use
972         build_big_number.  Change string descriptor to HOST_WIDE_INT_PRINT_DEC.
973         (sparc_frame_info): Change types for several components.
974         (sparc_flat_compute_frame_size): Update types according to previous
975         change.
976         (sparc_flat_function_prologue): Change string descriptor to
977         HOST_WIDE_INT_PRINT_DEC.  Change offset type to int.  Use
978         build_big_number.
979         (sparc_flat_function_epilogue): Change offset type to int.
980         Rename 'size1' into 'reg_offset1'.  Change string descriptor to
981         HOST_WIDE_INT_PRINT_DEC.  Use build_big_number.  Change big number
982         limit to 4096 instead of 4095.
983
984         * config/sparc/sparc.c (mems_ok_for_ldd_peep): Change offset type to
985         HOST_WIDE_INT.
986
987 2003-11-24  Waldek Hebisch <hebisch@math.uni.wroc.pl>
988
989         * function.c: Make outer_function-chain external.
990         * function.h: Likewise.
991
992 2003-11-24  Richard Sandiford  <rsandifo@redhat.com>
993
994         * config.gcc (mips-sgi-irix6*): Add t-iris6gld to tmake_file when
995         using GNU ld.
996         * config/mips/iris6.h (IRIX6_STARTFILE_SPEC): New, taking the
997         whole of the previous STARTFILE_SPEC except crtbegin.o%s.
998         (IRIX6_ENDFILE_SPEC): Likewise ENDFILE_SPEC and crtend.o%s.
999         (STARTFILE_SPEC, ENDFILE_SPEC): Define in terms of the above.
1000         (SUBTARGET_EXTRA_SPECS): Define.
1001         * config/mips/iris6gld.h (LINK_SPEC): Change -init function
1002         to __gcc_init and -fini function to __gcc_fini.
1003         (STARTFILE_SPEC): Redefine, including irix6-crti.o before crtbegin.o.
1004         (ENDFILE_SPEC): Likewise, including irix6-crtn.o after crtend.o.
1005         (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP): Define.
1006         * config/mips/t-iris6gld,
1007         * config/mips/irix6-crti.asm,
1008         * config/mips/irix6-crtn.asm: New files.
1009
1010 2003-11-24  Eric Christopher  <echristo@redhat.com>
1011
1012         PR C/13014
1013         * c-decl.c (c_in_iteration_stmt, c_in_case_stmt): New.
1014         (start_function): Use.
1015         (c_push_function_context): Ditto.
1016         (c-pop_function_context): Ditto.
1017         (language_function): Move...
1018         * c-tree.h: ... here. Add x_in_iteration_stmt, and
1019         x_in_case_stmt.
1020         * c-parse.in (do_stmt_start, select_or_iter_stmt, stmt): Use
1021         c_in_iteration_stmt, c_in_case_stmt for parser state. Move
1022         check for valid break or continue statment here...
1023         * c-semantics.c (genrtl_break_stmt, genrtl_continue_stmt): From
1024         here. Change original errors to abort.
1025
1026 2003-11-24  Jan Hubicka  <jh@suse.cz>
1027
1028         * fold-const.c (fold):  Do not return early when optimizing
1029         COMPONENT_REF and constant.
1030
1031 2003-11-24  Kazu Hirata  <kazu@cs.umass.edu>
1032
1033         * config/h8300/h8300.md (tablejump_h8300): Change to
1034         *tablejump_h8300.
1035         (tablejump_h8300h): Change to *tablejump_h8300hs_advanced.
1036         (tablejump_normal_mode): Change to *tablejump_h8300hs_normal.
1037         (indirect_jump_h8300): Change to *indirect_jump_h8300.
1038         (indirect_jump_h8300h): Change to
1039         *indirect_jump_h8300hs_advanced.
1040         (indirect_jump_normal_mode): Change to
1041         *indirect_jump_h8300hs_normal.
1042
1043 2003-11-24  Kazu Hirata  <kazu@cs.umass.edu>
1044
1045         * config/h8300/h8300.md: Remove constraints from expanders.
1046
1047 2003-11-24  Kazu Hirata  <kazu@cs.umass.edu>
1048
1049         * config/h8300/h8300.md: (stm_h8300s_2): Change the name to
1050         stm_h8300s_2_advanced.
1051         (stm_h8300s_2_normal): New.
1052         (stm_h8300s_2): Likewise.
1053         (stm_h8300s_3): Change the name to stm_h8300s_3_advanced.
1054         (stm_h8300s_3_normal): New.
1055         (stm_h8300s_3): Likewise.
1056         (stm_h8300s_4): Change the name to stm_h8300s_4_advanced.
1057         (stm_h8300s_4_normal): New.
1058         (stm_h8300s_4): Likewise.
1059         (ldm_h8300s_2): Change the name to ldm_h8300s_2_advanced.
1060         (ldm_h8300s_2_normal): New.
1061         (ldm_h8300s_2): Likewise.
1062         (ldm_h8300s_3): Change the name to ldm_h8300s_3_advanced.
1063         (ldm_h8300s_3_normal): New.
1064         (ldm_h8300s_3): Likewise.
1065         (ldm_h8300s_4): Change the name to ldm_h8300s_4_advanced.
1066         (ldm_h8300s_4_normal): New.
1067         (ldm_h8300s_4): Likewise.
1068         (two peephole2's): Enable only with !TARGET_NORMAL_MODE.
1069         (two peephole2's): New.
1070
1071 2003-11-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1072
1073         * genattrtab.c (simplify_cond): Update indices correctly.
1074         (attr_alt_subset_p, attr_alt_subset_of_compl_p, attr_alt_intersection,
1075         attr_alt_union, attr_alt_complement, attr_alt_bit_p, mk_attr_alt): New.
1076         (check_attr_test, encode_units_mask, compute_alternative_mask,
1077         make_alternative_compare, simplify_and_tree,
1078         attr_rtx_cost, simplify_test_exp, gen_attr,
1079         write_test_expr, walk_attr_value): Handle EQ_ATTR_ALT.
1080         * rtl.def (EQ_ATTR_ALT): New.
1081
1082 2003-11-23  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1083
1084         * genattrtab.c (strcmp_check, DEF_ATTR_STRING): New macros.
1085         (length_str, delay_type_str, delay_1_0_str, num_delay_slots_str):
1086         New variables.
1087         (main): Initialize them.
1088         (find_attr): Canonicalize the attribute name string.
1089         (attr_rtx_1, copy_boolean, expand_delays, gen_unit): Always canonicalize
1090         string arguments.
1091         (attr_printf, attr_eq): Use DEF_ATTR_STRING.
1092         (check_attr_test, check_attr_value, make_length_attrs,
1093         write_length_unit_log, simplify_by_exploding, gen_attr,
1094         write_test_expr, write_attr_value, write_eligible_delay,
1095         write_complex_function, make_internal_attr,
1096         write_const_num_delay_slots): Changed due to change of type of
1097         find_attr.
1098         (fill_attr, evaluate_eq_attr, simplify_and_tree,
1099         attr_rtx_cost, simplify_by_exploding, walk_attr_value): Use
1100         strcmp_check.
1101
1102 2003-11-23  Kazu Hirata  <kazu@cs.umass.edu>
1103
1104         PR target/13122
1105         * config/h8300/h8300.c (push): Call push_h8300hs_normal in
1106         normal mode.
1107         (pop): Call pop_h8300hs_normal in normal mode.
1108         * config/h8300/h8300.md: Likewise.
1109         (pushqi1_h8300hs_normal): New.
1110         (pushqi1): Call pushqi1_h8300hs_normal in normal mode.
1111         (pushhi1_h8300hs_normal): New.
1112         (pushhi1): Call pushhi1_h8300hs_normal in normal mode.
1113         (push_h8300hs_normal): New.
1114         (pop_h8300hs_normal): Likewise.
1115
1116 2003-11-23  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1117
1118         * genattrtab.c (count_sub_rtxs): Removed.
1119
1120 2003-11-23  Richard Earnshaw  <rearnsha@arm.com>
1121
1122         * recog.c (preprocess_constraints): Only zero those elements of
1123         recog_op_alt that are needed for this insn.
1124         * arm.c (note_invalid_constants): A function can't contain invalid
1125         constants if it has no constraints.
1126
1127 2003-11-22  Jan Hubicka  <jh@suse.cz>
1128
1129         * i386.c (classify_argument): Pass __float128 in memory.
1130         (ix86_return_in_memory): Likewise.
1131         (ix86_libcall_value): Likewsie.
1132
1133 2003-11-22  Kazu Hirata  <kazu@cs.umass.edu>
1134
1135         * config/h8300/h8300.c (dosize): Convert to ISO-C.
1136
1137 2003-11-22  J"orn Rennecke <joern.rennecke@superh.com>
1138
1139         * flow.c (update_life_info): Amend comment about when a register
1140         can become dead.
1141
1142 2003-11-21  Kelley Cook  <kcook@gcc.gnu.org>
1143
1144         * doc/.cvsignore: Delete.
1145
1146 2003-11-21  Daniel Berlin  <dberlin@dberlin.org>
1147             David Edelsohn  <edelsohn@gnu.org>
1148
1149         * dwarf2out.c (add_location_or_const_value_attribute): Add support
1150         for PARALLEL.
1151
1152 2003-11-21  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1153
1154         * config/mips/t-iris6 (CRTSTUFF_T_CFLAGS): Add -Wno-error.
1155         (TARGET_LIBGCC2_CFLAGS): Define.
1156
1157         * crtstuff.c [HAS_INIT_SECTION] (__do_global_dtors): Declare.
1158         (__do_global_ctors): Likewise.
1159
1160 2003-11-21  Mark Wielaard  <mark@klomp.org>
1161
1162         * doc/invoke.texi (-O2): Doesn't enable -fweb.
1163
1164 2003-11-21  Kazu Hirata  <kazu@cs.umass.edu>
1165
1166         * doc/invoke.texi: Mention dV and dZ.
1167
1168 2003-11-21  Kazu Hirata  <kazu@cs.umass.edu>
1169
1170         * doc/invoke.texi: Update dump file names.
1171         Remove de, dW, and dX.
1172
1173 2003-11-20  James E Wilson  <wilson@specifixinc.com>
1174
1175         PR c/13133
1176         * reload1.c (reload): Delete special handling for setjmp.
1177
1178 2003-11-21  Andreas Tobler  <a.tobler@schweiz.ch>
1179
1180         * mklibgcc.in: Evaluate shlib_slibdir_qual during link
1181         step too.
1182         * config/t-slibgcc-darwin: Adjust install path.
1183         * config/rs6000/t-darwin: Revert multilib matches since
1184         it is not used on darwin.
1185
1186 2003-11-20  Richard Henderson  <rth@redhat.com>
1187
1188         * ssa.c, ssa-dce.c, ssa-ccp.c: Remove files.
1189         * Makefile.in (OBJS-common, GTFILES): Don't reference them.
1190         (gtype-desc.o, toplev.o, flow.o): Remove ssa.h.
1191         (ssa.o, ssa-dce.o, ssa-ccp.o): Remove.
1192         * flow.c: Don't include ssa.h.
1193         (set_phi_alternative_reg): Remove.
1194         (calculate_global_regs_live): Don't call it.
1195         (mark_used_regs): Don't handle PHI.
1196         * gengtype.c (open_base_files): Don't reference ssa.h.
1197         * rtl.def (PHI): Remove.
1198         * timevar.def (TV_TO_SSA, TV_SSA_CCP, TV_SSA_DCE, TV_FROM_SSA): Kill.
1199         * common.opt: Remove -fssa, -fssa-ccp, -fssa-dce.
1200         * opts.c (common_handle_option): Likewise.
1201         * toplev.c (f_options): Likewise.
1202         (DFI_ssa, DFI_ssa_ccp, DFI_ssa_dce, DFI_ussa): Remove.
1203         (dump_file): Update to match.
1204         (flag_ssa, flag_ssa_ccp, flag_ssa_dce): Remove.
1205         (rest_of_handle_ssa): Remove.
1206         (rest_of_compilation): Don't call it.
1207         * toplev.h (flag_ssa, flag_ssa_dce, flag_ssa_ccp): Remove.
1208         * doc/invoke.texi: Remove -fssa, -fssa-ccp, -fssa-dce.
1209         * doc/passes.texi (SSA optimizations): Remove.
1210
1211 2003-11-20  Bob Wilson  <bob.wilson@acm.org>
1212
1213         * configure.in: Add xtensa-*-* targets to test for dwarf2 debug_line.
1214         * configure: Regenerate.
1215
1216 2003-11-20  Kelley Cook  <kcook@gcc.gnu.org>
1217
1218         * Makefile.in (Makefile): Pass along CONFIG_SHELL.
1219
1220 2003-11-20 David Mosberger  <davidm@hpl.hp.com>
1221
1222         * config/t-libunwind (LIB2ADDEH): Add unwind-c.c.
1223         (SHLIB_LC): Define.
1224         * unwind-libunwind.c (_Unwind_GetCFA): Implement.
1225         (_Unwind_GetBSP) [UNW_TARGET_IA64]: New function.
1226
1227 2003-11-20  Fariborz Jahanian  <fjahanian@apple.com>
1228             David Edelsohn  <edelsohn@gnu.org>
1229
1230         * calls.c (expand_call): Allocate new temp in pass1.
1231         (store_one_arg): If PARALLEL, calculate excess using mode size of
1232         rtvec elt.
1233         * expr.c (emit_push_insn): If PARALLEL, calculate offset using
1234         mode size of rtvec elt.
1235         * function.c (assign_parms): Use parm in register, if available.
1236
1237 2003-11-20  Kazu Hirata  <kazu@cs.umass.edu>
1238
1239         * config/h8300/lib1funcs.asm (MOVP): Remove.
1240         (ADDP): Likewise.
1241         (CMPP): Likewise.
1242
1243 2003-11-20  Richard Earnshaw  <rearnsha@arm.com>
1244
1245         * arm.c (use_return_insn): New argument, SIBLING.  Support returning
1246         with a single instruction if the stack has been decremented by 4
1247         and we have a frame pointer.  Update all callers.
1248         (output_return_instruction): Likewise.
1249         (arm_output_epilogue): Change argument to SIBLING.  Calculate
1250         really_return from the new argument.  Update all callers.
1251         * arm.h (USE_RETURN_INSN): Pass NULL for the sibling.
1252         * arm.md (sibcall_epilogue): Call use_return_insn directly, and
1253         pass the sibling call.
1254         * arm-protos.h (use_return_insn, arm_output_epilogue): Update
1255         prototypes.
1256
1257 2003-11-20  Joseph S. Myers  <jsm@polyomino.org.uk>
1258
1259         * Makefile.in (extraclean): Delete.
1260         * configure.in (target_list): Remove extraclean.
1261         * configure: Regenerate.
1262         * doc/makefile.texi, doc/sourcebuild.texi: Update.
1263         * objc/Make-lang.in (objc.extraclean): Delete.
1264
1265 2003-11-20  Joseph S. Myers  <jsm@polyomino.org.uk>
1266
1267         * Makefile.in (lang_checks): Add.
1268         (check-c++, check-f77, check-java, check-g++, check-g77,
1269         check-objc): Remove hardcoded targets.
1270         * doc/sourcebuild.texi: Document testsuite hooks.
1271         * objc/Make-lang.in (check-objc, lang_checks): Add.
1272
1273 2003-11-19  Scott Snyder  <snyder@fnal.gov>
1274
1275         PR target/13131
1276         * dwarf2out.c (gen_array_type_die): DW_AT_declaration should be a
1277         flag, not a constant.
1278
1279 2003-11-19  Kelley Cook  <kcook@gcc.gnu.org>
1280
1281         * config/arc/arc-protos.h: Update to C90 prototypes.
1282         * config/arc/arc.c: Likewise.
1283         * config/arc/initfini.c: Likewise.
1284
1285 2003-11-19  Andreas Krebbel  <krebbel1@de.ibm.com>
1286
1287         * stmt.c (expand_goto): Memory clobbers added.
1288
1289 2003-11-19  Andreas Krebbel  <krebbel1@de.ibm.com>
1290
1291         * reload.c (find_reloads): Added missing type casts.
1292
1293 2003-11-19  James E Wilson  <wilson@specifixinc.com>
1294
1295         * combine.c (sets_function_arg_p): Delete unused function.
1296
1297 2003-11-19  Eric Christopher  <echristo@redhat.com>
1298
1299         * reload1.c (reload): Revert 2 previous checkins.
1300
1301 2003-11-19  Nathanael Nerode  <neroden@gcc.gnu.org>
1302
1303         * cpptrad.c (_cpp_scan_out_logical_line): Improve test for
1304         whether directive begins at the beginning of a line.
1305
1306 2003-11-19  Richard Sandiford  <rsandifo@redhat.com>
1307
1308         * config/frv/frv.c (frv_init_libfuncs): Correct ufix_optab entries.
1309
1310 2003-11-19  Gerald Pfeifer  <gp@suse.de>
1311
1312         * doc/install.texi (Specific): Remove information on old versions
1313         of glibc versus old versions of GCC.
1314
1315 2003-11-19  Richard SAndiford  <rsandifo@redhat.com>
1316
1317         * emit-rtl.c (gen_lowpart): Don't force MEMs into a register unless
1318         the register lowpart is a TRULY_NOOP_TRUNCATION.
1319
1320 2003-11-19  Richard Henderson  <rth@redhat.com>
1321
1322         * config/i386/i386.c (print_reg): Handle QI and HI modes for
1323         non Q regs.
1324
1325 2003-11-19  Andreas Tobler  <a.tobler@schweiz.ch>
1326
1327         * config/config.gcc (powerpc-*-darwin*): Add libgcc build
1328         specification file.
1329         * config/t-slibgcc-darwin: New file, libgcc build specification.
1330         * config/t-darwin: Add libgcc2 flag -fPIC.
1331         * config/rs6000/t-darwin: Multilib matches float.
1332         * libgcc-darwin.ver: New file, contains libgcc symbols.
1333
1334 2003-11-18  Nathanael Nerode  <neroden@gcc.gnu.org>
1335
1336         * config/ns32k/ns32k.h: Remove obsolete comment.
1337
1338 2003-11-18  Roger Sayle  <roger@eyesopen.com>
1339
1340         PR middle-end/11821
1341         * config/arm/arm.c (arm_rtx_costs_1): Improve estimate of the code
1342         size for calls to libgcc's div & mod subroutines when using -Os.
1343
1344 2003-11-18  Jan Hubicka  <jh@suse.cz>
1345
1346         * cgraph.c (change_decl_assembler_name): Avoid bogus warnings.
1347
1348 2003-11-18  Marc Espie  <espie@openbsd.org>
1349
1350         * config/rs6000/sysv4.h: OpenBSD hooks.
1351
1352 2003-11-18  Richard Henderson  <rth@redhat.com>
1353
1354         * expr.c (expand_expr): Don't look through constant arrays if
1355         they don't bind locally.
1356
1357 2003-11-17  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1358
1359         * expr.c (convert_move): Use GET_MODE_PRECISION instead of bitsize
1360         when seeing if truncation or extension.
1361
1362 2003-11-17  Eric Christopher  <echristo@redhat.com>
1363
1364         * reload1.c (reload): Fix previous change.
1365
1366 2003-11-17  Scott Snyder  <snyder@fnal.gov>
1367
1368         PR debug/11325
1369         * dwarf2out.c (struct die_struct): Add die_definition field.
1370         (add_AT_specification): New.
1371         (gen_subprogram_die, gen_variable_die,
1372         gen_struct_or_union_type_die): Use it.
1373         (prune_unused_types_mark): If we're marking a forward declaration,
1374         also mark the full definition, if it exists.
1375
1376 2003-11-16  Nick Clifton  <nickc@redhat.com>
1377
1378         * config/stormy16/stormy16.h (BUILD_VA_LIST_TYPE): Delete.
1379         * config/stormy16/stormy16-protos.h (xstormy16_build_va_list):
1380         Remove prototype.
1381         * config/stormy16/stormy16.c (xstormy16_build_va_list): Rename
1382         to xstormy16_build_builtin_va_list and make static.
1383         (TARGET_BUILD_BUILTIN_VA_LIST): Define.
1384
1385 2003-11-16  Kazu Hirata  <kazu@cs.umass.edu>
1386
1387         * config/h8300/h8300-protos.h: Add the prototype for
1388         same_cmp_following_p.
1389         * config/h8300/h8300.c (same_cmp_following_p): New.
1390         * config/h8300/h8300.md (peephole2): Use it.
1391
1392 2003-11-16  Kazu Hirata  <kazu@cs.umass.edu>
1393
1394         * config/h8300/h8300.md: Don't use REGNO when its operand is
1395         not guaranteed to be a REG.
1396
1397 2003-11-16  Richard Sandiford  <rsandifo@redhat.com>
1398
1399         * Makefile.in (expr.o): Depend on $(TARGET_H).
1400         * target.h (return_in_msb): New target hook.
1401         * target-def.h (TARGET_RETURN_IN_MSB): New macro.
1402         (TARGET_CALLS): Include it.
1403         * calls.c (shift_returned_value): New function.
1404         (expand_call): Use it.
1405         * expr.c: Include target.h.
1406         (copy_blkmode_from_reg): Check targetm.calls.return_in_msb when
1407         deciding what padding is needed.  Change the name of the local
1408         padding variable from big_endian_correction to padding_correction.
1409         * stmt.c (shift_return_value): New function.
1410         (expand_return): Use it.  Adjust memory->register copy in the same
1411         way as copy_blkmode_from_reg.  Only change the return register's
1412         mode if it was originally BLKmode.
1413         * doc/tm.texi (TARGET_RETURN_IN_MSB): Document.
1414         * config/mips/mips.c (TARGET_RETURN_IN_MSB): Define.
1415         (mips_fpr_return_fields): New, split out from mips_function_value.
1416         (mips_return_in_msb, mips_return_fpr_pair): New functions.
1417         (mips_function_value): Rework to use the functions above.
1418         * config/mips/irix6-libc-compat.c: Delete.
1419         * config/mips/t-iris6 (LIB2FUNCS_STATIC_EXTRA): Undefine.
1420
1421 2003-11-16  Kazu Hirata  <kazu@cs.umass.edu>
1422
1423         * doc/install.texi (--enable-checking): Update valgrind's URL.
1424
1425 2003-11-16  Kazu Hirata  <kazu@cs.umass.edu>
1426
1427         * config/h8300/h8300.md: Fix warnings by replacing -2147483648
1428         with -2147483647 - 1.
1429
1430 2003-11-16  Gerald Pfeifer  <gerald@pfeifer.com>
1431
1432         Fix links in online manuals.
1433         * doc/invoke.texi (H8/300 Options): @xref to ld, not ld.info.
1434         (Precompiled Headers): @pxref to cpp, not cpp.info.
1435
1436 2003-11-16  Jason Merrill  <jason@redhat.com>
1437
1438         * Makefile.in, objc/Make-lang.in (objc.tags): Create TAGS.sub
1439         files in each directory and TAGS files that include them for each
1440         front end.
1441
1442 2003-11-15  Kazu Hirata  <kazu@cs.umass.edu>
1443
1444         * config/h8300/lib1funcs.asm (divnorm): Store the sign in bit
1445         3 of S2L.
1446         (modnorm): Likewise.
1447         (exitdiv): Look at bit 3 of S2L only.
1448
1449 2003-11-15  Kazu Hirata  <kazu@cs.umass.edu>
1450
1451         * config/h8300/h8300.h (DO_GLOBAL_CTORS_BODY): Fix warnings.
1452         (DO_GLOBAL_DTORS_BODY): Likewise.
1453
1454 2003-11-15  Joseph S. Myers  <jsm@polyomino.org.uk>
1455
1456         * doc/install.texi (Prerequisites): Refine documentation of
1457         autoconf, automake and perl requirements.  Document required
1458         gettext version.
1459
1460 <2003-11-14  Jason Merrill  <jason@redhat.com>
1461
1462         * function.c (assign_parms): Use TREE_TYPE to determine the real
1463         type of the argument object.
1464
1465 2003-11-14  Kazu Hirata  <kazu@cs.umass.edu>
1466
1467         * config/h8300/lib1funcs.asm (___udivsi3): Peel off the first
1468         iteration.
1469
1470 2003-11-14  Fariborz Jahanian <fjahanian@apple.com>
1471
1472         * config/rs6000/rs6000.c (rs6000_move_block_from_reg):
1473           New routine to save vararg registers on stack. Support for
1474           -mpowerpc64 in mixed mode.
1475
1476 2003-11-14  Bernardo Innocenti  <bernie@develer.com>
1477
1478         * config/m68k/m68k.c: Use C statements instead of #ifdef's when testing
1479         for MOTOROLA versus MIT syntax.  Improves readability and provides
1480         better compile-time error checking for both code paths.
1481
1482 2003-11-14  Kelley Cook  <kcook@gcc.gnu.org>
1483
1484         * config/frv/frv-protos.h: Update for C90.
1485         * config/frv/frv.h: Likewise.
1486         * config/frv/frvbegin.c: Likewise.
1487         * config/frv/frv.c: Likewise.
1488         (frv_adjust_field_align): Delete unused variable.
1489
1490 2003-11-14  Geoffrey Keating  <geoffk@apple.com>
1491
1492         * config/rs6000/rs6000.md: Add 'DEFAULT_ABI == ABI_DARWIN'
1493         to each place where TARGET_LONG_DOUBLE_128 is used with
1494         DEFAULT_ABI == ABI_AIX.
1495
1496         * cppfiles.c (_cpp_find_file): Make 'one or more PCH files were found'
1497         message comply with GNU standards.
1498
1499 2003-11-14  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1500
1501         PR/6552
1502         * function.c (struct epi_info): New field const_equiv.
1503         (update_epilogue_consts): New function.
1504         (keep_stack_depressed): Clear new field and verify scratch register
1505         doesn't have it set.
1506         Call new function via note_stores.
1507         (handle_epilogue_set): Allow setting SP equiv reg in different mode.
1508         Allow PLUS where second operand is register known set to constant.
1509         (emit_equiv_load): Write load using proper mode if source different.
1510         * config/mips/mips.md (return_internal): Put (return) first.
1511
1512 2003-11-14  Kazu Hirata  <kazu@cs.umass.edu>
1513
1514         * config/h8300/lib1funcs.asm (___udivsi3): Add a comment.
1515
1516 2003-11-14  Kazu Hirata  <kazu@cs.umass.edu>
1517
1518         * config/h8300/lib1funcs.asm (modsi3): Don't save unused
1519         registers.
1520         (divsi3): Likewise.
1521         (reti): Don't restore unused registers.
1522
1523 2003-11-14  Nick Clifton  <nickc@redhat.com>
1524
1525         * config/fr30/fr30.c: Include toplev.h
1526
1527 2003-11-14  Richard Earnshaw  <rearnsha@arm.com>
1528
1529         * except.c (sjlj_emit_function_enter): Mark internal label as LOCAL.
1530
1531 2003-11-14  Richard Earnshaw  <rearnsha@arm.com>
1532
1533         * arm.c (arm_emit_vector_const, arm_output_load_gr): Use ISO C
1534         function definition syntax.
1535
1536 2003-11-14  Eric Christopher  <echristo@redhat.com>
1537
1538         * reload1.c (reload): Revert previous patch. Make
1539         check for assignment into reg_equiv_address stricter.
1540
1541 2003-11-14  Arnaud Charlet  <charlet@act-europe.fr>
1542
1543         * Makefile.in (POSTSTAGE1_FLAGS_TO_PASS): Pass ADAFLAGS.
1544
1545 2003-11-14  Richard Sandiford  <rsandifo@redhat.com>
1546
1547         * config/frv/frv.c (frv_in_small_data_p): Return false for unknown
1548         section names.
1549
1550 2003-11-14  Jason Merrill  <jason@redhat.com>
1551
1552         PR middle-end/12526
1553         * tree.c (build): A CALL_EXPR has side-effects if its arguments do.
1554         * calls.c (call_expr_flags): New fn.
1555         * tree.h: Declare it.
1556
1557 2003-11-13  Kazu Hirata  <kazu@cs.umass.edu>
1558
1559         * config/h8300/lib1funcs.asm (__udivsi3): Remove.
1560         (divmodsi3): Change the name to ___udivsi3.
1561         Update all callers.
1562
1563 2003-11-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1564
1565         * libgcc2.c (__negdi2, __addvsi3, __addvdi3, __subvsi3, __subvdi3,
1566         __mulvsi3, __negvsi2, __negvdi2, __mulvdi3, __lshrdi3, __ashldi3,
1567         __ashrdi3, __ffsDI2, __muldi3, __clzDI2, __ctzDI2, __parityDI2,
1568         __udivmoddi4, __divdi3, __moddi3, __cmpdi2, __ucmpdi2,
1569         __fixunstfDI, __fixunsxfDI, __fixunsdfDI, __fixunssfDI,
1570         __floatdixf, __floatditf, __floatdidf, __floatdisf, __gcc_bcmp):
1571         Const-ify and/or initialize automatic variables at declaration.
1572
1573 2003-11-13  Kazu Hirata  <kazu@cs.umass.edu>
1574
1575         * config/h8300/lib1funcs.asm (divmodsi4): Replace all the uses
1576         of er4 with er3.  Adjust all callers.
1577
1578 2003-11-13  Andrew Pinski <apinski@apple.com>
1579
1580         * config/darwin.c (machopic_output_possible_stub_label):
1581         Allow stub symbol be not defined when outputting possible
1582         stub label.
1583
1584 2003-11-13  Kazu Hirata  <kazu@cs.umass.edu>
1585
1586         * config/h8300/lib1funcs.asm (___udivsi3): Jump to reti
1587         instead of exitdiv.
1588         (___umodsi3): Likewise.
1589         (exitdiv): Do not restore any register.
1590         (reti): Restore registers.
1591
1592 2003-11-13  Steven Bosscher  <stevenb@suse.de>
1593
1594         * tree-inline.c (walk_tree): Handle PLACEHOLDER_EXPR.
1595
1596 2003-11-13  Kazu Hirata  <kazu@cs.umass.edu>
1597
1598         * config/h8300/lib1funcs.asm: Fix comment typos.
1599
1600 2003-11-13  Kazu Hirata  <kazu@cs.umass.edu>
1601
1602         * config/h8300/lib1funcs.asm (udivsi3): Don't save/restore
1603         unused registers.  Don't jump to exitdiv.
1604         (umodsi3): Likewise.
1605
1606 2003-11-13  Mark Mitchell  <mark@codesourcery.com>
1607             Kean Johnston <jkj@sco.com>
1608
1609         PR c/13029
1610         * toplev.c (check_global_declarations): Do not warn about unused
1611         static consts.
1612
1613 2003-11-13  Pavel Pisa  <pisa@cmp.felk.cvut.cz>
1614             Kazu Hirata  <kazu@cs.umass.edu>
1615
1616         * config/h8300/lib1funcs.asm (DenHighNonZero): Optimize using
1617         the approximate quotient method.
1618
1619 2003-11-13  Richard Earnshaw  <rearnsha@arm.com>
1620
1621         * combine.c (distribute_notes): When re-distributing the notes from
1622         an insn we are about to delete, ensure we can't end up with a cyclic
1623         list of notes.
1624
1625 2003-11-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
1626
1627         PR optimization/12926
1628         * expr.c (expand_assignment) [COMPONENT_REF]: Don't put
1629         the UNCHANGING_RTX_P flag on memory references to read-only
1630         components that are not addressable.
1631
1632 2003-11-12  Kazu Hirata  <kazu@cs.umass.edu>
1633
1634         * config/h8300/lib1funcs.asm (divmodsi4): Clear S0P in
1635         DenHighNonZero.
1636
1637 2003-11-13  Jan Hubicka  <jh@suse.cz>
1638
1639         PR opt/12275
1640         * c-decl.c (finish_decl): Use change_decl_assembler_name.
1641         * c-pragma.c (handle_pragma_redefine_extname): Likewise.
1642         * varasm.c (make_decl_rtl): Likewise.
1643         * cgraph.c (change_decl_assembler_name): New function.
1644         * tree.h (set_decl_assembler_name): Kill dead declaration.
1645         (change_decl_assembler_name): Declare.
1646
1647         * decl.c (make_rtl_for_nonlocal_decl): Use change_decl_assembler_name.
1648         * decl2.c (make_rtl_for_nonlocal_decl): Use change_decl_assembler_name.
1649
1650 2003-11-12  Kazu Hirata  <kazu@cs.umass.edu>
1651
1652         * config/h8300/lib1funcs.asm (___mulsi3): Don't save/restore
1653         an unused register.
1654
1655 2003-11-12  Richard Sandiford  <rsandifo@redhat.com>
1656
1657         PR bootstrap/12752
1658         * config/mips/t-iris6 (MULTILIB_OPTIONS): Put -mabi=n32 first.
1659         (MULTILIB_OSDIRNAMES): Reorder accordingly.
1660
1661 2003-11-12  Janis Johnson  <janis187@us.ibm.com>
1662
1663         * rs6000-protos.h (rs6000_initial_elimination_offset): Add.
1664         (rs6000_stack_info): Remove.  (debug_stack_info): Remove.
1665         (rs6000_emit_eh_reg_restore): Add
1666         * rs6000.c (rs6000_stack_t): Move from rs6000.h, change data type
1667         of vars_size and total_size to HOST_WIDE_INT.
1668         (emit_frame_save): Change parameter size to HOST_WIDE_INT.
1669         (rs6000_stack_info): Make static; change data size to HOST_WIDE_INT.
1670         (debug_stack_info): Make static; change output format of HOST_WIDE_INT
1671         values.
1672         (rs6000_emit_eh_reg_restore): New, with code formerly in rs6000.md.
1673         (rs6000_initial_elimination_offset): New, with code formerly in
1674         INITIAL_ELIMINATION_OFFSET.
1675         * rs6000.h (rs6000_stack_t): Remove.
1676         (INITIAL_ELIMINATION_OFFSET): Replace code with call to function
1677         rs6000_initial_elimination_offset.
1678         * rs6000.md (UNSPECV_EH_RR split): Replace code with call to
1679         rs6000_emit_eh_reg_restore.
1680
1681 2003-11-12  Mike Stump  <mrs@apple.com>
1682
1683         * c-typeck.c (c_convert_parm_for_inlining): Add argnum, which
1684         is the argumnt we are processing so that warnings and errors
1685         will have that information.
1686         * c-tree.h (c_convert_parm_for_inlining): Add argnum.
1687         * lang-hooks-def.h
1688         (lhd_tree_inlining_convert_parm_for_inlining): Likewse.
1689         * langhooks.c (lhd_tree_inlining_convert_parm_for_inlining): Likewise.
1690         * langhooks.h (convert_parm_for_inlining): Likewise.
1691         * tree-inline.c (initialize_inlined_parameters): Compute and
1692         pass argnum down.
1693
1694 2003-11-12  Alexey Starovoytov  <alexey.starovoytov@sun.com>
1695             Roger Sayle  <roger@eyesopen.com>
1696
1697         PR optimization/12953
1698         * tree-inline.c (inline_forbidden_p_1): Added check for BUILT_IN
1699         before switch by FUNCTION_CODE.
1700
1701 2003-11-12  Richard Earnshaw  <rearnsha@arm.com>
1702
1703         * arm.md (storehi): Avoid use of explicit subreg.
1704         (storehi_bigend, storeinthi, movhi_bigend): Likewise.
1705
1706 2003-11-12  J"orn Rennecke <joern.rennecke@superh.com>
1707
1708         * config/sh/sh.md (prefetch): New pattern.
1709
1710 2003-11-11  Eric Christopher  <echristo@redhat.com>
1711
1712         * reload1.c (reload): Verify that addresses for
1713         reg_equiv_* are valid for the architecture.
1714
1715 2003-11-11  Eric Christopher  <echristo@redhat.com>
1716
1717         * function.c (purge_addressof_1): Add libcall check.
1718         Remove test for cached replacements on fallback case.
1719         Simplify mode comparisons. Add libcall test for
1720         paradoxical subregs.
1721
1722 2003-11-11  Kazu Hirata  <kazu@cs.umass.edu>
1723
1724         * config/h8300/t-h8300: Fix an obsolete comment.
1725
1726 2003-11-11  James E Wilson  <wilson@specifixinc.com>
1727
1728         * expmed.c (store_bit_field, extract_bit_field): Revert last two
1729         changes.
1730
1731 2003-11-11  Kazu Hirata  <kazu@cs.umass.edu>
1732
1733         * config/h8300/lib1funcs.asm: Replace DenHighZero with
1734         DenHighNonZero.
1735
1736 2003-11-11  Jan Hubicka  <jh@suse.cz>
1737
1738         * cgraphunit.c (cgraph_function_possibly_inlined_p): Use
1739         really_no_inline.
1740
1741 2003-11-11  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1742
1743         * pa.h (TRAMPOLINE_TEMPLATE): Fix flushing of cache lines when
1744         generating 64-bit code.
1745
1746 2003-11-10  David Edelsohn  <edelsohn@gnu.org>
1747
1748         * config/rs6000/rs6000.c (legitimate_lo_sum_address_p): Remove
1749         accidental commit in previous change.
1750
1751 2003-11-10  Fariborz Jahanian <fjahanian@apple.com>
1752
1753         * config/rs6000/rs6000.h (STACK_SIZE_MODE): Add definition.
1754         * config/rs6000/rs6000.c (reg_or_mem_operand): Add macho-style
1755         address recognition.
1756         (macho_lo_sum_memory_operand): Routine to recognize macho-style
1757         address recognition.
1758
1759 2003-11-10  Richard Henderson  <rth@redhat.com>
1760
1761         * dwarf2out.c (gen_label_die): Cope with DECL_RTL not set.
1762
1763 2003-11-10  Matt Austern  <austern@apple.com>
1764
1765         * config/darwin-protos.h (darwin_assemble_visibility): Declare.
1766         * config/darwin.c (darwin_assemble_visibility): Define.  Warn for
1767         anything other than VISIBILITY_DEFAULT and VISIBILITY_HIDDEN.
1768         * config/darwin.h (TARGET_ASM_ASSEMBLE_VISIBILITY): Use
1769         darwin_assemble_visibility instead of default.
1770
1771 2003-11-10  Waldek Hebisch  <hebisch@math.uni.wroc.pl>
1772
1773         PR target/12865
1774         * config/sparc/sparc.c (sparc_initialize_trampoline): Call
1775         __enable_execute_stack only after writing onto the stack.
1776         (sparc64_initialize_trampoline): Likewise.
1777
1778 2003-11-09  Roger Sayle  <roger@eyesopen.com>
1779
1780         * loop.c (check_dbra_loop): Try swapping the comparison operands
1781         of the loop condition to identify a suitable induction variable.
1782         * unroll.c (loop_iterations): Likewise.
1783
1784 2003-11-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1785
1786         * config/sparc/sparc.h (TARGET_CPU_CPP_BUILTINS): Fix sparc vs
1787         sparc64 #cpu and #machine assertions.
1788
1789 2003-11-09  Richard Henderson  <rth@redhat.com>
1790
1791         * Makefile.in (rtlanal.o): Depend on BASIC_BLOCK_H.
1792
1793 2003-11-09  Jan Hubicka  <jh@suse.cz>
1794
1795         * tree-optimize.c (tree_rest_of_compilation): Fix warning.
1796
1797         * cgraphunit.c (cgraph_expand_function): Use
1798         cgraph_possibly_inlined_p.
1799         * tree-optimize.c (tree_rest_of_compilation): Do not kill saved tree.
1800
1801         * opts.c (common_handle_option): Do not set max-inline-insns.
1802         * params.def: Update comments.
1803         (PARAM_MAX_INLINE_INSNS): Kill.
1804         * invoke.texi (max-inline-insns): Kill.
1805
1806 2003-11-08  Joseph S. Myers  <jsm@polyomino.org.uk>
1807
1808         PR c/3190
1809         PR c/8714
1810         * c-format.c (set_Wformat): Do not enable -Wformat-y2k by default.
1811         * invoke.texi: Update.
1812
1813 2003-11-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1814
1815         PR optimization/12630
1816         * pa.c (compute_movstrsi_length): Rename to compute_movstr_length.
1817         Handle length computation 64-bit moves.
1818         (compute_clrstr_length, output_block_clear): Implement block clear.
1819         (output_block_move): Handle 64-bit moves.
1820         (pa_adjust_insn_length): Use compute_movstr_length and
1821         compute_clrstr_length.
1822         * pa.md (movstrsi): Revise operand order and comments.  Don't use
1823         match_scratch.
1824         (movstrsi_internal): Delete.
1825         (movstrsi_prereload, movstrsi_postreload): New insns.  Define splitter
1826         and peephole2 patterns to transform prereload to postreload form.
1827         (movstrdi, movstrdi_prereload, movstrdi_postreload, clrstrsi,
1828         clrstrsi_prereload, clrstrsi_postreload, clrstrdi, clrstrdi_prereload,
1829         clrstrdi_postreload): New patterns for 64-bit block move, and block
1830         clear.
1831         * pa-protos.h (output_block_clear): New prototype.
1832
1833 2003-11-08  Andreas Schwab  <schwab@suse.de>
1834
1835         * dbxout.c (current_file): Also wrap inside DBX_DEBUGGING_INFO ||
1836         XCOFF_DEBUGGING_INFO.
1837
1838 2003-11-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1839
1840         * dbxout.c (current_file): Wrap declaration in DBX_USE_BINCL.
1841
1842 2003-11-07  Geoffrey Keating  <geoffk@apple.com>
1843
1844         * config/rs6000/rs6000.c (rs6000_legitimize_address): Remove
1845         redundant parens.
1846
1847         * cppfiles.c (pch_open_file): New parameter 'invalid_pch', set it.
1848         (find_file_in_dir): Likewise.
1849         (_cpp_find_file): Print message if no header file is found
1850         but an invalid PCH file was.
1851
1852 2003-11-08  Joseph S. Myers  <jsm@polyomino.org.uk>
1853
1854         * c-typeck.c (pedantic_lvalue_warning): Deprecate compound
1855         expressions as lvalues.
1856         (internal_build_compound_expr): Remove special handling for
1857         non-pedantic case.
1858         * doc/extend.texi: Document that all extended lvalues are now
1859         deprecated.
1860
1861 2003-11-07  Geoffrey Keating  <geoffk@apple.com>
1862
1863         PR 11654
1864         * dbxout.c (struct dbx_file): Do not save for PCH.
1865         (current_file): Likewise.
1866         (dbxout_init): Don't allocate struct dbx_file using GC.
1867         (dbxout_start_source_file): Likewise.
1868
1869 2003-11-07  Falk Hueffner  <falk@debian.org>
1870
1871         * config/alpha/elf.h, config/alpha/unicosmk.h,
1872         config/alpha/vms.h: Convert to ISO C90.
1873
1874 2003-11-07  Nathanael Nerode  <neroden@gcc.gnu.org>
1875
1876         * config/arm/pe.h: Convert to ISO C90.
1877
1878 2003-11-07  J"orn Rennecke <joern.rennecke@superh.com>
1879
1880         * sh-protos.h (sh_pch_valid_p): Declare.
1881         * sh.c ("intl.h"): Include.
1882         (TARGET_PCH_VALID_P): Override.
1883         (sh_target_switches): New variable.
1884         (target_switches): Define.
1885         (sh_pch_valid_p): New function.
1886
1887         * sh.h (MODE_AFTER): Don't change mode unless TARGET_HITACHI.
1888
1889 2003-11-07  Jan Hubicka  <jh@suse.cz>
1890
1891         * i386.c (x86_64_sign_extended_value):  Return false from tls variables.
1892         (x86_64_zero_extended_value):  likewise.
1893
1894 2003-11-07  Richard Sandiford  <rsandifo@redhat.com>
1895
1896         * config/mips/mips.md (loadgp): Take $25 as a second operand.
1897         * config/mips/mips.c (mips_expand_prologue): Modify accordingly.
1898
1899 2003-11-06  Matt Austern <austern@apple.com>
1900
1901         * c-common.c (handle_visibility_attribute): Set DECL_VISIBILITY
1902         field instead of hanging an attribute object off the decl.
1903         * tree.h (DECL_VISIBLITY): New accessor macro for
1904         symbol_visibility field in struct tree_decl.
1905         (enum symbol_visibility): Move definition to before tree_decl.
1906         (struct tree_decl): Define new two-bit field, symbol_visibility.
1907         (decl_visibility): Remove declaration.
1908         * varasm.c (maybe_assemble_visibility): Use DECL_VISIBILITY
1909         instead of decl_visibility.
1910         (default_binds_local_p_1):  Use DECL_VISIBILITY instead of
1911         decl_visibility.
1912         (decl_visibility): Remove.
1913
1914 2003-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
1915
1916         * config/s390/s390.c (s390_emit_epilogue): Recognize more cases
1917         where register 14 will be saved.
1918
1919 2003-11-06  Geoffrey Keating  <geoffk@apple.com>
1920
1921         * config/rs6000/rs6000.h (USE_FP_FOR_ARG_P): Move to rs6000.c.
1922         (USE_ALTIVEC_FOR_ARG_P): Likewise.
1923         * config/rs6000/rs6000.c (USE_FP_FOR_ARG_P): Move from rs6000.h.
1924         Take a pointer as the CUM parameter.  Update callers.
1925         (USE_ALTIVEC_FOR_ARG_P): Likewise.  Also correct for Darwin/AIX
1926         32-bit ABIs.
1927         (function_arg_advance): Use USE_ALTIVEC_FOR_ARG_P.  Correct case
1928         of vector parameters as named arguments of stdarg function.
1929         (function_arg): Likewise.
1930
1931         * config/rs6000/darwin.h (ASM_SPEC): Use -force_cpusubtype_ALL when
1932         -maltivec is specified, not the non-existent -faltivec.
1933
1934 2003-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
1935
1936         * config/s390/s390-protos.h (s390_function_value): Declare.
1937         * config/s390/s390.c (TARGET_RETURN_IN_MEMORY): Define.
1938         (s390_return_in_memory): New function.
1939         (s390_function_value): New function.
1940         (s390_function_arg_float): Return false for all arguments larger
1941         than 8 bytes.
1942         (s390_function_arg_pass_by_reference): Likewise.  Return true for
1943         all vector arguments.
1944         (s390_function_arg_integer): New function.
1945         (s390_function_arg_advance): Call it.  Add sanity checks.
1946         (s390_function_arg): Likewise.
1947         * config/s390/s390.h (FUNCTION_VALUE): Call s390_function_value.
1948         (LIBCALL_VALUE): Likewise.
1949         (RET_REG): Remove.
1950         (RETURN_IN_MEMORY): Remove.
1951
1952 2003-11-06  Richard Sandiford  <rsandifo@redhat.com>
1953
1954         * config/mips/mips-protos.h (mips_initial_elimination_offset): Change
1955         return type to HOST_WIDE_INT.
1956         * config/mips/mips.c (mips_frame_info): Give sizes type HOST_WIDE_INT.
1957         Make initialized a bool.  Make register masks unsigned ints.
1958         (compute_frame_size): Make same mask change here.  Use HOST_WIDE_INT
1959         where appropriate.
1960         (mips_initial_elimination_offset): Return a HOST_WIDE_INT.
1961         (mips_output_function_prologue): Print sizes as HOST_WIDE_INTs.
1962
1963 2003-11-06  Richard Sandiford  <rsandifo@redhat.com>
1964
1965         * config/frv/frv.c (frv_initial_elimination_offset): Remove bogus
1966         negation.
1967
1968 2003-11-06  Richard Sandiford  <rsandifo@redhat.com>
1969
1970         * config/frv/frv.h (ASM_OUTPUT_ALIGN_WITH_NOP): Define.
1971
1972 2003-11-06  Momchil Velikov  <velco@fadata.bg>
1973
1974         * config/mips/mips.c (override_options): Set MASK_SOFT_FLOAT
1975         for VR4111 too.
1976
1977 2003-11-06  Jan Hubicka  <jh@suse.cz>
1978
1979         * builtins.c (simplify_builtin_strrchr, simplify_builtin_strpbrk): Add
1980         missing casts.
1981
1982 2003-11-06  Zack Weinberg  <zack@codesourcery.com>
1983
1984         * genmodes.c: Change the word "bitsize" to "precision" throughout.
1985         * machmode.def: Likewise.
1986         * machmode.h (GET_MODE_SIZE): Cast value to unsigned short.
1987         (GET_MODE_BITSIZE): Define as GET_MODE_SIZE * BITS_PER_UNIT.
1988         (GET_MODE_PRECISION): New macro.
1989         (mode_bitsize): Renamed mode_precision.
1990         * stor-layout.c (mode_for_size, smallest_mode_for_size):
1991         Use GET_MODE_PRECISION; clarify comments.
1992
1993 2003-11-05  Joseph S. Myers  <jsm@polyomino.org.uk>
1994
1995         * doc/install-old.texi: Remove old documentation of building
1996         cross-compilers.
1997         * doc/install.texi: Move some of it to here.
1998
1999 2003-11-05  Per Bothner  <pbothner@apple.com>
2000
2001         PR preprocessor/12891
2002         * c-opts.c (finish_options):  Set include_cursor to disable premature
2003         calls to push_command_line_include from cpp_scan_nooutput.
2004         Fixes bug reported by DJ Delorie.
2005
2006 2003-11-05  Geoffrey Keating  <geoffk@apple.com>
2007
2008         * config/rs6000/rs6000.c (setup_incoming_varargs): Remove
2009         code supporting old-style varargs.
2010
2011         * config/rs6000/rs6000.c (rs6000_machopic_legitimize_pic_address): Use
2012         an intermediate register for better optimisation.
2013
2014 2003-11-05  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2015
2016         PR optimization/10080
2017         * cfgloopanal.c (variable_initial_value, variable_initial_values,
2018         simple_loop_exit_p): Record the fact that initial value is extended
2019         from inner mode.
2020         (count_strange_loop_iterations, count_loop_iterations): Handle
2021         ivs that iterate in a narrower mode. Fix handling of overflows.
2022         Improve handling of NE conditions.
2023         (inverse, fits_in_mode_p): New static functions.
2024         (simple_increment): Detect variables that iterate in a narrower mode.
2025         * cfgloop.h (struct loop_desc): Fields inner_mode and extend added.
2026
2027 2003-11-05  Geoffrey Keating  <geoffk@apple.com>
2028
2029         * config/rs6000/rs6000.c (compute_vrsave_mask): Correct off-by-one
2030         error.
2031
2032         * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Darwin
2033         needs VRSAVE.
2034
2035 2003-11-05  Joseph S. Myers  <jsm@polyomino.org.uk>
2036
2037         * c-typeck.c (pedantic_lvalue_warning): Deprecate use of
2038         conditional expressions as lvalues.
2039
2040 2003-11-05  Kazu Hirata  <kazu@cs.umass.edu>
2041
2042         * tsystem.h: Add the prototype of strlen.
2043         * unwind-pe.h (read_encoded_value_with_base): Add an
2044         appropriate cast to handle a case where the pointer size is
2045         smaller than sizeof (int).
2046
2047 2003-11-04  Richard Sandiford  <rsandifo@redhat.com>
2048
2049         * config/mips/mips-protos.h (mips_global_pic_constant_p): Delete.
2050         (mips_delegitimize_address): Delete.
2051         (mips_gotoff_global, mips_load_got_page): Declare.
2052         (mips_load_got_global, mips_rewrite_small_data): Declare.
2053
2054         * config/mips/mips.h (FIND_BASE_TERM): Remove definition.
2055         (DANGEROUS_FOR_LA25_P): Use global_got_operand.
2056         (PREDICATE_CODES): Add global_got_operand, local_got_operand and
2057         small_data_pattern.  Remove CONST from const_arith_operand's entry.
2058
2059         * config/mips/mips.c (UNSPEC_ADDRESS_P, CONST_GP_P): New macros.
2060         (UNSPEC_ADDRESS, UNSPEC_ADDRESS_TYPE): Likewise.
2061         (mips_constant_type): Delete.
2062         (mips_symbol_type): Add SYMBOL_GOTOFF_PAGE, SYMBOL_GOTOFF_GLOBAL,
2063         SYMBOL_GOTOFF_CALL and SYMBOL_GOTOFF_LOADGP.
2064         (NUM_SYMBOL_TYPES): New macro.
2065         (mips_address_type): Remove ADDRESS_INVALID.
2066         (machine_function): Add has_gp_insn_p.
2067         (mips_constant_info): Delete.
2068         (mips_address_info): Add the address type as an extra field.  Replace
2069         the c field with symbol_type.
2070         (mips_split_p, mips_lo_relocs, mips_hi_relocs): New arrays.
2071         (TARGET_DELEGITIMIZE_ADDRESS): Remove definition.
2072         (mips_reloc_offset_ok_p, mips_classify_constant): Delete.
2073         (mips_split_const, mips_symbolic_constant_p): New functions.
2074         (mips_symbolic_address_p): Take the symbol type and mode as arguments.
2075         (mips_classify_address): Return true if the address is valid, storing
2076         its type in INFO.  Use mips_symbolic_constant_p.  Use mips_lo_relocs[]
2077         to test whether a LO_SUM address is allowed.
2078         (mips_symbol_insns): Return 0 for general mips16 symbols.
2079         Reorder SYMBOL_GOT_GLOBAL case to match mips_symbol_type definition.
2080         Handle the new SYMBOL_GOTOFF_*s.
2081         (mips_address_insns): Update call to mips_classify_address.
2082         (mips_const_insns): Be more fussy about HIGH constants.  Remove use
2083         of mips_classify_constant.  Be more accurate about CONSTs.
2084         (mips_global_pic_constant_p): Delete.
2085         (const_arith_operand): Only accept CONST_INTs.
2086         (call_insn_operand): Remove call to mips_classify_constant.
2087         Let mips_symbolic_constant_p check for invalid offsets.
2088         (move_operand): Check for general_operands first.  Only accept symbolic
2089         constants if they satisfy mips_symbolic_constant_p and cannot be split.
2090         (symbolic_constant): Use mips_symbolic_constant_p.
2091         (global_got_operand, local_got_operand): New predicates.
2092         (stack_operand): Update call to mips_classify_address.
2093         (mips_legitimate_address_p): Likewise.
2094         (mips_reloc, mips_lui_reloc): Delete.
2095         (mips_force_temporary): Only use the given temporary if no_new_pseudos.
2096         Use emit_move_insn.
2097         (mips_split_symbol, mips_unspec_address): New functions.
2098         (mips_unspec_offset_high): New function.
2099         (mips_load_got): Replace reloc argument with a symbol_type.
2100         Use mips_unspec_address to create the address and put it in a
2101         LO_SUM with the base register.
2102         (mips_load_got16, mips_load_got32): Delete.
2103         (mips_emit_high, mips_legitimize_symbol): Delete.
2104         (mips_gotoff_global): New function.
2105         (mips_load_got_page, mips_load_got_global): New functions.
2106         (mips_legitimize_symbol): Inline handling of LO_SUM splits.
2107         (mips_legitimize_const_move): Likewise.  Remove HIGH handling.
2108         Inline code to handle constants plus invalid offsets.  Use
2109         mips_split_symbol to legitimize constant pool addresses.
2110         (mips_delegitimize_address): Delete.
2111         (mips_rtx_costs): Give legitimate symbolic constants and CONST_DOUBLEs
2112         a cost of 1 insn.  Give the rest a cost of CONSTANT_POOL_ADDRESS.
2113         (mips_subword): Pass memrefs through mips_rewrite_small_data.
2114         (mips_output_move): Remove use of mips_classify_constant.
2115         (mips_expand_call): Use mips_unspec_offset_high to calculate the
2116         high part of the GOT address for calls to global functions.
2117         (override_options): Initialize mips_split_p[], mips_lo_relocs[]
2118         and mips_hi_relocs[].
2119         (print_operand): Use print_operand_reloc to handle '%h' and '%R'.
2120         Remove use of mips_classify_constant.
2121         (mips_reloc_string): Delete.
2122         (print_operand_reloc): New function.
2123         (print_operand_address): Update call to mips_classify_address.
2124         (mips_rewrite_small_data_p, small_data_pattern_1): New functions.
2125         (small_data_pattern): New predicate.
2126         (mips_rewrite_small_data_1, mips_rewrite_small_data): New functions.
2127         (mips_function_has_gp_insn): New function.
2128         (mips_global_pointer): Use it.
2129         (mips_gp_insn): Delete.
2130         (mips_expand_prologue): When compiling for n32/n64 abicalls, use a
2131         single loadgp pattern to initialize $gp.  Pass it the offset of _gp
2132         from the start of the current function.
2133         (mips16_gp_pseudo_reg): Revert last patch.
2134
2135         * config/mips/mips.md (RELOC_*): Delete.
2136         (UNSPEC_LOADGP, UNSPEC_FIRST_ADDRESS): New constants.
2137         (got): New insn attribute.
2138         (type): Set to "load" if got == load.
2139         (length): Set to 4 if got == load, 8 if got == xgot_high.
2140         (lui[sd]i): Delete.
2141         (*xgot_hi[sd]i, *xgot_lo[sd]i): New patterns.
2142         (*got_disp[sd]i, *got_page[sd]i): Likewise.
2143         (*low[sd]i): Change constraints to "d".  Add a new define_split to
2144         rewrite small data constants into LO_SUMs.
2145         (loadgp): New insns.
2146
2147 2003-11-04  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2148
2149         * config/mips/_tilib.c: Use _ABI* in _MIPS_SIM tests.
2150
2151 2003-11-04  DJ Delorie  <dj@redhat.com>
2152
2153         * config/v850/v850.md (mulhisi3): Expand the const_int case
2154         separately to avoid trying to sign extend the const.
2155
2156 2003-11-04  Richard Sandiford  <rsandifo@redhat.com>
2157
2158         * emit-rtl.c (copy_rtx_if_shared): Don't allow MEMs with constant
2159         addresses to be shared.
2160         (force_const_mem): Return a copy of the pool entry.
2161
2162 2003-11-03  Andreas Jaeger  <aj@suse.de>
2163
2164         * Makefile.in (GCC_CFLAGS): Remove @WERROR@ again.
2165
2166 2003-11-03  Kelley Cook  <kcook@gcc.gnu.org>
2167
2168         * Makefile.in (cpp.dvi): New target split from cpp.info.
2169         (gcc.dvi):  New target split from gcc.info.
2170         (gccint.dvi): New target split from gccint.info.
2171         (cppinternals.dvi): New target split from cppinternals.info
2172         (gccinstall.info): New specific rule.
2173         (gccinstall.dvi): Likewise.
2174         (dvi): Move targets to $(docobjdir).
2175         ($(docobjdir)/%.dvi): New implicit rule.
2176
2177 2003-11-03  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2178
2179         * doc/gty.texi (tag, desc): Say more about role of desc values in
2180         selecting between tags.
2181
2182 2003-11-03  Alexander Kabaev  <ak03@gte.com>
2183
2184         * real.c (encode_ieee_single): Ensure proper promotion.
2185
2186 2003-11-03  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
2187
2188         * doc/contrib.texi: Add Giovanni Bajo, Dara Hazeghi, Falk Hueffner,
2189         and Andrew Pinski.
2190
2191 2003-11-03  Syd Polk  <spolk@apple.com>
2192
2193         * config/rs6000/rs6000.c (rs6000_override_options): Add G3, G4, and G5
2194         marketing names to the list of supported processors.
2195         * config/rs6000/rs6000.h: Ditto.
2196         * doc/invoke.texi: Ditto.
2197         * config.gcc: Ditto.
2198
2199 2003-11-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2200
2201         * fixinc/inclhack.def (stdio_va_list): Allow tab before va_list.
2202         Merge two substitutions.
2203         * fixinc/fixincl.x: Regenerate.
2204         Fixes PR bootstrap/12666.
2205
2206 2003-11-03  Joseph S. Myers  <jsm@polyomino.org.uk>
2207
2208         * doc/install-old.texi: Remove VMS documentation.
2209
2210 2003-11-03  Jan Hubicka  <jh@suse.cz>
2211
2212         * i386.c (override_options):  Remove hack enabling 128bit long double
2213         commited by accident.
2214
2215 2003-11-02  Per Bothner  <per@bothner.com>
2216
2217         * c-opts.c (needValue):  Do cpp_find_main_file before processing
2218         any imacros flags, so pfile->main_file is set for the latter.
2219
2220 2003-11-03  Andreas Jaeger  <aj@suse.de>
2221             Zack Weinberg  <zack@codesourcery.com>
2222
2223         * Makefile.in (GCC_CFLAGS): Allow blacklisting of warnings.
2224         (SYSCALLS.c.X-warn): Suppress warnings.
2225
2226 2003-11-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2227
2228         PR optimization/12845
2229         * pa.c (output_cbranch): Use cmpb for DImode comparisons with 0.
2230
2231 2003-11-02  Zack Weinberg  <zack@codesourcery.com>
2232
2233         * print-rtl.c (print_rtx): Call PRINT_REG with second argument -1.
2234         * config/i386/i386.c (print_reg): Abort on a virtual register
2235         if code != -1; not if file == asm_out_file.
2236         * config/i386/i386.h (PRINT_REG): Document meaning of CODE == -1.
2237         (DEBUG_PRINT_REG): Delete, unused.
2238
2239 2003-11-02  Andreas Schwab  <schwab@suse.de>
2240
2241         * config/ia64/fde-glibc.c (_GNU_SOURCE): Define to 1 instead of
2242         empty to avoid conflict with the definition from configure.
2243
2244 2003-11-02  Roger Sayle  <roger@eyesopen.com>
2245
2246         PR optimization/10817
2247         * ifcvt.c (noce_emit_move_insn): Improve documentation comment.
2248         (noce_try_move): New function to optimize an if-the-else into an
2249         unconditional move, i.e. "if (a!=b) x=a; else x=b" into "x=a".
2250         (noce_process_if_block): Attempt simplification with noce_try_move.
2251
2252         * simplify-rtx.c (simplify_ternary_operation): Some minor fixes
2253         and improvements to the optimizations of IF_THEN_ELSE expressions.
2254         (simplify_subreg): Silence signed/unsigned comparison warning.
2255
2256 2003-11-02  Richard Sandiford  <rsandifo@redhat.com>
2257
2258         * Makefile.in (targhooks.o, reload.o): Update dependencies.
2259         (GTFILES): Add targhooks.c.
2260         (gt-targhooks.h): New rule; depend on s-gtype.
2261         * target.h (direct_pool_load_p): New hook.
2262         * target-def.h (TARGET_DIRECT_POOL_LOAD_P): New macro.
2263         (TARGET_INITIALIZER): Include it.
2264         * targhooks.h (default_direct_pool_load_p): Declare.
2265         (hook_bool_machine_mode_true): Declare.
2266         * targhooks.c: Include insn-config.h, recog.h, ggc.h and
2267         gt-targhooks.h.
2268         (pool_symbol): New variable.
2269         (default_direct_pool_load_p): New function.
2270         (hook_bool_machine_mode_true): New function.
2271         * reload.c: Include target.h.
2272         (find_reloads): If an alternative will force a constant into memory,
2273         count an extra reload if constant pool symbols are not valid
2274         addresses.  If an alternative uses memory to move values between
2275         registers, count the move as two reloads rather than one.
2276         * config/s390/s390.c (TARGET_DIRECT_POOL_LOAD_P): Define.
2277         * doc/tm.texi (TARGET_DIRECT_POOL_LOAD_P): Document.
2278
2279 2003-11-02  Eric Botcazou  <ebotcazou@libertysurf.fr>
2280
2281         PR optimization/12799
2282         * postreload.c (reload_cse_move2add): Generate the add2
2283         patterns manually.
2284
2285 2003-11-02  Eric Botcazou  <ebotcazou@libertysurf.fr>
2286
2287         * config/sparc/sparc.c (function_arg_partial_nregs) [TARGET_ARCH64]:
2288         Return 0 for all complex modes whose size is lesser or equal to
2289         a word.  Add a ??? comment for the condition used with 16-byte
2290         aligned modes.
2291
2292 2003-11-01  Kelley Cook  <kcook@gcc.gnu.org>
2293
2294         * .cvsignore: Remove c-parse* and tradcif.c.
2295         * objc/.cvsignore: Delete.
2296
2297 2003-11-01  Roger Sayle  <roger@eyesopen.com>
2298
2299         * unwind-sjlj.c (_Unwind_GetCFA): Return (_Unwind_Word)0 instead
2300         of NULL.
2301
2302 2003-11-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2303
2304         * som.h (DO_GLOBAL_DTORS_BODY): Change to C90 declaration.
2305
2306         * libgcc2.c (SYMBOL__MAIN): Provide C90 declaration.
2307
2308         * collect2.c (scan_libraries): Fix typos.
2309
2310         PR preprocessor/12847
2311         * cppfiles.c, cppexp.c, cpperror.c, cpplib.h, cpplib.c, cpplex.c,
2312         cppinit.c, cpptrad.c, cppmacro.c, fix-header.c, cpppch.c, c-pch.c,
2313         c-incpath.c, cppcharset.c (DL_WARNING, DL_WARNING_SYSHDR, DL_PEDWARN,
2314         DL_ERROR, DL_ICE, DL_EXTRACT, DL_WARNING_P): Prefix macro names with
2315         "CPP_".
2316
2317 2003-11-01  Fariborz Jahanian  <fjahanian@apple.com>
2318
2319         * config/rs6000/rs6000.c (rs6000_mixed_function_arg): Correct
2320         no_units calculation.
2321
2322 2003-11-01  Andreas Jaeger  <aj@suse.de>
2323
2324         * unwind-dw2.c (_Unwind_FrameState): Remove commas at end of
2325         enumeration list.
2326
2327 2003-11-01  Andreas Schwab  <schwab@suse.de>
2328
2329         * config/ia64/sysv4.h (SDATA_SECTION_FUNCTION): Update to C90
2330         prototypes.
2331         (SBSS_SECTION_FUNCTION): Likewise.
2332
2333 2003-11-01  Andreas Jaeger  <aj@suse.de>
2334
2335         * Makefile.in (GCC_CFLAGS): Add @WERROR@ for target files.
2336
2337 2003-11-01  Andreas Tobler  <a.tobler@schweiz.ch>
2338
2339         * config/rs6000/sysv4.h (EXTRA_SECTION_FUNCTIONS): Update to C90
2340         prototypes.
2341
2342 2003-11-01  Andreas Jaeger  <aj@suse.de>
2343
2344         * unwind-dw2.c (_Unwind_FindEnclosingFunction): Constify variable.
2345         (uw_frame_state_for): Constify variables.
2346         (extract_cie_info): Constify first argument.
2347
2348         * unwind-dw2-fde-darwin.c: Adjust prototype of
2349         _Unwind_Find_registered_FDE for recent changes.
2350         (examine_objects): Constify return value and local variable result.
2351         (_Unwind_Find_FDE): Constify return value and local variable ret.
2352
2353 2003-10-31  Per Bothner  <pbothner@apple.com>
2354
2355         * c-opts.c (finish_options):  Change to returns boolean - false iff
2356         the call to cpp_find_main_file fails.
2357         (c_common_init):  Skip preprocess_file if finish_options failed.
2358         (c_common_parse_file):  Break if finish_options failed.
2359         Fixes PR preprocessor/12545.
2360
2361 2003-10-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2362
2363         * aclocal.m4: Blacklist ultrix* for mmap file.
2364         * configure: Rebuilt.
2365
2366         * function.c (assign_parms): Add ATTRIBUTE_UNUSED to variable
2367         reg_parm_stack_space.
2368         * toplev.c (default_get_pch_validity): Fix warning.
2369
2370         * vax.c: Include toplev.h.
2371         (vax_init_libfuncs): Fix typo (umod).
2372         * vax.h (ASM_COMMENT_START): Define.
2373         (PRINT_OPERAND): Fix warning when HOST_WIDE_INT is a long long.
2374
2375 2003-10-31  Roger Sayle  <roger@eyesopen.com>
2376
2377         PR middle-end/11968
2378         * expr.c (expand_expr <MULT_EXPR>): Remove inappropriate and
2379         confusing comment; distributivity isn't handled in expand_expr.
2380         * fold-const.c (extract_muldiv_1 <PLUS_EXPR>):  Allow overflow
2381         in distributivity, if wrap-around semantics are specified with
2382         -fwrapv.
2383
2384 2003-11-01  Alan Modra  <amodra@bigpond.net.au>
2385
2386         PR 12315
2387         * final.c (profile_function): Allow for NULL svrtx.
2388
2389 2003-10-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2390
2391         * pa.c (pa_select_section): Use new style declaration.
2392         * som.h (readonly_data): Likewise.
2393
2394 2003-10-31  Kelley Cook  <kcook@gcc.gnu.org>
2395
2396         * config/rs6000/rs6000.c: Update to C90 prototypes.
2397
2398 2003-10-31  Richard Earnshaw  <rearnsha@arm.com>
2399
2400         PR target/7513
2401         * arm.h (CONDITIONAL_REGISTER_USAGE): Disable use of LR in Thumb
2402         code.
2403
2404 2003-10-31  Andreas Jaeger  <aj@suse.de>,
2405             Zack Weinberg  <zack@codesourcery.com>
2406
2407
2408         * crtstuff.c (__register_frame_info, __register_frame_info_bases)
2409         (__deregister_frame_info, __deregister_frame_info_bases):
2410         Constify void * argument.
2411         * unwind-dw2-fde.h (struct fde_vector):
2412         Constify 'orig_data' and 'array' fields.
2413         (__register_frame_info, __register_frame_info_bases)
2414         (__deregister_frame_info, __deregister_frame_info_bases):
2415         Constify void * argument.
2416         (get_cie, next_fde, _Unwind_Find_FDE): Constify arguments,
2417         return values, and casts of type fde *, struct dwarf_fde *,
2418         and struct dwarf_cie *.
2419         * unwind-dw2-fde.c (__register_frame_info, __register_frame_info_bases)
2420         (__deregister_frame_info, __deregister_frame_info_bases):
2421         Constify void * argument.
2422         (get_cie_encoding, ): Constify struct dwarf_cie * argument.
2423         (get_fde_encoding, fde_unencoded_compare, fde_single_encoding_compare)
2424         (fde_mixed_encoding_compare, fde_compare_t, start_fde_sort, fde_insert)
2425         fde_split, SWAP, frame_downheap, frame_heapsort)
2426         (classify_object_over_fdes, add_fdes, linear_search_fdes,
2427         binary_search_unencoded_fdes, binary_search_single_encoding_fdes,
2428         binary_search_mixed_encoding_fdes, search_object, _Unwind_Find_FDE):
2429         Constify arguments, local variables, return values, and casts
2430         of type fde *, fde **, struct dwarf_fde *, and struct dwarf_cie *.
2431         Use const pointer types in sizeof expressions, for clarity.
2432         * unwind-dw2-fde-glibc.c
2433         (_Unwind_find_registered_FDE, _Unwind_find_FDE): Constify return value.
2434         (struct unw_eh_callback_data): Constify 'ret' field.
2435
2436 2003-10-31  Fariborz Jahanian  <fjahanian@apple.com>
2437             David Edelsohn  <edelsohn@gnu.org>
2438
2439         * config/rs6000/rs6000.c (rs6000_mixed_function_arg): New.
2440         (function_arg): Call it.
2441         (rs6000_function_value): Widen integral return value to mode based
2442         on TARGET_32BIT, not word_mode.
2443         * config/rs6000/rs6000.h (PROMOTE_MODE): Likewise.
2444         (UNITS_PER_ARG): New.
2445         (RS6000_ARG_SIZE): Use it.
2446
2447 2003-10-31  Gerald Pfeifer  <gerald@pfeifer.com>
2448
2449         * .cvsignore: No longer ignore gengtype-lex.c, gengtype-yacc.c,
2450         and gengtype-yacc.h.
2451
2452 2003-10-31  Richard Earnshaw  <rearnsha@arm.com>
2453
2454         PR optimization/8896
2455         * postreload.c (reload_combine): Check that REGY doesn't die in an
2456         insn of the form (set (regx) (plus (regx) (regy))), ie REGX != REGY.
2457
2458 2003-10-31  Josef Zlomek  <zlomekj@suse.cz>
2459
2460         PR/10239
2461         * cfgrtl.c (delete_insn): Decrease LABEL_NUSES for all REG_LABEL notes.
2462
2463 2003-10-31  Josef Zlomek  <zlomekj@suse.cz>
2464
2465         PR/11640
2466         * cfgrtl.c (try_redirect_by_replacing_jump): Move jump
2467         immediatelly before BARRIER.
2468
2469 2003-10-31  Kelley Cook  <kcook@gcc.gnu.org>
2470
2471         * Makefile.in (STRICT2_WARN): Add -Wold-style-definition.
2472
2473 2003-10-31  Richard Earnshaw  <rearnsha@arm.com>
2474
2475         PR target/11271
2476         * reload.c (find_reloads_address): Handle any register in
2477         (PLUS (PLUS (REG) (REG)) (CONST_INT).
2478
2479 2003-10-31  Richard Earnshaw  <rearnsha@arm.com>
2480
2481         * ggc-page.c (ggc_pch_read): Wrap call to poison_pages in
2482         ENABLE_GC_CHECKING not in GGC_POISON.
2483
2484 2003-10-31  Nathanael Nerode  <neroden@gcc.gnu.org>
2485
2486         PR bootstrap/9863
2487         * configure.in: Bail out if awk is missing.
2488         * configure: Regenerate.
2489
2490         PR ada/12761
2491         * Makefile.in: Move default definitions of X_ADA_CFLAGS,
2492         T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS from ada/Make-lang.in to here.
2493
2494 2003-10-30  Richard Henderson  <rth@redhat.com>
2495
2496         * c-objc-common.c (c_tree_printer): Handle types correctly.
2497         Factor code a bit.
2498
2499 2003-10-30 Kelley Cook <kcook@gcc.gnu.org>
2500
2501         * value-prof.c, web.c: Update to C90.
2502
2503 2003-10-30  Eric Christopher  <echristo@redhat.com>
2504
2505         * function.c (purge_addressof_1): Add case for REG_RETVAL
2506         notes when modes are unequal.
2507
2508 2003-10-31  Jan Hubicka  <jh@suse.cz>
2509
2510         * i386-modes.def: Add XFmode format adjustment.
2511
2512 2003-10-30  Jan Hubicka  <jh@suse.cz>
2513
2514         * real.c (encode_ieee_extended): Back out previous patch.
2515
2516 2003-10-30  Jan Hubicka  <jh@suse.cz>
2517
2518         * real.c (encode_ieee_extended): Initialize whole array.
2519         * reg-stack.c (move_for_stack_reg0: Use always XFmode.
2520         * i386-modes.def: Change definitions of TFmode and XFmode.
2521         * i386.c (classify_argument): Rename TFmodes to XFmodes; add new TFmode
2522         code.
2523         (construct_container): Allow constructing of TFmode integer containers.
2524         (ix86_return_in_memory):  XFmode is not returned in memory.
2525         (init_ext_80387_constants): Always use XFmode.
2526         (print_operand): Likewise.
2527         (ix86_prepare_fp_compare_regs): Likewise.
2528         (split_to_parts): Deal with TFmode.
2529         (split_long_move): Simplify.
2530         (ix86_init_mmx_sse_builtins): Add __float80, __float128.
2531         (ix86_memory_move_cost): Do not confuse TFmode.
2532         * i386.h (LONG_DOUBLE_TYPE_SIZE): Set to 96.
2533         (IS_STACK_MODE): TFmode is not stack mode.
2534         (HARD_REGNO_NREGS, CLASS_MAX_NREGS): Deal nicely with XFmode.
2535         (VALID_SSE_REG_MODE): Allow TFmode.
2536         (VALID_FP_MODE_P): Disallow TFmode.
2537         (VALID_INT_MODE_P): Allow TFmode in 64bit mode.
2538         * i386.md (TFmode patterns): Kill.
2539         (movtf, motf_rex64): New patterns.
2540
2541 2003-10-30  Richard Sandiford  <rsandifo@redhat.com>
2542
2543         * config/mips/mips.md (adddi3): Fix typo in mips16 stack pointer code.
2544
2545 2003-10-30  Richard Sandiford  <rsandifo@redhat.com>
2546
2547         * config/mips/mips.md (mov_lwl): Use memory_operand where appropriate.
2548         (mov_lwr, mov_swl, mov_swr): Likewise.
2549         (mov_ldl, mov_ldr, mov_sdl, mov_sdr): Likewise.
2550
2551 2003-10-30  Richard Sandiford  <rsandifo@redhat.com>
2552
2553         * config/mips/mips.c (mips_global_pointer): Don't try to use $25.
2554
2555 2003-10-30  Richard Henderson  <rth@redhat.com>
2556
2557         * config/mips/mips.c (mips_build_builtin_va_list): Use runtime
2558         test for irix6 rather than preprocessor test.
2559
2560 2003-10-30  Richard Henderson  <rth@redhat.com>
2561
2562         * cppcharset.c (one_utf8_to_utf16): Initialize 's' to silence warning.
2563
2564 2003-10-30  Ulrich Weigand  <uweigand@de.ibm.com>
2565
2566         * config/s390/s390.c (struct machine_function): Use save_return_addr_p
2567         as a general flag that the return address register needs to be saved,
2568         not necessarily because of __builtin_return_addr (0).
2569         (s390_split_branches): Remove TEMP_REG and TEMP_USED arguments,
2570         remove special handling of zSeries machines.
2571         (s390_optimize_prolog): Remove TEMP_USED argument, treat the return
2572         register as a regular register on zSeries machines.
2573         (s390_reorg): Adjust calls to s390_split_branches and
2574         s390_optimize_prolog.
2575         (s390_frame_info): On zSeries machines, do not assume the return
2576         register is always used.  Update regs_ever_live with current data
2577         for the special registers.
2578         (s390_emit_epilogue): Use save_return_addr_p to determine whether
2579         the return register was saved.
2580         * config/s390/s390.h (CONDITIONAL_REGISTER_USAGE): Do not mark
2581         RETURN_REGNUM fixed on zSeries machines.
2582         (REG_ALLOC_ORDER): Use RETURN_REGNUM last.
2583         * config/s390/s390.md ("*doloop_si"): Handle branch overflow
2584         via ahi-jgne pair on zSeries machines.
2585         ("*doloop_di"): Likewise.
2586         ("*doloop_di_long"): Remove.
2587
2588 2003-10-30  Richard Earnshaw  <rearnsha@arm.com>
2589
2590         * arm.c (arm_override_options): Revert change of arm_constant_limit
2591         when optimizing for size.
2592
2593 2003-10-29  Richard Henderson  <rth@redhat.com>
2594
2595         * fold-const.c (fold_single_bit_test): Convert the input to the
2596         operational intermediate type.
2597
2598 2003-10-29  Richard Henderson  <rth@redhat.com>
2599
2600         * builtins.c (std_build_builtin_va_list): New.
2601         * expr.h (std_build_builtin_va_list): Declare.
2602         * defaults.h (BUILD_VA_LIST_TYPE): New.
2603         * system.h (BUILD_VA_LIST_TYPE): Poison.
2604         * target-def.h (TARGET_BUILD_BUILTIN_VA_LIST): New.
2605         * target.h (struct gcc_target): Add build_builtin_va_list.
2606         * tree.c (build_common_tree_nodes_2): Use it.
2607
2608         * config/alpha/alpha-protos.h, config/alpha/alpha.c,
2609         config/alpha/alpha.h, config/alpha/unicosmk.h,
2610         config/d30v/d30v-protos.h, config/d30v/d30v.c, config/d30v/d30v.h,
2611         config/i386/i386-protos.h, config/i386/i386.c, config/i386/i386.h,
2612         config/i860/i860-protos.h, config/i860/i860.c, config/i860/i860.h,
2613         config/i960/i960-protos.h, config/i960/i960.c, config/i960/i960.h,
2614         config/mips/iris6.h, config/mips/mips-protos.h, config/mips/mips.c,
2615         config/mips/mips.h, config/rs6000/rs6000-protos.h,
2616         config/rs6000/rs6000.c, config/rs6000/rs6000.h,
2617         config/s390/s390-protos.h, config/s390/s390.c, config/s390/s390.h,
2618         config/sh/sh-protos.h, config/sh/sh.c, config/sh/sh.h,
2619         config/xtensa/xtensa-protos.h, config/xtensa/xtensa.c,
2620         config/xtensa/xtensa.h: Rename foo_build_va_list to
2621         foo_build_builtin_va_list; make it static.  Define
2622         TARGET_BUILD_BUILTIN_VA_LIST.  Remove BUILD_VA_LIST_TYPE.
2623         Update protos.
2624
2625         * config/i386/i386.c (ix86_expand_carry_flag_compare): Make static.
2626         * config/iq2000/iq2000.h (BUILD_VA_LIST_TYPE): Remove.
2627
2628 2003-10-29  James E Wilson  <wilson@specifixinc.com>
2629
2630         * recog.c (asm_operand_ok): Add missing break after case 'X'.
2631         Change if statements to else if statements in default case.
2632         (extract_constrain_insn_cached): Fix misspelling of constrain_operands
2633         in comment.
2634         (constrain_operands_cached): Likewise.
2635         (constrain_operands): Change if statements to else if statements in
2636         default case.
2637         * reload.c (find_reloads): Likewise.
2638
2639 2003-10-29  Richard Henderson  <rth@redhat.com>
2640
2641         * config/m68k/m68k.c (notice_update_cc): Clear cc status for
2642         shifts and rotates.
2643
2644 2003-10-30  Alan Modra  <amodra@bigpond.net.au>
2645
2646         * config/rs6000/rs6000.md: Remove duplicate pattern.
2647
2648 2003-10-29  Hans-Peter Nilsson  <hp@axis.com>
2649
2650         * real.c (do_divide): Initialize result with a 0.
2651
2652         * configure.in <enable-checking for valgrind>: Look for
2653         <valgrind/memcheck.h> first.  AC_DEFINE HAVE_VALGRIND_MEMCHECK_H
2654         if it exists.
2655         * configure, config.in: Regenerate.
2656         * ggc-common.c [ENABLE_VALGRIND_CHECKING &&
2657         HAVE_VALGRIND_MEMCHECK_H]: Include <valgrind/memcheck.h>.  Use
2658         #elif for other alternatives.
2659         * ggc-page.c: Ditto.
2660         * ggc-zone.c: Don't assume <valgrind/memcheck.h>; instead copy
2661         include structure from ggc-common.c.
2662
2663 2003-10-29  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2664
2665         * pa-linux.h (ASM_OUTPUT_ADDR_VEC_ELT): Use label in big switch ELTs.
2666         (ASM_OUTPUT_ADDR_DIFF_ELT): Use label difference in big switch ELTs.
2667         * pa.c (pa_adjust_insn_length): Check for btable branches using
2668         attribute TYPE_BTABLE_BRANCH.
2669         (pa_reorg): Simplify.
2670         * pa.h (CASE_VECTOR_MODE): Change big switch mode to SImode.
2671         (ASM_OUTPUT_ADDR_VEC_ELT): As above.
2672         (ASM_OUTPUT_ADDR_DIFF_ELT): As above.
2673         * pa.md (btable_branch): New instruction type.
2674         (in_branch_delay, in_nullified_branch_delay, in_call_delay): Disallow
2675         btable branches.
2676         (define_delay): Add btable branches to insn types that may have an
2677         insn in the delay position.
2678         (Z2, Z3): Add btable branch to list.
2679         Simplify unamed pattern set copy pic_label_operand to register.  Add
2680         PA 2.0 variant.
2681         (short_jump): New jump for use in branch tables.
2682         (casesi, casesi0): Revise for new branch table formats.
2683         (casesi32, casesi32p, casesi64p): New casesi patterns.
2684         (indirect_jump): Move.
2685
2686 2003-10-29  David Edelsohn  <edelsohn@gnu.org>
2687
2688         * config/rs6000/rs6000.h (UNITS_PER_WORD): Revert to
2689         !TARGET_POWERPC64.
2690         (UNITS_PER_GPR_WORD): Delete.
2691         (HARD_REGNO_NREGS): Revert to UNITS_PER_WORD.
2692         (HARD_REGNO_MODE_OK): Same.
2693         (CLASS_MAX_NREGS): Same.
2694
2695 2003-10-29  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2696
2697         * pa.h (ASM_COMMENT_START): Define.
2698
2699 2003-10-29  Zack Weinberg  <zack@codesourcery.com>
2700
2701         * genmodes.c (complete_mode): Record MODE_CC, MODE_INT,
2702         MODE_FLOAT, and MODE_PARTIAL_INT modes as having one
2703         component, not zero.
2704
2705 2003-10-29  Andreas Schwab  <schwab@suse.de>
2706
2707         * config/ia64/t-ia64 (LIB2ADDEH): Add $(srcdir)/gthr-gnat.c.
2708
2709 2003-10-29  Eric Botcazou  <ebotcazou@libertysurf.fr>
2710
2711         * config/sparc/sparc.c (function_arg_partial_nregs) [TARGET_ARCH64]:
2712         Never return 1 for complex integral modes whose size is lesser or
2713         equal to a word.
2714         (function_arg_pass_by_reference) [TARGET_ARCH64]: Mention CTImode
2715         in the comment.
2716         (function_arg_advance) [TARGET_ARCH64]: Don't special-case complex
2717         modes.
2718         (sparc_va_arg) [TARGET_ARCH64]: Handle any types whose size is
2719         greater than 16 bytes by reference.
2720
2721 2003-10-29  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2722
2723         * config/ia64/ia64.c (ia64_assemble_integer): Test POINTER_SIZE,
2724         not TARGET_ILP32.
2725         (ia64_initialize_trampoline): Use globalize_label target call.
2726
2727 2003-10-29  Andreas Schwab  <schwab@suse.de>
2728
2729         * doc/install.texi (Building): Add a sentence about building Ada
2730         for a canadian cross.
2731
2732 2003-10-28  Zack Weinberg  <zack@codesourcery.com>
2733
2734         * config/ia64/ia64.c (cmptf_libfunc): New static.
2735         (ia64_expand_compare): Add logic to open-code calls to
2736         _U_Qfcmp for TFmode comparisons.
2737         (ia64_hpux_init_libfuncs): Initialize cmptf_libfunc.
2738         Set libfuncs for TFmode eq/ne/gt/ge/lt/gt to 0; these should
2739         never be generated anymore.
2740         * config/ia64/ia64.md (cmptf): New expander.
2741
2742 2003-10-28  Zack Weinberg  <zack@codesourcery.com>
2743
2744         * ia64.md (UNSPEC_SETF_EXP,UNSPEC_FR_SQRT_RECIP_APPROX): New constants.
2745         (*sqrt_approx): New instruction pattern for approximate square roots.
2746         (*setf_exp_xf): New instruction pattern for exponentiation.
2747         (*maddxf4_alts_truncsf): New instruction pattern for truncation.
2748         (sqrtsf2_internal_thr): New define_and_split implementing
2749         throughput-optimized inline calculation of SFmode square root.
2750         (sqrtdf2_internal_thr): Likewise for DFmode.
2751         (sqrtxf2_internal_thr): Likewise for XFmode.
2752         (sqrtsf2, sqrtdf2, sqrtxf2): New expanders to choose between
2753         latency- and throughput-optimized square root algorithms.
2754         * ia64.h (MASK_INLINE_SQRT_LAT, MASK_INLINE_SQRT_THR,
2755         TARGET_INLINE_SQRT_LAT, TARGET_INLINE_SQRT_THR, TARGET_INLINE_SQRT):
2756         New macros.
2757         (TARGET_SWITCHES): Add -minline-sqrt-min-latency and
2758         -minline-sqrt-max-throughput.
2759         * ia64.c (ia64_override_options): If both -minline-sqrt-min-latency
2760         and -minline-sqrt-max-throughput are given, notify the user
2761         that both options cannot be used simultaneously.
2762         If -minline-sqrt-min-latency is given, notify the user that
2763         this mode is not yet implemented.
2764         (rtx_needs_barrier): Reformat initial comment to obey
2765         72-character width limit.  Support UNSPEC_SETF_EXP and
2766         UNSPEC_FR_SQRT_RECIP_APPROX.
2767
2768 2003-10-29  Alan Modra  <amodra@bigpond.net.au>
2769
2770         * config/rs6000/rs6000.md (movdf_softfloat64): Allow dummy ctr,ctr
2771         moves.
2772
2773 2003-10-28  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2774
2775         PR target/11598
2776         PR libgcj/10610
2777         * config/rs6000/sysv4.h (PREFERRED_STACK_BOUNDARY): New macro.
2778
2779 2003-10-28  Richard Earnshaw  <rearnsha@arm.com>
2780
2781         * arm.c (arm_output_epilogue): When using a frame pointer, don't emit
2782         an extra stack adjustment insn if the stack pointer is already
2783         pointing at the right place.
2784         (use_return_insn): Allow a return insn to be used when we have a
2785         frame pointer if the stack pointer is in the right place.
2786         (output_return_instruction): Handle it.
2787
2788 2003-10-28  Andreas Jaeger  <aj@suse.de>
2789
2790         * ggc-zone.c (check_cookies): Add missing variable.
2791         Add void to prototypes.
2792
2793 2003-10-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2794
2795         * config/mips/irix6-libc-compat.c (inet_makeaddr): Prototype.
2796         * crtstuff.c (__do_global_ctors_1): Move prototype.
2797         * unwind-dw2.c (NO_SIZE_OF_ENCODED_VALUE): Define when
2798         appropriate.
2799         * unwind-sjlj.c (_Unwind_GetCFA, _Unwind_FindEnclosingFunction):
2800         Mark parameter with __attribute__((unused)).
2801
2802 2003-10-27  Zack Weinberg  <zack@codesourcery.com>
2803
2804         * c-decl.c (pushdecl): Clarify comment.
2805
2806 2003-10-27  Arnaud Charlet  <charlet@act-europe.fr>
2807
2808         * doc/install.texi: Update instructions for Ada cross builds
2809
2810         PR ada/5909:
2811         * doc/sourcebuild.texi: Document Ada test suite.
2812
2813 2003-10-27  Stephane Carrez  <stcarrez@nerim.fr>
2814
2815         * config/m68hc11/m68hc11.c: Convert to ISO C90.
2816         * config/m68hc11/m68hc11-protos.h: Likewise.
2817
2818 2003-10-27  Jan Hubicka  <jh@suse.cz>
2819             Eric Botcazou  <ebotcazou@libertysurf.fr>
2820
2821         * toplev.c (enum dump_file_index, dump_file): Fix ordering of
2822         webizer pass dump.
2823
2824 2003-10-27  Jakub Jelinek  <jakub@redhat.com>
2825             Jan Hubicka  <jh@suse.cz>
2826
2827         * reload1.c (struct elim_table): Change offset, initial_offset and
2828         previous_offset fields to HOST_WIDE_INT.
2829         (offsets_at): Change from int to HOST_WIDE_INT.
2830         (reload): Adjust offsets_at initialization.
2831         (eliminate_regs_in_insn): Change type of offset to HOST_WIDE_INT.
2832         (verify_initial_elim_offsets): Change type of t to HOST_WIDE_INT.
2833         * config/i386/i386.c (ix86_compute_frame_layout): Change offset type
2834         to HOST_WIDE_INT.  Don't save regs using mov for huge frame sizes
2835         if TARGET_64BIT.
2836         (pro_epilogue_adjust_stack): New function.
2837         (ix86_expand_prologue, ix86_expand_epilogue): Use it.
2838         * config/i386/i386.md (pro_epilogue_adjust_stack): Remove.
2839         (pro_epilogue_adjust_stack_1): Remove * in front of name.
2840         (pro_epilogue_adjust_stack_rex64): Handle -2147483648 properly.
2841         (pro_epilogue_adjust_stack_rex64_2): New insn.
2842
2843         * config/i386/i386.c (ix86_expand_epilogue): Fix comment typo.
2844
2845         * config/i386/i386.c (ix86_expand_call): Replace 40 with
2846         FIRST_REX_INT_REG + 3 /* R11 */.
2847
2848 2003-10-26  Richard Henderson  <rth@redhat.com>
2849
2850         * config/alpha/alpha.md (attr cannot_copy): New.
2851         (call_osf_2_er, call_value_osf_2_er, ldgp_er_1, ldgp_er_2,
2852         prologue_ldgp_er_2, prologue_ldgp_1): Set it.
2853         * config/alpha/alpha.c (alpha_cannot_copy_insn_p): Test it.
2854
2855 2003-10-26  Daniel Berlin  <dberlin@dberlin.org>
2856
2857         * ggc-zone.c:  New file, zone allocating collector.
2858         * configure: Accept zone option for --with-gc
2859         * configure.in: Ditto.
2860         * ggc.h (ggc_pch_count_object): Pass bool indicating
2861         stringiness. Update all callers.
2862         (ggc_pch_alloc_object): Ditto.
2863         (ggc_pch_write_object): Ditto.
2864         (ggc_alloc_rtx): Use typed allocation, since all RTX's are of a single
2865         type.
2866         (ggc_alloc_rtvec): Ditto.
2867         (ggc_alloc_tree): Use zone allocation, since some things using this macro
2868         aren't a single typecode.
2869         * ggc-none.c (ggc_alloc_typed): New function.
2870         (ggc_alloc_zone): Ditto.
2871         * ggc-page.c: Ditto on both functions.
2872
2873 2003-10-26  Gunther Nikl  <gni@gecko.de>
2874
2875         * config/m68k/m68k.c (m68k_compute_frame_layout): Ensure FPU related
2876         frame information is always valid.
2877         (m68k_output_function_prologue): Remove superfluous TARGET_68881
2878         test; fix formatting.
2879
2880 2003-10-26  Gunther Nikl  <gni@gecko.de>
2881
2882         * config/m68k/m68k.c (m68k_compute_frame_layout): Swap reg_mask and
2883         reg_rev_mask computation.
2884         (m68k_output_function_prologue): Fix usage of current_frame (one typo
2885         and one missing); use reg_rev_mask not reg_mask.
2886         (m68k_output_function_epilogue): Fix usage of current_frame;
2887         use fpu_rev_mask not fpu_mask.
2888
2889 2003-10-26  Bernardo Innocenti  <bernie@develer.com>
2890
2891         * config/m68k/m68k.c (m68k_output_function_prologue): Eliminate
2892         num_saved_regs, use current_frame.reg_no instead.
2893
2894 2003-10-26  Bernardo Innocenti  <bernie@develer.com>
2895             Paul Dale  <pauli@snapgear.com>
2896
2897         * doc/extend.texi (interrupt_handler): Add m68k to the
2898         list of processors implementing it.
2899         * doc/invoke.texi (-msep-data): Document new m68k option.
2900         (-mno-sep-data): Likewise.
2901         (-mid-shared-library): Likewise.
2902         (-mno-id-shared-library): Likewise.
2903         (-mshared-library-id): Likewise.
2904
2905 2003-10-26  Andreas Jaeger  <aj@suse.de>
2906
2907         * unwind-dw2.c (_Unwind_GetGR): Avoid warning about unsigned
2908         comparison.
2909         (_Unwind_SetGR): Likewise.
2910
2911 2003-10-26  Ottavio Campana <ottavio@campana.vi.it>
2912
2913         PR target/12690
2914         * config/i386/mmintrin.h (_mm_set1_pi8): Fix comment.
2915
2916 2003-10-26  Gunther Nikl  <gni@gecko.de>
2917
2918         * config/m68k/m68k.c (m68k_output_function_prologue): Move front
2919         comment from here to...
2920         (m68k_save_reg): ...here. Fix comment formatting.
2921         (m68k_output_function_prologue): Fix comment formatting.
2922         (m68k_output_function_epilogue): Likewise.
2923         (const_method): Likewise.
2924
2925 2003-10-26  Kazu Hirata  <kazu@cs.umass.edu>
2926
2927         * toplev.c (default_get_pch_validity): Guard the use of
2928         target_options with #ifdef TARGET_OPTIONS.
2929         (default_pch_valid_p): Likewise.
2930
2931 2003-10-26  Andreas Jaeger  <aj@suse.de>
2932             Zack Weinberg  <zack@codesourcery.com>
2933             Andreas Tobler <toa@pop.agri.ch>
2934
2935         * dwarf2out.c (output_cfi): Use HOST_WIDE_INT_PRINT.
2936         (output_die): Likewise.
2937         (print_die): Likewise.
2938
2939 2003-10-26  Andreas Jaeger  <aj@suse.de>
2940
2941         * tree.h (dwarf2out_def_cfa, dwarf2out_args_size,
2942         dwarf2out_reg_save, new_loc_descr): Update prototypes for recent
2943         dwarf2out.c change.
2944
2945         * toplev.c (default_pch_valid_p): Fix warning.
2946
2947 2003-10-25  Roger Sayle  <roger@eyesopen.com>
2948
2949         * simplify-rtx.c (simplify_replace_rtx): Avoid allocating duplicate
2950         RTL nodes.  If an operator's operands are unchanged, return the
2951         original argument unchanged.
2952
2953 2003-10-26  Graham Stott  <graham.stott@btinternet.com>
2954
2955         Fix bootstrap failure.
2956         * expmed.c (store_bit_field): Don't compare bitsize against
2957         modes with zero bit-size.
2958
2959         (extract_bit_field): Likewise
2960
2961 2003-10-25  Jan Hubicka  <jh@suse.cz>
2962
2963         * dwarf2out.c (dw_cfi_oprnd_struct): Offset is HOST_WIDE_INT.
2964         (cfa_loc): Likewise.
2965         (reg_save, stack_adjust_offset, queue_reg_save): Replace long by
2966         HOST_WIDE_INT.
2967         (args_size, old_args_size): change type to HOST_WIDE_INT.
2968         (dwarf2out_def_cfa, dwarf2out_args_size,
2969         dwarf2out_reg_save, new_loc_descr): offset is HOST_WIDE_INT.
2970         (dw_val_struct): integers, unsigneds and offsets are HOST_WIDE_INT.
2971         (add_AT_int, add_AT_unsigned, att_AT_offset, AT_int, AT_unsigned,
2972         AT_offset): Use HOST_WIDE_INT.
2973         (based_loc_descr): offset is HOST_WIDE_INT.
2974         (add_data_member): Likewise.
2975         (add_const_value_attribute): Simplify.
2976
2977 2003-10-25  Richard Henderson  <rth@redhat.com>
2978
2979         * config/i386/i386.c (ix86_eax_live_at_start_p): New.
2980         (ix86_expand_prologue): Save and restore eax around stack probe
2981         if it's live.
2982
2983 2003-10-25  Jan Hubicka  <jh@suse.cz>
2984
2985         * cppcharset.c (one_utf8_to_utf32): Initialize 's' to silence warning.
2986
2987 2003-10-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
2988
2989         PR target/12712
2990         * reg-stack.c (convert_regs_1): Create an arbitrary input stack
2991         if the block has no predecessors.
2992         (convert_regs_2): Document the problem with successors whose
2993         only predecessor is the block to be processed.
2994         (convert_regs): Don't create the arbitrary input stack here.
2995
2996 2003-10-24  Zack Weinberg  <zack@codesourcery.com>
2997
2998         * genmodes.c (struct mode_data): Add contained and next_cont
2999         fields.
3000         (complete_mode): Maintain linked list of modes that have a
3001         given component.
3002         (emit_mode_unit_size): Delete.
3003         (emit_mode_nunits): New.
3004         (emit_insn_modes_c): Update to match.
3005         (emit_mode_adjustments): Propagate size and alignment
3006         adjustments from component modes to their containers.
3007         * machmode.h (mode_unit_size): Delete.
3008         (mode_nunits): New.
3009         (GET_MODE_NUNITS): Just return the value in the table.
3010         (GET_MODE_UNIT_SIZE): Compute using GET_MODE_INNER and
3011         GET_MODE_SIZE.
3012         * expmed.c (store_bit_field, extract_bit_field): Can use a
3013         plain move instruction if bitsize >= GET_MODE_BITSIZE of
3014         destination/source mode, respectively.
3015         * varasm.c (assemble_real): Write out the full size of the
3016         constant, not just its bitsize.
3017         (output_constant): Honor TYPE_MODE of TREE_REAL_CSTs.
3018
3019         * config/ia64/ia64-modes.def: Define XFmode as well as TFmode.
3020         Use ADJUST_BYTESIZE and ADJUST_ALIGNMENT to set size and
3021         alignment of XF and TF modes in compliance with ia64 ABIs.
3022         Can now hardwire the format of both modes.
3023         * config/ia64/ia64.c: Change TFmode to XFmode wherever appropriate.
3024         (general_tfmode_operand, destination_tfmode_operand)
3025         (tfreg_or_fp01_operand, spill_tfmode_operand): Rename to
3026         general_xfmode_operand, destination_xfmode_operand,
3027         xfreg_or_fp01_operand, spill_xfmode_operand respectively.
3028         (ia64_init_builtins): Make TYPE_PRECISION of fpreg_type
3029         and float80_type be 96 so they get XFmode.  Use !TARGET_HPUX,
3030         not INTEL_EXTENDED_IEEE_FORMAT, to decide how to define
3031         __float128.
3032         * config/ia64/ia64.h: Default TARGET_HPUX to 0.
3033         Change TFmode to XFmode wherever appropriate.  Remove all
3034         references to INTEL_EXTENDED_IEEE_FORMAT.
3035         (LONG_DOUBLE_TYPE_SIZE): Varies with TARGET_HPUX.
3036         (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define (always 96).
3037         (PREDICATE_CODES): Update to match function renames.
3038         * config/ia64/ia64.md: Change TF to XF throughout; rename all
3039         patterns to match.  Remove all references to
3040         INTEL_EXTENDED_IEEE_FORMAT.  Update predicate calls to match
3041         function renames.
3042         * config/ia64/ia64-protos.c: Update all prototypes to match
3043         renamed functions.
3044         * config/ia64/hpux.h: Redefine TARGET_HPUX to 1.
3045         Remove all references to INTEL_EXTENDED_IEEE_FORMAT.
3046         * config/ia64/lib1funcs.asm: Add __divxf3 as new name for
3047         __divtf3; keep old name for backward compatibility.
3048         (L__compat): New section providing forwarding stubs for
3049         __fixtfti, __fixunstfti, __floattitf.
3050         * config/ia64/t-ia64: Add __compat to LIB1ASMFUNCS.
3051
3052 2003-10-24  Geoffrey Keating  <geoffk@apple.com>
3053
3054         PR 10757
3055         * c-pch.c: Include target.h.  Improve comments.
3056         (struct c_pch_validity): Add target_data_length.
3057         (pch_init): Add target's validity data.
3058         (c_common_valid_pch): Check target's validity data.
3059         * target-def.h (TARGET_GET_PCH_VALIDITY): New.
3060         (TARGET_PCH_VALID_P): New.
3061         (TARGET_INITIALIZER): Add new fields.
3062         * target.h: Include tm.h.
3063         (struct gcc_target): Add get_pch_validity, pch_valid_p.
3064         * toplev.h (default_get_pch_validity): New prototype.
3065         (default_pch_valid_p): New prototype.
3066         * toplev.c (default_get_pch_validity): New routine.
3067         (default_pch_valid_p): New routine.
3068         * Makefile.in (TARGET_H): Add TM_H.  Replace all users of
3069         target.h with $(TARGET_H).
3070         (c-pch.o): Add TARGET_H.
3071         * doc/tm.texi (PCH Target): New node.
3072         (TARGET_GET_PCH_VALIDITY): Document.
3073         (TARGET_PCH_VALID_P): Document.
3074
3075 2003-10-24  Kelley Cook  <kcook@gcc.gnu.org>
3076
3077         * Makefile.in: Define a vpath for %.texi.  Remove explicit $(docdir)
3078         and $(docdir)/include from any *.texi dependencies.
3079         ($(docobjdir)/%.dvi): Depend on stmp-docobjdir.
3080         ($(docobjdir)/%.1): Depend on .pod instead of .texi.
3081         ($(docobjdir)/%.7): Likewise.
3082         (%.pod): New implicit rule.
3083         (cpp.pod): New dependency only rule.
3084         (gcc.pod): New intermediate rule with dependencies and commands.
3085         (gfdl.pod): Likewise.
3086         (fsf-funding.pod): Likewise.
3087
3088 2003-10-24  Nathanael Nerode  <neroden@gcc.gnu.org>
3089
3090         * fixinc/mkfixinc.sh: Remove special cases for svr4 and ptx, and
3091         related code.
3092         * fixinc/fixinc.ptx: Remove.
3093         * fixinc/fixinc.svr4: Remove.
3094
3095 2003-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
3096
3097         * config/s390/s390.c (load_multiple_operation): Allow both SImode
3098         and DImode if word_mode is DImode.
3099         (store_multiple_operation): Likewise.
3100         * config/s390/s390.md ("load_multiple", "store_multiple"): Likewise.
3101         ("*load_multiple_di"): Allow only if word_mode == DImode.
3102         ("movqi"): Use LLGC whenever TARGET_ZARCH.
3103         ("fix_truncdfsi2"): Fix incorrect temporary size.
3104         ("fix_truncsfsi2"): Likewise.
3105         ("*bras_r", "*brasl_r", "*basr_r"): Remove predicate and constraint
3106         string for function return value operand.
3107         ("*bras_tls", "*brasl_tls", "*basr_tls"): Likewise.
3108
3109 2003-10-24  Joseph S. Myers  <jsm@polyomino.org.uk>
3110
3111         * c-parse.in (array_declarator): Use expr_no_commas.
3112         Fixes PR c/11943.
3113
3114 2003-10-24  Richard Sandiford  <rsandifo@redhat.com>
3115
3116         * config/mips/linux.h: Wrap MD_FALLBACK_FRAME_STATE_FOR and
3117         associated includes in #ifndef inhibit_libc.
3118
3119 2003-10-24  Roger Sayle  <roger@eyesopen.com>
3120
3121         * doc/libgcc.texi: Document some more of the libgcc API.
3122
3123 2003-10-24  Richard Earnshaw  <rearnsha@arm.com>
3124
3125         * arm.c (arm_rtx_costs_1, case TARGET_THUMB): Adjust costs for
3126         comparing a constant with small negative numbers and add costing
3127         for constants in conjunction with AND.
3128         (note_invalid_constants): Tidy previous change.
3129         (thumb_cmp_operand): Tidy.
3130         (thumb_cmpneg_operand): New function.
3131         * arm.h (CONDITIONAL_REGISTER_USAGE): Don't use HI regs if optimizing
3132         for size.
3133         (FIRST_LO_REGNUM, FIRST_HI_REGNUM, LAST_HI_REGNUM): Define.
3134         (PREDICATE_CODES): Add thumb_cmpneg_operand.
3135         * arm.md (cbranchsi4): Convert to define_expand.  Handle comparison
3136         with a negative constant.
3137         (cbranchsi4_insn): Matcher for cbranchsi4.
3138         (cbranchsi4_scratch): Similar, but a scratch is available for
3139         handling negative constants.
3140         (movsi_cbranchsi4): New pattern.
3141         (tstsi3_cbranch): Renamed from andsi3_cbranch_scratch, remove scratch
3142         and use the TST instruction.
3143         (andsi3_cbranch, orrsi3_cbranch, xorsi3_cbranch, cbranchne_decr1)
3144         (addsi3_cbranch, subsi3_cbranch): Ensure that register preferencing
3145         cannot see high regs or memory alternatives.
3146         (bicsi3_cbranch_scratch, bicsi3_cbranch): New patterns.
3147
3148 2003-10-24  Richard Earnshaw  <rearnsha@arm.com>
3149
3150         * arm.c (note_invalid_constants): Try to extract the constant
3151         pool value using avoid_constant_pool_reference; only use
3152         get_pool_constant if that returns the original reference.
3153
3154 2003-10-24  Jan Hubicka  <jh@suse.cz>
3155
3156         PR c++/12624
3157         * varasm.c (notice_global_symbol): Disqualify global registers.
3158
3159 2003-10-23  Roger Sayle  <roger@eyesopen.com>
3160
3161         PR middle-end/11414
3162         * loop.c (load_mems): Use redirect_jump to forward jumps from
3163         the original loop end label to the new "loop sink" block's label.
3164
3165 2003-10-23  Roger Sayle  <roger@eyesopen.com>
3166
3167         PR middle-end/12705
3168         * optabs.c (expand_binop): When expanding complex operations
3169         inline, always calculate result into a new temporary register.
3170         Minor code clean-ups.
3171
3172 2003-10-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3173
3174         * objc/lang-specs.h: Handle -print-objc-runtime-info.
3175         * doc/invoke.texi (Objective-C Dialect Options): Document it.
3176
3177 2003-10-24  Danny Smith  <dannysmith@users.sourceforge.net>
3178
3179         * config/i386/cygwin.asm: Add copyright notice. Add comment
3180         on why this code is needed.
3181
3182 2003-10-23  Kazu Hirata  <kazu@cs.umass.edu>
3183
3184         * config/h8300/clzhi2.c: Fix warnings.
3185         * config/h8300/ctzhi2.c: Likewise.
3186         * config/h8300/fixunssfsi.c: Likewise.
3187         * config/h8300/parityhi2.c: Likewise.
3188         * config/h8300/popcounthi2.c: Likewise.
3189
3190 2003-10-23  James E Wilson  <wilson@specifixinc.com>
3191
3192         * gcc.c (option_map): Delete --target and --use-version.
3193
3194 2003-10-23  Fariborz Jahanian  <fjahanian@apple.com>
3195             David Edelsohn  <edelsohn@gnu.org>
3196
3197         * config/rs6000/rs6000.h (UNITS_PER_WORD): Use TARGET_32BIT, not
3198         TARGET_POWREPC64.
3199         (UNITS_PER_GPR_WORD): Define.
3200         (HARD_REGNO_NREGS): Use UNITS_PER_GPR_WORD.
3201         (HARD_REGNO_CALL_PART_CLOBBERED): Define.
3202         (HARD_REGNO_MODE_OK): Use UNITS_PER_GPR_WORD.
3203         (CLASS_MAX_NREGS): Use UNITS_PER_GPR_WORD.
3204         * config/rs6000/rs6000.c (function_arg): Generate PARALLEL for
3205         DFmode and DImode in 32-bit ABI / 64-bit computation mode.
3206         (rs6000_emit_prologue): Select reg_mode and reg_size using
3207         TARGET_32BIT, not TARGET_POWERPC64.
3208         (rs6000_function_value): Generate PARALLEL for DImode in 32-bit
3209         ABI / 64-bit computation mode
3210
3211 2003-10-22  Andrew Haley  <aph@redhat.com>
3212
3213         * toplev.c (output_file_directive): Allow for null input_name.
3214
3215 2003-10-22  Waldek Hebisch <hebisch@math.uni.wroc.pl>
3216
3217         * config/i386/i386.c (classify_argument): Handle SET_TYPE.
3218
3219 2003-10-22  Chris Demetriou  <cgd@broadcom.com>
3220
3221         * configure.in: In --enable-generated-files-in-srcdir option
3222         handling, fix default case handling.
3223         * configure: Regenerate.
3224
3225 2003-10-22  Phil Edwards  <phil@codesourcery.com>
3226
3227         * config.gcc:  Update *-*-vxworks* generic hook and comments.
3228         (arm-wrs-vxworks, i[4567]86-wrs-vxworks, mips-wrs-vxworks,
3229         mips-wrs-windiss, sh-wrs-vxworks):  New stanzas.
3230         * genmultilib:  Allow the MULTILIB_OSDIRNAMES to be mapped directly.
3231         * config/svr4.h (SWITCH_TAKES_ARG):  Undefine it before redefining it.
3232         * config/windiss.h:  New file.
3233         * config/arm/t-vxworks:  New file.
3234         * config/arm/vxworks.h:  New file.
3235         * config/i386/t-vxworks:  New file.
3236         * config/i386/vxworks.h:  New file.
3237         * config/mips/t-vxworks:  New file.
3238         * config/mips/vxworks.h:  New file.
3239         * config/mips/windiss.h:  New file.
3240         * config/sh/t-vxworks:  New file.
3241         * config/sh/vxworks.h:  New file.
3242
3243 2003-10-22  Kazu Hirata  <kazu@cs.umass.edu>
3244
3245         * config/h8300/h8300.c (h8300_output_function_epilogue): Remove.
3246         (h8300_saveall_function_p): New.
3247         (h8300_insert_attributes): Insert the saveall attribute if
3248         #pragma saveall is specified.
3249         (h8300_attribute_table): Add saveall.
3250         (TARGET_ASM_FUNCTION_EPILOGUE): Remove.
3251         * doc/extend.texi: Mention the saveall attribute.
3252
3253 2003-10-22  Joseph S. Myers  <jsm@polyomino.org.uk>
3254
3255         * c-typeck.c (pedantic_lvalue_warning): Unconditionally warn of
3256         deprecation of casts as lvalues.
3257         * fixinc/inclhack.def (obstack_lvalue_cast): New fix.
3258         * fixinc/fixincl.x: Regenerate.
3259         * fixinc/tests/base/obstack.h: New test.
3260
3261 2003-10-22  Andreas Schwab  <schwab@suse.de>
3262
3263         PR target/12676
3264         * config/m68k/m68k.c (output_addsi3): Fix range check to work on
3265         LP64 platforms.
3266
3267 2003-10-22  Jan Hubicka  <jh@suse.cz>
3268
3269         * dwarf2out.c (dwarf2out_abstract_function): Use DW_AT to check
3270         presence of DW_AT_inline.
3271         (gen_subprogram_die): Likewise; do not abort instead of emitting
3272         DW_AT_not_inline.
3273
3274 2003-10-22  Jan Hubicka  <jh@suse.cz>
3275
3276         * cgraph.c (cgraph_function_possibly_inlined_p): Be conservative when
3277         global info is not ready.
3278
3279 2003-10-22  Kazu Hirata  <kazu@cs.umass.edu>
3280
3281         * doc/extend.texi: Mention H8S wherever H8/300H is mentioned.
3282
3283 2003-10-22  Ulrich Weigand  <uweigand@de.ibm.com>
3284
3285         * config/s390/s390.md ("movstr_short_64", "movstr_short_31"): Merge ...
3286         ("*movstr_short"): ... into this insn pattern.
3287         ("movstr_short"): New expander.
3288         ("*movstr_long_64"): Rename from "movstr_long_64", simplify.
3289         ("*movstr_long_31"): Rename from "movstr_long_31", simplify.
3290         ("movstr_long"): New expander.
3291         ("clrstr_short_64", "clrstr_short_31"): Merge ...
3292         ("*clrstr_short"): ... into this insn pattern.
3293         ("clrstr_short"): New expander.
3294         ("*clrstr_long_64"): Rename from "clrstr_long_64", simplify.
3295         ("*clrstr_long_31"): Rename from "clrstr_long_31", simplify.
3296         ("clrstr_long"): New expander.
3297         ("cmpmem_short_64", "cmpmem_short_31"): Merge ...
3298         ("*cmpmem_short"): ... into this insn pattern.
3299         ("cmpmem_short"): New expander.
3300         ("*cmpmem_long_64"): Rename from "cmpmem_long_64".
3301         ("*cmpmem_long_31"): Rename from "cmpmem_long_31".
3302         ("cmpmem_long"): New expander.
3303         * config/s390/s390.c (s390_expand_movstr): Use new expanders.
3304         (s390_expand_clrstr): Likewise.
3305         (s390_expand_cmpmem): Likewise.
3306
3307 2003-10-22  Mark Mitchell  <mark@codesourcery.com>
3308
3309         * c-pch.c (struct c_pch_validity): Add pch_init field.
3310         (pch_init): Set it.
3311         (c_common_valid_pch): Check it.
3312
3313 2003-10-22  David Taylor <dtaylor@emc.com>
3314
3315         PR debug/12500
3316         * dbxout.c (dbxout_typedefs): Use COMPLETE_OR_VOID_TYPE_P.
3317
3318 2003-10-22  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3319
3320         * config/alpha/alpha.c (function_value [ENABLE_CHECKING]): Don't call
3321         alpha_return_in_memory if no VALTYPE specified.
3322
3323 2003-10-22  Jan Hubicka  <jh@suse.cz>
3324
3325         PR debug/12389
3326         * Makefile.in (dwarf2out.o): Depend on cgraph.h.
3327         * cgraph.c (cgraph_function_possibly_inlined_p): New function.
3328         * cgraph.h (cgraph_function_possibly_inlined_p): Declare.
3329         (cgraph_global_info): Add flag inlined
3330         * dwarf2out.c (gen_subprogram_die, gen_decl_die): Use
3331         cgraph_function_possibly_inded_p
3332         * cgraphunit.c (mark_inline): Set inlined flag.
3333         * toplev.c (rest_of_decl_compilation): Call outlining_inline_function
3334         only for possibly inlined functions.
3335         * c-decl.c (duplicate_decls): Never output abstract DIE representing old
3336         body of function.
3337
3338 2003-10-22  Andrew Haley  <aph@redhat.com>
3339
3340         * varasm.c (output_constructor): Make constructor annotation
3341         conditional on ASM_COMMENT_START.
3342
3343 2003-10-21  Jason Merrill  <jason@redhat.com>
3344
3345         * tree.c (get_unwidened): Check TREE_UNSIGNED on the field's type.
3346         (get_narrower): Likewise.
3347
3348         * stor-layout.c (layout_decl): Do packed field alignment for
3349         bit-fields, too.
3350
3351 2003-10-21  Eric Christopher  <echristo@redhat.com>
3352
3353         * expr.c (convert_move): Use FLOAT_EXTEND for extensions.
3354
3355 2003-10-21  Geoffrey Keating  <geoffk@apple.com>
3356
3357         * c-pch.c: Add comments in various places.
3358         (struct c_pch_validity): Add the lengths of various strings.
3359         (host_machine): New static.
3360         (target_machine): New static.
3361         (get_ident): Bump version number.
3362         (pch_init): Write out version, host, target validity data.
3363         (c_common_valid_pch): Check version, host, target.
3364         * Makefile.in (c-pch.o): Add version.h; define HOST_MACHINE and
3365         TARGET_MACHINE.
3366
3367 2003-10-21  Jason Merrill  <jason@redhat.com>
3368
3369         * tree.h (IS_EXPR_CODE_CLASS): Use strchr.
3370         (EXPR_P): New macro.
3371
3372 2003-10-21  Zack Weinberg  <zack@codesourcery.com>
3373
3374         * config/ia64/ia64.md (cmpxchg_acq_si): Mark operand 3 as DImode.
3375         * config/ia64/ia64.c (ia64_expand_fetch_and_op,
3376         ia64_expand_op_and_fetch): Make sure the REG for ar.ccv is
3377         DImode.   Use convert_move to load ar.ccv.
3378         (ia64_expand_compare_and_swap): Likewise.
3379         If expand_expr doesn't put 'old' and 'new' in the proper
3380         modes, run them through convert_to_mode.
3381
3382 2003-10-21  Eric Christopher  <echristo@redhat.com>
3383
3384         * config/frv/frv.c (frv_adjust_field_align): Check DECL_ARTIFICIAL
3385         for too large bitfields.
3386
3387 2003-10-21  Mark Mitchell  <mark@codesourcery.com>
3388
3389         * Makefile.in ($(docobjdir)/%.info): Honor BUILD_INFO.
3390
3391 2003-10-21  Andrew Haley  <aph@redhat.com>
3392
3393         * varasm.c (output_constructor): Annotate constructor.
3394
3395 2003-10-21  Mark Mitchell  <mark@codesourcery.com>
3396
3397         * Makefile.in ($(DESTDIR)$(infodir)/%.info): Conditionalize chmod
3398         on existence of destination file.
3399
3400 2003-10-21  Jan Hubicka  <jh@suse.cz>
3401
3402         * haifa-sched.c (choose_ready): Initialize index.
3403
3404 2003-10-21  Jason Merrill  <jason@redhat.com>
3405
3406         * tree.c (build1): Fix off-by-one error.
3407
3408 2003-10-21  Robert Millan  <robertmh@gnu.org>
3409
3410         * config/i386/kfreebsdgnu.h: New. i386-*-kfreebsd-gnu definitions.
3411         * config/kfreebsdgnu.h: New. *-*-kfreebsd-gnu definitions.
3412         * config/t-kfreebsd-gnu: New. *-*-kfreebsd-gnu tmake_file.
3413         * config.gcc: Add *-*-kfreebsd*-gnu and i[34567]86-*-kfreebsd*-gnu.
3414
3415 2003-10-21  Eric Botcazou  <ebotcazou@libertysurf.fr>
3416
3417         * web.c: Fix various comments.
3418
3419 2003-10-20  Nicolas Pitre <nico@cam.org>
3420
3421         * config/arm/arm.c (arm_override_options): Set arm_constant_limit
3422         to 2 instead of 1 when optimize_size is true.  Gather code based on
3423         optimize_size together.  Add comment about XScale load latency.
3424
3425 2003-10-21  Gunther Nikl  <gni@gecko.de>
3426
3427         * config/m68k/m68k.c (m68k_output_function_prologue): Remove
3428         obsolete comments.
3429
3430 2003-10-20  Kelley Cook  <kcook@gcc.gnu.org>
3431
3432         * Makefile.in: Get parsedir and docobjdir from configure.
3433         * configure.in: Recogonize --enable-generated-files-in-srcdir.
3434         Pass along parsedir and docobjdir.
3435         * configure: Regenerate.
3436         * doc/install.texi: Document --enable-generated-files-in-srcdir.
3437
3438 2003-10-20  Kelley Cook  <kcook@gcc.gnu.org>
3439
3440         * Makefile.in: Define $(docdir) before the Make-lang.in fragments are
3441         included.
3442
3443 2003-10-20  Joseph S. Myers  <jsm@polyomino.org.uk>
3444
3445         * c-common.c (expand_tree_builtin): Ensure creal and cimag
3446         functions do not return lvalues.
3447
3448 2003-10-20  Jason Merrill  <jason@redhat.com>
3449
3450         PR c/12553
3451         * tree.c (build1) <ADDR_EXPR>: Set TREE_SIDE_EFFECTS
3452         appropriately.
3453
3454         PR c/11446
3455         * stor-layout.c (layout_decl): Fix alignment handling.
3456
3457 2003-10-20  Joseph S. Myers  <jsm@polyomino.org.uk>
3458
3459         * doc/extend.texi: Deprecate casts as lvalues.
3460
3461 2003-10-20  Jan Hubicka  <jh@suse.cz>
3462
3463         * toplev.c (rest_of_compilation): Fix webizer pass ordering.
3464
3465         * cgraphunit.c (decide_is_function_needed):  Fix test dealing
3466         with functions implicitly made inline.
3467
3468         * cgraphunit.c (cgraph_decide_inlining_incrementally):  New function.
3469         (cgraph_finalize_function): Use it.
3470         (cgraph_mark_inline): Allow incrmental decisions
3471         * invoke.texi (max-inline-slope, min-inline-insns): Kill.
3472         * params.def (PARAM_MAX_INLINE_SLOPE, PARAM_MIN_INLINE_INSNS): Kill.
3473         * tree-inline.c (limits_allow_inlining): Kill.
3474         (expand_call_inline): Always use unit-at-a-time path.
3475
3476 2003-10-20  Zack Weinberg  <zack@codesourcery.com>
3477
3478         * fixinc/inclhack.def (hpux11_snprintf): New edit.
3479         * fixinc/fixincl.x: Regenerate.
3480         * fixinc/tests/base/stdio.h: Add test for hpux11_snprintf.
3481
3482 2003-10-20  Mark Mitchell  <mark@codesourcery.com>
3483
3484         * Makefile.in (install-info): Simplify.
3485         ($(DESTDIR)$(infodir)/%.info): New rule.
3486         * configure.in (target_list): Remove install-info.
3487         * doc/.cvsignore (gcc.info*): Remove.
3488         (gccint.info*): Likewise.
3489         (gccinstall.info*): Likewise.
3490         (cpp.info*): Likewise.
3491         (cppinternals.info*): Likewise.
3492         (*.info*): Add it.
3493         * doc/sourcebuild.texi: Update description of install-info.
3494         * objc/Make-lang.in (objc.install-info): Remove.
3495
3496 2003-10-20  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3497
3498         * config/mips/linux.h (TARGET_OS_CPP_BUILTINS): Define _ABIO32.
3499         Use it in _MIPS_SIM definition.
3500         * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Likewise.
3501
3502 2003-10-20  Zack Weinberg  <zack@codesourcery.com>
3503
3504         * config/i386/i386.c (print_reg): Abort if REGNO (x) is a
3505         virtual register, but only if file == asm_out_file.
3506         * config/i386/i386.h (HI_REGISTER_NAMES): Use "argp", not "",
3507         for ARG_POINTER_REGNUM.
3508
3509 2003-10-20  Zack Weinberg  <zack@codesourcery.com>
3510
3511         * c-common.c (registered_builtin_types): New static.
3512         (c_common_type_for_mode): Consult registered_builtin_types.
3513         (c_register_builtin_type): Add type to registered_builtin_types.
3514         * optabs.c (init_floating_libfuncs): Initialize libfuncs for
3515         all MODE_FLOAT modes, not just the ones corresponding to
3516         float_type_node, double_type_node, and long_double_type_node.
3517
3518 2003-10-20  Richard Henderson  <rth@redhat.com>
3519
3520         * config/alpha/alpha.h (PREDICATE_CODES): Add normal_memory_operand.
3521         * config/alpha/alpha-protos.h: Remove PREDICATE_CODES prototypes.
3522
3523 2003-10-20  Dorit Naishlos  <dorit@il.ibm.com>
3524
3525         * config/rs6000/rs6000.h: (rs6000_sched_insert_nops):
3526         support new flag -minsert-sched-nops.
3527         (DEFAULT_SCHED_FINISH_NOP_INSERTION_SCHEME): Define.
3528         * config/rs6000/rs6000.c: (rs6000_sched_insert_nops):
3529         support new flag -minsert-sched-nops.
3530         (is_cracked_insn, is_microcoded_insn): New functions.
3531         (rs6000_sched_finish): New function.
3532         (rs6000_issue_rate): Return 5 for power4.
3533         (get_next_active_insn, insn_terminates_group_p): New
3534         functions.
3535         (is_costly_group, force_new_group): New functions.
3536         (redefine_groups, pad_groups): New functions.
3537         (rs6000_variable_issue): Use new functions.
3538         * doc/invoke.texi (-minsert-sched-nops): Document new
3539         option.
3540
3541 2003-10-20  David S. Miller  <davem@redhat.com>
3542
3543         * config/sparc/sparc.md (type attribute): Add new insn types
3544         fpa, fpm_pack, fgm_mul, fgm_pdist, and fgm_cmp for VIS.
3545         (patterns emitting VIS insns): Use them.
3546         * config/sparc/ultra1_2.md: Add VIS scheduling rules.
3547         * config/sparc/ultra3.md: Likewise.
3548
3549 2003-10-20  Falk Hueffner  <falk@debian.org>
3550
3551         PR target/12654
3552         * config/alpha/alpha.c (alpha_emit_conditional_branch): Don't do
3553         comparison against constant by adjusting the argument except for
3554         EQ and NE.
3555
3556 2003-10-19  Mark Mitchell  <mark@codesourcery.com>
3557
3558         * config.gcc: Add support for arm926ejs, arm1026ejs, arm1136js,
3559         arm1136jfs, and armv6j.
3560         * config/arm/arm.c (FL_ARCH6J): New macro.
3561         (FL_VFPV2): Likewise.
3562         (all_cores): Add entries for arm926ejs, arm1026ejs, arm1136js,
3563         and arm1136jfs.
3564         (all_architectures): Add entry for armv6j.
3565         (arm_override_options): Add entries for arm926ejs, arm1026ejs,
3566         arm1136js, and arm1136jfs.
3567         * config/arm/arm.h (TARGET_CPU_arm926ej_s): New macro.
3568         (TARGET_CPU_arm1026ej_s): Likewise.
3569         (TARGET_CPU_arm1136j_s): Likewise.
3570         (TARGET_CPU_arm1136jf_s): Likewise.
3571         * doc/invoke.texi: Document new ARM cores and architecture
3572         variants.
3573
3574 2003-10-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3575
3576         * Makefile.in (toplev.o): Add value-prof.h dependency.
3577         (value-prof.o): Add REGS_H dependency.
3578         * common.opt (fprofile-values, fvpt): New.
3579         * flags.h (flag_value_profile_transformations): Declare.
3580         * opts.c (common_handle_option): Handle -fprofile_values and
3581         -fvpt.
3582         * profile.c (branch_prob): Don't remove death notes here.
3583         * timevar.def (TV_VPT): New.
3584         * value-prof.c: Include regs.h.
3585         (insn_divmod_values_to_profile, gen_divmod_fixed_value, gen_mod_pow2,
3586         gen_mod_subtract, divmod_fixed_value_transform,mod_pow2_value_transform,
3587         mod_subtract_transform, value_profile_transformations): New.
3588         (insn_values_to_profile): Call insn_divmod_values_to_profile.
3589         (find_values_to_profile): Add dumps.
3590         * value-prof.h (value_profile_transformations): Declare.
3591         * toplev.c: Include value-prof.h.
3592         (rest_of_handle_value_profile_transformations): New.
3593         (enum dump_file_index): Add DFI_vpt.
3594         (dump_file): Add vpt dump.
3595         (flag_value_profile_transformations): New.
3596         (lang_independent_options): Add flag_profile_values and
3597         flag_value_profile_transformations.
3598         (rest_of_compilation): Call
3599         rest_of_handle_value_profile_transformations.
3600         (process_options): Let -fvpt imply -fprofile-values.
3601         * doc/invoke.texi (-fvpt): Document.
3602
3603 2003-10-19  Jan Hubicka  <jh@suse.cz>
3604
3605         * i386.c (print_reg): Do not abort on certain registers.
3606
3607         PR optimization/12612
3608         * reg-stack.c (subst_stack_regs_pat):  Use st(1) for clobbers.
3609         * i386.md (fpatan, fyl2x, fscale patterns and expanders): Use
3610         match_scratch; avoid bogus paralles.
3611
3612         PR target/12674
3613         * i386.c (ix86_function_regparm): Disable implicit register passing
3614         conventions when profiling.
3615
3616 2003-10-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
3617             Richard Henderson  <rth@redhat.com>
3618
3619         PR optimization/8178
3620         * config/i386/i386.md (*movsi_zero): Delete.
3621         (*ffs_no_cmove): Use ix86_expand_clear to zero the third operand.
3622
3623 2003-10-19  Richard Henderson  <rth@redhat.com>
3624
3625         * config/alpha/alpha.c (fix_operator): New.
3626         (divmod_operator): Tidy.
3627         (alpha_emit_xfloating_cvt): Handle UNSIGNED_FIX.
3628         * config/alpha/alpha.h (FIXUNS_TRUNC_LIKE_FIX_TRUNC): Remove.
3629         (PREDICATE_CODES): Update.
3630         * config/alpha/alpha.md (fix_truncdfsi_ieee): Use match_operator.
3631         (fix_truncdfsi_internal, fix_truncdfdi_ieee): Likewise.
3632         (fix_truncsfsi_ieee, fix_truncsfsi_internal): Likewise.
3633         (fix_truncsfdi_ieee): Likewise.
3634         (fix_truncdfdi2, fix_truncsfdi2): Turn into define_expand.
3635         (fixuns_truncdfdi2, fixuns_truncsfdi2, fixuns_trunctfdi2): New.
3636         * config/alpha/alpha-protos.h: Update.
3637
3638 2003-10-19  Richard Sandiford  <rsandifo@redhat.com>
3639
3640         * config/mips/mips.h (INITIALIZE_TRAMPOLINE): Simplify.
3641         * config/mips/mips.c (mips_load_got): Assume Pmode == ptr_mode.
3642         * config/mips/mips.md (extendsidi2, *extendsidi2): Merge. Don't accept
3643         constant operands.
3644
3645 2003-10-18  Kazu Hirata  <kazu@cs.umass.edu>
3646
3647         * doc/extend.texi: Fix typos.
3648         * doc/invoke.texi: Likewise.
3649
3650 2003-10-18  Nicolas Pitre <nico@cam.org>
3651
3652         * config/arm/arm.c (arm_override_options): Use arm_tune_xscale for
3653         XScale optimizations not arm_arch_xscale.
3654         * config/arm/arm.h (CONSTANT_ALIGNMENT_FACTOR, MOVE_RATIO): Likewise.
3655
3656 2003-10-18  Ulrich Weigand  <uweigand@de.ibm.com>
3657
3658         * config/s390/s390-protos.h (shift_count_operand): Add prototype.
3659         * config/s390/s390.c (shift_count_operand): New function.
3660         (s390_extra_constraint): Use it to implement 'Y' constraint.
3661         (print_shift_count_operand): New function.
3662         (print_operand): Use it to implement '%Y'.
3663         * config/s390/s390.h (EXTRA_ADDRESS_CONSTRAINT): Add 'Y' constraint.
3664         (PREDICATE_CODES): Add shift_count_operand.
3665         * config/s390/s390.md ("rotldi3"): Merge alternatives,
3666         using "shift_count_operand" predicate and "Y" constraint,
3667         and "%Y" to output the combined shift count.
3668         ("rotlsi3"): Likewise.
3669         ("ashldi3", "*ashldi3_31", "*ashldi3_64"): Likewise.
3670         ("ashrdi3", "*ashrdi3_31", "*ashrdi3_64", "*ashrdi3_cc_31",
3671         "*ashrdi3_cc_64", "*ashrdi3_cconly_31", "*ashrdi3_cconly_64"): Likewise.
3672         ("ashlsi3", "ashrsi3", "*ashrsi3_cc", "*ashrsi3_cconly"): Likewise.
3673         ("lshrdi3", "*lshrdi3_31", "*lshrdi3_64"): Likewise.
3674         ("lshrsi3"): Likewise.
3675
3676 2003-10-18  Gunther Nikl  <gni@gecko.de>
3677
3678         * config/m68k/m68k.c (m68k_output_function_epilogue): Add missing
3679         argument to asm_fprintf statement.
3680
3681 2003-10-18  Fariborz Jahanian  <fjahanian@apple.com>
3682
3683         * rs6000.md: Separate TARGET_POWERPC64 patterns for TARGET_64BIT or TARGET_32BIT.
3684         (ashrdisi3_noppc64) Generate more efficient code for 32-bit right-shift of
3685         a "long long" argument.
3686
3687 2003-10-18  Alexandre Oliva  <aoliva@redhat.com>
3688
3689         * final.c (final_scan_insn): Run FINAL_PRESCAN_INSNS on asm insns
3690         as well.
3691
3692 2003-10-18  Richard Sandiford  <rsandifo@redhat.com>
3693
3694         * rtl.h (rtl_size): Declare.
3695         (rtunion): Remove rtwint.
3696         (rtx_def): Replace 'fld' with a union of an rtunion or a HOST_WIDE_INT.
3697         (RTX_HDR_SIZE, RTX_SIZE): New macros.
3698         (RTL_CHECK1): Adjust for new rtx_def layout.
3699         (RTL_CHECK2, RTL_CHECKC1, RTL_CHECKC2): Likewise.
3700         (XWINT, XCWINT): Likewise.  Access the rtx structure directly.
3701         (X0WINT): Remove.
3702         (X0ANY): New macro.
3703         * rtl.def: Adjust comments for new rtx_def layout.
3704         * ggc.h (ggc_alloc_rtx): Take the rtx code as argument, not the
3705         number of slots.
3706         * rtl.c (rtx_size): New array.
3707         (rtx_alloc): Adjust call to ggc_alloc_rtx.  Use RTX_HDR_SIZE.
3708         (copy_rtx): Use RTX_HDR_SIZE.  Adjust for new rtx_def layout.
3709         (shallow_copy_rtx): Adjust call to ggc_alloc_rtx.  Use RTX_SIZE.
3710         * integrate.c (copy_rtx_and_substitute): Use X0ANY to copy '0' fields.
3711         * emit-rtl.c (copy_most_rtx): Likewise.
3712         (copy_rtx_if_shared): Use RTX_SIZE.
3713         (copy_insn_1): Use RTX_HDR_SIZE.  Adjust for new rtx_def layout.
3714         * gengenrtl.c (gendef): Adjust ggc_alloc_rtx call.  Use RTX_HDR_SIZE.
3715         * gengtype.c (write_rtx_next): Use RTX_HDR_SIZE.
3716         (adjust_field_rtx_def): Expect "rtx_def" to be a union rather than
3717         an array.  Adjust output for new rtx_def layout.
3718         * ggc-page.c (RTL_SIZE): Use RTX_HDR_SIZE.
3719         * reload1.c (eliminate_regs): Use RTX_SIZE.
3720         * rtlanal.c (loc_mentioned_in_p): Adjust for new rtx_def layout.
3721         * gdbinit.in (pi): Likewise.
3722
3723 2003-10-18  Jan Hubicka  <jh@suse.cz>
3724
3725         * integrate.c (copy_decl_for_inlining): Revert previous patch.
3726
3727 2003-10-18  Jan Hubicka  <jh@suse.cz>
3728
3729         * integrate.c (copy_decl_for_inlining): Fix copying of copies.
3730
3731 2003-10-18  Roger Sayle  <roger@eyesopen.com>
3732
3733         * libgcc.texi: Group multi-word types, such as "long double" and
3734         "unsigned int", using braces in @deftypefn and @deftypefnx nodes.
3735         Document __unord?f2 as returning a non-zero value, not just one.
3736
3737 2003-10-18  Hans-Peter Nilsson  <hp@bitrange.com>
3738
3739         * config/mmix/t-mmix (CRTSTUFF_T_CFLAGS): Define.
3740         ($(T)crti.o, $(T)crtn.o): Pass CRTSTUFF_T_CFLAGS here too.
3741
3742 2003-10-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
3743
3744         * config/i386/k6.md (k6_alux): Use the 'mode' attribute instead of
3745         match_operand.
3746
3747 2003-10-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
3748
3749         * config/sparc/sparc.c (function_arg_record_value_1): New fourth
3750         parameter packed_p.  Search for a DECL_PACKED field only if
3751         packed_p is false.  Pass packed_p recursively.
3752         (function_arg_record_value_2): Likewise.
3753         (function_arg_record_value): Update calls to
3754         function_arg_record_value_1 and function_arg_record_value_2.
3755
3756 2003-10-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
3757
3758         * cse.c (cse_insn) [src_folded]: Check that the tentative replacement
3759         was successfully forced to memory before using the result.
3760
3761 2003-10-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
3762
3763         PR optimization/8178
3764         * config/i386/i386.md (*movsi_zero): New insn to set
3765         a register to zero on TARGET_USE_MOV0 targets.
3766
3767 2003-10-18  Kelley Cook  <kcook@gcc.gnu.org>
3768
3769         * Makefile.in (Makefile): Depend on the all Make-lang.in fragments.
3770         (POSTSTAGE1_FLAGS_TO_PASS): Pass down MAKEINFO and MAKEINFOFLAGS.
3771
3772 2003-10-17  David Edelsohn  <edelsohn@gnu.org>
3773
3774         * doc/invoke.texi (gcse-las): Fix typo.
3775
3776 2003-10-17  Andrew Pinski  <pinskia@physics.uc.edu>
3777
3778         * doc/install.texi: Remove first part of the sentence for
3779         zsh not working.  Change gcc to GCC.
3780
3781         PR bootstrap/12546
3782         * doc/install.texi: Document that zsh does not work when
3783         configuring gcc.
3784
3785 2003-10-17  Nathanael Nerode  <neroden@gcc.gnu.org>
3786
3787         * config/ptx4.h: Switch to DWARF 2; update comments.
3788
3789 2003-10-17  Segher Boessenkool  <boessen@de.ibm.com>
3790             Hartmut Penner  <hpenner@de.ibm.com>
3791
3792         PR 10404, partial 11591, partial 11601
3793         * config/rs6000/altivec.md ("altivec_dst", "altivec_dstt",
3794         "altivec_dstst", "altivec_dststt", "altivec_lvsl", "altivec_lvsr",
3795         "altivec_lvebx", "altivec_lvehx", "altivec_lvewx", "altivec_lvxl",
3796         "altivec_lvx", "altivec_stvx", "altivec_stvxl", "altivec_stvebx",
3797         "altivec_stvehx", "altivec_stvewx"): Use a memory_operand.
3798         * config/rs6000/rs6000.c (altivec_expand_lv_builtin): New function.
3799         (altivec_expand_stv_builtin): Adjust for the memory_operand.
3800         (altivec_expand_builtin): Call altivec_expand_lv_builtin.
3801         (altivec_init_builtins): Use `long int' for memory offsets.
3802
3803 2003-10-17  Jan Hubicka  <jh@suse.cz>
3804
3805         * opts.c  (common_handle_option): Handle OPT_fweb
3806         * invoke.texi (-fweb): Add missing parts of documentation.
3807
3808 2003-10-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3809
3810         * config/mips/linux.h (FUNCTION_NAME_ALREADY_DECLARED): Undef
3811         before redefinition.
3812
3813 2003-10-17  Mostafa Hagog  <mustafa@il.ibm.com>
3814
3815         * common.opt: Add description of the new -fgcse-las flag.
3816         * flags.h (flag_gcse_las): Declaration of global flag_gcse_las.
3817         * gcse.c (hash_scan_set): Handle the case of store expression and
3818         insert the memory expression to the hash table, this way we make it
3819         possible to discover redundant loads after stores and remove them.
3820         (pre_insert_copy_insn): moved the call to update_ld_motion_stores,
3821         to pre_insert_copies, it is not the correct place to call it after
3822         adding stores to be in the available expression hash table.
3823         (pre_insert_copies): Added the call to update_ld_motion_stores when
3824         one or more copies were inserted.
3825         * opts.c (common_handle_option): Handle the -fgcse-las flag.
3826         * toplev.c (flag_gcse_las): Initialization of flag_gcse_las.
3827
3828         * doc/invoke.tex: Document new -fgcse-las flag.
3829
3830 2003-10-18  Alan Modra  <amodra@bigpond.net.au>
3831
3832         * config/rs6000/crtsavres.asm: Correct alignment of powerpc64 code
3833         for posterity, then remove it.
3834
3835 2003-10-17  Richard Earnshaw <rearnsha@arm.com>
3836             Nathan Sidwell  <nathan@codesourcery.com>
3837
3838         * config/arm/arm.c (use_return_insn): Not a single instruction, if
3839         there's a frame pointer.
3840         (arm_output_epilogue): Protect stack pointer from being corrupted
3841         on interrupt.
3842
3843 2003-10-17  Ulrich Weigand  <uweigand@de.ibm.com>
3844
3845         * ifcvt.c (noce_try_addcc): Handle ifs with 'else' case.
3846
3847 2003-10-17  Ulrich Weigand  <uweigand@de.ibm.com>
3848
3849         * combine.c (simplify_set): Do not clear out undobuf.other_insn
3850         already set elsewhere.
3851
3852 2003-10-17  Kelley Cook  <kcook@gcc.gnu.org>
3853
3854         * config/i386/i386.c (ix86_expand_prologue):  Use
3855         gen_allocate_stack_worker.
3856
3857 2003-10-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3858
3859         * config.gcc (mips-sgi-irix6*o32): Only enable use_collect2
3860         without gas.
3861         (mips-sgi-irix6*): Likewise.
3862
3863         * config/mips/iris6gas.h: New file.
3864         * gcc/config.gcc (mips-sgi-irix6*): Use it.
3865
3866         * config/mips/mips.h (TARGET_IRIX): Provide default.
3867         (TARGET_IRIX5): Likewise.
3868         (TARGET_SGI_O32_AS): Likewise.
3869         * config/mips/iris5.h (TARGET_IRIX): Redefine as 1.
3870         (TARGET_IRIX5): Likewise.
3871         * config/mips/iris6.h (TARGET_IRIX6): Remove.
3872         (TARGET_IRIX5): Redefine as 0.
3873
3874         * config/mips/mips.c (mips_output_external): Test for IRIX 6 O32
3875         linker workaround with TARGET_IRIX and mips_abi instead of
3876         ASM_OUTPUT_UNDEF_FUNCTION.
3877         (mips_file_end): Inline old ASM_OUTPUT_UNDEF_FUNCTION definition,
3878         testing TARGET_IRIX and mips_abi explicitly.
3879         * config/mips/iris5.h (ASM_OUTPUT_UNDEF_FUNCTION): Remove.
3880         * config/mips/iris6.h (ASM_OUTPUT_UNDEF_FUNCTION): Remove undef.
3881
3882         * config/mips/mips.c (irix_output_external_libcall): Renamed from
3883         mips_output_external_libcall.
3884         Use new TARGET_IRIX in guard.
3885         * config/mips/mips-protos.h (irix_output_external_libcall): Match
3886         this.
3887         * config/mips/iris5.h (TARGET_ASM_EXTERNAL_LIBCALL): Likewise.
3888
3889         * config/mips/iris5gas.h (HAVE_GAS_SHF_MERGE): Update comment.
3890         Define as 0.
3891
3892         * config/mips/iris6.h (FUNCTION_NAME_ALREADY_DECLARED): Define
3893         depending on mips_abi.
3894         * config/mips/linux.h (FUNCTION_NAME_ALREADY_DECLARED): Define as 1.
3895         * config/mips/mips.c (mips_output_function_prologue): Test
3896         FUNCTION_NAME_ALREADY_DECLARED at runtime.
3897         (mips_output_function_epilogue): Likewise.
3898         (build_mips16_function_stub): Likewise.
3899         (build_mips16_call_stub): Likewise.
3900         * config/mips/mips.h (FUNCTION_NAME_ALREADY_DECLARED): Provide
3901         default.
3902
3903         * config/mips/iris6.h (DWARF2_UNWIND_INFO): Don't define for native
3904         IRIX 6 O32 assembler.
3905         (SUBTARGET_CC1_SPEC): Enforce mips2 ISA with O32 ABI.
3906         (TARGET_OS_CPP_BUILTINS): Define _ABIO32, use it to define
3907         _MIPS_SIM for O32 ABI.
3908         (DWARF2_FRAME_INFO): Don't define for native IRIX 6 O32 assembler.
3909         (ASM_DECLARE_FUNCTION_NAME): Integrate mips.h version.
3910         (ASM_DECLARE_FUNCTION_SIZE): Move undef before redefinition.
3911         Integrate O32 version.
3912         (SUBTARGET_ASM_SPEC): Handle -mabi=32.
3913         (SUBTARGET_ASM_DEBUGGING_SPEC): Add mdebug_asm_spec for gas with
3914         O32 ABI.
3915         (BSS_SECTION_ASM_OP_32): Define.
3916         (BSS_SECTION_ASM_OP_64): Likewise.
3917         (BSS_SECTION_ASM_OP): Define differently for O32 and N32/N64 ABIs
3918         using them.
3919         (TARGET_ASM_NAMED_SECTION): Reflect renaming.
3920         Move up to allow override for O32 ABI without GNU as.
3921         (EH_FRAME_SECTION_NAME): Define explicitly.
3922         (MUST_USE_SJLJ_EXCEPTIONS): Define.
3923         [_MIPS_SIM == _ABIO32 && !GAS] (CTORS_SECTION_ASM_OP,
3924         DTORS_SECTION_ASM_OP): Dummy definitions.
3925         (TARGET_ASM_NAMED_SECTION): Undef statically.
3926         (EH_FRAME_SECTION_NAME): Likewise.
3927         (ASM_OUTPUT_FILENAME): Integrate mips.h version.
3928         (LINK_SPEC): Only use default options -call_shared -no_unresolved
3929         without -r.
3930         Don't pass -init, -fini with -mabi=32.
3931         (COLLECT_PARSE_FLAG): Define.
3932
3933         * config/mips/mips.c (iris6_asm_named_section_1): Changed guard to
3934         TARGET_IRIX.
3935         Renamed to use irix_ prefix.
3936         (iris6_asm_named_section): Likewise.
3937         (iris_section_align_entry_eq): Likewise.
3938         (iris_section_align_entry_hash): Likewise.
3939         (iris6_file_start): Likewise.
3940         (iris6_section_align_1): Likewise.
3941         (iris6_file_end): Likewise.
3942         (iris6_section_type_flags): Likewise.
3943         (iris_section_align_htab): Likewise.
3944         (iris_orig_asm_out_file): Likewise.
3945         [TARGET_IRIX] (TARGET_ASM_FILE_START): Reflect rename.
3946         (TARGET_ASM_FILE_END): Likewise.
3947         (TARGET_SECTION_TYPE_FLAGS): Likewise.
3948
3949         * config/mips/mips.c [TARGET_IRIX5 && !TARGET_IRIX6]
3950         (TARGET_ASM_UNALIGNED_HI_OP): Use runtime initialization in
3951         override_options instead.
3952         (TARGET_ASM_UNALIGNED_SI_OP): Likewise.
3953         (TARGET_ASM_UNALIGNED_DI_OP): Likewise.
3954         * config/mips/mips.c (override_options) [USE_COLLECT2]: Restore
3955         flag_gnu_linker to defaults without USE_COLLECT2 for non-IRIX O32
3956         assemblers.
3957         Likewise for constructor/destructor handling.
3958         (override_options): Handle IRIX O32 assembler quirks.
3959         [TARGET_IRIX] (irix_asm_named_section): Handle O32 ABI with and
3960         without gas.
3961         (mips_file_start): Use new TARGET_IRIX.
3962         (mips_declare_object_name): No special processing for IRIX O32
3963         assembler.
3964         (mips_finish_declare_object): Likewise.
3965         (irix_asm_output_align): Renamed from iris6_asm_output_align.
3966         Don't record alignment for O32 ABI.
3967         (irix_file_start): Renamed from iris6_file_start.
3968         Return early for O32 ABI.
3969         (irix_file_end): Renamed from iris6_file_end.
3970         Don't emit .section directives for O32 ABI.
3971         * config/mips/iris6.h (ASM_OUTPUT_ALIGN): Reflect renaming.
3972         * config/mips/mips-protos.h (irix_asm_output_align): Likewise.
3973
3974         * config/mips/t-iris6 (MULTILIB_OPTIONS): Add mabi=32.
3975         (MULTILIB_OSDIRNAMES): Likewise.
3976
3977 2003-10-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3978
3979         * collect2.c (COLLECT_PARSE_FLAG): Provide default.
3980         (main): Use it.
3981         * doc/tm.texi (COLLECT_PARSE_FLAG): Document it.
3982
3983 2003-10-17  Richard Earnshaw  <rearnsha@arm.com>
3984
3985         * arm-modes.def (CC_Nmode): New condition code mode.
3986         * arm.c (thumb_condition_code): Delete.
3987         (arm_select_cc_mode): Handle single-bit test for Thumb.
3988         (arm_print_operand, cases 'd' and 'D'): Don't special case the
3989         condition code logic for Thumb.
3990         (get_arm_condition_code): Handle CC_Nmode.
3991         (thumb_cbrch_target_operand): New function.
3992         * arm.h (PREDICATE_CODES): Add thumb_cbrch_target_operand.
3993         * arm-protos.h (thumb_cbrch_target_operand): Add prototype.
3994         * arm.md: Add Thumb split patterns for zero_extract and
3995         sign_extract.
3996         (tbit_cbranch, andsi3_cbranch_scratch, andsi3_cbranch)
3997         (orrsi3_cbranch_scratch, orrsi3_cbranch, xorsi3_cbranch_scratch)
3998         (xorsi3_cbranch, addsi3_cbranch, addsi3_cbranch_scratch)
3999         (subsi3_cbranch, subsi3_cbranch_scratch): New Thumb patterns.
4000         (cbranchne_decr1): Re-work to use CC_Nmode.
4001
4002         * arm.c (thumb_expand_epilogue): Add clobbers of registers restored
4003         by the return instruction.  Add a use of the link register if it
4004         wasn't stored.
4005
4006 2003-10-17  Richard Earnshaw  <rearnsha@arm.com>
4007
4008         * flow.c (init_propagate_block_info): Don't abort if a conditional
4009         jump is not a comparison of a register.  Instead, just don't record
4010         conditional life information.
4011
4012 2003-10-16  Jan Hubicka  <jh@suse.cz>
4013
4014         PR optimization/12630
4015         * pa.md (movstrsi, movstrsi_internal): Use match_scratch in clobbers
4016         for operands 7 and 8.
4017
4018 2003-10-16  Kelley Cook  <kcook@gcc.gnu.org>
4019
4020         * objc/Make-lang.in (objc-parse.o): Honor $(parsedir) for objc-parse.c.
4021
4022 2003-10-16  Danny Smith  <dannysmith@users.sourceforge.net>
4023
4024         * config/i386/cygming.h (ASM_OUTPUT_DEF_FROM_DECLS): Define.
4025
4026         * config/i386/winnt.c (gen_stdcall_suffix): Make static
4027         (gen_fastcall_suffix): Likewise.
4028         (i386_pe_dllexport_p): Likewise.
4029         (i386_pe_dllimport_p): Likewise.
4030         (i386_pe_mark_dllexport): Likewise.
4031         (i386_pe_mark_dllimport): Likewise.
4032         (i386_pe_asm_named_section): Fix formatting.
4033
4034 2003-10-16  Zack Weinberg  <zack@codesourcery.com>
4035
4036         * configure.in: Add snprintf to gcc_AC_CHECK_DECLS list.
4037         * system.h: Declare snprintf if necessary.
4038         * configure, config.in: Regenerate.
4039
4040 2003-10-15  David Edelsohn  <edelsohn@gnu.org>
4041
4042         * config/rs6000/rs6000.c (rs6000_va_arg): Only align vector
4043         arguments if TARGET_ALTIVEC_ABI.
4044
4045 2003-10-15  Roger Sayle  <roger@eyesopen.com>
4046
4047         * builtins.c (fold_builtin_memcpy, fold_builtin_mempcpy,
4048         fold_builtin_memmove, fold_builtin_strcpy, fold_builtin_strncpy,
4049         fold_builtin_memcmp, fold_builtin_strcmp, fold_builtin_strncmp):
4050         New functions.
4051         (expand_builtin_memcpy): Use integer_zerop instead of testing
4052         host_integerp and tree_low_cst directly.  Move misapplied hunk
4053         for optimization wher SRC and DEST point to the same location.
4054         (expand_builtin_mempcpy): From here.
4055         (expand_builtin_memmove): Use integer_zerop instead of testing
4056         host_integerp and tree_low_cst_directly.
4057         (expand_builtin_memset): Likewise.
4058         (expand_builtin_memcmp): Likewise (and for integer_onep).
4059         (expand_builtin_strncmp): Likewise.
4060         (fold_builtin): Call the appropriate fold_builtin_foo functions
4061         to optimize memcpy, mempcpy, memmove, strcpy, strncpy, memcmp,
4062         strcmp and strncmp.
4063
4064 2003-10-15  Geoffrey Keating  <geoffk@apple.com>
4065
4066         * config/darwin-protos.h (machopic_non_lazy_ptr_name): Delete
4067         prototype.  Clean up some whitespace.
4068         * config/darwin.c: Use gen_rtx_FOO (...) rather than
4069         gen_rtx (FOO, ...).
4070         (machopic_non_lazy_ptr_name): Make static.
4071         (name_needs_quotes): Allow '.' and '$' unquoted.
4072         (machopic_legitimize_pic_address): Improve codegen in dynamic-no-pic
4073         case.
4074
4075 2003-10-15  Gábor Lóki  <alga@rgai.hu>
4076
4077         * fold-const.c (tree_swap_operands_p): Disable some features
4078         when optimizing for size.
4079
4080 2003-10-15  David Daney  <ddaney@avtrex.com>
4081
4082         * config/mips/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New
4083         * config/mips/mips.h (DWARF_FRAME_REGNUM): Fixed to allow unwind
4084         from leaf functions.
4085         (DWARF_FRAME_RETURN_COLUMN): Ditto.
4086         (SIGNAL_UNWIND_RETURN_COLUMN): New, used
4087         by MD_FALLBACK_FRAME_STATE_FOR.
4088         * testsuite/gcc.dg/cle