]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/ChangeLog
configure.in: Fix typo.
[thirdparty/gcc.git] / gcc / ChangeLog
CommitLineData
9fb28a67
RO
12003-02-14 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2
3 * configure.in: Fix typo.
4 * configure: Regenerate.
5
60f469fa
KH
62003-02-14 Kazu Hirata <kazu@cs.umass.edu>
7
8 * config/h8300/h8300.md (*iorsi2_and_1_lshiftrt_1): New.
9
8fd73754 102003-02-13 Adam Nemet <anemet@lnxw.com>
60f469fa 11
8fd73754
AN
12 PR opt/2391
13 * combine.c: Fix spelling in comment.
14 (cached_nonzero_bits): New function.
15 (cached_num_sign_bit_copies): New function.
16 (nonzero_bits_with_known): New macro.
17 (num_sign_bit_copies_with_known): New macro.
18 (nonzero_bits1): Rename from nonzero_bits. Add three new
19 arguments. Change calls from nonzero_bits to
20 nonzero_bits_with_known.
21 (num_sign_bit_copies1): Rename from num_sign_bit_copies. Add
22 three new arguments. Change calls from num_sign_bit_copies to
23 num_sign_bit_copies_with_known.
24 (nonzero_bits): New macro.
25 (num_sign_bit_copies): New macro.
26 (update_table_tick): Don't traverse identical subexpression more
27 than once.
28 (get_last_value_validate): Likewise.
29
ddb0ae00
ZW
302003-02-13 Zack Weinberg <zack@codesourcery.com>
31
32 * emit-rtl.c (init_emit): Use ggc_alloc for regno_reg_rtx.
33 * function.h (struct emit_status): Length of regno_pointer_align
34 and x_regno_reg_rtx as seen by gengtype is only x_reg_rtx_no,
35 not regno_pointer_align_length (i.e. length actually used, not
36 length as allocated)
37
38 * config/i386/i386.c (struct stack_local_entry): New.
39 (struct machine_function): Replace huge array with alist.
40 (assign_386_stack_local): Change to match.
41
c20b55c0
JDA
422003-02-13 John David Anglin <dave.anglin@nrc-crnc.gc.ca>
43
44 * inclhack.def (hpux_long_double): Tighten select and add bypass
45 regexp.
46 * fixincl.x: Rebuilt.
47
ffc8f11e
JZ
482003-02-13 Josef Zlomek <zlomekj@suse.cz>
49
50 * cfgcleanup.c (outgoing_edges_match): When there is single outgoing
51 edge and block ends with a jump insn it must be simple jump.
52
047d636f
DJ
532003-02-13 Daniel Jacobowitz <drow@mvista.com>
54
55 * Makefile.in (PREPROCESSOR_DEFINES): Add
56 @TARGET_SYSTEM_ROOT_DEFINE@.
57 * configure.in (PREFIX_INCLUDE_DIR): Don't define if $with_sysroot
58 is specified or if building a cross compiler.
59 (TARGET_SYSTEM_ROOT_DEFINE): Add TARGET_SYSTEM_ROOT_RELOCATABLE
60 if the sysroot is under $exec_prefix.
61 * configure: Regenerated.
62 * cppdefault.h: Use native include paths if TARGET_SYSTEM_ROOT is
63 defined.
64 (struct default_include): Add add_sysroot field.
65 (cpp_SYSROOT): Declare.
66 * cppdefault.c (cpp_include_defaults): Fill in add_sysroot
67 field.
68 (cpp_SYSROOT): New variable.
69 * cppinit.c (cpp_create_reader): Initialize
70 CPP_OPTION (pfile, sysroot).
71 (init_standard_includes): Handle add_sysroot. Do not
72 add unrelocated copies of relocated directories.
73 (COMMAND_LINE_OPTIONS): Add -isysroot.
74 (cpp_handle_option): Handle -isysroot.
75 * cpplib.h (struct cpp_options): Add sysroot member.
76 * gcc.c (The Specs Language): Update description of %I.
77 (target_system_root_changed): New variable.
78 (process_command): Conditionalize make_relative_prefix call
79 on !VMS and TARGET_SYSTEM_ROOT_RELOCATABLE. Set
80 target_system_root_changed.
81 (do_spec_1): Add -isysroot to %I.
82 * doc/invoke.texi (Spec Files): Update description of %I.
83 * doc/install.texi (--with-sysroot): Update comment about
84 relocation.
85
4302db79
KH
862003-02-13 Kazu Hirata <kazu@cs.umass.edu>
87
88 * config/h8300/h8300.md (a peephole2): New.
89
e0d9cc77 902003-02-13 Robert Lipe <robertlipe@usa.net>
ddb0ae00 91 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
e0d9cc77
RL
92
93 * doc/install.texi (Specific): Update three SCO-related URLs.
94
9fb93b00
AS
952003-02-13 Andreas Schwab <schwab@suse.de>
96
97 * cgraph.c (SET_NPREDECESORS): Add intermediate cast to size_t.
98 Parenthesize properly.
99 (NPREDECESORS): Parenthesize properly.
100
22ffcc6f
GDR
1012003-02-13 Gabriel Dos Reis <gdr@integrable-solutions.net>
102
103 * timevar.h (POP_TIMEVAR_AND_RETURN): New macro.
104
1fb54135
RS
1052003-02-12 Roger Sayle <roger@eyesopen.com>
106
107 * config/i386/i386.md (UNSPEC_FPATAN): New UNSPEC constant.
108 (atan2sf3, atan2df3, atan2xf3, atan2tf3): New patterns.
109
110 * reg-stack.c (subst_stack_regs_pat): Add support for binary
111 UNSPEC instructions (e.g. "fpatan").
112
19a7414e
MS
1132003-02-12 Mike Stump <mrs@apple.com>
114
115 * varray.c (element_size): Remove.
116 (uses_ggc): Remove.
117 (element): Add.
118 (varray_init): Use new interface.
119 (varray_grow): Use new interface.
120 (varray_clear): Use new interface.
121
e589cc6e
AH
1222003-02-12 Aldy Hernandez <aldyh@redhat.com>
123
ddb0ae00
ZW
124 * config/rs6000/spe.h: Add casts to the arguments of the following
125 macros: evfsabs, evfsnabs, evfsneg, evfsadd, evfssub, evfsmul,
126 evfsdiv, evfscfui, evfscfsi evfscfuf evfscfsf, evfsctui, evfsctsi,
127 evfsctuf, evfsctsf, evfsctuiz, evfsctsiz, __ev_get_upper*,
128 __ev_get_lower*, __ev_get_u32, __ev_get_s32, __ev_get_fs,
129 __ev_get_u16, __ev_get_s16.
e589cc6e 130
2bbfc542
KH
1312003-02-12 Kazu Hirata <kazu@cs.umass.edu>
132
133 * config/h8300/h8300.md (a peephole2): New.
134
e72fcfe8
JH
135Wed Feb 12 22:47:18 CET 2003 Jan Hubicka <jh@suse.cz>
136
137 * Makefile.in (CRTSTUFF_CFLAGS): Add -fno-unit-at-a-time
138 (OBJS): Add callgraph.o
139 (callgraph.o): New.
140 * c-decl.c (expand_body_1): Break out from ...
141 (expand_body): This one; change calling convention
142 (finish_function): Move some of expand_body logic here.
143 (c_expand_deferred_function): Update call of expand_body
144 (c_expand_stmt): Use c_expand_body_1.
145 * c-lang.c (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Define.
146 * c-objc-commin.c (c_objc_common_finish_file): Use callgraph code.
147 * c-tree.h (c_expand_body): Declare.
148 * callgraph.c: New file.
149 * flags.h (flag_unit_at_a_time): Declare.
150 * langhooks.h (LANG_HOOKS_CALLGRAPH_LOWER_FUNCTION,
151 LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION,
152 LANG_HOOKS_CALLGRAPH_INITIALIZER): New macros.
153 * langhooks.h (struct lang_hooks_for_callgraph): New.
154 (struct lang_hooks): Add callgraph field.
155 * toplev.c (flag_unit_at_a_time): New.
156 (lang_independent_options): Add flag_unit_at_a_time.
157 (process_options): Disable unit-at-a-time mode for frontends not
158 supporting callgraph.
159 * tree-inline.c (typedef struct inline_data): Add "decl"
160 (expand_call_inline): Update callgraph.
161 (optimize_inline_calls): Set id.decl.
162 * tree.h (cgraph_finalize_function, cgraph_finalize_compilation_unit,
163 cgraph_create_edges, dump_cgraph, cgraph_optimize, cgraph_remove_call
164 cgraph_calls_p): Declare.
165 * invoke.texi (-funit-at-a-time): Document
166
9037b0c7
AH
1672003-02-12 Aldy Hernandez <aldyh@redhat.com>
168
ddb0ae00
ZW
169 * config/rs6000/spe.h: Fix misc formatting.
170 (__ev_create_ufix32_fs): Cast ev argument.
171 (__ev_create_sfix32_fs): Same.
172 (__ev_get_sfix32_fs_internal): Cast arguments to builtins.
173 (__ev_get_ufix32_fs_internal): Same.
9037b0c7 174
55ae46b1
RM
1752003-02-12 Ranjit Mathew <rmathew@hotmail.com>
176
177 * doc/tm.texi (MODIFY_JNI_METHOD_CALL): Document.
178 * config/i386/cygwin.h (MODIFY_JNI_METHOD_CALL): New macro.
179
3963c2e0
ZW
1802003-02-12 Zack Weinberg <zack@codesourcery.com>
181
182 * cpplib.c (do_include_common): Move warnings for
183 #include_next and #import out to callers. Use early-return
184 instead of nested ifs. Don't do check_eol here.
185 (parse_include): Do check_eol here with the rest of the
186 parsing stuff.
187 (do_include_next, do_import): Now handle warnings.
188
d1a86812
GP
1892003-02-11 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
190
191 * doc/install.texi (Specific): Update AVR- and Darwin-related URLs.
192
6efcd268
JH
193Wed Feb 12 15:19:42 CET 2003 Jan Hubicka <jh@suse.cz>
194
195 * predict.c (estimate_probability): Fix roundoff error.
196
9083b5da
KH
1972003-02-12 Kazu Hirata <kazu@cs.umass.edu>
198
199 * config/h8300/h8300.md (a peephole2): Don't handle 65535.
200 (two peephole2): New.
201
86bc9b19
KH
2022003-02-12 Kazu Hirata <kazu@cs.umass.edu>
203
204 * config/h8300/h8300.md (several peephole2): Replace
205 find_regno_note with peep2_reg_dead_p.
206
ceda50e9
RH
2072003-02-11 Richard Henderson <rth@redhat.com>
208
209 * gcse.c (lookup_set): Remove unused argument PAT. Update
210 both callers.
211
886e0865
GK
2122003-02-11 Geoffrey Keating <geoffk@apple.com>
213
214 * diagnostic.c (real_abort): New.
215 (diagnostic_report_diagnostic): Call real_abort on error.
216 * diagnostic.h (diagnostic_abort_on_error): New.
217 (struct diagnostic_context): Add abort_on_error field.
218 * toplev.c (setup_core_dumping): New.
219 (decode_d_option): Handle 'H' case.
220 * doc/invoke.texi (Debugging Options): Document -dH.
221
76438597
NN
2222003-02-11 Nathanael Nerode <neroden@gcc.gnu.org>
223
224 * Makefile.in: Remove pointless setting of CXXFLAGS for dejagnu
225 which refers to obsolete directories.
226
09b568fc
RH
2272003-02-11 Richard Henderson <rth@redhat.com>
228
229 * config/alpha/linux.h (TARGET_C99_FUNCTIONS): New.
230
8b978a57
JH
231Mon Oct 21 17:07:47 CEST 2002 Jan Hubicka <jh@suse.cz>
232
233 * i386.c (contains_128bit_aligned_vector_p): New function.
234 (ix86_function_arg_boundary): Properly align vector modes.
235
a3259be8
BW
2362003-02-11 Bob Wilson <bob.wilson@acm.org>
237
238 * config/xtensa/xtensa.md (set_frame_ptr): Change rtl to set reg a7.
239 * config/xtensa/xtensa.c (xtensa_reorg): Search for UNSPECV_SET_FP
240 as a SET pattern.
241
da52a069
RS
2422003-02-11 Roger Sayle <roger@eyesopen.com>
243
244 * builtins.c: Fix failure caused by commiting wrong patch.
245
d58f6584
DJ
2462003-02-11 Dale Johannesen <dalej@apple.com>
247 * ra-build.c (compare_and_free_webs): Relax checking.
248 * config/rs6000/darwin.h (HOT_TEXT_SECTION_NAME): Define.
249 (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Define.
250
22fd5743
FH
2512003-02-11 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
252
253 PR optimization/9651
254 * rtlanal.c (may_trap_p): Handle FIX.
255
3462df62
DJ
2562003-02-11 Dave Jones <davej@codemonkey.org.uk>
257
258 * config/i386/i386.c (override_options): Define c3-2 as a 686 with SSE.
259 * doc/invoke.texi: Extra alias.
260
a693fbb9
GK
2612003-02-11 Geoffrey Keating <geoffk@apple.com>
262
263 * config/rs6000/host-darwin.c: Fix comment.
264
bb157ff4
DE
2652003-02-11 David Edelsohn <edelsohn@gnu.org>
266
267 * config/rs6000/rs6000.md (divmodsi4): Use register_operand
268 predicate for mod result.
269
16ddb599
JDA
2702003-02-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
271
272 * inclhack.def (hpux_long_double, hpux10_ctype_declarations1,
273 hpux10_ctype_declarations2, hpux_ctype_macros): New hacks.
274 * fixincl.x: Rebuilt.
275 * tests/base/stdlib.h: Update.
276 * tests/base/ctype.h: New file.
277
6f0d3566
JH
278Tue Feb 11 20:44:45 CET 2003 Jan Hubicka <jh@suse.cz>
279
280 * emit-rtl.c (emit_copy_of_insn_after): Copy insn recog cache too.
281
d0a5295a
RH
2822003-02-11 Richard Henderson <rth@redhat.com>
283
284 * config/i386/i386.c (ix86_expand_movstr): Fail if esi or edi
285 appropriated as globals.
286 (ix86_expand_clrstr): Similarly.
287 * config/i386/i386.md (cmpstrsi): Similarly.
288
9672132f
KH
2892003-02-11 Kazu Hirata <kazu@cs.umass.edu>
290
291 * config/h8300/h8300.md (a peephole2): Add a case of 255.
292
b5e01d4b
RS
2932003-02-11 Roger Sayle <roger@eyesopen.com>
294
295 * optabs.h (enum optab_index): Add new OTI_pow and OTI_atan2.
296 (pow_optab, atan2_optab): Define corresponding macros.
297 * optabs.c (init_optabs): Initialize pow_optab and atan2_optab.
298 * genopinit.c (optabs): Implement pow_optab and atan2_optab
299 using pow?f3 and atan2?f3 patterns.
300 * builtins.c (expand_errno_check): New function to update errno
301 if necessary, split out from expand_builtin_mathfn.
302 (expand_builtin_mathfn): Use expand_errno_check.
303 (expand_builtin_mathfn_2): New function to handle expanding binary
304 math functions, reusing the code in expand_errno_check.
305 (expand_builtin): Handle the pow and atan2 math built-ins,
306 BUILT_IN_{POW,POWF,POWL,ATAN2,ATAN2F,ATAN2L} via the new function
307 expand_builtin_mathfn_2.
308
309 * doc/md.texi: Document new pow?f3 and atan2?f3 patterns.
310
cb119f82
JH
311Tue Feb 11 19:03:22 MET 2003 Jan Hubicka <jh@suse.cz>
312
313 * combine.c (combine_simplify_rtx): Fix folding of
314 nested float_truncates.
315
a05566a3
KH
3162003-02-11 Kazu Hirata <kazu@cs.umass.edu>
317
318 * config/h8300/h8300.md (a peephole2): Fix a typo.
319
20ae4500
RE
3202003-02-11 Richard Earnshaw <rearnsha@arm.com>
321
322 * arm.mc (return_address_mask): Use CC_REGNUM for the condition code
323 register number.
324
717d8b71
KH
3252003-02-11 Kazu Hirata <kazu@cs.umass.edu>
326
327 * config/h8300/h8300-protos.h: Add a prototype for
328 gtuleu_operator.
329 * config/h8300/h8300.c (gtuleu_operator): New.
330 * config/h8300/h8300.h (PREDICATE_CODES): Add gtuleu_operator.
331 * config/h8300/h8300.md (a peephole2): New.
332
e36e8f52
JH
333Tue Feb 11 13:32:12 CET 2003 Jan Hubicka <jh@suse.cz>
334
335 * sched-ebb.c (schedule_ebbs): Do not verify_flow_info.
336
c728da61
JH
337Tue Feb 11 10:02:54 CET 2003 Jan Hubicka <jh@suse.cz>
338
339 * predict.c (choose_function_section): Choose sections correctly.
340
4cc0fdd2
JDA
3412003-02-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
342
343 * reload1.c (first_label_num): New.
344 (reload): Index offsets_known_at and offsets_at using difference of
345 label number and first label number. Don't use offset pointers.
346 (set_label_offsets, set_initial_label_offsets): Likewise.
347
44b1fa11
RS
3482003-02-10 Roger Sayle <roger@eyesopen.com>
349
350 * mips-tfile.c (init_file): Add missing initializers in the
351 "#ifdef __alpha" case.
352 (file_offset, max_file_offset): Declare as unsigned long.
353 (write_varray): Cast to "unsigned long" in comparisons against
354 either file_offset or max_file_offset.
355 (write_object): Likewise.
356 (read_seek): Likewise.
357 (copy_object): Likewise. Declare "ifd" as int to match its use
358 in add_ext_symbol, and avoid signed/unsigned conditional warning.
359
2948ade7 3602003-02-10 Nick Clifton <nickc@redhat.com>
3963c2e0 361 Aldy Hernandez <aldyh@redhat.com>
2948ade7 362
3963c2e0
ZW
363 * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Do not
364 override options which have been specified on the command line.
2948ade7 365
2a4e6df4
KH
3662003-02-10 Kazu Hirata <kazu@cs.umass.edu>
367
368 * config/h8300/h8300.md (abssf2): New.
369 (*abssf2_h8300): Likewise.
370 (*abssf2_h8300hs): Likewise.
371
411e2759
PE
3722003-02-10 Phil Edwards <pme@gcc.gnu.org>
373
374 * tree.c (build_tree_list): Fix parameter names in comment.
375
2b24fc41
JJ
3762003-02-10 Janis Johnson <janis187@us.ibm.com>
377
378 * config/rs6000/ppc64-fp.c: New file.
379 * config/rs6000/t-linux64 (LIB2FUNCS_EXTRA): Add ppc64-fp.c.
380
aa634f11
JZ
3812003-02-10 Josef Zlomek <zlomekj@suse.cz>
382
383 * Makefile.in (bb-reorder.o): Add dependency on $(FIBHEAP_H).
3963c2e0 384 * bb-reorder.c (make_reorder_chain): Deleted.
aa634f11
JZ
385 (make_reorder_chain_1): Deleted.
386 (find_traces): New function.
387 (rotate_loop): New function.
388 (mark_bb_visited): New function.
389 (find_traces_1_round): New function.
390 (copy_bb): New function.
391 (bb_to_key): New function.
392 (better_edge_p): New function.
393 (connect_traces): New function.
394 (copy_bb_p): New function.
395 (get_uncond_jump_length): New function.
396 (reorder_basic_blocks): Use new functions (Software Trace Cache).
397 * cfgcleanup.c (outgoing_edges_match): Enable crossjumping across loop
398 boundaries.
399
17edbda5
AH
4002003-02-10 Aldy Hernandez <aldyh@redhat.com>
401
402 * config/rs6000/rs6000.c (bdesc_2arg): Change spe_evxor to xorv2si3.
403
57116c34
DN
4042003-02-09 Dan Nicolaescu <dann@ics.uci.edu>
405
406 * tree.h (struct tree_decl): Remove unused live_range_rtl field.
3963c2e0 407 (DECL_LIVE_RANGE_RTL): Remove.
57116c34 408
4f448245
NC
4092003-02-10 Nick Clifton <nickc@redhat.com>
410
411 * config/arm/aof.h, config/arm/aout.h, config/arm/arm-modes.def,
412 config/arm/arm-protos.h, config/arm/arm.c, config/arm/arm.h,
413 config/arm/arm.md, config/arm/cirrus.md, config/arm/coff.h,
414 config/arm/conix-elf.h, config/arm/ecos-elf.h, config/arm/elf.h,
415 config/arm/freebsd.h, config/arm/linux-elf.h,
416 config/arm/linux-gas.h, config/arm/netbsd-elf.h,
417 config/arm/netbsd.h, config/arm/pe.c, config/arm/pe.h,
418 config/arm/rtems-elf.h, config/arm/semi.h, config/arm/semiaof.h,
419 config/arm/strongarm-coff.h, config/arm/strongarm-elf.h,
420 config/arm/strongarm-pe.h, config/arm/uclinux-elf.h,
421 config/arm/unknown-elf-oabi.h, config/arm/unknown-elf.h,
422 config/arm/xscale-elf.h: Replace occurances of "GNU CC" with "GCC"
423 and reformat as appropriate.
424
19190d27
KH
4252003-02-10 Kazu Hirata <kazu@cs.umass.edu>
426
427 * config/h8300/clzsi2.c: Remove.
428 * config/h8300/ctzsi2.c: Likewise.
429 * config/h8300/paritysi2.c: Likewise.
430 * config/h8300/popcountsi2.c: Likewise.
431 * config/h8300/t-h8300 (LIB2FUNCS_EXTRA): Remove clzsi2,
432 ctzsi2, paritysi2, and popcountsi2.
433
ecf92f82 4342003-02-10 Eric Botcazou <ebotcazou@libertysurf.fr>
3963c2e0 435 Christian Ehrhardt <ehrhardt@mathematik.uni-ulm.de>
ecf92f82
EB
436
437 PR c/7741
438 * c-decl.c (duplicate_decls): Discard the initializer of the
439 new decl when the types are conflicting.
440
ac5e69da
JZ
4412003-02-10 Josef Zlomek <zlomekj@suse.cz>
442
443 * Makefile.in (sreal.o): Added.
444 (predict.o): Depends on sreal.h instead of real.h.
445 * sreal.c: New file.
446 * sreal.h: New file.
447 * predict.c: Use sreal.c instead of real.c.
448
9b6b54e2
NC
4492003-02-10 Nick Clifton <nickc@redhat.com>
450
451 * Contributed support for the Cirrus EP9312 "Maverick"
452 floating point co-processor. Written by Aldy Hernandez
3963c2e0 453 <aldyh@redhat.com>.
9b6b54e2
NC
454 (config/arm/arm.c): Add Cirrus support.
455 (config/arm/arm.h): Likewise.
456 (config/arm/aout.h): Likewise.
457 (config/arm/arm.md): Likewise.
458 (config/arm/arm-protos.h): Likewise.
459 (config.gcc): Likewise.
460 (doc/invoke.texi): Describe new -mcpu value and new
461 -mcirrus-fix-invalid-insns switch,
462 (cirrus.md): New file.
463
949824fe
JH
464Mon Feb 10 11:40:18 CET 2003 Jan Hubicka <jh@suse.cz>
465
466 * combine.c (combine_simplify_rtx): Simplify using
467 (float_truncate (float x)) is (float x)
468 (float_extend (float_extend x)) is (float_extend x).
469
546ff777
AM
4702003-02-10 Alan Modra <amodra@bigpond.net.au>
471
472 * calls.c (try_to_integrate): Tidy stack_usage_map access.
473 (emit_library_call_value_1): Likewise. Formatting.
474 (store_one_arg): Likewise.
475
626098f9 4762003-02-09 Nick Clifton <nickc@redhat.com>
3963c2e0 477 Aldy Hernandez <aldyh@redhat.com>
626098f9 478
3963c2e0
ZW
479 * config/rs6000/spe.md: spe_evlhhesplat, spe_evlhhossplat,
480 spe_evlhhousplat, spe_evlwhsplat, spe_evlwwsplat, spe_evldd,
481 spe_evldh, spe_evldw, spe_evlwhe, spe_evlwhos, spe_evlwhou,
482 spe_evstdd, spe_evstdh, spe_evstdw, spe_evstdwx, spe_evstwhe,
483 spe_evstwho, spe_evstwwe, spe_evstwwo: Fix syntax to match newest
484 docs. Add range test for immediate value.
626098f9
AH
485
4862003-02-09 Aldy Hernandez <aldyh@redhat.com>
487
3963c2e0
ZW
488 Rename spe_evxor to xorv2si3.
489 (xorv4hi3): New.
490 (xorv1di3): New.
626098f9 491
8d23a2c8 4922003-02-10 Glen Nakamura <glen@imodulo.com>
3963c2e0 493
8d23a2c8
GN
494 * doc/extend.texi (C++98 Thread-Local Edits): Add missing @item
495 tag.
496
fdc4b40b
JH
497Mon Feb 10 00:29:17 CET 2003 Jan Hubicka <jh@suse.cz>
498
499 * i386.c (vector_move_operand): New predicate.
500 (ix86_expand_vector_move): Be happy about 0.
501 * i386.h (PREDICATE_CODES): Add sse-move_operand.
502 * i386.md (mov*_internal): Add 'C' alternative.
503
35c28a13
JH
504Sun Feb 9 23:58:33 CET 2003 Jan Hubicka <jh@suse.cz>
505
506 * i386.md (floathi*): Deal with SSE.
507
852c8ba1
JH
508Sun Feb 9 23:54:59 CET 2003 Jan Hubicka <jh@suse.cz>
509
510 * simplify-rtx.c (simplify_unary_operation,
511 simplify_binary_operation): Deal with vector modes
512 (simplify_ternary_operation): Deal with no-op VEC_MERGE.
513
2382b79f
RS
5142002-02-09 Richard Sandiford <rsandifo@redhat.com>
515
516 * toplev.c (rest_of_compilation): Recompute register usage after
517 split_all_insns.
518
8275b011
RH
5192003-02-09 Richard Henderson <rth@redhat.com>
520
521 * libgcc-std.ver (__clztf2): New.
522 (__ctztf2, __popcounttf2, __paritytf2): New.
523 * libgcc2.c (__clzSI2, __clzDI2, __ctzSI2, __ctzDI2, __popcountSI2,
524 __popcountDI2, __paritySI2, __parityDI2): Use UWmode and UDWmode;
525 adjust code to match the different type sizes.
526 * libgcc2.h (__clzSI2, __ctzSI2, __popcountSI2, __paritySI2,
527 __clzDI2, __ctzDI2, __popcountDI2, __parityDI2): New macros.
528
529 * optabs.c (init_integral_libfuncs): Don't hard-code SImode and
530 TImode; select word_mode and twice that.
531 (init_floating_libfuncs): Don't hard-code SFmode and TFmode;
532 select the modes from float, double, and long double.
533 (init_optabs): Remove duplicate initializations.
534
794aca5d
WB
5352003-02-09 Wolfgang Bangerth <bangerth@ticam.utexas.edu>
536
537 * doc/install.texi: Squeeze and streamline section on
538 testing and regression checking.
539
d9deed68
JH
540Sun Feb 9 13:33:34 CET 2003 Jan Hubicka <jh@suse.cz>
541
542 * i386.md (ahi?v*3): Set third operand type to TImode.
543 * i386.c (ix86_expand_binop_builtin): Extend operand when needed.
544
545 * simplify-rtx.c (simplify_subreg): Fix conversion from vector into
546 integer mode.
547
548 * rtl.def (VEC_MERGE, VEC_SELECT, VEC_CONCAT, VEC_DUPLICATE):
549 Change code so they are arithmetic expressions now.
550 * simplify-rtx.c (simplify_unary_operation, simplify_binary_operation,
551 simplify_ternary_operation): Deal with VEC_* expressions.
552
553 * i386.md (vmaskcmp, pinsrw, movd patterns): Fix RTL representation.
554
83fd323c
JH
555Sat Feb 8 00:21:22 CET 2003 Jan Hubicka <jh@suse.cz>
556
557 * cfgrtl.c (verify_flow_info): Use control_flow_insn_p.
558 * reload1.c (fixup_abnormal_edges): Split basic blocks when EH edges
559 possibly got duplicated.
560
4ee7aa60
RH
5612003-02-08 Richard Henderson <rth@redhat.com>
562
563 * config/alpha/alpha.c (override_options): Turn off explicit
564 relocs until post-peep2 code duplication resolved.
565
c117dddc
KH
5662003-02-08 Kazu Hirata <kazu@cs.umass.edu>
567
568 * optabs.c (expand_unop): Widen clz properly when clz is done
569 via libcall.
570
8aa063fb
KH
5712003-02-08 Kazu Hirata <kazu@cs.umass.edu>
572
573 * config/h8300/clzsi2.c: Replace "GNU CC" with "GCC".
574 * config/h8300/crti.asm: Likewise.
575 * config/h8300/crtn.asm: Likewise.
576 * config/h8300/ctzsi2.c: Likewise.
577 * config/h8300/fixunssfsi.c: Likewise.
578 * config/h8300/h8300-protos.h: Likewise.
579 * config/h8300/h8300.c: Likewise.
580 * config/h8300/h8300.h: Likewise.
581 * config/h8300/h8300.md: Likewise.
582 * config/h8300/paritysi2.c: Likewise.
583 * config/h8300/popcountsi2.c: Likewise.
584 * config/h8300/rtems.h: Likewise.
585
01a132bb
ZD
5862003-02-08 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
587
588 * doc/invoke.texi: Documentation for my previous commit.
589 * doc/passes.texi: Ditto.
590
617b465c
ZD
5912003-02-08 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
592
593 * cfgloop.h (fix_loop_placement, can_duplicate_loop_p,
594 duplicate_loop_to_header_edge, loopify, remove_path, split_loop_bb):
595 Declare.
596 (DLTHE_FLAG_UPDATE_FREQ): New.
597 * cfgloopmanip.c (duplicate_loop, duplicate_subloops, copy_loops_to,
598 loop_redirect_edge, loop_delete_branch_edge, copy_bbs, remove_bbs,
599 rpe_enum_p, find_branch, alp_enum_p, add_loop, fix_loop_placements,
600 fix_bb_placement, fix_bb_placements, place_new_loop,
601 scale_loop_frequencies, scale_bbs_frequencies, record_exit_edges):
602 New static functions.
603 (fix_loop_placement, can_duplicate_loop_p,
604 duplicate_loop_to_header_edge, loopify, remove_path, split_loop_bb):
605 New functions.
606
607 * cfgloop.h (loop_optimizer_init, loop_optimizer_finalize,
608 unswitch_loops): Declare.
609 * loop-init.c: New file.
610 * loop-unswitch.c: New file.
611 * Makefile.in (loop-init.o, loop-unswitch.o): New.
612 * params.def (PARAM_MAX_UNSWITCH_INSNS, PARAM_MAX_UNSWITCH_LEVEL): New.
613 * toplev.c (DFI_loop2): New dump.
614 (flag_unswitch_loops): New.
615 (lang_independent_options): Add it.
616 (rest_of_compilation): Call new loop optimizer.
617 (parse_options_and_default_flags): Turn flag_unswitch_loops on with -O3.
618
3bd03194
KH
6192003-02-08 Kazu Hirata <kazu@cs.umass.edu>
620
621 * config/h8300/clzsi2.c: New.
622 * config/h8300/ctzsi2.c: Likewise.
623 * config/h8300/paritysi2.c: Likewise.
624 * config/h8300/popcountsi2.c: Likewise.
625 * config/h8300/t-h8300 (LIB2FUNCS_EXTRA): Add above files.
626
d865b122
DE
6272003-02-07 David Edelsohn <edelsohn@gnu.org>
628
629 * config/rs6000/rs6000.h (CLZ_DEFINED_VALUE_AT_ZERO): Define.
630 * config/rs6000/rs6000.md (clzsi2): Rename from cntlzw2.
94993909 631 (ctzsi2): New pattern.
d865b122
DE
632 (ffssi2): Use clz instead of unspec.
633 (clzdi2): Rename from cntlzd2.
94993909 634 (ctzdi2): New pattern.
d865b122
DE
635 (ffsdi2): Use clz instead of unspec.
636
8f37dd98
LR
6372003-02-07 Loren James Rittle <ljrittle@acm.org>
638
639 * config/alpha/freebsd.h (LINK_SPEC): Weaken error to notice.
640 * config/ia64/freebsd.h (LINK_SPEC): Likewise.
641 * config/sparc/freebsd.h (LINK_SPEC): Likewise.
642 * config/i386/freebsd.h (LINK_SPEC): Add clause to mirror other arches.
643
83205b9b
WB
6442003-02-07 Wolfgang Bangerth <bangerth@ticam.utexas.edu>
645
646 * doc/trouble.texi: Document pitfalls of two-stage name lookup.
647
710ee3ed
RH
6482003-02-07 Richard Henderson <rth@redhat.com>
649
650 PR 9226
3963c2e0
ZW
651 * gcse.c (local_cprop_find_used_regs): New.
652 (local_cprop_pass): Use it.
710ee3ed 653
3ef879d2
FF
6542003-02-07 Fred Fish <fnf@intrinsity.com>
655
656 * mips-tfile.c (parse_def): Parenthesize assignments to fix
3963c2e0 657 precedence bugs.
3ef879d2 658
a0f0e963 6592003-02-07 Segher Boessenkool <segher@koffie.nl>
3ef879d2 660
3963c2e0 661 * genoutput.c (output_get_insn_name): Handle NOOP_MOVE_INSN_CODE.
a0f0e963 662
46847aa6
RS
6632003-02-07 Roger Sayle <roger@eyesopen.com>
664
665 * builtin-types.def (BT_FN_FLOAT_FLOAT_FLOAT): New built-in type.
666 (BT_FN_LONG_DOUBLE_LONG_DOUBLE_LONG_DOUBLE): Likewise.
667 (BT_FN_DOUBLE_DOUBLE_DOUBLE): Likewise.
668 * builtins.def: Define pow, powf, powl, atan2, atan2f and atan2l
669 builtin functions (and their __builtin_* variants).
670 * builtins.c (mathfn_built_in): Handle missing log{,f,l} cases.
671 (expand_builtin): Don't expand log{,f,l}, pow{,f,l} or atan2{,f,l}
672 when not optimizing.
673
674 * doc/extend.texi: Document new pow and atan2 builtins, and
675 their float and long double variants. Realphabetize builtins.
676
c48d6750
JH
677Fri Feb 7 23:24:28 CET 2003 Jan Hubicka <jh@suse.cz>
678
679 * i386.md (sse2_nandv2di3): Fix.
680
5e062767
DS
6812003-03-07 Danny Smith <dannysmith@users.sourceforge.net>
682
683 * config/i386/i386.h (MS_AGGREGATE_RETURN): New define.
684 * config/i386/cygwin.h (MS_AGGREGATE_RETURN): Override default
685 definition.
686 * config/i386/i386.h (ix86_return_in_memory): Return aggregate
687 types of up to 8 bytes via registers if MS_AGGREGATE_RETURN.
688
3f755ed0
JH
689Fri Feb 7 22:22:40 CET 2003 Jan Hubicka <jh@suse.cz>
690
691 * i386.md (movdi_rex64_1): Fix mmx<->int move opcode.
692
0816bcd2
DB
6932003-02-07 Daniel Berlin <dberlin@dberlin.org>
694
695 * cfg.c (dump_flow_info): Add back accidently deleted line.
696
7bf0a593
AP
6972003-02-07 Andrey Petrov <petrov@netbsd.org>
698
699 * optabs.c (expand_float): Search wider integer modes first.
700
01e4596e
BW
7012003-02-07 Bob Wilson <bob.wilson@acm.org>
702
703 * config/xtensa/xtensa.h (LIBGCC2_WORDS_BIG_ENDIAN): Set this
704 based on preprocessor flag.
705
fbef91d8
RS
7062003-02-07 Roger Sayle <roger@eyesopen.com>
707 Richard Henderson <rth@redhat.com>
708
709 * gcse.c (implicit_sets): New.
710 (compute_hash_table_work): Include them in hash table.
711 (find_implicit_sets, fis_get_condition): New.
712 (one_cprop_pass): Allocate and free implicit_sets; call
713 find_implicit_sets before building hash table.
714
6713831e
JT
7152003-02-07 Jason Thorpe <thorpej@wasabisystems.com>
716
717 * config/t-netbsd (USER_H): Revert previous change.
718
10d2dbe2
GG
7192003-02-07 Gabor Greif <ggreif@lucent.com>
720
721 * doc/c-tree.texi (Namespaces): Fix typo.
722
d1d3c9a6
JH
723Fri Feb 7 02:18:57 CET 2003 Jan Hubicka <jh@suse.cz>
724
725 * regrename.c (do_replace, find_oldest_value_reg,
726 copyprop_hardreg_forward_1): Update register attributes.
727
1b1f249d
VM
7282003-02-06 Vladimir Makarov <vmakarov@redhat.com>
729
730 * genautomata.c (VLA_PTR_CREATE, VLA_PTR_EXPAND, VLA_PTR_ADD,
731 VLA_HWINT_CREATE, VLA_HWINT_EXPAND, VLA_HWINT_ADD): Use temporay
732 variables starting with underscore.
733 (struct unit_usage): New structure.
734 (unit_usages, cycle_alt_unit_usages): New global variables.
735 (check_unit_distribution_in_reserv): Remove it.
736 (store_alt_unit_usage): New function.
737 (check_regexp_units_distribution): Rewrite it.
738
90330d31
JDA
7392003-02-06 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
740
741 * config.gcc (hppa*-*-linux*): Set MASK_NO_SPACE_REGS in
742 target_cpu_default.
743 * pa.c (attr_length_call): Add 8 to call length (long indirect PA 1.X)
744 if not MASK_NO_SPACE_REGS.
745 (output_call): Adjust return pointer, don't load new space register
746 into %sr0, and use %sr4 for call if TARGET_NO_SPACE_REGS is true.
747 (pa_asm_output_mi_thunk): Don't load new space register into %sr0 if
748 TARGET_NO_SPACE_REGS is true.
749 * pa.md (return_external_pic): Add TARGET_NO_SPACE_REGS to insn
750 conditions.
751 (epilogue): Always use return_internal if TARGET_NO_SPACE_REGS is true.
752 (interspace_jump): Add new pattern for when TARGET_NO_SPACE_REGS is
753 true. Use bve when TARGET_64BIT is true.
754
d1164330
RH
7552003-02-06 Richard Henderson <rth@redhat.com>
756
757 * combine.c (nonzero_bits): Fix double break.
758
5fbf0217 7592003-02-06 Eric Botcazou <ebotcazou@libertysurf.fr>
3963c2e0 760 Richard Henderson <rth@redhat.com>
5fbf0217
EB
761
762 PR c/9530
763 * config/i386/i386.c (ix86_function_ok_for_sibcall): Forbid sibcalls
764 from functions that return a float to functions that don't.
765
8f62128d
JH
766Thu Feb 6 00:18:38 CET 2003 Jan Hubicka <jh@suse.cz>
767
768 * i386.c (x86_inter_unit_moves): New variable.
769 (ix86_secondary_memory_needed): Fix 64bit case, honor
770 TARGET_INTER_UNIT_MOVES
771 * i386.h (x86_inter_unit_moves): Declare.
772 (TARGET_INTER_UNIT_MOVES): New macro.
773 * i386.md (movsi_1): Cleanup constraints; disable
774 when not doing inter-unit moves.
775 (movsi_1_nointernunit): New.
776 (movdi_1_rex64): Fix constraints; deal with SSE->GPR moves.
777 (movdi_1_rex64_nointerunit): New.
778 (mivsf_1): disable when not doing inter-unit moves.
779 (movsf_1_nointerunit): New.
780
781 * basic-block.h (inside_basic_block_p): Declare.
782 * cfgbuild.c (inside_basic_block_p): Make global.
783 * haifa-sched.c (unlink_other_notes0: Deal with NOT_INSN_BASIC_BLOCK.
784 * scheudle-ebb.c (schedule_ebb): Return last basic block of trace;
785 update CFG.
786 (fix_basic_block_boundaries, add_missing_bbs): New.
787 (rank): Use profile.
788 (scheudle_ebbs): Rely on CFG; update coments.
789
476d9098
GK
7902003-02-05 Geoffrey Keating <geoffk@apple.com>
791
792 * Makefile.in (host_hook_obj): New.
793 (OBJS): Add $(host_hook_obj).
794 (host_default.o): New rule.
795 * config.gcc (host_hook_obj): New, default to host-default.o.
796 (powerpc-*-darwin*): Use host-darwin.o.
797 (out_host_hook_obj): New.
798 * configure: Regenerate.
799 * configure.in: Print information about out_host_hook_obj, substitute
800 into output files.
801 * host-default.c: New file.
802 * hosthooks.h: New file.
803 * toplev.c (general_init): Call host_hooks.extra_signals.
804 * config/rs6000/host-darwin.c: New file.
805 * config/rs6000/x-darwin: New file.
806 * doc/hostconfig.texi: Add documentation for new host hook.
807 Rearrange existing documentation.
808
69bd9368
RS
8092003-02-05 Roger Sayle <roger@eyesopen.com>
810
811 * dwarf2out.c (mem_loc_descriptor): Replace ASM_SIMPLIFY_DWARF_ADDR
812 with *targetm.delegitimize_address.
813 (rtl_for_decl_location): Likewise.
814 * dwarfout.c (output_mem_loc_descriptor): Likewise. Include target.h.
815 * Makefile.in (dwarf2out.c, dwarfout.c): Depend upon $(TARGET_H)
816
817 * config/i386/i386.h (ASM_SIMPLIFY_DWARF_ADDR): Remove definition.
818 * config/i386/i386-protos.h (i386_simplify_dwarf_addr): Remove
819 prototype.
820 * config/i386/i386.c (ix86_delegitimize_address): Renamed from
821 i386_simplify_dwarf_addr. Made static. Prototyped.
822 (TARGET_DELEGITIMIZE_ADDRESS): Update definition from
823 i386_simplify_dwarf_addr to ix86_delegitimize_address.
824 (ix86_find_base_term): Likewise.
825 (maybe_get_pool_constant): Likewise.
826
827 * config/s390/s390.h (ASM_SIMPLIFY_DWARF_ADDR): Remove definition.
828 * config/s390/s390-protos.h (s390_simplify_dwarf_addr): Remove
829 prototype.
830 * config/s390/s390.c (s390_delegitimize_address): Renamed from
831 s390_simplify_dwarf_addr. Made static. Prototyped.
832 (TARGET_DELEGITIMIZE_ADDRESS): Define as s390_delegitimize_address.
833
7127fd58
RH
8342003-02-05 Richard Henderson <rth@redhat.com>
835
8dde7a2c 836 PR c/8602
3963c2e0
ZW
837 * integrate.c (output_inline_function): Reset input_filename
838 and lineno from the decl before rest_of_compilation.
7127fd58 839
7dba8395
RH
8402003-02-05 Richard Henderson <rth@redhat.com>
841
842 * defaults.h (CLZ_DEFINED_VALUE_AT_ZERO): New.
843 (CTZ_DEFINED_VALUE_AT_ZERO): New.
844 * doc/rtl.texi, doc/tm.texi: Document them.
845
846 * combine.c (nonzero_bits) [CLZ, CTZ]: Handle the definedness
847 of the value at zero properly.
848 * fold-const.c (tree_expr_nonnegative_p): Likewise.
849 * simplify-rtx.c (simplify_unary_operation): Likewise.
850
851 * config/alpha/alpha.h (CLZ_DEFINED_VALUE_AT_ZERO): New.
852 (CTZ_DEFINED_VALUE_AT_ZERO): New.
853
854 * config/arm/arm.c (TARGET_INIT_BUILTINS): Remove.
855 (TARGET_EXPAND_BUILTIN): Remove.
856 (def_builtin, arm_init_builtins, arm_expand_builtin): Remove.
857 * config/arm/arm.h (CLZ_DEFINED_VALUE_AT_ZERO): New.
858 (enum arm_builtins): Remove.
859 * config/arm/arm.md (UNSPEC_CLZ): Remove.
860 (clzsi2): Rename from clz; use clz instead of unspec.
861 (ctzsi2): New.
862 * config/arm/arm-protos.h: Update.
863
8d705469
JH
864Wed Feb 5 23:12:57 CET 2003 Jan Hubicka <jh@suse.cz>
865
866 * i386-protos.h (x86_emit_floatuns): Declare.
867 * i386.c (x86_emit_floatuns): New global function.
868 * i386.md (floatunssisf2, floatunsdisf2,
869 floatunsdidf2): New patterns.
870
bc810602
ZD
8712003-01-25 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
872
873 * cfgloopmanip.c (force_single_succ_latches): Fix missindentation.
874
07938cec
HB
8752003-02-05 Hans Boehm <Hans.Boehm@hp.com>
876
877 * config/ia64/unwind-ia64.c: include coretypes.h, tm.h to get
878 config/ia64/linux.h
879
ca9398d1
RS
8802002-02-05 Roger Sayle <roger@eyesopen.com>
881
882 * cfgloop.h (flow_bb_inside_loop_p): Correct prototype again.
883
4f6ae35d
JJ
8842003-02-05 Jakub Jelinek <jakub@redhat.com>
885
886 PR optimization/8555
887 * config/i386/i386.md (sse_mov?fcc split): Handle op2 == op3 case
888 instead of aborting.
889
8acfdd43
RH
8902003-02-04 Richard Henderson <rth@redhat.com>
891
892 * config/i386/i386.md (UNSPEC_BSF): Remove.
893 (ffssi2): Split into cmove and no_cmove insns and splitters;
894 lose pentium float trick for now.
895 (ffssi_1): Add * to name; use CTZ instead of UNSPEC.
896 (ctzsi2, clzsi2, bsr): New.
897
c407570a
RH
8982003-02-04 Richard Henderson <rth@redhat.com>
899
900 * config/ia64/ia64.c (rtx_needs_barrier): Handle POPCOUNT,
901 UNSPEC_GETF_EXP; remove UNSPEC_POPCNT.
902 * config/ia64/ia64.md (UNSPEC_POPCNT): Remove.
903 (ffsdi2): Use popcount instead of unspec.
904 (popcountdi2): Rename from *popcnt.
905 (ctzdi2, clzdi2, getf_exp_tf): New.
906
4b3cf522
KH
9072003-02-04 Kazu Hirata <kazu@cs.umass.edu>
908
909 * genconfig.c (main): Generate CC0_P.
910 * rtl.h (CC0_P): Remove.
911
dfff898c
RH
9122003-02-04 Richard Henderson <rth@redhat.com>
913
914 * libgcc2.h, libgcc2.c (__ffsSI2): New.
915 (__ffsDI2): Rename from __ffsdi2.
916 * mklibgcc.in (lib2funcs): Add _ffssi2.
917
0c9ed856
RH
9182003-02-04 Richard Henderson <rth@redhat.com>
919
920 * libgcc2.c (__paritysi2, __paritydi2): Replace last two reduction
921 rounds with a "bit table" lookup.
922
9537511b
UW
9232003-02-04 Ulrich Weigand <uweigand@de.ibm.com>
924
925 * reload.c (find_reloads): Do not use the mode specified in the insn
3ef879d2 926 pattern as reload mode for address operands. Do not generate optional
9537511b
UW
927 reloads for operands where a mandatory reload was already pushed.
928
1efd0b97
RH
9292003-02-04 Richard Henderson <rth@redhat.com>
930
931 * longlong.h [alpha] (count_leading_zeros, count_trailing_zeros): Use
932 builtins instead of inline assembly.
933
087fc75a 9342003-02-04 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
3ef879d2 935
087fc75a
FH
936 PR c/9376
937 * libgcc2.c (__subvdi3): Fix typo.
938
f0f0d98e
JH
939Tue Feb 4 21:46:05 CET 2003 Jan Hubicka <jh@suse.cz>
940
941 * i386.md (movti_rex64): Fix constraint.
942
09f26fb5
JH
943Tue Feb 4 18:40:42 CET 2003 Jan Hubicka <jh@suse.cz>
944
945 * i386.md (vector push splitters): Fix typo in resolving conflict.
946
ff6e2d3e
RB
9472003-02-04 Rodney Brown <rbrown64@csc.com.au>
948
949 * config/i386/i386.c (x86_function_profiler): Fix typo in format.
950
9e80ada7
PE
9512003-02-04 Phil Edwards <pme@gcc.gnu.org>
952
953 * doc/install.texi (*-*-linux-gnu): Mention glibc requirements
954 for recent libstdc++. Remove formatting cruft.
955
79c758fb
JJ
9562003-02-04 Jakub Jelinek <jakub@redhat.com>
957
958 * dwarf2out.c (dwarf2out_finish): Add AT_comp_dir
959 attribute even if input file name is absolute, but one of the
960 includes is relative.
961
b3a8389d
JM
9622003-02-04 Joseph S. Myers <jsm@polyomino.org.uk>
963
964 * doc/gcc.texi, doc/gccint.texi, doc/gcov.texi,
965 doc/include/fdl.texi, doc/invoke.texi: Update to GFDL 1.2.
966 * doc/install.texi: Update copyright dates. Update to GFDL 1.2.
967
dabb3f04
RH
9682003-02-03 Richard Henderson <rth@redhat.com>
969
970 * libgcc2.c (__ffsdi2, __clzsi2, __clzdi2, __ctzsi2, __ctzdi2,
971 __popcountsi2, __popcountdi2, __paritysi2, __paritydi2): Change
972 return type to "int". Shuffle declarations and undef int trap.
973 * libgcc2.h: Remove their declarations.
974 * optabs.c (expand_unop): Force outmode to int for bitops.
975
985d0d50
BW
9762003-02-03 Bob Wilson <bob.wilson@acm.org>
977
978 * config/xtensa/xtensa.c (order_regs_for_local_alloc): Order the
979 coprocessor registers before floating-point registers.
980 * config/xtensa/xtensa.h (REG_ALLOC_ORDER): Adjust register numbers
981 to account for a previously removed register.
982 (SPEC_REG_FIRST, SPEC_REG_LAST, SPEC_REG_NUM, COUNT_REGISTER_REGNUM):
983 Delete unused macros.
984
7f0e57bd
JH
985Mon Feb 3 21:19:11 CET 2003 Jan Hubicka <jh@suse.cz>
986
987 * i386.c (ix86_expand_store_builtin): Always force op1 to register.
988 (mov*_internal): Fix predicates; require one of operands to not be
989 memory.
990 (SSE?MMX move expanders): Fix predicates; force one of operands to
991 register.
992 (SSE/MMX push patterns): Reorganize; fix x86-64 code generation.
993 (movups/movupd/movdqu patterns): Force one of operands to not be
994 memory.
995
7daebb7a
RS
9962002-02-03 Roger Sayle <roger@eyesopen.com>
997
998 * hooks.c (hook_rtx_rtx_identity): Generic hook function that
999 takes a single rtx and returns it unmodified.
1000 * hooks.h (hook_rtx_rtx_identity): Prototype here.
ff6e2d3e 1001 * target.h (struct gcc_target): Add "delegitimize_address"
7daebb7a
RS
1002 field to target structure.
1003 * target-def.h (TARGET_DELEGITIMIZE_ADDRESS): Provide default
1004 for delegitimize_address target using hook_rtx_rtx_identity.
1005 (TARGET_INITIALIZER): Initialize delegitimize_address field
1006 using TARGET_DELEGITIMIZE_ADDRESS macro.
1007 * simplify-rtx.c (avoid_constant_pool_reference): Handle float
1008 extensions of constant pool references. Use delegitimize_address
1009 to undo the obfuscation of "-fpic".
1010 * Makefile.in (simplify-rtx.o): Add dependency on target.h.
1011
1012 * config/i386/i386.c (TARGET_DELEGITIMIZE_ADDRESS): Define as
1013 i386_simplify_dwarf_addr.
1014 (ix86_find_base_term): Simplify using i386_simplify_dwarf_addr.
1015 (maybe_get_pool_constant): Likewise.
1016
84520a20
JH
1017Mon Feb 3 16:01:17 CET 2003 Jan Hubicka <jh@suse.cz>
1018
1019 * i386.c (ix86_expand_int_movcc): Fix setcc sign bit case.
1020
035b2a34
JH
1021Mon Feb 3 01:30:11 CET 2003 Jan Hubicka <jh@suse.cz>
1022
1023 * regclass.c (cannot_change_mode_set_regs): Correct argument order.
1024
1f143d5a
KG
10252003-02-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1026
1027 * mips/_tilib.c: Don't include tsystem.h or defaults.h. Don't
1028 define LIBGCC2_WORDS_BIG_ENDIAN. Include coretypes.h and tm.h.
1029
4b550d9f
AS
10302003-02-02 Andreas Schwab <schwab@suse.de>
1031
1032 * varasm.c (asm_output_aligned_bss): Declare as possibly unused.
1033
0732a089
RE
10342003-02-02 Richard Earnshaw <rearnsha@arm.com>
1035
1036 * arm.md (sibcall_epilogue): Set the "conds" to "clob".
1037 (epilogue_insns): Likewise.
1038
f269f54f
JDA
10392003-02-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1040
1041 * doc/install.texi (hppa*-hp-hpux11*): Update installation notes.
1042
611ad29e
JDA
10432003-02-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1044
1045 * pa-protos.h (attr_length_millicode_call): Remove second argument.
1046 (attr_length_indirect_call, attr_length_indirect_call,
1047 attr_length_save_restore_dltp): New prototypes.
1048 * pa.c (attr_length_millicode_call): Remove second argument. Check
1049 INSN_ADDRESSES_SET_P in distance calculation.
1050 (output_millicode_call): Check INSN_ADDRESSES_SET_P before using
1051 INSN_ADDRESSES.
1052 (attr_length_call): Check INSN_ADDRESSES_SET_P in distance calculation.
1053 (output_call): Check INSN_ADDRESSES_SET_P before using INSN_ADDRESSES.
1054 Call attr_length_call directly.
1055 (attr_length_indirect_call, output_indirect_call,
1056 attr_length_save_restore_dltp): New functions.
1057 * pa.md (attr_length_millicode_call): Drop second argument from all
1058 patterns.
1059 (return_internal_pic): Delete.
1060 (return_external_pic): Remove use of PIC register and pic operand and
1061 flag checks.
1062 (epilogue): Use return_internal for both normal and pic code.
1063 (call, call_value): Emit new 32-bit pic patterns for symref and
1064 indirect calls. Remove uses for arg pointer and pic register.
1065 (call_symref_pic, call_symref_pic_post_reload, call_reg_pic,
1066 call_reg_pic_post_reload, call_val_symref_pic,
1067 call_val_symref_pic_post_reload, call_val_reg_pic,
1068 call_val_reg_pic_post_reload): New pre and post reload insn patterns.
1069 Implement define_split and define_peephole2 patterns for pre reload
1070 patterns.
1071 (call_symref_64bit, call_internal_reg_64bit, call_value_symref_64bit,
1072 call_value_internal_reg_64bit): Shorten names.
1073 (all call patterns): Explicitly indicate registers used and clobbered.
1074 Use attr_length_indirect_call and attr_length_save_restore_dltp for
1075 attribute length calculation. Move code generation for indirect calls
1076 to output_indirect_call.
1077 (sibcall, sibcall_value): Don't restore PIC register.
1078 (exception_receiver, builtin_setjmp_receiver): Add blockage after PIC
1079 register retore.
1080
8cacda7c
GP
10812003-02-02 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
1082
1083 * doc/install.texi (Testing): Simplify and compress instructions
1084 concerning Dejagnu.
1085
cbc158bb
JDA
10862003-02-01 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1087
1088 * collect2.c (pexecute_pid): Rename to pid.
1089 (collect_wait, collect_execute, scan_prog_file, scan_libraries): Use
1090 pid.
1091
dcef1843
GK
10922003-02-01 Geoffrey Keating <geoffk@apple.com>
1093
1094 * doc/extend.texi (Function Attributes): Remove documentation
1095 for PowerPC Windows NT function attributes..
1096
5d7bed9d
DJ
10972003-02-01 Daniel Jacobowitz <drow@mvista.com>
1098
1099 * dwarf2out.c (gen_type_die): Check for typedefs before calling
1100 for TYPE_MAIN_VARIANT.
1101
53585c36
RH
11022003-02-01 Richard Henderson <rth@redhat.com>
1103
1104 * libgcc2.c: Include auto-host.h.
1105 (ATTRIBUTE_HIDDEN): New.
1106 (__clz_tab): Don't declare here for clz and ctz.
1107 (__clzsi2, __clzdi2): Use count_leading_zeros.
1108 (__ctzsi2, __ctzdi2): Use count_trailing_zeros.
1109 (__popcount_tab): Mark ATTRIBUTE_HIDDEN.
1110 (__paritysi2, __paritydi2): Use shifts instead of __popcount_tab.
1111 * longlong.h (__clz_tab): Mark ATTRIBUTE_HIDDEN.
1112
bc8a6d63
RH
11132003-02-01 Richard Henderson <rth@redhat.com>
1114
1115 * config/i386/i386.md (addsi_1_zext splitter): Add TARGET_64BIT
1116 to the conditional.
1117 (ashlsi3_1_zext splitter): Likewise.
1118
2928cd7a
RH
11192003-02-01 Richard Henderson <rth@redhat.com>
1120
1121 * optabs.c (expand_unop): Use word_mode for outmode of bit scaners.
1122 * libgcc2.c (__ffsdi2, __clzsi2, __clzdi2, __ctzsi2, __ctzdi2,
1123 __popcountsi2, __popcountdi2, __paritysi2 __paritydi2): Change
1124 return type to Wtype.
1125
1126 * libgcc-std.ver (GCC_3.4): Fix inheritance.
1127
1128 * config/i386/i386.md (ffssi2): Use nonimmediate_operand for
1129 expander input constraint.
1130
11312003-02-01 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
1132
ff6e2d3e
RB
1133 * optabs.h (optab_index): Add OTI_clz, OTI_ctz, OTI_popcount and
1134 OTI_parity.
1135 (clz_optab, ctz_optab, popcount_optab, parity_optab): New.
1136 * optabs.c (widen_clz, expand_parity): New.
1137 (expand_unop): Handle clz and parity. Hardcode SImode as outmode
1138 for libcalls to clz, ctz, popcount, and parity.
1139 (init_optabs): Init clz_optab, ctz_optab, popcount_optab and
1140 parity_optab, and set up libfunc handlers.
1141 * libgcc2.c (__clzsi2, __clzdi2, __ctzsi2, __ctzdi2,
1142 __popcountsi2, __popcountdi2, __paritysi2 __paritydi2,
1143 __popcount_tab): New.
1144 * libgcc2.h: Declare them.
1145 * libgcc-std.ver (GCC_3.4): Add new functions from libgcc2.c.
1146 * genopinit.c (optabs): Add clz_optab, ctz_optab, popcount_optab
1147 and parity_optab.
1148 * builtin-types.def (BT_FN_INT_LONG, BT_FN_INT_LONGLONG): New.
1149 * builtins.def (BUILT_IN_CLZ, BUILT_IN_CTZ, BUILT_IN_POPCOUNT,
1150 BUILT_IN_PARITY, BUILT_IN_FFSL, BUILT_IN_CLZL, BUILT_IN_CTZL,
1151 BUILT_IN_POPCOUNTL, BUILT_IN_PARITYL, BUILT_IN_FFSLL,
1152 BUILT_IN_CLZLL, BUILT_IN_CTZLL, BUILT_IN_POPCOUNTLL,
1153 BUILT_IN_PARITYLL): New.
1154 * builtins.c (expand_builtin_unop): Rename from expand_builtin_ffs
1155 and add optab argument.
1156 (expand_builtin): Expand BUILT_IN_{FFS,CLZ,POPCOUNT,PARITY}*.
1157 * tree.def (CLZ_EXPR, CTZ_EXPR, POPCOUNT_EXPR, PARITY_EXPR): New.
1158 * expr.c (expand_expr): Handle them.
1159 * fold-const.c (tree_expr_nonnegative_p): Likewise.
1160 * rtl.def (CLZ, CTZ, POPCOUNT, PARITY): New.
1161 * reload1.c (eliminate_regs): Handle them.
1162 (elimination_effects): Likewise.
1163 * function.c (instantiate_virtual_regs_1): Likewise
1164 * genattrtab.c (check_attr_value): Likewise.
1165 * simplify-rtx.c (simplify_unary_operation): Likewise.
1166 * c-common.c (c_common_truthvalue_conversion): Handle POPCOUNT_EXPR.
1167 * combine.c (combine_simplify_rtx): Handle POPCOUNT and PARITY.
1168 (nonzero_bits): Handle CLZ, CTZ, POPCOUNT and PARITY.
1169 * config/alpha/alpha.md (clzdi2, ctzdi2, popcountdi2): New.
1170 * config/arm/arm.c (arm_init_builtins): Rename __builtin_clz to
1171 __builtin_arm_clz.
1172 * Makefile.in (LIB2FUNCS_1, LIB2FUNCS_2): Move...
1173 * mklibgcc.in (lib2funcs): ...here and merge. Add new members.
1174 * doc/extend.texi (Other Builtins): Add new builtins.
1175 * doc/md.texi (Standard Names): Add new patterns.
2928cd7a 1176
112f7223
UW
11772003-02-01 Ulrich Weigand <uweigand@de.ibm.com>
1178
1179 * reload.c: Revert 2003-01-31 change.
1180
434c87d4
JH
1181Sat Feb 1 14:14:40 CET 2003 Jan Hubicka <jh@suse.cz>
1182
1183 * combine.c (combine_simplify_rtx): Use reversed_comparison_code_parts.
1184
271bd540
RS
11852003-02-01 Richard Sandiford <rsandifo@redhat.com>
1186
1187 * flags.h (flag_volatile): Remove declaration.
1188 (flag_volatile_global, flag_volatile_static): Likewise.
1189 * c-typeck.c (build_indirect_ref): Don't check flag_volatile.
1190 * toplev.c (flag_volatile): Remove definition.
1191 (flag_volatile_global, flag_volatile_static): Likewise.
1192 (f_options): Remove corresponding entries here.
1193 * varasm.c (make_decl_rtl): Don't check flag_volatile_global
1194 or flag_volatile_static.
1195 * doc/invoke.texi: Remove documentation of -fvolatile,
1196 -fvolatile-global and -fvolatile-static.
1197
17e6098e
JDA
11982003-01-31 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1199
1200 * pa.c (pa_output_function_prologue, pa_output_function_epilogue): Move
1201 updating of total_code_bytes from prologue to epilogue.
1202
2f278625
UW
12032003-01-31 Ulrich Weigand <uweigand@de.ibm.com>
1204
1205 * reload.c (find_reloads): Do not use the mode specified in the insn
1206 pattern as reload mode for address operands. Do not generate optional
1207 reloads for operands where a mandatory reload was already pushed.
1208 Generate optional reloads only in the final pass though find_reloads.
1209 (have_replacement_p): New function.
1210
05c425a9
GP
12112003-01-31 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
1212
1213 * doc/install.texi (Testing): Remove a reference to our obsolete
1214 /testresults web pages and strip redundant information concerning
1215 test results.
1216 (Binaries): Refer to Microsoft Windows instead of listing all
1217 possible variants.
1218
b0c42aed
JH
1219Sat Feb 1 00:28:30 CET 2003 Jan Hubicka <jh@suse.cz>
1220
1221 * loop.c (emit_prefetch_instructions): Do conversion at right place in
1222 RTL chain.
1223
1224 * combine.c (simplify_set): Reverse order of ragumetns to
1225 REG_CANNOT_CHANGE_MODE_P
1226 * df.c (df_def_record_1): Likewise.
1227 * recog.c (register_operand): Likewise.
1228 * simplify-rtx.c (simplify_subreg): Likewise.
1229 * hard-reg-set.h (REG_CANNOT_CHANGE_MODE_P): Update use of
1230 CANNOT_CHANGE_MODE_CLASS.
1231 * regclass.c (cannot_change_mode_set_regs, invalid_mode_change_p):
1232 Likewise.
1233 * reload.c (push_reload): Likewise.
1234 * alpha.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
1235 * ia64.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
1236 * mips.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
1237 * mips-protos.h (mips_cannot_change_mode_class): Update prototype.
1238 * mips.c (mips_cannot_change_mode_class): Update.
1239 * pa64-regs.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
1240 * rs6000.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
1241 * s390.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
1242 * sh.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
1243 * sh-protos.h (sh_cannot_change_mode_class): Update prototype.
1244 * sh.c (sh_cannot_change_mode_class): Update.
1245 * i386.h (CANNOT_CHANGE_MODE_CLASS): New.
1246 * tm.texi (CANNOT_CHANGE_MODE_CLASS): Update documentation.
1247
1f61a15d
GK
12482003-01-31 Geoffrey Keating <geoffk@apple.com>
1249
1250 * config/darwin.h (LINK_COMMAND_SPEC): Update for Nathan's recent
1251 change to LINK_COMMAND_SPEC in gcc.c.
1252
7c712dcc
LR
12532003-01-31 Jan Hubicka <jh@suse.cz>
1254
1255 PR c/9506
1256 * i386.c (override_options): Use DEFAULT_PCC_STRUCT_RETURN.
1257
e137391e
JDA
12582003-01-31 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1259
1260 * pa32-regs.h (REGNO_REG_CLASS, REG_CLASS_FROM_LETTER): Delete
1261 duplicated code.
1262
1824b90d
NS
12632003-01-31 Nathan Sidwell <nathan@codesourcery.com>
1264
1265 * tree.h (TYPE_BINFO_SIZE, TYPE_BINFO_SIZE_UNIT): Remove.
1266 (BINFO_ELTS): New #define.
1267 * stor-layout.c (finalize_record_size): Don't set them.
1268 * cp/cp-tree.h (BINFO_SUBVTT_INDEX, BINFO_VPTR_INDEX,
1269 BINFO_PRIMARY_BASE_OF): Use BINFO_ELTS.
1270 (BINFO_LANG_ELTS): New #define.
1271 * cp/tree.c (make_binfo): Use BINFO_LANG_ELTS.
1272 * java/class.c (make_class): Use BINFO_ELTS.
1273 (set_super_info): Likewse.
1274 (add_interface_do): Likewise.
1275 * objc/objc-act.c (start_class): Use BINFO_ELTS.
1276
8f9a402c
DS
12772003-01-31 Danny Smith <dannysmith@users.sourceforge.net>
1278
1279 * timevar.c (getrusage): Don't ever declare if not HAVE_GETRUSAGE.
1280 (times): Don't ever declare if not HAVE_TIMES.
1281 (clock): Don't ever declare if not HAVE_CLOCK.
1282
cdd1f01b
RH
12832003-01-30 Richard Henderson <rth@redhat.com>
1284
1285 * flow.c (update_life_info): Zap life info after cleanup_cfg.
1286 (regno_uninitialized): Use correct live at function entry set.
1287 (regno_clobbered_at_setjmp): Likewise.
1288
1289 * expr.c (store_expr): Promote all MEM intermediates to regs.
1290
6bc82793
KH
12912003-01-30 Kazu Hirata <kazu@cs.umass.edu>
1292
1293 * config/arm/arm.c: Fix comment typos.
1294 * config/arm/arm.h: Likewise.
1295 * config/arm/netbsd-elf.h: Likewise.
1296 * config/arm/netbsd.h: Likewise.
1297
f099d360
GK
12982003-01-30 Geoffrey Keating <geoffk@apple.com>
1299
1300 * gengtype.c (struct walk_type_data): Add needs_cast_p.
1301 (walk_type): Set needs_cast_p in walk_type_data.
1302 (write_types_process_field): Supply casts when required to suppress
1303 warnings.
1304 (write_root): Cast gt_pch_n_S to suppress warning.
1305 * Makefile.in: Remove -Wno-error from gtype-desc.o and c-decl.o.
f099d360
GK
1306 * config/rs6000/rs6000.c (print_operand): Mask off high bits only
1307 when they might exist.
1308 * config/rs6000/t-rs6000: Remove -Wno-error from varasm.o,
1309 insn-conditions.o, and rs6000.o.
1310
52895e1a
RH
13112003-01-30 Richard Henderson <rth@redhat.com>
1312
1313 * ggc-page.c (G.context_depth_allocations): New.
1314 (G.context_depth_collections): New.
1315 (alloc_page): Set G.context_depth_allocations.
1316 (ggc_collect): Set G.context_depth_collections.
1317 (ggc_push_context): Limit to HOST_BITS_PER_LONG contexts.
1318 (ggc_pop_context): Early exit for no allocations or collections.
1319
c35c7e52
RH
13202003-01-30 Richard Henderson <rth@redhat.com>
1321
1322 * tree-inline.c (walk_tree): Streamline duplicate hash table lookup.
1323
e43dd89d
RE
13242003-01-30 Richard Earnshaw <rearnsha@arm.com>
1325
1326 * arm.c (arm_compute_initial_elimination_offset): If optimizing for
1327 size, the link register is always saved if any other register is
1328 saved.
1329
87a902e4
KH
13302003-01-30 Kazu Hirata <kazu@cs.umass.edu>
1331
1332 * config/h8300/h8300-protos.h: Update the prototype for
1333 compute_plussi_cc.
1334 (cpp_reader): Declare before it is used.
1335 * config/h8300/h8300.c (compute_plussi_cc): Change the return
1336 type to int.
1337 * config/h8300/h8300.md (monitor_prologue): Call abort() if we
1338 see an unknown H8 variant.
1339
13402003-01-30 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
0186a143 1341
ff6e2d3e 1342 PR target/9316
0186a143
RC
1343 * config/rs6000/rtems.h: Add CPP_OS_DEFAULT_SPEC.
1344 * config/rs6000/sysv4.h: Add CPP_OS_RTEMS_SPEC.
1345 * config/rs6000/t-rtems: New file. multilib variants to match OS.
1346 * config.gcc (powerpc-*-rtems*): Use rs6000/t-rtems instead of
1347 rs6000/t-ppcgas so we get the desired multilibs.
1348
f55d7103
NC
13492003-01-30 Nick Clifton <nickc@redhat.com>
1350
1351 * config/arm/arm.c (arm_output_epilogue): Update stack pointer
1352 when popping saved IP register off the stack.
1353
b6d08ca1
KH
13542003-01-30 Kazu Hirata <kazu@cs.umass.edu>
1355
1356 * config/rs6000/aix43.h: Fix comment typos.
1357 * config/rs6000/aix51.h: Likewise.
1358 * config/rs6000/aix52.h: Likewise.
1359 * config/rs6000/altivec.h: Likewise.
1360 * config/rs6000/rs6000.c: Likewise.
1361 * config/rs6000/rs6000.h: Likewise.
1362 * config/rs6000/rs6000.md: Likewise.
1363 * config/rs6000/spe.md: Likewise.
1364
14d22dd6
MM
13652003-01-29 Mark Mitchell <mark@codesourcery.com>
1366
1367 * c-common.c (builtin_define_float_constants): Define
1368 __<TYPE>_HAS_INFINITY__ and __<TYPE>_HAS_QUIET_NAN__.
1369
825db093
KH
13702003-01-30 Kazu Hirata <kazu@cs.umass.edu>
1371
1372 * config/sh/lib1funcs.asm: Fix comment typos.
1373 * config/sh/linux.h: Likewise.
1374 * config/sh/sh.c: Likewise.
1375 * config/sh/sh.md: Likewise.
1376
f1d5271a
LR
13772003-01-30 Loren James Rittle <ljrittle@acm.org>
1378
1379 * objc/Make-lang.in (objc-parse.y): Find c-parse.in in $(srcdir).
1380
266a9ef1
AO
13812003-01-30 Alexandre Oliva <aoliva@redhat.com>
1382
1383 * config/fp-bit.h (__make_dp): Declare if TMODES.
1384
0889116d
KH
13852003-01-29 Kazu Hirata <kazu@cs.umass.edu>
1386
1387 * config/h8300/h8300.h (PREDICATE_CODES): Add entries for
1388 general_operand_src and general_operand_dst.
1389
c8c99a68
DE
13902003-01-29 David Edelsohn <edelsohn@gnu.org>
1391
1392 * config/rs6000/rs6000.c (function_arg_pass_by_reference):
1393 Return true for variable sized types.
1394 (rs6000_va_arg): Handle variable sized types passed by reference
1395 on non-SVR4 ABI.
1396
ccf4d512
RE
13972003-01-29 Richard Earnshaw <rearnsha@arm.com>
1398
1399 * arm.c (arm_legtimize_address): New function.
1400 * arm-protos.h (arm_legtimize_address): Add prototype.
1401 * arm.h (ARM_LEGITIMIZE_ADDRESS): Use arm_legitimize_address.
1402 (LEGITIMIZE_ADDRESS, THUMB_LEGITIMIZE_ADDRESS): Wrap with
1403 do ... while (0)
1404
0889116d 14052003-01-29 Joel Sherrill <joel@OARcorp.com>
0680c8fb 1406
7429b411 1407 PR bootstrap/9296
0680c8fb 1408 * gthr-rtems.h: Define __GTHREAD_MUTEX_INIT. Apparently no code
7429b411 1409 depended on it being defined until now.
0680c8fb 1410
7429b411 14112003-01-29 Joel Sherrill <joel@OARcorp.com>
c934274a 1412
7429b411 1413 PR target/9295
c934274a
JS
1414 * config/mips/rtems.h: Predefine __USE_INIT_FINI__ so generic
1415 RTEMS code knows which C++ initialization style the toolset
7429b411 1416 configuration is using.
c934274a 1417
0889116d 14182003-01-29 Joel Sherrill <joel@OARcorp.com>
2e327e6e 1419
7429b411 1420 PR bootstrap/9293
ff6e2d3e 1421 * config/m68k/t-crtstuff: Replace spaces with tabs, add
2e327e6e 1422 $(MULTILIB_CFLAGS) as compiler option and multilib crtbegin/end.o.
2e327e6e 1423
0889116d 14242003-01-29 Joel Sherrill <joel@OARcorp.com>
64abe03e 1425
7429b411 1426 PR bootstrap/9292
64abe03e
JS
1427 * config.gcc (hppa1.1-rtems): Did not include t-rtems nor enable
1428 RTEMS threads.
1429 * config/pa/rtems.h (LIB_SPEC): Use -N when linking.
64abe03e 1430
2f12fb2b
NC
14312003-01-29 Nick Clifton <nickc@redhat.com>
1432
1433 * Makefile.in (c-parse.o): Locate source file in $(parsedir)
1434 not $(srcdir).
1435
cf0150b9
AH
14362003-01-29 Andrew Haley <aph@redhat.com>
1437
1438 * tree-inline.c (walk_tree): Add CHAR_TYPE.
1439
9b74f3ea
JH
1440Wed Jan 29 10:26:12 CET 2003 Jan Hubicka <jh@suse.cz>
1441
1442 * i386.md (subdi3_carry_rex64): Fix typo.
1443
e150159c
SS
14442003-01-28 Stan Shebs <shebs@apple.com>
1445
1446 * coretypes.h (cpp_reader): Forward declare struct.
1447 * c-pragma.h (cpp_reader): Remove forward declaration.
1448 * hashtable.h (cpp_reader): Likewise.
1449 * scan.h (cpp_reader): Likewise.
1450 * tree.h (cpp_reader): Likewise.
1451 * config/darwin-protos.h (cpp_reader): Likewise.
1452 * config/arm/arm-protos.h (cpp_reader): Likewise.
1453 * config/rs6000/rs6000-protos.h: Remove GCC_CPPLIB_H ifdef, use
1454 struct cpp_reader in prototypes.
1455
53b50ac1
CC
14562003-01-28 Christian Cornelssen <ccorn@cs.tu-berlin.de>
1457
1458 * doc/install.texi: Add documentation for installation into
1459 tooldirs and with DESTDIR.
1460
021aa6ed
RH
14612003-01-28 Richard Henderson <rth@redhat.com>
1462
1463 * config.gcc (ia64*-*-aix*): Remove.
1464 * config/ia64/aix.h, config/ia64/t-aix: Remove file.
1465 * config/ia64/unwind-aix.c: Remove file.
1466
c1c1d123
AS
14672003-01-28 Andreas Schwab <schwab@suse.de>
1468
ff6e2d3e
RB
1469 * config/m68k/m68k.md (tablejump+2): Don't sign extend an address
1470 register.
1471 * config/m68k/apollo68.h (ASM_RETURN_CASE_JUMP): Likewise.
1472 * config/m68k/coff.h (ASM_RETURN_CASE_JUMP): Likewise.
1473 * config/m68k/linux.h (ASM_RETURN_CASE_JUMP): Likewise.
1474 * config/m68k/m68kelf.h (ASM_RETURN_CASE_JUMP): Likewise.
1475 * config/m68k/mot3300.h (ASM_RETURN_CASE_JUMP): Likewise.
1476 * config/m68k/netbsd-elf.h (ASM_RETURN_CASE_JUMP): Likewise.
1477 * config/m68k/pbb.h (ASM_RETURN_CASE_JUMP): Likewise.
c1c1d123 1478
6d09ef27
RS
14792003-01-28 Richard Sandiford <rsandifo@redhat.com>
1480
1481 * combine.c (nonzero_bits): Fix check for negative divide operands.
1482
1e1bd14e
RH
14832003-01-28 Richard Henderson <rth@redhat.com>
1484
1485 * config/ia64/ia64.c (ia64_rwreloc_section_type_flags): New.
1486 * config/ia64/hpux.h (TARGET_SECTION_TYPE_FLAGS): New.
1487
e37135f7
RH
14882003-01-28 Richard Henderson <rth@redhat.com>
1489
1490 * cse.c (find_best_addr): Kill !ADDRESS_COST code.
1491
75642f32
RH
1492 * config/cris/cris.c (cris_address_cost): Make static.
1493 (TARGET_RTX_COSTS, TARGET_ADDRESS_COST): New.
1494 * config/cris/cris.h (ADDRESS_COST): Remove.
1495 * config/cris/cris-protos.h: Update.
1496
e37135f7 14972003-01-23 Mike Stump <mrs@apple.com>
1f80c9ef
MS
1498
1499 * regclass.c (init_reg_autoinc): New function.
1500 (regclass): Move initialization of forbidden_inc_dec_class from
1501 here...
1502 (init_regs): to here. Avoids reinitialization for each function,
1503 saving compilation time.
1504
9fbd3e41
JM
15052003-01-28 Jason Merrill <jason@redhat.com>
1506
1507 * cpplib.h (struct cpp_options): Add warn_deprecated field.
1508 * cppinit.c (cpp_create_reader): Turn it on by default.
1509 * c-opts.c (c_common_decode_option): Set it.
1510 * cpplib.c (do_pragma_once): Only complain about #pragma once
1511 if warn_deprecated is set.
1512
fe352c29 15132003-01-28 Dale Johannesen <dalej@apple.com>
9fbd3e41 1514
1e1bd14e
RH
1515 * emit-rtl.c (const_double_htab_hash): Use mode in the hash.
1516 * loop.c (scan_loop): Move movables on -Os rich-register targets.
1517 * config/rs6000/rs6000.md (sibcall*): Use match_operand for LR.
fe352c29 1518
dcefdf67
RH
15192003-01-28 Richard Henderson <rth@redhat.com>
1520
1521 * target.h (targetm.address_cost): New.
1522 * target-def.h (TARGET_ADDRESS_COST): New.
1523 (TARGET_RTX_COSTS): Uncomment. Oops.
1524 * cse.c (address_cost): Use new target hook.
1525 (default_address_cost): New.
1526 * output.h (default_address_cost): Declare.
1527 * hooks.c (hook_int_rtx_0): New.
1528 * hooks.h (hook_int_rtx_0): Declare.
1529 * loop.c (combine_givs_p): Remove if 0 code.
1530 * system.h (ADDRESS_COST): Poison.
1531
1532 * config/alpha/alpha.c, config/alpha/alpha.h, config/d30v/d30v.c,
1533 config/d30v/d30v.h, config/ia64/ia64.c, config/ia64/ia64.h,
1534 config/m32r/m32r.c, config/m32r/m32r.h, config/mcore/mcore.c,
1535 config/mcore/mcore.h, config/mmix/mmix.c, config/mmix/mmix.h,
1536 config/rs6000/rs6000.c, config/rs6000/rs6000.h, config/sparc/sparc.c,
1537 config/sparc/sparc.h, config/v850/v850.c, config/v850/v850.h,
1538 config/xtensa/xtensa.c, config/xtensa/xtensa.h
1539 (TARGET_ADDRESS_COST): Define as hook_int_rtx_0.
1540 (ADDRESS_COST): Remove.
1541
1542 * config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h,
1543 config/avr/avr-protos.h, config/avr/avr.c, config/avr/avr.h,
1544 config/c4x/c4x-protos.h, config/c4x/c4x.c, config/c4x/c4x.h,
1545 config/dsp16xx/dsp16xx-protos.h, config/dsp16xx/dsp16xx.c,
1546 config/dsp16xx/dsp16xx.h, config/i386/i386-protos.h,
1547 config/i386/i386.c, config/i386/i386.h, config/i960/i960-protos.h,
1548 config/i960/i960.c, config/i960/i960.h, config/ip2k/ip2k-protos.h,
1549 config/ip2k/ip2k.c, config/ip2k/ip2k.h, config/mips/mips-protos.h,
ff6e2d3e 1550 config/mips/mips.c, config/mips/mips.h,
dcefdf67 1551 config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c,
ff6e2d3e 1552 config/m68hc11/m68hc11.h, config/ns32k/ns32k-protos.h,
dcefdf67
RH
1553 config/ns32k/ns32k.c, config/ns32k/ns32k.h, config/pa/pa-protos.h,
1554 config/pa/pa.c, config/pa/pa.h, config/s390/s390-protos.h,
1555 config/s390/s390.c, config/s390/s390.h, config/vax/vax-protos.h,
1556 config/vax/vax.c, config/vax/vax.h
1557 (foo_address_cost): Make static.
1558 (TARGET_ADDRESS_COST): New.
1559 (ADDRESS_COST): Remove.
1560
1561 * config/arm/arm.h, config/arm/arm.c, config/m88k/m88k.h,
1562 config/m88k/m88k.c, config/romp/romp.h, config/romp/romp.c,
1563 config/sh/sh.c, config/sh/sh.h, config/stormy16/stormy16.c,
1564 config/stormy16/stormy16.h
1565 (ADDRESS_COST): Move code ...
1566 (foo_address_cost): ... here.
1567 (TARGET_ADDRESS_COST): New.
1568
1569 * config/m32r/m32r.c (m32r_address_cost): Remove.
1570 * config/m32r/m32r-protos.h: Update.
1571
1572 * config/mmix/mmix.c (mmix_address_cost): Remove.
1573 * config/mmix/mmix-protos.h: Update.
1574
1575 * config/mn10300/mn10300.c (mn10300_address_cost_1): Rename from
1576 mn10300_address_cost; move unsig allocation ...
1577 (mn10300_address_cost): ... here.
1578 (TARGET_ADDRESS_COST): New.
1579 * config/mn10300/mn10300-protos.h: Update.
1580 * config/mn10300/mn10300.h (ADDRESS_COST): Remove.
1581
75642f32
RH
1582 * doc/tm.texi: Update.
1583
58fb7809
VM
15842003-01-28 Vladimir Makarov <vmakarov@redhat.com>
1585
1586 * haifa-sched.c (schedule_insn): Return necessary cycle advance
1587 after issuing the insn.
1588 (rank_for_schedule): Make a insn with /S the highest priority
1589 insn.
1590 (move_insn): Ignore schedule groups. Clear SCHED_GROUP_P.
1591 (choose_ready): Check SCHED_GROUP_P.
1592 (schedule_block): Advance cycle after issuing insn if it is
1593 necessary. Don't reorder insns if there is an insn with /S.
1594 (set_priorities): Ignore schedule groups.
1595
1596 * sched-deps.c (remove_dependence, group_leader): Remove the
1597 functions.
1598 (add_dependence): Ignore schedule groups.
1599 (set_sched_group_p): Don't make copy of dependencies from previous
1600 insn of the schedule group. Add anti-dependency to the previous
1601 insn of the schedule group.
1602 (compute_forward_dependences): Ignore schedule groups.
1603
1604 * sched-ebb.c (init_ready_list): Ignore schedule groups.
1605
1606 * sched-rgn.c (init_ready_list): Ditto.
1607 (can_schedule_ready_p): Ditto.
ff6e2d3e 1608
371c988b
VM
16092003-01-28 Vladimir Makarov <vmakarov@redhat.com>
1610
1611 * config/i386/i386.md (*movsi_1): Use movdqa to move one xmm
1612 register to another one.
1613
40cdfd5a
RH
16142003-01-28 Richard Henderson <rth@redhat.com>
1615
1616 * calls.c (default_must_pass_in_stack): Fix typo in !type case.
1617
a77b7e32
RS
16182003-01-28 Roger Sayle <roger@eyesopen.com>
1619
1620 * cse.c (cse_insn): Avoid redundant REG_EQUAL notes.
1621
3620944c
RS
16222003-01-28 Richard Sandiford <rsandifo@redhat.com>
1623
1624 * config/sh/sh.h (CLASS_MAX_NREGS): If TARGET_SHMEDIA, and the given
1625 class contains a floating-point register, return the size of the
1626 mode in half words.
1627
e6e81735
JH
1628Tue Jan 28 12:15:13 CET 2003 Jan Hubicka <jh@suse.cz>
1629
1630 * i386.c (ix86_carry_flag_operator): New predicate.
1631 (fcmov_operator): Fix whitespace.
1632 (ix86_expand_carry_flag_compare): Deal with floating point.
1633 (ix86_expand_int_movcc): Deal with fp; update insn expansion
1634 (ix86_expand_int_addcc): Likewise.
1635 (ix86_expand_strlensi_unroll_1): likewsie.
1636 * i386.h (PREDICATE_CODES): Add ix86_carry_flag_operator.
1637 * i386.md (add?i_carry_rex64): Use new predicate.
1638 (sub?i3_carry_rex64): Likewise.
1639 (x86_mov?icc_0_m1*): Likewise.
1640
43196589
AS
16412003-01-28 Andreas Schwab <schwab@suse.de>
1642
32214c32
AS
1643 * cfgloopmanip.c (create_preheader): Initialize src to avoid
1644 warning.
1645
1646 * expmed.c (emit_store_flag): Fix cast to avoid sign
1647 comparison warning.
1648
43196589
AS
1649 * combine.c (force_to_mode): Add cast to fix warning when
1650 STORE_FLAG_VALUE is negative.
1651
3c50106f
RH
16522003-01-27 Richard Henderson <rth@redhat.com>
1653
1654 * Makefile.in (cse.o): Depend on TARGET_H.
1655 * cse.c (rtx_cost): Use targetm.rtx_costs.
1656 * system.h (CONST_COSTS RTX_COSTS DEFAULT_RTX_COSTS): Poison.
1657 * doc/tm.texi: Update.
ff6e2d3e 1658
3c50106f
RH
1659 * target.h (targetm.rtx_costs): New.
1660 * target-def.h (TARGET_RTX_COSTS): New.
1661 * hooks.c (hook_bool_rtx_int_int_intp_false): New.
1662 * hooks.h: Update.
1663
1664 * config/alpha/alpha.c (alpha_rtx_cost_data): New.
1665 (alpha_rtx_costs, TARGET_RTX_COSTS): New.
1666 * config/alpha/alpha.h (PROCESSOR_MAX): New.
1667 (CONST_COSTS, RTX_COSTS): Remove.
1668
1669 * config/arc/arc.c, config/arc/arc.h, config/c4x/c4x.c,
1670 config/c4x/c4x.h, config/cris/cris.c, config/cris/cris.h,
1671 config/d30v/d30v.c, config/d30v/d30v.h, config/dsp16xx/dsp16xx.c,
1672 config/dsp16xx/dsp16xx.h, config/frv/frv.c, config/frv/frv.h,
1673 config/h8300/h8300.c, config/h8300/h8300.h, config/i370/i370.c,
1674 config/i370/i370.h, config/i386/i386.c, config/i386/i386.h,
1675 config/i960/i960.c, config/i960/i960.h, config/ia64/ia64.c,
1676 config/ia64/ia64.h, config/m32r/m32r.c, config/m32r/m32r.h,
1677 config/m68k/m68k.c, config/m68k/m68k.h, config/m88k/m88k.c,
1678 config/m88k/m88k.h, config/mcore/mcore.c, config/mcore/mcore.h,
1679 config/mips/mips.c, config/mips/mips.h, config/mn10200/mn10200.c,
1680 config/mn10200/mn10200.h, config/mn10300/mn10300.c,
1681 config/mn10300/mn10300.h, config/ns32k/ns32k.c, config/ns32k/ns32k.h,
1682 config/pa/pa.c, config/pa/pa.h, config/pdp11/pdp11.c,
1683 config/pdp11/pdp11.h, config/romp/romp.c, config/romp/romp.h,
1684 config/rs6000/rs6000.c, config/rs6000/rs6000.h, config/s390/s390.c,
1685 config/s390/s390.h, config/sh/sh.c, config/sh/sh.h,
1686 config/stormy16/stormy16.c, config/stormy16/stormy16.h,
1687 config/v850/v850.c, config/v850/v850.h,
1688 config/xtensa/xtensa.c, config/xtensa/xtensa.h
1689 (CONST_COSTS, RTX_COSTS): Move code ...
1690 (foo_rtx_costs, TARGET_RTX_COSTS): ... here.
1691
1692 * config/arm/arm.c (arm_rtx_costs_1): Rename from arm_rtx_costs.
1693 (arm_rtx_costs, TARGET_RTX_COSTS): New.
1694 * config/arm/arm-protos.h: Update.
1695 * config/arm/arm.h (DEFAULT_RTX_COSTS): Remove.
1696
1697 * config/avr/avr.h (CONST_COSTS): Move code ...
1698 * config/avr/avr.c (avr_rtx_costs): ... here.
1699 (default_rtx_costs): Make static.
1700 * config/avr/avr-protos.h: Update.
1701
1702 * config/h8300/h8300.c (const_costs): Make static.
1703 (h8300_and_costs, h8300_shift_costs): Likewise.
1704 * config/h8300/h8300-protos.h: Update.
1705
1706 * config/ip2k/ip2k.h (DEFAULT_RTX_COSTS): Remove.
1707 (CONST_COSTS): Move code ...
1708 * config/ip2k/ip2k.c (ip2k_rtx_costs): ... here. Rename from
1709 default_rtx_costs; update for signature change.
1710 * config/ip2k/ip2k-protos.h: Update.
1711
1712 * config/m68hc11/m68hc11.h (RTX_COSTS): Remove.
1713 (CONST_COSTS): Move code ...
1714 * config/m68hc11/m68hc11.c (m68hc11_rtx_costs): ... here.
1715 (TARGET_RTX_COSTS): New.
1716 (m68hc11_rtx_costs_1): Rename from m68hc11_rtx_costs; make static.
1717 * config/m68hc11/m68hc11-protos.h: Update.
1718
1719 * config/m68k/m68k.c (const_int_cost): Make static.
1720 * config/m68k/m68k-protos.h: Update.
1721
1722 * config/mcore/mcore.c (mcore_const_costs): Make static.
1723 (mcore_and_cost, mcore_ior_cost): Likewise.
1724 * config/mcore/mcore-protos.h: Update.
1725
1726 * config/mmix/mmix.c (mmix_rtx_costs, TARGET_RTX_COSTS): New.
1727 (mmix_rtx_cost_recalculated): Remove.
1728 * config/mmix/mmix.h (DEFAULT_RTX_COSTS): Remove.
1729 * config/mmix/mmix-protos.h: Update.
1730
1731 * config/sh/sh.c (shiftcosts): Make static.
1732 (addsubcosts, andcosts, multcosts): Likewise.
1733 * config/sh/sh-protos.h: Update.
1734
1735 * config/sparc/sparc.c (TARGET_RTX_COSTS): New.
1736 (sparc_rtx_costs): Make static; update for change in signature.
1737 * config/sparc/sparc.h (RTX_COSTS_CASES, RTX_COSTS): Remove.
1738 * config/sparc/sparc-protos.h: Update.
1739
1740 * config/v850/v850.c (const_costs): Make static.
1741 * config/v850/v850-protos.h: Update.
1742
1743 * config/vax/vax.h (RTX_COSTS): Remove.
1744 (CONST_COSTS): Move code ...
1745 * config/vax/vax.c (vax_rtx_costs_1): ... here; rename
1746 from vax_rtx_cost.
1747 (vax_rtx_costs, TARGET_RTX_COSTS): New.
1748
b9962e0a
RH
17492003-01-27 Richard Henderson <rth@redhat.com>
1750
1751 * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Remove. Really.
5ca98980 1752 * config/vax/vax-protos.h: Update. Really.
b9962e0a 1753
8a381273
AO
17542003-01-28 Alexandre Oliva <aoliva@redhat.com>
1755
1756 * config/mips/mips.h (UNITS_PER_HWFPVALUE): Renamed from...
1757 (UNITS_PER_FPVALUE): Defined as the width of a long double, or
1758 zero if no hardware floating point.
1759 (LONG_DUBLE_TYPE_SIZE): Set to 128 on N32 and N64.
1760 (MAX_FIXED_MODE_SIZE): Define to LONG_DOUBLE_TYPE_SIZE.
1761 (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define.
1762 (BIGGEST_ALIGNMENT): Same as LONG_DOUBLE_TYPE_SIZE.
1763 (FUNCTION_VALUE_REGNO_P): Set for FP_RETURN+2 on N32 and N64.
1764 * config/mips/mips.c (mips_arg_info): Pass TFmode values in
1765 even FP registers on N32 and N64.
1766 (mips_setup_incoming_varargs): Use UNITS_PER_HWFPVALUE.
1767 (mips_va_start): Adjust alignment of ARG_POINTER_REGNUM.
1768 (mips_va_arg): Use UNITS_PER_HWFPVALUE. Impose additional
1769 even-register-like alignment to 128-bit arguments.
1770 (save_restore_insns): Use UNITS_PER_HWFPVALUE.
1771 (mips_function_value): Likewise. Return TFmode in $f0 and $f2
1772 on N32 or N64.
1773 * config/mips/_tilib.c (__negti2, __ashlti3, __lshrti3): New.
1774 * config/mips/t-iris6 (LIB2FUNCS_EXTRA): Add _tilib.c.
1775 (TPBIT): Set to tp-bit.c.
1776 (tp-bit.c): Create out of fp-bit.c.
1777
820e01be
GDR
17782003-01-28 Gabriel Dos Reis <gdr@integrable-solutions.net>
1779
1780 * c-parse.in: Remove '%expect 32' directive in objc mode.
1781
23af32e6
NS
17822003-01-27 Nathan Sidwell <nathan@codesourcery.com>
1783
1784 * Makefile.in (LIB2FUNCS_ST): Remove _gcov.
1785 (LIBGCOV): New variable.
1786 (libgcc.mk): Add LIBGCOV.
1787 (LIBGCC_DEPS): Add libgcov.c.
1788 (libgcov.a): New target.
1789 (clean): Remove libgcov.a.
1790 (install-libgcc): Do libgcov too.
1791 (stage1-start, stage2-start, stage3-start, stage4-start): Deal
1792 with libgcov.a.
1793 * libgcc2.c (L_gcov): Move into ...
1794 * libgcov.c: ... here. New file.
1795 * mklibgcc.in: Add libgcov rules.
1796 * gcc.c (LINK_COMMAND_SPEC): Add -lgcov when profiling.
1797
1798 * doc/invoke.texi (profile-arcs, test-coverage): Update and
1799 clarify.
ff6e2d3e 1800
23af32e6
NS
1801 * profile.c (index_counts_file): Remove duplicate check for open file.
1802
9fe42917 18032003-01-27 Jerry Quinn <jlquinn@optonline.net>
d4463dfc
JQ
1804
1805 * gcc/doc/invoke.texi (Optimization Options): Group together
1806 optional and experimental flags. Move trapv and bounds-check
95fcd0ab 1807 out of this section. Group floating point flags together.
d4463dfc
JQ
1808 (Code Gen Options): Move trapv and bounds-check to here.
1809
244d05fb
JZ
18102003-01-27 Josef Zlomek <zlomekj@suse.cz>
1811
1812 * gcse.c (constprop_register): Check NEXT_INSN (insn) != NULL.
1813
c552c146
RE
18142003-01-27 Richard Earnshaw <rearnsha@arm.com>
1815
1816 PR optimization/9090
1817 * function.c (purge_addressof_1): After pushing an addressed register
1818 onto the stack, simplify the result.
1819
90a21764
VR
18202003-01-27 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
1821
1822 * doc/extend.texi: Fix typo.
1823
9a376494
VR
18242003-01-27 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
1825
1826 * doc/cppopts.texi: Fix typo.
1827 * doc/objc.texi: Likewise.
1828 * doc/passes.texi: Likewise.
1829
f004e5f3
AO
18302003-01-27 Alexandre Oliva <aoliva@redhat.com>
1831
1832 * real.c (ibm_extended_format): Add 53 to minimum exponent.
1833 (encode_ibm_extended): Adjust.
1834
58c60e52
GDR
18352003-01-26 Gabriel Dos Reis <gdr@soliton.integrable-solutions.net>
1836
1837 * timevar.def (TV_OVERLOAD, TV_TEMPLATE_INSTANTIATION): New
1838 timevar_id enumerations.
1839
e869aa39
KH
18402003-01-26 Kazu Hirata <kazu@cs.umass.edu>
1841
1842 * combine.c: Fix formatting.
1843
74fb4811
KH
18442003-01-26 Kazu Hirata <kazu@cs.umass.edu>
1845
1846 * doc/gccint.texi: Update the copyright.
1847
3bcf1b13
KH
18482003-01-26 Kazu Hirata <kazu@cs.umass.edu>
1849
1850 * doc/cpp.texi: Fix typos.
1851 * doc/extend.texi: Likewise.
1852 * doc/gty.texi: Likewise.
1853 * doc/install.texi: Likewise.
1854 * doc/passes.texi: Likewise.
1855 * doc/rtl.texi: Likewise.
1856 * doc/tm.texi: Likewise.
1857
9e4f94de
KH
18582003-01-26 Kazu Hirata <kazu@cs.umass.edu>
1859
1860 * config/ia64/fde-glibc.c: Fix comment typos.
1861 * config/ia64/hpux.h: Likewise.
1862 * config/ia64/ia64.c: Likewise.
1863 * config/ia64/ia64.h: Likewise.
1864 * config/ia64/unwind-ia64.c: Likewise.
1865
4aae8a9a
KH
18662003-01-26 Kazu Hirata <kazu@cs.umass.edu>
1867
1868 * config/i386/i386-modes.def: Fix comment typos.
1869 * config/i386/i386.c: Likewise.
1870 * config/i386/i386.md: Likewise.
1871
35d8c8e2
SB
18722003-01-26 Steven Bosscher <s.bosscher@student.tudelft.nl>
1873
1874 * config/avr/avr.h, config/cris/aout.h, config/elfos.h,
1875 config/i386/freebsd-aout.h, config/mips/iris6.h: Undefine
1876 ASM_FINISH_DECLARE_OBJECT before defining it.
1877 * toplev.c (rest_of_decl_compilation): Don't define
1878 ASM_FINISH_DECLARE_OBJECT. Only use it if it is defined.
1879 (rest_of_type_compilation): Don't ATTRIBUTE_UNUSED function
1880 parameters for DWARF2 targets because they _are_ used.
1881
ea976606
AO
18822003-01-26 Alexandre Oliva <aoliva@redhat.com>
1883
b44cf3d9
AO
1884 * fp-bit.h: Define macros for TFmode floating-point constants
1885 in IBM-extended TFmode types.
1886 (TMODES): Define if __LDBL_MANT_DIG__ has the newly-supported
1887 widths.
1888 * config/fp-bit.c (pack_d, unpack_d): Support IBM-extended
1889 TFmode type.
1890
ea976606
AO
1891 * config/fp-bit.h: Define macros for TFmode floating-point
1892 constants in IEEE quad TFmode type. Declare functions according
1893 to L_ macros.
1894 (TMODES): Define if __LDBL_MANT_DIG__ is 113.
1895 (TFtype, TItype, UTItype): Define if TMODES is defined.
1896 (MAX_UDI_INT, MAX_DI_INT, BITS_PER_DI): Likewise.
1897 (F_T_BITOFF, D_T_BITOFF): Define.
1898 (IMPLICIT_1, IMPLICIT_2): Cast constants to types that are
1899 guaranteed to be wide enough.
1900 * config/fp-bit.c: Check for L_ macros for tf functions.
1901 (__thenan_tf): New.
1902 (nan): Adjust.
1903 (pack_d, unpack_d): Support IEEE 854 quad type.
1904 (_fpmul_parts): Support TFmode. Compute exponent adjustment
1905 from FRAC_NBITS, FRAC_BITS and NGARDS.
1906 (usi_to_float): Cast constants to be shifted to fractype
1907 instead of assuming long long is wide enough.
1908 (sf_to_tf, df_to_tf, __make_tp, tf_to_df, tf_to_sf): New.
1909
fd7fd61e
AJ
19102003-01-26 Andreas Jaeger <aj@suse.de>
1911
1912 * df.c: Remove prototype of unused function df_regno_rtl_debug.
1913
8ae91fc0
AO
19142003-01-26 Alexandre Oliva <aoliva@redhat.com>
1915
88e83acb
AO
1916 * Makefile.in (FPBIT_FUNCS): Added _sf_to_tf.
1917 (DBBIT_FUNCS): Added _df_to_tf.
1918 (TPBIT_FUNCS): New.
1919 (libgcc.mk): Pass TPBIT and TPBIT_FUNCS down.
1920 (LIBGCC_DEPS): Added TPBIT.
1921 * mklibgcc.in: Support TPBIT and TPBIT_FUNCS.
1922
2cd622c3
AO
1923 * optabs.c (expand_binop) <add, sub>: Return xtarget if we haven't
1924 been able to move the result to target.
1925
8ae91fc0
AO
1926 * expr.c (emit_group_store): Initialize dst with CONST0_RTX
1927 for the appropriate mode.
1928
c3297561
AO
1929 * calls.c (emit_library_call_value_1): Handle return values
1930 in a PARALLEL.
1931
187515f5
AO
1932 * rtl.c (get_mode_alignment): Moved to...
1933 * stor-layout.c: ... here.
1934
6ebd2ef4
AO
1935 * print-rtl.c (print_rtx): Don't print MEM details in
1936 GENERATOR_FILEs.
1937
7890e8f3
MH
19382003-01-26 Michael Hayes <mph@paradise.net.nz>
1939
1940 * df.h: Update comments, tidy formatting.
1941 (DF_FORWARD, DF_REVERSE, DF_UNION, DF_INTERSECTION): Rename from FORWARD,
1942 REVERSE, UNION, INTERSECTION. All uses updated.
1943 (OLD_DF_INTERFACE): Remove.
1944 (struct insn_info): Remove commented out insn field.
1945 * df.c: Update comments, tidy formatting.
1946 (df_def_table_realloc): Remove.
1947
1948
b820d2b8
AM
19492003-01-26 Alan Modra <amodra@bigpond.net.au>
1950
1951 * calls.c (save_fixed_argument_area): Tidy.
1952 (restore_fixed_argument_area): Tidy. Set alignment of stack_area.
1953 (expand_call): Comment typo fixes. Don't init low_to_save. Start
1954 call chain loop at 1 if !try_tail_call. Formatting.
1955 (emit_library_call_value_1): Don't init low_to_save or high_to_save.
1956 Use save_fixed_argument_area and restore_fixed_argument_area.
1957
42510de4
MH
19582003-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
1959
1960 * df.c (df_uses_record): Handle CC0.
1961
acf9fa5f
UW
19622003-01-25 Ulrich Weigand <uweigand@de.ibm.com>
1963
1e1bd14e
RH
1964 * reload.c (maybe_memory_address_p): New function.
1965 (find_reloads_address): Use it instead of memory_address_p.
acf9fa5f 1966
5a09edba
KK
19672003-01-25 Kaz Kojima <kkojima@gcc.gnu.org>
1968
1969 * final.c (shorten_branches): Align the address of code label
1e1bd14e 1970 when computing initial lengths and addresses.
5a09edba 1971
f5818c0c
KH
19722003-01-25 Kazu Hirata <kazu@cs.umass.edu>
1973
1974 * config/m68hc11/m68hc11.md: Fix a comment typo.
1975
21ff35fb
AJ
19762003-01-25 Andreas Jaeger <aj@suse.de>
1977
1978 * config/i386/i386.c (x86_output_mi_thunk): Correct test for
1979 TARGET_MACHO.
1980
7821bfc7
RS
19812003-01-25 Roger Sayle <roger@eyesopen.com>
1982
1983 * gcse.c (bypass_last_basic_block): New global variable.
1984 (bypass_block): Use redirect_edge_and_branch_force to redirect
1985 fall-through edges. Use bypass_last_basic_block to determine
1986 which blocks have valid PRE information.
1987 (bypass_conditional_jumps): Initialize bypass_last_basic_block.
1988
5f0bea72
JH
1989Sat Jan 25 22:31:59 CET 2003 Jan Hubicka <jh@suse.cz>
1990
1991 * gcse.c (local_cprop_pass): Update reg_sets table when needed.
1992
1649d92f
JH
1993Sat Jan 25 21:04:33 CET 2003 Jan Hubicka <jh@suse.cz>
1994 Eric Botcazou <ebotcazou@libertysurf.fr>
1995 PR opt/8492
1996 * gcse.c (one_cprop_pass): Delete unreachable blocks.
1997
6ca86a1a
RH
19982003-01-25 Richard Henderson <rth@redhat.com>
1999
2000 * config/ia64/ia64.c (ia64_rwreloc_select_rtx_section): Rename
2001 from ia64_aix_select_rtx_section.
2002 (ia64_rwreloc_select_section): Simlarly; use default*_1 function
2003 instead of saving and restoring flag_pic.
2004 (ia64_rwreloc_unique_section): Similarly.
2005 * config/ia64/aix.h (TARGET_ASM_SELECT_SECTION,
2006 TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_RTX_SECTION): Update.
2007 * config/ia64/hpux.h (TARGET_ASM_SELECT_SECTION,
2008 TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_RTX_SECTION): New.
2009
aa2fb4dd
KH
20102003-01-25 Kazu Hirata <kazu@cs.umass.edu>
2011
2012 * config/h8300/h8300.c (h8300_shift_needs_scratch_p): Update a
2013 comment.
2014
1125849a
RH
20152002-01-25 Richard Henderson <rth@redhat.com>
2016
2017 * config/m68k/m68k-none.h (ASM_SPEC): Adjust inter-option spacing.
2018
3900a23b
KC
20192002-01-25 Kelley Cook <kelleycook@comcast.net>
2020
2021 * ggc-simple.c (debug_ggc_tree): Add PTR cast.
2022
72e42e26
SB
20232003-01-25 Segher Boessenkool <segher@koffie.nl>
2024
2025 * bitmap.h (BITMAP_WORD): New typedef: fundamental storage
2026 type for bitmaps. Use unsigned long.
2027 (nBITMAP_WORD_BITS): New macro.
2028 (BITMAP_WORD_BITS): New macro.
2029 (rest of file): Use it.
2030 * bitmap.c: Use it.
2031
8324663f
RH
20322003-01-25 Richard Henderson <rth@redhat.com>
2033
2034 2002-02-19 Robert Lipe <robertlipe@usa.net>
2035 * config/i386/t-sco5gas: (CRTSTUFF_T_CFLAGS_S): Delete -mcoff.
2036
2adc9b0f
RS
20372002-01-25 Roger Sayle <roger@eyesopen.com>
2038
2039 * builtins.c (purge_builtin_constant_p): Scan insn stream
2040 sequentially rather than by basic block.
2041 * function.c (purge_addressof): Simplify test with INSN_P.
2042
ad487c38
KH
20432003-01-25 Kazu Hirata <kazu@cs.umass.edu>
2044
8324663f 2045 * combine.c (simplify_comparison, case AND): Remove a redundant test.
ad487c38 2046
07d9b20d
RS
20472002-01-25 Roger Sayle <roger@eyesopen.com>
2048
2049 * function.h (struct function): New field calls_constant_p.
2050 (current_function_calls_constant_p): New macro for above.
2051 * function.c (prepare_function_start): Initialize calls_eh_return
2052 and calls_constant_p.
2053 * builtins.c (expand_builtin_constant_p): Set calls_constant_p.
2054 * toplev.c (rest_of_compilation): Only call purge_builtin_constant_p
2055 when the current_function_calls_constant_p.
2056 * integrate.c (expand_inline_function): Set calls_constant_p if
2057 the function being inlined has calls_constant_p set.
2058
41559112
RS
20592002-01-25 Roger Sayle <roger@eyesopen.com>
2060
2061 * cse.c (fold_rtx): Instantiate CONSTANT_P_RTX to 0 when not
2062 optimizing, even if flag_gcse is true.
2063 * toplev.c (rest_of_compilation): purge_builtin_constant_p
2064 only needs to be called when "optimize > 0 && flag_gcse".
2065
9bb231fd
RS
20662003-01-25 Roger Sayle <roger@eyesopen.com>
2067
2068 * stmt.c (emit_case_bit_tests): New routine to implement suitable
2069 switch statements using the equivalent of "if ((1<<x) & cst) ... ".
2070 (case_bit_test_cmp): New comparison function for "qsort" to order
2071 case_bit_tests by decreasing number of destination nodes.
2072 (lshift_cheap_p): New function to determine if "1 << x" is cheap.
2073 (expand_end_case_type): Use emit_case_bit_tests to implement
2074 suitable switch statments.
2075 (CASE_USE_BIT_TESTS): New target macro to disable the above.
2076 * Makefile.in (stmt.o): Add dependency on optab.h.
2077 * doc/tm.texi (CASE_USE_BIT_TESTS): Document new target macro.
2078
a073323c
AS
20792003-01-23 Andreas Schwab <schwab@suse.de>
2080
2081 * config/ia64/crtend.asm [HAVE_INITFINI_ARRAY]: Make
2082 __do_global_ctors_aux hidden global and don't put it in
2083 .init_array.
2084 * config/ia64/crtbegin.asm [HAVE_INITFINI_ARRAY]: Put it here
2085 instead so that it comes first.
2086
36ddc6b0
JH
2087Sat Jan 25 16:11:22 CET 2003 Jan Hubicka <jh@suse.cz>
2088
2089 * df.c (read_modify_subreg_p): When osize == UNITS_PER_WORD,
2090 subreg is read/modify.
2091
26771da7
JH
2092Sat Jan 25 15:55:08 CET 2003 Jan Hubicka <jh@suse.cz>
2093
2094 * i386.c (ix86_expand_movstr, ix86_expand_clrstr): Consistently
2095 do libcall for large blocks.
2096 * i386.md (comi patterns): Set type to ssecomi.
2097 (sse2_unpck?pd): Fix mode of vec_select.
2098
2099 * cse.c: Include except.h
2100 (cse_set_around_loop): Do not create new basic blocks.
2101 * Makefile.in (cse.o): Add dependnecy on except.h
2102
27a6aa72
JH
2103Sat Jan 25 12:05:17 CET 2003 Jan Hubicka <jh@suse.cz>
2104
2105 * builtins.c (fold_trunc_transparent_mathfn): New function.
2106 (fold_builtin): Use it.
2107 * convert.c (convert_to_real): Re-enable code to convert
2108 math functions; add support for floor familly functions.
2109
cd68f4e4
ZD
21102003-01-25 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2111
2112 * Makefile.in (cfgloop.o, cfgloopanal.o, cfgloopmanip.o): Add
2113 dependencies on coretypes.h and $(TM_H).
2114
67945f2e
JH
2115Sat Jan 25 11:10:03 CET 2003 Jan Hubicka <jh@suse.cz>
2116
2117 * builtins.c (fold_trunc_transparent_mathfn): Undo accidental commit.
2118
095fa594
SH
21192002-01-24 Stuart Hastings <stuart@apple.com>
2120
08f0414b 2121 * config/i386/i386.c (x86_output_mi_thunk): Add Darwin/x86 support.
095fa594 2122
1e4c04e0
MH
21232003-01-25 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
2124
2125 * config/c4x/c4x.md (UNSPEC_BU): New constants.
2126 (UNSPEC_RPTS, UNSPEC_LSH, UNSPEC_CMPHI, UNSPEC_RCPF): Likewise.
2127 (UNSPEC_RND, UNSPEC_RPTB_FILL, UNSPEC_LOADHF_INT): Likewise.
2128 (UNSPEC_STOREHF_INT, UNSPEC_RSQRF, UNSPEC_LOADQF_INT): Likewise.
2129 (UNSPEC_STOREQF_INT, UNSPEC_LDIV, UNSPEC_PUSH_ST): Likewise.
2130 (UNSPEC_POP_ST, UNSPEC_PUSH_DP, UNSPEC_POP_DP): Likewise.
2131 (UNSPEC_POPQI, UNSPEC_POPQF, UNSPEC_ANDN_ST): Likewise.
2132 (UNSPEC_RPTB_INIT, UNSPEC_TOIEEE, UNSPEC_FRIEEE): Likewise.
2133
a560d4d4
JH
2134Fri Jan 24 23:44:12 CET 2003 Jan Hubicka <jh@suse.cz>
2135
08f0414b 2136 * emit-rtl.c (reg_attrs_htab): New static variable.
a560d4d4
JH
2137 (reg_attrs_htab_hash, reg_attrs_htab_eq, get_reg_attrs): New static
2138 functions.
2139 (reg_rtx): Do not maintain regno_decl.
2140 (gen_rtx_REG_offset, set_reg_attrs_from_mem, set_delc_rtx,
2141 set_mem_attrs_from_reg): New global function.
2142 (init_emit): Do not initialize regno_decl.
2143 (init_emit_once): initialize reg_attrs_htab.
2144 * final.c (alter_subreg): Do not replace REG by SUBREG.
2145 (gen_mem_expr_from_op): Improve output.
2146 (output_asm_operands): Likewise.
2147 * function.c (assign_params): Do not set REGNO_DECL.
2148 * function.h (struct function): Kill regno_decl.
2149 (REGNO_DECL): Kill.
2150 * gengtype.c (adjust_field_rtx_def): Handle new field of reg.
2151 * print_rtl.c (print_rtx): Output REG information.
2152 * regclass.c (reg_scan_mark_refs): Update attrs.
2153 * reload1.c (alter_reg): Likewise.
2154 * simplify_rtx.c (simplify_subreg): Likewise.
2155 * stmt.c (expand_decl): Likewise.
2156 * rtl.def (REG): Add new field.
2157 * rtl.h (struct reg_attrs): New.
2158 (rtunion_def): At rtreg.
2159 (X0MEMATTR): Add checking.
2160 (X0REGATTR, REG_ATTRS, REG_EXPR, REG_OFFSET): New macro.
2161 (set_reg_attrs_from_mem, set_mem_attrs_from_reg, gen_rtx_REG_offset):
2162 Declare.
2163 * tree.h (SET_DECL_RTL): Call set_decl_rtl.
2164
1d0ea52e
BW
21652003-01-24 Bob Wilson <bob.wilson@acm.org>
2166
2167 * config/xtensa/xtensa.c: Remove unused include of machmode.h.
2168 (xtensa_emit_call, print_operand): Fix printf format strings
2169 to avoid compile warnings.
2170 (xtensa_function_prologue, xtensa_function_epilogue): Change type
2171 of "size" argument to HOST_WIDE_INT to fix compile warnings.
2172 * config/xtensa/xtensa-protos.h
2173 (xtensa_function_prologue, xtensa_function_epilogue): Ditto.
2174
272f51a3
JH
2175Fri Jan 24 23:03:32 CET 2003 Jan Hubicka <jh@suse.cz>
2176
2177 * builtins.c (DEF_BUILTIN): Accept 10 arguments.
2178 (implicit_built_in_decls): New global array.
2179 (mathfn_built_in): New global function.
2180 (fold_trunc_transparent_mathfn): New static function
2181 (expand_builtin_strstr, expand_bultin_strchr,
2182 expand_builtin_strpbrk, expand_builtin_strcpy,
2183 expand_builtin_strncpy, expand_bultin_strcmp,
2184 expand_bultin_strncat, expand_builtin_fputs): Use
2185 implicint_built_in_decls.
2186 (fold_builtin): Fold floor/trunc/round/ceil/nearbyint.
2187 * builtins.def: Fix comments.
2188 (DEF_GCC_BUILTIN, DEF_FALLBACK_BUILTIN, DEF_EXT_FALLBACK_BUILTIN,
2189 DEF_LIB_BUILTIN, DEF_LIB_ALWAYS_BUILTIN, DEF_EXT_LIB_BUILTIN,
2190 DEF_C99_BULTIN, DEF_FRONT_END_LIB_BUILTIN,
2191 DEF_EXT_FRONT_END_LIB_BUILTIN): Pass implicit as needed.
2192 (DEF_C99_C90RES_BULTIN): New.
2193 (*f, *l builtins): Update.
2194 * c-common.c (DEF_BUILTIN): Initialize implicit array.
2195 (c_expand_builtin_printf, c_expand_builtin_fprintf): Update.
2196 * convert.c (strip_float_extensions): New global function.
2197 * tree.h (DEF_BUILTIN): Accept 10 arguments.
2198 (implicit_built_in_decls, mathfn_built_in, strip_float_extension):
2199 Declare.
2200 * java/builtins.c (define_builtin): Handle implicit.
2201 (DEF_BUILTIN): Update.
2202 * tm.texi (TARGET_C99_FUNCTIONS): Document.
2203 * defaults.h (TARGET_C99_FUNCTIONS): Default to 0.
2204 * config/linux.h (TARGET_C99_FUNCTIONS): Default to 1
2205 when using glibc2.
2206
1f37a5b2
BW
22072003-01-24 Bob Wilson <bob.wilson@acm.org>
2208
2209 * config.gcc (xtensa-*-elf*): Removed assignments to with_newlib,
2210 extra_parts, and fixincludes. Add xtensa/t-elf tmake_file.
2211 (xtensa-*-linux*): Add xtensa/t-linux tmake_file.
2212 * config/xtensa/crti.asm: New file.
2213 * config/xtensa/crtn.asm: New file.
2214 * config/xtensa/t-elf: New file.
2215 * config/xtensa/t-linux: New file.
2216 * config/xtensa/t-xtensa: Add rules for crti.o and crtn.o.
2217 Move various CFLAGS settings to new t-elf file.
2218
84f5e1b1
RH
22192003-01-24 Richard Henderson <rth@redhat.com>
2220
2221 PR optimization/4382
2222 * tree-inline.c (find_builtin_longjmp_call_1): New.
2223 (find_builtin_longjmp_call): New.
2224 (inlinable_function_p): Use it.
2225
09b2e78d
ZD
22262003-01-24 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2227
2228 * config/i386/i386-protos.h (function_arg_pass_by_reference): Declare.
2229 * config/i386/i386.h (FUNCTION_ARG_PASS_BY_REFERENCE): Use it.
2230 * config/i386/i386.c (function_arg_pass_by_reference): New.
2231 (ix86_va_arg): Support arguments passed by reference.
2232
3d436d2a
ZD
22332003-01-24 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2234
2235 * cfgloopanal.c: New file.
2236 * cfgloopmanip.c: New file.
2237 * Makefile.in (cfgloopanal.o, cfgloopmanip.o): New.
2238 (toplev.o, loop.o, doloop.o, unroll.o, cfgloop.o, predict.o,
2239 cfglayout.o): Add dependency on cfgloop.h.
2240 (cfgloop.o): Add flags.h dependency.
2241 * basic-block.h (BB_IRREDUCIBLE_LOOP, BB_SUPERBLOCK): New flags.
2242 (VLS_EXPECT_PREHEADERS, VLS_EXPECT_SIMPLE_LATCHES): Removed.
2243 (struct loop, struct loops, flow_loops_find, flow_loops_update,
2244 flow_loops_free, flow_loops_dump, flow_loop_dump,
2245 flow_loop_scan, flow_loop_tree_node_add, flow_loop_tree_node_remove,
2246 LOOP_TREE,,LOOP_PRE_HEADER, LOOP_ENTRY_EDGES, LOOP_EXIT_EDGES,
2247 LOOP_ALL, flow_loop_outside_edge_p, flow_loop_nested_p,
2248 flow_bb_inside_loop_p, get_loop_body, loop_preheader_edge,
2249 loop_latch_edge, add_bb_to_loop, remove_bb_from_loops,
2250 find_common_loop, verify_loop_structure): Declarations moved to ...
2251 * cfgloop.h: New file.
2252 * bb-reorder.c (reorder_basic_blocks): Modified.
2253 * cfglayout.c: Include cfgloop.h.
2254 (cleanup_unconditional_jumps, cfg_layout_redirect_edge,
2255 cfg_layout_duplicate_bb, cfg_layout_initialize): Update loop structure.
2256 (break_superblocks): New static function.
2257 (cfg_layout_finalize): Use it.
2258 (cfg_layout_split_block): New function.
2259 * cfglayout.h (struct reorder_block_def): Add copy and duplicated
2260 fields.
2261 (cfg_layout_initialize, cfg_layout_redirect_edge): Declaration
2262 changed.
2263 (cfg_layout_split_block): Declare.
2264 * cfgloop.c: Include cfgloop.h and flags.h.
2265 (flow_loop_dump, flow_loops_free, flow_loop_exit_edges_find,
2266 get_loop_body): Avoid signed versus unsigned comparison warnings.
2267 (make_forwarder_block, flow_loops_find, loop_preheader_edge,
2268 loop_latch_edge): Modified.
2269 (verify_loop_structure): Modified to use flags stored in loop structure;
2270 check irreducible loops.
2271 (cancel_loop, cancel_loop_tree): New functions.
2272 (estimate_probability): Use loop analysis code for predictions.
2273 (estimate_loops_at_level): Avoid signed versus unsigned comparison
2274 warnings.
2275 * doloop.c: Include cfgloop.h.
2276 * loop.c: Include cfgloop.h.
2277 * predict.c: Include cfgloop.h.
2278 * toplev.c: Include cfgloop.h.
2279 * unroll.c: Include cfgloop.h.
2280 * tracer.c (tracer): Modified.
2281
a38b3eea
KH
22822003-01-24 Kazu Hirata <kazu@cs.umass.edu>
2283
2284 * config/h8300/h8300.c (get_shift_alg): Fix a typo.
2285
fd3cd001
UW
22862003-01-24 Ulrich Weigand <uweigand@de.ibm.com>
2287
2288 * configure.in (HAVE_AS_TLS): Add s390-*-* and s390x-*-* cases.
2289 * configure: Regenerate.
2290
2291 * config/s390/s390-protos.h (tls_symbolic_operand): Add prototype.
2292 (tls_symbolic_reference_mentioned_p): Add prototype.
2293 (s390_tls_get_offset): Add prototype.
2294 (emit_pic_move): Remove prototype, replace by ...
2295 (emit_symbolic_move): .. this new prototype.
2296
2297 * config/s390/s390.c (TARGET_HAVE_TLS): Conditionally define.
2298 (tls_model_chars): New global variable.
2299 (s390_encode_section_info): Encode TLS model.
2300 Use targetm.binds_local_p to check for local symbols.
2301 (s390_strip_name_encoding): New function.
2302 (TARGET_STRIP_NAME_ENCODING): Define.
2303
2304 (get_thread_pointer): New function.
21ff35fb 2305 (legitimize_tls_address): New function.
fd3cd001
UW
2306 (legitimize_address): Call it.
2307 (emit_pic_move): Remove, replace by ...
2308 (emit_symbolic_move): ... this new function.
2309
2310 (larl_operand): Handle TLS operands.
2311 (legitimate_constant_p): Likewise.
2312 (s390_decompose_address): Likewise.
2313 (s390_cannot_force_const_mem): New function.
2314 (TARGET_CANNOT_FORCE_CONST_MEM): Define.
2315
2316 (s390_output_symbolic_const): Handle TLS unspecs.
2317 (print_operand): New code 'J'.
2318 (machine_function): Add struct member 'some_ld_name'.
2319 (get_some_local_dynamic_name, get_some_local_dynamic_name_1): New.
2320
2321 (enum s390_builtin): New type.
2322 (code_for_builtin_64, code_for_builtin_31): New global variables.
2323 (s390_init_builtins, s390_expand_builtin): New functions.
2324 (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Define.
2325
2326 * config/s390/s390.h (TLS_SYMBOLIC_CONST): New macro.
2327 (ASM_OUTPUT_LABELREF): Define.
2328 (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Handle TLS constants.
2329
2330 * config/s390/s390.md: Define TLS UNSPEC constants.
2331 ("movdi", "movsi"): Handle TLS operands.
2332 ("get_tp_64", "get_tp_31", "set_tp_64", "set_tp_31"): New insns.
2333 ("*tls_load_64", "*tls_load_31"): New insns.
2334 ("call_value_tls", "call_value_tls_exp"): New expanders.
21ff35fb 2335 ("brasl_tls", "bras_tls", "basr_tls_64", "basr_tls_31",
fd3cd001
UW
2336 "bas_tls_64", "bas_tls_31"): New insns.
2337
01f4962d
NS
23382003-01-24 Nathan Sidwell <nathan@codesourcery.com>
2339
2340 * config/rs6000/rs6000.c (rs6000_parse_abi_options): Make sure
2341 spe ABI is configured, if requested.
2342
70b91854
VR
23432003-01-24 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
2344
2345 * doc/passes.texi: Fix typo.
2346
b8089d8d
AS
23472003-01-24 Andreas Schwab <schwab@suse.de>
2348
2349 * stor-layout.c (excess_unit_span): Only define if used.
2350
38df970e
JQ
23512003-01-24 Jerry Quinn <jlquinn@optonline.net>
2352
2353 * gcc/doc/invoke.texi (Optimization Options): List -O levels
2354 for each optimization flag.
2355
dff23a65
KH
23562003-01-24 Kazu Hirata <kazu@cs.umass.edu>
2357
2358 * config/h8300/h8300.md (*andsi3_ashift_n_lower): New.
2359
05739753
VR
23602003-01-24 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
2361
2362 * doc/bugreport.texi: Use @command instead of @code for commands.
2363 * doc/collect2.texi: Likewise.
2364 * doc/headerdirs.texi: Likewise.
2365 * doc/invoke.texi: Likewise.
2366 * doc/standards.texi: Likewise.
2367 * doc/tm.texi: Likewise.
2368 * doc/trouble.texi: Likewise.
2369
06bea5aa
NC
23702003-01-24 Nick Clifton <nickc@redhat.com>
2371
2372 * config/arm/arm.c (use_return_insn): Do not use a single return
2373 instruction for interrupt handelrs which have to create a stack
2374 frame.
2375 (arm_expand_prologue): Do not pre-bias the return address of
2376 interrupt handlers which create a stack frame.
2377
23782003-01-24 Nick Clifton <nickc@redhat.com>
2379
2380 * Add sh2e support:
2381
2382 2002-08-12 Alexandre Oliva <aoliva@redhat.com>
2383
2384 * config/sh/sh.c (output_branch) [TARGET_SH2E]: Handle
2385 med_cbranches. Fix logic in short_cbranches.
2386
2387 2002-04-03 Alexandre Oliva <aoliva@redhat.com>
2388
2389 * config/sh/sh.md (delay for cbranch): Don't annul delay
2390 slots on SH2e.
2391 * config/sh/sh.c (sh_insn_length_adjustment): Add 2 for
2392 cbranch with unfilled delay slot on SH2e.
2393 (output_branch): Fill with a nop the delay slot of a
2394 branch that required a delay slot but didn't get one.
2395
2396 2002-04-02 Alexandre Oliva <aoliva@redhat.com>
2397
2398 * doc/invoke.texi (SH options): Document -m2e.
2399 * config/sh/crt1.asm: Add __SH2E__ Next to __SH3E__.
2400 * config/sh/lib1funcs.asm: Likewise.
2401 * config/sh/sh.c: Replace all uses of TARGET_SH3E with SH2E.
2402 * config/sh/sh.h (CPP_SPEC): Define __SH2E__ for -m2e, and
2403 not __sh1__.
2404 (CONDITIONAL_REGISTER_USAGE): Don't disable FP regs from
2405 SH2E up.
2406 (SH3E_BIT): Renamed to...
2407 (SH_E_BIT): ... this. Replace all uses.
2408 (TARGET_SH2E): Define from SH_E_BIT and TARGET_SH2.
2409 Replace all uses of TARGET_SH3E with TARGET_SH2E.
2410 (TARGET_SWITCHES): Added 2e.
2411 (OVERRIDE_OPTIONS): Set sh_cpu for SH2E.
2412 (processor_type): Added PROCESSOR_SH2E.
2413 * config/sh/sh.md: Replace all uses of TARGET_SH3E with
2414 TARGET_SH2E, except in sqrtsf2_i.
2415 (attribute cpu): Added sh2e.
2416 * config/sh/t-sh (MULTILIB_OPTIONS): Replace m3e with m2e.
2417 (MULTILIB_MATCHES): Use m2e multilib for m3e.
2418 * config.gcc: Add sh2e target support.
2419
65ca2d60
PE
24202003-01-24 Phil Edwards <pme@gcc.gnu.org>
2421
2422 Rename -W to -Wextra.
2423 * c-decl.c: Update comments.
2424 * c-typeck.c: Likewise.
2425 * flags.h: Likewise.
2426 * function.c: Likewise.
2427 * stmt.c: Likewise.
2428 * toplev.c: Update comments.
2429 (W_options): Add 'extra'.
2430 (display_help): Remove '-W'.
2431 (decode_W_option): Special warn_uninitialized treatment in the case
2432 of -Wextra.
2433 * doc/invoke.texi: Update with new entries.
2434
3de9c088
RH
24352003-01-23 Richard Henderson <rth@redhat.com>
2436
8324663f
RH
2437 * ifcvt.c (noce_process_if_block): Re-add check vs X being changed
2438 in no-else-block case. Add commentary.
3de9c088 2439
49691411
KG
24402003-01-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2441
b4862477
KG
2442 * configure.in: Revert last change.
2443
24442003-01-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2445
2446 * configure.in: Don't include ansidecl.h in tconfig.h.
49691411
KG
2447 * gcov-io.h (PARAMS, ATTRIBUTE_UNUSED: Define if IN_LIBGCC2.
2448 * unwind-dw2-fde.h (last_fde): Use __attribute__, not
2449 ATTRIBUTE_UNUSED.
2450
2451 * configure: Regenerate.
2452
c4db7ecb
FS
24532003-01-23 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
2454
2455 PR java/6748
2456 * config/rs6000/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Don't destroy
2457 regs->nip. Fix rt_sigreturn frame layout. Add support for newer
2458 kernels.
2459
fc69c47c
KG
24602003-01-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2461
2462 * cpplex.c (cpp_interpret_charconst): Squelch warning with cast.
2463
adbe6dfd
UW
24642003-01-23 Ulrich Weigand <uweigand@de.ibm.com>
2465
2466 * genattrtab.c (write_attr_get): Mark 'insn' paramter
2467 as ATTRIBUTE_UNUSED.
2468
76a318e9
RE
24692003-01-23 Richard Earnshaw <rearnsha@arm.com>
2470
2471 * arm.c (thumb_base_register_rtx_p): New function.
2472 (thumb_index_register_rtx_p): New function.
2473 (thumb_legitimate_address_p): New function.
2474 (thumb_legitimate_offset_p): New function.
2475 * arm.h (REG_STRICT_P): Define according to setting of REG_OK_STRICT.
8891b787 2476 (ARM_GO_IF_LEGITIMATE_ADDRESS): Use REG_STRICT_P to avoid duplicate
76a318e9
RE
2477 definitions.
2478 (THUMB_GO_IF_LEGITIMATE_ADDRESS): Use thumb_legitimate_address_p.
2479 (THUMB_LEGITIMATE_OFFSET): Delte.
2480 (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Use thumb_legitimate_offset.
2481 * arm-protos.h (thumb_legitimate_address_p): Add prototype.
2482 (thumb_legitimate_offset_p): Likewise.
2483
9a600d0c
AS
24842003-01-23 Andreas Schwab <schwab@suse.de>
2485
2486 * unwind.h (_Unwind_GetTextRelBase): Mark parameter as unused.
2487
2d110c0a
KG
24882003-01-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2489
2490 * fixinc/Makefile.in (FL_LIST): Revert last change.
2491
2d1d9215
VR
24922003-01-23 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
2493
2494 PR other/7341
2495 * invoke.texi (ftest-coverage): Fix broken cross-reference.
2496 Change @code to @command for gcov command.
2497
2498 * gcc.texi: Adjust title of gcov section.
2499 Adjust copyright.
2500 * gcov.texi: Likewise.
2501
34ee7f82
RS
25022003-01-22 Roger Sayle <roger@eyesopen.com>
2503
2504 PR optimization/8423
2505 * cse.c (fold_rtx): Only eliminate a CONSTANT_P_RTX to 1 when
2506 its argument is constant, or 0 if !flag_gcse.
2507 * simplify-rtx.c (simplify_rtx): Convert CONSTANT_P_RTX to 1
2508 if it's argument is constant.
2509 * gcse.c (want_to_gcse_p): Ignore CONSTANT_P_RTX nodes.
2510 (hash_scan_set): Don't record CONSTANT_P_RTX expressions.
2511 (do_local_cprop): Don't propagate CONSTANT_P_RTX constants.
2512 * builtins.c (purge_builtin_constant_p): New function to force
2513 instantiation of any remaining CONSTANT_P_RTX nodes.
2514 * rtl.h (purge_builtin_constant_p): Prototype here.
2515 * toplev.c (rest_of_compilation): Invoke purge_builtin_constant_p
2516 pass after GCSE and before loop.
2517 (flag_gcse): No longer static.
2518 * flags.h (flag_gcse): Prototype here.
2519
bab0b43b
UW
25202003-01-22 Ulrich Weigand <uweigand@de.ibm.com>
2521
2522 * config/s390/s390.h (HARD_REGNO_MODE_OK): Fix warning regression
2523 introduced by last change.
2524
7e657a61
AS
25252003-01-22 Andreas Schwab <schwab@suse.de>
2526
2527 * ra-rewrite.c (rewrite_program2): Initialize bb to avoid warning.
2528
75a3503b
KH
25292003-01-22 Kazu Hirata <kazu@cs.umass.edu>
2530
2531 * config/h8300/h8300.c (h8300_shift_needs_scratch_p): Don't
2532 request a scratch reg on H8S when the shift count is 8.
2533
4888ec5d
UW
25342003-01-22 Ulrich Weigand <uweigand@de.ibm.com>
2535
2536 * config/s390/s390-protos.h (preferred_la_operand_p):
2537 Remove second parameter.
2538 * config/s390/s390.c (preferred_la_operand_p): Likewise.
2539 * config/s390/s390.h (FRAME_REGNO_P, FRAME_REG_P): New macros.
2540 (HARD_REGNO_MODE_OK): Use FRAME_REGNO_P.
2541 * config/s390/s390.md ("*la_cc_64", "*la_cc_31", splitters): Remove.
2542 Add peepholes to transform ADD to LOAD ADDRESS.
2543
6b990f6b
RE
25442003-01-22 Richard Earnshaw <rearnsha@arm.com>
2545
2546 * arm.c (arm_address_register_rtx_p): New function.
2547 (arm_legitimate_address_p): New function.
2548 (arm_legitimate_index_p): New function.
2549 (legitimize_pic_address): Use arm_legitimate_index_p.
2550 * arm-protos.h (arm_legtimate_address_p): Add prototype.
2551 * arm.h (ARM_GO_IF_LEGITIMATE_INDEX): Delete.
2552 (ARM_GO_IF_LEGITIMATE_ADDRESS): Call arm_legitimate_address_p.
2553
f0bf1270
HP
25542003-01-22 Hartmut Penner <hpenner@de.ibm.com>
2555
2556 * config/s390/s390.md (floatdfdi2): Insn has type 'itof'.
2557 * config/s390/2064.md (define_bypass): Correct 'Load' and
2558 'Load-address' bypass values.
21ff35fb 2559
fcb6a0f5
AS
25602003-01-22 Andreas Schwab <schwab@suse.de>
2561
2562 * config/ia64/t-ia64 (insn-attrtab.o-warn): Define as -Wno-error.
2563
c24b8026
ZW
25642003-01-21 Zack Weinberg <zack@codesourcery.com>
2565
2566 * genautomata.c (output_internal_insn_latency_func,
2567 output_print_reservation_func): Short circuit when there is no
2568 automaton to generate code for.
2569
38afe605
KG
25702003-01-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2571
2572 * Makefile.in (ssa-ccp.o): Depend on coretypes.h $(TM_H).
2573 (df.o): Delete duplicate dependency on coretypes.h $(TM_H).
2574
d24652ee
GK
25752003-01-21 Geoffrey Keating <geoffk@apple.com>
2576
2577 * config/rs6000/rs6000.md: Remove warning.
2578 (builtin_setjmp_receiver): Likewise.
2579 * config/darwin.c (update_stubs): Slightly improve terrible hack
2580 with identifiers. Add comment pointing out problems with it.
2581 (update_non_lazy_ptrs): Likewise.
2582
1c99d804
RH
25832003-01-21 Richard Henderson <rth@redhat.com>
2584
2585 * dwarf2out.c (lookup_filename): Fix printf format warning.
2586 * system.h (fread_unlocked, fwrite_unlocked): Undef.
2587
2588 * fixinc/Makefile.in (FL_LIST): Add $($@-warn) hook.
2589 (fixincl.o-warn, gnu-regex.o-warn): New.
2590 * fixinc/fixfixes.c (FIX_PROC_HEAD): Mark parameters unused.
2591 * fixinc/fixtests.c (TEST_FOR_FIX_PROC_HEAD): Likewise.
2592 * fixinc/fixincl.c (process): Fix printf format warning.
2593
f0b886ab
UW
25942003-01-21 Ulrich Weigand <uweigand@de.ibm.com>
2595
2596 * dwarf2out (output_file_names): Don't crash if called
2597 with empty file_table.
2598
490c57bb
ZW
25992003-01-21 Zack Weinberg <zack@codesourcery.com>
2600
2601 * genautomata.c (output_internal_insn_latency_func): Add
2602 missing break statement to generated code.
2603
100e3acb
RS
26042003-01-21 Roger Sayle <roger@eyesopen.com>
2605
2606 * stmt.c (same_case_target_p): New function to determine whether
2607 two case labels branch to the same target. Split out from...
2608 (group_case_nodes): ... here. Use same_case_target_p instead.
2609 (strip_default_case_nodes): Remove explicit case nodes
2610 that branch to the default destination.
2611 (expand_end_case_type): Call strip_default_case_nodes after
2612 group_case_nodes, to simplify the case-list before we count it.
2613 Only generate table_label RTX when actually needed. Try to share
2614 thiscase->exit_label and thiscase->data.case_stmt.default_label
2615 when a switch has no explicit default case. Simplify test for
2616 constant index.
2617
e8e8c1e5
KH
26182003-01-21 Kazu Hirata <kazu@cs.umass.edu>
2619
2620 * config/h8300/h8300.md (*negsf2_h8300): Use \\t instead of
2621 \t.
2622 (*negsf2_h8300hs): Likewise.
2623 (*addsi3_lshiftrt_16_zexthi): Likewise.
2624 (*iorhi3_lshiftrt_8): Likewise.
2625
044b4de3
UW
26262003-01-21 Ulrich Weigand <uweigand@de.ibm.com>
2627
2628 * dwarf2out.c (fde_table_in_use): Mark GTY.
2629 (dwarf2out_cfi_label_num): New variable, marked GTY.
2630 (dwarf2out_cfi_label): Use it instead of static label_num.
2631 * emit-rtl.c (label_num): Mark GTY.
2632
cfedf91b
KH
26332003-01-21 Kazu Hirata <kazu@cs.umass.edu>
2634
2635 * config/h8300/h8300.c (output_plussi): Support H8/300.
2636 (compute_plussi_length): Likewise.
2637 (compute_plussi_cc): Likewise.
2638 * config/h8300/h8300.md (addsi_h8300): Use output_plussi to
2639 output assembly instructions.
2640
dd859b8a
KG
26412003-01-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2642
1f5b3282
KG
2643 * calls.c (fix_unsafe_tree): Prototype.
2644
dd859b8a
KG
2645 * Makefile.in (GCC_WARN_CFLAGS): Add $(WERROR) $($@-warn)
2646 (gtype-desc.o-warn, c-decl.o-warn, varasm.o-warn, gcc.o-warn,
2647 insn-conditions.o-warn, out_object_file, gengtype-yacc.o-warn,
2648 c-parse.o-warn): Add -Wno-error.
2649 (STAGE2_FLAGS_TO_PASS): Add WERROR="@WERROR@".
2650
2651 * configure.in (--enable-werror): Add new flag.
2652 * doc/install.texi (--enable-werror): Document.
2653 * configure: Regenerate.
2654
2655 * objc/Make-lang.in (objc/objc-parse.o-warn): Add -Wno-error.
2656
4f9365e2
AS
26572003-01-21 Andreas Schwab <schwab@suse.de>
2658
2659 * genautomata.c (output_internal_insn_latency_func): Fix missing
2660 close paren in output.
2661
a543eb5e
ZW
26622003-01-21 Zack Weinberg <zack@codesourcery.com>
2663
2664 * genautomata.c: Space savings in generated code:
2665 (output_dfa_insn_code_func): Split out the table-enlargement
2666 path to an out-of-line static function, dfa_insn_code_enlarge.
2667 (output_internal_insn_latency_func): Use a lookup table for the
2668 default latencies.
2669 (output_print_reservation_func): Use a lookup table for the
2670 strings.
2671
292e35a3
CE
26722003-01-21 Christian Ehrhardt <ehrhardt@mathematik.uni-ulm.de>
2673
2674 PR opt/7507
2675 * calls.c (fix_unsafe_tree): Split out from ...
2676 (expand_call): ... here. Use it on the function address too.
2677
d8d0f5af
RH
26782003-01-20 Richard Henderson <rth@redhat.com>
2679
2680 * expr.h (default_must_pass_in_stack): Move decl outside ifdef.
2681
5b50aa9d
RH
26822003-01-20 Richard Henderson <rth@redhat.com>
2683
515e1c9f 2684 PR opt/7154
5b50aa9d
RH
2685 * stmt.c (expand_asm_operands): Validize memory operands.
2686
7a174a15
RH
26872003-01-20 Richard Henderson <rth@redhat.com>
2688
2689 PR opt/8848
2690 * ifcvt.c (noce_process_if_block): Correct arguments to
2691 modified_between_p for no-else-block case.
2692
9ac7ebba
KH
26932003-01-20 Kazu Hirata <kazu@cs.umass.edu>
2694
2695 * config/h8300/h8300.c (const_costs): Remove a warning.
2696 (output_plussi): Likewise.
2697 (compute_plussi_length): Likewise.
2698 (compute_plussi_cc): Likewise.
2699
309c52b5
KH
27002003-01-20 Kazu Hirata <kazu@cs.umass.edu>
2701
2702 * config/h8300/h8300.md (addsi_h8300): Remove the last
2703 alternative.
2704
b30686ec
KH
27052003-01-20 Kazu Hirata <kazu@cs.umass.edu>
2706
2707 * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
2708
87608693
KG
27092003-01-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2710
2711 * system.h (__NO_STRING_INLINES): Define.
2712
475c8250
JDA
27132003-01-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2714
2715 * ifcvt.c (noce_emit_store_flag): Don't emit store flag if mode of x
2716 is not a scalar int mode.
2717
dbaff908
RS
27182003-01-20 Roger Sayle <roger@eyesopen.com>
2719
2720 * cse.c (cse_insn): Avoid RTL sharing when updating the RETVAL
2721 insn's notes following a substitution inside a libcall.
2722
da8a6064
ZW
27232003-01-20 Zack Weinberg <zack@codesourcery.com>
2724
2725 * configure.in: Check for system-provided 'uchar' type.
a12b5bd9 2726 * configure, config.in: Regenerate.
da8a6064
ZW
2727 * cpphash.h: Only typedef 'uchar' if the system doesn't.
2728
a4b1b92a
RH
27292003-01-20 Richard Henderson <rth@redhat.com>
2730
2731 * expr.h (MUST_PASS_IN_STACK): Move implementation...
2732 * calls.c (default_must_pass_in_stack): ... here.
2733
d530b07f
VM
27342003-01-20 Vladimir Makarov <vmakarov@redhat.com>
2735
da8a6064
ZW
2736 * genattrtab.h (INSN_ALTS_FUNC_NAME): Move it from genautomata.c.
2737
d530b07f
VM
2738 * genautomata.c (INSN_ALTS_FUNC_NAME): Move it into genattrtab.h.
2739
2740 * genattr.c (main): Output default definition of AUTOMATON_ALTS.
2741 Wrap up definition of `insn_alts'.
2742
2743 * genattrtab.c (main): Wrap up `insn_alts'.
2744
351df804
KG
27452003-01-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2746
2747 * collect2.c (ldgetname): Check HAVE_DECL_LDGETNAME before
2748 prototyping.
2749 * configure.in: Check for <ldfcn.h> and ldgetname() prototype.
da8a6064 2750
351df804
KG
2751 * config.in, configure: Regenerate.
2752
e3289412
NC
27532003-01-20 Nick Clifton <nickc@redhat.com>
2754
2755 * config/arm/arm.md (sibcall_epilogue): Add an
2756 UNSPEC_PROLOGUE_USE to prevent the link register from being
2757 considered dead.
2758
5794139a
JH
2759Mon Jan 20 14:36:23 CET 2003 Jan Hubicka <jh@suse.cz>
2760
2761 * i386.md (SSE cmov splitter): Handle memory operand in operand 5.
2762
0a18ddf9
AS
27632003-01-20 Andreas Schwab <schwab@suse.de>
2764
2765 * system.h: Don't declare strsignal if the decl test hasn't been
2766 run yet.
2767
d99c740f
KH
27682003-01-20 Kazu Hirata <kazu@cs.umass.edu>
2769
2770 * config/h8300/h8300.c (notice_update_cc): Don't assume that
2771 recog_data.operands[0] is always associated with cc0.
2772
825c5408
DE
27732003-01-19 David Edelsohn <edelsohn@gnu.org>
2774
2775 * collect2.c (ldgetname): Expand declaration to prototype.
2776 * read-rtl.c (atoll): Add prototype.
da3e0142 2777 * system.h (strsignal): Also declare if no declaration found.
825c5408 2778
3bd6d4c4
AO
27792003-01-19 Alexandre Oliva <aoliva@redhat.com>
2780
2781 * config.gcc (mips64*-*-linux*): Added.
2782 * config/mips/linux64.h, config/mips/t-linux64: New file.
2783 * config/mips/iris6.h (MIPS_TFMODE_FORMAT): Define.
2784 * config/mips/mips.c (override_options): Use it.
2785 * config/mips/mips.h (TARGET_SWITCHES): Added...
2786 (SUBTARGET_TARGET_SWITCHES): New, empty by default.
2787 * Makefile.in (SPECS): New.
2788 (STAGESTUFF, specs, mostlyclean, install-common): Use it.
2789 * gcc.c (process_command): Move self-spec processing past spec
2790 file loading.
2791 * doc/tm.texi (DRIVER_SELF_SPECS): Document the change.
2792 * doc/fragments.texi (MULTILIB_EXTRA_OPTS): Document need for
2793 CRTSTUFF_T_CFLAGS.
2794 (SPECS): Document.
2795 * doc/invoke.texi (-mabi-fake-default): Document.
2796
e9f13564
SC
27972003-01-19 Stephane Carrez <stcarrez@nerim.fr>
2798
2799 * config/m68hc11/m68hc11.c (stack_push_word, stack_pop_word,
2800 z_reg, z_reg_qi): Declare static and GTY().
2801 (da_reg): Remove.
2802 (create_regs_rtx): Don't create da_reg.
2803 ("gt-m68hc11.h"): Include for GTY roots.
2804 * config/m68hc11/m68hc11.h (ix_reg, iy_reg, d_reg): Declare extern
2805 and GTY() here.
2806 (m68hc11_compare_op0, m68hc11_compare_op1): Likewise.
2807 (m68hc11_soft_tmp_reg): Likewise.
2808 * config/m68hc11/m68hc11-protos.h: Remove above declarations.
2809
32dd366d
KH
28102003-01-18 Kazu Hirata <kazu@cs.umass.edu>
2811
2812 * basic-block.h: Fix comment formatting.
2813 * calls.c: Likewise.
2814 * combine.c: Likewise.
2815 * convert.c: Likewise.
2816 * gcov.c: Likewise.
2817 * haifa-sched.c: Likewise.
2818 * libgcc2.c: Likewise.
2819 * loop.c: Likewise.
2820 * profile.c: Likewise.
2821 * system.h: Likewise.
2822
bc3cb712
RS
28232003-01-18 Roger Sayle <roger@eyesopen.com>
2824
2825 * config/pa/pa.md (muldi3): Avoid invalid sharing of SUBREG RTXs.
2826
25e42e9d
KG
28272003-01-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2828
2829 * ra-build.c (undef_to_size_word): Avoid `switch' warning.
2830
6f9c81f5
DJ
28312003-01-17 Dale Johannesen <dalej@apple.com>
2832
da8a6064 2833 * config/rs6000/rs6000.md (*floatsidf2_internal): Add earlyclobbers.
6f9c81f5
DJ
2834 (*floatunssidf2_internal): Ditto.
2835
95bd1dd7
KH
28362003-01-17 Kazu Hirata <kazu@cs.umass.edu>
2837
2838 * alias.c: Fix comment typos.
2839 * basic-block.h: Likewise.
2840 * c-common.c: Likewise.
2841 * c-common.h: Likewise.
2842 * c-decl.c: Likewise.
2843 * c-opts.c: Likewise.
2844 * c-pragma.c: Likewise.
2845 * c-pretty-print.h: Likewise.
2846 * cfg.c: Likewise.
2847 * cfganal.c: Likewise.
2848 * cfgbuild.c: Likewise.
2849 * cfgcleanup.c: Likewise.
2850 * cfglayout.c: Likewise.
2851 * cfgrtl.c: Likewise.
2852 * convert.c: Likewise.
2853 * cpphash.h: Likewise.
2854 * cpplex.c: Likewise.
2855 * cpplib.h: Likewise.
2856 * df.h: Likewise.
2857 * diagnostic.c: Likewise.
2858 * diagnostic.h: Likewise.
2859 * dwarf2.h: Likewise.
2860
d5840e09
SS
28612003-01-17 Stan Shebs <shebs@apple.com>
2862
2863 * config/darwin-protos.h: Forward-declare struct cpp_reader.
2864
e607534b
DR
28652003-01-17 Douglas B Rupp <rupp@gnat.com>
2866
2867 * config/alpha/alpha.c (alpha_need_linkage): Fix obvious
2868 mistake in last checkin.
2869
fbe5a4a6
KH
28702003-01-17 Kazu Hirata <kazu@cs.umass.edu>
2871
2872 * et-forest.c: Fix comment typos.
2873 * et-forest.h: Likewise.
2874 * except.c: Likewise.
2875 * expr.c: Likewise.
2876 * flags.h: Likewise.
2877 * flow.c: Likewise.
2878 * gcc.c: Likewise.
2879 * gcse.c: Likewise.
2880 * genattrtab.c: Likewise.
2881 * genautomata.c: Likewise.
2882 * gengtype.c: Likewise.
2883 * genrecog.c: Likewise.
2884 * global.c: Likewise.
2885 * gthr-rtems.h: Likewise.
2886
095f9093
KG
28872003-01-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2888
2889 * i386.c (x86_function_profiler): Fix format specifier.
2890
084087e1
RH
28912003-01-17 Richard Henderson <rth@redhat.com>
2892
2893 * gengtype.c (walk_type): Allow paramN_is.
2894
4a13592e
NC
28952003-01-17 Nick Clifton <nickc@redhat.com>
2896
2897 * config/i960/t-960bare (i960-c.o): Add missing newline escape.
2898
01193617
RH
28992003-01-16 Richard Henderson <rth@redhat.com>
2900
2901 * config/alpha/linux-elf.h (LIB_SPEC): Adjust inter-option spacing.
2902
f030826a
RH
29032003-01-16 Richard Henderson <rth@redhat.com>
2904
2905 * config/alpha/alpha.c (alpha_sr_alias_set): Mark GTY.
2906 (alpha_next_sequence_number): Likewise.
2907 (alpha_this_literal_sequence_number): Likewise.
2908 (alpha_this_gpdisp_sequence_number): Likewise.
2909 (struct alpha_funcs, alpha_funcs_num): Likewise.
2910 (struct alpha_links): Fix branch merge error.
2911 (alpha_need_linkage, alpha_use_linkage): Use GC for alpha_funcs.
2912
e1551d47
AO
29132003-01-17 Alexandre Oliva <aoliva@redhat.com>
2914
2915 * config/mips/mips.h: Don't use #elif. Reported by Kaveh
2916 R. Ghazi.
2917
3d042e77
KH
29182003-01-16 Kazu Hirata <kazu@cs.umass.edu>
2919
2920 * ifcvt.c: Fix comment typos.
2921 * lcm.c: Likewise.
2922 * libgcc2.c: Likewise.
2923 * local-alloc.c: Likewise.
2924 * loop.c: Likewise.
2925 * predict.c: Likewise.
2926 * ra-build.c: Likewise.
2927 * ra.c: Likewise.
2928 * ra-colorize.c: Likewise.
2929 * ra.h: Likewise.
2930 * ra-rewrite.c: Likewise.
2931 * regmove.c: Likewise.
2932 * reload.h: Likewise.
2933 * rtlanal.c: Likewise.
2934 * toplev.c: Likewise.
2935 * tree.h: Likewise.
2936 * unwind-dw2-fde-glibc.c: Likewise.
2937 * vmsdbgout.c: Likewise.
2938
c4274b22
RH
29392003-01-16 Richard Henderson <rth@redhat.com>
2940
2941 * dwarf2out.c (struct file_table): Remove.
2942 (FILE_TABLE_INCREMENT): Remove.
2943 (file_table): Make a varray; mark for GC. Update all users.
2944 (file_table_last_lookup_index): Extract from struct file_table.
2945 (output_file_names): Fix unsigned compare warnings.
2946 (add_name_attribute): Remove inline marker.
2947 (add_comp_dir_attribute): Split out from gen_compile_unit_die.
2948 (lookup_filename): Don't manage size of file_table.
2949 (init_file_table): Allocate file_table with GC.
2950 (dwarf2out_init): Don't record main_input_filename here.
2951 (dwarf2out_finish): Do it here instead.
2952
19162d0e
BK
29532003-01-16 Bruce Korb <bkorb@gnu.org>
2954
2955 * gcc/fixinc/inclhack.def(limits_ifndef): QNX needs a bypass, too.
2956
f1e2239f
KK
29572003-01-16 Kaz Kojima <kkojima@gcc.gnu.org>
2958
da8a6064
ZW
2959 * config/sh/sh.c (sh_initialize_trampoline): Emit rotrdi3_mextr
2960 instead of rotldi3_mextr.
f1e2239f 2961
cda1f765
VM
29622003-01-16 Vladimir Makarov <vmakarov@redhat.com>
2963
2964 * haifa-sched.c (move_insn): Restore moving all schedule group.
2965 (set_priorities): Restore taking SCHED_GROUP_P into account.
2966
2967 * sched-deps.c (add_dependence): Restore processing the last group
2968 insn.
2969 (remove_dependence, group_leader): Restore the functions.
2970 (set_sched_group_p): Restore adding dependencies from previous insn
2971 in the group.
2972 (compute_forward_dependences): Restore usage of group_leader.
2973
2974 * sched-ebb.c (init_ready_list): Restore taking SCHED_GROUP_P into
2975 account.
2976
2977 * sched-rgn.c (init_ready_list): Restore taking SCHED_GROUP_P into
2978 account.
2979 (can_schedule_ready_p): Ditto.
2980 (add_branch_dependences): Restore skipping over the group insns.
da8a6064 2981
200097cc
SC
29822003-01-16 Stephane Carrez <stcarrez@nerim.fr>
2983
2984 * config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Fix handling
2985 68HC12 pre/post inc/dec side effects.
2986
f411c739
SC
29872003-01-16 Stephane Carrez <stcarrez@nerim.fr>
2988
2989 * config/m68hc11/m68hc11.h (MASK_M6812): Define.
2990
08c43ea7
R
2991Thu Jan 16 21:50:25 2003 J"orn Rennecke <amylaar@onetel.net.uk>
2992
2993 * sh.md (mshflo_w_x): Fix description of operation.
2994
07488f32
ZW
29952003-01-16 Zack Weinberg <zack@codesourcery.com>
2996
2997 * config/rs6000/rs6000.h: Mention Altivec registers in
2998 commentary. Fix typo.
2999
27dc0551
DE
30002003-01-16 David Edelsohn <edelsohn@gnu.org>
3001
3002 * config/rs6000/rs6000.md (movti_string): Remove clobber.
3003 * config/rs6000/rs6000.c (rs6000_emit_move, TImode): Explicitly
3004 generate PARALLEL with clobber for TARGET_POWER.
3005
0334ef47
KG
30062003-01-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3007
3008 * ra-colorize.c (colorize_one_web): Initialize variable.
3009 * regmove.c (fixup_match_1): Likewise.
3010 * reload1.c (reload_as_needed): Likewise.
3011 * sdbout.c (SET_KNOWN_TYPE_TAG): Add cast.
3012
16f2b86a
ZD
30132003-01-16 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3014
3015 * cfgloop.c (flow_loops_find): Fix handling of abnormal edges.
3016
fc555370
KG
30172003-01-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3018
93d8c755
KG
3019 * dbxout.c (lastfile, cwd): Fix `unused' warning.
3020 * dwarf2out.c (fde_table_in_use, current_funcdef_fde,
3021 dw_cfi_oprnd1_desc, dw_cfi_oprnd2_desc, next_die_offset,
3022 is_main_source, file_table, decl_die_table_in_use,
3023 abbrev_die_table_in_use, line_info_table_in_use,
3024 separate_line_info_table_in_use, pubname_table_in_use,
3025 arange_table_in_use, ranges_table_in_use,
3026 current_function_has_inlines): Likewise.
3027 * flow.c (life_analysis): Likewise.
3028 * genemit.c (gen_insn): Likewise.
3029 * protoize.c (cplus_suffix): Likewise.
3030
0c2ca901
KG
3031 * arm.c (ROUND_UP_WORD): Renamed from ROUND_UP.
3032 * arm.h (ROUND_UP_WORD): Likewise.
3033
fc555370
KG
3034 * arm.h (CONDITIONAL_REGISTER_USAGE): Avoid signed/unsigned
3035 warning.
3036 * emit-rtl.c (gen_rtx_REG, set_mem_attributes_minus_bitpos,
3037 init_emit_once): Likewise.
3038 * flow.c (mark_regs_live_at_end, calculate_global_regs_live):
3039 Likewise.
3040 * function.c (assign_stack_temp_for_type): Likewise.
3041 * loop.c (loop_invariant_p): Likewise.
3042 * recog.c (push_operand): Likewise.
3043 * regclass.c (init_reg_sets_1): Likewise.
3044 * reload.c (update_auto_inc_notes): Likewise.
3045 * reload1.c (reload_as_needed, emit_input_reload_insns): Likewise.
3046 * stmt.c (expand_asm_operands): Likewise.
3047 * stor-layout.c (start_record_layout): Likewise.
3048
64510a4f
HB
30492003-01-16 Herman A.J. ten Brugge <hermantenbrugge@home.nl>
3050
07488f32 3051 * config/c4x/c4x.md (epilogue): Correct last patch.
64510a4f 3052
77480b0b
RH
30532003-01-15 Richard Henderson <rth@redhat.com>
3054
3055 * config/alpha/alpha.c (find_lo_sum_using_gp): Rename from find_lo_sum;
3056 also check that GP is being used.
3057 (alpha_find_lo_sum_using_gp): New.
3058 (alpha_does_function_need_gp): Use get_attr_usegp.
3059 * config/alpha/alpha-protos.h: Update.
3060 * config/alpha/alpha.md (attr usegp): New. Annotate patterns
3061 as needed.
3062
a0134312
RS
30632003-01-15 Roger Sayle <roger@eyesopen.com>
3064
3065 * gcse.c (one_cprop_pass): Change function arguments to take both
3066 cprop_jumps and bypass_jumps flags instead of just alter_jumps.
3067 (gcse_main): Update calls to one_cprop_pass, disabling bypassing.
3068 (bypass_jumps): New function to perform separate jump bypassing pass.
3069 * rtl.h (bypass_jumps): Add function prototype.
3070 * timevar.def (TV_BYPASS): New timing variable.
3071 * toplev.c (enum dump_file_index): Add new entry DFI_bypass.
3072 (dump_file): New entry for the bypass RTL dump file.
3073 (rest_of_compilation): Insert new jump bypassing optimization
3074 pass after loop.
3075 * doc/passes.texi: Document new pass.
3076
4af6a063
JDA
30772003-01-15 John David Anglin <dave@hiauly1.hia.nrc.ca>
3078
3079 * som.h (SUPPORTS_WEAK, SUPPORTS_ONE_ONLY, MAKE_DECL_ONE_ONLY,
3080 ASM_WEAKEN_LABEL, GTHREAD_USE_WEAK): Define.
3081 * pa.h (TARGET_SOM_SDEF): Define.
3082 * pa-hpux11.h (TARGET_SOM_SDEF): Define.
3083
51e13b71
SC
30842003-01-16 Stephane Carrez <stcarrez@nerim.fr>
3085
07488f32 3086 * config/m68hc11/m68hc11.c (expand_prologue): Use push/pop to
51e13b71
SC
3087 allocate 4-bytes of locals on 68HC11.
3088 (expand_epilogue): Likewise.
3089 (m68hc11_memory_move_cost): Increase cost of HI/QI soft registers.
3090
f077f169
SC
30912003-01-15 Stephane Carrez <stcarrez@nerim.fr>
3092
3093 * config/m68hc11/m68hc11.h (ASM_SPEC): Handle -m68hcs12; Pass -mshort
3094 and -mshort-double to the assembler to specify the ABI.
3095 (LINK_SPEC): Likewise.
3096 (CPP_SPEC): Pass HCS12 specific define.
3097 (MASK_M68S12): New define.
3098 (TARGET_M68S12): Likewise.
3099 (TARGET_SWITCHES): New options -m68hcs12 and -m68S12.
3100 (TARGET_VERSION): Update.
3101 * config/m68hc11/m68hc12.h (CPP_SPEC): Pass HCS12 specific define.
3102 (LINK_SPEC): Update.
3103 (ASM_SPEC): Update.
3104 * config/m68hc11/m68hc11.c (m68hc11_asm_file_start): Update.
3105 * doc/invoke.texi (M68hc1x Options): Document -m68hcs12.
3106
c0f684dc
SC
31072003-01-15 Stephane Carrez <stcarrez@nerim.fr>
3108
3109 * config/m68hc11/m68hc11.md ("return"): Use emit_jump_insn to emit
3110 the return code.
3111
6982ae15
JZ
31122003-01-15 Josef Zlomek <zlomekj@suse.cz>
3113
3114 * cfganal.c (set_edge_can_fallthru_flag): Clear the EDGE_CAN_FALLTHRU
3115 flag before setting it.
3116
8cadeff1
RS
31172003-01-15 Roger Sayle <roger@eyesopen.com>
3118
3119 * c-semantics.c (genrtl_while_stmt): Improve initial RTL generation
3120 when loop condition is known true, i.e. "while (1) { ... }".
3121 (genrtl_for_stmt): Similarly for "for" statements.
3122
03cd8aba
RS
31232003-01-15 Roger Sayle <roger@eyesopen.com>
3124
3125 * real.c (real_sqrt): Return a bool result indicating whether
3126 a floating point exception or trap should be raised.
3127 * real.h (real_sqrt): Update function prototype.
3128 * builtins.c (fold_builtin): Only fold non-trapping square
3129 roots unless we're ignoring errno and trapping math.
3130
4da78214
JDA
31312003-01-15 John David Anglin <dave.anglin@nrc.gc.ca>
3132
3133 * expr.h (emit_conditional_add): Add PARAMS to declaration.
3134 * gengtype-lex.l (malloc, realloc): Move defines after include of
3135 system.h. Remove duplicate include of system.h.
3136
9ee0a442
RS
31372003-01-15 Roger Sayle <roger@eyesopen.com>
3138
3139 PR middle-end/9009
3140 * optabs.c (expand_unop): When manipulating the FP sign bit
3141 using integer operations, account for targets with different
3142 integer and FP word orders.
3143 (expand_abs): Likewise.
3144
e3981aab
DE
31452003-01-15 David Edelsohn <edelsohn@gnu.org>
3146
3147 * config/rs6000/rs6000.c (rs6000_gen_section_name): Do not include
3148 file extension in section name.
3149
89c4b810
RE
31502003-01-15 Richard Earnshaw <rearnsha@arm.com>
3151
3152 * flow.c (find_auto_inc): Also try to generate a PRE_MODIFY with
3153 constant offset.
3154
3cd45774
RE
31552003-01-15 Richard Earnshaw <rearnsha@arm.com>
3156
3157 * arm.h (HAVE_PRE_MODIFY_DISP, HAVE_PRE_MODIFY_REG): Define.
3158 (HAVE_POST_MODIFY_DISP, HAVE_POST_MODIFY_REG): Define.
3159 (ARM_GO_IF_LEGITIMATE_ADDRESS): Handle pre/post-modify addresses.
3160 (ARM_PRINT_OPERAND_ADDRESS): Likewise.
3161
b1a6f8db
JH
3162Wed Jan 15 12:23:21 CET 2003 Jan Hubicka <jh@suse.cz>
3163
3164 PR f/9258
07488f32 3165 * global.c (struct allocno): Add no_stack_reg.
b1a6f8db
JH
3166 (global_conflicts): Set no_stack_reg.
3167 (find_reg): Use it.
3168
3169 * convert.c (convert_to_real): Fold - and abs only when profitable.
3170 * fold-const.c (fold): Fold truncates in - and abs.
3171
d18c7e59
JZ
31722003-01-15 Josef Zlomek <zlomekj@suse.cz>
3173
3174 Segher Boessenkool <segher@koffie.nl>
fbe3b30b
SB
3175
3176 * predict.c (real_inv_br_prob_base): New variable.
3177 (propagate_freq): Use multiply by reciprocal instead of
3178 division. Don't divide by 1.0 at all.
3179 (estimate_bb_frequencies): Similar.
3180
027faee7
AO
31812003-01-15 Alexandre Oliva <aoliva@redhat.com>
3182
3183 * configure.in (libgcc_visibility): Force disabled on IRIX 6 too.
3184 * configure: Rebuilt.
3185
077dab3b 31862003-01-15 Hartmut Penner <hpenner@de.ibm.com>
3c0121e4 3187
077dab3b
HP
3188 * config/s390/s390.c (s390_safe_attr_type): New function.
3189 (s390_use_dfa_pipeline_interface): New function, return true for z900.
3190 (s390_issue_rate): New function.
3191 (s390_agen_dep_p): New function.
3192 (addr_generation_dependency_p): Use 's390_safe_attr_type'.
3193 (s390_adjust_cost): Return 'cost' if new DFA is used.
3194 (s390_adjust_priority): Delete function.
3195 * config/s390/s390-protos.h: (s390_agen_dep_p): New prototype.
3196 * config/s390/s390.md (atype attribute): Attribute 'atype' default
3197 determined by 'op_type'.
3198 (type attribute): Added more type attributes.
3199 * config/s390/2064.md: New DFA description for z900 pipeline.
07488f32 3200
077dab3b 32012003-01-15 Alexandre Oliva <aoliva@redhat.com>
2b28d405 3202
acfa9d9f
AO
3203 * config/i386/i386.c (ix86_expand_vector_move): Validize constant
3204 forced to memory. Fixes PR bootstrap/9036.
3205
3c0121e4
AO
3206 * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Define so as
3207 to set $gp before the call.
3208
553eb139
RH
32092003-01-14 Richard Henderson <rth@redhat.com>
3210
3211 * config/alpha/alpha.c (alpha_expand_mov): Use correct mode
3212 for force_const_mem.
3213
dd1b7476
KG
32142003-01-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3215
3216 * genattr.c (main): Rearrange output to avoid prototype warning.
3217 * genautomata.c (transform_3): Fix ambiguous-else warning.
3218 * local-alloc.c (requires_inout): Add parentheses around
3219 assignment used as truth-value.
3220 * timevar.c: Move system includes above local includes. Include
3221 toplev.h
3222 * Makefile.in (timevar.o): Depend on toplev.h.
3223
6028880a
DC
32242003-01-14 Denis Chertykov <denisc@overta.ru>
3225
3226 * config/ip2k/ip2k.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
3227 (VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
3228
3229 * config/ip2k/ip2k.c (ip2k_attribute_table): New table of
07488f32 3230 attributes.
6028880a
DC
3231 (TARGET_ATTRIBUTE_TABLE): New macro.
3232 (valid_machine_type_attribute): Remove.
3233 (valid_machine_decl_attribute): Remove.
3234 (ip2k_handle_progmem_attribute): New function.
3235 (ip2k_handle_fndecl_attribute): New function.
3236
4a2953e4 32372003-01-10 Andrew Haley <aph@redhat.com>
a686ea5b
AH
3238
3239 * config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Rename
3240 registers to be in correct order. Add rip.
3241
4d77fda2
KH
32422003-01-14 Kazu Hirata <kazu@cs.umass.edu>
3243
3244 * config/h8300/h8300.md (*andsi3_lshiftrt_9_sb): New.
3245 (*iorsi3_and_lshiftrt_9_sb): Likewise.
3246
77f9af81
JH
3247Tue Jan 14 00:45:33 CET 2003 Jan Hubicka <jh@suse.cz>
3248
3249 * convert.c (strip_float_extensions): Look for narrowest type handling
3250 FP constants.
3251
3252 * fold-const.c (fold): Fold (double)float1 CMP (double)float2 into
3253 float1 CMP float2.
3254 * convert.c (strip_float_extensions): Make global.
3255 * tree.h (strip_float_extensions): Declare.
3256
fd371a93
GDR
32572003-01-14 Gabriel Dos Reis <gdr@integrable-solutions.net>
3258
3259 * timevar.def: define TV_NAME_LOOKUP.
3260 * timevar.c (timevar_pop): Be verbose when aborting.
3261
dcd1c2b8
AS
32622003-01-13 Andreas Schwab <schwab@suse.de>
3263
3264 * Makefile.in ($(parsedir)/gengtype-lex.c): Don't change to
3265 $(parsedir), just move the temporary file at the end.
3266 ($(parsedir)/gengtype-yacc.c): Likewise.
3267
eb4b5f93
AO
32682003-01-13 Alexandre Oliva <aoliva@redhat.com>
3269
3270 * aclocal.m4 (gcc_AC_PROG_GNAT): Don't try to prepend
3271 ${ac_tool_prefix} to ADAC or CC. Protect them from word
3272 splitting.
3273 * configure: Rebuilt.
3274
f7835768
KG
32752003-01-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3276
3277 * config/sparc/gmon-sol2.c (moncontrol, monstartup, _mcleanup,
3278 internal_mcount): Don't use PARAMS.
3279 (monstartup, _mcleanup, internal_mcount, moncontrol): Convert to
3280 ISO C style.
3281 (internal_mcount): Use __attribute__, not ATTRIBUTE_UNUSED.
3282
38a3dbbb
AS
32832003-01-13 Andreas Schwab <schwab@suse.de>
3284
3285 * config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Output type
3286 directive.
3287
98dc53e3
KH
32882003-01-13 Kazu Hirata <kazu@cs.umass.edu>
3289
3290 * config/h8300/h8300.md (*andsi3_lshift_n_sb): New.
3291 (*iorsi3_and_lshiftrt_n_sb): Likewise.
3292
e8f2b18d
MM
32932003-01-12 Mark Mitchell <mark@codesourcery.com>
3294
3295 PR c++/9264
3296 * c-lex.c (c_lex): Set the token value to error_mark_node for
3297 invalid numeric constants.
3298
70f8b89f
KG
32992003-01-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3300
3301 * c-pch.c (asm_file_startpos): Change to `long'.
3302 (pch_init): Use ftell, not ftello.
3303 (c_common_write_pch): Use ftell/fseek, not ftello/fseeko.
3304 Use `long' instead of `off_t'.
3305 (c_common_read_pch): Likewise.
3306 * ggc-common.c (gt_pch_save): Use long/ftell instead of
3307 off_t/ftello.
3308
8e37cba8
AM
33092003-01-12 Alan Modra <amodra@bigpond.net.au>
3310
3311 * expr.c (expand_expr <RDIV_EXPR>): Correct recursive call args.
3312
04f08c8e
RE
33132003-01-11 Richard Earnshaw (rearnsha@arm.com)
3314
3315 * arm-protos.h (struct cpp_reader): Add declaration.
3316
a5cf80f0
JH
3317Sat Jan 11 11:02:58 CET 2003 Jan Hubicka <jh@suse.cz>
3318
3319 PR target/9068
3320 * i386.c (output_fp_compare): Fix typo.
3321
bbfb86aa
DE
33222003-01-10 David Edelsohn <edelsohn@gnu.org>
3323
3324 * config/rs6000/rs6000.c (common_mode_defined): Mark for PCH.
3325
223b87b6
GK
33262003-01-10 Geoffrey Keating <geoffk@apple.com>
3327
3859c32a
GK
3328 * Makefile.in (parsedir): New variable.
3329 (docobjdir): New variable.
07488f32 3330 (c-parse.o, c-parse.c, c-parse.y, gengtype-lex.o, gengtype-yacc.o,
3859c32a
GK
3331 gengtype-lex.c, gengtype-yacc.c): Use parsedir.
3332 (info, cpp.info, gcc.info, gccint.info, gccinstall.info,
3333 cppinternals.info, generated-manpages, gcov.1, cpp.1, gcc.1, gfdl.7,
07488f32 3334 gpl.7, fsf-funding.7, maintainer-clean, install-info, install-man):
3859c32a
GK
3335 Use docobjdir.
3336 * objc/Make-lang.in (objc/objc-parse.c, objc/objc-parse.y,
3337 objc.maintainer-clean): Use parsedir.
3338
63af3bd1
GK
3339 * varasm.c (struct constant_descriptor_rtx): Remove unused
3340 `label' field.
3341
223b87b6
GK
3342 * toplev.c (documented_lang_options): Document -Winvalid-pch.
3343
fbadafbc
RH
33442003-01-10 Richard Henderson <rth@redhat.com>
3345
3346 * config/alpha/alpha.h (NO_PROFILE_COUNTERS): Set.
3347 (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Kill.
3348
ab5ecb01
RH
33492003-01-10 Richard Henderson <rth@redhat.com>
3350
3351 * combine.c (make_compound_operation): Use SCALAR_INT_MODE_P,
3352 not INTEGRAL_MODE_P when widening extensions.
3353
7f24e7c5
RH
33542003-01-10 Richard Henderson <rth@redhat.com>
3355
3356 * config/alpha/alpha.c (decl_has_samegp): True for !TREE_PUBLIC.
3357
6dd05d08
GK
33582003-01-10 Geoffrey Keating <geoffk@apple.com>
3359
19cc0dd4
GK
3360 * ggc-page.c (ggc_collect): Avoid overflow computing
3361 min_expand.
3362
6dd05d08
GK
3363 * Makefile.in (RANLIB_FOR_TARGET): Use RANLIB when native.
3364 (RANLIB_TEST_FOR_TARGET): Delete. Don't pass down to sub-makes.
3365 Remove calls.
3366 * mklibgcc.in: Remove uses of RANLIB_TEST_FOR_TARGET.
3367
5f1355ef
JH
3368Fri Jan 10 22:05:35 CET 2003 Jan Hubicka <jh@suse.cz>
3369
3370 * ifcvt.c (noce_try_addcc): Do not call emit_conditional_add
3371 with weird operands.
3372
0cdca92b 33732003-01-10 Dale Johannesen <dalej@apple.com>
6dd05d08
GK
3374
3375 * calls.c (load_register_parameters): Add is_sibcall, sibcall_failure
3376 parameters. Call check_sibcall_argument_overlap if indicated.
3377 (check_sibcall_argument_overlap): Add mark_stored_args_map
3378 parameter. Don't mark parameter area as clobbered if not set.
3379 (expand_call): Adjust calls to above.
3380
33812003-01-10 Kelley Cook <kelleycook@comcast.net>
6cd656d0
KC
3382
3383 * configure.in (linker read-only and read-write section mixing):
3384 Squelch some assembler warnings.
3385 * configure: Likewise.
3386
be2c2a4b
HP
33872003-01-10 Hartmut Penner <hpenner@de.ibm.com>
3388
21ff35fb 3389 * doc/invoke.texi: Document -mtune, delete -mcpu
be2c2a4b
HP
3390 option for S/390 and zSeries.
3391 * config/s390/s390.c (s390_tune_string) New variable.
3392 (s390_cpu_string) Delete variable.
3393 (override_options): Use s390_tune_string instead of
3394 s390_cpu_string.
3395 * config/s390/s390.h: (TARGET_OPTIONS) '-mtune' instead of '-mcpu'.
3396
1f450138
KH
33972003-01-10 Kazu Hirata <kazu@cs.umass.edu>
3398
3399 * config/h8300/h8300.md (*iorsi3_ashift_31): New.
3400
d330ce15
JZ
34012003-01-10 Josef Zlomek <zlomekj@suse.cz>
3402
3403 * jump.c (next_nonnote_insn_in_loop): New function.
3404 (copy_loop_headers): Use next_nonnote_insn_in_loop instead of
3405 next_nonnote_insn.
3406 (duplicate_loop_exit_test). Likewise.
3407
17211ab5
GK
34082003-01-09 Geoffrey Keating <geoffk@apple.com>
3409
3410 Merge from pch-branch:
3411
3412 2003-01-06 Geoffrey Keating <geoffk@apple.com>
3413
3414 * ggc-page.c (ggc_pch_read): Update the statistics after a PCH
3415 load.
3416
3417 2002-12-24 Geoffrey Keating <geoffk@apple.com>
3418
3419 * cpplib.c (count_registered_pragmas): New function.
3420 (save_registered_pragmas): New function.
3421 (_cpp_save_pragma_names): New function.
3422 (restore_registered_pragmas): New function.
3423 (_cpp_restore_pragma_names): New function.
3424 * cpphash.h (_cpp_save_pragma_names): Prototype.
3425 (_cpp_restore_pragma_names): Likewise.
3426 * cpppch.c (struct save_macro_item): Split from save_macro_data.
3427 (struct save_macro_data): New field 'saved_pragmas'.
3428 (save_macros): Update for changes to struct save_macro_data.
3429 (cpp_prepare_state): Call _cpp_save_pragma_names, update
3430 for changes to struct save_macro_data.
3431 (cpp_read_state): Call _cpp_restore_pragma_names, update
3432 for changes to struct save_macro_data.
3433
3434 * cpppch.c (cpp_read_state): Restore the hashtable references
3435 in the cpp_reader.
07488f32 3436
17211ab5
GK
3437 * tree.h (built_in_decls): Mark for PCH.
3438
3439 * dbxout.c (lastfile): Don't mark for PCH.
3440
3441 * ggc.h: Document PCH calls into memory managers.
3442
3443 2002-12-18 Geoffrey Keating <geoffk@apple.com>
3444
3445 * doc/invoke.texi (Precompiled Headers): Document the
3446 directory form of PCH.
3447 * cppfiles.c (validate_pch): New function.
3448 (open_file_pch): Search suitably-named directories for PCH files.
3449
3450 2002-12-14 Geoffrey Keating <geoffk@apple.com>
3451
3452 * doc/gty.texi (GTY Options): Document chain_next, chain_prev,
3453 reorder options.
3454 (Type Information): Mention that the information is also
3455 used to implement PCH.
3456 * doc/passes.texi (Passes): Improve documentation of
3457 language-specific files.
3458
3459 2002-12-11 Geoffrey Keating <geoffk@apple.com>
3460
3461 * gengtype.c (struct write_types_data): Add reorder_note_routine field.
3462 (struct walk_type_data): Add reorder_fn field.
3463 (walk_type): Process 'reorder' option.
3464 (write_types_process_field): Reorder parameters to gt_pch_note_object,
3465 call reorder_note_routine.
3466 (write_func_for_structure): Reorder parameters to gt_pch_note_object.
3467 (ggc_wtd): Update for change to struct write_types_data.
3468 (pch_wtd): Likewise.
3469 * ggc.h (gt_pch_note_object): Reorder parameters.
3470 (gt_handle_reorder): New definition.
3471 (gt_pch_note_reorder): New prototype.
3472 * ggc-common.c (struct ptr_data): Add reorder_fn.
3473 (gt_pch_note_object): Reorder parameters.
3474 (gt_pch_note_reorder): New.
3475 (gt_pch_save): Call reorder_fn.
3476 * stringpool.c (gt_pch_n_S): Update for change to gt_pch_note_object.
3477
3478 * dbxout.c (cwd): Don't mark for PCH.
3479
3480 2002-12-09 Geoffrey Keating <geoffk@apple.com>
3481
3482 * gengtype.c (finish_root_table): Fix some warnings.
3483 (write_root): Handle TYPE_STRING.
3484 * ggc.h (gt_ggc_m_S): Add prototype.
3485 * stringpool.c (gt_ggc_m_S): New function.
3486
3487 2002-11-30 Geoffrey Keating <geoffk@apple.com>
3488
3489 * dwarf2out.c (dw2_string_counter): New.
3490 (AT_string_form): Use it.
3491 (same_dw_val_p): Update for removal of hashtable.h hash tables.
3492
3493 2002-11-22 Geoffrey Keating <geoffk@apple.com>
3494
3495 * dbxout.c: Include gt-dbxout.h.
3496 (lastfile): Mark for PCH/GGC.
3497 (cwd): Likewise.
3498 (struct typeinfo): Likewise.
3499 (typevec): Likewise.
3500 (typevec_len): Likewise.
3501 (next_type_number): Likewise.
3502 (struct dbx_file): Likewise.
3503 (current_file): Likewise.
3504 (next_file_number): Likewise.
3505 (dbxout_init): Allocate typevec, struct dbx_file with GGC.
3506 (dbxout_start_source_file): Allocate struct dbx_file with GGC.
3507 (dbxout_end_source_file): Don't free struct dbx_file.
3508 (dbxout_type): Use GGC to allocate typevec.
3509 * Makefile.in (dbxout.o): Depend on gt-dbxout.h, $(GGC_H).
3510 (GTFILES): Add dbxout.c.
3511 (gt-dbxout.h): New rule.
07488f32 3512
17211ab5
GK
3513 * Makefile.in (c-pch.o): Add debug.h as dependency.
3514 * c-pch.c: Include debug.h.
3515 (pch_init): Call start_source_file to keep nesting right.
3516 (c_common_read_pch): Add orig_name parameter. Call
3517 start_source_file debug hook. Call end_source_file debug hook.
3518 * c-common.h (c_common_read_pch): Update prototype.
3519 * cpplib.h (struct cpp_callbacks): Add fourth field to read_pch
3520 callback.
3521 * cppfiles.c (struct include_file): Add new field `header_name'.
3522 (find_or_create_entry): Default it to `name'.
3523 (open_file_pch): Set it to the original header file searched for.
3524 (stack_include_file): Don't stack an empty buffer, just handle
3525 PCH files immediately. Pass header_name field to read_pch callback.
3526
3527 2002-11-19 Geoffrey Keating <geoffk@apple.com>
3528
3529 * function.c (funcdef_no): Mark to be saved in a PCH.
3530
3531 2002-11-15 Geoffrey Keating <geoffk@apple.com>
3532
3533 * ggc-page.c (ggc_pch_read): Remove unused 'bmap_size'.
3534
3535 * cpppch.c (cpp_read_state): Correct size reallocated for 'defn'.
3536
3537 2002-11-14 Geoffrey Keating <geoffk@apple.com>
3538
3539 * optabs.h (code_to_optab): Add GTY marker.
3540
3541 2002-11-13 Geoffrey Keating <geoffk@apple.com>
3542
3543 * Makefile.in (GTFILES): Add cpplib.h.
3544 * c-common.h (struct c_common_identifier): Don't skip 'node' field.
3545 * c-decl.c (build_compound_literal): Don't use var_labelno.
3546 * cpplib.h (struct cpp_hashnode): Use gengtype to mark.
3547 * dwarf2asm.c (dw2_force_const_mem): Don't use const_labelno.
3548 * varasm.c (const_labelno): Use gengtype to mark.
3549 (var_labelno): Likewise.
3550 (in_section): Likewise.
3551 (in_named_name): Likewise.
3552 (struct in_named_entry): Likewise.
3553 (in_named_htab): Likewise.
3554 (set_named_section_flags): Use GGC to allocate struct in_named_entry.
3555 (init_varasm_once): Use GGC to allocate in_named_htab.
3556 * config/darwin.c (current_pic_label_num): Mark for PCH.
3557
3558 2002-11-11 Geoffrey Keating <geoffk@apple.com>
3559
3560 * ggc-simple.c (init_ggc_pch): New stub procedure.
3561 (ggc_pch_count_object): Likewise.
3562 (ggc_pch_total_size): Likewise.
3563 (ggc_pch_this_base): Likewise.
3564 (ggc_pch_alloc_object): Likewise.
3565 (ggc_pch_prepare_write): Likewise.
3566 (ggc_pch_write_object): Likewise
3567 (ggc_pch_finish): Likewise.
3568 (ggc_pch_read): Likewise.
3569
3570 2002-11-08 Geoffrey Keating <geoffk@apple.com>
3571
3572 * c-pch.c (c_common_write_pch): Write the macro definitions after
3573 the GCed data.
3574 (c_common_read_pch): Call cpp_prepare_state. Restore the macro
3575 definitions after the GCed data.
3576 * cpplib.c (save_macros): New.
3577 (reset_ht): New.
3578 (cpp_write_pch_deps): Split out of cpp_write_pch.
3579 (cpp_write_pch_state): Split out of cpp_write_pch.
3580 (cpp_write_pch): Delete.
3581 (struct save_macro_data): Delete.
3582 (cpp_prepare_state): New.
3583 (cpp_read_state): Erase and restore initial macro definitions.
3584 * cpplib.h (struct save_macro_data): Forward-declare.
3585 (cpp_write_pch_deps): Prototype.
3586 (cpp_write_pch_state): Prototype.
3587 (cpp_write_pch): Delete prototype.
3588 (cpp_prepare_state): Prototype.
3589 (cpp_read_state): Add fourth argument.
3590
3591 2002-11-04 Geoffrey Keating <geoffk@apple.com>
3592
3593 * gengtype.c (adjust_field_rtx_def): Don't use skip on valid fields.
3594 (write_array): Remove warning.
3595
3596 * gengtype.c (contains_scalar_p): New.
3597 (finish_root_table): Add the table to all languages, even if it's
3598 empty.
3599 (write_roots): Output gt_pch_scalar_rtab.
3600 * ggc-common.c (gt_pch_save): Write out scalars.
3601 (gt_pch_restore): Read scalars back.
3602
3603 * ggc-page.c (OBJECTS_IN_PAGE): New macro.
3604 (struct page_entry): Delete pch_page field.
3605 (ggc_recalculate_in_use_p): Use OBJECTS_IN_PAGE.
3606 (clear_marks): Likewise.
3607 (sweep_pages): Likewise.
3608 (poison_pages): Likewise.
3609 (ggc_print_statistics): Likewise.
3610 (ggc_pch_read): Don't free objects read from a PCH.
3611 Properly set up in_use_p and page_tails.
3612
3613 2002-10-25 Geoffrey Keating <geoffk@apple.com>
3614
3615 * gengtype.c (struct write_types_data): New.
3616 (struct walk_type_data): Make `cookie' const; add extra
3617 prev_val item; add `orig_s' field.
3618 (walk_type): Update prev_val[3].
3619 (write_types_process_field): New.
3620 (write_func_for_structure): Take write_types_data structure.
3621 (write_types): New.
3622 (ggc_wtd): New.
3623 (pch_wtd): New.
3624 (write_types_local_process_field): New.
3625 (gc_mark_process_field): Delete.
3626 (write_local_func_for_structure): New.
3627 (gc_mark_func_name): Delete.
3628 (write_gc_types): Delete.
3629 (write_local): New.
3630 (finish_root_table): Don't include 'ggc_' in PFX.
3631 (write_root): Rename from write_root. Fill pchw field of structures.
3632 (write_array): New.
3633 (write_roots): Rename from write_gc_roots. Split out to write_array.
3634 Update to changes to other routines. Write gt_pch_cache_rtab table.
3635 (main): Write PCH walking routines.
3636 * ggc-common.c: Include toplev.h, sys/mman.h.
3637 (ggc_mark_roots): For cache hashtables, also mark the hash table
3638 and the array of entries.
3639 (saving_htab): New.
3640 (struct ptr_data): New.
3641 (POINTER_HASH): New.
3642 (gt_pch_note_object): New.
3643 (saving_htab_hash): New.
3644 (saving_htab_eq): New.
3645 (struct traversal_state): New.
3646 (call_count): New.
3647 (call_alloc): New.
3648 (compare_ptr_data): New.
3649 (relocate_ptrs): New.
3650 (write_pch_globals): New.
3651 (struct mmap_info): New.
3652 (gt_pch_save): New.
3653 (gt_pch_restore): New.
3654 * ggc-page.c (ROUND_UP_VALUE): New.
3655 (ROUND_UP): New.
3656 (struct page_entry): Add field `pch_page'.
3657 (init_ggc): Use ROUND_UP.
3658 (struct ggc_pch_data): Declare.
3659 (init_ggc_pch): New.
3660 (ggc_pch_count_object): New.
3661 (ggc_pch_total_size): New.
3662 (ggc_pch_this_base): New.
3663 (ggc_pch_alloc_object): New.
3664 (ggc_pch_prepare_write): New.
3665 (ggc_pch_write_object): New.
3666 (ggc_pch_finish): New.
3667 (ggc_pch_read): New.
3668 * ggc.h (gt_pointer_operator): New.
3669 (gt_note_pointers): New.
3670 (gt_pch_note_object): New prototype.
3671 (gt_pointer_walker): New.
3672 (struct ggc_root_tab): Use gt_pointer_walker, add `pchw' field.
3673 (LAST_GGC_ROOT_TAB): Update.
3674 (gt_pch_cache_rtab): Declare.
3675 (gt_pch_scalar_rtab): Declare.
3676 (struct ggc_cache_tab): Use gt_pointer_walker, add `pchw' field.
3677 (LAST_GGC_CACHE_TAB): Update.
3678 (gt_pch_save_stringpool): Declare.
3679 (gt_pch_restore_stringpool): Declare.
3680 (gt_pch_p_S): Declare.
3681 (gt_pch_n_S): Declare.
3682 (struct ggc_pch_data): Forward-declare.
3683 (init_ggc_pch): Declare.
3684 (ggc_pch_count_object): Declare.
3685 (ggc_pch_total_size): Declare.
3686 (ggc_pch_this_base): Declare.
3687 (ggc_pch_alloc_object): Declare.
3688 (ggc_pch_prepare_write): Declare.
3689 (ggc_pch_write_object): Declare.
3690 (ggc_pch_finish): Declare.
3691 (ggc_pch_read): Declare.
3692 (gt_pch_save): Declare.
3693 (gt_pch_restore): Declare.
3694 * fold-const.c (size_int_type_wide): Allocate size_htab using GGC.
3695 * emit-rtl.c (init_emit_once): Allocate const_int_htab,
3696 const_double_htab, mem_attrs_htab using GGC.
3697 * c-pch.c: Include ggc.h.
3698 (pch_init): Allow reading PCH file back.
3699 (c_common_write_pch): Call gt_pch_save.
3700 (c_common_read_pch): Call gt_pch_restore.
3701 * c-parse.in (init_reswords): Delete now-untrue comment.
3702 Allocate ridpointers using GGC.
3703 * c-objc-common.c (c_objc_common_finish_file): Write PCH before
3704 calling expand_deferred_fns.
3705 * c-common.h (ridpointers): Mark for GTY machinery.
3706 * Makefile.in (stringpool.o): Update dependencies.
3707 (c-pch.o): Update dependencies.
3708 (ggc-common.o): Update dependencies.
3709 * stringpool.c: Include gt-stringpool.h.
3710 (gt_pch_p_S): New.
3711 (gt_pch_n_S): New.
3712 (struct string_pool_data): New.
3713 (spd): New.
3714 (gt_pch_save_stringpool): New.
3715 (gt_pch_restore_stringpool): New.
3716 * tree.c (init_ttree): Make type_hash_table allocated using GC.
07488f32 3717
17211ab5
GK
3718 2002-10-04 Geoffrey Keating <geoffk@apple.com>
3719
3720 * gengtype.c (adjust_field_rtx_def): Don't pass size_t to printf.
3721 (output_mangled_typename): Don't pass size_t to printf.
3722
3723 * tree.h (union tree_type_symtab): Add tag to `address' field.
3724 (union tree_decl_u2): Add tag to 'i' field.
3725 * varasm.c (union rtx_const_un): Add tags to all fields.
3726 * gengtype.c (struct walk_type_data): New.
3727 (output_escaped_param): Take struct walk_type_data parameter.
3728 (write_gc_structure_fields): Delete.
3729 (walk_type): New.
3730 (write_gc_marker_routine_for_structure): Delete.
3731 (write_func_for_structure): New.
3732 (gc_mark_process_field): New.
3733 (gc_mark_func_name): New.
3734 (gc_counter): Delete.
3735 (write_gc_types): Use write_func_for_structure.
3736 (write_gc_roots): Use walk_type.
3737
3738 2002-10-02 Geoffrey Keating <geoffk@apple.com>
3739
3740 * ggc-common.c (ggc_mark_roots): Delete 'x'.
3741 (ggc_splay_dont_free): Fix warning about unused 'x'.
3742 (ggc_print_common_statistics): Remove warnings.
3743
3744 2002-10-01 Mike Stump <mrs@apple.com>
3745
07488f32
ZW
3746 * ggc-common.c (ggc_splay_alloc): Actually return the allocated area.
3747 * gengtype.c (write_gc_structure_fields): Handle param[digit]_is.
17211ab5
GK
3748
3749 2002-09-01 Geoffrey Keating <geoffk@redhat.com>
3750 Catherine Moore <clm@redhat.com>
3751
3752 * Makefile (c-pch.o): Update dependencies.
3753 (LIBCPP_OBJS): Add cpppch.o.
3754 (cpppch.o): New.
3755 * c-common.c (c_common_init): Don't call pch_init here.
3756 * c-common.h (c_common_read_pch): Update prototype.
3757 * c-lex.c (c_common_parse_file): Call pch_init here.
3758 * c-opts.c (COMMAND_LINE_OPTIONS): Add -Winvalid-pch, -fpch-deps.
3759 (c_common_decode_option): Handle them.
3760 * c-pch.c: Include c-pragma.h.
3761 (save_asm_offset): Delete.
3762 (pch_init): Move contents of save_asm_offset into here, call
3763 cpp_save_state.
3764 (c_common_write_pch): Call cpp_write_pch.
3765 (c_common_valid_pch): Warn only when -Winvalid-pch. Call
3766 cpp_valid_state.
3767 (c_common_read_pch): Add NAME parameter. Call cpp_read_state.
07488f32 3768 * cppfiles.c (stack_include_file): Update for change to
17211ab5
GK
3769 parameters of cb.read_pch.
3770 * cpphash.h (struct cpp_reader): Add `savedstate' field.
3771 * cpplib.h (struct cpp_options): Add `warn_invalid_pch' and
3772 `restore_pch_deps' fields.
3773 (struct cpp_callbacks): Add NAME parameter to `read_pch'.
3774 (cpp_save_state): Prototype.
3775 (cpp_write_pch): Prototype.
3776 (cpp_valid_state): Prototype.
3777 (cpp_read_state): Prototype.
3778 * cpppch.c: New file.
3779 * flags.h (version_flag): Remove prototype.
3780 * mkdeps.c (deps_save): New.
3781 (deps_restore): New.
3782 * mkdeps.h (deps_save): Prototype.
3783 (deps_restore): Prototype.
3784 * toplev.c (late_init_hook): Delete.
3785 (version_flag): Make static again.
3786 (compile_file): Don't call late_init_hook.
3787 * toplev.h (late_init_hook): Delete.
3788 * doc/cppopts.texi: Document -fpch-deps.
3789 * doc/invoke.texi (Warning Options): Document -Winvalid-pch.
3790
3791 2002-08-27 Geoffrey Keating <geoffk@redhat.com>
3792
3793 * c-pch.c (c_common_write_pch): Rename from c_write_pch, change
3794 callers.
3795 (c_common_valid_pch): Rename from c_valid_pch, change callers.
3796 (c_common_read_pch): Rename from c_read_pch, change callers.
3797
3798 * c-opts.c (COMMAND_LINE_OPTIONS): Allow -output-pch= to have
3799 a space between it and its argument.
3800
3801 2002-08-24 Geoffrey Keating <geoffk@redhat.com>
3802
3803 * c-pch.c: New file.
3804 * toplev.h (late_init_hook): Declare.
3805 * toplev.c (late_init_hook): Define.
3806 (version_flag): Make globally visible.
3807 (compile_file): Call late_init_hook.
3808 (init_asm_output): Make output file seekable.
3809 * gcc.c (default_compilers): Update c-header rule.
3810 * flags.h (version_flag): Declare.
3811 * cpplib.h (struct cpp_callbacks): Add 'valid_pch' and 'read_pch'
3812 fields.
3813 * cppfiles.c (struct include_file): Add 'pch' field.
3814 (INCLUDE_PCH_P): New.
3815 (open_file_pch): New.
3816 (stack_include_file): Handle PCH files specially.
3817 (find_include_file): Call open_file_pch instead of open_file.
3818 (_cpp_read_file): Explain why open_file is used instead of
3819 open_file_pch.
3820 * c-opts.c (c_common_decode_option): Correct OPT__output_pch case.
3821 * c-objc-common.c (c_objc_common_finish_file): Call c_write_pch.
3822 * c-lex.c (init_c_lex): Set valid_pch and read_pch fields
3823 in cpplib callbacks.
3824 * c-common.c (pch_file): Correct comment.
3825 (allow_pch): Define.
3826 (c_common_init): Call pch_init.
3827 * c-common.h (allow_pch): Declare.
3828 (pch_init): Declare.
3829 (c_valid_pch): Declare.
3830 (c_read_pch): Declare.
3831 (c_write_pch): Declare.
3832 * Makefile.in (c-pch.o): New.
3833 (C_AND_OBJC_OBJS): Add c-pch.o.
3834 * doc/invoke.texi (Precompiled Headers): Add index entries,
3835 complete truncated paragraph.
3836
3837 2002-08-17 Geoffrey Keating <geoffk@redhat.com>
3838
3839 * c-common.c: (pch_file): Define.
3840 * c-common.h (pch_file): Declare.
3841 * c-opts.c (COMMAND_LINE_OPTIONS): Add --output-pch=.
3842 (missing_arg): Require --output-pch= to have an argument.
3843 (c_common_decode_option): Handle --output-pch=.
3844 * gcc.c: Document new %V.
3845 (default_compilers): Handle compiling C header files.
3846 (do_spec_1): Implement %V.
3847 (main): Handle "gcc foo.h" without trying to run linker.
3848 * doc/invoke.texi (Invoking GCC): Add new menu item for PCH.
3849 (Overall Options): Document what the driver does with header files,
3850 document new -x option possibilities.
3851 (Invoking G++): More documentation for PCH.
3852 (Precompiled Headers): New.
3853
3854 2002-08-09 Geoffrey Keating <geoffk@redhat.com>
3855
3856 * ggc.h: Don't include varray.h. Rearrange functions to be more
3857 organized.
3858 (ggc_add_root): Delete.
3859 (ggc_mark_rtx): Delete.
3860 (ggc_mark_tree): Delete.
3861 (struct ggc_statistics): Remove contents.
3862 * ggc-common.c: Remove unneeded includes.
3863 (struct ggc_root): Delete.
3864 (roots): Delete.
3865 (ggc_add_root): Delete.
3866 (ggc_mark_roots): Don't mark `roots'. Call ggc_mark_stringpool.
3867 (ggc_print_common_statistics): Remove most of the contents.
3868 * Makefile.in (GGC_H): No longer uses varray.h.
3869 (ggc-common.o): Update dependencies.
3870 (c-parse.o): Add varray.h to dependencies.
3871 (c-common.o): Add varray.h.
3872 * stringpool.c (mark_ident): Use mangled name for tree marker routine.
3873 (mark_ident_hash): Rename to ggc_mark_stringpool.
3874 (init_stringpool): Don't use ggc_add_root.
3875 * c-parse.in: Include varray.h.
3876 * c-common.c: Include varray.h.
3877 * objc/Make-lang.in (objc-act.o): Add varray.h.
3878 * objc/objc-act.c: Include varray.h.
3879
3880 2002-07-25 Geoffrey Keating <geoffk@redhat.com>
3881
3882 * dwarf2out.c (dw_cfi_oprnd2_desc): Fix ISO-only function definition.
3883 (dw_cfi_oprnd1_desc): Likewise.
3884
3885 2002-07-17 Geoffrey Keating <geoffk@redhat.com>
3886
3887 * config/alpha/alpha.c (struct alpha_links): Use gengtype to mark;
3888 move out of ifdef.
3889 (alpha_links): Use gengtype to mark; move out of ifdef.
3890 (mark_alpha_links_node): Delete.
3891 (mark_alpha_links): Delete.
3892 (alpha_need_linkage): Use GGC to allocate splay tree, struct
3893 alpha_links, strings. Don't use ggc_add_root.
3894 * ggc-common.c (ggc_splay_alloc): New.
3895 (ggc_splay_dont_free): New.
3896 * ggc.h (ggc_mark_rtx): Update for changed name mangling.
3897 (ggc_mark_tree): Likewise.
3898 (splay_tree_new_ggc): New.
3899 (ggc_splay_alloc): Declare.
3900 (ggc_splay_dont_free): Declare.
3901 * dwarf2asm.c: Include gt-dwarf2asm.h.
3902 (mark_indirect_pool_entry): Delete.
3903 (mark_indirect_pool): Delete.
3904 (indirect_pool): Use gengtype to mark.
3905 (dw2_force_const_mem): Don't use ggc_add_root.
3906 * Makefile.in (dwarf2asm.o): Depend on gt-dwarf2asm.h.
3907 (GTFILES): Add SPLAY_TREE_H, dwarf2asm.c.
3908 (gt-dwarf2asm.h): Depend on s-gtype.
3909
3910 2002-07-08 Geoffrey Keating <geoffk@redhat.com>
3911
3912 * tree.h (union tree_type_symtab): Mark `die' field.
3913 * Makefile.in (dwarf2out.o): Update dependencies.
3914 * dwarf2out.c: Use GGC to allocate all structures. Convert to htab_t
3915 hash tables.
3916 (dw_cfi_oprnd1_desc): New function.
3917 (dw_cfi_oprnd2_desc): New function.
3918 (indirect_string_alloc): Delete.
3919 (debug_str_do_hash): New function.
3920 (debug_str_eq): New function.
3921 (mark_limbo_die_list): Delete.
3922 (dwarf2out_init): Don't call ggc_add_root.
3923
30028c85
VM
39242003-01-09 Vladimir Makarov <vmakarov@redhat.com>
3925
3926 The following changes are merged from itanium-sched-branch:
3927
3928 2003-01-08 David Edelsohn <edelsohn@gnu.org>
3929
3930 * doc/md.texi: Clarify assignment of units to automata description.
3931
3932 2003-01-08 Vladimir Makarov <vmakarov@redhat.com>
3933
3934 * genautomata.c (unit_decl): Remove members
3935 `the_same_automaton_unit' and
3936 `the_same_automaton_message_reported_p'.
3937 (process_unit_to_form_the_same_automaton_unit_lists,
3938 form_the_same_automaton_unit_lists_from_regexp,
3939 form_the_same_automaton_unit_lists, the_same_automaton_lists):
3940 Remove them.
3941 (annotation_message_reported_p): New global variable.
3942 (check_unit_distribution_in_reserv,
3943 check_regexp_units_distribution): New functions.
3944 (check_unit_distributions_to_automata): Rewrite it.
3945
3946 2003-01-04 Vladimir Makarov <vmakarov@redhat.com>
3947
3948 * genautomata.c (form_the_same_automaton_unit_lists_from_regexp):
3949 Use continue instead of break if cycle is too big.
3950
3951 2002-12-20 Vladimir Makarov <vmakarov@redhat.com>
3952
3953 * genautomata.c (check_unit_distributions_to_automata): Output at
3954 most one message for a unit.
3955 (process_unit_to_form_the_same_automaton_unit_lists): Check
3956 automaton of units instead of units themself.
3957
3958 * doc/md.texi: Describe the constraint about assigning unit to
3959 automata.
3960
3961 2002-12-20 Jan Hubicka <jH@suse.cz>
3962 Vladimir Makarov <vmakarov@redhat.com>
3963
3964 * genautomata.c (unit_decl): Add new members `min_occ_cycle_num'
3965 and `in_set_p'.
3966 (gen_cpu_unit): Initialize the new members.
3967 (process_regexp_cycles): Calculate minimal finish cycle too. Set
3968 up `min_occ_cycle_num'.
3969 (evaluate_max_reserv_cycles): Change the function call.
3970 (CLEAR_BIT): New macro.
3971 (states_union, state_shift): Use the mask.
3972 (initiate_excl_sets, form_reserv_sets_list): Set up `in_set_p'.
3973 (form_reservs_matter): New function.
3974 (make_automaton): Call the function and use the mask.
3975 (estimate_one_automaton_bound): Take `min_occ_cycle_num' into
3976 account.
07488f32 3977
30028c85
VM
3978 2002-12-17 Vladimir Makarov <vmakarov@redhat.com>
3979
3980 * config/ia64/itanium2.md (lfetch): Change the insn reservation.
3981
3982 2002-12-17 Vladimir Makarov <vmakarov@redhat.com>
3983
3984 * config/ia64/ia64.c (bundling): Try to insert 2 nops for M insn
3985 for Itanium.
3986
3987 2002-12-17 Vladimir Makarov <vmakarov@redhat.com>
3988
3989 * config/ia64/ia64.c (ia64_override_options): Make itanium2 as
3990 default cpu.
3991
3992 2002-12-17 Vladimir Makarov <vmakarov@redhat.com>
3993 2002-10-31 Dale Johannesen <dalej@apple.com>
3994
3995 * haifa-sched.c (find_set_reg_weight): New function.
3996 (find_insn_reg_weight): Use the new function.
3997 (schedule_block): Do sorting ready queue always
3998 after insn issue.
3999
4000 2002-11-27 Vladimir Makarov <vmakarov@redhat.com>
4001
4002 * config/ia64/ia64.c (bundling): Use MFI template instead of MLX.
4003
4004 2002-11-19 Vladimir Makarov <vmakarov@redhat.com>
4005
4006 * haifa-sched.c (choice_entry): New structure.
4007 (choice_stack, cycle_issued_insns): New variables.
4008 (max_issue): Rewrite it.
4009 (choose_ready): Set up ready_try for unknown insns too.
4010 (schedule_block): Allocate and free choice_stack. Set up
4011 and modify cycle_issued_insns.
4012
4013 * config/ia64/ia64.c (issue_nops_and_insn): Combine insn issue
4014 with and without filling the bundle.
4015 (bundling): Combine calls of issue_nops_and_insn.
07488f32 4016
30028c85
VM
4017 2002-10-17 Vladimir Makarov <vmakarov@redhat.com>
4018
4019 * config/ia64/itanium1.md: New file.
4020
4021 * config/ia64/itanium2.md: New file.
4022
4023 * config/ia64/ia64.md: Move DFA descriptions into the new files.
4024 Remove the old pipeline description.
07488f32 4025
30028c85
VM
4026 * config/ia64/ia64.c (ia64_override_options): Add aliases of
4027 itanium processor names.
07488f32 4028
30028c85
VM
4029 2002-10-16 Vladimir Makarov <vmakarov@redhat.com>
4030
4031 * config/ia64/ia64.c (bundling): Print states for Itanium2 too.
4032 (ia64_reorg): Set up queried unit codes for Itanium2 too.
4033
4034 * config/ia64/ia64.md: Add descriptions for Itanium2.
4035
4036 2002-10-08 Vladimir Makarov <vmakarov@redhat.com>
4037
4038 * config/ia64/ia64.h (processor_type): New enumeration.
4039 (ia64_tune, ia64_tune_string): New external declarations.
4040 (TARGET_OPTIONS): Add option `tune='.
4041
4042 * config/ia64/ia64.c (ia64_tune, ia64_tune_string): New global
4043 variables.
4044 (ia64_override_options): Set up `ia64_tune'.
4045 (ia64_sched_reorder2): Set up `clocks' only for Itanium.
4046 (ia64_dfa_new_cycle): Set up `add_cycles' only for Itanium.
4047 (bundling): Add nops for MM-insns only for Itanium.
4048 (ia64_reorg): Allocate and free `clocks' and `add_cycles' only for
4049 Itanium.
4050
4051 * config/ia64/ia64.md (cpu): New attribute.
4052 (DFA description): Enable it only for Itanium.
07488f32 4053
30028c85
VM
4054 2002-10-08 Vladimir Makarov <vmakarov@redhat.com>
4055 Richard Henderson <rth@redhat.com>
4056
4057 * config/ia64/ia64.h (MASK_TUNE_STOP_BITS): Rename it to
4058 MASK_EARLY_STOP_BITS.
4059 (TARGET_TUNE_STOP_BITS): Rename it to TARGET_EARLY_STOP_BITS.
4060 (TARGET_SWITCHES): Rename option `tune-stop-bits' to
4061 `early-stop-bits'.
07488f32 4062
30028c85
VM
4063 * config/ia64/ia64.c (ia64_dfa_new_cycle,
4064 final_emit_insn_group_barriers): Use TARGET_EARLY_STOP_BITS
4065 instead of TARGET_TUNE_STOP_BITS.
07488f32 4066
30028c85
VM
4067 * doc/invoke.texi: Rename option `-mtune-stop-bits' to
4068 `-mearly-stop-bits'.
4069
4070 * config/ia64/ia64.c (automata_option "v"): Comment it.
07488f32 4071
30028c85
VM
4072 2002-10-07 Vladimir Makarov <vmakarov@redhat.com>
4073
07488f32 4074 * config/ia64/ia64.h (MASK_TUNE_STOP_BITS, TARGET_TUNE_STOP_BITS):
30028c85
VM
4075 New macros.
4076 (TARGET_SWITCHES): Add entries for the new option.
07488f32 4077
30028c85
VM
4078 * config/ia64/ia64.c (dfa_stop_insn, last_scheduled_insn, rtx
4079 dfa_pre_cycle_insn, ia64_nop): Don't make them as roots for GC.
4080 (stops_p, stop_before_p, clocks_length, clocks, add_cycles): New
4081 global variables.
4082 (ia64_sched_reorder2): Set up `clocks'.
4083 (ia64_variable_issue): Set up `stops_p' and reset `stop_before_p'.
4084 (ia64_dfa_new_cycle): Set up add_cycle. Permit sorting ready
4085 queue when TARGET_TUNE_STOP_BITS.
4086 (bundling): Insert additional nops for MM-insns.
4087 (final_emit_insn_group_barriers): Add insertion of stop bits
4088 according `stops_p'.
4089 (ia64_reorg): Initiate the new varibales.
4090
4091 * doc/invoke.texi: Add description of option `-mtune-stop-bits'.
07488f32 4092
30028c85
VM
4093 2002-10-02 Vladimir Makarov <vmakarov@redhat.com>
4094
4095 * haifa-sched.c (schedule_block): Modify INSN_TICK of depended
4096 insns at the end of block insn scheduling.
4097
4098 2002-09-30 Vladimir Makarov <vmakarov@redhat.com>
4099
4100 * sched-deps.c (remove_dependence, group_leader): Remove it.
4101 (add_dependence): Add dependence to group leader to.
4102 (set_sched_group_p): Add dependence to the first insn of the
4103 schedule group too.
4104 (sched_analyze_insn): Make dependence to jump as anti-dependence.
4105 Change true dependence by anti-dependence when
4106 `reg_pending_barrier'.
4107
4108 * sched-rgn.c (init_ready_list, can_schedule_ready_p,
4109 add_branch_dependences): Ignore schedule groups.
4110
4111 * sched-ebb.c (init_ready_list): Ditto.
4112
4113 * (move_insn, set_priorities): Ditto.
4114
4115 * config/ia64/ia64.c (ia64_sched_init): Check that schedule group
4116 flag is clear after reload.
4117 (adjust_cost): Change cost only for output dependencies.
07488f32 4118
30028c85 4119 * config/ia64/ia64.md: Add more insns into bypass for MM-insns.
07488f32 4120
30028c85
VM
4121 2002-09-26 Vladimir Makarov <vmakarov@redhat.com>
4122
4123 * Makefile.in (sched-ebb.o): Add `$(TARGET_H)' to the entry.
4124
4125 * target.h (gcc_target): Add member
4126 `dependencies_evaluation_hook'.
4127
4128 * target-def.h (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK): New
4129 macro.
4130 (TARGET_SCHED): Add initiatialization of the new member.
4131
4132 * sched-ebb.c: Include `target.h'.
4133 (schedule_ebb): Call `dependencies_evaluation_hook'.
4134
4135 * sched-rgn.c (schedule_region): Call
4136 `dependencies_evaluation_hook'.
4137
4138 * config/ia64/ia64.c (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK):
4139 New macro.
4140 (ia64_dependencies_evaluation_hook): New function.
4141
4142 * doc/tm.texi (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK):
4143 Describe the new hook.
07488f32 4144
30028c85
VM
4145 2002-09-25 Vladimir Makarov <vmakarov@redhat.com>
4146
4147 * target.h (gcc_target): Add members
4148 `first_cycle_multipass_dfa_lookahead_guard' and `dfa_new_cycle'.
4149
4150 * target-def.h (TARGET_SCHED_DFA_NEW_CYCLE,
4151 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD): New
4152 macros.
4153 (TARGET_SCHED): Add initiatialization of the new members.
4154
4155 * haifa-sched.c (schedule_insn): Update last_clock_var for the 1st
4156 insn scheduling too.
4157 (choose_ready): Use `first_cycle_multipass_dfa_lookahead_guard' to
4158 initialize `ready_try'.
4159 (schedule_block): Use `dfa_new_cycle'. Sort `ready' only unless
4160 `dfa_new_cycle' says not to do it.
07488f32 4161
30028c85
VM
4162 * config/ia64/ia64.md: Add DFA Itanium 1 description for insn
4163 bundling.
4164
4165 * config/ia64/ia64.h (CPU_UNITS_QUERY): New macro.
4166
4167 * config/ia64/ia64.c: Include `hashtab.h'.
4168 (ia64_first_cycle_multipass_dfa_lookahead_guard,
4169 ia64_dfa_new_cycle, final_emit_insn_group_barriers,
4170 ia64_dfa_sched_reorder, get_free_bundle_state, free_bundle_state,
4171 initiate_bundle_states, finish_bundle_states, bundle_state_hash,
4172 bundle_state_eq_p, insert_bundle_state,
4173 initiate_bundle_state_table, finish_bundle_state_table,
4174 try_issue_nops, try_issue_insn, issue_nops_and_insn, get_max_pos,
4175 get_template, get_next_important_insn, bundling): New functions.
4176 (ia64_internal_sched_reorder): Remove it.
4177 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
4178 TARGET_SCHED_DFA_NEW_CYCLE): New macros.
4179 (ia64_safe_itanium_requires_unit0): Remove it.
4180 (group_barrier_needed_p): Place group barrier right before a real
4181 insn.
4182 (bundle, ia64_packet, NR_PACKETS, type_names, packets, packets):
4183 Remove them.
4184 (bundle_name): New variable.
4185 (_0mii_, _0mmi_, _0mfi_, _0mmf_, _0bbb_, _0mbb_, _0mib_, _0mmb_,
4186 _0mfb_, _0mlx_, _1mii_, _1mmi_, _1mfi_, _1mmf_, _1bbb_, _1mbb_,
4187 _1mib_, _1mmb_, _1mfb_, _1mlx_, pos_1, pos_2, pos_3, pos_4, pos_5,
4188 pos_6, dfa_stop_insn, last_scheduled_insn, dfa_state_size,
4189 temp_dfa_state, prev_cycle_state): New global variables.
4190 (insn_matches_slot, maybe_rotate, finish_last_head,
4191 rotate_one_bundle, rotate_one_bundles, nop_cycles_until,
4192 cycle_end_fill_slots, packet_matches_p, get_split, find_best_insn,
4193 find_best_packet, itanium_reorder, dump_current_packet,
4194 schedule_stop, gen_nop_type, ia64_emit_nops): Remove them.
4195 (sched_data, sched_ready, sched_types): Remove them.
4196 (ia64_sched_init): Initiate only `last_scheduled_insn' and call
4197 `init_insn_group_barriers'.
4198 (ia64_sched_reorder, ia64_sched_reorder2): Call
4199 ia64_dfa_sched_reorder.
4200 (ia64_variable_issue): Rewrite it.
4201 (bundle_state): New structure.
4202 (index_to_bundle_states, bundle_states_num,
4203 allocated_bundle_states_chain, free_bundle_state_chain): New
4204 global variables.
4205 (ia64_sched_finish): Add stop bits and call `bundling' after the
4206 2nd insn scheduling.
4207 (ia64_use_dfa_pipeline_interface): Return zero always.
4208 (ia64_first_cycle_multipass_dfa_lookahead): Return 6 for the 2nd
4209 insn scheduling.
4210 (ia64_init_dfa_pre_cycle_insn): Initialize `dfa_state_size',
4211 `temp_dfa_state', `prev_cycle_state', and `dfa_stop_insn'.
4212 (ia64_reorg): Add bundling insns.
4213
4214 * doc/tm.texi
4215 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
4216 TARGET_SCHED_DFA_NEW_CYCLE): Describe the new hooks.
07488f32 4217
30028c85
VM
4218 2002-09-23 Vladimir Makarov <vmakarov@redhat.com>
4219
4220 * config/ia64/ia64.md: Add Itanium1 DFA description.
4221 (itanium_class): Add `nop' and `pre_cycle'. Add
4222 define_function_unit for `nop'.
4223 (nop): Change attribute `itanium_class'.
4224 (pre_cycle): New define_insn.
4225
4226 * config/ia64/ia64-protos.h (bundling_p): New external variable.
4227 (ia64_st_address_bypass_p, ia64_ld_address_bypass_p,
4228 ia64_produce_address_p): New function prototypes.
4229
4230 * config/ia64/ia64.c (bundling_p): New global variable.
4231 (ia64_use_dfa_pipeline_interface,
4232 ia64_first_cycle_multipass_dfa_lookahead,
4233 ia64_init_dfa_pre_cycle_insn, ia64_dfa_pre_cycle_insn): New
4234 functions.
4235 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
4236 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
4237 TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
4238 TARGET_SCHED_DFA_PRE_CYCLE_INSN): New macros.
4239 (ia64_sched_init, ia64_sched_reorder, ia64_sched_reorder2,
4240 ia64_variable_issue, ia64_sched_finish): Do nothing before reload.
4241 (dfa_pre_cycle_insn): New variable.
07488f32 4242
30028c85
VM
4243 2002-09-20 Vladimir Makarov <vmakarov@redhat.com>
4244
4245 * rtl.def (FINAL_PRESENCE_SET, FINAL_ABSENCE_SET): New
4246 constructions.
4247
4248 * genattrtab.h (gen_final_presence_set, gen_final_absence_set):
4249 New function prototypes.
4250
4251 * genattrtab.c (main): Process the new constructions.
4252
4253 * genautomata.c (gen_presence_absence_set,
4254 process_presence_absence_names, process_presence_absence_patterns,
4255 add_presence_absence, check_absence_pattern_sets): Add parameter
4256 `final_p'.
4257 (unit_decl): Add new members `final_presence_list' and
4258 `final_absence_list'.
4259 (unit_pattern_rel_decl): Add new member `final_p'.
4260 (gen_final_presence_set, gen_final_absence_set): New functions.
4261 (process_decls): Use member `final_p'.
4262 (temp_reserv): New global variable.
4263 (reserv_sets_are_intersected): Add processing `final_presence_set'
4264 and `final_absence_set'.
4265 (initiate_states): Allocate `temp_reserv'.
4266 (unit_final_presence_set_table, unit_final_absence_set_table): New
4267 gloabal variables.
4268 (initiate_presence_absence_pattern_sets): Initiate them.
4269 (NDFA_to_DFA): Fix typo.
4270 (output_description): Output `final_presence_set' and
4271 `final_absence_set'.
4272
4273 * doc/md.texi (final_presence_set, final_absence_set): Describe
4274 them.
07488f32 4275
30028c85
VM
4276 2002-09-20 Vladimir Makarov <vmakarov@redhat.com>
4277
4278 * genautomata.c (transform_3): Process a missing case (nothing on
4279 unit place).
4280
4281 2002-09-20 Vladimir Makarov <vmakarov@redhat.com>
4282
4283 * rtl.def (DEFINE_QUERY_CPU_UNIT, AUTOMATA_OPTION): Change
4284 comments about queried units and the minimization.
07488f32 4285
30028c85 4286 * doc/md.texi: Ditto.
07488f32 4287
30028c85
VM
4288 * genautomata.c (create_composed_state): Return nonzero if the new
4289 state has been created.
4290 (first_cycle_unit_presence): New function.
4291 (state_is_differed): Add new parameter. Use the new function.
4292 Take queried units into account.
4293 (partition_equiv_class): Pass additional parameter to
4294 `state_is_differed'.
4295 (merge_states): Process composed states too.
4296 (build_automaton, create_automata, output_min_issue_delay_table,
4297 output_tables, output_statistics): Output more information.
4298 (output_reserved_units_table): Use function
4299 `first_cycle_unit_presence'.
4300 (output_tables): Output table of queried units even if the
4301 minimization is switched on.
4302 (write_automata): Output code for querying units even if the
4303 minimization is switched on.
07488f32 4304
30028c85
VM
4305 2002-09-19 Vladimir Makarov <vmakarov@redhat.com>
4306
4307 * rtl.def (PRESENCE_SET, ABSENCE_SET): Add comments about extended
4308 syntax of the constructions.
07488f32 4309
30028c85
VM
4310 * doc/md.texi (PRESENCE_SET, ABSENCE_SET): Add description of
4311 extended syntax of the constructions.
07488f32 4312
30028c85
VM
4313 * genautomata.c (unit_rel_decl): Rename it to
4314 `unit_pattern_rel_decl'.
4315 (pattern_set_el, pattern_reserv): New structures.
4316 (pattern_set_el_t, pattern_reserv_t): New types.
4317 (gen_presence_absence_set): New function.
4318 (process_presence_absence): Remove it.
4319 (process_presence_absence_names,
4320 process_presence_absence_patterns): New functions.
4321 (get_presence_absence_set): Remove it.
4322 (initiate_presence_absence_sets): Rename it on
4323 `initiate_presence_absence_pattern_sets'. Use new function
4324 `form_reserv_sets_list'.
4325 (form_reserv_sets_list, check_presence_pattern_sets,
4326 check_absence_pattern_sets, output_pattern_set_el_list): New
4327 functions.
4328 (unit_decl): Change types of members `presence_list' and
4329 `absence_list'.
4330 (unit_rel_decl): Rename member `names_num' to `all_names_num'.
4331 (decl): Change types of members `excl', `presence', and `absence'.
4332 (get_str_vect): Rename `par_flag' to `paren_p'. Add null element
4333 at the end of the vector.
4334 (gen_cpu_unit, gen_query_cpu_unit, gen_bypass, gen_excl_set,
4335 gen_automaton, gen_regexp_repeat, gen_regexp_allof,
4336 gen_regexp_oneof, gen_regexp_sequence): Use boolean values.
4337 (gen_presence_set, gen_absence_set): Use new function
4338 `gen_presence_absence_set'.
4339 (add_presence_absence): Process `pattern_list' instead of
4340 `source_list'.
4341 (process_decls): USe new functions
4342 `process_presence_absence_names' and
4343 `process_presence_absence_patterns'.
4344 (reserv_sets_are_intersected): Use new function
4345 `check_presence_pattern_sets'.
4346 (presence_set, absence_set): Remove them.
4347 (unit_presence_set_table, unit_absence_set_table): New global
4348 variables.
4349 (output_description): Use new function
4350 `output_pattern_set_el_list'.
4351 (generate): Use `initiate_presence_absence_pattern_sets'.
07488f32 4352
30028c85
VM
4353 2002-09-18 Vladimir Makarov <vmakarov@redhat.com>
4354
4355 * genattr.c (main): Add output of prototype of new interface
4356 function `dfa_clean_insn_cache'.
4357
4358 * genautomata.c (output_dfa_clean_insn_cache_func): New function.
4359 (DFA_CLEAN_INSN_CACHE_FUNC_NAME): New macro.
4360 (output_dfa_start_func): Use function `dfa_clean_insn_cache' in
4361 the generated code.
4362 (write_automata): Call the new function.
07488f32 4363
cb297538
JH
4364Thu Jan 9 22:47:38 CET 2003 Jan Hubicka <jh@suse.cz>
4365
17211ab5
GK
4366 * i386.md (unit, prefix_0f, memory attributes): Hanlde sseicvt
4367 correctly.
cb297538 4368
3a6e2189
PC
43692003-01-09 Paolo Carlini <pcarlini@unitus.it>
4370
4371 * doc/tm.texi (EXTRA_ADDRESS_CONSTRAINT): Fix typo.
4372
97488870
R
4373Thu Jan 9 17:26:40 2003 J"orn Rennecke <joern.rennecke@superh.com>
4374
4375 * defaults.h (EXTRA_MEMORY_CONSTRAINT): Add STR argument.
4376 (EXTRA_ADDRESS_CONSTRAINT): Likewise.
4377 (CONSTRAINT_LEN): Provide default definition.
4378 (CONST_OK_FOR_CONSTRAINT_P): Likewise.
4379 (CONST_DOUBLE_OK_FOR_CONSTRAINT_P): Likewise.
4380 (EXTRA_CONSTRAINT_STR): Likewise.
4381 (REG_CLASS_FROM_CONSTRAINT): Define.
4382 * genoutput.c (check_constraint_len, constraint_len): New functions.
4383 (validate_insn_alternatives): Check CONSTRAINT_LEN for each
4384 constraint / modifier.
4385 (gen_insn): Call check_constraint_len.
4386 * local-alloc.c (block_alloc): Update to use new macros / pass
4387 second argument to EXTRA_{MEMORY,ADDRESS}_CONSTRAINT.
4388 * ra-build.c (handle_asm_insn): Likewise.
4389 * recog.c (asm_operand_ok, preprocess_constraints): Likewise.
4390 (constrain_operands, peep2_find_free_register): Likewise.
4391 * regclass.c (record_operand_costs, record_reg_classes): Likewise.
4392 * regmove.c (find_matches): Likewise.
4393 * reload.c (push_secondary_reload, find_reloads): Likewise.
4394 (alternative_allows_memconst): Likewise.
4395 * reload1.c (maybe_fix_stack_asms): Likewise.
4396 (reload_cse_simplify_operands): Likewise.
4397 * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
4398 * doc/tm.texi (CONSTRAINT_LEN, REG_CLASS_FROM_CONSTRAINT): Document.
4399 (CONST_OK_FOR_CONSTRAINT_P): Likewise.
4400 (CONST_DOUBLE_OK_FOR_CONSTRAINT_P, EXTRA_CONSTRAINT_STR): Likewise.
4401 (EXTRA_MEMORY_CONSTRAINT, EXTRA_ADDRESS_CONSTRAINT): Add STR argument.
4402 * config/s390/s390.h (EXTRA_MEMORY_CONSTRAINT): Likewise.
e2c734c1
R
4403
4404 * sh.h (OVERRIDE_OPTIONS): Allow first scheduling pass for SH5.
4405
fc182093
KH
44062003-01-09 Kazu Hirata <kazu@cs.umass.edu>
4407
4408 * config/h8300/h8300.md (*extzv_1_r_h8300): Correct the insn
4409 length.
4410 (*extzv_1_r_h8300hs): Likewise.
4411 (*extzv_1_r_inv_h8300): Likewise.
4412 (*extzv_1_r_inv_h8300hs): Likewise.
4413
3b1c9927
KH
44142003-01-09 Kazu Hirata <kazu@cs.umass.edu>
4415
4416 * config/h8300/h8300.h (PREDICATE_CODES): New.
4417
867504e6
KH
44182003-01-09 Kazu Hirata <kazu@cs.umass.edu>
4419
4420 * config/h8300/h8300.md (*addsi3_upper): New.
4421 (*iorsi3_shift): Likewise.
4422 (two splitters): Likewise.
4423 (*addsi3_shift): Likewise.
4424 (two splitters): Likewise.
4425
4a69cf79
JZ
44262003-01-09 Josef Zlomek <zlomj9am@artax.karlin.mff.cuni.cz>
4427
4428 * Makefile.in (optabs.o): Add dependency on basic-block.h.
4429 * basic-block.h (control_flow_insn_p): Fuction was exported.
4430 * cfgbuild.c (control_flow_insn_p): Fuction was made non-static.
4431 * optabs.c (emit_libcall_block): Emit REG_LIBCALL and REG_RETVAL
4432 notes only when the region is contained in a single basic block.
4433
4c46ea23
EB
44342003-01-09 Eric Botcazou <ebotcazou@libertysurf.fr>
4435
4436 PR inline-asm/8832
4437 * tree.h (expand_asm): New prototype.
4438 * stmt.c (expand_asm): Set the MEM_VOLATILE_P flag if instructed
4439 to do so.
4440 * c-semantics (genrtl_asm_stmt): Pass the RID_VOLATILE qualifier
4441 down to expand_asm.
4442 * c-typeck.c (simple_asm_stmt): Set the RID_VOLATILE qualifier.
4443 * rtlanal.c (volatile_insn_p) [ASM_INPUT]: Test the MEM_VOLATILE_P flag.
4444 (volatile_refs_p) [ASM_INPUT]: Likewise.
4445 (side_effects_p) [ASM_INPUT]: Likewise.
4446
f56e86bd
JH
4447Thu Jan 9 12:00:36 CET 2003 Jan Hubicka <jh@suse.cz>
4448
4449 * i386.md (*mul*): FIx constraints; remove confused comment; fix
4450 athlon_decode attributes
4451 (imul/k8 optimization peep2s): New.
4452
4453 * athlon.md (athlon_ssecmp*): Handle ssecomi as well.
4454 * i386.md (type attribute): Add ssecomi.
4455 (unit, memory, prefix attributes): Handle ssecomi.
4456 (cvt?2? patterns): Fix athlon_decode attribute
4457 (comi patterns): Set attribute to ssecomi.
4458
4459 PR target/8343
4460 * m68k.md (umulsidi, mulsidi expanders): Use register operand.
4461
98c29f71
RS
44622003-01-09 Richard Sandiford <rsandifo@redhat.com>
4463
4464 * config/mips/mips.h (PREDICATE_CODES): Add ADDRESSOF for predicates
4465 that match register_operands.
4466 * config/mips/mips.c (reg_or_0_operand, true_reg_or_0_operand): Make
4467 register_operand the default case.
4468
bbb818c6
EB
44692003-01-09 Eric Botcazou <ebotcazou@libertysurf.fr>
4470
4471 PR c/8032
4472 * c-typeck.c (process_init_element) [RECORD_TYPE]: For
4473 an empty element, do not advance the pointer to unfilled
4474 fields if there are pending initializers.
4475
90961eff
AJ
44762003-01-09 Christian Cornelssen <ccorn@cs.tu-berlin.de>
4477
4478 * Makefile.in (ORDINARY_FLAGS_TO_PASS): Also pass DESTDIR.
4479 (install-gcc-tooldir, install-cpp, installdirs,
4480 install-common, install-driver, install-info, install-man,
4481 install-headers, install-include-dir, install-headers-tar,
4482 install-headers-cpio, install-headers-cp, install-mkheaders,
4483 install-collect2, uninstall): Prepend $(DESTDIR) to
4484 destination paths in all (un)installation commands.
4485 (install-driver): Rewrite $(LN) commands to support DESTDIR
4486 with "ln" as well as with "ln -s".
4487 (installdirs): Simply use mkinstalldirs.
4488 (install-libgcc, install-multilib): Also pass DESTDIR.
4489 * mklibgcc.in: Prepend $(DESTDIR) to $(libsubdir) in the
4490 installation destination variable ldir.
4491 * config/alpha/t-osf4, config/arm/t-netbsd,
4492 config/ia64/t-hpux, config/mips/t-iris5-6,
4493 config/pa/t-hpux-shlib, config/rs6000/t-aix43,
4494 config/rs6000/t-aix52, config/t-slibgcc-elf-ver,
4495 config/t-slibgcc-sld: Prepend $$(DESTDIR) to $$(slibdir)
4496 in the definition of SHLIB_INSTALL.
4497 * config/arc/t-arc (install-multilib-arc): Prepend $(DESTDIR) to
4498 $(libsubdir) in the installation commands.
4499
8b26829f
KK
45002003-01-08 Kaz Kojima <kkojima@gcc.gnu.org>
4501
4502 * config/sh/sh.h (CASE_VECTOR_MODE): Use SImode for a
4503 non-optimizing compile.
4504 (ASM_OUTPUT_ADDR_VEC_ELT): Use .long for a non-optimizing
4505 compile.
4506
fe77449a
DR
45072003-01-08 Douglas B Rupp <rupp@gnat.com>
4508
4509 * config/i386/i386.c (ix86_attribute_table): Add new attributes
4510 ms_struct and gcc_struct.
4511 (ix86_handle_struct_attribute): New function.
4512 (ix86_ms_bitfield_layout_p): Update to take new attributes
4513 into account.
4514 * doc/extend.texi: Document new attributes.
4515 * testsuite/gcc.dg/bf-ms-attrib.c: New test.
4516
98417968
DS
45172003-01-08 Danny Smith <dannysmith@users.sourceforge.net>
4518
07488f32
ZW
4519 PR optimization/8750
4520 * config/i386/i386.c (ix86_expand_prologue): Don't allow
4521 scheduling pass to move insns across __alloca call.
98417968 4522
e46e3130
DJ
45232003-01-08 Dale Johannesen <dalej@apple.com>
4524
07488f32
ZW
4525 * config/rs6000/rs6000.md: Replace *store_multiple_string
4526 with *stmsi[3-8].
e46e3130 4527
c40e5172
JS
45282003-01-08 Jeff Sturm <jsturm@one-point.com>
4529
4530 PR target/9210
4531 * config/rs6000/rs6000.c (rs6000_elf_encode_section_info):
4532 Set SYMBOL_REF_FLAG on local data sym_ref.
4533
de62b72c 45342003-01-08 Dale Johannesen <dalej@apple.com>
07488f32
ZW
4535
4536 * function.c (assign_parms): Don't set pretend_args_size if
de62b72c 4537 REG_PARM_STACK_SPACE.
07488f32 4538 config/rs6000/rs6000.c (setup_incoming_varargs): Don't set
de62b72c
DJ
4539 pretend_args_size.
4540
25839c41
NN
45412003-01-08 Nathanael Nerode <neroden@gcc.gnu.org>
4542
4543 * gcc.hlp: Delete.
4544
4bdc8610
JH
4545Thu Jan 9 00:57:15 CET 2003 Jan Hubicka <jh@suse.cz>
4546
4547 * i386.c (ix86_expand_int_addcc): Fix thinko.
4548
5b71a4e7
DE
45492003-01-08 David Edelsohn <edelsohn@gnu.org>
4550
4551 * config/rs6000/rs6000.h (FUNCTION_MODE): Always use SImode.
4552 * config/rs6000/rs6000.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Redefine
4553 as hook_bool_tree_hwi_hwi_tree_true.
4554 (rs6000_emit_allocate_stack): Use TARGET_32BIT.
4555 (rs6000_emit_epilogue): Same.
4556 (rs6000_output_mi_thunk): Re-implement as RTL.
4557 * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Call
4558 xcoffout_declare_function if any debugging enabled.
4559
2d2a50c3
CD
45602003-01-08 Chris Demetriou <cgd@broadcom.com>
4561
4562 * config.gcc (mipsisa32r2-*-elf*, mipsisa32r2el-*-elf*): New
4563 targets, to support MIPS32 Release 2 (MIPS32R2) configurations.
4564 * config/mips/mips.h (enum processor_type): Rename
4565 PROCESSOR_R4KC to PROCESSOR_4KC, PROCESSOR_R5KC to
4566 PROCESSOR_5KC, and PROCESSOR_R20KC to PROCESSOR_20KC.
4567 Add PROCESSOR_M4K.
4568 (TARGET_MIPS4KC, TARGET_MIPS5KC): Update for the renaming.
4569 (ISA_MIPS32R2): New define.
4570 (GENERATE_MULT3_SI, ISA_HAS_CONDMOVE, ISA_HAS_8CC)
4571 (ISA_HAS_MADD_MSUB, ISA_HAS_CLZ_CLO)
4572 (ISA_HAS_PREFETCH): Add support for MIPS32R2.
4573 (MIPS_ISA_DEFAULT): Likewise. Also, fix indentation.
4574 (TARGET_CPU_CPP_BUILTINS): Add support for MIPS32R2. Add new
4575 predefine __mips_isa_rev for MIPS32, MIPS32R2, and MIPS64.
4576 (ISA_HAS_ROTR_SI): Add support for MIPS32R2, and avoid if
4577 compiling MIPS16 code.
4578 (ISA_HAS_ROTR_DI): Do not use if compiling MIPS16 code, and fix
4579 comment.
4580 (ISA_HAS_SEB_SEH): New define.
4581 (ASM_SPEC, LINK_SPEC): Pass -mips32r2 to assembler and linker.
4582 * config/mips/mips.c (mips_cpu_info_table): Adjust for enum
4583 processor_type value renaming. Add support for MIPS32R2.
4584 Clean up comments, and move "sb1" entry with other MIPS64 CPU
4585 entries.
4586 (override_options): Reimplement -mipsN option handling so that
4587 it will work correctly for -mips32r2. Avoid branch-likely
4588 instructions on MIPS32R2.
4589 * config/mips/mips.md (mulsi3_mult3): Add support for MIPS32R2.
4590 (extendhisi2): Use extendhisi2_hw if ISA_HAS_SEB_SEH.
4591 (extendqisi2): Use extendqisi2_hw if ISA_HAS_SEB_SEH.
4592 (extendhisi2_hw, extendqisi2_hw): New.
4593 * config/mips/netbsd.h (TARGET_CPU_CPP_BUILTINS): Add support
4594 for MIPS32R2. Add new predefine __mips_isa_rev for MIPS32,
4595 MIPS32R2, and MIPS64.
4596 (LINK_SPEC): Pass -mips32r2 to linker.
4597 * config/mips/t-isa3264: Built -mips32r2 multilibs.
4598 * doc/invoke.texi (MIPS Options): Add -mips32r2, add support
4599 for mips32r2 in the -march description. Alphabetically sort
4600 CPU names in the -march description. Add long-missed -mips32
4601 and -mips64 to MIPS option summary.
4602
4603 * config.gcc: Update copyright years to include 2003.
4604 * config/mips/mips.c: Likewise.
4605 * config/mips/mips.h: Likewise.
4606 * config/mips/mips.md: Likewise.
4607 * config/mips/netbsd.h: Likewise.
4608 * doc/invoke.texi: Likewise.
4609
918c4fe4
AS
46102003-01-08 Andreas Schwab <schwab@suse.de>
4611
4612 * aclocal.m4 (gcc_AC_INITFINI_ARRAY): Fix spelling of cache
4613 variable.
4614 * configure: Regenerated.
4615
c5e7ce43
KH
46162003-01-08 Kazu Hirata <kazu@cs.umass.edu>
4617
4618 * config/h8300/h8300.c (output_logical_op): Replace byte/word
4619 extraction of det with b0, b1, w0, w2, etc.
4620 (compute_logical_op_length): Likewise.
4621 (compute_logical_op_cc): Likewise.
4622
eb8a8ec4
KH
46232003-01-08 Kazu Hirata <kazu@cs.umass.edu>
4624
4625 * config/h8300/h8300.h (CONSTANT_ADDRESS_P): Allow CONST and
4626 HIGH on all variants.
4627
56f15830 4628Wed Jan 8 14:06:34 CET 2003 Josef Zlomek <zlomj9am@artax.karlin.mff.cuni.cz>
07488f32 4629
56f15830
JZ
4630 * Makefile.in (PARTITION_H): New.
4631 (BASIC_BLOCK_H): Added hard-reg-set.h and $(PARTITION_H).
4632 * basic-block.h: Include hard-reg-set.h.
4633
ab57893b
RE
46342003-01-08 Richard Earnshaw <rearnsha@arm.com>
4635
4636 * arm.h (ENABLE_XF_PATTERNS): Delete.
4637 * arm.md (addxf3, subxf3, mulxf3, divxf3, modxf3, negxf2, absxf2)
4638 (sqrtxf2, floatsixf2, fix_truncxfsi2, truncxfsf2, truncxfdf2)
4639 (extendsfxf2, extenddfxf2, movxf, cmpxf, cmpxf_insn)
4640 (cmpxf_trap): Delete.
4641 (movxf_hard_insn): Remove test of ENABLE_XF_PATTERNS.
4642
7b52eede
JH
4643Wed Jan 8 12:10:57 CET 2003 Jan Hubicka <jh@suse.cz>
4644
4645 * i386.md (adddi3_carry_rex64, subdi3_carry_rex64): Name pattern.
4646 (addhi3_carry, addqi3_carry, subhi3_carry, subqi3_carry): New patterns.
4647 (add??cc): New expanders.
4648 * i386.c (expand_int_addcc): New function.
4649 * i386-protos.h (expand_int_addcc): Declare.
4650
4651 * alias.c (memory_modified_1): New static function.
4652 (memory_modified): New static varaible.
4653 (memory_modified_in_insn_p): New global function.
4654 * rtl.h (memory_modified_in_insn_p): Declare.
4655 * rtlanal.c (modified_between_p, modified_in_p): Be smart about memory
4656 references.
4657
4658 * expr.h (emit_conditional_add): Declare.
4659
74049755
JJ
46602003-01-07 Janis Johnson <janis187@us.ibm.com>
4661
4662 PR other/8947
4663 * doc/invoke.texi (-malign-double): Explain that the option breaks
4664 binary compatibility.
4665
e7edc5a0
AS
46662003-01-08 Andreas Schwab <schwab@suse.de>
4667
4668 * config.gcc (m68k-*-linux*): Don't set extra_parts and gnu_ld,
4669 should come from the generic *-*-linux* entry.
4670
9635cfad
JH
4671Tue Jan 7 22:29:56 CET 2003 Jan Hubicka <jh@suse.cz>
4672
4673 * cselib.c (cselib_current_insn_in_libcall): New static variable.
4674 (new_elt_loc_list, cselib_process_insn, cselib_init): Keep track on whether
4675 we are inside libcall.
4676 * cselib.h (elt_loc_list): Add in_libcall.
4677 * gcse.c (do_local_cprop): Do not copy propagate using insns
4678 in libcalls.
4679
3ee04299
DE
46802003-01-07 David Edelsohn <edelsohn@gnu.org>
4681
4682 * doc/tm.texi (TARGET_SCHED_VARIABLE_ISSUE): CLOBBER and USE do
4683 not normally affect to issue rate.
4684
068f5dea
JH
4685Tue Jan 7 21:46:57 CET 2003 Jan Hubicka <jh@suse.cz>
4686
4687 * genopinit.c (optabs): Add addc_optab.
4688 * ifcvt.c (noce_try_store_flag): Rename to ...
4689 (noce_try_addcc): ... this one; handle generic conditional increment.
4690 (noce_process_if_block): Update noce_try_addcc call.
4691 * optabs.c (emit_conditional_add): New.
4692 (init_obtabs): Initialize addc_optab.
4693 * optabs.h (optab_index): Add OTI_addcc.
4694 (addcc_optab): New macro.
4695 * md.texi: Document addMcc
4696
4697 PR target/8322
4698 * i386.c (ix86_init_mmx_sse_builtins): Constify arguments of loads.
4699 * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
4700 * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
4701
4702 * reload1.c (delete_output_reload): Avoid repeated attempts
4703 to delete insn.
4704
eb70d86d
AS
47052003-01-07 Andreas Schwab <schwab@suse.de>
4706
e7edc5a0
AS
4707 * configure.in: Restore CFLAGS before gcc_AC_INITFINI_ARRAY.
4708 Move --enable-initfini-array check ...
4709 * aclocal.m4 (gcc_AC_INITFINI_ARRAY): ... here. Define
4710 HAVE_INITFINI_ARRAY also when --enable-initfini-array is given.
4711 Don't AC_SUBST gcc_cv_initfinit_array. Use AC_TRY_RUN.
4712 * configure: Rebuild.
eb70d86d 4713
1afdf91c
RH
47142003-01-07 Richard Henderson <rth@redhat.com>
4715
e7edc5a0
AS
4716 * alias.c (find_base_value): Only use new_reg_base_value shortcut
4717 if the register is set once.
1afdf91c 4718
36210500 47192003-01-07 Sylvain Pion <Sylvain.Pion@mpi-sb.mpg.de>
07488f32 4720
36210500
SP
4721 * config/i386/i386.c (ix86_init_mmx_sse_builtins):
4722 __builtin_ia32_ldmxcsr and __builtin_ia32_stmxcsr are SSE, not MXX.
4723 * config/i386/i386.md (ldmxcsr, stmxcsr): SSE, not MMX.
4724
cb25b0ce
BK
47252003-01-07 Benjamin Kosnik <bkoz@redhat.com>
4726 Sunil Davasam <sunil.k.davasam@intel.com>
4727
07488f32 4728 PR libstdc++/9076
cb25b0ce
BK
4729 * unwind-dw2.c (execute_cfa_program): DW_CFA_undefined,
4730 DW_CFA_same_value, read next and ignore.
4731
94c040bd
RH
47322003-01-07 Richard Henderson <rth@redhat.com>
4733
4734 * cfganal.c (flow_call_edges_add): Don't crash on noreturn call.
4735
f6cb56fa
DB
47362003-01-07 Daniel Berlin <dberlin@dberlin.org>
4737
4738 * cfg.c: Include alloc-pool.h
4739 (edge_pool): New pool.
4740 (bb_pool): New pool.
4741 (first_deleted_edge): Remove.
4742 (first_deleted_block): Remove.
4743 (init_flow): Alloc/free the pools.
4744 (free_edge): Use pools.
4745 (alloc_block): Ditto.
4746 (expunge_block): Ditto.
4747 (cached_make_edge): Ditto.
4748
4749 * Makefile.in (cfg.o): Add alloc-pool.h dependency.
4750
47512003-01-07 Daniel Berlin <dberlin@dberlin.org>
4752
4753 * et-forest.c: Include alloc-pool.h.
4754 (struct et_forest): Add node_pool and occur_pool.
4755 (et_forest_create): Create the new pools.
4756 (et_forest_delete): Delete them.
4757 (et_forest_add_node): Allocate and free using pools.
4758 (et_forest_add_edge): Ditto.
4759 (et_forest_remove_node): Ditto.
4760 (et_forest_remove_edge): Ditto.
4761
4762 * Makefile.in (et-forest.o): Add alloc-pool.h dependency.
4763
f9ac2f95
KH
47642003-01-07 Kazu Hirata <kazu@cs.umass.edu>
4765
4766 * config/h8300/h8300.c (output_logical_op): Simplify and
4767 optimize the handling of SImode.
4768 * config/h8300/h8300.c (compute_logical_op_length): Update
4769 accordingly.
4770 * config/h8300/h8300.c (compute_logical_op_cc): Likewise.
4771
83282119
RS
47722003-01-07 Richard Sandiford <rsandifo@redhat.com>
4773
4774 * config/mips/mips.c (mips_va_arg): In the EABI code, apply the
4775 big-endian correction to indirect arguments too.
4776
59a4c851
AH
47772003-01-06 Aldy Hernandez <aldyh@redhat.com>
4778
4779 Segher Boessenkool <segher@koffie.nl>
4780
36210500
SP
4781 * config/rs6000/rs6000.c (rs6000_reg_names): Add missing registers.
4782 (alt_reg_names): Ditto, fix formatting.
4783 * config/rs6000/rs6000.h (DEBUG_REGISTER_NAMES): Fix formatting.
59a4c851 4784
7798db98
KH
47852003-01-06 Kazu Hirata <kazu@cs.umass.edu>
4786
4787 * config/h8300/h8300.c (final_prescan_insn): Constify uid.
4788 (output_logical_op): Constify intval and det.
4789 (compute_logical_length): Likewise.
4790 (compute_logical_cc): Likewise.
4791 (output_a_shift): Constify mask.
4792 (h8300_encode_label): Constify len.
4793
4705d102
KH
47942003-01-06 Kazu Hirata <kazu@cs.umass.edu>
4795
4796 * config/h8300/h8300.c (h8300_expand_prologue): Remove fsize.
4797 (h8300_expand_epilogue): Likewise.
4798
98c9a8e8
AH
47992003-01-06 Aldy Hernandez <aldyh@redhat.com>
4800
4801 Segher Boessenkool <segher@koffie.nl>
4802
36210500
SP
4803 * config/rs6000/altivec.md: Remove spaces from assembler
4804 instruction argument lists.
07488f32 4805
86143814
MH
48062003-01-07 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
4807
4808 * config/c4x/c4x.c (c4x_naked_function_p): Rename from
4809 c4x_assembler_function_p.
4810 (c4x_null_epilogue_p): Complement return value, all uses updated.
4811 (c4x_insert_attributes): Add naked.
4812 * config/c4x/c4x.md (c4x_null_epilogue_p): Changes uses.
4813 * doc/extend.texi: Update C4x function attributes.
4814
52fd80fb
RH
48152003-01-06 Richard Henderson <rth@redhat.com>
4816
4817 * config/alpha/alpha.c (alpha_encode_section_info): Adjust symbol_str
4818 properly when changing "local-ness".
4819 * config/alpha/alpha.md (movdi_er_high_g): Allow all symbols.
4820
a16b43c5
DJ
48212003-01-06 Dale Johannesen <dalej@apple.com>
4822
4823 * config/darwin-protos.h: Add prototypes for new section functions.
4824
ef8dfae6
CD
48252003-01-06 Chris Demetriou <cgd@broadcom.com>
4826
4827 * config.gcc (mipsisa32-*-elf*, mipsisa32el-*-elf*): Default ABI
4828 to EABI.
4829
44f9a8e4
ZW
48302003-01-06 Zack Weinberg <zack@codesourcery.com>
4831
4832 * hwint.h: If the current compiler has no 64-bit type at all,
4833 make HOST_WIDEST_INT 32 bits.
4834
2610198a
EC
48352003-01-06 Eric Christopher <echristo@redhat.com>
4836
4837 * config/mips/mips.md (movdf_internal2): Fix constraints.
4838
efbd757f
KH
48392003-01-06 Kazu Hirata <kazu@cs.umass.edu>
4840
4841 * config/h8300/h8300.md (*twoshifts_l16_r1): New.
4842
727b9b8c
RS
48432003-01-06 Richard Sandiford <rsandifo@redhat.com>
4844
4845 * config/mips/mips.md (leadi): Use dla rather than la.
4846
4705d102 48472003-01-06 Svein E. Seldal <Svein.Seldal@solidas.com>
cebdac46
SS
4848
4849 * config/c4x/c4x.h: Updated specs for new gas format. Fixed bug
4850 in C33_FLAG. Added proper C33 support in ASM_FILE_START macro.
4851
4705d102 48522003-01-06 Herman A.J. ten Brugge <hermantenbrugge@home.nl>
fe1e789f 4853
44f9a8e4 4854 * config/c4x/c4x.h: Remove hwint.h include and HOST_WIDE_INT_PRINT_HEX
fe1e789f
HB
4855 redefinition.
4856
dff0ea43
KH
48572003-01-05 Kazu Hirata <kazu@cs.umass.edu>
4858
4859 * config/h8300/h8300.md (*extzv_8_23): New.
4860
94e6fd3e
JDA
48612003-01-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
4862
4863 * pa64-hpux.h (JCR_SECTION_NAME): Define.
4864 (PA_INIT_FRAME_DUMMY_ASM_OP): Check EH_FRAME_SECTION_NAME instead of
4865 USE_EH_FRAME_REGISTRY when defining.
4866
cd9b5ca8
KH
48672003-01-05 Kazu Hirata <kazu@cs.umass.edu>
4868
4869 * config/h8300/h8300.c (output_a_shift): Do not output a
4870 variable shift.
4871 * config/h8300/h8300.md (two splitters): New.
4872
1ba8a9c4
RS
48732003-01-05 Richard Sandiford <rsandifo@redhat.com>
4874
4875 * config/mips/mips.md: Disable the movstrsi define_split.
4876
c7c50494
KG
48772003-01-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4878
4879 * alloc-pool.c: Don't include "libiberty.h".
4880 * config/sparc/gmon-sol2.c: Include <fcntl.h>.
4881 * convert.c (convert_to_real): Hide unused variable.
4882
83fa8d7a
KG
48832003-01-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4884
4885 * Makefile.in (gtyp-gen.h): Const-ify.
4886 * gcov-dump.c (tag_table): Likewise.
4887
871dab3e
BK
48882003-01-04 Bruce Korb <bkorb@gnu.org>
4889
4890 * fixinc/fixfixes.c(wrap_fix): the wrapper guard must be a function
4891 of *both* the file name and the fix name.
4892
90961eff 48932003-01-04 John David Anglin <dave.anglin@nrc.ca>
35d434ed
JDA
4894
4895 * config.gcc (hppa*64*-*-hpux11*): Define extra_parts. Don't use
4896 collect2.
4897 * pa-hpux11.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Undefine.
4898 (HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Define.
4899 * pa64-hpux.h (HP_INIT_ARRAY_SECTION_ASM_OP,
4900 GNU_INIT_ARRAY_SECTION_ASM_OP, HP_FINI_ARRAY_SECTION_ASM_OP,
4901 GNU_FINI_ARRAY_SECTION_ASM_OP): Define.
4902 (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Define when not using
4903 elfos.h.
4904 (EH_FRAME_IN_DATA_SECTION): Delete define.
4905 (HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Undefine.
4906 (STARTFILE_SPEC): Use crtbegin.o.
4907 (ENDFILE_SPEC): Use crtend.o.
4908 (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP, CRT_CALL_STATIC_FUNCTION,
4909 SUPPORTS_INIT_PRIORITY, PA_CXA_FINALIZE_STUB, PA_INIT_FINI_HACK,
4910 PA_INIT_FRAME_DUMMY_ASM_OP, PA_JV_REGISTERCLASSES_STUB,
4911 DTOR_LIST_BEGIN): Define.
4912 * pa.c (TARGET_ASM_CONSTRUCTOR): Define.
4913 (pa_asm_out_constructor, pa_asm_out_destructor): New functions.
4914 * som.h (SUPPORTS_INIT_PRIORITY): Delete define.
4915
b0588013
BK
49162002-12-31 Larin Hennessy <larin@science.oregonstate.edu>
4917
4918 * fixinc/fixinc.svr4: Remove references to i860, Sony NewsOS, and spur.
4919 * fixinc/inclhack.def: Remove tests for Apple A/UX, ARM/RISCiX, DG/UX,
4920 m88k-*-sysv3*, Sony NewsOS. Remove references to i860.
4921 Cleanup handling of replacement text.
4922 * fixinc/mkfixinc.sh: Remove reference to i?86-*-osf1*
4923
49242003-01-04 Bruce Korb <bkorb@gnu.org>
4925
4926 * fixinc/tests/base/math.h: removed obsolete results
4927 * fixinc/tests/base/stdlib.h: ditto
4928 * fixinc/tests/base/sys/param.h: ditto
4929 * fixinc/tests/base/sys/stat.h: ditto
4930 * fixinc/tests/base/time.h: ditto
4931 * fixinc/tests/base/X11/Intrinsic.h: removed obsolete file
4932 * fixinc/tests/base/sys/byteorder.h: ditto
4933 * fixinc/inclhack.def: Remove superfluous backslashes
4934
68ee6df6
KH
49352003-01-04 Kazu Hirata <kazu@cs.umass.edu>
4936
4937 * config/h8300/h8300-protos.h: Add prototypes for
4938 the new functions defined below.
4939 * config/h8300/h8300.c (TARGET_ASM_FUNCTION_PROLOGUE): Do not
4940 define.
4941 (dosize): Emit RTL instead of assembly code.
4942 (push): Likewise.
4943 (pop): Likewise.
4944 (h8300_output_function_prologue): Remove.
4945 (h8300_expand_prologue): New.
4946 (h8300_expand_epilogue): New.
4947 (h8300_output_function_epilogue): Do only the reset of
4948 pragma_saveall.
4949 * config/h8300/h8300.md (push_h8300): New.
4950 (push_h8300hs): Likewise.
4951 (pop_h8300): Likewise.
4952 (pop_h8300hs): Likewise.
4953 (*stm_h8300s_2): Change the name to stm_h8300s_2.
4954 (*stm_h8300s_3): Change the name to stm_h8300s_3.
4955 (*stm_h8300s_4): Change the name to stm_h8300s_4.
4956 (*ldm_h8300s_2): New.
4957 (*ldm_h8300s_3): Likewise.
4958 (*ldm_h8300s_4): Likewise.
4959 (return): Likewise.
4960 (*return_1): Likewise.
4961 (prologue): Likewise.
4962 (epilogue): Likewise.
4963 (monitor_prologue): Likewise.
4964
d3c300d2
DJ
49652003-01-03 Dale Johannesen <dalej@apple.com>
4966
4967 * config/darwin.h: (EXTRA_SECTIONS): Add machopic_symbol_stub1,
4968 machopic_picsymbol_stub1.
4969 (EXTRA_SECTION_FUNCTIONS): Ditto.
4970 * rs6000/rs6000.c: Update copyright.
4971 (machopic_output_stub): Use them. Remove an insn from stub code.
4972
6cce57b0
JM
49732003-01-02 Jason Merrill <jason@redhat.com>
4974
4e8dca1c
JM
4975 * fold-const.c (fold) [COND_EXPR]: Avoid NOP_EXPRs better.
4976
4977 * integrate.c (copy_decl_for_inlining): Don't clear the rtl for
4978 static/external decls.
2610198a 4979
6cce57b0
JM
4980 * c-common.c (finish_fname_decls): Put the DECL_STMTs inside the
4981 outermost scope.
4982 * c-decl.c (c_make_fname_decl): Push the decls there, too.
4983
e392d367
KH
49842003-01-03 Kazu Hirata <kazu@cs.umass.edu>
4985
4986 * config/h8300/h8300-protos.h: Add a prototype for
4987 h8300_current_function_interrupt_function_p.
4988 * config/h8300/h8300.c (interrupt_handler): Remove.
4989 (os_task): Likewise.
4990 (monitor): Likewise.
4991 (pragma_interrupt): New.
4992 (WORD_REG_USED): Use
4993 h8300_current_function_interrupt_function_p.
4994 (dosize): Likewise.
4995 (h8300_output_function_prologue): Likewise.
4996 Do not set interrupt_handler, os_task, monitor.
4997 (h8300_output_function_prologue): Use
4998 h8300_current_function_interrupt_function_p.
4999 Do not set interrupt_handler, os_task, monitor.
5000 (h8300_current_function_interrupt_function_p): New.
5001 (h8300_pr_interrupt): Set pragma_interrupt.
5002 (h8300_insert_attributes): Reset pragma_interrupt.
5003
b15da5b7
GP
50042003-01-03 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
5005
5006 * doc/install.texi (Configuration): Fix markup for reference to
5007 gcc/config.gcc.
5008
bf16e745
KH
50092003-01-02 Kazu Hirata <kazu@cs.umass.edu>
5010
5011 * config/h8300/h8300.md (*iorhi3_zext): Relax the condition.
5012 (*iorhi3_two_qi): Likewise.
5013 (*iorsi3_zexthi): Likewise.
5014 (*xorhi3_zextqi): Likewise.
5015 (*xorsi3_zexthi): Likewise.
5016 (*xorsi3_zextqi): Likewise.
5017
8ccf5d5f
KH
50182003-01-02 Kazu Hirata <kazu@cs.umass.edu>
5019
5020 * config/h8300/h8300.c (stack_pointer_operand): New.
5021 (const_int_gt_2_operand): Likewise.
5022 (const_int_ge_8_operand): Likewise.
5023 * config/h8300/h8300.md (a splitter): Likewise.
5024 (a peephole2): Likewise.
5025 * config/h8300/h8300-protos.h: Add prototypes for the new
5026 functions above.
5027
43c6a96a
SB
50282003-01-02 Steven Bosscher <s.bosscher@student.tudelft.nl>
5029
5030 * objc/Make-lang.in, objc/config-lang.in, objc/lang-specs.h,
5031 objc/objc-act.h: Fix copyright years.
5032
96c4e780
SB
50332003-01-02 Steven Bosscher <s.bosscher@student.tudelft.nl>
5034
5035 * doc/passes.texi: Fix documentation for -fssa-ccp
5036
8ed0a104
NB
50372003-01-02 Neil Booth <neil@daikokuya.co.uk>
5038
5039 * gccbug.in: Update for new categories.
5040
1b9f0361
KH
50412003-01-01 Kazu Hirata <kazu@cs.umass.edu>
5042
5043 * config/h8300/h8300.md: Reorder some patterns.
5044
dc5f17ec
KH
50452003-01-01 Kazu Hirata <kazu@cs.umass.edu>
5046
5047 * config/h8300/h8300.c (output_logical_op): Fix a warning.
5048
cd2801fb
NB
50492003-01-01 Neil Booth <neil@daikokuya.co.uk>
5050
5051 * config/darwin-protos.h, config/c4x/c4x-protos.h,
5052 config/cris/cris-protos.h, config/i370/i370-protos.h,
5053 config/i960/i960-protos.h, config/ia64/ia64-protos.h,
5054 config/v850/v850-protos.h: Use struct, and don't conditionally
5055 compile on GCC_C_PRAGMA_H.
5056
378b1b8e
KH
50572003-01-01 Kazu Hirata <kazu@cs.umass.edu>
5058
5059 * config/arm/arm-protos.h: Remove #ifdef GCC_C_PRAGMA_H.
5060 * config/h8300/h8300-protos.h: Likewise.
5061 * config/sh/sh-protos.h: Likewise.
5062
7106a5bc
KH
50632003-01-01 Kazu Hirata <kazu@cs.umass.edu>
5064
5065 * config/arm/arm-protos.h: Use struct cpp_reader instead of
5066 cpp_reader.
5067 * config/h8300/h8300-protos.h: Likewise.
5068 * config/sh/sh-protos.h: Likewise.
5069
231b51a1
NB
50702003-01-01 Neil Booth <neil@daikokuya.co.uk>
5071
5072 * config/arm/arm.c (arm_pr_long_calls, arm_pr_no_long_calls,
5073 arm_pr_long_calls_off): Use struct.
5074 * config/h8300/h8300.c (h8300_pr-interrupt, h8300_pr_saveall)
5075 : Similarly.
5076 Don't include cpplib.h.
5077 * config/sh/sh.c (sh_pr_interrupt, sh_pr_trapa,
5078 sh_pr_nosave_low_regs): Similarly.
5079
0f18b2b0
KH
50802003-01-01 Kazu Hirata <kazu@cs.umass.edu>
5081
5082 * config/h8300/h8300.c: Include cpplib.h.
5083
b9593599
SB
50842003-01-01 Steven Bosscher <s.bosscher@student.tudelft.nl>
5085
5086 * objc/Make-lang.in, objc/config-lang.in, objc/lang-options.h,
5087 objc/lang-specs.h, objc/objc-act.c, objc/objc-act.h,
5088 objc/objc-lang.c, objc/objc-tree.def: Replace "GNU CC" with
5089 "GCC" in the copyright header.
5090
c58b209a
NB
50912003-01-01 Neil Booth <neil@daikokuya.co.uk>
5092
5093 * c-pragma.c (c_register_pragma): New.
5094 (init_pragma): Use it.
5095 * c-pragma.h (cpp_register_pragma): Don't declare.
5096 (c_register_pragma): New.
5097 * cpplib.h: Remove #ifdef GCC_C_PRAGMA_H.
5098 * config/darwin.h (REGISTER_TARGET_PRAGMAS): Update.
5099 * config/arm/arm.h (REGISTER_TARGET_PRAGMAS): Update.
5100 * config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update.
5101 * config/h8300/h8300.h (REGISTER_TARGET_PRAGMAS): Update.
5102 * config/i370/i370.h (REGISTER_TARGET_PRAGMAS): Update.
5103 * config/i960/i960.h (REGISTER_TARGET_PRAGMAS): Update.
5104 * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Update.
5105 * config/rs6000/rs6000.h (REGISTER_TARGET_PRAGMAS): Update.
5106 * config/sh/sh.h (REGISTER_TARGET_PRAGMAS): Update.
5107 * config/v850/v850.h (REGISTER_TARGET_PRAGMAS): Update.
5108 * doc/tm.texi (REGISTER_TARGET_PRAGMAS): Update
5109
bc455f9c
KH
51102002-12-31 Kazu Hirata <kazu@cs.umass.edu>
5111
5112 * config/h8300/h8300-protos.h: Update the prototypes.
5113 * config/h8300/h8300.c (const_le_2_operand): Change to
5114 const_int_le_2_operand.
5115 (const_int_le_6_operand): Change to const_int_le_6_operand.
5116 * config/h8300/h8300.md (two peepholes): Update the function
5117 names.
5118
3b41afd9
TT
51192002-12-31 Tom Tromey <tromey@redhat.com>
5120
5121 * doc/install.texi (Testing): Fixed typo.
5122
9e56a932
KH
51232002-12-31 Kazu Hirata <kazu@cs.umass.edu>
5124
5125 * config/h8300/h8300.h (TRAMPOLINE_TEMPLATE): Remove.
5126 (TRAMPOLINE_SIZE): Support the normal mode.
5127 (INITIALIZE_TRAMPOLINE): Emit the entire trampoline.
5128
731e8b38
MM
51292002-12-31 Mark Mitchell <mark@codesourcery.com>
5130
5131 * c-common.h (pending_lang_change): Declare.
5132
147d1cd3
JQ
51332002-12-31 Jerry Quinn <jlquinn@optonline.net>
5134
5135 * gcc/doc/invoke.texi (Optimization Options): Clean up -O flag
5136 descriptions.
5137
fad893da
JQ
51382002-12-31 Jerry Quinn <jlquinn@optonline.net>
5139
5140 * gcc/doc/invoke.texi (Optimization Options): List the options
5141 enabled by each -O flag.
5142
ec5b5ef1
GP
51432002-12-31 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
5144
5145 * doc/install.texi (Configuration): Explicitly refer
5146 gcc/config.gcc for a list of cpu models.
5147
59d7c857
KH
51482002-12-31 Kazu Hirata <kazu@cs.umass.edu>
5149
5150 * config/h8300/h8300.h: Fix comment typos.
5151
5b8f5865
DE
51522002-12-30 David Edelsohn <edelsohn@gnu.org>
5153
5154 * config/rs6000/rs6000.h (WIDEST_HARDWARE_FP_SIZE): Define.
5155
582f6e6d
TT
51562002-12-30 Tom Tromey <tromey@redhat.com>
5157
5158 * doc/install.texi (Testing): Mention Jacks.
5159
f75db6bc
JM
51602002-12-30 Joseph S. Myers <jsm@polyomino.org.uk>
5161
5162 * doc/gcc.texi, doc/gccint.texi: Update last modification dates.
5163
2d75548f
KH
51642002-12-30 Kazu Hirata <kazu@cs.umass.edu>
5165
5166 * config/h8300/h8300.c (output_logical_op): Use extu.w in more
5167 cases.
5168 (compute_logical_op_length): Update to reflect the change in
5169 output_logical_op.
5170 (compute_logical_op_cc): Likewise.
5171
b351c1d9
JM
51722002-12-30 Joseph S. Myers <jsm@polyomino.org.uk>
5173
5174 * doc/service.texi: Uncomment and update FAQ link.
5175
47ab0cbb
AJ
51762002-12-30 Andreas Jaeger <aj@suse.de>
5177
5178 * unwind-dw2-fde.h (last_fde): Add unused attribute for obj.
5179
3cc3e1cd
KH
51802002-12-30 Kazu Hirata <kazu@cs.umass.edu>
5181
5182 * config/h8300/h8300.md (*addsi3_lshiftrt_16_zexthi): New.
5183
a6e8d113
KH
51842002-12-30 Kazu Hirata <kazu@cs.umass.edu>
5185
5186 * config/h8300/h8300.c (output_logical_op): Use extu.w if we
5187 are clearing the most significant byte.
5188 (compute_logical_op_length): Update to reflect the change in
5189 output_logical_op.
5190 (compute_logical_op_cc): Likewise.
5191
c85263d2
KH
51922002-12-29 Kazu Hirata <kazu@cs.umass.edu>
5193
5194 * config/h8300/h8300.md: Give internal names to anonymous
5195 insns.
5196
fbcb02cd
KH
51972002-12-29 Kazu Hirata <kazu@cs.umass.edu>
5198
5199 * config/h8300/h8300.md: Reorder some insns.
5200
2873836b
KH
52012002-12-29 Kazu Hirata <kazu@cs.umass.edu>
5202
5203 * config/h8300/h8300-protos.h: Add prototypes for
5204 const_int_qi_operand and const_int_hi_operand.
5205 * config/h8300/h8300.c (const_int_qi_operand): New.
5206 (const_int_hi_operand): Likewise.
5207 * config/h8300/h8300.md (three peepholes): New.
5208
bdefb2ab
JM
52092002-12-28 Joseph S. Myers <jsm@polyomino.org.uk>
5210
5211 * doc/cpp.texi, doc/gcc.texi, doc/gccint.texi, doc/install.texi:
5212 Use @copying.
5213
a38f87a9
JM
52142002-12-28 Joseph S. Myers <jsm@polyomino.org.uk>
5215
5216 * configure.in: Increase makeinfo version requirement to 4.[2-9].
5217 * configure: Regenerate.
5218 * doc/install.texi: Update Texinfo version requirement.
5219
c14bc6db
AJ
52202002-12-28 Andreas Jaeger <aj@suse.de>
5221
b9b21a05
AJ
5222 * config/i386/i386.c (x86_function_profiler): Mark labelno as
5223 possibly unused.
5224
c14bc6db
AJ
5225 * c-parse.in (yyprint): Use HOST_WIDE_INT_PRINT_DOUBLE_HEX for
5226 correct format.
5227
62fbd434
KH
52282002-12-27 Kazu Hirata <kazu@cs.umass.edu>
5229
5230 * config/h8300/h8300.md (*iorhi_shift_8): Change the name to
5231 *iorhi_ashift_8.
5232 (*iorhi_lshiftrt_8): New.
5233
27e3f16d
JM
52342002-12-27 Joseph S. Myers <jsm@polyomino.org.uk>
5235
5236 * doc/include/texinfo.tex: Update to version 2002-12-26.16.
5237
b09975de
GP
52382002-12-27 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
5239
5240 * doc/contrib.texi (Contributors): Add Abramo and Roberto Bagnara.
5241
f411c849
KH
52422002-12-26 Kazu Hirata <kazu@cs.umass.edu>
5243
5244 * config/h8300/h8300-protos.h: Fix comment typos.
5245 Update copyright.
5246 * config/h8300/h8300.c: Fix comment typos.
5247
b976d7a0
KH
52482002-12-26 Kazu Hirata <kazu@cs.umass.edu>
5249
5250 * config/h8300/h8300.h (IDENT_ASM_OP): End with a tab.
5251
d1f87653
KH
52522002-12-26 Kazu Hirata <kazu@cs.umass.edu>
5253
5254 * config/i386/athlon.md: Fix comment typos.
5255 * config/i386/crtdll.h: Likewise.
5256 * config/i386/djgpp.h: Likewise.
5257 * config/i386/i386-interix.h: Likewise.
5258 * config/i386/i386.c: Likewise.
5259 * config/i386/i386.h: Likewise.
5260 * config/i386/i386.md: Likewise.
5261 * config/i386/k6.md: Likewise.
5262 * config/i386/mingw32.h: Likewise.
5263 * config/i386/pentium.md: Likewise.
5264 * config/i386/sco5.h: Likewise.
5265 * config/i386/winnt.c: Likewise.
5266 * config/i386/xmmintrin.h: Likewise.
5267
ecd4a73b
JR
52682002-12-26 Jose Renau <renau@cs.uiuc.edu>
5269
5270 * ssa-dce.c (EXECUTE_IF_UNNECESSARY): Verify INSN is an
5271 INSN_P before checking to see if it is dead.
5272 (mark_all_insn_unnecessary): Similarly.
5273 (ssa_eliminate_dead_code): Similarly.
5274 * rtl.h (struct rtx_def): Update comments for in_struct usage
5275 in dead code elimination pass.
5276 (INSN_DEAD_CODE_P): Allow JUMP_INSN and CALL_INSN as well.
5277
b17bb466
AS
52782002-12-26 Andreas Schwab <schwab@suse.de>
5279
c14bc6db 5280 * config.gcc (powerpc*-*-*, rs6000-*-*): Fix assignment syntax.
b17bb466 5281
b21fb038
DE
52822002-12-25 David Edelsohn <edelsohn@gnu.org>
5283
5284 * config/rs6000/rs6000.c (rs6000_override_options): Convert to
5285 tartet_flags_explicit.
5286 * config/rs6000/rs6000.h (MASK_MULTIPLE_SET, MASK_STRING_SET): Delete.
5287 Compact target_flags bits.
5288 (TARGET_MULTIPLE_SET, TARGET_STRING_SET): Delete.
5289 (TARGET_SWITCHES): Delete references to *_SET flags.
5290
abd2dd6d
JH
5291Wed Dec 25 20:30:53 CET 2002 Jan Hubicka <jh@suse.cz>
5292
5293 * i386.md (memory attribute): Fix setcc attribute.
5294
d55d8fc7
KH
52952002-12-25 Kazu Hirata <kazu@cs.umass.edu>
5296
5297 * output.h: Fix comment typos.
5298 * predict.c: Likewise.
5299 * print-tree.c: Likewise.
5300 * profile.c: Likewise.
5301 * ra-build.c: Likewise.
5302 * ra-colorize.c: Likewise.
5303 * ra-debug.c: Likewise.
5304 * ra-rewrite.c: Likewise.
5305 * ra.c: Likewise.
5306 * ra.h: Likewise.
5307 * real.c: Likewise.
5308 * recog.c: Likewise.
5309 * reg-stack.c: Likewise.
5310 * regclass.c: Likewise.
5311
7a770d8b
KH
53122002-12-25 Kazu Hirata <kazu@cs.umass.edu>
5313
5314 * config/h8300/h8300.c (print_operand_address): Do not negate
5315 a negative number when printing one.
5316
7d6ac401
KH
53172002-12-25 Kazu Hirata <kazu@cs.umass.edu>
5318
5319 * config/h8300/h8300-protos.h: Add prototypes for
5320 output_plussi, compute_plussi_length, and compute_plussi_cc.
5321 * config/h8300/h8300.c (output_plussi): New.
5322 (compute_plussi_length): Likewise.
5323 (compute_plussi_cc): Likewise.
5324 * config/h8300/h8300.md (addsi_h8300h): Call
5325 output_plussi, compute_plussi_length, and compute_plussi_cc.
5326
871d6a01
KH
53272002-12-24 Kazu Hirata <kazu@cs.umass.edu>
5328
5329 * config/h8300/h8300.md (two peepholes): Use match_dup instead
5330 of match_operand in the new patterns.
5331
4fbf9d4a
JM
53322002-12-24 Joseph S. Myers <jsm@polyomino.org.uk>
5333
5334 * doc/include/texinfo.tex: Update to version 2002-11-25.11.
5335
8601608f
NS
53362002-12-24 Nathan Sidwell <nathan@codesourcery.com>
5337
5338 * configure.in (enable-coverage): Add SELF_COVERAGE.
5339 * profile.c (end_branch_prob): Use SELF_COVERAGE.
5340
c28b4e40
JW
53412002-12-24 Jim Wilson <wilson@redhat.com>
5342
5343 * alias.c (record_set): Handle multi-reg hard registers.
5344
14b493d6
KH
53452002-12-24 Kazu Hirata <kazu@cs.umass.edu>
5346
5347 * regmove.c: Fix comment typos.
5348 * reload.c: Likewise.
5349 * reload1.c: Likewise.
5350 * resource.c: Likewise.
5351 * rtl.def: Likewise.
5352 * rtl.h: Likewise.
5353 * rtlanal.c: Likewise.
5354 * sched-deps.c: Likewise.
5355 * sched-rgn.c: Likewise.
5356 * sibcall.c: Likewise.
5357 * simplify-rtx.c: Likewise.
5358 * ssa-ccp.c: Likewise.
5359 * ssa.c: Likewise.
5360 * stmt.c: Likewise.
5361 * stor-layout.c: Likewise.
5362 * system.h: Likewise.
5363 * tlink.c: Likewise.
5364 * toplev.c: Likewise.
5365 * tracer.c: Likewise.
5366 * tree-inline.c: Likewise.
5367 * tree.c: Likewise.
5368 * tree.h: Likewise.
5369 * unroll.c: Likewise.
5370 * varasm.c: Likewise.
5371
c9693e96
LH
53722002-12-23 Larin Hennessy <larin@science.oregonstate.edu>
5373
5374 * doc/install.texi: Remove i386-*-isc, i860-*-bsd,
5375 m68k-altos-sysv, m68k-isi-bsd, m68k-sony-bsd entries.
5376 * doc/invoke.texi: Remove AMD 29K, ARM RISC/iX, Clipper, Convex,
5377 DG/UX entries.
5378 * doc/md.texi: Remove AMD 29K entries.
5379 * doc/trouble.texi: Remove Alliant, DG/UX, Iris 4.0.5F, GAS
5380 1.38.1, NewsOS, RT PC, WE32K entries.
5381
a67ed43f
AH
53822002-12-23 Aldy Hernandez <aldyh@redhat.com>
5383
44f9a8e4
ZW
5384 PR/8763
5385 * config/rs6000/altivec.md (mulv4sf3): Rewrite to add -0.0 vector.
5386 (altivec_vspltisw_v4sf): Name pattern.
5387 (altivec_vslw_v4sf): New pattern.
a67ed43f 5388
46d40353
JM
53892002-12-23 Joseph S. Myers <jsm@polyomino.org.uk>
5390
5391 * doc/include/gcc-common.texi: Define DEVELOPMENT.
5392
8dc65b6e
MM
53932002-12-23 Mark Mitchell <mark@codesourcery.com>
5394
5395 * stor-layout.c (update_alignment_for_field): Correct handling of
5396 unnamed bitfields on PCC_BITFIELD_TYPE_MATTERS machines.
5397 * doc/tm.texi (PCC_BITFIELD_TYPE_MATTERS): Note that an unnamed
5398 bitfield does not affect alignment.
5399
7c02ae17
DE
54002002-12-23 David Edelsohn <edelsohn@gnu.org>
5401
5402 * expr.c (expand_assignment): Apply special treatment to
5403 ARRAY_TYPE.
5404
317d21e9
KH
54052002-12-23 Kazu Hirata <kazu@cs.umass.edu>
5406
5407 * config/h8300/h8300-protos.h: Update the prototype of
5408 expand_a_shift.
5409 * config/h8300/h8300.c (expand_a_shift): Change the return
5410 type to void.
5411 * config/h8300/h8300.md: Update all the uses of
5412 expand_a_shift.
5413
0c685f12
NS
54142002-12-22 Nathan Sidwell <nathan@codesourcery.com>
5415
5416 * tree.c (save_expr): Allow either side of a dyadic operand to be
5417 constant.
5418
5419 * doc/portability.texi (portability): Update portability goals.
5420
ade53a50
KH
54212002-12-23 Kazu Hirata <kazu@cs.umass.edu>
5422
5423 * config/h8300/h8300.c (output_a_shift): Remove unused code.
5424
d0ff2db5
MM
54252002-12-22 Mark Mitchell <mark@codesourcery.com>
5426
d317855e
MM
5427 * stor-layout.c (update_alignment_for_field): Guard use of
5428 ADJUST_FIELD_ALIGN with #ifdef.
5429
d0ff2db5
MM
5430 * stor-layout.c (update_alignment_for_field): Use
5431 ADJUST_FIELD_ALIGN when computing the alignment for a zero-width
5432 bitfield when PCC_BITFIELD_TYPE_MATTERS.
5433
96e13905
KH
54342002-12-22 Kazu Hirata <kazu@cs.umass.edu>
5435
5436 * genautomata.c: Fix comment typos.
5437
66b4e478
JH
5438Sun Dec 22 18:23:44 CET 2002 Jan Hubicka <jh@suse.cz>
5439
5440 * params.def (tracer-min-branch-probability-feedback): Fix default.
5441 * final.c (compute_alignments): Use profile to avoid code bloat.
5442
a7612343
KH
54432002-12-22 Kazu Hirata <kazu@cs.umass.edu>
5444
5445 * config/h8300/h8300.c (get_shift_alg): Make shift insn
5446 sequences end with a valid cc0 whenever possible.
5447
8fb52ad1
KH
54482002-12-22 Kazu Hirata <kazu@cs.umass.edu>
5449
5450 * config/h8300/h8300.md (negsf2): New.
5451 (*negsf2_h8300): Likewise.
5452 (*negsf2_h8300hs): Likewise.
5453
2a77af27
GK
54542002-12-21 Geoffrey Keating <geoffk@apple.com>
5455
5456 * integrate.c (output_inline_function): Don't hold private
5457 pointers to 'struct function' over GC calls.
5458
5040eb00
KK
54592002-12-21 Kaz kojima <kkojima@gcc.gnu.org>
5460
5461 * config/sh/lib1funcs.asm (__fpscr_values): Conditionalize with
5462 NO_FPSCR_VALUES.
5463 * config/sh/t-linux (TARGET_LIBGCC2_CFLAGS): Add -DNO_FPSCR_VALUES.
5464
5d750136
KH
54652002-12-21 Kazu Hirata <kazu@cs.umass.edu>
5466
5467 * config/h8300/h8300.md (zero_extendqisi2): Correct the
5468 length.
5469
f7e42925
KH
54702002-12-21 Kazu Hirata <kazu@cs.umass.edu>
5471
5472 * config/h8300/h8300.md (*zero_extendqihi2_h8300): Make the
5473 second alternative "#".
5474 (*zero_extendqihi2_h8300hs): Likewise.
5475 (a define_split): New.
5476
3cee1a78
KH
54772002-12-21 Kazu Hirata <kazu@cs.umass.edu>
5478
5479 * config/h8300/h8300-protos.h: Update the prototype for
5480 split_adds_subs.
5481 Add prototypes for const_le_2_operand and const_le_6_operand.
5482 * config/h8300/h8300.c (split_adds_subs): Add an argument to
5483 specify whether inc/dec should be used when possible.
5484 (const_le_2_operand): New.
5485 (const_le_6_operand): Likewise.
5486 * config/h8300/h8300.md (two peepholes): New.
5487
40b982a9
KH
54882002-12-21 Kazu Hirata <kazu@cs.umass.edu>
5489
5490 * config/fr30/fr30.md: Fix a comment typo.
5491 * config/i386/i386.c: Likewise.
5492 * config/ip2k/ip2k.h: Likewise.
5493
60954572
JW
54942002-12-20 Jim Wilson <wilson@redhat.com>
5495
5496 * config/rs6000/spe.h (__ev_subifw): Reverse arguments.
5497 (__ev_subw, __ev_subiw): New.
5498 (ev_mwlssf, ev_mwlsmf, ev_mwlssfa, ev_mwlsmfa, ev_mwlssfaaw,
5499 ev_mwlsmfaaw, ev_mwlssfanw, ev_mwlsmfanw): Delete.
5500
11f43127
JDA
55012002-12-20 John David Anglin <dave.anglin@nrc.gc.ca>
5502
5503 * pa-linux.h (TARGET_HAS_STUBS_AND_ELF_SECTIONS): Delete define.
5504 * pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete define.
5505 * pa.c (pa_function_ok_for_sibcall): Allow non indirect sibcalls on
5506 TARGET_ELF32. Add comment on sibcall issues for TARGET_64BIT.
5507
f9d2de4d
KH
55082002-12-20 Kazu Hirata <kazu@cs.umass.edu>
5509
5510 * config/h8300/h8300-protos.h: Add prototypes for
5511 incdec_operand and eqne_operator.
5512 * config/h8300/h8300.c (incdec_operand): New.
5513 (eqne_operator): Likewise.
5514 * config/h8300/h8300.h (CONST_OK_FOR_M): Likewise.
5515 (CONST_OK_FOR_O): Likewise.
5516 (CONST_OK_FOR_LETTER_P): Use CONST_OK_FOR_M and
5517 CONST_OK_FOR_O.
5518 * config/h8300/h8300.md (UNSPEC_INCDEC): New.
5519 (addhi3_incdec): New.
5520 (addsi3_incdec): Likewise.
5521 (two peepholes): Likewise.
5522
b47900aa
KH
55232002-12-20 Kazu Hirata <kazu@cs.umass.edu>
5524
5525 * config/h8300/h8300.c (dosize): Remove warnings.
5526 (print_operand): Likewise.
5527
3094247f
RH
55282002-12-20 Richard Henderson <rth@redhat.com>
5529
5530 * config/alpha/alpha.c (decl_has_samegp): New.
5531 (samegp_function_operand): Use it. Rename from
5532 current_file_function_operand.
5533 (direct_call_operand): Handle -msmall-text via symbol->jump.
5534 (tls_symbolic_operand_1): Use T for tprel64, t for smaller tprel.
5535 (tls_symbolic_operand_type): Likewise.
5536 (alpha_encode_section_info): Likewise. Handle -msmall-text.
5537 (alpha_function_ok_for_sibcall): Use decl_has_samegp.
5538 (alpha_end_function): Set symbol->jump for functions defined in
5539 the text section.
5540 * config/alpha/alpha-protos.h: Update.
5541 * config/alpha/alpha.h (MASK_SMALL_TEXT, TARGET_SMALL_TEXT): New.
5542 (TARGET_SWITCHES): Add -msmall-text and -mlarge-text.
5543 (PREDICATE_CODES): Update.
c14bc6db 5544 * config/alpha/alpha.md (call patterns): Update for
3094247f
RH
5545 samegp_function_operand rename; use !samegp reloc if
5546 TARGET_EXPLICIT_RELOCS.
5547 * doc/invoke.text: Document -msmall-text and -mlarge-text.
5548
8056c5f2
ID
55492002-12-20 Ian Dall <ian@sibyl.beware.dropbear.id.au>
5550
44f9a8e4
ZW
5551 * config/ns32k/ns32k.md (movdi): Use "l" instead of "f" to match
5552 all registers capable of holding a double float.
5553 (*rcond): change name of "reverse branch" insns to
5554 something more meaningful.
5555 (*rbgt, *rblt, *rbge, *rble): Reverse branches to handle IEEE
5556 comparisons properly.
5557 (*ffs): Change operand 0 from write to read-modify-write.
5558 (*ffsssi2): Drop constraints from define_expand.
8056c5f2 5559
44f9a8e4
ZW
5560 * config/ns32k/ns32k.h (STORE_RATIO, STORE_BY_PIECES): Avoid using
5561 MOVE_RATIO as default for store operations.
8056c5f2 5562
44f9a8e4
ZW
5563 * config/ns32k/ns32k.h (enum reg_class, REG_CLASS_NAMES): Add
5564 LONG_REGS class.
5565 (CANNOT_CHANGE_MODE_CLASS): Can't subreg LONG_REGS.
5566 (GO_IF_LEGITIMATE_ADDRESS): Remove spurious abort().
5567 * config/ns32k/ns32k.c (regclass_map): Add LONG_REGS class.
8056c5f2 5568
44f9a8e4
ZW
5569 * config/ns32k/STATUS: New File
5570 * config/ns32k/NOTES: New file.
8056c5f2 5571
1fec52be 55722002-12-20 Hartmut Penner <hpenner@de.ibm.com>
c14bc6db 5573
21ff35fb 5574 * doc/invoke.texi: Document -mzarch, -mesa, -mcpu= and -march=
1fec52be 5575 option for S/390 and zSeries.
44f9a8e4
ZW
5576 * config/s390/s390.c (s390_cpu, s390_cpu_string, s390_arch,
5577 s390_arch_string): New variables.
5578 (override_options): Checking for options and setting of
1fec52be 5579 appropriate target_flags, cpu and arch flags.
44f9a8e4
ZW
5580 * config/s390/s390.h: (processor_type): New enum.
5581 (TARGET_SWITCHES): New switches -mesa/zarch.
5582 * config/s390/s390.md: New attribute 'cpu'.
1fec52be 5583
5bdc5878
KH
55842002-12-19 Kazu Hirata <kazu@cs.umass.edu>
5585
5586 * c-pretty-print.h: Fix comment typos.
5587 * integrate.c: Likewise.
5588 * varasm.c: Likewise.
5589 * config/c4x/c4x.h: Likewise.
5590 * config/c4x/c4x.md: Likewise.
5591 * config/fr30/fr30.md: Likewise.
5592 * config/frv/frv.c: Likewise.
5593 * config/h8300/h8300.c: Likewise.
5594 * config/i386/i386.c: Likewise.
5595 * config/i386/i386.h: Likewise.
5596 * config/ia64/ia64.c: Likewise.
5597 * config/ia64/ia64.h: Likewise.
5598 * config/ip2k/ip2k.md: Likewise.
5599 * config/m68hc11/m68hc11-crt0.S: Likewise.
5600 * config/m68hc11/m68hc11.h: Likewise.
5601 * config/m68hc11/m68hc11.md: Likewise.
5602 * config/m68hc11/m68hc12.h: Likewise.
5603 * config/mcore/mcore.md: Likewise.
5604 * config/mips/mips.c: Likewise.
5605 * config/mips/mips.md: Likewise.
5606 * config/mmix/mmix-modes.def: Likewise.
5607 * config/pa/pa.c: Likewise.
5608 * config/rs6000/rs6000.c: Likewise.
5609 * config/rs6000/rs6000.h: Likewise.
5610 * config/rs6000/rs6000.md: Likewise.
5611
539dbd15
KH
56122002-12-19 Kazu Hirata <kazu@cs.umass.edu>
5613
5614 * config/h8300/h8300.md (output_a_shift): Clean up the code to
5615 output shifts using rotation.
5616
e505be85
ZD
56172002-12-20 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
5618
5619 * flow.c (allocate_reg_life_data): Reset REG_FREQ.
5620
191ff852
KH
56212002-12-19 Kazu Hirata <kazu@cs.umass.edu>
5622
5623 * config/h8300/h8300.md (pushqi_h8300): Don't push the stack
5624 pointer.
5625 (pushqi_h8300hs): Likewise.
5626 (pushhi_h8300): Likewise.
5627 (pushhi_h8300hs): Likewise.
5628
b2dfd40f
R
5629Thu Dec 19 23:44:09 2002 J"orn Rennecke <joern.rennecke@superh.com>
5630
5631 * sched-rgn.c (init_regions): Update comment.
5632
310b9b1d
DE
56332002-12-19 David Edelsohn <edelsohn@gnu.org>
5634
5635 * config/rs6000/rs6000.md (define_attr type): Remove altivec.
5636 * config/rs6000/altivec.md (movv4si_internal): Set correct instruction
5637 attributes.
5638 (movv8hi_internal,movv16qi_internal,movv4sf_internal): Same.
5639 (get_vrsave_internal,set_vrsave_internal): Same.
5640 (altivec_vspltisb,altivec_vspltish,altivec_vspltisw): Same.
5641 (absv16qi2,absv8hi2,absv4si2,absv4sf2): Same
5642 (altivec_abss_v16qi,altivec_abss_v8hi,altivec_abss_v4si): Same.
5643
e91f04de
CH
56442002-12-19 Casper S. Hornstrup <chorns@users.sourceforge.net>
5645 Danny Smith <dannysmith@users.sourceforge.net>
5646 Eric Kohl <ekohl@rz-online.de>
5647
5648 * config/i386/i386.c (ix86_handle_cdecl_attribute): Check for
5649 attributes incompatible with fastcall attribute.
5650 (ix86_handle_regparm_attribute): Likewise.
5651
5652 * config/i386/i386.c (ix86_comp_type_attributes): Check for mismatched
5653 fastcall types.
5654
5655 * config/i386/cygwin.h (TARGET_OS_CPP_BUILTINS): Add fastcall
5656 attributes.
5657 (ASM_OUTPUT_LABELREF): Define as i386_pe_output_labelref.
5658 * config/i386/i386-protos.h (i386_pe_output_labelref): Declare.
5659 * config/i386/winnt.c (i386_pe_mark_dllimport). Add __imp_ prefix in
5660 i386_pe_output_labelref rather than here.
5661 (gen_fastcall_suffix): New function. Decorates a label name with the
5662 fastcall prefix (@) and the stdcall suffix.
5663 (i386_pe_encode_section_info): Call gen_fastcall_suffix() if a symbol
5664 has a fastcall attribute.
5665 (i386_pe_output_labelref): New function. Outputs a label reference.
5666 * config/i386/i386.c (ix86_attribute_table): Accept 'fastcall' as a
5667 valid attribute.
5668 (ix86_return_pops_args): Fastcall functions pop the stack.
5669 (init_cumulative_args): Reserve registers ECX and EDX if function has
5670 fastcall attribute.
5671 (function_arg): Use registers ECX and EDX if function has fastcall
5672 attribute.
5673 * config/i386/i386.h (CUMULATIVE_ARGS): Add fastcall attribute flag.
5674 (DLL_IMPORT_EXPORT_PREFIX): Redefine as '#'.
5675 (FASTCALL_PREFIX): Define as '@'.
5676 * config/i386/mingw32.h (TARGET_OS_CPP_BUILTINS): Add fastcall
5677 attributes.
5678 * doc/extend.texi: Add documentation of fastcall attribute.
5679
61138bb6
NN
56802002-12-19 Nathanael Nerode <neroden@gcc.gnu.org>
5681
c14bc6db 5682 * configure.in: FORBUILD when build!=host changed from
61138bb6
NN
5683 ../$build-alias to ../build-$build_alias to match change made
5684 in top directory.
5685 * configure: Regenerated.
5686
039baf9e
EB
56872002-12-19 Eric Botcazou <ebotcazou@libertysurf.fr>
5688
5689 PR optimization/8988
5690 * loop.c (maybe_eliminate_biv): Kill REG_EQUAL notes mentioning
5691 the biv when eliminating.
5692
ee8acf89
DP
56932002-12-19 Devang Patel <dpatel@apple.com>
5694 * gcc.c (struct default_compiler): Recognizes input file name with
5695 .CPP extension as C++ source files
5696 * cp/lang-spec.h: Same
5697 * doc/invoke.texi: Add documentation for .CPP support.
c14bc6db 5698
598119bb
AH
56992002-12-19 Aldy Hernandez <aldyh@redhat.com>
5700
5701 PR 8553
5702 * config/rs6000/altivec.md ("absv8hi2"): Add & to clobbered
5703 registers.
5704 ("absv16qi2"): Same.
5705 ("absv4si2"): Same.
5706 ("absv4sf2"): Same.
5707 ("altivec_abss_v16qi"): Same.
5708 ("altivec_abss_v8hi"): Same.
5709 ("altivec_abss_v4si"): Same.
5710
3af97654
UW
57112002-12-19 Ulrich Weigand <uweigand@de.ibm.com>
5712
5713 * config/s390/s390.md ("*tsthiCCT", "*tsthiCCT_cconly",
5714 "*tstqiCCT", "*tstqiCCT_cconly"): New insns.
5715
e54b4cae
EB
57162002-12-19 Eric Botcazou <ebotcazou@libertysurf.fr>
5717
5718 PR target/8340
5719 * stmt.c (expand_asm_operands): Produce an error when
5720 the PIC register is clobbered.
5721
7f22efe1
DB
57222002-12-18 Daniel Berlin <dberlin@dberlin.org>
5723
5724 * Makefile.in (OBJS): Add alloc-pool.o
5725 (alloc-pool.o): New object.
5726
5727 * alloc-pool.c: New file.
5728 * alloc-pool.h: New file.
5729
f1d5271a 57302002-12-18 Loren James Rittle <ljrittle@acm.org>
5a0ba8c9
LJR
5731
5732 * gcc.c (validate_switches): Robustify against skipping past '\0'.
5733
064b6c70
GK
57342002-12-18 Geoffrey Keating <geoffk@apple.com>
5735
5736 * config.gcc: Set extra_objs in the generic Darwin rule,
5737 not in the machine-specific rules.
5738
272d0bee
KH
57392002-12-19 Kazu Hirata <kazu@cs.umass.edu>
5740
5741 * ChangeLog: Follow spelling conventions.
5742 * ChangeLog.2: Likewise.
5743 * ChangeLog.4: Likewise.
5744 * ChangeLog.5: Likewise.
5745 * cppexp.c: Likewise.
5746 * df.c: Likewise.
5747 * gcov.c: Likewise.
5748 * gengtype.c: Likewise.
5749 * reload1.c: Likewise.
5750 * sched-rgn.c: Likewise.
5751 * stmt.c: Likewise.
5752 * stor-layout.c: Likewise.
5753 * timevar.c: Likewise.
5754 * toplev.c: Likewise.
5755 * tree.h: Likewise.
5756 * varasm.c: Likewise.
5757 * config/fr30/fr30.md: Likewise.
5758 * config/i386/i386.c: Likewise.
5759 * config/ia64/ia64.c: Likewise.
5760 * config/pa/pa.c: Likewise.
5761
358ecb10
RS
57622002-12-18 Roger Sayle <roger@eyesopen.com>
5763
5764 * basic-block.h (flow_bb_inside_loop_p): Correct prototype.
5765
d486dec6
AH
57662002-12-18 Aldy Hernandez <aldyh@redhat.com>
5767
7f04df0d 5768 PR 8551
d486dec6
AH
5769 * config/rs6000/altivec.h (vec_cmplt macro): Reverse arguments in
5770 macro.
5771 (vec_cmplt C++ functions): Reverse arguments.
5772
358ecb10 57732002-12-18 Geoffrey Keating <geoffk@apple.com>
892aebc9 5774
40b4cdbf
GK
5775 * config/rs6000/t-rs6000: Move contents to t-fprules,
5776 add rules for dependencies of rs6000.o and to build rs6000-c.o
5777 * config/rs6000/t-fprules: New file from t-rs6000.
5778 * config/rs6000/t-beos: Remove soft-fp rules.
5779 * config/rs6000/t-ppccomm: Likewise.
5780 * config/rs6000/t-newas: Likewise.
5781 * config/rs6000/t-rs6000-c-rule: Delete.
5782 * config.gcc: Use t-fprules for rs6000/ ports when appropriate.
5783 Use t-rs6000 for all rs6000/ ports instead of t-rs6000-c-rule.
5784 Create generic Darwin rules.
5785
892aebc9
GK
5786 * gengenrtl.c (gencode): Delete unnecessary rtl_obstack declaration.
5787
9d303046
DE
57882002-12-18 Doug Evans <dje@sebabeach.org>
5789
5790 * m32r/m32r.c (addr24_operand): Fix arg to CONSTANT_POOL_ADDRESS_P
5791 and LIT_NAME_P.
5792 (move_src_operand): Remove compile-time warning.
5793 * m32r/m32r.h (ROUND_ADVANCE_ARG): Ditto.
5794
80d83b16
JM
57952002-12-18 Jason Merrill <jason@redhat.com>
5796
5797 * unwind-dw2-fde.c (frame_downheap): Split out from...
5798 (frame_heapsort): Here.
5799
f32ac70d
JM
58002002-12-17 Jason Merrill <jason@redhat.com>
5801
9ec22713
JM
5802 * tree.c (make_node): Don't set TREE_TYPE on 's' class nodes.
5803 (build1): Always set TREE_SIDE_EFFECTS on 's' class nodes.
5804
38540594 5805 * gcc.c (do_spec_1) ['W']: End any pending argument from the braces.
a3a0177e 5806
f32ac70d
JM
5807 * calls.c (expand_call): Don't try to be clever about expanding
5808 the return slot address.
5809
d5db5b97
KK
58102002-12-18 Kaz kojima <kkojima@gcc.gnu.org>
5811
5812 * config/sh/linux.h (NO_IMPLICIT_EXTERN_C, CPLUSPLUS_CPP_SPEC):
5813 Define.
5814
e489a31f
JM
58152002-12-17 Jason Merrill <jason@redhat.com>
5816
5817 * genmultilib: Use 'cd ./foo'.
5818
5b8f02c6
KH
58192002-12-17 Kazu Hirata <kazu@cs.umass.edu>
5820
5821 * doc/c-tree.texi: Restore deliberate spelling mistakes.
5822
c0478a66
KH
58232002-12-17 Kazu Hirata <kazu@cs.umass.edu>
5824
5825 * doc/c-tree.texi: Fix typos and follow spelling conventions.
5826 * doc/cpp.texi: Likewise.
5827 * doc/extend.texi: Likewise.
5828 * doc/gty.texi: Likewise.
5829 * doc/install.texi: Likewise.
5830 * doc/invoke.texi: Likewise.
5831 * doc/md.texi: Likewise.
5832 * doc/passes.texi: Likewise.
5833 * doc/rtl.texi: Likewise.
5834 * doc/sourcebuild.texi: Likewise.
5835 * doc/tm.texi: Likewise.
5836
3364c33b
JQ
58372002-12-17 Jerry Quinn <jlquinn@optonline.net>
5838
5839 * doc/invoke.texi: Minor spelling and grammar fixes.
5840
d65f135a
UW
58412002-12-17 Ulrich Weigand <uweigand@de.ibm.com>
5842
5843 * config/s390/s390.c (s390_output_constant_pool): Replace
5844 ASM_OUTPUT_INTERNAL_LABEL by (*targetm.asm_out.internal_label).
5845
4b207444
JH
5846Tue Dec 17 09:47:57 CET 2002 Jan Hubicka <jh@suse.cz>
5847
5848 * convert.c (convert_to_real): Disable function transformation for
5849 now.
5850
cde26509
GK
58512002-12-16 Geoffrey Keating <geoffk@apple.com>
5852
5853 * gcc.c (handle_braces): Allow '@' as a switch name.
5854
9f175208
JM
58552002-12-16 Jason Merrill <jason@redhat.com>
5856
e489a31f
JM
5857 * calls.c (expand_call): Handle CALL_EXPR_HAS_RETURN_SLOT_ADDR
5858 with special struct-return ABIs.
5859
9f175208
JM
5860 * c-semantics.c (add_scope_stmt): Abort if the end SCOPE_STMT
5861 doesn't match the begin SCOPE_STMT in partialness.
5862
7a975113
GK
58632002-12-16 Geoffrey Keating <geoffk@apple.com>
5864
c79d892f
GK
5865 * genmultilib: Create temporary files in unique subdirectory.
5866
7a975113
GK
5867 * gcc.c (validate_switches): Allow '@' as a switch name.
5868
8483c7e0
LR
58692002-12-16 Loren J. Rittle <ljrittle@acm.org>
5870
5871 * Makefile.in (gcov-iov.h): Improve portability.
5872
9ee7999f
JH
5873Mon Dec 16 23:39:19 CET 2002 Jan Hubicka <jh@suse.cz>
5874
5875 * mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Do not use qpword on API_N32/not
5876 gas
5877 * mips.md (tablejump insn): Likewise.
5878
7a04c51b
MM
58792002-12-16 Mark Mitchell <mark@codesourcery.com>
5880
5881 * doc/include/gcc-common.texi: Change version number to 3.4.
5882
27eaa708
BK
58832002-12-16 Bruce Korb <bkorb@gnu.org>
5884
5885 * fixinc/fixlib.h: add: #include <signal.h>
5886 * fixinc/fixincl.c: remove: #include <signal.h>
5887
b51dc045
R
5888Mon Dec 16 17:20:04 2002 J"orn Rennecke <joern.rennecke@superh.com>
5889
5890 * sh.h (EXTRA_CONSTRAINT_Z): New macro.
5891 (EXTRA_CONSTRAINT): Use it.
5892 * sh.md (anddi3): Use 'Z' constraint for alternative 2.
5893
4977bab6
ZW
58942002-12-15 Zack Weinberg <zack@codesourcery.com>
5895
5896 * config.gcc (need_64bit_hwint): New variable.
5897 (alpha*-*-*, x86_64-*-*, ia64-*-*, mips*-*-*, powerpc*-*-*,
5898 mmix-knuth-mmixware, rs6000*-*-*, sparc64*-*-*, s390*-*-*,
5899 sh*-*-*, hppa*64*-*-linux, parisc*64*-*-linux, hppa*64*-*-hpux11*,
5900 sparcv9-*-solaris2*, sparc*-*-solaris2.[789], ultrasparc-*-freebsd*):
5901 Set it.
5902 (powerpc*-*-darwin*): Unset it.
5903 (alpha-*-interix, alpha64-dec-*vms*, i?86-*-interix3*,
5904 i?86-*-interix*, sparc64-*-openbsd*): Remove references to
5905 deleted/nonexistent xm-*.h headers.
5906 * configure.in: AC_DEFINE NEED_64BIT_HOST_WIDE_INT if the
5907 target set need_64bit_hwint in config.gcc.
5908 * configure, config.in: Regenerate.
5909
5910 * hwint.h: Overhaul. Don't bother trying int for
5911 HOST_WIDE_INT. Do try __int64 if long is not enough. Base
5912 decision to force 64-bit HOST_WIDE_INT on
5913 NEED_64BIT_HOST_WIDE_INT, not (MAX_)LONG_TYPE_SIZE which is
5914 not visible at this point. Don't allow prior definition of
5915 any macro defined by this file.
5916
5917 * config/alpha/xm-vms.h: Don't define HOST_WIDE_INT or
5918 HOST_BITS_PER_WIDE_INT.
5919 * config/c4x/c4x.h: Adjust redefinition of
5920 HOST_WIDE_INT_PRINT_HEX to match changes to hwint.h.
5921 * config/alpha/xm-alpha-interix.h, config/alpha/xm-vms64.h,
5922 config/i386/xm-i386-interix.h: Delete file.
5923
59242002-12-14 Rodney Brown <rbrown64@csc.com.au>
5925 John David Anglin <dave@hiauly1.hia.nrc.ca>
5926
5927 * pa.c (output_millicode_call): Convert ASM_OUTPUT_INTERNAL_LABEL.
5928 * pa64-hpux.h (ASM_OUTPUT_INTERNAL_LABEL): Delete define.
5929
59302002-12-14 Zack Weinberg <zack@codesourcery.com>
5931
5932 * mkconfig.sh: Correct comment. Add copyright boilerplate.
5933
59342002-12-14 Zack Weinberg <zack@codesourcery.com>
5935
5936 * config/t-darwin, config/arm/t-pe, config/arm/t-strongarm-pe,
5937 config/c4x/t-c4x, config/i370/t-i370, config/i386/t-cygwin,
5938 config/i386/t-interix, config/i960/t-960bare, config/ia64/t-ia64,
5939 config/rs6000/t-rs6000-c-rule, config/sparc/t-sol2,
5940 config/v850/t-v850: Correct dependencies and normalize
5941 compilation commands for files that include coretypes.h and tm.h.
5942
5943 * config/sparc/gmon-sol2.c: Include tconfig.h and tsystem.h,
5944 not config.h and system.h.
5945
5946Sat Dec 14 20:43:41 CET 2002 Jan Hubicka <jh@suse.cz>
5947
5948 * i386.c (flags_reg_operand): New function.
5949 * i386.h (PREDICATE_CODES): Add flags_reg_operand.
5950 * i386.md (cmov splitter, movqicc): Use new predicate.
5951
5952Sat Dec 14 17:03:17 CET 2002 Jan Hubicka <jh@suse.cz>
5953
5954 * i386.md (movqicc splitter): Fix template.
5955
59562002-12-13 Jason Merrill <jason@redhat.com>
5957
5958 * tree.h (CALL_EXPR_HAS_RETURN_SLOT_ADDR): New macro.
5959 * calls.c (expand_call): Handle it.
5960 * tree-inline.c (struct inline_data): Remove target_exprs field.
5961 (optimize_inline_calls): Don't initialize it.
5962 (expand_call_inline): Don't modify it. Handle
5963 CALL_EXPR_HAS_RETURN_SLOT_ADDR.
5964 (declare_return_variable): Take return slot addr.
5965 * langhooks.h (copy_res_decl_for_inlining): Change target_exprs parm
5966 to return_slot_addr.
5967 * langhooks-def.h, langhooks.c: Adjust.
5968 * explow.c (maybe_set_unchanging): Don't set RTX_UNCHANGING_P for
5969 a decl with no DECL_INITIAL.
5970
5971 * expr.c (expand_expr): Don't discard the target of a call which
5972 returns in memory.
5973
59742002-12-13 Neil Booth <neil@daikokuya.co.uk>
5975
5976 * cppinit.c (path_include): Take an environment variable name.
5977 Tidy up.
5978 (init_standard_includes): Simplify environment handling, and
5979 move to ...
5980 (cpp_read_main_file): ...here as -nostdinc should not affect
5981 environment variable paths.
5982
f5f9008b
JDA
59832002-12-13 John David Anglin <dave@hiauly1.hia.nrc.ca>
5984
5985 * pa.c (output_millicode_call): Correct typo.
5986 (output_call): Likewise.
5987
a58be199
AO
5988Fri Dec 13 21:07:18 2002 Alexandre Oliva <aoliva@redhat.com>
5989
5990 * config/mn10300/mn10300.c (print_operand) <case N>: Check
5991 operand's range. Print value directly, without aid from
5992 output_address.
5993 <case U>: New.
5994 <case S>: Make sure argument to fprintf has the right type.
5995 * config/mn10300/mn10300.h (OK_FOR_T): New macro.
5996 (EXTRA_CONSTRAINT): Adjust.
5997 * config/mn10300/mn10300.md: Add new all-QImode pattern for
5998 bclr. Use %U for immediate operands of bset and bclr.
5999 (iorqi3): New expand, with insns for AM33 and mn10300.
6000
d9da94a1
R
6001Fri Dec 13 16:02:27 2002 J"orn Rennecke <joern.rennecke@superh.com>
6002
6003 * sh.c (sh_register_operand): New function.
6004 (prepare_move_operands): Use it.
6005 * sh.h (PREDICATE_CODES): Add entry for sh_register_operand.
6006 * sh.md (movsi_media, movsi_media_nofpu): Allow stores of 0.
6007 (movqi_media, movhi_media, movdi_media, movdi_media_nofpu): Likewise.
6008 (movdf_media, movdf_media_nofpu, movv4sf_i, movsf_media): Likewise.
6009 (movsf_media_nofpu, movv2hi_i, movv4hi_i, movv8qi_i): Likewise.
6010 (movv2si_i): Likewise.
6011
580fb356
JW
60122002-12-13 Jim Wilson <wilson@redhat.com>
6013
6014 * doc/extend.texi (Complex Numbers): Update info on debug info.
6015
697d8028
KH
60162002-12-13 Kazu Hirata <kazu@cs.umass.edu>
6017
6018 * config/h8300/h8300.md (addhi3_h8300): Remove the last
6019 alternative.
6020
4977bab6
ZW
60212002-12-12 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
6022
6023 * hooks.h (hook_tree_tree_bool_false): Declare
6024 hook_bool_tree_tree_false instead.
6025
dd05b1b4 60262002-12-12 Devang Patel <dpatel@apple.com>
697d8028 6027
dd05b1b4
DP
6028 * doc/invoke.texi: Document Darwin linker options, -bundle
6029 -bind_at_load, -all_load and -arch_errors_fatal
6030
24aacafb
JW
60312002-12-12 Jim Wilson <wilson@redhat.com>
6032
6033 * dbxout.c (dbxout_fptype_value): New.
6034 (dbxout_type, case COMPLEX_TYPE): Call it. Use 'R' instead of 'r'.
6035
09da1532
KH
60362002-12-12 Kazu Hirata <kazu@cs.umass.edu>
6037
6038 * c-decl.c: Fix a comment typo.
6039 * cfg.c: Likewise.
6040 * cfgcleanup.c: Likewise.
6041 * cfglayout.c: Likewise.
6042 * cfgrtl.c: Likewise.
6043 * c-typeck.c: Likewise.
6044 * dominance.c: Likewise.
6045 * dwarf2asm.c: Likewise.
6046 * dwarfout.c: Likewise.
6047 * expmed.c: Likewise.
6048 * expr.c: Likewise.
6049 * final.c: Likewise.
6050 * flow.c: Likewise.
6051 * function.c: Likewise.
6052 * gcc.c: Likewise.
6053 * genautomata.c: Likewise.
6054 * integrate.c: Likewise.
6055 * loop.c: Likewise.
6056 * loop.h: Likewise.
6057 * output.h: Likewise.
6058 * profile.c: Likewise.
6059 * ra.h: Likewise.
6060 * reload1.c: Likewise.
6061 * reload.c: Likewise.
6062 * sched-rgn.c: Likewise.
6063 * stmt.c: Likewise.
6064 * tree.h: Likewise.
6065 * vmsdbgout.c: Likewise.
6066
7930523d
KH
60672002-12-12 Kazu Hirata <kazu@cs.umass.edu>
6068
6069 * config/h8300/h8300.md: Add a new peephole2.
6070
59578c84
KH
60712002-12-12 Kazu Hirata <kazu@cs.umass.edu>
6072
6073 * config/h8300/h8300.md (a peephole2): Accept a constant
6074 that's accepted by CONST_OK_FOR_J.
6075
8cc5359b
KH
60762002-12-12 Kazu Hirata <kazu@cs.umass.edu>
6077
6078 * config/h8300/h8300.h (CONST_OK_FOR_J): New.
6079 (CONST_OK_FOR_LETTER_P): Use CONST_OK_FOR_J.
6080 * config/h8300/h8300.md (*addhi_h8300): Add a new alternative.
6081 (*addhi_h8300hs): Likewise.
6082
ec555f32
R
6083Thu Dec 12 16:24:59 2002 J"orn Rennecke <joern.rennecke@superh.com>
6084
6085 * sh.c (reg_class_from_letter): No longer const. Add 'e' entry.
6086 (sh_register_move_cost): Add clause for SImode fp-fp moves.
6087 Increase cost for moves involving multiple general purpose registers.
6088 * sh.h (OVERRIDE_OPTIONS): Set reg_class_from_letter['e'] according to
6089 TARGET_FMOVD.
6090 (HARD_REGNO_MODE_OK): Allow V2SFmode and V4SFmode in general purpose
6091 registers, and SImode in fp registers, for ! TARGET_SHMEDIA.
6092 (enum reg_class reg_class_from_letter): No longer const.
6093 (SECONDARY_OUTPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG /
6094 REGCLASS_HAS_GENERAL_REG.
6095 Handle SImode moves from/to fp registers.
6096 ! TARGET_SHMEDIA && TARGET_FMOVD.
6097 (SECONDARY_INPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG.
6098 * sh.md (movsi_ie): Add alternatives to move from / to fp regisyters.
6099
83ebfdc0
AS
61002002-12-12 Andreas Schwab <schwab@suse.de>
6101
6102 * config/ia64/ia64.c (ia64_hpux_asm_file_end): Fix typo in last
6103 change and some warnings.
6104
299c5111
KH
61052002-12-12 Kazu Hirata <kazu@cs.umass.edu>
6106
6107 * doc/md.texi (pushm): Fix a typo.
6108
852dff61
AO
61092002-12-12 Alexandre Oliva <aoliva@redhat.com>
6110
6111 * config/mips/mips.c (mips_output_conditional_branch): Support
6112 PIC-safe out-of-range branch and branch-likely.
6113 * config/mips/mips.md (attr length): PIC-safe out-of-range
6114 branches are longer.
6115 ("jump"): Support PIC-safe out-of-range-for-branch jumps. Remove
6116 unused code to support indirect jumps.
6117
4977bab6
ZW
61182002-12-11 Zack Weinberg <zack@codesourcery.com>
6119
6120 * Makefile.in (GTFILES): Add $(host_xm_file_list) and
6121 $(tm_file_list).
6122
61232002-12-11 David Edelsohn <edelsohn@gnu.org>
6124
6125 * config/rs6000/t-rs6000-c-rule: Add coretypes.h $(TM_H) dependencies.
6126
6127Wed Dec 11 15:20:45 CET 2002 Jan Hubicka <jh@suse.cz>
6128
6129 * i386.md (cmove splitters): Avoid creation of unnecesary subregs.
6130
d6567b3a
JDA
61312002-12-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
6132
6133 * pa.h (BIGGEST_ALIGNMENT): Change 32-bit value to 64 bits.
6134 (MAX_PARM_BOUNDARY, STACK_BOUNDARY): Express in terms of
6135 BIGGEST_ALIGNMENT.
6136 (PREFERRED_STACK_BOUNDARY): Express in terms of STACK_BOUNDARY.
6137 (FUNCTION_BOUNDARY): Express in terms of BITS_PER_WORD.
6138
355bd14f
KH
61392002-12-11 Kazu Hirata <kazu@cs.umass.edu>
6140
6141 * doc/invoke.texi: Correct dump file names.
6142
9a3873b4
SE
61432002-12-09 Steve Ellcey <sje@cup.hp.com>
6144
6145 * config/ia64/ia64.c (ia64_hpux_asm_file_end): Don't send stripped
6146 name to globalize_label or assemble_name.
6147
9a4816af
R
6148Wed Dec 11 20:15:19 2002 J"orn Rennecke <joern.rennecke@superh.com>
6149
6150 * sh.h (REG_CLASS_HAS_GENERAL_REG): Only true for SIBCALL_REGS
6151 if not TARGET_SHMEDIA.
6152
6153Wed Dec 11 19:05:05 2002 J"orn Rennecke <joern.rennecke@superh.com>
6154
6155 * sh.h (REG_CLASS_HAS_FP_REG): New.
6156 (REGISTER_MOVE_COST) Use it. Put body into a function and
6157 move it into:
6158 * sh.c (sh_register_move_cost).
6159 * sh-protos.h (sh_register_move_cost): Declare.
6160
6161 * sh.c (sh_expand_builtin): Abort for unexpected nop values.
6162 (sh_adjust_cost): Always return a value.
6163
70a72ca4
R
6164Wed Dec 11 18:39:52 2002 J"orn Rennecke <joern.rennecke@superh.com>
6165
6166 * sh.h (REG_CLASS_HAS_GENERAL_REG): New.
6167 (REGISTER_MOVE_COST): Use it.
6168
5d5cd66f
RH
61692002-12-11 Richard Henderson <rth@redhat.com>
6170
6171 * tree.h (MODULE_LOCAL_P): Kill.
6172 * varasm.c (default_binds_local_p_1): Use decl_visibility instead.
6173
68d0a3d2
KH
61742002-12-11 Kazu Hirata <kazu@cs.umass.edu>
6175
6176 * config/h8300/h8300.md (two define_peephole2): New.
6177
722d59a3
KH
61782002-12-11 Kazu Hirata <kazu@cs.umass.edu>
6179
6180 * config/h8300/h8300.h (CONST_OK_FOR_J): Remove.
6181 (CONST_OK_FOR_K): Likewise.
6182 (CONST_OK_FOR_M): Likewise.
6183 (CONST_OK_FOR_LETTER_P): Do not use the above macros.
6184
b3a5a50c
NB
61852002-12-11 Neil Booth <neil@daikokuya.co.uk>
6186
6187 * c-common.c (builtin_define_type_max): Handle unsigned
6188 types too.
6189
4977bab6
ZW
61902002-12-10 David Edelsohn <edelsohn@gnu.org>
6191
6192 * haifa-sched.c (rank_for_schedule): Correct style.
6193
61942002-12-10 Per Bothner <pbothner@apple.com>
6195
6196 * cpplib.h (struct cpp_hashnode): Split a non-portably-signed field
6197 directive_index into an unsigned field and a new is_directive field.
6198 * cppinit.c (mark_named_operators): Update to set new fields.
6199 * cpplex.c (_cpp_lex_direct): Now directive_field is unsigned.
6200 * cpplib.c [_cpp_handle_directive]: Test is_directive field.
6201 No longer need to subtract 1 from directive_index.
6202 (_cpp_init_directives): No longer need to add 1 to directive_index.
6203 * cpptrad.c (scan_out_logical_line): Use is_directive field.
6204
62052002-12-10 Roger Sayle <roger@eyesopen.com>
6206
6207 * builtins.c (fold_builtin): Remove -funsafe-math-optimizations
6208 check for evaluating sqrt of a constant at compile time.
6209 * simplify-rtx.c (simplify_unary_operation): Likewise.
6210
40d81ee4
JJ
62112002-12-10 Janis Johnson <janis187@us.ibm.com>
6212
6213 PR other/8882
6214 * doc/tm.texi (PUSH_ARGS): Remove misplaced line.
6215
48aec0bc 62162002-12-10 Devang Patel <dpatel@appple.com>
40d81ee4 6217
48aec0bc
DP
6218 * config/darwin.h(LINK_SPEC): Add darwin specific linker options.
6219 * doc/invoke.texi: Add new "Darwin Options" section.
4977bab6 6220
0e9f8e82
JW
62212002-12-10 Jim Wilson <wilson@redhat.com>
6222
6223 * rs6000.h (RETURN_IN_MEMORY): If ABI_V4, then TFmode is returned in
6224 memory.
6225
3e25353e
AH
62262002-12-10 Andrew Haley <aph@redhat.com>
6227
6228 * cse.c (cse_insn): Don't cse past a basic block boundary.
6229
17772b2a
JJ
62302002-12-10 Jakub Jelinek <jakub@redhat.com>
6231
6232 * config/linux.h (LIB_SPEC): If -pthread, add -lpthread even if
6233 -shared.
6234 * config/alpha/linux-elf.h (LIB_SPEC): Likewise.
6235 * config/alpha/linux.h (LIB_SPEC): Likewise.
6236 * config/arm/linux-elf.h (LIB_SPEC): Likewise.
6237 * config/pa/pa-linux.h (LIB_SPEC): Likewise.
6238 * config/sparc/linux.h (LIB_SPEC): Likewise.
6239 * config/sparc/linux64.h (LIB_SPEC): Likewise.
6240
63358530
LH
62412002-12-09 Larin Hennessy <larin@science.oregonstate.edu>
6242
6243 * doc/invoke.texi: Document UltraSparc III option.
6244
2e37b0ce
RH
62452002-12-09 Richard Henderson <rth@redhat.com>
6246
6247 * config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Define
6248 __tune_pentium2__ and __tune_pentium3__ as necessary.
6249
3a04ff64
RH
62502002-12-09 Richard Henderson <rth@redhat.com>
6251
6252 * target.h (gcc_target): Add cannot_force_const_mem.
6253 * target-def.h (TARGET_CANNOT_FORCE_CONST_MEM): New.
6254 (TARGET_INITIALIZER): Add it.
6255 * varasm.c (force_const_mem): Fail if cannot_force_const_mem.
6256 * expr.c (emit_move_insn): Be prepared for force_const_mem to fail.
6257 * reload1.c (reload): Likewise.
6258 * hooks.c (hook_bool_rtx_false): New.
6259 * hooks.h: Declare it.
6260
6261 * config/i386/i386.c (ix86_cannot_force_const_mem): New.
6262 (TARGET_CANNOT_FORCE_CONST_MEM): New.
6263 (ix86_expand_move): Remove de-const-pooling hack.
6264
a9a4005f
JH
6265Mon Dec 9 21:33:38 CET 2002 Jan Hubicka <jh@suse.cz>
6266
6267 * toplev.c (dump_file): Fix order to match reality.
6268
7ef788f0
GK
62692002-12-08 Geoffrey Keating <geoffk@apple.com>
6270
6271 * config/rs6000/rs6000.md (load_multiple): Use adjust_address_nv.
6272 (store_multiple): Likewise.
6273
3f320b7e
JDA
62742002-12-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
6275
6276 * pa/fptr.c (__canonicalize_funcptr_for_compare): Don't canonicalize
6277 function pointers in page 0.
6278
3870df96
SE
62792002-12-09 Steve Ellcey <sje@cup.hp.com>
6280
6281 * config/ia64/hpux.h (TARGET_STRUCT_ARG_REG_LITTLE_ENDIAN): Remove
6282 definition
6283 (MEMBER_TYPE_FORCES_BLK): Move.
6284 * config/ia64/ia64.c (ia64_function_arg): Use PARALLEL to pass
6285 aggregate arguments.
6286 (ia64_function_value): Use PARALLEL to return aggregate values.
6287
9ac3e73b
SE
62882002-12-09 Steve Ellcey <sje@cup.hp.com>
6289
6290 * doc/tm.texi (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
6291 * defaults.h (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
6292 * calls.c (store_unaligned_arguments_into_pseudos) Remove
6293 FUNCTION_ARG_REG_LITTLE_ENDIAN.
6294 * stmt.c (expand_return): Ditto.
6295 * expr.c (move_block_from_reg): Ditto.
6296 (copy_blkmode_from_reg): Ditto.
4977bab6 6297 * expmed.c (store_bit_field): Ditto.
9ac3e73b 6298
7f0db92a
SS
62992002-12-09 Svein E. Seldal <Svein.Seldal@solidas.com>
6300
6301 * config.gcc: Added tic4x-* target as an alias to c4x-*
6302
37c66aa6
JH
6303Sun Dec 8 14:57:39 CET 2002 Jan Hubicka <jh@suse.cz>
6304
7ef788f0
GK
6305 * i386.c (ix86_expand_int_movcc): Use force_operand instead of
6306 constructing insn directly.
37c66aa6 6307
4977bab6
ZW
63082002-12-06 Per Bothner <pbothner@apple.com>
6309
6310 * cpplib.h (struct cpp_hashnode): Change field directive_index from
6311 char to an int bit-field, for hosts where char is unsigned.
6312
63132002-12-07 Roger Sayle <roger@eyesopen.com>
6314 Richard Henderson <rth@redhat.com>
6315
6316 * real.c (ieee_extended_motorola_format,
6317 ieee_extended_intel_96_format, ieee_extended_intel_128_format,
6318 ieee_quad_format, vax_d_format, vax_g_format, i370_double_format):
6319 Provide appropriate values for new signbit field.
6320
63212002-12-07 Roger Sayle <roger@eyesopen.com>
6322
6323 * real.h (real_format): Add signbit field.
6324 * real.c (ieee_single_format, ieee_double_format,
6325 ieee_extended_motorola_format, ieee_extended_intel_96_format,
6326 ieee_extended_intel_128_format, ibm_extended_format,
6327 ieee_quad_format, vax_f_format, vax_d_format,
6328 vax_g_format, i370_single_format, i370_double_format,
6329 c4x_single_format, c4x_extended_format, real_internal_format):
6330 Provide suitable signbit value, or -1 to avoid bit twiddling.
6331
6332 * optabs.c (expand_unop): Try implementing negation of
6333 floating point modes by flipping the sign bit.
6334 (expand_abs): Try implementing abs of floating point modes
6335 by clearing the sign bit.
6336
6337Sat Dec 7 22:29:47 CET 2002 Jan Hubicka <jh@suse.cz>
6338
6339 * i386.c (ix86_expand_int_movcc): Use force_operand instead
6340 of constructing insn directly.
6341
2a598b3a
KH
63422002-12-07 Kazu Hirata <kazu@cs.umass.edu>
6343
6344 * config/h8300/h8300.md (*iorhi_shift_8): New.
6345
70899148
BS
63462002-12-06 Bernd Schmidt <bernds@redhat.com>
6347
6348 * doc/invoke.texi: Document FRV port options.
6349 * doc/md.texi: Document FRV register classes.
6350
377dfc82
GP
63512002-12-07 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
6352
6353 * doc/install.texi (Configuration): Improve description of cases
6354 where `make distclean` may fail; clarify --with-gnu-as; fix grammar.
6355
4977bab6
ZW
63562002-12-06 Per Bothner <pbothner@apple.com>
6357
6358 * cpplib.h (NODE_MACRO_ARG): New flag.
6359 (struct cpp_hashnode): Give _cpp_hashnode_value tag to value union.
6360 Remove value.operator field. Move arg_index field to value union.
6361 (directive_index): Make signed, since also used for C++ operators.
6362 * cppmacro.c (_cpp_save_parameter): Use NODE_MACRO_ARG flag to
6363 check for duplicate parameter. Set NODE_MACRO_ARG flag.
6364 Save node->value, and set node->value.arg_index.
6365 (_cpp_create_definition): For each paramater, restore node->value.
6366 (lex_expansion_token): Use NODE_MACRO_ARG flag, and moved arg_index.
6367 * cpptrad.c (scan_out_logical_line): Likewise.
6368 (scan_out_logical_line): Check for directive > 0.
6369 * cpplib.c (cpp_handle_directive): Likewise.
6370 * cpplex.c (_cpp_lex_direct): Update as value.operator is replaced
6371 by negative of directive_index.
6372 * cppinit.c (mark_named_operators): Likewise.
6373
6374 * hashtable.h (struct ht_identifier): Swap fields, for better packing.
6375
7144b2d8
DD
63762002-12-06 Dhananjay Deshpande <dhananjayd@kpit.com>
6377
6378 * gcc/config/sh/sh.c (calc_live_regs): Save fpscr only if target has
6379 FPU.
6380 (push): Generate push_fpscr.
6381 (pop): Generate pop_fpscr.
6382 * gcc/config/sh/sh.md : Add define_expand "push_fpscr", "pop_fpscr".
6383 (fpu_switch): Add alternative to push fpscr. Enable for TARGET_SH3E.
6384
aa06e8f5
R
6385Fri Dec 6 19:36:24 2002 J"orn Rennecke <joern.rennecke@superh.com>
6386
6387 * sh.c (dump_table): DImode pool constants need only 32 bit alignment.
6388 DFmode alignment depends on TARGET_FMOVD && TARGET_ALIGN_DOUBLE.
6389
0113c3c0
R
6390Fri Dec 6 19:17:49 2002 J"orn Rennecke <joern.rennecke@superh.com>
6391
6392 * sh.md (movdi_i): Name. Remove inappropriate comment.
6393
8d6b008d
R
6394Fri Dec 6 15:44:46 2002 J"orn Rennecke <joern.rennecke@superh.com>
6395 Merged from basic improvements branch (excerpt):
6396
6397 2002-11-19 Kaz Kojima <kkojima@gcc.gnu.org>
6398 * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
6399
61f6c84f
JJ
64002002-12-06 Jakub Jelinek <jakub@redhat.com>
6401
6402 * expr.c (expand_expr) <case COND_EXPR>: Never modify exp in place.
6403
4977bab6
ZW
6404Thu Dec 5 16:58:25 CET 2002 Jan Hubicka <jh@suse.cz>
6405
6406 * i386.md (dimode peep2s): Re-add "&& 1".
6407
6408Thu Dec 5 14:10:15 CET 2002 Jan Hubicka <jh@suse.cz>
6409
6410 * i386.c (ix86_expand_prologue): Add comment, do not use
6411 fast prologues for cold and normal functions.
6412
6413Thu Dec 5 00:52:37 CET 2002 Jan Hubicka <jh@suse.cz>
6414
6415 * i386.c (x86_rep_movl_optimal): New variable.
6416 (ix86_expand_movstr, ix86_expand_clrstr): Use TARGET_REP_MOVL_OPTIMAL
6417 * i386.h (TARGET_REP_MOVL_OPTIMAL): New macro.
6418
6419 * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
6420 absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
6421 neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
6422 generate unnecesary subregs.
6423
bf97847b
JDA
64242002-12-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
6425
6426 * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): Move define.
6427 * pa.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): To here.
6428
1fcfaf37
DJ
64292002-12-05 Dale Johannesen <dalej@apple.com>
6430
6431 * tree.c (unsafe_for_reeval): Consider callee child of CALL_EXPR.
6432
1a823ac1
DS
64332002-12-05 Danny Smith <dannysmith@users.sourceforge.net>
6434
6435 * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Replace with
6436 PROFILE_HOOK.
6437 * config/i386/mingw32.h (SUBTARGET_PROLOGUE): Don't undef.
6438
747db477
AH
64392002-12-05 Aldy Hernandez <aldyh@redhat.com>
6440
6441 * config/rs6000/spe.h (__ev_mwlufi): Remove.
6442 (__ev_mwlufia): Remove.
6443 (__ev_mwlumfaaw): Remove.
6444 (__ev_mwlusfaaw): Remove.
6445 (__ev_mwlumfanw): Remove.
6446 (__ev_mwlusfanw): Remove.
6447
94f09825
KH
64482002-12-05 Kazu Hirata <kazu@cs.umass.edu>
6449
6450 * config/h8300/h8300.md (*andorsi3_shift_8): New.
6451
1e5bdc40
KH
64522002-12-05 Kazu Hirata <kazu@cs.umass.edu>
6453
6454 * config/h8300/h8300.c (shift_alg_si): Optimize ashift:HI and
6455 lshiftrt:SI by 28, 29, and 30 bits when !TARGET_H8300.
6456 (get_shift_alg): Return optimal assembly instructions for the
6457 shifts mentioned above.
6458
4977bab6
ZW
6459Wed Dec 4 11:53:07 CET 2002 Jan Hubicka <jh@suse.cz>
6460
6461 * i386.c (ix86_expand_int_movcc): Force operand into register for QImode
6462 condtiional moves.
6463
b6fd51f6
KH
64642002-12-04 Kazu Hirata <kazu@cs.umass.edu>
6465
6466 * config/h8300/h8300.c (h8300_init_once): Do not use loop to
6467 implement ashiftrt:HI by 13 bits on H8S.
6468
9e1ab8c1
JDA
64692002-12-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
6470
6471 * pa/fptr.c (__canonicalize_funcptr_for_compare): New file and function.
6472 * pa.md (canonicalize_funcptr_for_compare): Output library call to
6473 canonicalize_funcptr_for_compare_libfunc on TARGET_ELF32.
6474 * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL,
6475 CTOR_LIST_BEGIN): New defines.
6476 * pa/t-linux (LIB2FUNCS_EXTRA): New define.
6477 (fptr.c): Add make rules.
6478
16823694
GK
64792002-12-04 Geoffrey Keating <geoffk@apple.com>
6480
6481 * combine.c (combine_simplify_rtx): Add new canonicalizations.
6482 * doc/md.texi (Insn Canonicalizations): Document new
6483 canonicalizations for multiply/add combinations.
6484 * config/rs6000/rs6000.md: Add and modify floating add/multiply
6485 patterns to ensure they're used whenever they can be.
6486
5ec0b66e
KH
64872002-12-04 Kazu Hirata <kazu@cs.umass.edu>
6488
6489 * config/h8300/h8300.c: Update the comments related to shifts.
6490
7fa9ed65
CD
64912002-12-04 Chris Demetriou <cgd@broadcom.com>
6492
6493 * config/mips/mips.md (get_fnaddr): Correct length attribute.
6494
6bd6fd35
KH
64952002-12-04 Kazu Hirata <kazu@cs.umass.edu>
6496
6497 * config/h8300/h8300.md (*extzv_8_8): New.
6498 (*extzv_8_16): Likewise.
6499
c246c65d
JM
65002002-12-04 Jason Merrill <jason@redhat.com>
6501
6502 PR c++/8461, c++/8625
6503 * integrate.c (copy_decl_for_inlining): Handle explicit invisible
6504 references.
6505 * tree-inline.c (initialize_inlined_parameters): Likewise.
6506
6507 * tree.c (variably_modified_type_p): Just return an error_mark_node.
6508
ae598ab9
CD
65092002-12-04 Chris Demetriou <cgd@broadcom.com>
6510
6511 * config/mips/mips.md (get_fnaddr): Avoid placing an "la"
6512 macro instruction in a branch delay slot, to avoid assembler
6513 warnings.
6514
a9b6f1e7
EB
65152002-12-04 Eric Botcazou <ebotcazou@libertysurf.fr>
6516
6517 PR c/7622
6518 * c-semantics (genrtl_scope_stmt): Do not output inlined
6519 nested functions that contain no code.
6520
a3716585
JH
6521Wed Dec 4 15:20:54 CET 2002 Jan Hubicka <jh@suse.cz>
6522
6523 * cfgrtl.c (force_nonfallthru_and_redirect): Allow abnormal edge
6524 to be forced into nonfallthru.
6525
44924a36
JT
65262002-12-03 Jason Thorpe <thorpej@wasabisystems.com>
6527
6528 * config/t-netbsd (USER_H): Set to $(EXTRA_HEADERS).
6529
3678a93e
AH
65302002-12-03 Aldy Hernandez <aldyh@redhat.com>
6531
4977bab6 6532 * config/rs6000/spe.md (*movv1di_const0): New pattern.
3678a93e 6533
6e1be6b1
RH
65342002-12-03 Richard Henderson <rth@redhat.com>
6535
6536 * libgcc-std.ver: Inherit GCC_3.3 from GCC_3.0.
6537
c47eb51b
HPN
65382002-12-03 Hans-Peter Nilsson <hp@bitrange.com>
6539
6540 * bitmap.c (bitmap_ior_and_compl, bitmap_union_of_diff):
6541 Initialize tmp.using_obstack to 0.
6542
2cff4a6e
AS
65432002-12-03 Andreas Schwab <schwab@suse.de>
6544
6545 * config/m68k/m68k.h (EH_RETURN_DATA_REGNO): Define.
6546 (EH_RETURN_STACKADJ_RTX): Define.
6547 (EH_RETURN_HANDLER_RTX): Define.
6548 (ASM_PREFERRED_EH_DATA_FORMAT): Define.
6549 * config/m68k/m68k.c (m68k_save_reg): New function. Handle eh
6550 registers and don't save fixed registers.
6551 (m68k_output_function_prologue): Use it.
6552 (use_return_insn): Likewise.
6553 (m68k_output_function_epilogue): Likewise.
6554
491a9777
KH
65552002-12-03 Kazu Hirata <kazu@cs.umass.edu>
6556
6557 * config/h8300/h8300.c (single_one_operand): Fix a warning.
6558 (single_zero_operand): Likewise.
6559
4977bab6
ZW
65602002-12-02 Nathanael Nerode <neroden@gcc.gnu.org>
6561
6562 * Makefile.in configure configure.in dummy-conditions.c fix-header.c
6563 gcov-iov.c gen-protos.c genattr.c genattrtab.c genautomata.c
6564 gencheck.c gencodes.c genconditions.c genconfig.c genconstants.c
6565 genemit.c genextract.c genflags.c gengenrtl.c gengtype-lex.l
6566 gengtype-yacc.y gengtype.c genopinit.c genoutput.c genpeep.c
6567 genpreds.c genrecog.c gensupport.c mkconfig.sh read-rtl.c
6568 scan-decls.c scan.c config/sh/sh.h doc/configfiles.texi
6569 doc/install-old.texi: Replace hconfig.h with bconfig.h.
6570 * Makefile.in: Replace HCONFIG_H with BCONFIG_H.
6571
65722002-12-02 Andrew Pinski <pinskia@physics.uc.edu>
6573
6574 * config/rs6000/rs6000.md (ffssi): Convert to expander.
6575 (ffsdi): Likewise.
6576 (cntlzw2, cntlzd2): New patterns.
6577
65782002-12-02 H.J. Lu <hjl@gnu.org>
6579
6580 * config.gcc (mips*-*-netbsd*): Remove mips/t-netbsd.
6581 (mips*-*-linux*): Remove mips/t-linux.
6582
6583Mon Dec 2 19:26:30 CET 2002 Jan Hubicka <jh@suse.cz>
6584
6585 * i386.c (ix86_expand_int_movcc): Avoid overflow.
6586
e8a68017
KH
65872002-12-02 Kazu Hirata <kazu@cs.umass.edu>
6588
6589 * config/h8300/h8300.c (dosize): Replace argument op with
6590 sign.
6591 (h8300_output_function_prologue): Update the call to dosize.
6592 (h8300_output_function_epilogue): Likewise.
6593
834572b8
BW
65942002-12-02 Bob Wilson <bob.wilson@acm.org>
6595
6596 * config/xtensa/xtensa.h: Delete ifndefs with nothing inside them.
6597
65982002-12-02 Craig Rodrigues <rodrigc@gcc.gnu.org>
9118405f
CR
6599
6600 * configure.in: Use "missing" script to generate warning if
6601 flex or bison programs not found, instead of invoking "false".
6602 * configure: Rebuilt.
6603
4ff38cd5
JH
6604Mon Dec 2 20:28:48 CET 2002 Jan Hubicka <jh@suse.cz>
6605
6606 * unroll.c (copy_loop_body): Copy CONST_OR_PURE_CALL_P.
6607
adc72fa6
JH
6608Mon Dec 2 19:42:52 CET 2002 Jan Hubicka <jh@suse.cz>
6609
6610 * i386.c (ix86_expand_int_movcc): Avoid overflow.
6611
513f31eb
KH
66122002-12-02 Kazu Hirata <kazu@cs.umass.edu>
6613
6614 * config/h8300/h8300.c (dosize): Output r7/er7 instead of sp.
6615 (push): Likewise.
6616 (pop): Likewise.
6617 (h8300_output_function_prologue): Likewise.
6618 (h8300_output_function_epilogue): Likewise.
6619
7ffc9761
R
6620Mon Dec 2 14:43:22 2002 J"orn Rennecke <joern.rennecke@superh.com>
6621
6622 * expmed.c (store_bit_field): Use int_mode_for_mode to find
6623 corresponding mode of non-integer mode, unless it is VOIDmode.
6624
0a2a0a58
KH
66252002-12-02 Kazu Hirata <kazu@cs.umass.edu>
6626
6627 * config/h8300/h8300.md (stm_h8300s_2): New.
6628 (stm_h8300s_3): Likewise.
6629 (stm_h8300s_4): Likewise.
6630 (five define_peephole2): Likewise.
6631
28432d9f
KH
66322002-12-02 Kazu Hirata <kazu@cs.umass.edu>
6633
6634 * ra-build.c: Fix a comment typo.
6635
4977bab6
ZW
6636Sun Dec 1 16:50:47 CET 2002 Jan Hubicka <jh@suse.cz>
6637
6638 * i386.c (ix86_expand_int_movcc): fix
6639 reversed BRANCH_COST test; be curefull about infinite recursion.
6640
e651d484
KH
66412002-12-01 Kazu Hirata <kazu@cs.umass.edu>
6642
6643 * config/h8300/h8300.c (h8300_output_function_prologue):
6644 Remove variable idx.
6645 (h8300_output_function_epilogue): Likewise.
6646
558bb2c4
ZW
66472002-12-01 Zack Weinberg <zack@codesourcery.com>
6648
6649 * config/frv/xm-frv.h: Delete, unnecessary.
6650
96cc06af
KH
66512002-12-01 Kazu Hirata <kazu@cs.umass.edu>
6652
6653 * config/h8300/h8300.md: Add comments for define_peephole2.
6654
c9f8536c
MM
66552002-12-01 Mark Mitchell <mark@codesourcery.com>
6656
6657 * builtin-types.def (BT_SIZE): Use size_type_node.
6658 * builtins.c (fold_builtin): Make the builtin strlen returns a
6659 size_t, not a sizetype.
6660 * c-common.c (c_sizeof_or_alignof_type): Use size_type_node, not
6661 c_size_type_node.
6662 (c_alignof_expr): Likewise.
6663 (c_common_nodes_and_builtins): Likewise.
6664 * c-common.h (CTI_C_SIZE_TYPE): Remove.
6665 (c_size_type_node): Likewise.
6666 * c-format.c (T_ST): Use size_type_node, not c_size_type_node.
6667 * tree.h (TI_SIZE_TYPE): New enumeral.
6668 (size_type_node): Likewise.
4977bab6
ZW
6669
66702002-11-30 Zack Weinberg <zack@codesourcery.com>
6671
6672 * configure.in: Don't put ${tm_file} into host_xm_file,
6673 build_xm_file, or xm_file. Do put tm-preds.h into tm_p_file.
6674 Take location of tm-preds.h into account when calculating
6675 tm_p_file_list.
6676 * configure: Regenerate.
6677 * mkconfig.sh: No need for separate TM_DEFINES and XM_DEFINES
6678 arguments. Do not provide rtx, rtvec, tree, or GTY here.
6679 Remove special case code for tm_p.h and *config.h; add new
6680 special case code for tm.h and tconfig.h. Clean up a bit.
6681
6682 * Makefile.in (tm_file, tm_file_list): New variables set from
6683 @-substitutions.
6684 (GCONFIG_H): Deleted.
6685 (GTM_H, TM_H): New.
6686 (CONFIG_H): Is now just config.h $(host_xm_file_list).
6687 (TM_P_H): Move up with the other mkconfig.sh-generated
6688 headers; don't mention tm-preds.h explicitly.
6689 (tm.h, cs-tm.h): New rule.
6690 (cs-config.h, cs-hconfig.h, cs-tconfig.h, cs-tm_p.h): Adjust
6691 invocations of mkconfig.sh for changes to that program.
6692 (mostlyclean): Delete print-rtl1.c.
6693 (clean): Delete tm.h.
6694 Update dependencies for the files listed below.
6695
6696 * mklibgcc.in: Add 'coretypes.h $(TM_H)' to libgcc2_c_dep.
6697
6698 * coretypes.h: New file.
6699 * system.h: #define malloc to xmalloc and realloc to xrealloc
6700 when FLEX_SCANNER or YYBISON is defined, independent of the
6701 value of GCC_VERSION.
6702 * alias.c, attribs.c, bb-reorder.c, bitmap.c, builtins.c,
6703 c-aux-info.c, c-common.c, c-convert.c, c-decl.c, c-dump.c,
6704 c-errors.c, c-format.c, c-lang.c, c-lex.c, c-objc-common.c,
6705 c-opts.c, c-parse.in, c-pragma.c, c-pretty-print.c,
6706 c-semantics.c, c-typeck.c, caller-save.c, calls.c, cfg.c,
6707 cfganal.c, cfgbuild.c, cfgcleanup.c, cfglayout.c, cfgloop.c,
6708 cfgrtl.c, collect2.c, combine.c, conflict.c, convert.c,
6709 cppdefault.c, cpperror.c, cppexp.c, cppfiles.c, cpphash.c,
6710 cppinit.c, cpplex.c, cpplib.c, cppmacro.c, cppmain.c,
6711 cppspec.c, cpptrad.c, crtstuff.c, cse.c, cselib.c, dbxout.c,
6712 debug.c, df.c, diagnostic.c, doloop.c, dominance.c,
6713 dummy-conditions.c, dwarf2asm.c, dwarf2out.c, dwarfout.c,
6714 emit-rtl.c, errors.c, et-forest.c, except.c, explow.c,
6715 expmed.c, expr.c, final.c, fix-header.c, flow.c, fold-const.c,
6716 function.c, gcc.c, gccspec.c, gcov-dump.c, gcov-iov.c, gcov.c,
6717 gcse.c, gen-protos.c, genattr.c, genattrtab.c, genautomata.c,
6718 gencheck.c, gencodes.c, genconditions.c, genconfig.c,
6719 genconstants.c, genemit.c, genextract.c, genflags.c,
6720 gengenrtl.c, gengtype-lex.l, gengtype-yacc.y, gengtype.c,
6721 genopinit.c, genoutput.c, genpeep.c, genpreds.c, genrecog.c,
6722 gensupport.c, ggc-common.c, ggc-none.c, ggc-page.c,
6723 ggc-simple.c, global.c, graph.c, haifa-sched.c, hashtable.c,
6724 hooks.c, ifcvt.c, integrate.c, intl.c, jump.c, langhooks.c,
6725 lcm.c, libgcc2.c, line-map.c, lists.c, local-alloc.c, loop.c,
6726 main.c, mbchar.c, mips-tdump.c, mips-tfile.c, mkdeps.c,
6727 optabs.c, params.c, predict.c, prefix.c, print-rtl.c,
6728 print-tree.c, profile.c, protoize.c, ra-build.c,
6729 ra-colorize.c, ra-debug.c, ra-rewrite.c, ra.c, read-rtl.c,
6730 real.c, recog.c, reg-stack.c, regclass.c, regmove.c,
6731 regrename.c, reload.c, reload1.c, reorg.c, resource.c,
6732 rtl-error.c, rtl.c, rtlanal.c, sbitmap.c, scan-decls.c,
6733 scan.c, sched-deps.c, sched-ebb.c, sched-rgn.c, sched-vis.c,
6734 sdbout.c, sibcall.c, simplify-rtx.c, ssa-ccp.c, ssa-dce.c,
6735 ssa.c, stmt.c, stor-layout.c, stringpool.c, timevar.c,
6736 tlink.c, toplev.c, tracer.c, tree-dump.c, tree-inline.c,
6737 tree.c, unroll.c, varasm.c, varray.c, varray.h, vmsdbgout.c,
6738 xcoffout.c, config/darwin-c.c, config/darwin.c,
6739 config/fp-bit.c, config/alpha/alpha.c, config/alpha/vms-cc.c,
6740 config/alpha/vms-ld.c, config/arc/arc.c, config/arm/arm.c,
6741 config/arm/pe.c, config/avr/avr.c, config/c4x/c4x-c.c,
6742 config/c4x/c4x.c, config/cris/cris.c, config/d30v/d30v.c,
6743 config/dsp16xx/dsp16xx.c, config/fr30/fr30.c,
6744 config/frv/frv.c, config/h8300/h8300.c, config/i370/i370-c.c,
6745 config/i370/i370.c, config/i386/i386.c, config/i386/winnt.c,
6746 config/i960/i960-c.c, config/i960/i960.c,
6747 config/ia64/ia64-c.c, config/ia64/ia64.c, config/ip2k/ip2k.c,
6748 config/m32r/m32r.c, config/m68hc11/m68hc11.c,
6749 config/m68k/m68k.c, config/m88k/m88k.c, config/mcore/mcore.c,
6750 config/mips/irix6-libc-compat.c, config/mips/mips.c,
6751 config/mmix/mmix.c, config/mn10200/mn10200.c,
6752 config/mn10300/mn10300.c, config/ns32k/ns32k.c,
6753 config/pa/pa.c, config/pdp11/pdp11.c, config/romp/romp.c,
6754 config/rs6000/rs6000-c.c, config/rs6000/rs6000.c,
6755 config/s390/s390.c, config/sh/sh.c, config/sparc/gmon-sol2.c,
6756 config/sparc/sparc.c, config/stormy16/stormy16.c,
6757 config/v850/v850-c.c, config/v850/v850.c, config/vax/vax.c,
6758 config/xtensa/xtensa.c, objc/objc-act.c, objc/objc-lang.c:
6759 Include coretypes.h and tm.h.
6760
6761 * genattrtab.c, genconditions.c, genemit.c, genextract.c,
6762 gengenrtl.c, gengtype.c, genopinit.c, genoutput.c, genpeep.c,
6763 genrecog.c: Include coretypes.h and tm.h from the file
6764 generated by this program.
6765
6766 * unwind-dw2-fde-darwin.c, unwind-dw2-fde-glibc.c,
6767 unwind-dw2-fde.c, unwind-dw2.c, unwind-sjlj.c: Include
6768 coretypes.h and tm.h, and tsystem.h when not already included.
6769 No need to include stddef.h nor stdlib.h.
6770
6771 * fixinc/fixlib.h: Include coretypes.h and tm.h. Do not
6772 include auto-host.h or ansidecl.h/
6773 * fixinc/server.h: Do not include stdio.h, unistd.h, or fixlib.h.
6774 * fixinc/procopen.c: Include server.h after fixlib.h. Do not
6775 include auto-host.h, ansidecl.h, or system.h.
6776 * fixinc/server.c: Likewise. Also, do not include signal.h,
6777 and do not redefine volatile.
6778
6779Sat Nov 30 17:16:46 CET 2002 Jan Hubicka <jh@suse.cz>
6780
6781 * i386.md (movdf_integer): Always enable in 64bit.
6782 (movdf_nointeger): Always disable in 64bit.
6783
f6318a2b
JDA
67842002-11-30 John David Anglin <dave@hiauly1.hia.nrc.ca>
6785
6786 * cfg.c (dump_flow_info): Use max_reg_num () to determine the largest
6787 pseudo register number plus 1.
6788
4977bab6
ZW
6789Fri Nov 29 20:10:56 2002 J"orn Rennecke <joern.rennecke@superh.com>
6790
6791 * expmed.c (store_bit_field): Use int_mode_for_mode to find
6792 corresponding mode of non-integer mode, unless it is VOIDmode.
6793
2402645b
HPN
67942002-11-29 Hans-Peter Nilsson <hp@bitrange.com>
6795
6796 * cpplib.c (_cpp_test_assertion): Default *value to 0.
6797
6798 * cppexp.c (num_part_mul): Initialize result.unsignedp, to 1.
6799
8ef34c0d
UW
68002002-11-29 Ulrich Weigand <uweigand@de.ibm.com>
6801
6802 * config/s390/t-crtstuff: New target makefile fragment.
6803 * config.gcc [s390-*-linux, s390x-*-linux]: Use it.
6804
b8bbda91
KH
68052002-11-29 Kazu Hirata <kazu@cs.umass.edu>
6806
6807 * config/h8300/h8300.md (movsi_h8300hs): Change the order of
6808 alternatives to correct the length when the memory operand is
6809 either pre_dec or post_inc.
6810
d23dff51
KH
68112002-11-29 Kazu Hirata <kazu@cs.umass.edu>
6812
6813 * config/h8300/h8300.md (an anonymous pattern): Give an
6814 internal name *tst_extzv_bitqi_1_n.
6815 Accept bit_operand instead of bit_memory_operand.
6816 Do not accept bit tests with the MSB.
6817 (*tst_extzv_memqi_1_n): New.
6818
4977bab6
ZW
6819Thu Nov 28 23:56:24 CET 2002 Jan Hubicka <jh@suse.cz>
6820
6821 * i386.c (ix86_expand_int_movcc): Add copy_rtx to avoid invalid RTX
6822 sharing when operand is SUBREG.
6823
6824Thu Nov 28 08:57:26 CET 2002 Jan Hubicka <jh@suse.cz>
6825
6826 * athlon.md (athlon-decodev): New reservation unit.
6827 (athlon-direct0): New reservation.
6828 (athlon-vector): New use athlon-decodev.
6829 (athlon-double, athlon-direct): Better model.
6830 (athlon_imul_k8): Use athlon-direct0.
6831 (athlon_movlpd_load): New insn reservation.
6832
3f7211f1
KH
68332002-11-28 Kazu Hirata <kazu@cs.umass.edu>
6834
6835 * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
6836 Fix a comment typo.
6837 (h8300_tiny_constant_address_p): Likewise.
6838
fcb204ce
MM
68392002-11-28 Michael Matz <matz@suse.de>
6840
6841 * doc/passes.texi: Mention the other register allocator.
6842
7957fde4
KH
68432002-11-28 Kazu Hirata <kazu@cs.umass.edu>
6844
6845 * config/h8300/h8300.md (6 new peephole2 patterns): New.
6846
17c04c5e
JJ
68472002-11-28 Jakub Jelinek <jakub@redhat.com>
6848
6849 * config.gcc (x86_64-*-linux*) [tmake_file]: Remove i386/t-crtstuff.
6850 * config/t-linux (CRTSTUFF_T_CFLAGS_S): Add $(CRTSTUFF_T_CFLAGS).
6851 * config/i386/t-linux64 (CRTSTUFF_T_CFLAGS): Define.
6852
73cc75e9
KH
68532002-11-28 Kazu Hirata <kazu@cs.umass.edu>
6854
6855 * config/h8300/h8300.c (h8300_and_costs): New.
6856 * config/h8300/h8300.h (RTX_COSTS): Use h8300_and_costs.
6857 * config/h8300/h8300-protos.h: Add a prototype for
6858 h8300_and_costs.
6859
4977bab6
ZW
6860Wed Nov 27 20:34:13 CET 2002 Jan Hubicka <jh@suse.cz>
6861
6862 * i386.c (x86_sse_partial_regs_for_cvtsd2ss): New.
6863 * i386.h (x86_sse_partial_regs_for_cvtsd2ss): Declare.
6864 (TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS): New macro.
6865 * i386.md (truncdfsf patterns and splitters): Use
6866 TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS
6867
0dbc3651
ZW
68682002-11-27 Zack Weinberg <zack@codesourcery.com>
6869
6870 * config/rs6000/rs6000.c (altivec_init_builtins): Make the
6871 pointer argument in the prototypes of the following builtins
6872 be (const TYPE *) rather than (TYPE *):
6873 + __builtin_altivec_ld_internal_4sf
6874 + __builtin_altivec_ld_internal_4si
6875 + __builtin_altivec_ld_internal_8hi
6876 + __builtin_altivec_ld_internal_16qi
6877 + __builtin_altivec_lvsl
6878 + __builtin_altivec_lvsr
6879 + __builtin_altivec_lvebx
6880 + __builtin_altivec_lvehx
6881 + __builtin_altivec_lvewx
6882 + __builtin_altivec_lvxl
6883 + __builtin_altivec_lvx
6884 + __builtin_altivec_dst
6885 + __builtin_altivec_dstt
6886 + __builtin_altivec_dstst
6887 + __builtin_altivec_dststt
6888
fe3f9515
KG
68892002-11-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6890
6891 * except.c (default_exception_section): Move variable into the
6892 scope where it is used.
6893
4e85eada
KW
68942002-11-27 Krister Walfridsson <cato@df.lth.se>
6895
6896 * config.gcc (*-*-netbsd[2-9]*, *-*-netbsdelf[2-9]*): Test for
6897 correct version.
6898
f248423a
KH
68992002-11-27 Kazu Hirata <kazu@cs.umass.edu>
6900
6901 * config/h8300/h8300.h (OK_FOR_U): Remove extra parentheses.
6902
ae557002
KH
69032002-11-27 Kazu Hirata <kazu@cs.umass.edu>
6904
6905 * config/h8300/h8300.c (h8300_shift_costs): New.
6906 * config/h8300/h8300.h (RTX_COSTS): Use h8300_shift_costs.
6907 * config/h8300/h8300-protos.h: Add a prototype for
6908 h8300_shift_costs.
6909
c9b93e1a
JW
69102002-11-27 Jim Wilson <wilson@redhat.com>
6911
0dbc3651
ZW
6912 * config/rs6000/spe.md (spu_evsplatfi, spu_evsplati): Swap operands
6913 in output template.
c9b93e1a 6914
249e6b63
CH
69152002-11-27 Casper S. Hornstrup <chorns@users.sourceforge.net>
6916
6917 * config/i386/i386.h (DLL_IMPORT_EXPORT_PREFIX): Define.
6918 * config/i386/winnt.c (i386_pe_dllexport_name_p): Use
6919 DLL_IMPORT_EXPORT_PREFIX, not '@'.
6920 (i386_pe_dllimport_name_p): Likewise.
6921 (i386_pe_mark_dllexport): Likewise.
6922 (i386_pe_mark_dllimport): Likewise.
6923 (i386_pe_encode_section_info): Likewise.
6924 (i386_pe_strip_name_encoding): Likewise.
6925
5a5c00af
RH
69262002-11-27 Richard Henderson <rth@redhat.com>
6927
6928 * mkmap-symver.awk (BEGIN): Set sawsymbol false.
6929 (nm && NF == 3): Set sawsymbol true.
6930 (END): Exit if no symbols seen.
6931 (output): Fix map syntax error if no globals for the version.
6932
1dc46545
JH
6933Wed Nov 27 14:45:46 CET 2002 Jan Hubicka <jh@suse.cz>
6934
6935 * builtins.def (DEF_C99_BUILTIN): Fix.
6936
4977bab6
ZW
69372002-11-26 Kaz Kojima <kkojima@gcc.gnu.org>
6938
6939 * config/sh/lib1funcs.asm (FUNC, ENDFUNC0, ENDFUNC): New macros.
6940 (all): Add .size and .type information.
6941
6942Tue Nov 26 22:43:50 CET 2002 Jan Hubicka <jh@suse.cz>
6943
6944 * i386.c (ix86_expand_int_movcc): Do not emit lea for short mode on
6945 partial_reg_stall target.
6946
6947Tue Nov 26 22:27:47 CET 2002 Jan Hubicka <jh@suse.cz>
6948
6949 * i386.md (movhicc): Allow general operand.
6950 (movqicc): New expander.
6951 (movqicc_noc): New pattern.
6952 * i386.c (ix86_expand_carry_flag_compare): New function.
6953 (ix86_expand_int_movcc): Optimize harder using sbb; support more
6954 HImode conversion; support QImode conditional moves
6955
6956Tue Nov 26 16:30:59 CET 2002 Jan Hubicka <jh@suse.cz>
6957
6958 * i386.c (FAST_PROLOGUE_INSN_COUNT): Set to 20.
6959 (ix86_expand_prologue): Multiply the count by amount of registers to be
6960 pushed.
6961
6962Tue Nov 26 15:55:27 CET 2002 Jan Hubicka <jh@suse.cz>
6963
6964 * i386.c (override_options): Error about wrong -mcpu on x86-64
6965 compilation.
6966
69672002-11-26 NIIBE Yutaka <gniibe@m17n.org>
6968
6969 * config/sh/linux.h (FUNCTION_PROFILER): Implemented.
6970
6971Tue Nov 26 00:14:20 CET 2002 Jan Hubicka <jh@suse.cz>
6972
6973 * i386-protos.h (x86_extended_QIreg_mentioned_p,
6974 x86_extended_reg_mentioned_p): Declare.
6975 * i386.c (extended_reg_mentioned_1): New static function.
6976 (x86_extended_QIreg_mentioned_p,
6977 x86_extended_reg_mentioned_p): New global functions.
6978 * i386.h (REX_SSE_REGNO_P): New macro.
6979 * i386.md (prefix_rex): New attribute.
6980 (length attribute): Add rex.
6981
5154b05d
AH
69822002-11-26 Andrew Haley <aph@redhat.com>
6983
6984 * unwind-sjlj.c (_Unwind_FindEnclosingFunction): Rename
6985 from_Unwind_Find_Enclosing_Function.
6986 * unwind-dw2.c (_Unwind_FindEnclosingFunction): Likewise.
6987 * config/ia64/unwind-ia64.c (_Unwind_FindEnclosingFunction): Likewise.
6988 * libgcc-std.ver (_Unwind_FindEnclosingFunction): Rename from
6989 _Unwind_Find_Enclosing_Function, export @@GCC_3.3.
6990 * unwind.h (_Unwind_FindEnclosingFunction): Add.
0dbc3651 6991
0f942cae
HP
69922002-11-26 Hartmut Penner <hpenner@de.ibm.com>
6993
0dbc3651
ZW
6994 * config/s390/s390.c (390_output_constant_pool): Set alignment
6995 before label in 64 bit mode, behind otherwise.
0f942cae 6996
25fdb4dc
RH
69972002-11-26 Richard Henderson <rth@redhat.com>
6998
6999 * c-common.c (handle_visibility_attribute): Accept "default".
7000 * tree.h (enum symbol_visibility): New.
7001 (decl_visibility): Declare.
7002 * target.h (gcc_target.visibility): Take visibility arg as integer.
7003 * varasm.c (default_assemble_visibility): Likewise.
7004 (decl_visibility): New.
7005 (maybe_assemble_visibility): Use it.
7006 * output.h (default_assemble_visibility): Update prototype.
7007 * config/rs6000/rs6000.c (rs6000_assemble_visibility): Take
7008 visibility arg as integer.
d5c4db17 7009 * doc/extend.texi: Document default visibility.
25fdb4dc 7010
920e86b8
KH
70112002-11-26 Kazu Hirata <kazu@cs.umass.edu>
7012
7013 * config/h8300/h8300.c: Adjust spacing.
7014 * config/h8300/h8300.h: Likewise.
7015
7b1bd3c5
RH
70162002-11-26 Richard Henderson <rth@redhat.com>
7017
7018 * hooks.c (hook_bool_void_false, hook_void_tree_int,
7019 hook_void_FILEptr_constcharptr): Rename so that the return
7020 type is first.
7021 (hook_int_tree_tree_1, hook_void_tree, hook_void_tree_treeptr,
7022 hook_bool_tree_false): New.
7023 * hooks.h: Update.
7024 * langhooks-def.h: Update for renames.
7025 * target-def.h: Likewise.
7026 * tree.c (default_comp_type_attributes,
0dbc3651 7027 default_set_default_type_attributes, default_insert_attributes,
7b1bd3c5
RH
7028 default_function_attribute_inlinable_p,
7029 default_ms_bitfield_layout_p): Remove.
7030 * tree.h: Update.
7031
44571d6e
JDA
70322002-11-26 John David Anglin <dave@hiauly1.hia.nrc.ca>
7033
7034 * pa-protos.h (function_value): New prototype.
7035 * pa.c (function_value): Use a PARALLEL to return small aggregates on
7036 TARGET_64BIT.
7037 * pa.h (FUNCTION_VALUE): Use function_value.
7038 * pa.md (call_value_internal_symref, call_value_internal_reg_64bit,
7039 call_value_internal_reg, sibcall_value_internal_symref,
7040 sibcall_value_internal_symref_64bit): Remove =rf constraint on return
7041 value.
7042
084a1106
JDA
70432002-11-26 John David Anglin <dave@hiauly1.hia.nrc.ca>
7044
7045 * expr.c (gen_group_rtx, emit_group_move): New functions.
7046 * expr.h (gen_group_rtx, emit_group_move): Prototype.
7047 * function.c (expand_function_start): Use gen_group_rtx to create a
7048 PARALLEL rtx to hold the return value when the real return rtx is a
7049 PARALLEL.
7050 (expand_function_end): Use emit_group_move to move the return value
7051 from a PARALLEL to the real return registers.
7052 * rtl.h (REG_FUNCTION_VALUE_P): Allow function values to be returned
7053 in PARALLELs.
7054
5d2fe493
JT
70552002-11-26 Jason Thorpe <thorpej@wasabisystems.com>
7056
7057 * config/t-libc-ok: Fix typo.
7058
13c22933
JJ
70592002-11-26 Jakub Jelinek <jakub@redhat.com>
7060
7061 * configure.in: Move AC_CANONICAL_SYSTEM and AC_ARG_PROGRAM back
7062 before AC_PROG_CC.
7063 * configure: Rebuilt.
7064
5326cd3d
NS
70652002-11-26 Nathan Sidwell <nathan@codesourcery.com>
7066
7067 * c-decl.c: (start_struct): Commonize flag setting.
7068
647d340d
JT
70692002-11-26 Jason Thorpe <thorpej@wasabisystems.com>
7070
7071 * config/rs6000/rs6000.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): New.
7072 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Use
0dbc3651 7073 RS6000_CPU_CPP_ENDIAN_BUILTINS.
647d340d
JT
7074 * config/rs6000/netbsd.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): Redefine.
7075
29742ba4
HP
70762002-11-26 Hartmut Penner <hpenner@de.ibm.com>
7077
7078 * config/s390/s390.md (literal_pool_64, literal_pool_31 ): New
7079 insns.
7080 * config/s390/s390.c (struct machine_function): Introduction of
7081 struct machine_function.
0412a4d4
HP
7082 (s390_output_symbolic_const): Use of cfun.
7083 (s390_optimize_prolog): Likewise.
7084 (s390_fixup_clobbered_return_reg): Likewise.
7085 (s390_frame_info): Likewise.
7086 (s390_emit_prologue, s390_emit_epilogue): Likewise.
7087 (s390_init_machine_status): New function.
7088 (override_options): call s390_init_machine_status.
0dbc3651 7089 * config/s390/s390-protos.h (s390_output_constant_pool): Changed
29742ba4 7090 prototype.
0dbc3651 7091
f4111593
JJ
70922002-11-26 Jakub Jelinek <jakub@redhat.com>
7093
7094 * varasm.c (output_constant_pool): For pool constants in mergeable
7095 section ensure each constant is padded to multiple of entity size.
7096
96d0f4dc
JJ
70972002-11-26 Jakub Jelinek <jakub@redhat.com>
7098
7099 * varasm.c (default_exception_section): Move to...
7100 * except.c (default_exception_section): ... here. Make
7101 .gcc_except_table read-only if it is not expected to have any
7102 dynamic relocations and linker handles it.
7103 * dwarf2out.c (default_eh_frame_section): Make .eh_frame read-only
7104 if it is not expected to have any dynamic relocations and linker
7105 handles it.
7106 * configure.in (HAVE_LD_RO_RW_SECTION_MIXING): Check what ld does
7107 when linking read-only and read-write sections together.
7108 * configure, config.in: Rebuilt.
7109 * crtstuff.c (EH_FRAME_SECTION_CONST): Define.
7110 (__EH_FRAME_BEGIN__, __FRAME_END__): Add it.
7111
4977bab6
ZW
7112Mon Nov 25 18:32:37 CET 2002 Jan Hubicka <jh@suse.cz>
7113
7114 * i386.md (pushsf_rex64): Fix typo.
7115
020a7b12
AH
71162002-11-25 Aldy Hernandez <aldyh@redhat.com>
7117
249e6b63
CH
7118 * config/rs6000/spe.h (__ev_create_sfix32_fs): Change macro into
7119 new function.
7120 (__ev_create_ufix32_fs): Same.
7121 (__ev_get_sfix32_fs_internal): New.
7122 (__ev_get_sfix32_fs): Define to use function.
7123 (__ev_get_ufix32_fs_internal): New.
7124 (__ev_get_ufix32_fs): Define to use function.
7125 (__ev_get_upper_ufix32_fs): Call __ev_get_ufix32_fs.
7126 (__ev_get_lower_ufix32_fs): Same.
7127 (__ev_get_upper_sfix32_fs): Call __ev_get_sfix32_fs.
7128 (__ev_get_lower_sfix32_fs): Same.
7129 (__ev_set_sfix32_fs_internal): New.
7130 (__ev_set_ufix32_fs_internal): New.
7131 (__ev_set_sfix32_fs): Call __ev_set_sfix32_fs_internal.
7132 (__ev_set_ufix32_fs): Call __ev_set_ufix32_fs_internal.
7133 (__ev_set_upper_sfix32_fs): Call function.
7134 (__ev_set_lower_sfix32_fs): Same.
7135 (__ev_set_upper_ufix32_fs): Same.
7136 (__ev_set_lower_ufix32_fs): Same.
020a7b12 7137
d2dff06b
DR
71382002-11-25 Douglas B Rupp <rupp@gnat.com>
7139
7140 * gcc.c (do_spec_1): Reset delete_this_arg to zero.
7141
32f0ffb3
JT
71422002-11-25 Jason Thorpe <thorpej@wasabisystems.com>
7143
7144 * config/elfos.h (HANDLE_SYSV_PRAGMA): Define as 1.
7145 * config/interix.h (HANDLE_SYSV_PRAGMA): Likewise.
7146 * config/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
7147 * config/lynx-ng.h (HANDLE_SYSV_PRAGMA): Likewise.
7148 * config/lynx.h (HANDLE_SYSV_PRAGMA): Likewise.
7149 * config/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
7150 * config/openbsd.h (HANDLE_SYSV_PRAGMA: Likewise.
7151 * config/alpha/elf.h (HANDLE_SYSV_PRAGMA): Likewise.
7152 * config/arm/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
7153 * config/cris/aout.h (HANDLE_SYSV_PRAGMA): Likewise.
7154 * config/d30v/d30v.h (HANDLE_SYSV_PRAGMA): Likewise.
7155 * config/frv/frv.h (HANDLE_SYSV_PRAGMA): Likewise.
7156 * config/i386/djgpp.h (HANDLE_SYSV_PRAGMA): Likewise.
7157 * config/i386/i386-interix.h (HANDLE_SYSV_PRAGMA): Likewise.
7158 * config/i386/vxi386.h (HANDLE_SYSV_PRAGMA): Likewise.
7159 * config/ia64/ia64.h (HANDLE_SYSV_PRAGMA): Likewise.
7160 * config/m88k/m88k.h (HANDLE_SYSV_PRAGMA): Likewise.
7161 * config/mmix/mmix.h (HANDLE_SYSV_PRAGMA): Likewise.
7162 * config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Likewise.
7163 * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Likewise.
7164 * config/sparc/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
7165 * config/sparc/vxsparc64.h (HANDLE_SYSV_PRAGMA): Likewise.
7166 * config/stormy16/stormy16.h (HANDLE_SYSV_PRAGMA): Likewise.
7167 * config/alpha/osf.h (HANDLE_SYSV_PRAGMA): Don't undef before
7168 defining.
7169 * config/i386/sco5.h (HANDLE_SYSV_PRAGMA): Likewise.
7170 * config/mips/iris5.h (HANDLE_SYSV_PRAGMA): Likewise.
7171
160f9a4c
DP
71722002-11-25 Dave Pitts <dpitts@cozx.com>
7173
7174 * gcc/fixinc/mkfixinc.sh: add i370-*-openedition to bypass fixinc list
7175
3c0f5389
KH
71762002-11-25 Kazu Hirata <kazu@cs.umass.edu>
7177
7178 * config/h8300/h8300.md (an anonymous pattern): New.
7179
83bbd9b6
RH
71802002-11-25 Richard Henderson <rth@redhat.com>
7181
7182 * alias.c (find_base_value): Use new_reg_base_value if it's live.
7183 (copying_arguments): Make boolean.
7184
7c64a860
JT
71852002-11-25 Jason Thorpe <thorpej@wasabisystems.com>
7186
7187 * gcc.c (static_spec_functions): Add if-exists-else spec
7188 function.
7189 (if_exists_else_spec_function): New function.
7190 * doc/invoke.texi: Document the if-exists-else spec function.
7191
7192 * config/netbsd-elf.h (NETBSD_STARTFILE_SPEC): For -static, use
7193 "%:if-exists-else(crtbeginT%O%s crtbegin%O%s)".
7194
a4967b8d
JT
71952002-11-25 Jason Thorpe <thorpej@wasabisystems.com>
7196
7197 * config.gcc (powerpc-*-netbsd*): Replace "svr4.h" with
7198 "netbsd.h netbsd-elf.h" in tm_file. Set tmake_file to
7199 "${tmake_file} rs6000/t-netbsd".
7200 * config/rs6000/netbsd.h: Rewrite.
7201 * config/rs6000/t-netbsd: New file.
7202
a91dce31
KH
72032002-11-25 Kazu Hirata <kazu@cs.umass.edu>
7204
7205 * config/h8300/h8300.md (an anonymous pattern): Relax the
7206 condition for the pattern.
7207
fe29a4ea
AH
72082002-11-25 Aldy Hernandez <aldyh@redhat.com>
7209
7210 * config/rs6000/rs6000.h (enum rs6000_builtins): Remove evmwlssf,
7211 evmwlsmf, evmwlssfa, evmwlsmfa, evmwlssfaaw, evmwlsmfaaw,
7212 evmwlssfanw, evmwlsmfanw.
7213
7214 * config/rs6000/rs6000.c (bdesc_2arg): Same.
7215
7216 * config/rs6000/spe.md: Same for patterns.
7217
b77f3744
CE
72182002-11-25 Christian Ehrhardt <ehrhardt@mathematik.uni-ulm.de>
7219
7220 PR c/8639
7221 * fold-const.c (extract_muldiv): Don't propagate division unless
7222 both arguments are multiples of C.
7223
5dafd282
AH
72242002-11-25 Andrew Haley <aph@redhat.com>
7225
249e6b63
CH
7226 * libgcc-std.ver (_Unwind_Find_Enclosing_Function): Add.
7227 * config/ia64/unwind-ia64.c (_Unwind_Find_Enclosing_Function): New.
7228 * unwind-sjlj.c (_Unwind_Find_Enclosing_Function): Likewise.
7229 * unwind-dw2.c (_Unwind_Find_Enclosing_Function): Likewise.
5dafd282 7230
4977bab6
ZW
7231Sun Nov 24 10:38:04 CET 2002 Jan Hubicka <jh@suse.cz>
7232
7233 * i386.c (x86_use_ffreep): New global variable.
7234 * i386.h (x86_use_frfeep): Declare
7235 (TARGET_USE_FFREEP): New macro
7236 * i386.md (movs?f*): Use freep when asked for.
7237 (push?f): Remove dead code.
7238
92d4b8a0
KH
72392002-11-24 Kazu Hirata <kazu@cs.umass.edu>
7240
7241 * config/h8300/h8300.c (h8300_init_once): Fix a typo in the
7242 target help message.
7243
1169f9e0
JT
72442002-11-24 Jason Thorpe <thorpej@wasabisystems.com>
7245
7246 * config.gcc (*-*-netbsd*1.[7-9]*, *-*-netbsd*[2-9]*): Set
7247 extra_parts to "crtbegin.o crtend.o crtbeginS.o crtendS.o
7248 crtbeginT.o".
7249 (arm*-*-netbsd*, i[34567]86-*-netbsd*, m68k*-*-netbsd*)
7250 (ns32k-*-netbsd*, sparc-*-netbsd*, vax-*-netbsd*): Set extra_parts
7251 to "" for a.out configurations.
7252 * config/t-netbsd (CRTSTUFF_T_CFLAGS): Set to "-fPIC".
7253
adde288a
JT
72542002-11-24 Jason Thorpe <thorpej@wasabisystems.com>
7255
7256 * config/alpha/netbsd.h (CPP_SUBTARGET_SPEC): Just use
0dbc3651 7257 NETBSD_CPP_SPEC directly.
adde288a
JT
7258 (SUBTARGET_EXTRA_SPECS): Remove netbsd_cpp_spec. Add
7259 netbsd_endfile_spec.
7260 (ENDFILE_SPEC): Use %(netbsd_endfile_spec).
7261
1ebe8c03
JT
72622002-11-24 Jason Thorpe <thorpej@wasabisystems.com>
7263
7264 * config/netbsd-elf.h (STARTFILE_SPEC): Rename to
7265 NETBSD_STARTFILE_SPEC.
7266 (STARTFILE_SPEC): Redefine in terms of NETBSD_STARTFILE_SPEC.
7267 (ENDFILE_SPEC): Likewise.
7268 * config/netbsd.h (LIB_SPEC, LIBGCC_SPEC): Likewise.
7269
bdabc150
AS
72702002-11-24 Andreas Schwab <schwab@suse.de>
7271
523cb499
AS
7272 * Makefile.in (install-driver): Remove versioned link before
7273 trying to create it.
7274
bdabc150
AS
7275 * config/m68k/m68k.c: Fix typo in last change defining
7276 TARGET_ASM_CAN_OUTPUT_MI_THUNK.
7277
4977bab6
ZW
72782002-11-23 H.J. Lu <hjl@gnu.org>
7279
7280 * aclocal.m4: Include ../config/accross.m4.
7281 (gcc_AC_COMPILE_CHECK_SIZEOF): Removed.
7282 (gcc_AC_C_COMPILE_ENDIAN): Removed.
7283 (gcc_AC_C_FLOAT_FORMAT): Check $ac_cv_c_bigendian
7284 instead of $ac_cv_c_compile_endian.
7285
7286 * configure.in: Replace gcc_AC_COMPILE_CHECK_SIZEOF with
7287 AC_COMPILE_CHECK_SIZEOF.
7288 Replace gcc_AC_C_COMPILE_ENDIAN with AC_C_BIGENDIAN_CROSS.
7289 * configure: Rebuild.
7290
56b8e164
KH
72912002-11-23 Kazu Hirata <kazu@cs.umass.edu>
7292
7293 * config/h8300/h8300.c (print_operand): Update the use of
7294 h8300_tiny_constant_address_p.
7295 (h8300_adjust_insn_length): Likewise.
7296 (h8300_tiny_constant_address_p): Check if the given rtx is a
7297 variable declared with __attribute__ ((tiny_data)).
7298
2bb74773
DJ
72992002-11-22 Dale Johannesen <dalej@apple.com>
7300
249e6b63 7301 * toplev.c (rest_of_compilation): Fix comments.
2bb74773 7302
199cbacc
GK
73032002-11-22 Geoffrey Keating <geoffk@apple.com>
7304
7305 * aclocal.m4 (ac_cv_func_mmap_dev_zero): Darwin does not
7306 allow mmap from /dev/zero. Don't make decisions for the host
7307 based on presence or absence of /dev/zero on the build machine.
7308 (ac_cv_func_mmap_anon): Darwin does have working MMAP_ANON.
7309 (AC_FUNC_MMAP_FILE): Darwin does have mmap of a file.
7310 * configure: Regenerate.
7311
42766f8d
DJ
73122002-11-22 Daniel Jacobowitz <drow@mvista.com>
7313
7314 * gcc.c (make_relative_prefix, split_directories)
7315 (free_split_directories): Removed.
7316
80486e06
DJ
73172002-11-22 Daniel Jacobowitz <drow@mvista.com>
7318
7319 * configure.in: Set insn=nop for DWARF-2 tests on ARM.
7320 * configure: Regenerated.
7321
41c3eb5d
KH
73222002-11-22 Kazu Hirata <kazu@cs.umass.edu>
7323
7324 * config/h8300/h8300.c (compute_a_shift_length): Fix the insn
7325 length computation when xor.l is output.
7326
4977bab6
ZW
73272002-11-21 Douglas B Rupp <rupp@gnat.com>
7328
7329 * alpha.md (movstrdi, clrstrdi): New VMS patterns.
7330 (call_vms_1, call_value_vms_1): Cleanup syntax.
7331
7332Thu Nov 21 19:20:27 CET 2002 Jan Hubicka <jh@suse.cz>
7333
7334 * athlon.md (define_atuomaton): Add athlon_load.
7335 (athlon-double): New reservation.
7336 (athlon-ieu0): New CPU unit.
7337 (athlon-load?): Use athlon_load automaton.
7338 (*_k8 reservations): New.
7339 (other insn revervations): Activate for K8.
7340
7341Thu Nov 21 15:07:42 CET 2002 Jan Hubicka <jh@suse.cz>
7342
7343 * cfgrtl.c (verify_flow_info): Accept EDGE_CAN_FALLTHRU flag.
7344
57de2c8f
JW
73452002-11-21 Jim Wilson <wilson@redhat.com>
7346
7347 * config/rs6000/rs6000.c (function_arg): Set inner mode of SPE
7348 vectors to SI.
7349
58db834b
BW
73502002-11-21 Bob Wilson <bob.wilson@acm.org>
7351
7352 * config/xtensa/xtensa-protos.h (xtensa_copy_incoming_a7): Declare.
7353 * config/xtensa/xtensa.c (struct machine_function): Add
7354 incoming_a7_copied flag.
7355 (xtensa_copy_incoming_a7): Define.
7356 (xtensa_emit_move_sequence): Use xtensa_copy_incoming_a7.
7357 * config/xtensa/xtensa.md (movdi, movsf, movdf): Ditto.
7358
c05dbe81
JH
7359Thu Nov 21 23:52:04 CET 2002 Jan Hubicka <jH@suse.cz>
7360
7361 * i386-protos.h (x86_64_sign_extended_value): Fix prototype.
7362 * i386.c (x86_64_general_operand, x86_64_szext_general_operand,
0dbc3651 7363 x86_64_nonmemory_operand, x86_64_movabs_operand,
c05dbe81
JH
7364 x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
7365 ix86_expand_int_movcc): Update call of x86_64_sign_extended_value.
7366 (local_symbolic_operand): Do not care the 64bit limits.
7367 (x86_64_sign_extended_value): Remove allow_rip support.
7368 (legitimate_pic_address_disp_p): Handle all cases allowed
7369 with RIP addressing.
7370 (legitimate_address_p): Use legitimate_pic_address_disp_p for PIC.
7371 (legitimize_pic_address): Reorganize.
7372 * i386.h (EXTRA_CONSTRAINT): Update call of x86_64_sign_extended_value.
7373
ff3afb56
JT
73742002-11-21 Jason Thorpe <thorpej@wasabisystems.com>
7375
7376 * config.gcc (arm*-*-netbsdelf*): Enable configuration.
7377 * config/arm/netbsd-elf.h: New file.
7378
57c21a42
JT
73792002-11-21 Jason Thorpe <thorpej@wasabisystems.com>
7380
7381 * config/arm/elf.h (SUBTARGET_EXTRA_SPECS): Add
7382 subtarget_asm_float_spec.
7383 (SUBTARGET_ASM_FLOAT_SPEC): Define, moving the
7384 defaults from...
7385 (ASM_SPEC): ...here. Use subtarget_asm_float_spec.
7386
3d5ee65b
NC
73872002-11-21 Nick Clifton <nickc@redhat.com>
7388
7389 * config/fr30/fr30.md (movsf_constant_store): Move code to
7390 detect 0.0 into fr30.c.
7391 * config/fr30/fr30-protos.h (fr30_const_double_is_zero):
7392 Prototype.
7393 * config/fr30/fr30.c (fr30_const_double_is_zero): New
7394 function. Return true if the rtx is 0.0.
7395
4d938a09
JT
73962002-11-21 Jason Thorpe <thorpej@wasabisystems.com>
7397
7398 * config/arm/elf.h (ASM_SPEC, LINK_SPEC): Pass -EL
7399 if -mlittle-endian is specified.
7400
1dda7ee4
RE
74012002-11-21 Richard Earnshaw <rearnsha@arm.com>
7402
7403 PR optimization/2903
7404 * arm.md (anddi_notzesidi_di): Operand 2 is inverted not operand 1.
7405 (anddi_notsesidi_di): Likewise.
7406
7c143ed2
KH
74072002-11-21 Kazu Hirata <kazu@cs.umass.edu>
7408
7409 * config/h8300/h8300.c (print_operand): Use
7410 h8300_eightbit_constant_address_p and
7411 h8300_tiny_constant_address_p.
7412 (h8300_adjust_insn_length): Likewise.
7413 * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Remove.
7414 (TINY_CONSTANT_ADDRESS_P): Likewise.
7415 (OK_FOR_U): Use eightbit_constant_address_p.
7416
b5798b2a
UW
74172002-11-21 Ulrich Weigand <uweigand@de.ibm.com>
7418
7419 * config/s390/libgcc-libc.ver: Add multilib support.
7420 * config/s390/linux.h (MULTILIB_DEFAULT): Define.
0dbc3651
ZW
7421 * config/s390/t-linux64 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
7422 MULTILIB_OSDIRNAMES, LIBGCC, INSTALL_LIBGCC,
b5798b2a
UW
7423 EXTRA_MULTILIB_PARTS): Define.
7424
c231c91e
RE
74252002-11-21 Richard Earnshaw <rearnsha@arm.com>
7426
7427 * arm.c (arm_get_frame_size): A leaf function does not need its
7428 stack padding to an aligned boundary if it has no frame.
7429 (thumb_get_frame_size): Likewise.
7430
4977bab6
ZW
7431Wed Nov 20 22:25:53 CET 2002 Jan Hubicka <jh@suse.cz>
7432
7433 * x86-64.h (MCOUNT_NAME): Fix typo in my previous patch.
7434 (override_options): Likewise.
7435
7436Wed Nov 20 19:07:17 CET 2002 Jan Hubicka <jh@suse.cz>
7437
7438 * config.gcc: Add k8 target alias support
7439 * i386.c (_cost): Declare costs for various variants of divides and
7440 multiplies.
7441 (k8_cost): New.
7442 (m_K8, m_ATHLON_K8): New macros.
7443 (x86_use_leave, x86_push_memory, x86_movx, x86_unroll_strlen,
7444 x86_cmove, x86_3dnow_a, x86_deep_branch, x86_use_fiop,
7445 x86_promote_QImode, x86_sub_esp_?, x86_add_esp_?,
7446 x86_integer_DFmode_moves, x86_partial_reg_dependency,
7447 x86_memory_mismatch_stall, x86_accumulate_outgoing_args,
7448 x86_prologue_using_move, x86_epilogue_using_move,
7449 x86_arch_always_fancy_math_387, x86_sse_partial_regs,
7450 x86_sse_typeless_stores): Set for K8
7451 (override_options): Add k8 support; fix athlon alignment;
7452 complain about non-x86-64 capable CPU being used in x86-64 compilation.
7453 (ix86_issue_rate): Set for K8.
7454 (ix86_adjust_cost, ia32_use_dfa_pipeline_interface,
7455 x86_machine_dependent_reorg): Handle K8 like
7456 * i386.h
7457 (x86_costs): Change mult_init and divide into array.
7458 (TARGET_K8, TARGET_ATHLON): New macros.
7459 (MODE_INDEX): New macro.
7460 (RTX_COST): Use new costs.
7461 (TARGET_CPU_CPP_BUILTINS): Define __k8__ and __tune_k8__.
7462 (TARGET_CPU_DEFAULT_NAMES): Add k8
7463 (TARGET_CPU_DEFAULT_k8): New constant
7464 (enum processor_type): Add PROCESSOR_K8.
7465 * i386.md (cpu attribute): Add k8.
7466
7467 * invoke.texi: Document -march=k8.
7468
7469 * i386.md (type attribute): Add leave
7470 (mode attribute): Remove unknownfp.
7471 (length_immediate, modrm, memory attributes): Handle leave correctly.
7472 (fp comparison patterns): Determine FP mode.
7473 (leave, leave_rex64): Remove special cases.
7474 * ppro.md (ppro_uops, ppro_p2): Add leave
7475 * pentiun.md (pent_pop): Handle leave too.
7476 * k6.md (k6_load): Handle leave.
7477 * athlon.md (athlon_leave, athlon_pop): Fix.
7478 (athlon_decode): Handle leave.
7479
27e58a70
SE
74802002-11-20 Steve Ellcey <sje@cup.hp.com>
7481
7482 * emit-rtl.c (gen_reg_rtx): Simplify mapping of Complex type
7483 to component type using GET_MODE_INNER.
7484 * expr.c (emit_move_insn_1): Ditto.
7485 * optabs.c (expand_binop): Ditto.
7486 (expand_unop): Ditto.
7487 (expand_complex_abs): Ditto.
7488
964b104a
DR
74892002-11-20 Douglas B Rupp <rupp@gnat.com>
7490
7491 * hwint.h (HAVE___INT64): Fix typo (was HAVE__INT64).
7492
3d4b192a
DD
74932002-11-20 DJ Delorie <dj@redhat.com>
7494
7495 * config/stormy16/stormy16.c (s16builtins,
7496 xstormy16_init_builtins, xstormy16_expand_builtin): New.
7497 * config/stormy16/stormy16.md (divmodhi4, sdivlh, udivlh): New.
7498
414d23ae
HPN
74992002-11-20 Hans-Peter Nilsson <hp@bitrange.com>
7500
7501 * Makefile.in (RUN_GEN, VALGRIND_DRIVER_DEFINES): New variables.
7502 (DRIVER_DEFINES): Add $(VALGRIND_DRIVER_DEFINES).
7503 (executing gencheck, genconfigs, genconditions, genflags,
7504 gencodes, genconstants, genemit, genrecog, genopinit, genextract,
7505 genpeep, genattr, genattrtab, genoutput, gengenrtl, genpreds,
7506 gengtype, genprotos): Prepend $(RUN_GEN).
7507 * configure.in: Move host compiler tests before --enable-checking
7508 tests.
7509 (--enable-checking=valgrind): New.
7510 * config.in, configure: Regenerate.
7511 * cppfiles.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
7512 Define as empty.
7513 (read_include_file): When doing the mmap+1 trick,
7514 valgrind-annotate the byte after the mmap:ed area as readable.
7515 (purge_cache): Remove above annotation.
7516 * gcc.c (execute) [ENABLE_VALGRIND_CHECKING]: Arrange to prepend
7517 VALGRIND_PATH -q to each command.
7518
9a0a7d5d
HPN
7519 * ggc-common.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
7520 Define as empty.
7521 (ggc_realloc): Update valgrind annotations.
7522 * ggc-page.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
7523 Define as empty.
c14bc6db 7524 (alloc_anon, free_page, ggc_alloc, poison_pages): Add machinery to
9a0a7d5d
HPN
7525 valgrind-annotate memory.
7526
3ba2436a
UW
75272002-11-20 Ulrich Weigand <uweigand@de.ibm.com>
7528
7529 * recog.c (constrain_operands): Prefer exact match over reloadable
7530 EXTRA_MEMORY_CONSTRAINT or EXTRA_ADDRESS_CONSTRAINT.
7531
7532 * reload.c (find_reloads): Always reload EXTRA_ADDRESS_CONSTRAINT
7533 operands in Pmode.
7534
a9b6f1e7 75352002-11-20 Eric Botcazou <ebotcazou@libertysurf.fr>
02a362d9
EB
7536
7537 PR c/8518
7538 * c-decl.c (duplicate_decls): Outline the second definition
7539 of an extern inline function in all cases.
7540
5354730b
RS
75412002-11-20 Richard Sandiford <rsandifo@redhat.com>
7542
7543 * stor-layout.c (place_field): Update rli->offset as well as
7544 rli->bitpos.
7545
5720520f
RS
75462002-11-20 Richard Sandiford <rsandifo@redhat.com>
7547
7548 * sched-deps.c (sched_analyze): Check HARD_REGNO_CALL_PART_CLOBBERED.
7549
4392ebd3
RS
75502002-11-20 Richard Sandiford <rsandifo@redhat.com>
7551
7552 * config/sh/sh.md (udivsi3): Don't put udivsi3_i4_media instructions
7553 into a libcall block.
7554 (divsi3): Likewise divsi3_i4_media.
7555
3748bd9e
RS
75562002-11-20 Richard Sandiford <rsandifo@redhat.com>
7557
7558 * global.c (find_reg): Check HARD_REGNO_NREGS before kicking
7559 out another register.
7560
bc02f8d3
JJ
75612002-11-20 Jakub Jelinek <jakub@redhat.com>
7562
7563 * combine.c (force_to_mode): Only replace with (not Y) if all bits in fuller_mask
7564 (not just mask) are set in C.
7565
4977bab6
ZW
75662002-11-19 Steven Bosscher <steven.bosscher@usafa.af.mil>
7567
7568 * config/mips/vr.h (DRIVER_SELF_SPECS): Change %{<mgp32} to %<mgp32.
7569
75702002-11-19 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
7571
7572 * profile.c (index_counts_file): Fix obvious mistake.
7573
75742002-11-19 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
7575
7576 * Makefile.in (profile.o): Add hashtab.h dependency.
7577 * gcov-io.h (GCOV_SUMMARY_LENGTH): New.
7578 * profile.c: Include hashtab.h.
7579 (htab_counts_index_hash, htab_counts_index_eq, htab_counts_index_del,
7580 cleanup_counts_index, index_counts_file, struct section_reference,
7581 struct da_index_entry, counts_file_name, counts_file_index): New.
7582 (get_exec_counts, init_branch_prob): Modified.
7583
75842002-11-19 Kaz Kojima <kkojima@gcc.gnu.org>
7585
7586 * config.gcc (sh*-*-linux*): Add t-slibgcc-elf-ver and t-linux
7587 to tmake_file. Remove setting gas and gnu_ld here.
7588 * config/sh/libgcc-glibc.ver: New file.
7589 * config/sh/t-linux (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
7590 (SHLIB_MAPFILES): New.
7591 * config/sh/linux.h (MD_EXEC_PREFIX): Undefine.
7592 (MD_STARTFILE_PREFIX): Likewise.
7593 (HANDLE_PRAGMA_PACK_PACK_PUSH_POP): Define.
7594 (DWARF2_UNWIND_INFO): Redefine.
7595 (ASM_PREFERRED_EH_DATA_FORMAT): Define.
7596 (LINK_EH_SPEC): Redefine.
7597 (MD_FALLBACK_FRAME_STATE_FOR): Define except for SH-media.
7598 (SH_FALLBACK_FRAME_FLOAT_STATE): Define.
7599 (SH_DWARF_FRAME_GP0, SH_DWARF_FRAME_FP0, SH_DWARF_FRAME_XD0,
7600 SH_DWARF_FRAME_BT0, SH_DWARF_FRAME_PR, SH_DWARF_FRAME_PR_MEDIA,
7601 SH_DWARF_FRAME_GBR, SH_DWARF_FRAME_MACH, SH_DWARF_FRAME_MACL,
7602 SH_DWARF_FRAME_PC, SH_DWARF_FRAME_SR, SH_DWARF_FRAME_FPUL,
7603 SH_DWARF_FRAME_FPSCR): Likewise.
7604 * config/sh/sh-protos.h (sh_set_return_address): Declare.
7605 * config/sh/sh.c (calc_live_regs): Count EH_RETURN_DATA_REGNO
7606 registers if the current function calls EH return.
7607 (sh_expand_epilogue): Handle EH stack adjustments.
7608 (sh_set_return_address): New function.
7609 * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
7610 Don't abort even if the number is mapped to -1.
7611 (EH_RETURN_DATA_REGNO): Define.
7612 (EH_RETURN_STACKADJ_RTX): Define.
7613 * config/sh/sh.md (UNSPEC_EH_RETURN): New.
7614 (eh_return): New pattern.
7615 (eh_set_ra_di, eh_set_ra_si): Likewise.
7616 Add splitter to perform EH return after reload.
7617
7618Tue Nov 19 12:52:07 2002 J"orn Rennecke <joern.rennecke@superh.com>
7619
7620 * stor-layout.c (excess_unit_span): New function.
7621 (place_field): Use it.
7622
76232002-11-19 Andreas Schwab <schwab@suse.de>
7624
7625 * unwind.h (_Unwind_GetTextRelBase): Revert last change, this is
7626 not valid in C++.
7627
76282002-11-19 Nathanael Nerode <neroden@gcc.gnu.org>
7629
7630 * configure.in, Makefile.in: Correct BUILD/HOST confusion.
7631 * configure: Regenerate.
7632
7633Tue Nov 19 00:11:44 CET 2002 Jan Hubicka <jh@suse.cz>
7634
7635 * convert.c (strip_float_extensions): New function.
7636 (convert_to_real): Optimize some cases.
7637
3bdcef4d
AJ
76382002-11-19 Andreas Jaeger <aj@suse.de>
7639
7640 * loop.c (record_giv): Initialize not_replaceable.
7641 (check_final_value): Likewise.
7642
ec5b0c68
KH
76432002-11-19 Kazu Hirata <kazu@cs.umass.edu>
7644
7645 * config/h8300/h8300.c (h8300_init_once): Replace 1 with
7646 MASK_H8300S.
7647
76482002-11-19 Vijay L. Khuspe <vijayk1@kpit.com>
39ba95b5
VK
7649
7650 * config/h8300/h8300.c (h8300_init_once): Allow -mn switch
7651 only if -mh or -ms present.
7652 (h8300_eightbit_constant_address_p): Support the normal mode.
7653 (h8300_tiny_constant_address_p): Likewise.
7654 * config/h8300/h8300.h (TARGET_NORMAL_MODE): New.
7655 (POINTER_SIZE): Add 16 bit pointer for the normal mode.
7656 (Pmode): Evaluate to HImode for the normal mode.
7657 (SIZE_TYPE): Evaluate to unsigned int for normal mode.
7658 (PTRDIFF_TYPE): Evaluate to int for the normal mode.
7659 (ASM_WORD_OP): Evaluate to word for the normal mode.
7660 * config/h8300/h8300.md (tablejump_normal_mode): New.
7661 (indirect_jump_normal_mode): New.
7662 * config/h8300/t-h8300 (MULTILIB_OPTIONS): Pass -mn option to
7663 directory.
7664 (MULTILIB_DIRNAMES): Create target dependent directory
7665 'normal'.
249e6b63 7666 (MULTILIB_EXCEPTIONS): Don't turn on -mn on H8/300.
39ba95b5
VK
7667 * doc/invoke.texi (gccoptlist): Describe the new switch -mn.
7668
efcc7037
JH
7669Tue Nov 19 23:50:56 CET 2002 Jan Hubicka <jh@suse.cz>
7670
7671 * i386.md (length_immediate): Do not refer to insn address.
7672 (jcc*, jmp patterns): Compute length explicitly.
7673
76742002-11-19 Eric Botcazou <ebotcazou@libertysurf.fr>
35f1c975
EB
7675
7676 PR c/8588
7677 * optabs.c (expand_binop): Convert CONST_INTs in shift
7678 operations too.
7679
a500466b
RS
76802002-11-19 Roger Sayle <roger@eyesopen.com>
7681
7682 * gcse.c (gcse_emit_move_after): Correct typo in REG_EQUAL note.
7683
3b161153
KH
76842002-11-19 Kazu Hirata <kazu@cs.umass.edu>
7685
7686 * config/h8300/h8300.md (an anonymous pattern): Relax the
7687 condition to accept the same operands and/or subregs.
7688
85af47b9
DJ
76892002-11-19 Daniel Jacobowitz <drow@mvista.com>
7690
7691 * config/sh/sh.c (gen_shl_and): Revert previous patch.
7692 * config/sh/sh.md (ashrdi3+1, ashrdi3+2): Predicate on
7693 reload_completed.
7694
9675a91e
KH
76952002-11-19 Kazu Hirata <kazu@cs.umass.edu>
7696
7697 * config/h8300/h8300.c (print_operand): Update the use of
7698 EIGHTBIT_CONSTANT_ADDRESS_P.
7699 (h8300_adjust_insn_length): Likewise.
7700 (h8300_eightbit_constant_address_p): Check if the given rtx is
7701 a variable with __attribute__((eightbit_data)).
7702 * config/h8300/h8300.h (OK_FOR_U): Update the use of
7703 EIGHTBIT_CONSTANT_ADDRESS_P.
7704
7b61fa4d
GP
77052002-11-19 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
7706
7707 * doc/contrib.texi (Contributors): Add self as second contact in
7708 addition to Jeff Law.
7709
50aadcbc
AJ
77102002-11-19 Andreas Jaeger <aj@suse.de>
7711
7712 * tree-inline.c: Move prototpyes of find_alloca_call_1 and
7713 find_alloca_call to right place.
7714
dc65cd60
KH
77152002-11-19 Kazu Hirata <kazu@cs.umass.edu>
7716
7717 * cppfiles.c: Fix formatting.
7718
f3226a90
JT
77192002-11-19 Jason Thorpe <thorpej@wasabisystems.com>
7720
7721 * gcc.c (The Specs Language): Document spec functions.
7722 (static_spec_functions, lookup_spec_function)
7723 (eval_spec_function, handle_spec_function)
7724 (if_exists_spec_function, alloc_args): New.
7725 (execute): Abort if processing_spec_function is true.
7726 (do_spec_1): Hand off spec to handle_spec_function if %:
7727 is encountered. If processing_spec_function is true,
7728 end any pending argument when the end of the string is reached.
7729 (main): Use alloc_args to allocate the initial argument vector.
7730 * gcc.h (struct spec_function): New.
7731 (lang_specific_spec_functions): New extern.
7732
7733 * config/netbsd-elf.h (STARTFILE_SPEC): Add if-exists(crti%O%s).
7734 (ENDFILE_SPEC): Add if-exists(crtn%O%s).
7735 * config/alpha/netbsd.h (ENDFILE_SPEC): Likewise.
3bdcef4d 7736
f3226a90
JT
7737 * doc/invoke.texi: Document spec functions.
7738
7739 * cppspec.c (lang_specific_spec_functions): New.
7740 * gccspec.c: Likewise.
7741
08c42743
SE
77422002-11-18 Steve Ellcey <sje@cup.hp.com>
7743
7744 * config/ia64/hpux_longdouble.h (FIXUNS_TRUNCTFSI2_LIBCALL): New.
7745 (FIXUNS_TRUNCTFDI2_LIBCALL): New.
7746 (fixunstfsi_libfunc): Change.
7747 (fixunstfdi_libfunc): Change.
7748 (sdiv_optab): Don't zero out SImode handler.
7749 (udiv_optab): Don't zero out SImode handler.
7750 (smod_optab): Don't zero out SImode handler.
7751 (umod_optab): Don't zero out SImode handler.
7752
8128cccf
NB
77532002-11-18 Neil Booth <neil@daikokuya.co.uk>
7754
7755 PR preprocessor/8524
7756 * cpplib.c (run_directive): Remove previous kludge to _Pragma.
7757 Add a new one in its place, which hopefully works.
7758 (skip_rest_of_line): Change test for bottom-of-context-stack.
7759
95199202
JH
7760Mon Nov 18 21:29:03 CET 2002 Jan Hubicka <jh@suse.cz>
7761
7762 * i386.md (addqi_1_slp): Fix output template.
7763 (subqi_1_slp): Fix type.
7764
c986baf6
JH
7765Sun Nov 17 00:01:28 CET 2002 Jan Hubicka <jh@suse.cz>
7766
7767 * calls.c (alloca_call_p): New global function.
7768 * tree.h (alloca_call_p): New.
7769 * tree-inline.c (inlinable_function_p): Do not inline when
7770 function calls alloca.
7771 (find_alloca_call, find_alloca_call_1): New functions.
7772
ac655495
KH
77732002-11-18 Kazu Hirata <kazu@cs.umass.edu>
7774
7775 * config/h8300/h8300.md (*andorqi3): Use bor between bld and
7776 bst. Update the insn length.
7777 (*andorhi3): Likewise.
7778 (*andorsi3): Likewise.
7779
ea4210ef
RS
77802002-11-18 Richard Sandiford <rsandifo@redhat.com>
7781
7782 * config/sh/sh-protos.h (sh_mark_label): Declare.
7783 * config/sh/sh.c (sh_mark_label): New function, taken from
7784 movdi_const, but fixing the case when the address has an addend.
7785 * config/sh/sh.md (movdi_const, movdi_const_32bit): Use it.
7786
3503150c
RS
77872002-11-18 Richard Sandiford <rsandifo@redhat.com>
7788
7789 * config/sh/sh.c (pool_node): New field: part_of_sequence_p.
7790 (add_constant): Set it.
7791 (dump_table): Don't reorder a constant if part_of_sequence_p.
7792 (machine_dependent_reorg): Assume that float constants will
7793 stay in their original order if used as a sequence.
7794
180bde4f
RS
77952002-11-18 Richard Sandiford <rsandifo@redhat.com>
7796
7797 * config/sh/sh.c (calc_live_regs): Update check for PIC liveness
7798 in compact code.
7799
e300c78c
RS
78002002-11-18 Richard Sandiford <rsandifo@redhat.com>
7801
7802 * config/sh/sh.md (initialize_trampoline): Do not force the
7803 trampoline address into R0_REGS here.
7804
4977bab6
ZW
7805Sun Nov 17 14:01:09 CET 2002 Jan Hubicka <jh@suse.cz>
7806
7807 * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
7808 absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
7809 (neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
7810 generate unnecesary subregs.
7811
ec748ec8
KH
78122002-11-17 Kazu Hirata <kazu@cs.umass.edu>
7813
7814 * df.c: Fix formatting.
7815
cf0cec73
KH
78162002-11-17 Kazu Hirata <kazu@cs.umass.edu>
7817
7818 * config/h8300/h8300.md (two anonymous patterns): Fix insn
7819 lengths.
7820
d2b2c7cd
DJ
78212002-11-17 Daniel Jacobowitz <drow@mvista.com>
7822
7823 * sh.c (gen_shl_and): Don't create a zero_extend if the operand
7824 is not an arith_reg_operand.
7825
6ddb1bc1
GS
78262002-11-17 Graham Stott <graham.stott@btinternet.com>
7827
7828 * real.c (real_to_decimal): Fix buffer overrun when buffer size
7829 is smaller than representation.
7830
5ab2f7b7
KH
78312002-11-17 Kazu Hirata <kazu@cs.umass.edu>
7832
7833 * builtins.c: Fix formatting.
7834
4977bab6
ZW
7835Sat Nov 16 16:49:58 CET 2002 Jan Hubicka <jh@suse.cz>
7836
7837 * i386.md (truncdfsf2_1_sse, truncdfsf2_1_sse_nooverlap, truncdfsf2_2,
7838 floats?dff2_i387):
7839 Work around regclass stupidity.
7840 (truncdfsf_2_1_sse splitter): Accept !TARGET_PARTIAL_SSE_REGS
7841
7842Sat Nov 16 02:17:48 CET 2002 Jan Hubicka <jh@suse.cz>
7843
7844 * i386.md (fop_df_6): New pattern.
7845 (fop_xf_4, fop_xf_5): Handle both SF and DFmode extensions.
7846 (fop_xf_6): Rewrite
7847 (fop_xf_7): Delete.
7848 (fop_tf_4, fop_tf_5): Handle both SF and DFmode extensions.
7849 (fop_tf_6): Rewrite
7850 (fop_tf_7): Delete.
7851
0d964e40
KH
78522002-11-16 Kazu Hirata <kazu@cs.umass.edu>
7853
7854 * config/h8300/h8300.md (two anonymous patterns): Fix typos.
7855
6d55e887
KH
78562002-11-16 Kazu Hirata <kazu@cs.umass.edu>
7857
7858 * config/h8300/h8300.md: Fix formatting.
7859
4d5ad877
KH
78602002-11-16 Kazu Hirata <kazu@cs.umass.edu>
7861
7862 * config/h8300/h8300.md: Replace spaces with tabs.
7863 * config/h8300/t-h8300: Remove a trailing empty line.
7864
17fa74a2
KH
78652002-11-16 Kazu Hirata <kazu@cs.umass.edu>
7866
7867 * tlink.c: Fix formatting.
7868
9caa3eb2
DE
78692002-11-16 David Edelsohn <edelsohn@gnu.org>
7870
68a7da97 7871 PR 8362
9caa3eb2
DE
7872 * config/rs6000/rs6000.c (rs6000_outout_load_multiple): New function.
7873 * config/rs6000/rs6000.md (movti_string): Remove output modifier
7874 when scratch register never needed.
7875 (ldmsi[3-8]): New patterns.
7876
476c5eb6
KH
78772002-11-16 Kazu Hirata <kazu@cs.umass.edu>
7878
7879 * hard-reg-set.h: Follow spelling conventions.
7880 * real.c: Likewise.
7881 * target.h: Likewise.
7882
5dab517f
JJ
78832002-11-16 Jakub Jelinek <jakub@redhat.com>
7884
7885 * config/i386/x86-64.h (MCOUNT_NAME): Change into string literal.
7886
7e1a450d
KH
78872002-11-16 Kazu Hirata <kazu@cs.umass.edu>
7888
7889 * optabs.c: Fix formatting.
7890
1b245ade
JH
7891Sat Nov 16 02:06:02 CET 2002 Jan Hubicka <jh@suse.cz>
7892
7893 * athlon.md, k6.md, pentium.md, ppro.md: Handle shift1, rotate1
7894 * i386.md (attribute type): Add type shift1 and rotate1.
7895 (*_slp): Rewrite to have just two operands to avoid reload problems.
7896
6368a493
KH
78972002-11-15 Kazu Hirata <kazu@cs.umass.edu>
7898
7899 * config/h8300/h8300.md (4 anonymous patterns): New.
7900
737c38d1
GK
79012002-11-15 Geoffrey Keating <geoffk@apple.com>
7902
7903 * params.def (GGC_MIN_HEAPSIZE): Fix GGC_ALWAYS_COLLECT problem.
7904 * doc/invoke.texi: Correct description of what needs to be done to
7905 force collection at every ggc_collect call.
7906
2120e3cd
UW
79072002-11-15 Ulrich Weigand <uweigand@de.ibm.com>
7908
3bdcef4d 7909 * config/s390/s390.c (optimization_options): Set
2120e3cd
UW
7910 flag_asynchronous_unwind_tables to 1 by default.
7911
18789f4e
UW
79122002-11-15 Ulrich Weigand <uweigand@de.ibm.com>
7913
7914 * config/s390/s390.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
7915
a5fa1ecd
JH
7916Fri Nov 15 14:54:19 CET 2002 Jan Hubicka <jh@suse.cz>
7917
7918 * i386-protos.h (x86_function_profiler): New function
7919 * i386.h (MCOUNT_NAME): New.
7920 (PROFILE_COUNT_REGISTER): New.
a36fc5f8 7921 (FUNCTION_PROFILER): Move offline to ...
a5fa1ecd
JH
7922 * i386.c (x86_function_profiler) ... here; fix 64bit support
7923 * beos-elf.h (FUNCTION_PROFILER): Kill.
7924 (MCOUNT_NAME): New.
7925 * freebsd-aout.h (FUNCTION_PROFILER): Kill.
7926 (MCOUNT_NAME): New.
7927 (PROFILE_COUNT_REGISTER): New.
7928 * linux.h (FUNCTION_PROFILER): Kill.
7929 (MCOUNT_NAME): New.
7930 * x86-64.h (FUNCTION_PROFILER): Kill.
7931 (MCOUNT_NAME): New.
7932 * freebsd.h (FUNCTION_PROFILER): Kill.
7933 (MCOUNT_NAME): New.
7934
1741620c
JD
79352002-11-14 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
7936
7937 * config/arm/arm.h (EXPAND_BUILTIN_VA_ARG,
7938 FUNCTION_ARG_PASS_BY_REFERENCE): Define.
7939 * config/arm/arm.c (arm_va_arg,
7940 arm_function_arg_pass_by_reference): New.
7941 * config/arm/arm-protos.h: Add prototypes.
7942
24985beb
KH
79432002-11-14 Kazu Hirata <kazu@cs.umass.edu>
7944
7945 * gthr-single.h: Fix formatting.
7946
fa7b533b
ZW
79472002-11-14 Zack Weinberg <zack@codesourcery.com>
7948
7949 * tree.c (tree_vec_elt_check_failed): New function.
7950 * tree.h (TREE_VEC_ELT_CHECK): New checking macro.
7951 (TREE_VEC_ELT): Use it.
7952
7953 * tree-inline.c (optimize_inline_calls): Don't copy a
7954 zero-length vector.
7955
9fc910d1
GDR
79562002-11-14 Gabriel Dos Reis <gdr@integrable-solutions.net>
7957
7958 * diagnostic.c (sorry): Don't repeat "sorry, unimplemented" text.
7959
7eca317a
JJ
79602002-11-14 Jakub Jelinek <jakub@redhat.com>
7961
7962 * varasm.c (output_addressed_constants) [MINUS_EXPR]: Clear reloc if
7963 both operands contain local relocations.
7964 (categorize_decl_for_section): Don't use mergeable sections if
7965 initializer has any relocations.
7966
57751dd6
KH
79672002-11-14 Kazu Hirata <kazu@cs.umass.edu>
7968
7969 * gthr-vxworks.h: Fix formatting.
7970
f702e700
JJ
79712002-11-13 Janis Johnson <janis187@us.ibm.com>
7972
7973 * doc/install.texi (Testing): Document extra Java testing.
7974 * doc/sourcebuild.texi (Test Suites): Document libgcj testing.
7975
08ec53e7
JDA
79762002-11-13 John David Anglin <dave@hiauly1.hia.nrc.ca>
7977
7978 * pa64-hpux.h (LINK_SPEC): Move "+Accept TypeMismatch" switch to the
7979 beginning of the spec.
7980 (LDD_SUFFIX, PARSE_LDD_OUTPUT): Delete.
7981 (LD_INIT_SWITCH, LD_FINI_SWITCH): Define but don't enable. Add comment
7982 regarding problems with global constructors when using GNU ld.
7983
e6179f45
KH
79842002-11-13 Kazu Hirata <kazu@cs.umass.edu>
7985
7986 * gthr-solaris.h: Fix formatting.
7987
fe83a9ce
KH
79882002-11-13 Kazu Hirata <kazu@cs.umass.edu>
7989
7990 * gthr-posix.h: Fix formatting.
7991
4977bab6 79922002-11-12 Devang Patel <dpatel@apple.com>
4977bab6
ZW
7993 * gcc.c (display_help): Two new options -Xpreprocessor and -Xassembler.
7994 (process_command): Same.
7995 * doc/invoke.texi: Info about these two new options.
7996
eed13f9b
KH
79972002-11-12 Kazu Hirata <kazu@cs.umass.edu>
7998
7999 * config/h8300/h8300.md (*andorsi3): New.
8000
e8a7b0c2
FS
80012002-11-12 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
8002
8003 * doc/install.texi (powerpc-*-linux-gnu*): Update binutils requirement.
8004
94aec8dd
KH
80052002-11-12 Kazu Hirata <kazu@cs.umass.edu>
8006
8007 * config/h8300/h8300.c (tiny_constant_address_p): Parenthesize
8008 expressions appropriately.
8009
fc98f5cb
KH
80102002-11-12 Kazu Hirata <kazu@cs.umass.edu>
8011
8012 * gthr-win32.h: Fix formatting.
8013
e27051f7
KH
80142002-11-12 Kazu Hirata <kazu@cs.umass.edu>
8015
8016 * config/h8300/h8300.c (single_one_operand): Correctly compute
8017 mask when mode is SImode.
8018 (single_zero_operand): Likewise.
8019 * config/h8300/h8300.md (two new anonymous insns): New.
8020
10bb8214
GP
80212002-11-12 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
8022
8023 * doc/contrib.texi (Contributors): Use GCJ instead of gcj to refer
8024 to that entire project.
8025
ffe11c6b
RO
80262002-11-12 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
8027
8028 * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Restore old
8029 directories.
8030
3788cc17
ZW
80312002-11-11 Zack Weinberg <zack@codesourcery.com>
8032
8033 * params.def (ggc-min-expand, ggc-min-heapsize): New parameters.
8034 * doc/invoke.texi: Document them.
8035
8036 * ggc-page.c: Include params.h. Remove definitions of
8037 GGC_MIN_EXPAND_FOR_GC, GGC_MIN_LAST_ALLOCATED. Replace
8038 GGC_POISON with ENABLE_GC_CHECKING in ifdefs, delete #define.
8039 (init_gcc): Don't set G.allocated_last_gc here.
8040 (ggc_collect): Use PARAM_VALUE (GGC_MIN_HEAPSIZE) and
8041 PARAM_VALUE (GGC_MIN_EXPAND) to decide whether or not to
8042 perform collection.
8043 * ggc-simple.c: Similarly.
8044 * Makefile.in (ggc-common.o, ggc-simple.o): Add $(PARAMS_H) to
8045 dependencies.
8046
dd697f8c
KH
80472002-11-11 Kazu Hirata <kazu@cs.umass.edu>
8048
8049 * gthr-dce.h: Fix formatting.
8050
303b90b0
FS
80512002-11-11 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
8052
8053 PR c/8467
8054 * stmt.c (tail_recursion_args): Handle DECL_MODE differing from the
8055 mode of DECL_RTL case.
8056
e8437165
JJ
80572002-11-11 Janis Johnson <janis187@us.ibm.com>
8058
8059 * doc/contrib.texi: Merge in the list from the libstdc++ web pages.
8060
12f5c45e
JH
8061Mon Nov 11 12:06:08 CET 2002 Jan Hubicka <jh@suse.cz>
8062
8063 * i386.c (construct_container): Fix handling of SSE_CLASS.
8064
f981a754
JS
80652002-11-10 Joel Sherrill <joel@gcc.gnu.org>
8066
8067 * config/m68k/t-crtstuff (crti.o): Use this...
8068 ($(T)crti.o): ... instead.
8069 (crtn.o): Use this...
8070 ($(T)crtn.o): ... instead.
8071
a9b6f1e7 80722002-11-10 Eric Botcazou <ebotcazou@libertysurf.fr>
45ed7228
EB
8073
8074 PR c/8439
8075 * recog.c (validate_replace_rtx_1) [PLUS]: Simplify only
8076 if there is something new to be simplified.
8077
2da4124d
L
80782002-11-10 H.J. Lu <hjl@gnu.org>
8079
8080 * calls.c (PUSH_ARGS_REVERSED): Define only if not defined.
8081 * expr.c (PUSH_ARGS_REVERSED): Likewise.
8082
8083 * config/i386/i386.h (PUSH_ARGS_REVERSED): Set to 1.
8084
7bb9f927
ZW
80852002-11-10 Zack Weinberg <zack@codesourcery.com>
8086
8087 * config/rs6000/sysv4.h: Define NO_IMPLICIT_EXTERN_C here...
8088 * config/rs6000/linux.h, config/rs6000/linux64.h,
8089 config/rs6000/windiss.h: ... not here.
8090
d8986082
JT
80912002-11-10 Jason Thorpe <thorpej@wasabisystems.com>
8092
8093 * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Define
8094 __ABICALLS__ if TARGET_ABICALLS.
8095
2e64c636
JH
8096Sun Nov 10 18:49:21 CET 2002 Jan Hubicka <jh@suse.cz>
8097
8098 * i386.h (MIN_UNITS_PER_WORD): Define to 8 for x86-64 libgcc.
8099
04e6db94
JM
81002002-11-10 Joseph S. Myers <jsm@polyomino.org.uk>
8101
8102 * c-decl.c (grokdeclarator): Make error for duplicate type
8103 qualifiers into a pedwarn, disabled for C99.
8104
e9986d3a
HPN
81052002-11-10 Hans-Peter Nilsson <hp@bitrange.com>
8106
8107 * config/mmix/mmix.h (FUNCTION_ARG_CALLEE_COPIES): Define the same
8108 as FUNCTION_ARG_PASS_BY_REFERENCE.
8109
4977bab6
ZW
81102002-11-09 Zack Weinberg <zack@codesourcery.com>
8111
8112 * doc/install.texi: Add *-*-vxworks* specific installation
8113 instructions.
8114
8115 * config/vxlib.c: Rewrite using generation numbers to identify
8116 valid TSD keys.
8117
8118Sat Nov 9 00:10:54 CET 2002 Jan Hubicka <jh@suse.cz>
8119
8120 * i386.c (x86_machine_dependent_reorg): Fix even more side cases.
8121
581d9404
JDA
81222002-11-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
8123
8124 * pa.h (STARTING_FRAME_OFFSET): Change offset for TARGET_64BIT to 16.
8125
8126 * config.gcc (hppa*64*-*-linux*): Shorten lines in tm_file define.
8127 (hppa*64*-*-hpux11*): Likewise. Use elfos.h with gas.
8128 * pa.c (output_millicode_call): Use symbol difference rather than
8129 $PIC_pcrel$0 when using HP assembler.
8130 * pa64-hpux.h (TARGET_GAS): Define to 1 or 0 depending on whether or
8131 not elfos.h (i.e., gas) is being used.
8132 (ASM_FILE_START, STRING_ASM_OP, TEXT_SECTION_ASM_OP,
8133 DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_COMMON,
8134 ASM_OUTPUT_ALIGNED_LOCAL, GLOBAL_ASM_OP, ASM_DECLARE_FUNCTION_NAME,
8135 ASM_OUTPUT_EXTERNAL, ASM_OUTPUT_EXTERNAL_LIBCALL,
8136 ASM_OUTPUT_INTERNAL_LABEL, ASM_GENERATE_INTERNAL_LABEL): Define when
8137 using elfos.h.
8138 (TARGET_ASM_GLOBALIZE_LABEL): Undefine when using elfos.h.
8139 (DWARF2_ASM_LINE_DEBUG_INFO): Delete.
8140 (ASM_FILE_START): Add standard .SPACE and .SUBSPA defines when not
8141 using elfos.h.
8142 (TEXT_SECTION_ASM_OP, READONLY_DATA_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
8143 BSS_SECTION_ASM_OP): New HP style defines when not using elfos.h.
8144 (TARGET_ASM_NAMED_SECTION, MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL):
8145 Don't define when not using elfos.h.
8146 (ASM_DECLARE_RESULT): Don't define.
8147 * doc/install.texi (hppa*-hp-hpux*): Remove statement that HP assembler
8148 doesn't work on hppa64-hp-hpux11.
8149 (hppa*-hp-hpux11): Update.
8150
9f689d92
JT
81512002-11-09 Jason Thorpe <thorpej@wasabisystems.com>
8152
8153 * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Don't pass -KPIC
8154 to the assembler if -mno-abicalls was specified.
8155
1c03af86
JDA
81562002-11-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
8157
8158 * pa-linux.h (PREFERRED_DEBUGGING_TYPE, DWARF2_ASM_LINE_DEBUG_INFO,
8159 ASM_OUTPUT_DEF): Delete.
8160
57800e9e
NB
81612002-11-09 Neil Booth <neil@daikokuya.co.uk>
8162
8163 * c-opts.c (COMMAND_LINE_OPTIONS): Fix -Wimplicit.
8164
4977bab6
ZW
81652002-11-08 Roger Sayle <roger@eyesopen.com>
8166
8167 * real.c (real_sqrt): Update comment with bibliographic reference.
8168
8169Fri Nov 8 13:33:58 CET 2002 Jan Hubicka <jh@suse.cz>
8170
8171 * i386.md (sse_loadss, sse2_loadsd): Fix expander.
8172
8173Fri Nov 8 13:25:41 CET 2002 Jan Hubicka <jh@suse.cz>
8174
8175 * i386.c (x86_machine_dependent_reorg): Fix handling of empty functions.
8176
8177Fri Nov 8 13:01:42 CET 2002 Jan Hubicka <jh@suse.cz>
8178
8179 * builtins.c (expand_builtin_mathfn): Handle floor/ceil/trunc/round/nearbyint
8180 (expand_builtin): Likewise.
8181 * builtins.def: Add
8182 __builtin_floor, __builtin_floorf, __builtin_floorl
8183 __builtin_ceil, __builtin_ceilf, __builtin_ceill
8184 __builtin_round, __builtin_roundf, __builtin_roundl
8185 __builtin_trunc, __builtin_truncf, __builtin_truncl
8186 __builtin_nearbyint, __builtin_nearbyintf, __builtin_nearbyintl.
8187 * genopinit.c (optabs): Initialize the new optabs.
8188 * optab.c (init_optabs): Likewise.
8189 * optabs.h (optab_index): Add OTI_floor, OTI_ceil, OTI_trunc,
8190 OTI_round, OTI_nearbyint.
8191 (floor_optab, ceil_optab, trunc_optab, round_optab, nearbyint_optab): New.
8192 * doc/md.texi: Document new named patterns.
8193 * doc/extend.texi (builtin functions) Document
8194 floor, floorf, floorl, ceil, ceilf,
8195 ceill, round, roundf, roundl, trunc,
8196 truncf, truncl, nearbyint, nearbyintf, nearbyintl.
8197
8198Fri Nov 8 11:36:11 CET 2002 Jan Hubicka <jh@suse.cz>
8199
8200 * i386.md (sse_movdfcc, sse_movsfcc): Fix typo in previous patch.
8201
489d6e8e
DJ
82022002-11-08 Dale Johannesen <dalej@apple.com>
8203
7bb9f927 8204 * dbxout.c (dbxout_type): Fix stabs info for vector types.
489d6e8e 8205
a4b1e653
NB
82062002-11-08 Neil Booth <neil@daikokuya.co.uk>
8207
8208 PR preprocessor/8497
8209 PR preprocessor/8501
8210 * cpptrad.c (scan_out_logical_line): A '#' from a macro doesn't
8211 start a directive. In assembler, #NUM is not a line directive.
8212
e6e8c772
NB
82132002-11-08 Neil Booth <neil@daikokuya.co.uk>
8214
8215 * cppmain.c (cpp_preprocess_file): Loop to pop any -included
8216 buffers.
8217
ffdf5eae
KH
82182002-11-08 Kazu Hirata <kazu@cs.umass.edu>
8219
8220 * config/h8300/h8300.md (two anonymous test insns): New.
8221
8dd3ca88
JH
8222Fri Nov 8 11:20:19 CET 2002 Jan Hubicka <jh@suse.cz>
8223
8224 * jump.c (mark_jump_label): Handle subregs of label_refs.
8225
4977bab6
ZW
8226Thu Nov 7 21:54:22 CET 2002 Jan Hubicka <jh@suse.cz>
8227
8228 * i386.md (sse_movdfcc, sse_movsfcc): Avoid overactive matching.
8229 * i386.c (ix86_expand_fp_movcc): Match the reversed cases.
8230
07cf4226
DM
82312002-11-07 David Mosberger <davidm@hpl.hp.com>
8232
7bb9f927
ZW
8233 * config/ia64/crtend.asm: Include "auto-host.h".
8234 [HAVE_INITFINI_ARRAY]: Invoke __do_global_ctors_aux via .init_array.
8235 * config/ia64/crtbegin.asm: Similarly.
8236 * config/ia64/t-ia64 (crtbegin.o): Include from current directory.
8237 (crtend.o, crtbeginS.o, crtendS.o): Likewise.
07cf4226 8238
7bb9f927
ZW
8239 * aclocal.m4 (gcc_AC_INITFINI_ARRAY): New.
8240 * configure.in: Use it if --enable-initfini-array not specified.
8241 * doc/install.texi (Configuration): Document --enable-initfini-array.
07cf4226
DM
8242 * configure, config.in: Rebuild.
8243
0977774b 82442002-11-07 Jason Thorpe <thorpej@wasabisystems.com>
7bb9f927 8245
0977774b 8246 * config/arm/arm-protos.h (arm_get_frame_size)
7bb9f927 8247 (thumb_get_frame_size): New prototypes.
0977774b 8248 * config/arm/arm.c (arm_get_frame_size)
7bb9f927
ZW
8249 (thumb_get_frame_size): New functions.
8250 (use_return_insn, arm_output_epilogue, arm_output_function_epilogue)
8251 (arm_compute_initial_elimination_offset, arm_expand_prologue): Use
0977774b
JT
8252 arm_get_frame_size.
8253 (thumb_expand_prologue, thumb_expand_epilogue): Use
8254 thumb_get_frame_size.
8255 * config/arm/arm.h (PREFERRED_STACK_BOUNDARY): Define.
8256 (machine_function): Add frame_size member.
8257 (THUMB_INITIAL_ELIMINATION_OFFSET): Use thumb_get_frame_size.
8258
82592002-11-07 Richard Earnshaw <rearnsha@arm.com>
8260
8261 * arm.c (bit_count): Make argument unsigned long. Return unsigned.
8262 Adjust code to use portable unsigned bit manipulation.
8263 (insn_flags, tune_flags): Change type to unsigned.
8264 (struct processors): Make flags unsigned long.
8265 (arm_override_options): Change type of count and current_bit_count
8266 to unsigned.
8267
74c13308
RE
82682002-11-07 Richard Earnshaw <rearnsha@arm.com>
8269
8270 * arm/elf.h (TYPE_OPERAND_FMT): Prefix type with %.
8271
e284643a
R
8272Thu Nov 7 15:50:18 2002 J"orn Rennecke <joern.rennecke@superh.com>
8273
8274 * sh.h (DWARF_FRAME_RETURN_COLUMN): Use DWARF_FRAME_REGNUM.
8275
c2905f7b
JH
8276Thu Nov 7 11:18:01 CET 2002 Jan Hubicka <jh@suse.cz>
8277
8278 * reg-stack.c (compensate_edge): Fix sanity check.
8279
3cfe49da
GK
82802002-11-05 Geoffrey Keating <geoffk@apple.com>
8281
8282 * config.gcc: Don't create crtbegin, crtend on Darwin; do create
8283 crt2.o. Rearrange t-darwin makefiles.
8284 * crtstuff.c [OBJECT_FORMAT_MACHO]: Delete.
8285 * unwind-dw2-fde-darwin.c: New.
8286 * unwind-dw2-fde-glibc.c: Correct comment.
8287 * unwind-dw2-fde.c (__register_frame_info_bases)
8288 [DWARF2_OBJECT_END_PTR_EXTENSION]: Clear fde_end.
8289 (classify_object_over_fdes): Use last_fde.
8290 (add_fdes): Likewise.
8291 (linear_search_fdes): Likewise.
8292 * unwind-dw2-fde.h (struct object)
8293 [DWARF2_OBJECT_END_PTR_EXTENSION]: Add fde_end field.
8294 (last_fde): New.
8295 * config/darwin.h (STARTFILE_SPEC): Include crt2.o not crtbegin.o.
8296 (ENDFILE_SPEC): No crtend.o.
8297 * config/t-darwin: New.
8298 * config/i386/t-darwin: Delete.
8299 * config/darwin-crt2.c: New.
8300 * config/rs6000/t-darwin: Delete contents duplicated in t-rs6000
8301 or config/t-darwin.
8302
4977bab6
ZW
83032002-11-06 Douglas B Rupp <rupp@gnat.com>
8304
8305 * config/i386/i386-interix.h (TARGET_SUBTARGET_DEFAULT): Or
8306 MASK_MS_BITFIELD_LAYOUT
8307 (SUBTARGET_OVERRIDE_OPTIONS): Warn about and turn off
8308 MS bitfields for Objective-C.
8309 (PCC_BIT_FIELD_TYPE_TEST, GROUP_BITFIELDS_BY_ALIGN): Remove
8310 defines.
8311
8312 * config/i386/i386.c (ix86_ms_bitfield_layout): New function.
8313 (TARGET_MS_BITFIELD_LAYOUT_P): Define to above function.
8314 (TARGET_USE_MS_BITFIELD_LAYOUT): Define.
8315
8316 * config/i386/i386.h (MASK_MS_BITFIELD_LAYOUT: New mask.
8317 TARGET_USE_MS_BITFIELD_LAYOUT): New macro.
8318 (TARGET_SWITCHES): Add above mask.
8319
8320 * testsuite/gcc.dg/bf-ms-layout.c: New test case.
8321 * testsuite/gcc.dg/bf-no-ms-layout.c: New test case.
8322 * testsuite/gcc.dg/i386-bitfield1.c (dg-options): Add appropriate
8323 flags for interix.
8324
8325Wed Nov 6 18:54:47 2002 Alexandre Oliva <aoliva@redhat.com>
8326
8327 * config/mips/mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output
8328 .gpword/.gpdword for ABI_N32 and ABI_64 too, if using the GNU
8329 assembler.
8330 * config/mips/mips.md (tablejump_internal3): Output .cpadd
8331 before jump on ABI_N32 too.
8332 (tablejump_internal4): Ditto on ABI_64. Increase maximum
8333 length to match.
8334
8335Wed Nov 6 17:16:48 CET 2002 Jan Hubicka <jh@.suse.cz>
8336
8337 * i386.md (negsf splitter): Accept memory operand in second register.
8338 (abssf/absdf splitters): Simplify
8339 (sse_loadss, sse_loadsd): Turn into expander.
8340
5d7e6254
DE
83412002-11-06 David Edelsohn <edelsohn@gnu.org>
8342
8343 PR target/8480
8344 * config/rs6000/rs6000.md (movdi_internal64): Discourage
8345 FPR to FPR moves.
8346
4fc6ad08
JJ
83472002-11-06 Janis Johnson <janis187@us.ibm.com>
8348
8349 * doc/contrib.texi: Merge in the list from the Java web pages.
8350
fa123c53
DB
83512002-11-06 David O'Brien <obrien@FreeBSD.org>
8352
8353 * config/sparc/freebsd: Fix typo.
8354
81e5bc3d
JDA
83552002-11-06 John David Anglin <dave@hiauly1.hia.nrc.ca>
8356
8357 * pa64-hpux.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Define.
8358
021fa809
AO
83592002-11-06 Alexandre Oliva <aoliva@redhat.com>
8360
8361 * config/mips/mips.md (call_value_multiple_internal2): Use dla for
8362 non-SImode addresses.
8363
4977bab6
ZW
8364Tue Nov 5 14:34:36 CET 2002 Jan Hubicka <jh@suse.cz>
8365
8366 * i386.md (float_truncate SSE splitter): Ensure that operand is not
8367 stack register.
8368 (float SSE splitters): Reorder conditional.
8369
e9577224
BW
83702002-11-05 Bob Wilson <bob.wilson@acm.org>
8371
8372 * config/xtensa/elf.h (LIB_SPEC): Add "-lhal".
8373
a9b11d44
JDA
83742002-11-05 John David Anglin <dave2hiauly1.hia.nrc.ca>
8375
8376 * pa64-hpux.h (LIB_SPEC): Fix p and pg options.
8377 (STARTFILE_SPEC): Remove p and pg options.
8378
5c7cd663
AH
83792002-11-05 Andrew Haley <aph@redhat.com>
8380
8381 * fold-const.c (fold): Don't transform (a0 op compound(a1,a2))
8382 to (compound(a1,a0 op a2)) if a0 or a1 have side effects.
8383
97ab1175
RS
83842002-11-05 Richard Sandiford <rsandifo@redhat.com>
8385
8386 * config/mips/mips.h (CANNOT_CHANGE_MODE_CLASS): Move comment to...
8387 * config/mips/mips.c (mips_cannot_change_mode_class): ...here.
8388
4977bab6
ZW
83892002-11-04 Zack Weinberg <zack@codesourcery.com>
8390
8391 * gthr-vxworks.h: Rewritten from scratch.
8392 * config/vxlib.c: New file.
8393 * config/t-vxworks: Add config/vxlib.c to LIB2FUNCS_EXTRA.
8394 * config/rs6000/t-vxworks: Add config/vxlib.c to
8395 LIB2FUNCS_EXTRA here too, because of clash with
8396 config/rs6000/t-ppccomm.
8397
2aff9508
DJ
83982002-11-04 Dale Johannesen <dalej@apple.com>
8399
7bb9f927
ZW
8400 * doloop.c (doloop_modify_runtime): Fix loop count computation
8401 for unrolled loops.
2aff9508
DJ
8402 * loop.c (loop_invariant_p): Support calling from unroller.
8403
e86e721f
UW
84042002-11-04 Ulrich Weigand <uweigand@de.ibm.com>
8405
8406 * config/s390/s390.c (s390_decompose_address): Use arg_pointer_rtx
8407 for comparison.
8408
cff9f8d5
AH
84092002-11-04 Aldy Hernandez <aldyh@redhat.com>
8410
8411 * hard-reg-set.h (REG_CANNOT_CHANGE_MODE_P): New.
8412
8413 * config/rs6000/rs6000.h (CLASS_CANNOT_CHANGE_MODE_P): Remove.
8414 (CLASS_CANNOT_CHANGE_MODE): Remove.
8415 (CANNOT_CHANGE_MODE_CLASS): New.
8416
8417 * config/alpha/alpha.h: Same.
8418
8419 * config/ia64/ia64.h: Same.
8420
8421 * config/mips/mips.h: Same.
8422
8423 * config/s390/s390.h: Same.
8424
8425 * config/sh/sh.h: Same.
8426
8427 * config/pa/pa64-regs.h: Same.
8428
8429 * config/sh/sh-protos.h (sh_cannot_change_mode_class): Add prototype.
7bb9f927 8430
cff9f8d5
AH
8431 * config/sh/sh.c (sh_cannot_change_mode_class): New.
8432
8433 * config/mips/mips-protos.h (mips_cannot_change_mode_class): Add
8434 prototype.
8435
8436 * config/mips/mips.c (mips_cannot_change_mode_class): New.
8437
8438 * doc/tm.texi (Register Classes): Remove
8439 CLASS_CANNOT_CHANGE_MODE and CLASS_CANNOT_CHANGE_MODE_P.
8440 Document CANNOT_CHANGE_MODE_CLASS.
8441
8442 * reload.c (push_reload): Use CANNOT_CHANGE_MODE_CLASS.
8443 (push_reload): Same.
8444
8445 * simplify-rtx.c (simplify_subreg): Same.
8446
8447 * reload1.c (choose_reload_regs): Same.
8448
8449 * recog.c (register_operand): Same.
8450
8451 * regrename.c (mode_change_ok): Change to use new
8452 CANNOT_CHANGE_MODE_CLASS infrastructure.
8453
8454 * regclass.c (cannot_change_mode_set_regs): New.
8455 Declare subregs_of_mode.
8456 (regclass): Use subregs_of_mode.
8457 Remove references to reg_changes_mode.
8458 (init_reg_sets_1): Remove class_can_change_mode and
8459 reg_changes_mode code.
8460 (invalid_mode_change_p): New.
8461 (dump_regclass): Use invalid_mode_change_p instead of
8462 class_can_change_mode.
8463 (regclass): Same.
8464 (record_operand_costs): Do not set reg_changes_mode.
8465
8466 * local-alloc.c (struct qty): Remove changes_mode field.
8467 (alloc_qty): Remove changes_mode initialization.
8468 (update_qty_class): Remove set of changes_mode.
8469 (find_free_reg): Use subregs_of_mode.
8470
8471 * global.c (find_reg): Use subregs_of_mode info.
8472
8473 * rtl.h (cannot_change_mode_set_regs): New prototype.
8474 (invalid_mode_change_p): Same.
8475 (REG_CANNOT_CHANGE_MODE_P): New macro.
8476
8477 * flow.c (mark_used_regs): Calculate subregs_of_mode. Remove
8478 REG_CHANGES_MODE.
8479 (life_analysis): Clear subregs_of_mode.
8480
8481 * combine.c (subst): Pass class to CLASS_CANNOT_CHANGE_MODE_P.
8482 Remove use of CLASS_CANNOT_CHANGE_MODE.
8483 (simplify_set): Same.
8484 (gen_lowpart_for_combine): Calculate subregs_of_mode. Remove
8485 REG_CHANGES_MODE.
7bb9f927 8486
cff9f8d5
AH
8487 * regs.h: Add extern for subregs_of_mode;
8488 Include hard-reg-set and basic-block.
8489 (REG_CHANGES_MODE): Delete.
8490
4977bab6
ZW
84912002-11-03 Roger Sayle <roger@eyesopen.com>
8492
8493 * real.c (real_sqrt): New function to calculate square roots.
8494 * real.h (real_sqrt): Add function prototype.
8495 * builtins.c (fold_builtin): Fold sqrt of constant argument.
8496 * simplify-rtx.c (simplify_unary_operation): Simplify sqrt
8497 of constant argument.
8498
2ff363e0
JDA
84992002-11-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
8500
8501 * jump.c (never_reached_warning): Don't set contains_insn until the
8502 first line note is seen.
8503
cd1d3445
DE
85042002-11-03 David Edelsohn <edelsohn@gnu.org>
8505
8506 * config/rs6000/rs6000.md (movti_string): Use string instructions.
8507
c9fe6f9f
RS
85082002-11-03 Roger Sayle <roger@eyesopen.com>
8509
8510 PR c/7128
8511 * c-typeck.c (c_expand_asm_operands): Defend against
8512 error_mark_nodes in the output argument to avoid ICE.
8513
0b40e88e
EB
85142002-11-03 Eric Botcazou <ebotcazou@libertysurf.fr>
8515
8516 PR middle-end/8408
8517 * genrecog.c (preds): Handle ADDRESSOF.
8518 (validate_pattern): Mark it as an lvalue.
8519
dff9f1b6
DE
85202002-11-02 David Edelsohn <edelsohn@gnu.org>
8521
8522 * config/rs6000/rs6000.c (rs6000_override_options): Use string
8523 instructions when optimizing for size.
8524
46eefac4
KH
85252002-11-02 Kazu Hirata <kazu@cs.umass.edu>
8526
8527 * config/h8300/h8300.h: Fix comment typos.
8528 * config/h8300/h8300.md: Likewise.
8529 * config/h8300/lib1funcs.asm: Likewise.
8530
102b60d1
GP
85312002-11-02 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
8532
8533 Revert this change:
8534
8535 *doc/install.texi (Installing GCC: Configuration): Clarify
8536 the only supported ways to configure gcc.
8537
46be79e7
KH
85382002-11-01 Kazu Hirata <kazu@cs.umass.edu>
8539
8540 * config/h8300/h8300.md (anonymous and:QI pattern): Use 'n'
8541 instead of 'O' for the constraint for the second operand.
8542
bec80a45
MM
85432002-11-01 Mark Mitchell <mark@codesourcery.com>
8544
8545 PR c++/8391
8546 * toplev.c (rest_of_compilation): Do not refuse to output code for
8547 an inline function in a local class.
8548
8df91177
DB
85492002-11-01 David O'Brien <obrien@FreeBSD.org>
8550
8551 * config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Define __arch64__.
8552 (TRANSFER_FROM_TRAMPOLINE): Reformat.
8553 Add comment.
8554
616dc555
KH
85552002-11-01 Kazu Hirata <kazu@cs.umass.edu>
8556
8557 * config/h8300/h8300.h (CAN_ELIMINATE): Simplify.
8558
25a533a0
TM
85592002-11-01 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
8560
8561 * config/h8300/h8300.h (OPTIMIZATION_OPTIONS): New.
8562
dcffbade
SE
85632002-11-01 Steve Ellcey <sje@cup.hp.com>
8564
8565 * config/ia64/ia64.h (MASK_INLINE_DIV_LAT): Remove.
8566 (MASK_INLINE_DIV_THR): Remove.
8567 (TARGET_INLINE_DIV_LAT): Remove.
8568 (TARGET_INLINE_DIV_THR): Remove.
8569 (TARGET_INLINE_DIV): Remove.
8570 (MASK_INLINE_FLOAT_DIV_LAT): New macro.
8571 (MASK_INLINE_FLOAT_DIV_THR): New macro.
8572 (MASK_INLINE_INT_DIV_LAT): New macro.
8573 (MASK_INLINE_INT_DIV_THR): New macro.
8574 (TARGET_INLINE_FLOAT_DIV_LAT): New macro.
8575 (TARGET_INLINE_FLOAT_DIV_THR): New macro.
8576 (TARGET_INLINE_INT_DIV_LAT): New macro.
8577 (TARGET_INLINE_INT_DIV_THR): New macro.
8578 (TARGET_INLINE_FLOAT_DIV): New macro.
8579 (TARGET_INLINE_INT_DIV): New macro.
8580 * config/ia64/ia64.md (divsi3): Change to use new macros.
8581 (modsi3): Ditto.
8582 (udivsi3): Ditto.
8583 (umodsi3): Ditto.
8584 (divsi3_internal): Ditto.
8585 (divdi3): Ditto.
8586 (moddi3): Ditto.
8587 (udivdi3): Ditto.
8588 (umoddi3): Ditto.
8589 (divdi3_internal_lat): Ditto.
8590 (divdi3_internal_thr): Ditto.
8591 (divsf3): Ditto.
8592 (divsf3_internal_lat): Ditto.
8593 (divsf3_internal_thr): Ditto.
8594 (divdf3): Ditto.
8595 (divdf3_internal_lat): Ditto.
8596 (divdf3_internal_thr): Ditto.
8597 (divtf3): Ditto.
8598 (divtf3_internal_lat): Ditto.
8599 (divtf3_internal_thr): Ditto.
8600 * config/ia64/ia64.c (ia64_override_options): Change
8601 to check new macros for conflicts in settings.
8602 * doc/invoke.texi (-minline-divide-min-latency): Remove.
8603 (-minline-divide-max-throughput): Remove.
8604 (-minline-float-divide-min-latency): New.
8605 (-minline-float-divide-max-throughput): New.
8606 (-minline-int-divide-min-latency): New.
8607 (-minline-int-divide-max-throughput): New.
7bb9f927 8608
d5db54a1
RE
86092002-11-01 Richard Earnshaw (rearnsha@arm.com)
8610
8611 PR target/7856
8612 * arm.c (use_return_insn): Don't use a return insn if there are
8613 saved integer regs, but LR is not one of them.
8614
075fc17a
JH
8615Fri Nov 1 10:33:15 CET 2002 Jan Hubicka <jh@suse.cz>
8616
8617 * expr.c (emit_move_insn): Use SCALAR_FLOAT_MODE_P
8618 * machmode.h (SCALAR_FLOAT_MODE_P): New macro.
8619
4977bab6
ZW
8620Thu Oct 31 18:20:50 CET 2002 Jan Hubicka <jh@suse.cz>
8621
8622 * i386.md (sse_loadss, sse_loadsd): Canonicalize; add expander
8623 (movps, movpd splitters): Use canonical form.
8624 (movv2di): Fix merge problem.
8625
8626Thu Oct 31 16:22:31 CET 2002 Jan Hubicka <jh@suse.cz>
8627
8628 * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
8629
9efb4cb6
NN
86302002-10-31 Nathanael Nerode <neroden@gcc.gnu.org>
8631
8632 PR optimization/6162
8633 * doc/md.texi: Document restriction on commutative operand
8634 specification.
8635
ce02ba25
EC
86362002-10-31 Eric Christopher <echristo@redhat.com>
8637
7bb9f927 8638 * explow.c (convert_memory_address): Use shallow_copy_rtx.
ce02ba25 8639
8efb33ec
SE
86402002-10-31 Steve Ellcey <sje@cup.hp.com>
8641
8642 * expmed.c (store_bit_field): Check FUNCTION_ARG_REG_LITTLE_ENDIAN.
8643
a543c709
SE
86442002-10-31 Steve Ellcey <sje@cup.hp.com>
8645
8646 * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Set for non-floats.
8647
cdc58a82
DJ
8648Thu Oct 31 Dale Johannesen <dalej@apple.com>
8649
8650 * config/rs6000/darwin.h: Correct formatting in previous.
8651
e381c27a
DJ
8652Thu Oct 31 Dale Johannesen <dalej@apple.com>
8653
8654 * config/rs6000/darwin.h: Enable -falign-xxx options.
8655
55ba61f3
JH
8656Thu Oct 31 18:08:00 CET 2002 Jan Hubicka <jh@suse.cz>
8657
8658 * i386.c (override_options): Set defaults for flag_omit_frame_pointer,
8659 flag_asynchronous_unwind_tables, flag_pcc_struct_return.
8660 * i386.c (optimization_options): Set flag_omit_frame_pointer,
8661 flag_asynchronous_unwind_tables, flag_pcc_struct_return to 2.
8662 Do not clear -momit-leaf-frame-pointer when profiling.
8e746279 8663 (ix86_frame_pointer_required): Frame pointer is always required when
55ba61f3
JH
8664 profiling.
8665
f7e5dfbd
JH
8666Thu Oct 31 16:09:44 CET 2002 Jan Hubicka <jh@suse.cz>
8667
8668 * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
8669
ff881d52
R
8670Thu Oct 31 12:45:55 2002 J"orn Rennecke <joern.rennecke@superh.com>
8671
8672 * sh.h (binary_logical_operator): Declare.
8673 * sh.c (binary_logical_operator): New function.
8674 * sh.md (xordi3+1): New combiner splitter pattern.
8675
e8e4c876
DB
86762002-10-31 David O'Brien <obrien@FreeBSD.org>
8677
8678 * config/sparc/freebsd.h (TRANSFER_FROM_TRAMPOLINE): Define
8679 __enable_execute_stack function.
8680
4977bab6
ZW
86812002-10-30 Zack Weinberg <zack@codesourcery.com>
8682
8683 * gthr.h, gthr-dce.h, gthr-posix.h, gthr-rtems.h,
8684 gthr-solaris.h, gthr-win32.h: Remove __gthread_key_dtor.
8685 * unwind-sjlj.c (fc_key_dtor): Delete.
8686 (fc_key_init): Adjust __gthread_key_create call to match.
8687
27bd7792
AH
86882002-10-30 Aldy Hernandez <aldyh@redhat.com>
8689
7bb9f927 8690 * c-common.c: Add GTY to vector_type_node_list.
27bd7792 8691
a02aa5b0
JDA
86922002-10-30 John David Anglin <dave@hiauly.hia.nrc.ca>
8693
8694 * pa-linux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Define.
8695 * pa-protos.h (attr_length_millicode_call, attr_length_call,
8696 pa_init_machine_status): Declare new global functions.
8697 * pa.c (void copy_fp_args, length_fp_args, get_plabel): Declare and
8698 implement new functions.
8699 (attr_length_millicode_call, attr_length_call): Implement.
8700 (total_code_bytes): Change type to long.
8701 (pa_output_function_prologue): Compute total_code_bytes on TARGET_64BIT.
8702 Reset counter if flag_function_sections.
8703 (output_deferred_plabels): Set output alignment to 3 for TARGET_64BIT.
8704 (output_cbranch): Move call to gen_label_rtx.
8705 (output_millicode_call): Rewrite adding long TARGET_64BIT call, expose
8706 delay slot in all variants, shorten pc-relative calls.
8707 (output_call): Rewrite adding long TARGET_64BIT call, improved delay
8708 slot usage and exposure, various new call variants, and shortened
8709 sequences for some variants on TARGET_PA_20.
8710 Miscellaneous format changes.
8711 * pa.h (total_code_bytes): Change type to long.
8712 (MASK_LONG_CALLS, TARGET_LONG_CALLS, TARGET_LONG_ABS_CALL,
8713 TARGET_LONG_PIC_SDIFF_CALL, TARGET_LONG_PIC_PCREL_CALL): Define.
8714 (TARGET_SWITCHES): Add "-mlong-calls" and "-mno-long-calls" options.
8715 (EXTRA_CONSTRAINT, GO_IF_LEGITIMATE_ADDRESS,
8716 LEGITIMIZE_RELOAD_ADDRESS): Don't use long floating point loads and
8717 stores on TARGET_ELF32.
8718 *pa.md (define_delay): Allow insns in delay on TARGET_PORTABLE_RUNTIME.
8719 (unnamed patterns for mulsi3, divsi3, udivsi3, modsi3, umodsi3 and
8720 canonicalize_funcptr_for_compare expanders): Calculate attribute length
8721 attr_length_millicode_call().
8722 (call_internal_symref, call_value_internal_symref): Clobber register 1.
8723 Calculate attribute length using attr_length_call().
8724 (call_internal_reg_64bit, call_value_internal_reg_64bit): Move gp load
8725 to delay slot.
8726 (sibcall, sibcall_value): Rewrite.
8727 (sibcall_internal_symref, sibcall_value_internal_symref): Clobber
8728 register 1. Use attr_length_call().
8729 (sibcall_internal_symref_64bit, sibcall_value_internal_symref_64bit):
8730 New patterns.
8731 (unamed pattern for canonicalize_funcptr_for_compare): Rewrite.
8732 * som.h (MEMBER_TYPE_FORCES_BLK): Define.
8733 * t-pa64 (TARGET_LIBGCC2_CFLAGS): Add "-mlong-calls".
8734 * doc/invoke.texi (mlong-calls): Document.
8735
9402f6fb
RS
87362002-10-30 Roger Sayle <roger@eyesopen.com>
8737
8738 * fold-const.c (fold_binary_op_with_conditional_arg): Improve
8739 handling of cases where one or both branches of the conditional
8740 have void type, i.e. throw an exception or don't return.
8741 (fold): Only apply (and undo) type conversion to the non-void
8742 branches of a COND_EXPR.
8743
9b5b7e3a
MM
87442002-10-30 Mark Mitchell <mark@codesourcery.com>
8745
8746 PR c++/8333
8747 * varasm.c (asm_output_aligned_bss): Do not call
8748 ASM_GLOBALIZE_LABEL.
8749
df7a8989
DE
87502002-10-30 David Edelsohn <edelsohn@gnu.org>
8751 Torbjorn Granlund <tege@swox.com>
8752
8753 * config/rs6000/rs6000.md (load_toc_v4_PIC_1): Use preferred form
8754 for addressibility.
8755 (load_toc_v4_PIC_1b): Same.
8756
d2d199a3
KH
87572002-10-30 Kazu Hirata <kazu@cs.umass.edu>
8758
8759 * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
8760 Truncate the addresses for H8/300 using HImode.
8761
4977bab6
ZW
8762Tue Oct 29 23:28:10 CET 2002 Jan Hubicka <jh@suse.cz>
8763
8764 * i386.md (negdf splitter): Fix construction of the constant.
8765
8766Tue Oct 29 20:47:06 CET 2002 Jan Hubicka <jh@suse.cz>
8767
8768 * i386.md (negsf, negdf): Reorganize to use vector modes
8769 for SSE variants.
8770 (abssf, absdf): Use force_reg.
8771 (movv4sf, movv2df): New splitters.
8772 * i386.h (PREDICATE_CODES): add zero_extended_scalar_load_operand
8773 * i386.c (zero_extended_scalar_load_operand
8774
8775 * i386-protos.h (ix86_expand_call): Update prototype.
8776 * i386.c (ix86_function_ok_for_sibcall): Handle 64bit
8777 (ix86_expand_call): Use r11 for indirect sibcalls.
8778 * i386.md (call, call_value, untyped_call, call_value_pop):
8779 update x86_expand_call call.
8780 (sibcall, sibcall_value): new patterns
8781 (call_rex64, call_value_rex64): Do not accept sibcalls.
8782 (sibcall_rex64, sibcall_value_rex64,
8783 sibcall_rex64_v, sibcall_value_rex64_v): New.
8784
8785Tue Oct 29 15:37:39 CET 2002 Jan Hubicka <jh@suse.cz>
8786
8787 * toplev.c (rest_of_compilation): Reorganize way reg_scan is called
8788 before final pass.
8789
33c21f5c
HPN
87902002-10-29 Hans-Peter Nilsson <hp@bitrange.com>
8791
8792 * toplev.c (rest_of_type_compilation): Return early in case of
8793 errors.
8794 (check_global_declarations): Don't call debug_hooks->global_decl
8795 in case of errors.
8796
d1445f8d
AB
87972002-10-28 Andreas Bauer <baueran@in.tum.de>
8798
8799 * doc/c-tree.texi (Tree overview): Fix typos.
8800
fc556cb9
PE
88012002-10-29 Phil Edwards <pme@gcc.gnu.org>
8802
8803 * Makefile.in (gnucompare*): Only record bad comparisons
8804 if there really was a bad comparison.
8805
f8ca7923
JH
8806Tue Oct 29 19:32:16 CET 2002 Jan Hubicka <jh@suse.cz>
8807
8808 * i386.h (CONST_DOUBLE_OK_FOR_LETTER_P): Remove 'H'
8809 * i386.md (movsf*, movdf*): Use 'C' instead of 'H'
8810 * md.texi (machine dependent constraints): Document 'C'
8811
8812 * simplify-rtx.c (simplify_subreg): Fix const_int->vector subregging.
8813
8814 * i386.c (ix86_expand_vector_move): Fix.
8815
8816 * i386.c (ix86_expand_builtin): Use sse2_maskmovdqu_rex64.
8817 * i386.md (sse2_maskmovdqu_rex64): New pattern
8818
8819 PR target/8322
8820 * xmmintrin.h (_mm_stream_pi, _mm_stream_pd): Fix cast.
8821 (ix86_init_mmx_sse_builtins): Fix type.
8822
c95d07f8
JT
88232002-10-29 Jason Thorpe <thorpej@wasabisystems.com>
8824
8825 * gthr-posix.h: Include <unistd.h> for feature tests.
8826 (sched_get_priority_max, sched_get_priority_min)
8827 (pthread_getschedparam, pthread_setschedparam): Only use
8828 if _POSIX_THREAD_PRIORITY_SCHEDULING is defined.
272d0bee 8829 (__gthread_objc_thread_set_priority): Don't treat all nonzero
c95d07f8
JT
8830 returns from sched_get_priority_max and sched_get_priority_min
8831 as an error.
8832
3950794d
KH
88332002-10-29 Kazu Hirata <kazu@cs.umass.edu>
8834
8835 * config/h8300/h8300.h (TARGET_DEFAULT): Make it
8836 MASK_QUICKCALL.
8837
803d56f5
KH
88382002-10-29 Kazu Hirata <kazu@cs.umass.edu>
8839
8840 * config/h8300/h8300.c (h8300_eightbit_constant_address_p): New.
8841 (h8300_tiny_constant_address_p): Likewise.
8842 * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Use
8843 h8300_eightbit_constant_address_p.
8844 (TINY_CONSTANT_ADDRESS_P): Use h8300_tiny_constant_address_p.
8845 * config/h8300/h8300-protos.h: Add the prototypes for the two
8846 new functions.
8847
6bb8a3f7
KH
88482002-10-29 Kazu Hirata <kazu@cs.umass.edu>
8849
8850 * reload1.c (update_eliminables): Unconditionally check if
8851 frame_pointer_needed has changed.
8852
fc8dfa20
JH
8853Tue Oct 29 15:37:39 CET 2002 Jan Hubicka <jh@suse.cz>
8854
8855 * toplev.c (rest_of_compilation): Reorganize way reg_scan is called
8856 before final pass.
8857
6e7727eb
EB
88582002-10-29 Eric Botcazou <ebotcazou@libertysurf.fr>
8859
a5163dcd 8860 PR optimization/8334
7bb9f927
ZW
8861 * expr.c (expand_expr) [PLUS]: Don't use simplify_binary_operation;
8862 check for zero operands explicitly.
6e7727eb 8863
02c6a17a
RS
88642002-10-29 Richard Sandiford <rsandifo@redhat.com>
8865
8866 * config/mips/mips.md (extv, extzv, insv): Set size of referenced
8867 memory after adjusting to BLKmode.
8868
1862869d
KH
88692002-10-29 Kazu Hirata <kazu@cs.umass.edu>
8870
8871 * config/h8300/h8300.h (MASK_*): New.
8872 (TARGET_*): Use MASK_*.
8873
4977bab6
ZW
88742002-10-28 Zack Weinberg <zack@codesourcery.com>
8875
8876 * config.gcc (*-*-vxworks, powerpc-wrs-vxworks*): New stanzas.
8877 * config/t-vxworks, config/vxworks.h, config/rs6000/t-vxworks,
8878 config/rs6000/vxworks.h: New files.
8879 * config/rs6000/sysv4.h: Rip out -mvxworks and all related code.
8880
8881 * config.gcc (alpha*-*-vxworks*, arm-*-vxworks*,
8882 i?86-wrs-vxworks*, i960-wrs-vxworks* [all],
8883 m68k-wrs-vxworks*, mips-wrs-vxworks, powerpc-wrs-vxworks*,
8884 powerpcle-wrs-vxworks*, sparc*-wrs-vxworks* [all],
8885 sparc-*-vxsim*): Delete stanzas.
8886 * gthr-vxworks.h: Rip out all substantive code and just
8887 include gthr-single.h.
8888
8889 * config/alpha/vxworks.h, config/arm/vxarm.h,
8890 config/i386/vxi386.h, config/i960/t-vxworks960,
8891 config/i960/vx960-coff.h, config/i960/vx960.h,
8892 config/m68k/t-vxworks68, config/m68k/vxm68k.h,
8893 config/mips/vxworks.h, config/rs6000/vxppc.h,
8894 config/sparc/t-vxsparc, config/sparc/t-vxsparc64,
8895 config/sparc/vxsim.h, config/sparc/vxsparc.h,
8896 config/sparc/vxsparc64.h: Delete files.
8897
ee3c755a
JT
88982002-10-28 Jason Thorpe <thorpej@wasabisystems.com>
8899
8900 * config.gcc (*-*-netbsd*): Add NETBSD_ENABLE_PTHREADS to
8901 tm_defines if pthreads are enabled.
8902 * config/netbsd.h (LIB_SPEC): Only support the -pthread option
8903 if NETBSD_ENABLE_PTHREADS is defined.
8904
423adbb9
KH
89052002-10-28 Kazu Hirata <kazu@cs.umass.edu>
8906
8907 * ChangeLog.1: Fix typos.
8908 * cse.c: Fix a comment typo.
8909 * reload1.c: Likewise.
8910
d7521977
HPN
89112002-10-27 Hans-Peter Nilsson <hp@bitrange.com>
8912
8913 * fixinc/inclhack.def (libc1_G_va_list): Correct test_text.
8914 * fixinc/tests/base/_G_config.h: New file.
8915
3eae4643
KH
89162002-10-27 Kazu Hirata <kazu@cs.umass.edu>
8917
8918 * combine.c: Fix comment formatting.
8919 * loop.c: Likewise.
8920 * real.c: Likewise.
8921 * regclass.c: Likewise.
8922 * regmove.c: Likewise.
8923 * regrename.c: Likewise.
8924 * reg-stack.c: Likewise.
8925 * reload1.c: Likewise.
8926 * reload.c: Likewise.
8927 * reload.h: Likewise.
8928 * unroll.c: Likewise.
8929
e591c83d
KH
89302002-10-27 Kazu Hirata <kazu@cs.umass.edu>
8931
8932 * reload1.c (reload): Fix a comment typo.
8933
a0ba837e
JH
8934Sun Oct 27 10:15:24 CET 2002 Jan Hubicka <jh@suse.cz>
8935
8936 * linux64.h (DEFAULT_PCC_STRUCT_RETURN): Define.
8937
cc0017a9
ZD
89382002-10-27 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
8939
8940 * Makefile.in (dwarf2out.o): Add dependendcy on hashtab.h.
8941 * dwarf2out.c: Include hashtab.h.
8942 (is_main_source): New static variable.
8943 (attr_checksum, die_checksum): Modified to handle die references.
8944 (same_loc_p, same_dw_val_p, same_attr_p, same_die_p, same_die_p_wrap,
8945 unmark_all_dies, htab_cu_hash, htab_cu_eq, htab_cu_del, check_duplicate_cu,
8946 record_comdat_symbol_number): New static functions.
8947 (output_comp_unit, compute_section_prefix, is_type_die, break_out_includes,
8948 mark_dies, unmark_dies, dwarf2out_start_source_file): Modified.
8949 * toplev.c (rest_of_decl_compilation): Call of dwarf2out_decl for type
8950 declarations added.
8951
d7af42bc
KH
89522002-10-26 Kazu Hirata <kazu@cs.umass.edu>
8953
8954 * config/h8300/h8300.c (initial_offset): Change to
8955 h8300_initial_elimination_offset.
8956 * config/h8300/h8300.h (INITIAL_ELIMINATION_OFFSET): Use
8957 h8300_initial_elimination_offset.
8958 * config/h8300/h8300-protos.h: Update the prototype.
8959
7e5037dc
HPN
89602002-10-26 Hans-Peter Nilsson <hp@bitrange.com>
8961
4b32269b
HPN
8962 * config/mmix/mmix.h (LIBCALL_VALUE): Use
8963 MMIX_RETURN_VALUE_REGNUM, not MMIX_OUTGOING_RETURN_VALUE_REGNUM.
8964 (FUNCTION_VALUE_REGNO_P): Similar, but move code to...
8965 * config/mmix/mmix.c (mmix_function_value_regno_p): New.
8966 * config/mmix/mmix-protos.h: Remove needless ifdefs on TREE_CODE
8967 and RTX_CODE.
8968 (mmix_function_value_regno_p): Declare.
8969
7e5037dc
HPN
8970 * config/mmix/mmix.md ("fixuns_truncdfdi2"): Replace unsigned_fix,
8971 invalid for floating point mode result, with fix.
8972
4977bab6
ZW
8973Fri Oct 25 00:04:21 2002 Alexandre Oliva <aoliva@redhat.com>
8974
8975 * Makefile.in (GCC_FOR_TARGET): Add -L$(objdir)/../ld.
8976 (STAGE2_FLAGS_TO_PASS): Pass GCC_FOR_TARGET.
8977 (stage1_build): Likewise.
8978
94c1e0e8
MS
89792002-10-25 Mike Stump <mrs@apple.com>
8980
da89b956 8981 Fixes gcc.dg/warn-1.c.
4977bab6
ZW
8982 * c-typeck.c (warn_for_assignment): Don't print argument number,
8983 if zero.
94c1e0e8 8984
0fb53e68
JH
8985Sat Oct 26 01:44:46 CEST 2002 Jan Hubicka <jh@suse.cz>
8986
8987 * toplev.c (dump_file_index): Add DFI_ce3.
8988 (dump_file_info): Likewise.
8989 (rest_of_compilation): Run first ifcvt pass before tracer.
8990
794186ca
SE
89912002-10-25 Steve Ellcey <sje@cup.hp.com>
8992
8993 * config/ia64/hpux.h (BITS_BIG_ENDIAN): Remove.
8994
cd60b4b8
RH
89952002-10-25 Richard Henderson <rth@redhat.com>
8996
8997 * real.c (real_to_decimal): If the >1 tens reduction loop results
8998 in a negative exponent, fall into the <1 pten computation.
8999
f3763a44
ZW
90002002-10-25 Zack Weinberg <zack@codesourcery.com>
9001
9002 PR middle-end/6994
9003 * c-objc-common.c (inline_forbidden_p): Can not inline
9004 functions containing structures or unions containing VLAs.
9005 * tree-inline.c (walk_tree): For all class 't' nodes, walk
9006 TYPE_SIZE and TYPE_SIZE_UNIT.
9007 (copy_tree_r): Copy types if they are variably modified.
9008
8c40b097
UW
90092002-10-25 Ulrich Weigand <uweigand@de.ibm.com>
9010
9011 * config/s390/s390.md: Remove old-style peepholes.
9012
522ec94e
UW
90132002-10-25 Ulrich Weigand <uweigand@de.ibm.com>
9014
9015 * config/s390/s390.c (s390_decompose_address): Do not range check the
9016 displacement if base or index is the argument pointer register.
9017
a7475ab1
HPN
90182002-10-24 Hans-Peter Nilsson <hp@bitrange.com>
9019
85c87994
HPN
9020 PR other/3337
9021 PR bootstrap/6763
9022 PR bootstrap/8122
a7475ab1
HPN
9023 * fixinc/inclhack.def (libc1_G_va_list): New fix.
9024 * fixinc/fixincl.x: Regenerate.
9025 * config/i386/linux.h: Move MD_FALLBACK_FRAME_STATE_FOR inside
9026 ifndef IN_LIBGCC2. Wrap it together with signal.h and
9027 sys/ucontext.h inclusion in ifndef USE_GNULIBC_1.
9028 * configure.in (gcc_AC_CHECK_DECLS): Check vasprintf too.
9029 * config.in, configure: Regenerate.
9030
7a360cce
IS
90312002-10-24 Igor Shevlyakov <igor@microunity.com>
9032
7bb9f927 9033 * varasm.c (struct rtx_const): Array size 16 for V16QImode.
7a360cce 9034
fcbe3b89
RH
90352002-10-24 Richard Henderson <rth@redhat.com>
9036
9037 * config/i386/i386.c (x86_output_mi_thunk): Fix x86_64 pic jump.
9038
1a86c850
KH
90392002-10-24 Kazu Hirata <kazu@cs.umass.edu>
9040
9041 * config/h8300/h8300.c (initial_offset): Simplify by using
9042 round_frame_size.
9043
de7999ba
MM
90442002-10-24 Marek Michalkiewicz <marekm@amelek.gda.pl>
9045
9046 * doc/install.texi (avr): Update required binutils version.
9047
90482002-10-24 Theodore A. Roth <troth@openavr.org>
9049
9050 * doc/install.texi: Point avr users at more up-to-date information.
9051
84817c5d
UW
90522002-10-24 Ulrich Weigand <uweigand@de.ibm.com>
9053
9054 * config/s390/s390.md (movdi, movsi, movhi, movqi): Add peepholes2
9055 to pull operands out of the literal pool where possible.
9056
d0749053
DC
90572002-10-24 Denis Chertykov <denisc@overta.ru>
9058
9059 * config/avr/avr.c (init_cumulative_args): Test fntype for zero.
9060
37d0b254
SE
90612002-10-24 Steve Ellcey <sje@cup.hp.com>
9062
9063 * expr.c (convert_move): If unsignedp is less then zero there
9064 is no equivalent code.
9065
7af907e9
ZW
90662002-10-24 Zack Weinberg <zack@codesourcery.com>
9067
9068 * tree.def: Delete mention of nonexistent ARRAY_TYPE fields.
9069
862a2d83
UW
90702002-10-24 Ulrich Weigand <uweigand@de.ibm.com>
9071
7af907e9 9072 * config/s390/s390.h: Rework comments; re-sort target macro definitions
862a2d83
UW
9073 according to the sequence they are defined in the manual.
9074 (POINTER_BOUNDARY): Remove.
9075
489eda65
KH
90762002-10-24 Kazu Hirata <kazu@cs.umass.edu>
9077
9078 * config/h8300/h8300.c (round_frame_size): Replace 8 with
9079 BITS_PER_UNIT.
9080
2ba08201
KH
90812002-10-24 Kazu Hirata <kazu@cs.umass.edu>
9082
9083 * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Make it
9084 64-bit safe.
9085 (TINY_CONSTANT_ADDRESS_P): Likewise.
9086
5f13cfc6
RH
90872002-10-24 Richard Henderson <rth@redhat.com>
9088
9089 * config/ia64/ia64.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
9090 (ia64_output_mi_thunk): Rewrite to use rtl, and to handle the
9091 vcall offset.
9092
3bd216f2
RH
90932002-10-24 Richard Henderson <rth@redhat.com>
9094
7af907e9
ZW
9095 PR opt/7944
9096 * reload.c (find_reloads_toplev): Mode of X is not important
3bd216f2
RH
9097 when simplifying subregs of constants.
9098
60bc2b4b
RS
90992002-10-24 Richard Sandiford <rsandifo@redhat.com>
9100
9101 * config.gcc (mips64vr-*-elf*, mips64vrel-*-elf*): Add
9102 MIPS_MARCH_CONTROLS_SOFT_FLOAT=1 to $tm_defines.
9103 * config/mips/mips.c (MIPS_MARCH_CONTROLS_SOFT_FLOAT): Default to 0.
9104 (override_options): Base default setting of MASK_SOFT_FLOAT on -march
9105 if MIPS_MARCH_CONTROLS_SOFT_FLOAT.
9106
5be5c8d4
RS
91072002-10-24 Richard Sandiford <rsandifo@redhat.com>
9108
9109 * optabs.c (expand_binop): Don't reuse the shift target in the
9110 middle of shift sequences.
9111
4977bab6
ZW
9112Wed Oct 23 22:48:44 CEST 2002 Jan Hubicka <jh@suse.cz>
9113
9114 * i386.md (abs splitters): Do not produce nested subregs.
9115
9116Wed Oct 23 12:42:32 CEST 2002 Jan Hubicka <jh@suse.cz>
9117
9118 * i386.md (movti_rex64): Fix constraints.
9119
9120Wed Oct 23 12:01:21 CEST 2002 Jan Hubicka <jh@suse.cz>
9121
9122 * i386.md (abssf,absdf): Use vector operands for SSE
9123 (abssf2_ifs, absdf2_ifs, absdf2_ifs_rex64 and splitters): Update for
9124 vector operand.
9125
196e1ae3
ZL
91262002-10-23 Ziemowit Laski <zlaski@apple.com>
9127
9128 * objc/objc-act.c (get_static_reference): Remove unneeded
9129 TYPE_BINFO initialization.
9130 (get_object-reference): Likewise.
9131 (build_constructor): Tighten precondition check.
9132 (finish_message_expr): Likewise.
9133
8bfb45f8
JJ
91342002-10-23 Jakub Jelinek <jakub@redhat.com>
9135
9136 * config/i386/i386.c (local_symbolic_operand): Move LABEL_REF test
9137 after CONST test.
9138
16448fd4
SE
91392002-10-23 Steve Ellcey <sje@cup.hp.com>
9140
9141 * config/ia64/ia64.c (hfa_element_mode): Don't allow 128 bit floats
9142 in HFAs.
9143
e2358068
RH
91442002-10-23 Richard Henderson <rth@redhat.com>
9145
9146 * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
9147 (alpha_output_mi_thunk_osf): Handle vcall_offset.
9148
8bcefb43
ZW
91492002-10-23 Zack Weinberg <zack@codesourcery.com>
9150
9151 * langhooks.h (struct lang_hooks_for_tree_inlining): Add
9152 var_mod_type_p.
9153 * langhooks-def.h: Default for tree_inlining.var_mod_type_p is
9154 hook_tree_bool_false.
9155
9156 * tree.c (variably_modified_type_p): Moved here from
9157 cp/tree.c. Use lang_hooks.tree_inlining.var_mod_type_p for
9158 language-specific cases. Due to this, must weaken some 'if
9159 and only if' checks to merely 'if'.
9160 * tree.h: Prototype variably_modified_type_p.
9161
9162 * tree-inline.c (walk_tree): #undef WALK_SUBTREE_TAIL at end.
9163
8e509cf9
UW
91642002-10-23 Ulrich Weigand <uweigand@de.ibm.com>
9165
9166 * config/s390/linux.h (CC1_SPEC, CC1PLUS_SPEC): Remove.
9167 * config/s390/s390.c (optimization_options): Disable -fcaller-saves.
9168
9169 * config/s390/s390-protos.h (fp_operand): Remove.
9170 * config/s390/s390.c (fp_operand): Remove.
9171 * config/s390/s390.md ("movdi"): Replace fp_operand by FP_REG_P.
9172 ("*movdi_lhi", "*movdi_lli", "*movdi_larl"): Likewise.
9173 ("movsi", "*movsi_lhi", "*movsi_lli"): Likewise.
9174 (movdi_31, movdf_31 splitters): Likewise.
8bcefb43 9175
8e509cf9
UW
9176 * config/s390/s390.h (IEEE_FLOAT): Remove.
9177 (TARGET_FLOAT_FORMAT): Define in terms of TARGET_IEEE_FLOAT.
9178 (INT_REGNO_P): Rename to ...
9179 (GENERAL_REGNO_P): ... this.
9180 (FLOAT_REGNO_P): Rename to ...
9181 (FP_REGNO_P): ... this.
9182 (ADDR_REGNO_P): New macro.
9183 (GENERAL_REG_P, ADDR_REG_P, FP_REG_P, CC_REG_P): New macros.
9184 (REGNO_OK_FOR_DATA_P, REGNO_OK_FOR_FP_P): Remove.
9185 (DATA_REG_P, FP_REG_P, ADDRESS_REG_P): Likewise.
9186 (HARD_REGNO_NREGS): Adapt to macro renaming.
9187 (HARD_REGNO_MODE_OK): Likewise.
9188
34bb030a
DE
91892002-10-23 David Edelsohn <edelsohn@gnu.org>
9190 Geoff Keating <geoffk@apple.com>
9191
9192 * config/rs6000/rs6000.c (rs6000_register_move_cost): New function.
9193 (rs6000_memory_move_cost): New function.
9194 * config/rs6000/rs6000-protos.h: Declare them.
9195 * config/rs6000/rs6000.h: Use them.
9196
1ab9ba62
UW
91972002-10-23 Ulrich Weigand <uweigand@de.ibm.com>
9198
8bcefb43 9199 * libgcc2.c (__udiv_w_sdiv): Use attribute ((always_inline)) when
1ab9ba62
UW
9200 inlining it into other libgcc2 routines.
9201 (__udivmoddi4): Likewise.
9202
4b2ece8f
NN
92032002-10-22 Nathanael Nerode <neroden@gcc.gnu.org>
9204
9205 * doc/sourcebuild.texi (Test Suites): Improve.
9206
2d173d20
SS
92072002-10-22 Stan Shebs <shebs@apple.com>
9208
9209 * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Add missing
9210 case for Darwin.
9211
43146684
JW
92122002-10-22 Jim Wilson <wilson@redhat.com>
9213
9214 * config/i386/i386.md (subdi3_1): Add call to ix86_binary_operator_ok.
9215
a00782ed
JH
9216Wed Oct 23 01:52:36 CEST 2002 Jan Hubicka <jh@suse.cz>
9217
9218 PR other/8289
9219 * xmmintrin.h: Add const to the argument of loads.
9220
9221 * i386.md (pushv2di): New pattern.
9222 PR target/6890
9223 * xmmintrin.h (_MM_TRANSPOSE4_PS): New.
9224
3961e8fe
RH
92252002-10-22 Richard Henderson <rth@redhat.com>
9226
9227 * target.h (gcc_target.asm_out): Merge output_mi_thunk and
9228 output_mi_vcall_thunk into a single hook. Add can_output_mi_thunk.
9229 * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Don't conditionalize.
9230 (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
9231 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
9232 (TARGET_ASM_OUT): Update.
9233 * hooks.c (hook_bool_tree_hwi_hwi_tree_false): New.
9234 (hook_bool_tree_hwi_hwi_tree_true): New.
9235 (default_can_output_mi_thunk_no_vcall): New.
9236 * hooks.h: Declare them.
9237 * system.h (ASM_OUTPUT_MI_THUNK): Poison.
9238
9239 * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
9240 (alpha_output_mi_thunk_osf): Add VCALL_OFFSET parameter.
9241 * config/arm/arm.c, config/cris/cris.c, config/frv/frv.c,
9242 config/i960/i960.c, config/ia64/ia64.c, config/m68k/m68k.c,
9243 config/mmix/mmix.c, config/pa/pa.c, config/sparc/sparc.c,
9244 config/stormy16/stormy16.c: Similarly.
9245
9246 * config/i386/i386.c (x86_output_mi_thunk): Merge vcall_offset code.
9247 Handle 64-bit properly. Streamline.
9248 (x86_output_mi_vcall_thunk): Remove.
9249 (x86_this_parameter): Rename from ia32_this_parameter; handle 64-bit.
9250 (x86_can_output_mi_thunk): New.
9251 (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
9252 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
9253 (override_options): Don't zap targetm.asm_out.output_mi_vcall_thunk.
9254
9255 * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Rename from
9256 output_mi_thunk; make static; always use function_section.
9257 (TARGET_ASM_OUTPUT_MI_THUNK): New.
9258 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
9259 (rs6000_ra_ever_killed): Test no_new_pseudos not
9260 targetm.asm_out.output_mi_thunk in conjunction with thunks.
9261 * config/rs6000/rs6000-protos.h: Update.
9262 * config/rs6000/sysv4.h (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
9263 * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Don't call
9264 xcoffout_declare_function when using rs6000_output_mi_thunk.
9265
8bcefb43 9266 * config/s390/s390.c (s390_output_mi_thunk): Rename from
3961e8fe
RH
9267 s390_output_mi_vcall_thunk.
9268 (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
9269 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
9270
9271 * config/vax/vax.c (vax_output_mi_thunk): Static; add vcall_offset.
9272 (TARGET_ASM_OUTPUT_MI_THUNK, TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
9273 * config/vax/vax-protos.h: Update.
9274 * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Remove.
9275
0e67d460
JH
9276Wed Oct 23 00:33:11 CEST 2002 Jan Hubicka <jh@suse,cz>
9277
9278 * i386.c (standard_sse_constant_p): Accept vector and integer zeros too.
9279 * i386.h (EXTRA_CONSTRAINT): Recognize 'C'
9280 * i386.md (movti_internal): Use 'C'
9281
9282 * xmmintrin.h (_mm_cmplt_epi*): New.
9283
d5869ca0
UW
92842002-10-22 Ulrich Weigand <uweigand@de.ibm.com>
9285
9286 * config/s390/s390.md ("*movdi_64"): Fix op_type attribute.
9287 ("*movdf_64"): Likewise.
9288 ("*lshrdi3_64"): Likewise.
9289 ("blockage"): Add length attribute.
9290 ("lit"): Likewise.
9291
680dd104
JH
9292Tue Oct 22 23:51:34 CEST 2002 Jan Hubicka <jh@suse.cz>
9293
9294 * i386.md: FIx typo.
9295 (sse2_cvtsi2sd, sse2_pslrdq): Fix template.
9296 (sse2_umulv2siv2di3): Fix predicate.
9297 (sse2_psadbw, ashrv8hi3, ashrv4si3, lshrv8hi3 lshrv4si3,
9298 lshrv2di3, ashlv8hi3, ashlv4si3, ashlv2di3): Likewise.
9299 * xmmintrin.h (_mm_mul_epu16): Rename to...
9300 (_mm_mul_epu32): This one.
9301 (_mm_cvtsi32_si128, _mm_cvtsi128_si32): New.
9302
9303 (contains_128bit_aligned_vector_p): Undo accidental checkin.
9304
3aabf9a5
EC
93052002-10-22 Eric Christopher <echristo@redhat.com>
9306
9307 * config/sparc/sparc.h: Add #error.
9308
42c78618
UW
93092002-10-22 Ulrich Weigand <uweigand@de.ibm.com>
9310
9311 * config.gcc [s390-*-linux]: Remove s390/t-linux from tmake_file.
9312 [s390x-*-linux*]: Likewise.
9313 * config/s390/t-linux: Remove.
9314 * config/s390/s390.h: Include fixdfdi.h when building libgcc2.
9315
077084dd
JH
9316Tue Oct 22 19:07:03 CEST 2002 Jan Hubicka <jh@suse.cz>
9317
9318 * i386.c (builtin_description): Add IX86_BUILTIN_PUNPCKHQDQ128.
9319 (ix86_expand_builtin): Fix MASKMOVDQU expasion.
9320 * i386.h (ix86_builtins): Add IX86_BUILTIN_PUNPCKHQDQ128.
9321 * i386.md (mmx_punpck?dq): Simplify.
9322 (sse2_pubpcklqdq): Fix.
9323 (sse2_pubpckhqdq): New.
9324 * xmmintrin.h (_mm_unpackhi_epi32): New.
9325
9326 * xmmintrin.h (_mm_cvt*, _mm_stream_pd): Fix prototypes.
9327 (_mm_shufflehi_epi16, _mm_shufflelo_epi16): Fix typo.
9328
8fe734a3
NS
93292002-10-22 Nathan Sidwell <nathan@codesourcery.com>
9330
9331 PR c++/7209
9332 * fold_const.c (fold_binary_op_with_conditional_arg): Always
9333 build compound_expr if we used save_expr.
9334
6a0a6ac4
AM
93352002-10-22 Alan Modra <amodra@bigpond.net.au>
9336
9337 * output.h (SECTION_NOTYPE): Define.
9338 * varasm.c (default_section_type_flags_1): Set SECTION_NOTYPE for
9339 init array sections.
9340 (default_elf_asm_named_section): Mind SECTION_NOTYPE.
9341 * config/arm/arm.c (arm_elf_asm_named_section): Likewise. Also
9342 merge TLS support.
9343
4977bab6
ZW
93442002-10-21 Richard Henderson <rth@redhat.com>
9345
9346 * config/i386/i386.c (ix86_function_ok_for_sibcall): Look at
9347 the function type, not the return type.
9348
5e26e5a2
RH
93492002-10-21 Richard Henderson <rth@redhat.com>
9350
9351 * real.c (sticky_rshift_significand): Return inexact, don't
9352 or it in immediately.
9353 (sub_significands): Accept incomming carry.
9354 (div_significands, rtd_divmod): Update for sub_significands change.
9355 (round_for_format): Update for sticky_rshift_significand change.
9356 (do_add): Don't involve the inexact bit in addition, do give the
9357 inexact bit as the subtraction carry-in.
9358 (encode_internal, decode_internal, real_internal_format): New.
9359 * real.h (real_internal_format): Declare.
9360
f8eef883
UW
93612002-10-21 Ulrich Weigand <uweigand@de.ibm.com>
9362
9363 * libgcc2.c: Fix __udiv_w_sdiv breakage on platforms that
9364 don't define sdiv_qrnnd.
9365
89e56fe5
KH
93662002-10-21 Kazu Hirata <kazu@cs.umass.edu>
9367
9368 * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Simplify
9369 using IN_RANGE.
9370 (TINY_CONSTANT_ADDRESS_P): Likewise.
9371
f02e1358
JH
9372Tue Oct 22 00:04:20 CEST 2002 Jan Hubicka <jh@suse.cz>
9373
9374 * i386.c (builtin_description): Add punpcklqdq and movdq2q
9375 (ix86_init_mmx_sse_builtins): Add v2di_ftype_void, di_ftype_v2di,
9376 v16qi_ftype_pchar, void_ftype_pchar_v16qi, v4si_ftype_pchar,
9377 void_ftype_pchar_v4si; Initialize __builtin_ia32_movdq2q,
9378 __builtin_ia32_loaddqa, __builtin_ia32_loaddqu, __builtin_ia32_loadd
9379 __builtin_ia32_storedqa, __builtin_ia32_storedqu, __builtin_ia32_stored
9380 __builtin_ia32_setzero128.
9381 (ix86_expand_builtin): Handle IX86_BUILTIN_CLRTI, IX86_BUILTIN_LOADDQA,
9382 IX86_BUILTIN_LOADDQU, IX86_BUILTIN_LOADD, IX86_BUILTIN_STOREDQA,
9383 IX86_BUILTIN_STOREDQU, IX86_BUILTIN_STORED, Ix86_BUILTIN_MOVQ.
9384 * i386.h (ix86_builtins): Add IX86_BUILTIN_LOADDQA, IX86_BUILTIN_LOADDQU,
9385 IX86_BUILTIN_STOREDQA, IX86_BUILTIN_STOREDQU, IX86_BUILTIN_LOADD,
9386 IX86_BUILTIN_STORED, IX86_BUILTIN_CLRTI, IX86_BUILTIN_MOVDQ2Q,
9387 IX86_BUILTIN_PUNPCKLQDQ128, Ix86_BUILTIN_MOVQ.
9388 * i386.md (sse2_punpcklqdq, sse2_movqsse2_loadd, sse2_stored,
9389 sse2_movq): New patterns.
9390 (sse2_movdqa, sse2_movdqu, sse2_movdq2q): Fix.
9391 * xmmintrin.h (_mm_load_si128, _mm_loadu_si128, _mm_loadl_epi64,
9392 _mm_store_si128, _mm_storeu_si128, _mm_storel_epi64,
9393 _mm_setzero_si128, _mm_set_epi64, _mm_set_epi32, _mm_set_epi16,
9394 _mm_set_epi8, _mm_set1_epi64, _mm_set1_epi32, _mm_set1_epi16,
9395 _mm_set1_epi8, _mm_setr_epi64, _mm_setr_epi32, _mm_setr_epi16,
9396 _mm_setr_epi8, _mm_unpacklo_epi64,_mm_set_moveq): New functions.
9397 (_mm_insert_epi16): Fix.
9398
de40e1df
DJ
93992002-10-21 Dale Johannesen <dalej@apple.com>
9400
8bcefb43 9401 * config/rs6000/rs6000.c (rs6000_reverse_condition): Handle
de40e1df
DJ
9402 unsafe math reversals correctly for RTL generation.
9403 (output_cbranch): Replace rs6000_reverse_condition call
9404 by its former definition.
9405
75d38379
JJ
94062002-10-21 Jakub Jelinek <jakub@redhat.com>
9407
9408 * config/i386/i386.c (x86_64_sign_extended_value): Add allow_rip
9409 argument. In CM_SMALL_PIC model consider SYMBOL_REFs binding locally or
9410 from constant pool or LABEL_REFs as sign extended if allow_rip.
9411 Change all +-1GB limits to +-16MB.
9412 (x86_64_general_operand, x86_64_szext_general_operand,
9413 x86_64_nonmemory_operand, x86_64_movabs_operand,
9414 x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
9415 legitimate_address_p, ix86_expand_int_movcc): Update callers.
9416 (local_symbolic_operand): Don't allow offsets bigger than +-16MB
9417 in CM_SMALL_PIC model.
9418 (legitimate_pic_address_disp_p): Don't check offsets before
9419 calling local_symbolic_operand.
9420 (legitimize_pic_address): Force offsets bigger than +-16MB into
9421 register.
9422 * config/i386/i386.h (EXTRA_CONSTRAINT, CONST_COSTS): Likewise.
9423 * config/i386/i386-protos.h (x86_64_sign_extended_value): Update
9424 prototype.
9425
9426 * configure.in: Test for @GOTNTPOFF and @INDNTPOFF on IA-32 too.
9427 Add x86-64 test. Set tls_first_minor to 14 on IA-32 and x86-64.
9428 * configure: Rebuilt.
9429 * config/i386/i386.c (x86_64_sign_extended_value): Don't allow TLS
9430 SYMBOL_REFs unless enclosed in UNSPEC. Handle UNSPEC_DTPOFF,
9431 UNSPEC_GOTNTPOFF and UNSPEC_NTPOFF.
9432 (legitimate_address_p): Allow foo@dtpoff(base) even on TARGET_64BIT
9433 -fpic.
9434 (ix86_encode_section_info): Don't ever generate TLSGD or TLSLD for
9435 non-pic code if TARGET_64BIT.
9436 (legitimize_address): Generate 64-bit TLS sequences.
9437 (output_pic_addr_const): Support x86-64 TLS operators.
9438 (i386_output_dwarf_dtprel): Output 64-bit DTPOFF as .long f@DTPOFF, 0.
9439 (print_operand_address): Use %fs instead of %gs on TARGET_64BIT.
9440 Don't append (%rip) in 64-bit TLSGD and TLSLD sequences.
9441 (output_addr_const_extra): Support x86-64 TLS operators.
9442 (maybe_get_pool_constant): Handle TARGET_64BIT -fpic.
9443 (ix86_tls_get_addr): Use __tls_get_addr on TARGET_64BIT
9444 unconditionally.
9445 * config/i386/i386.md (*tls_global_dynamic_gnu): Renamed to...
9446 (*tls_global_dynamic_32_gnu): ..., add !TARGET_64BIT.
9447 (*tls_global_dynamic_sun): Renamed to...
9448 (*tls_global_dynamic_32_sun): ..., add !TARGET_64BIT.
9449 (tls_global_dynamic): Renamed to...
9450 (tls_global_dynamic_32): ... this.
9451 (tls_global_dynamic_64, *tls_global_dynamic_64): New.
9452 (*tls_local_dynamic_base_dynamic_gnu): Renamed to...
9453 (*tls_local_dynamic_base_dynamic_32_gnu): ..., add !TARGET_64BIT.
9454 (*tls_local_dynamic_base_dynamic_sun): Renamed to...
9455 (*tls_local_dynamic_base_dynamic_32_sun): ..., add !TARGET_64BIT.
9456 (tls_local_dynamic_base_dynamic): Renamed to...
9457 (tls_local_dynamic_base_dynamic_32): ... this.
9458 (tls_local_dynamic_base_dynamic_64,
9459 *tls_local_dynamic_base_dynamic_64): New.
9460 (*tls_local_dynamic_once): Renamed to...
9461 (*tls_local_dynamic_32_once): ... this.
9462
59798a0c
UW
94632002-10-21 Ulrich Weigand <uweigand@de.ibm.com>
9464
9465 * libgcc2.c: Inline __udiv_w_sdiv when compiling __udivdi3,
9466 __divdi3, __umoddi3, or __moddi3.
9467
97d05bfd
UW
94682002-10-21 Ulrich Weigand <uweigand@de.ibm.com>
9469
9470 * c-opts.c (missing_arg): Use cl_options[opt_index].opt_code
9471 instead of just opt_index as switch expression.
9472
9473 * calls.c (store_one_arg): Change type of 'excess_align'
9474 to unsigned int.
9475
9476 * profile.c (output_gcov_string): Change type of 'temp'
9477 to size_t.
9478
5d4d885c
UW
94792002-10-21 Ulrich Weigand <uweigand@de.ibm.com>
9480
9481 * config/s390/fixdfdi.h (__fixunsdfdi, __fixdfdi): Add prototypes.
9482 (__fixunssfdi, __fixsfdi): Likewise.
9483 * config/s390/s390.c (s390_single_hi): Initialize 'value'.
9484 (s390_single_qi): Likewise.
9485 (s390_emit_epilogue): Initialize 'offset'. Remove signed vs.
9486 unsigned comparison warning.
9487 (s390_return_addr_rtx): New function.
9488 * config/s390/s390-protos.h (s390_return_addr_rtx): Declare it.
9489 * config/s390/s390.h (RETURN_ADDR_RTX): Use it.
9490 (HARD_REGNO_MODE_OK): Rewrite condition to silence warnings.
9491
3062825f
UW
94922002-10-21 Ulrich Weigand <uweigand@de.ibm.com>
9493
9494 * config/s390/s390.c (s390_output_mi_vcall_thunk): New function.
9495 (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define target hook.
9496 (s390_output_mi_thunk): Remove.
9497 (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
9498
2918c993
KH
94992002-10-21 Kazu Hirata <kazu@cs.umass.edu>
9500
9501 * config/h8300/h8300.h (N_REG_CLASSES): Parenthesize.
9502
4977bab6
ZW
95032002-10-20 Zack Weinberg <zack@codesourcery.com>
9504
9505 * config/i386/i386.c (ix86_function_ok_for_sibcall): Fix an
9506 inverted test in the conditional determining the possibility
9507 of sibcalls in PIC mode.
9508
c590b625
RH
95092002-10-20 Richard Henderson <rth@redhat.com>
9510
9511 * target.h (struct gcc_target): Line wrap.
9512
9513 * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Static.
9514 (TARGET_ASM_OUTPUT_MI_THUNK): Define here...
9515 * config/alpha/alpha.h: ... not here.
9516 * config/alpha/alpha-protos.h: Update.
9517
9518 * config/arm/arm.c, config/arm/arm.h, config/arm/arm-protos.h
9519 config/cris/cris-protos.h, config/cris/cris.c, config/cris/cris.h,
9520 config/frv/frv-protos.h, config/frv/frv.c, config/frv/frv.h,
9521 config/i386/i386-protos.h, config/i386/i386.c, config/i386/openbsd.h,
9522 config/i386/unix.h, config/i960/i960-protos.h, config/i960/i960.c,
9523 config/i960/i960.h, config/ia64/ia64-protos.h, config/ia64/ia64.c,
9524 config/ia64/ia64.h, config/m68k/linux.h, config/m68k/m68k-protos.h,
9525 config/m68k/m68k.c, config/m68k/netbsd-elf.h, config/m68k/openbsd.h,
9526 config/mmix/mmix-protos.h, config/mmix/mmix.c, config/mmix/mmix.h,
3aabf9a5 9527 config/pa/pa-protos.h, config/pa/pa.c, config/pa/pa.h,
c590b625
RH
9528 config/s390/s390-protos.h, config/s390/s390.c, config/s390/s390.h,
9529 config/sparc/openbsd.h, config/sparc/sparc-protos.h,
9530 config/sparc/sparc.c, config/sparc/sparc.h,
9531 config/stormy16/stormy16-protos.h, config/stormy16/stormy16.c,
9532 config/stormy16/stormy16.h: Similarly.
9533
9534 * config/m68k/m68k.c (m68k_output_mi_thunk): Replicate mnemonic
9535 selection logic from call patterns.
9536
16f7d029
MM
95372002-10-20 Mark Mitchell <mark@codesourcery.com>
9538
9539 * config/m68k/m68k.c (m68k_output_mi_thunk): Fix typo.
9540
ab3146fd
ZD
95412002-10-20 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
9542
9543 PR other/8202
9544 * i386.c (ix86_init_mmx_sse_builtins, ix86_expand_builtin): Define and
9545 expand __builtin_ia32_pslldqi128 and __builtin_ia32_psrldqi128.
9546 * i386.h (IX86_BUILTIN_PSLLDQI128, IX86_BUILTIN_PSRLDQI128): New.
9547 * xmmintrin.h (_mm_srli_si128, _mm_slli_si128): New.
9548
e03b7153
RS
95492002-10-20 Roger Sayle <roger@eyesopen.com>
9550
9551 PR c/761
9552 * toplev.c (flag_unsafe_profile_arcs): Remove.
9553 (flag_bounded_pointers): Remove.
9554 (flag_bounds_check): Correct comments.
9555 (lang_independent_options): Remove -funsafe-profile-arcs and
9556 -fbounded-pointers. Correct -fbounds-check comments.
9557
9558 * flags.h: Correct flag_schedule_interblock comments.
9559 (flag_bounded_pointers): Remove prototype.
9560 (flag_bounds_check): Correct comments.
9561
9562 * c-opts.c (c_common_init_options): No need to mark
9563 flag_bounds_check as unspecified.
9564 (c_common_post_options): And no need to set it from
9565 flag_bounded_pointers if its still unspecified.
9566
9567 * doc/invoke.texi: Fix some overfull hboxes in "make dvi".
9568 Document --version, -feliminate-dwarf-2-dups, -fno-sched-interblock,
9569 -fno-sched-spec, -fsched-spec-load, -fsched-spec-load-dangerous,
9570 -fsched-verbose=n, -fno-branch-count-reg and -fbounds-check.
9571
4977bab6
ZW
9572Sat Oct 19 22:02:28 2002 Alexandre Oliva <aoliva@redhat.com>
9573 Angela Marie Thomas <angela@releasedominatrix.com>
9574 Brendan Kehoe <brendan@zen.org>
9575 Nick Clifton <nickc@redhat.com>
9576 Andrew Haley <aph@redhat.com>
9577
9578 * configure.in (--with-sysroot): New. Don't inhibit libc if
9579 given. AC_SUBST TARGET_SYSTEM_ROOT, TARGET_SYSTEM_ROOT_DEFINE
9580 and CROSS_SYSTEM_HEADER_DIR.
9581 * configure: Rebuilt.
9582 * Makefile.in (CROSS_SYSTEM_HEADER_DIR): Set in configure.
9583 (TARGET_SYSTEM_ROOT): New.
9584 (DRIVER_DEFINES): Define CROSS_INCLUDE_DIR from
9585 CROSS_SYSTEM_HEADER_DIR.
9586 (install-gcc-tooldir): New target.
9587 (stmp-fixinc): Do not create $(libsubdir), but rather bail out
9588 if SYSTEM_HEADER_DIR does not exist and it's not the default
9589 sys-include directory.
9590 (deduced.h, stmp-fixproto): Quote SYSTEM_HEADER_DIR properly.
9591 (install-mkheaders): Likewise.
9592 * gcc.c (target_system_root): New variable.
9593 (add_sysrooted_prefix): New function.
9594 (process_command): Recompute run-time target_system_root from
9595 gcc_exec_prefix, keeping it unchanged if the relocated sysroot
9596 does not exist.
9597 (do_spec_1): Process 'R' spec.
9598 (main): Add md_exec_prefix to exec_prefixes regardless of
9599 startfile_prefix_spec. Use add_sysrooted_prefix for
9600 startfile_prefixes, and don't skip the default ones when cross
9601 compiling with sysroot enabled. Removed unused case of
9602 non-absolute standard_startfile_prefix.
9603 * config/interix.h: Remove the only potential, yet disabled,
9604 occurrence of non-absolute (empty) standard_startfile_prefix.
9605 * config/sh/linux.h (LIB_SPEC): Add -rpath-link in non-static
9606 linking.
9607 * config/mips/linux.h (LIB_SPEC): Define as in sh/linux.h.
9608 * doc/install.texi (--with-sysroot): Document.
9609 (--with-headers, --with-libs): Deprecate.
9610
eb0424da 96112002-10-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8bcefb43 9612 Mark Mitchell <mark@codesourcery.com>
eb0424da
MM
9613
9614 * alpha-protos.h (alpha_output_mi_thunk_osf): Update signature to
9615 match target.h.
9616 * arm-protos.h, arm.c (arm_output_mi_thunk): Likewise.
9617 * cris-protos.h, cris.c (cris_asm_output_mi_thunk): Likewise.
9618 * frv-protos.h, frv.c (frv_asm_output_mi_thunk): Likewise.
9619 * i386-protos.h, i386.c (x86_output_mi_vcall_thunk,
9620 x86_output_mi_thunk): Likewise.
9621 * i960-protos.h, i960.c (i960_output_mi_thunk): Likewise.
9622 * ia64-protos.h, ia64.c (ia64_output_mi_thunk): Likewise.
9623 * m68k-protos.h, m68k.c (m68k_output_mi_thunk): Likewise.
9624 * mmix-protos.h, mmix.c (mmix_asm_output_mi_thunk): Likewise.
9625 * rs6000-protos.h, rs6000.c (output_mi_thunk): Likewise.
9626 * s390-protos.h, s390.c (s390_output_mi_thunk): Likewise.
9627 * stormy16-protos.h, stormy16.c (xstormy16_asm_output_mi_thunk):
9628 Likewise.
9629 * vax-protos.h, vax.c (vax_output_mi_thunk): Likewise.
3aabf9a5 9630
eb0424da
MM
9631 * target.h (gcc_target): Update output_mi_thunk and
9632 output_mi_vcall_thunk to take a HOST_WIDE_INT delta and
9633 vcall_index.
9634
9635 * config/alpha/alpha.c: Replace ASM_OUTPUT_MI_THUNK with
9636 TARGET_ASM_OUTPUT_MI_THUNK in comments.
9637 * config/alpha/vms.h (ASM_OUTPUT_MI_THUNK): Don't #undef it.
9638 (TARGET_ASM_OUTPUT_MI_THUNK): #undef it.
9639 * config/frv/frv.h (DEFAULT_VTABLE_THUNKS): Remove definition.
9640 * config/i386/i386-protos.h (x86_output_mi_vcall_thunk): Update
9641 signature.
9642 * config/i386/i386.c (x86_output_mi_vcall_thunk): Likewise.
9643 * config/i386/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
9644 TARGET_ASM_OUTPUT_MI_THUNK in comments.
9645 * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Don't define.
9646 (TARGET_ASM_OUTPUT_MI_THUNK): Do define.
9647 * config/m68k/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
9648 TARGET_ASM_OUTPUT_MI_THUNK in comments.
9649 * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Remove #ifdef
9650 ASM_OUTPUT_MI_THUNK and replace with check of targetm.
9651
9652 * doc/tm.texi (TARGET_ASM_OUTPUT_MI_THUNK): Update signature.
9653 (TARGET_ASM_OUTPU_MI_VCALL_THUNK): Likewise.
3aabf9a5 9654
433d5d04
BL
96552002-10-19 Brad Lucier <lucier@math.purdue.edu>
9656
9657 * real.c (do_add): Fix 0+0 sign corner case.
9658 (do_divide): Fix Inf/0 corner case.
9659
1194ca05
JH
9660Sun Oct 20 00:31:31 CEST 2002 Jan Hubicka <jh@suse.cz>
9661
9662 * i386.c (classify_argument): Pass MMX arguments in memory
9663 (ix86_expand_builtin): Expand proper address mode for cflush.
9664 * i386.md (movdqa): Fix typo.
9665 (sse2_cflush): Accept DImode addresses.
9666
9667 * xmmintrin.h (_mm_sqrt_sd): Accept two arguments.
9668 (_mm_max_sd): Fix pasto.
9669 (_mm_storeh_pd, _mm_storel_pd): Fix.
9670
9671 * i386.c (bdesc_comi): Fix to match specification.
9672 (ix86_expand_sse_comi): Emit the comparison properly.
9673 * i386.md (sse_comi, sse2_comi, sse_ucomi, sse2_ucomi):
9674 Do not use comparison operator.
9675 (vnmaskcmp): Fix template.
9676
9677 * xmmintrin.h (_mm_cvtps_pi16): Fix.
9678
3df5d99e
SP
96792002-10-19 Sebastian Pop <s.pop@laposte.net>
9680
9681 * dependence.c : Removed.
8bcefb43 9682 * Makefile.in : Remove dependence.o.
3df5d99e 9683
822eda12
JH
9684Sat Oct 19 10:46:52 CEST 2002 Jan Hubicka <jh@suse.cz>
9685
9686 * mmintrin.h (__m64): typedef it to v2si.
9687 (_mm_cvtsi32_si64, _mm_cvtsi32_si64_mm_sll_pi16,
9688 _mm_sll_pi32, _mm_sll_pi64, _mm_slli_pi64, _mm_sra_pi16,
9689 _mm_sra_pi32, _mm_srl_pi16, _mm_srl_pi32, _mm_srl_pi64,
9690 _mm_srli_pi64, _mm_and_si64, _mm_andnot_si64,
9691 _mm_or_si64, _mm_xor_si64): Add neccesary casts.
9692 * xmmintrin.h (_mm_setzero_si64): Likewise.
9693
9694 * i386.h (ALIGN_MODE_128): Update comment; add missing modes
9695 (SSE_REG_MODE_P, MMX_REG_MODE_P): New macros.
9696
9697 PR target/7693
9698 Patch by Shawn Wagner
9699 * mmintrin.h: Replace pi64 by si64.
9700
914a7297
DE
97012002-10-18 David Edelsohn <edelsohn@gnu.org>
9702
9703 * rs6000.md (movdf_hardfloat32): Order alternatives consistently.
9704 Use length of 4 not *.
9705 (movdf_hardfloat64): Same. Support DFmode moves to/from CTR/LR.
9706 (movdf_softfloat64): Likewise.
9707 (movdi_internal32): Use length of 4 not *.
9708 (movti_power): Same.
9709 (ctrsi, ctrdi): Same.
9710
4a7510cb
ZW
97112002-10-18 Zack Weinberg <zack@codesourcery.com>
9712
9713 * c-decl.c (start_decl): Point users of the old initialized-
9714 typedef extension at __typeof__.
9715
99c57613
RH
97162002-10-18 Richard Henderson <rth@redhat.com>
9717
9718 * real.c (cmp_significand_0, rtd_divmod, ten_to_mptwo): New.
9719 (real_to_decimal): Re-implement using the logic from the
9720 gcc 3.2 etoasc. Comment heavily.
9721 (div_significands): Simplify loop startup and comparison logic.
9722
483ab821
MM
97232002-10-18 Mark Mitchell <mark@codesourcery.com>
9724
9725 * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Default to NULL.
9726 (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Likewise.
9727 (TARGET_ASM_OUT): Add them.
9728 * target.h (asm_out): Add output_mi_thunk and
9729 output_mi_vcall_thunk.
9730 * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Rename to ...
9731 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
9732 * config/arm/arm-protos.h (arm_output_mi_thunk): Declare.
9733 * config/arm/arm.c (arm_output_mi_thunk): Define.
9734 * config/arm/arm.h (ASM_OUTPUT_MI_THUNK): Rename to ...
9735 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
9736 * config/cris/cris.h (ASM_OUTPUT_MI_THUNK): Rename to ...
9737 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
9738 * config/frv/frv.h (ASM_OUTPUT_MI_THUNK): Rename to ...
9739 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
9740 * config/i386/i386-protos.h (x86_output_mi_thunk): Adjust
9741 prototype.
9742 (x86_output_mi_vcall_thunk): Declare.
9743 * config/i386/i386.c (override_options): Clear
9744 output_mi_vcall_thunk in 64-bit mode.
9745 (ix86_fntype_regparm): New function.
9746 (ix86_return_pops_args): Use it.
9747 (ia32_this_parameter): New function.
9748 (x86_output_mi_vcall_thunk): New function.
9749 (x86_output_mi_thunk): Use it
9750 * config/i386/unix.h (TARGET_ASM_OUTPUT_MI_THUNK): Adjust.
9751 (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define.
9752 * config/i960/i960-protos.h (i960_output_mi_thunk): Declare.
9753 * config/i960/i960.c (i960_output_mi_thunk): New function.
9754 * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Adjust.
9755 * config/ia64/ia64-protos.h (ia64_output_mi_thunk): Declare.
9756 * config/ia64/ia64.c (ia64_output_mi_thunk): Define.
9757 * config/ia64/ia64.h (ASM_OUTPUT_MI_THUNK): Rename to ...
9758 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
9759 * config/m68k/m68k-protos.h (m68k_output_mi_thunk): New function.
9760 * config/m68k/linux.h (ASM_OUTPUT_MI_THUNK): Rename to ...
9761 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
9762 * config/m68k/netbsd-elf.h (ASM_OUTPUT_MI_THUNK): Rename to ...
9763 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
9764 * config/mmix/mmix.h (ASM_OUTPUT_MI_THUNK): Rename to ...
9765 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
9766 * config/pa/pa.h (ASM_OUTPUT_MI_THUNK): Rename to ...
9767 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
9768 * config/rs6000/sysv4.h (ASM_OUTPUT_MI_THUNK): Rename to ...
9769 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
9770 * config/s390/s390-protos.h (s390_output_mi_thunk): Declare.
9771 * config/s390/s390.c (s390_output_mi_thunk): Define.
9772 * config/s390/s390.h (ASM_OUTPUT_MI_THUNK): Rename to ...
9773 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
9774 * config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Rename to ...
9775 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
9776 * config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Rename to ...
9777 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
9778 * config/vax/vax-protos.h (vax_output_mi_thunk): Declare.
9779 * config/vax/vax.c (vax_output_mi_thunk): Define.
9780 * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Rename to ...
9781 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
9782 * doc/tm.texi: Adjust documentation.
4a7510cb 9783
90e021a0
JT
97842002-10-18 Jason Thorpe <thorpej@wasabisystems.com>
9785
4a7510cb
ZW
9786 * config/netbsd.h (NETBSD_ENABLE_EXECUTE_STACK): Define
9787 __enable_execute_stack function.
90e021a0
JT
9788 * config/alpha/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Define
9789 as NETBSD_ENABLE_EXECUTE_STACK.
9790 * config/i386/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
9791 * config/i386/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
9792 * config/i386/netbsd64.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
9793 * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
9794 * config/sparc/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
9795
5791cc29
JT
97962002-10-18 Jason Thorpe <thorpej@wasabisystems.com>
9797
9798 * config/i386/i386.c (x86_initialize_trampoline): Emit a call
9799 to __enable_execute_stack with the address of the trampoline
9800 if TRANSFER_FROM_TRAMPOLINE is defined.
9801 * config/i386/i386.h (TARGET_64BIT): Expand to a compile-time
9802 constant if building libgcc2.
9803
4977bab6
ZW
9804Thu Oct 17 17:40:05 CEST 2002 Jan Hubicka <jh@suse.cz>
9805
9806 * i386.c (pentium4_cost): Fix according to Intel recommendations.
9807 (ix86_memory_move_cost): Fix for 64bit compilation.
9808
7b35bba3
RS
98092002-10-17 Roger Sayle <roger@eyesopen.com>
9810
9811 * doc/c-tree.texi: Update description of COND_EXPR tree nodes.
9812
b991a865
GK
98132002-10-17 Geoffrey Keating <geoffk@apple.com>
9814
9815 * config/rs6000/rs6000.h (HARD_REGNO_MODE_OK): Allow arbitrary modes
9816 in CTR/LR/MQ.
9817 * config/rs6000/rs6000.md (movcc_internal1): Support CCmode moves
9818 to/from CTR/LR/MQ.
9819 (movsf_hardfloat): Support SFmode moves to/from CTR/LR/MQ.
9820 (movsf_softfloat): Likewise.
9821
fa870451
JJ
98222002-10-17 Janis Johnson <janis187@us.ibm.com>
9823
9824 * Makefile.in (site.exp): Add ALT_CXX_UNDER_TEST and COMPAT_OPTIONS.
9825
e31c2957
JT
98262002-10-17 Jason Thorpe <thorpej@wasabisystems.com>
9827
9828 * config/alpha/alpha.c (alpha_initialize_trampoline): Use
9829 tramp, not addr, to pass the trampoline address to
9830 __enable_execute_stack.
9831
48126a97
JH
9832Thu Oct 17 18:40:47 CEST 2002 Jan Hubicka <jh@suse.cz>
9833
9834 * mmintrin.h: Guard by __MMX__
9835 * xmmintrin.h: Guard by __SSE__
9836
9837 PR other/8062
9838 * xmmintrin.h (_MM_SHUFFLE2): New macro.
9839 (_mm_load*_?d): New functions.
9840 (_mm_set*_?d): New functions.
9841 (_mm_store*_?d): New functions.
9842
2ffa9932
JH
9843Wed Oct 16 15:01:29 CEST 2002 Jan Hubicka <jh@suse.cz>
9844
9845 Really commit patch announced at Oct 14
9846 PR c/7344
9847 * predict.c (can_predict_insn_p): New function.
9848 (estimate_probability): Avoid unnecesary work.
9849 (process_note_prediction): Likewise.
9850 * toplev.c (rest_of_compilation): Account early branch prediction pass
9851 as TV_BRANCH_PROB.
9852
ccc4bdea
JH
9853 PR other/8048
9854 Found by Ian Ollmann
9855 * xmmintrin.h (_mm_shuffle_pd): Fix typo.
9856 (_mm_load?_pd): Likewise.
9857 (_mm_store?_pd): Likewise.
9858
9859 PR target/7386
9860 * i386.c (builtin_description):Drop cmpg[te]s[sd].
9861 * xmmintrin.h (__mm_cmpg[te]_s[sd]): Rewrite using
9862 swapped alternative.
9863
9864 PR opt/7630
9865 * reload1.c (reload_inner_reg_of_subreg): New argument output;
9866 (push_reload): Update call.
9867
4db83639
RS
98682002-10-17 Richard Sandiford <rsandifo@redhat.com>
9869
9870 * config.gcc (mips*-*-*): Add OBJECT_FORMAT_ELF to $tm_defines
9871 if using mips/elf.h or mips/elf64.h.
9872 * config/mips/elf.h (OBJECT_FORMAT_ELF): Remove.
9873 * config/mips/elf64.h (OBJECT_FORMAT_ELF): Remove.
9874
f9dd72da
AH
98752002-10-16 Aldy Hernandez <aldyh@redhat.com>
9876
9877 * config/rs6000/rs6000.c (function_arg): Set inner mode of V1DI to
9878 SI.
9879
63a1ff86
UW
98802002-10-16 Ulrich Weigand <uweigand@de.ibm.com>
9881
9882 * config/s390/linux.h (ASM_DOUBLE, _ASM_OUTPUT_LONG): Remove.
9883 (LPREFIX): Likewise.
9884 (ASM_COMMENT_START, LOCAL_LABEL_PREFIX, ASM_FORMAT_PRIVATE_NAME,
9885 ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT,
9886 ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGNED_BSS,
9887 TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP,
9888 GLOBAL_ASM_OP, ASM_OUTPUT_MI_THUNK): Move to s390.h.
9889
4a7510cb
ZW
9890 * config/s390/s390.h (ASM_COMMENT_START, LOCAL_LABEL_PREFIX,
9891 ASM_FORMAT_PRIVATE_NAME, ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP,
9892 ASM_OUTPUT_ALIGNED_BSS, TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
63a1ff86
UW
9893 BSS_SECTION_ASM_OP): Move from linux.h.
9894 (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
9895 Also, use ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
9896
4a7510cb 9897 * config/s390/s390.c (s390_function_profiler): Use
63a1ff86
UW
9898 ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
9899
4977bab6
ZW
99002002-10-15 Eric Christopher <echristo@redhat.com>
9901
9902 * stor-layout.c (layout_type): Call GET_MODE_BITSIZE once.
9903 * java/parse.y (obtain_incomplete_type): Make pointer
9904 ptr_mode.
9905
da6eec72
RH
99062002-10-15 Richard Henderson <rth@redhat.com>
9907
9908 * real.c (real_to_decimal): Accept BUF_SIZE and CROP_TRAILING_ZEROS
9909 as arguments. Bound DIGITS by the available buffer size.
9910 (real_to_hexadecimal): Likewise.
9911 * real.h (real_to_decimal, real_to_hexadecimal): Update prototypes.
9912 (REAL_VALUE_TO_DECIMAL): Remove.
9913 * c-common.c, c-pretty-print.c, print-rtl.c, print-tree.c,
9914 sched-vis.c, config/arc/arc.c, config/c4x/c4x.c, config/fr30/fr30.c,
4a7510cb 9915 config/i370/i370.h, config/i386/i386.c, config/i960/i960.c,
da6eec72
RH
9916 config/ip2k/ip2k.c, config/m32r/m32r.c, config/m68hc11/m68hc11.c,
9917 config/m68k/hp320.h, config/m68k/m68k.h, config/m68k/sun2o4.h,
4a7510cb 9918 config/m68k/sun3.h, config/mips/mips.c, config/ns32k/ns32k.c,
da6eec72
RH
9919 config/pdp11/pdp11.h, config/vax/vax.h: Update all callers to
9920 use real_to_decimal directly, and with the proper arguments.
9921 * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Remove.
9922
c15c18c5
JW
99232002-10-15 Jim Wilson <wilson@redhat.com>
9924
9925 * reload1.c (merge_assigned_reloads): After converting overlapping
9926 reloads to RELOAD_OTHER, abort if there are now conflicting reloads.
9927
9928 * config/i386/i386.md (adddi3_1): Add call to ix86_binary_operator_ok.
9929
74f6d071
JH
9930Tue Oct 15 22:08:35 CEST 2002 Jan Hubicka <jh@suse.cz>
9931
9932 * expr.c (do_tablejump): Fix typo in my previous commit.
9933
a2ee89d8
RS
99342002-10-15 Richard Sandiford <rsandifo@redhat.com>
9935
9936 * config/mips/vr.h (DRIVER_SELF_SPECS): Change %<mgp32 to %{<mgp32}.
9937
aee4e0db
UW
99382002-10-15 Ulrich Weigand <uweigand@de.ibm.com>
9939
9940 * config/s390/s390.c (s390_split_branches): Add return
9941 value. Add parameters TEMP_REG and TEMP_USED. Use unspec 104.
9942
9943 (find_base_register_in_addr): New function.
9944 (find_base_register_ref): New function.
9945 (replace_base_register_ref): New function.
9946
9947 (struct constant_pool): Add members pool_insn, insns, and anchor.
9948 Remove member last_insn.
9949 (s390_start_pool): Initialize them.
4a7510cb 9950 (s390_end_pool): Emit pool placeholder insn.
aee4e0db
UW
9951 (s390_add_pool_insn): New function.
9952 (s390_find_pool): Use insns bitmap instead of addresses.
9953 (s390_dump_pool): Replace placeholder insn. Emit anchor.
9954 Replace unspec 104 by local-pool-relative references.
9955 (s390_output_constant_pool): Output anchor label if required.
9956 (s390_output_symbolic_const): Handle unspec 104 and 105.
9957 (s390_add_pool): Remove, replace by ...
9958 (s390_add_constant, s390_find_constant): ... these new functions.
9959 (s390_add_anchor): New function.
9960
9961 (s390_chunkify_pool): Delete, replace by ...
4a7510cb 9962 (s390_chunkify_start, s390_chunkify_finish,
aee4e0db
UW
9963 s390_chunkify_cancel): ... these new functions.
9964 (s390_optimize_prolog): Add parameter TEMP_REGNO.
9965 Recompute register live data for special registers.
9966 (s390_fixup_clobbered_return_reg): New function.
9967 (s390_machine_dependent_reorg): Rewrite to use new
9968 s390_chunkify_... routines.
9969
9970 config/s390/s390.md ("reload_base"): Rename to ...
9971 ("reload_base_31"): ... this.
9972 ("reload_base_64"): New insn.
9973 ("reload_base2"): Remove.
9974 ("reload_anchor"): New insn.
9975 ("pool"): New insn.
9976
9977 s390.c (s390_pool_overflow): Remove.
9978 s390.h (s390_pool_overflow): Likewise.
9979 s390.md ("cjump", "icjump", "doloop_si"): Remove s390_pool_overflow.
9980
c034672a
R
9981Tue Oct 15 16:51:04 2002 J"orn Rennecke <joern.rennecke@superh.com>
9982
9983 * sh.md (movv8qi_i+2): Don't split if source is -1.
9984
b8db17af
JJ
99852002-10-15 Janis Johnson <janis187@us.ibm.com>
9986
9987 * doc/install.texi: Formatting changes for conformance to HTML 4.01.
9988
2d34c587
UW
99892002-10-15 Ulrich Weigand <uweigand@de.ibm.com>
9990
9991 PR opt/7409
9992 * loop.c (loop_regs_scan): Mark registers used for function
9993 argument passing as MAY_NOT_OPTIMIZE.
9994
4977bab6
ZW
9995Mon Oct 14 19:22:19 CEST 2002 Jan Hubicka <jh@suse.cz>
9996
9997 * gcov-io.h (gcov_info): Fix type.
9998 * profile.c (create_profiler): Fix type mismatch.
9999
1877be45
JH
10000Mon Oct 14 20:33:12 CEST 2002 Jan Hubicka <jh@suse.cz>
10001
10002 * i386.md (movv2di_internal): New pattern.
10003 (movv2df_internal, movv8hi_internal, movv16qi_internal): Fix predicate.
10004 (movv2di): New expander.
10005 * i386.c (ix86_preferred_reload_class): Return NO_REGS for vector operands.
10006
10007 * i386.c (ix86_expand_timode_binop_builtin): Delete.
10008 (builtin_description): Add SSE1 logicals; rename SSE2 logicals.
10009 (ix86_init_mmx_sse_builtins): Kill SSE1 logicals.
10010 (ix86_expand_builtin): Likewise.
10011 * i386.h (sse_andti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
4a7510cb 10012 sse_andti3,
1877be45 10013 sse_andnti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
4a7510cb 10014 sse_andnti3,
1877be45 10015 sse_orti4_df_1, sse_orti3_df_2, sse_orti3_sf_1, sse_orti3_sf_2,
4a7510cb 10016 sse_orti3,
1877be45 10017 sse_xorti4_df_1, sse_xorti3_df_2, sse_xorti3_sf_1, sse_xorti3_sf_2,
4a7510cb 10018 sse_xorti3): Kill.
1877be45
JH
10019 (sse_andv4sf3, sse_andnv4sf3, sse_orv2df3, sse_xorv2df3, sse_andv2df3,
10020 sse_andnv2df3, sse_orv2df3, sse_xorv2df3): New expanders.
10021 (*sse_andv4sf3, *sse_andnv2df3, *sse_orv4sf3, *sse_xorv4sf3, *sse_andv2df3,
10022 *sse_andnv2df3, *sse_orv2df3, *sse_xorv2df3): New patterns.
10023 (*sse_andsf3, *sse_andndf3, *sse_ordf3, *sse_xordf3, *sse_anddf3,
10024 *sse_andndf3, *sse_orv2df3, *sse_xorv2df3): New patterns.
10025
10026 * xmmintrin.h (__m128i): Define as __v2di.
10027
1877be45
JH
10028 PR c++/6419
10029 (expand_expr): Use DECL_RTL_SET_P.
10030
dbf4f1a2
RS
100312002-10-14 Roger Sayle <roger@eyesopen.com>
10032
10033 * combine.c (simplify_set): Treat MODE_CC registers like cc0.
10034
4f770e7b
RS
100352002-10-14 Roger Sayle <roger@eyesopen.com>
10036 Zack Weinberg <zack@codesourcery.com>
10037
10038 * config/i386/i386.c (k6_cost): Correct typo.
10039
a3b88570
MM
100402002-10-14 Mark Mitchell <mark@codesourcery.com>
10041
10042 PR optimization/6631
10043 * alias.c (objects_must_conflict_p): Check honor_readonly when
10044 examining TYPE_READONLY.
10045 * function.c (assign_stack_temp_for_type): Likewise.
10046
f5204e6c
FH
100472002-10-14 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
10048
10049 * config/alpha/alpha.md (extendsidi2_nofix, extendsidi2_fix):
10050 Swap zero extension arguments.
10051 (umaxhi3): Fix instruction class.
10052 PR target/7211
10053 (prefetch): Fix prefetch instructions.
10054 PR target/7238
10055 (pkwb): Fix output constraint.
10056
40e6bc7e
AO
100572002-10-14 Alexandre Oliva <aoliva@redhat.com>
10058
10059 * config/mips/mips.c (print_operand): Increase buffer size for
10060 real numbers.
10061
f4e3e618
RH
100622002-10-14 Richard Henderson <rth@redhat.com>
10063
10064 PR opt/8165
10065 * gcse.c (adjust_libcall_notes): Revert last change.
10066 * simplify-rtx.c (simplify_replace_rtx): Handle LO_SUM.
10067
3eb429b2
AH
100682002-10-14 Andrew Haley <aph@redhat.com>
10069
10070 * tree-inline.c (remap_block): All local class initialization
10071 flags go in the outermost scope.
10072 (expand_call_inline): Call java_inlining_map_static_initializers.
10073 (expand_call_inline): Call java_inlining_merge_static_initializers.
10074 * java/lang.c (merge_init_test_initialization): New.
10075 (java_inlining_merge_static_initializers): New.
10076 (inline_init_test_initialization): New.
10077 (java_inlining_map_static_initializers): New.
10078
10079 * tree-inline.c (expand_call_inline): Convert retvar to expected
10080 type.
10081
34146b94
GS
100822002-10-14 Graham Stott <graham.stott@btinternet.com>
10083
10084 * stmt.c (decl_conflicts_with_clobbers_p): Add REG_P check.
10085
3a840c93
AH
100862002-10-14 Aldy Hernandez <aldyh@redhat.com>
10087
10088 * stmt.c: Fix typo in comment.
10089
7457a126
R
10090Mon Oct 14 11:35:49 2002 J"orn Rennecke <joern.rennecke@superh.com>
10091
10092 * c-common.c (c_common_type_for_mode): Add V2HImode case.
10093 * tree.c (build_common_tree_nodes_2): Initialize
10094 unsigned_V2HI_type_node and V2HI_type_node.
10095 * tree.h (enum tree_index): Add TI_UV2HI_TYPE and TI_V2HI_TYPE.
10096 (unsigned_V2HI_type_node, V2HI_type_node): Define.
10097
0d1c5774
JJ
100982002-10-14 Jakub Jelinek <jakub@redhat.com>
10099
10100 * config/i386/i386.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP):
10101 Handle TARGET_64BIT.
10102
adadd183
RS
101032002-10-14 Richard Sandiford <rsandifo@redhat.com>
10104
10105 * config/mips/vr.h (DRIVER_SELF_SPECS): Define.
10106 * config/mips/t-vr (MULTILIB_OPTIONS): Remove mlong32.
10107 (MULTILIB_DIRNAMES): Remove long32.
10108 (MULTILIB_EXCEPTIONS): Don't build -mabi=32 -mgp32 multilibs.
10109 (MULTILIB_REDUNDANT_DIRS): Remove.
10110
db36994b
RS
101112002-10-14 Richard Sandiford <rsandifo@redhat.com>
10112
10113 * doc/tm.texi (DRIVER_SELF_SPECS): Document.
10114 * gcc.c (driver_self_specs): New variable.
10115 (do_self_spec): New function.
10116 (main): Use it to process driver_self_specs.
10117
11e5489b
RH
101182002-10-13 Richard Henderson <rth@redhat.com>
10119
4977bab6
ZW
10120 * config/i386/i386.c (ix86_function_ok_for_sibcall): Reject
10121 indirect sibcalls when regparm >= 3.
10122
10123 * config/i386/i386.c (sibcall_insn_operand): New.
10124 * config/i386/i386.h (PREDICATE_CODES): Update.
10125 * config/i386/i386-protos.h: Update.
10126 * config/i386/i386.md (sibcall_1, sibcall_value_1): Use it.
10127
11e5489b
RH
10128 * rtl.c (shallow_copy_rtx): Use memcpy for the entire node.
10129
4977bab6
ZW
101302002-10-12 Roger Sayle <roger@eyesopen.com>
10131
10132 * simplify-rtx.c (simplify_binary_operation) [ASHIFTRT]: Optimize
10133 arithmetic right shifts of ~0 during RTL simplifications.
10134
4ca1256f
NB
101352002-10-12 Neil Booth <neil@daikokuya.co.uk>
10136
10137 PR preprocessor/7862
10138 PR preprocessor/8190
10139 * gcc.c (cpp_unique_options): Don't delete .d files.
10140 Remove stray whitespace.
10141
cf860dc2
NS
101422002-10-12 Naohiko Shimizu <pshimizu@fa2.so-net.ne.jp>
10143
10144 * pdp11.h (ASM_OUTPUT_SKIP): Add preceding 0 for octal constant.
10145 (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
10146 * pdp11.c (pdp11_output_function_prologue): 0%o -> %#o.
10147 (pdp11_output_function_epilogue, output_ascii): Likewise.
10148 (output_addr_const_pdp11): Likewise.
10149 * pdp11.md (movdi): Use offsetable memory for floating store.
10150 (lshrsi3, negsi2): Delete irrelevant comment.
10151
4977bab6
ZW
101522002-10-11 Andreas Bauer <baueran@in.tum.de>
10153
10154 * config/i386/i386.c (ix86_function_ok_for_sibcall): Allow
10155 indirect calls to be sibcall optimized.
10156 * config/i386/i386.md (sibcall_1): New.
10157 (call_1): Add no-sibcalls condition.
10158 (sibcall_value_1): New.
10159 (call_value_1): Add no-sibcalls condition.
10160
101612002-10-11 Eric Christopher <echristo@redhat.com>
10162
10163 * output.h (default_valid_pointer_mode): Declare.
10164 * varasm.c (default_valid_pointer_mode): Define.
10165 * target-def.h (TARGET_VALID_POINTER_MODE): Use.
10166 * target.h: Ditto.
10167 * tree.c (build_pointer_type_for_mode): New function.
10168 (build_pointer_type): Use.
10169 (build_reference_type_for_mode): New function.
10170 (build_reference_type): Use.
10171 * tree.h: Declare new functions.
10172 * c-common.c (handle_mode_attribute): Use new functions, check
10173 for type.
10174 * stor-layout.c (layout_type): Depend on machine mode for
10175 REFERENCE_TYPE and POINTER_TYPE.
10176 * dwarf2out.c (simple_type_size_in_bits): Move upward in file.
10177 (modified_type_die): Use instead of PTR_SIZE for POINTER_TYPE
10178 and REFERENCE_TYPE.
10179 * config/mips/mips.c (mips_valid_pointer_mode): New function.
10180 (TARGET_VALID_POINTER_MODE): Use and define.
10181 * config/mips/mips-protos.h (mips_valid_pointer_mode): Declare.
10182
5dd78e9a
GK
101832002-10-11 Geoffrey Keating <geoffk@apple.com>
10184
10185 * cse.c (mention_regs): Set SUBREG_TICKED to the register number,
10186 not the address of the REG.
10187 (struct cse_reg_info): Make subreg_ticked unsigned.
10188
8eb32f94
JJ
101892002-10-11 Janis Johnson <janis187@us.ibm.com>
10190
10191 * doc/compat.texi: Add info about C++ libraries.
10192
e197b6fc
RH
101932002-10-11 Richard Henderson <rth@redhat.com>
10194
10195 PR opt/8165
10196 * gcse.c (adjust_libcall_notes): Also adjust notes for INSN.
10197
a0bed689
JDA
101982002-10-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
10199
10200 * cfganal.c (dfs_enumerate_from): Use PARAMS.
10201 * genautomata.c (output_insn_code_cases): Likewise.
10202 * real.c (real_format): Likewise.
10203 * tree.c (tree_size): Revise expressions using TREE_CODE_LENGTH to
10204 ensure value is promoted before doing subtraction.
10205
db655634
JH
10206Fri Oct 11 22:22:38 CEST 2002 Jan Hubicka <jh@suse.cz>
10207
10208 * calls.c (expand_call): Simplify noreturn call.
10209
10210 PR c/7344
10211 * cfgbuild.c (make_edges): Create edge cache when we do have
10212 large jumptable.
1877be45 10213 * expr.c (do_tablejump): Note size of maximal jumptable.
db655634
JH
10214 * function.c (prepare_function_start): Zero out size.
10215 * function.h (function): Add max_jumptable_ents.
10216
10217 * cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
10218
750afc12
R
10219Fri Oct 11 12:34:33 2002 J"orn Rennecke <joern.rennecke@superh.com>
10220
10221 * sh.md (movv8qi_i+2): For V8QI destinations, generate V4HI
10222 register for mperm_w operation.
10223
0488fa7c
JR
10224Fri Oct 11 10:56:17 2002 J"orn Rennecke <joern.rennecke@superh.com>
10225
10226 * emit-rtl.c (gen_lowpart_common): When asked to make a vector from
10227 an integer, use simplify_gen_subreg.
10228
4977bab6
ZW
102292002-10-10 Diego Novillo <dnovillo@redhat.com>
10230
10231 * calls.c (flags_from_decl_or_type): Make extern.
10232 (ECF_*): Move ...
10233 * rtl.h (ECF_*): ... here.
10234 (flags_from_decl_or_type): Declare.
10235
102362002-10-10 Roger Sayle <roger@eyesopen.com>
10237 Nathan Sidwell <nathan@codesourcery.com>
10238
10239 * fold-const.c (fold) [RSHIFT_EXPR]: Optimize arithmetic right
10240 shifts of the form -1 >> x.
10241
10242Thu Oct 10 16:52:55 CEST 2002 Jan Hubicka <jh@suse.cz>
10243
10244 * cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
10245
349e9f4b
AH
102462002-10-10 Aldy Hernandez <aldyh@redhat.com>
10247
10248 * extend.texi (Vector Extensions): Remove comment about single
10249 element vectors.
10250
7bdfd72e
KG
102512002-10-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10252
10253 * fold-const.c (size_htab_hash): Use htab_hash_pointer.
10254 * function.c (insns_for_mem_hash): Likewise.
10255 * varasm.c (STRHASH): Likewise.
10256
46081bb3
SH
102572002-10-10 Stuart Hastings <stuart@apple.com>
10258
10259 * cse.c (struct cse_reg_info): Add subreg_ticked.
10260 (SUBREG_TICKED): New.
10261 (get_cse_reg_info): Initialize SUBREG_TICKED.
10262 (mention_regs): Use it.
10263 (invalidate): Set SUBREG_TICKED.
10264 (invalidate_for_call): Likewise.
10265 (addr_affects_sp_p): Likewise.
10266
9785f1d9
JJ
102672002-10-10 Jakub Jelinek <jakub@redhat.com>
10268
10269 * config/i386/i386.md (tls_local_dynamic_base): Put pic reg
10270 into proper operand.
10271
b6878188
DC
102722002-10-10 Denis Chertykov <denisc@overta.ru>
10273
10274 * config/ip2k/ip2k.c (function_epilogue): Optimize stack
10275 deallocation.
10276 * config/ip2k/libgcc.S: Combine routines used by function
10277 epilogue.
10278
f930bfd0
JW
102792002-10-10 Jim Wilson <wilson@redhat.com>
10280
10281 * cse.c (fold_rtx): Don't perform associative optimization for DIV and
10282 UDIV.
10283
5f5d5417
DE
102842002-10-10 David Edelsohn <edelsohn@gnu.org>
10285
10286 * config/rs6000/aix52.h: New file.
10287 * config/rs6000/t-aix52: New File.
10288 * config.gcc (rs6000-ibm-aix5.1.*): New entry.
10289 (rs6000-ibm-aix[56789].*): Default to AIX 5.2.
10290
7eafc329
JH
10291Thu Oct 10 19:37:54 CEST 2002 Jan Hubicka <jh@suse.cz>
10292
10293 PR target/5610
10294 * invoke.texi (-msse-math): Kill
10295 (-msse): Add note to mfpmath=sse.
10296
b105d6da
JH
10297Thu Oct 10 17:08:30 CEST 2002 Jan Hubicka <jh@suse.cz>
10298
10299 PR target/7723
10300 * i386.c (ix86_expand_vector_move): Do not generate const0->mem moves.
10301
5febdf0d
NB
103022002-10-10 Neil Booth <neil@daikokuya.co.uk>
10303
10304 PR preprocessor/8179
10305 * gcc.c (cpp_options): Add {ansi}, move %{m*} to same location
10306 as cc1_options.
10307 (default_compilers): Pass debug options when preprocessing
10308 stdin.
10309
7db40b5f
RH
103102002-10-06 Richard Henderson <rth@redhat.com>
10311
10312 * toplev.c (rest_of_compilation): Revert opt/2960 change.
10313
4977bab6
ZW
10314Wed Oct 9 21:18:43 CEST 2002 Jan Hubicka <jh@suse.cz>
10315
10316 * i386.c (*_cost): Add branch costs.
10317 (override_options): set ix86_branch_cost.
10318 (ix86_expand_int_movcc): Use BRANCH_COST.
10319 * i386.h (costs): Add branch_cost.
10320
95f79357
ZW
103212002-10-09 Zack Weinberg <zack@codesourcery.com>
10322
10323 PR c/7353
10324 * c-decl.c (start_decl): Unconditionally issue error for
10325 'typedef foo = bar'.
10326 (finish_decl): Remove special case for TYPE_DECL with initializer.
10327
10328 * doc/extend.texi: Delete "Naming Types" section. Change all
10329 cross-references to that section to refer to "Typeof" instead.
10330 Add the useful safe-max()-macro example from "Naming Types" to
10331 "Typeof", rewritten using that extension. Add some compatibility
10332 notes to "Typeof."
10333
44a5565d
KG
103342002-10-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10335
10336 * loop.c: Revert 2002-08-15 change.
10337 (LOOP_REGNO_NREGS): Ensure type is int.
10338
a2419b96
DE
103392002-10-09 David Edelsohn <edelsohn@gnu.org>
10340
10341 * config/rs6000/rs6000.md (extenddftf2): Change to define_insn
10342 which copies first FPR and clears second.
10343 (extendsftf2): Same.
10344 (floatditf2): Fix typo.
10345 (floatsitf2): Same.
10346 (fix_trunctfdi2): Same.
10347 (fix_trunctfsi2): Same.
10348
fb7e6024
KG
103492002-10-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10350
10351 * conflict.c (arc_hash): Change return type to hashval_t.
10352 * cselib.c (get_value_hash): Likewise.
10353 * genautomata.c (automaton_decl_hash, insn_decl_hash, decl_hash,
10354 state_hash, automata_list_hash): Likewise.
10355 * read-rtl.c (def_hash): Likewise.
10356 * tree.c (type_hash_hash): Likewise.
10357
36f7e964
AH
103582002-10-08 Aldy Hernandez <aldyh@redhat.com>
10359
10360 * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Call
10361 prologue_epilogue_contains instead of using REG_MAYBE_DEAD notes.
10362
e3c62520
R
10363Wed Oct 9 15:54:49 2002 J"orn Rennecke <joern.rennecke@superh.com>
10364
10365 * sh.md (ffssi2): Fix emitted code.
10366
a3745024
UW
103672002-10-09 Ulrich Weigand <uweigand@de.ibm.com>
10368
10369 * cse.c (insn_live_p): Pass insn pattern, not full insn
10370 to may_trap_p.
10371
5cc67323
NB
103722002-10-09 Neil Booth <neil@daikokuya.co.uk>
10373
10374 * cppmacro.c (paste_tokens): Only allow / to paste with =.
10375
f5264b52
DE
103762002-10-09 David Edelsohn <edelsohn@gnu.org>
10377
10378 * config/rs6000/rs6000.md (movdf splitter): Use gen_int_mode on
10379 64-bit hosts.
10380 (movtf_internal): Reference correct displacement for second value
10381 in memory.
10382 (movtf splitter): Correct generation of constants in 64-bit mode.
10383
cef1c1ba
AM
103842002-10-09 Alan Modra <amodra@bigpond.net.au>
10385
10386 * libgcc2.c (__floatdisf): Properly cure double rounding.
10387
8d15eebc
GDR
103882002-10-09 Gabriel Dos Reis <gdr@integrable-solutions.net>
10389
10390 * c-common.c (cb_register_builtins): Define __WCHAR_MAX__.
10391 * doc/cpp.texi (Common Predefined Macros): Document.
10392
87ec8de9
GDR
103932002-10-09 Gabriel Dos Reis <gdr@integrable-solutions.net>
10394
10395 PR doc/7484
10396 * doc/invoke.texi (Option Summary): List
10397 -Wmissing-declarations as a C only option.
10398
4977bab6
ZW
103992002-10-08 Roger Sayle <roger@eyesopen.com>
10400
10401 * fold-const.c (fold) [LROTATE_EXPR, RROTATE_EXPR]: Optimize
10402 left and right rotates of ~0, i.e. integer_all_onesp (arg0).
10403 [LSHIFT_EXPR, RSHIFT_EXPR]: Optimize shifts and rotates of zero.
10404
10405Tue Oct 8 01:24:19 CEST 2002 Jan Hubicka <jh@suse.cz>
10406
10407 * i386.c (x86_sse_partial_reg_dependency, x86_sse_partial_regs,
10408 x86_sse_typeless_stores, x86_sse_load0_by_pxor): New global
10409 variables.
10410 (safe_vector_operand): Update sse_clrv4sf call.
10411 (ix86_expand_buildin): Likewise
10412 * i386.h (x86_sse_partial_reg_dependency, x86_sse_partial_regs,
10413 x86_sse_typeless_stores, x86_sse_load0_by_pxor): Declare.
10414 (TARGET_SSE_PARTIAL_REG_DEPENDENCY, TARGET_SSE_PARTIAL_REGS,
10415 TARGET_SSE_TYPELESS_STORES, TARGET_SSE_TYPELESS_LOAD0): New
10416 macros.
10417 * i386.md (movsf*, movdf*, movti, movv4sf, movv2df, movv16qi, movv8hi,
10418 movv4si): Obey the new flags.
10419 (floatsi2sf, floatdi2sf, truncatedf2sf): Emit extra load of 0 to avoid
10420 reformating penalty.
10421 (anddf, cmov patterns): Avoid reformating by first converting.
10422 (sse_cvtsd2ss): Fix predicate.
10423 (sse2_clrti): Fix mode,
10424 (sse_clrv4sf): Avoid unspec.
10425
fb7d9c35
JJ
104262002-10-08 Jakub Jelinek <jakub@redhat.com>
10427
10428 * config/sparc/t-linux64 (MULTILIB_OPTIONS): Remove
10429 mno-app-regs|mcmodel=medany.
10430 (MULTILIB_DIRNAMES, MULTILIB_OSDIRNAMES): Remove alt.
10431 (MULTILIB_EXCEPTIONS, MULTILIB_EXCLUSIONS, MULTILIB_MATCHES): Remove.
10432 (CRTSTUFF_T_CFLAGS): Define.
10433
11f3e4c7
RS
104342002-10-08 Roger Sayle <roger@eyesopen.com>
10435
10436 PR target/8087
10437 * simplify-rtx.c (avoid_constant_pool_reference): Allow constant
10438 pool references that are constructed using LO_SUM.
10439
bf52f899
NS
104402002-10-08 Nathan Sidwell <nathan@codesourcery.com>
10441
10442 * c-opts.c (c_common_decode_option): Add warn_strict_aliasing to
10443 -Wall.
10444 * c-typeck.c (build_c_cast): Use warn_strict_aliasing, tweak
10445 message.
10446 * flags.h (warn_strict_aliasing): Declare.
10447 * toplev.c (warn_strict_aliasing): Define.
10448 (lang_independent_options): Add it.
10449 * doc/invoke.texi (-Wstrict-aliasing): Document it.
10450
36624850
ZW
104512002-10-08 Zack Weinberg <zack@codesourcery.com>
10452
10453 * system.h (GCCBUGURL): Delete.
10454 * version.c (bug_report_url): New. Add commentary about
10455 modifying both these strings in modified distributions.
10456 * version.h: Declare bug_report_url.
10457
10458 * diagnostic.c, gcc.c, gcov.c: Globally replace GCCBUGURL with
10459 bug_report_url.
10460
218145d6
NC
104612002-10-08 Nick Clifton <nickc@redhat.com>
10462
10463 * config/rs6000/spe.h (__ev_set_acc_u64): Use __ev_create_u64 to
10464 convert uint64_t into __ev64_opaque__.
10465 (__ev_set_acc_s64): Likewise, but using signed types.
10466
bb02f6ed
UW
104672002-10-08 Ulrich Weigand <uweigand@de.ibm.com>
10468
10469 * config/s390/s390.md ("*doloop_si_long"): Add missing operand.
10470 ("*doloop_di_long"): Likewise.
10471
4fdbcfb2
JH
10472Tue Oct 8 16:50:10 CEST 2002 Jan Hubicka <jh@suse.cz>
10473
10474 * print-rtl.c (print_rtx): Increase buffer size for real numbers.
10475
e80f2609
RS
104762002-10-08 Richard Sandiford <rsandifo@redhat.com>
10477
10478 * config/mips/mips.md (define_attr cpu): Add r4111.
10479
36624850 104802002-10-08 Anthony Green <green@redhat.com>
4213a3b6 10481
36624850 10482 * bitmap.c (bitmap_equal_p): Clear all bitmap_head fields.
4213a3b6 10483
25009e02
MH
104842002-10-08 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
10485
10486 * config/c4x/c4x.c (c4x_print_operand): Enlarge buffer
10487 for REAL_VALUE_TO_DECIMAL output.
10488
4977bab6
ZW
104892002-10-07 Richard Henderson <rth@redhat.com>
10490
10491 * cse.c (fixed_base_plus_p): Turn FIXED_BASE_PLUS_P into a
10492 function; cleanup PLUS case by using recursion. Update all users.
10493 (NONZERO_BASE_PLUS_P): Remove.
10494 (find_comparison_args): Use rtx_addr_can_trap_p instead.
10495 (fold_rtx): Use nonzero_address_p.
10496 * rtl.h (nonzero_address_p): Declare.
10497 * rtlanal.c (rtx_varies_p): Handle ADDRESSOF.
10498 (rtx_addr_can_trap_p): Likewise.
10499 (nonzero_address_p): New.
10500 * simplify-rtx.c (NONZERO_BASE_PLUS_P): Remove.
10501 (simplify_relational_operation): Use nonzero_address_p.
10502
fcce224d
DE
105032002-10-07 David Edelsohn <edelsohn@gnu.org>
10504
10505 * config/rs6000/rs6000.c (rs6000_override_options): Set
10506 real_format_for_mode for IBM extended format, if enabled.
10507 (easy_fp_constant): Add TFmode.
10508 (rs6000_legitimize_address): Add TFmode.
10509 (rs6000_legitimate_address): Same.
10510 (function_arg_advance): TFmode uses two FPRs.
10511 (rs6000_emit_prologue): Fix warning.
10512 (rs6000_output_function_epilogue): Add TFmode.
10513 (output_toc): Add TFmode.
10514 * rs6000.h (SLOW_UNALIGNED_ACCESS): Add TFmode.
10515 (LEGITIMATE_OFFSET_ADDRESS_P): Add TFmode.
10516 * rs6000.md (movtf splitter): Load TFmode constant.
10517
dad482e6 105182002-10-07 Dale Johannesen <dalej@apple.com>
fcce224d 10519
dad482e6
DJ
10520 * rtl.h: Add NOTE_PRECONDITIONED.
10521 * unroll.c: Set it.
10522 * loop.c: Set loop_info->preconditioned from it.
10523 * doloop.c: Permit doloop treatment when loop_info->preconditoned.
10524
de3beb7c
RH
105252002-10-07 Richard Henderson <rth@redhat.com>
10526
10527 * config/i960/i960.c (i960_setup_incoming_varargs): Create a
10528 new rtx for comparing the argument pointer against zero.
10529 (i960_va_start): Similarly.
10530
87cb2a87
RH
105312002-10-07 Richard Henderson <rth@redhat.com>
10532
10533 * config/i960/i960.md (*): Use TFmode, not XFmode.
10534 * config/i960/i960.c (*): Likewise.
10535 (i960_arg_size_and_align): Remove XFmode alignment hack.
10536 (i960_round_align): Merge code from ROUND_TYPE_ALIGN.
10537 * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Use 128, not 96.
10538 (MAX_LONG_DOUBLE_TYPE_SIZE): Likewise.
10539 (DATA_ALIGNMENT, ROUND_TYPE_SIZE): Remove.
10540
5ef38d2a
RH
105412002-10-07 Richard Henderson <rth@redhat.com>
10542
10543 * config/fp-bit.c (EXTENDED_FLOAT_STUBS): Flush out all XF/TFmode
10544 entry points; use void return value and argument list.
10545
4977bab6
ZW
105462002-10-06 Andreas Bauer <baueran@in.tum.de>
10547
10548 * calls.c (expand_call): Fix function-is-volatile check.
10549
e7f9979a
NS
105502002-10-05 Naohiko Shimizu <nshimizu@keyaki.cc.u-tokai.ac.jp>
10551
10552 * t-pdp11: Add MULTILIB support for msoft-float.
10553 * pdp11.h (LEGITIMATE_CONSTANT_P): Fix soft-float case.
10554
10555 * t-pdp11: Add LIB2FUNCS_EXTRA.
36624850 10556 * pdp11.c (pdp11_output_function_prologue): Restrict offset to 16bit,
e7f9979a
NS
10557 add preceding 0 to the octal constant, rename 'fp' to 'r5', rename
10558 'fldd' to 'ldd', rename 'fstd' to 'std'.
10559 (pdp11_output_function_epilogue): Likewise.
10560 (output_move_quad): Make the comment gas compatible.
10561 (output_ascii): Add preceding 0 to the octal constant.
10562 (print_operand_address): Add pre_modify, post_modify.
10563 (output_addr_const_pdp11): Add preceding 0 to the octal constant.
10564 * pdp11.h (GO_IF_LEGITIMATE_ADDRESS) : Add 'movb' pre_modify case
36624850 10565 with the indication of Paul Koning.
e7f9979a
NS
10566 (PRINT_OPERAND): Fix floating constant.
10567 * pdp11.md (movdi): Restrict matching pattern.
10568 (movqi): Generalize the matching pattern.
10569 (movdf): Restrict matching pattern.
10570 (zero_extendqihi2): Change constant representation.
10571 (floatsidf2): Fix wrong operands.
10572 (addqi3): Fix wrong instruction name.
10573 (subqi3): Fix wrong instruction name.
10574 (andsi3, andhi3, andqi3): Simplify and fix to use 'bic'.
10575 (xorsi3): Fix wrong insn.
10576 (one_cmplqi2): Add two operand pattern.
10577 (lsrsi3): New.
10578 (negsi2): New.
10579 (call): Add register indirect case.
10580 (mod): Fix wrong subreg.
10581
a9b6f1e7 105822002-10-06 Eric Botcazou <ebotcazou@libertysurf.fr>
36624850 10583 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
4ef7870a
EB
10584
10585 PR c/7411
10586 * expr.c (expand_expr) [PLUS]: Simplify after the operands
10587 have been expanded in EXPAND_NORMAL mode.
10588
a2900460
RH
105892002-10-06 Richard Henderson <rth@redhat.com>
10590
10591 * config/rs6000/rs6000.md (load_toc_v4_PIC_2): Fix base constraint.
10592
ff025ab9
RH
105932002-10-06 Richard Henderson <rth@redhat.com>
10594
10595 PR optimization/2960
10596 * toplev.c (rest_of_compilation): Don't copy_loop_headers if
10597 optimize_size.
10598
48b80d93
AO
105992002-10-06 Alexandre Oliva <aoliva@redhat.com>
10600
10601 * config/mips/mips.h (SIZE_TYPE, PTRDIFF_TYPE): Override
10602 previously definitions.
10603
7c7c549e
FCE
106042002-10-06 Frank Ch. Eigler <fche@redhat.com>
10605
10606 * cppinit.c (init_standard_includes, parse_option): Use strncmp.
10607 * c-opts.c (find_opt): Similarly.
10608
4977bab6
ZW
10609Sat Oct 5 22:48:06 CEST 2002 Jan Hubicka <jh@suse.cz>
10610
10611 * athlon.md: rewrite to DFA.
10612 * i386 (ix86_adjust_cost): Drop memory latency code.
10613 (ia32_use_dfa_pipeline_interface): Return true for Athlon.
10614
c49d2df6
JJ
106152002-10-05 Jakub Jelinek <jakub@redhat.com>
10616
10617 * gcc.c (set_multilib_dir): Don't access *end.
10618 Use memcpy instead of strncpy. Don't write beyond malloced buffer.
10619 (print_multilib_info): Don't show paths starting with ".:".
10620 * genmultilib: Add new option, "yes" if multilibs are enabled.
10621 Update comments. If multilibs not enabled, print .:${osdirout}
10622 for each directory. If multilibs are enabled, always print
10623 ${dirout}:${osdirout}, even if the two are the same.
10624 * Makefile.in (s-mlib): Pass @enable_multilib@ to genmultilib.
10625 Pass all MULTILIB_* variables to genmultilib even if
10626 --disable-multilib but MULTILIB_OSDIRNAMES is not empty.
10627
4977bab6
ZW
106282002-10-04 Zack Weinberg <zack@codesourcery.com>
10629
10630 * gcc.c (process_command): Set .validated for -pipe. Correct
10631 grammar in comment.
10632
d758c1db
BK
106332002-10-04 Bruce Korb <bkorb@gnu.org>
10634
10635 * fixinc/inclhack.def(hpux11_abs): use format fix
10636 * fixinc/fixincl.x: regenerate
10637 * fixinc/tests/base/stdlib.h: accommodate new fix test
10638
b3dc87c5
JH
10639Sat Oct 5 19:42:45 CEST 2002 Jan Hubicka <jh@suse.cz>
10640
10641 * c-common.c (cb_register_builtins): Use really_no_inline.
10642
f7a21c70
DE
106432002-10-04 David Edelsohn <edelsohn@gnu.org>
10644
10645 * unroll.c (copy_loop_body): Remove REG_EQUAL note attached to
10646 copied instruction if the note is not loop invariant.
10647
081d6fb9
LR
106482002-10-04 Loren J. Rittle <ljrittle@acm.org>
10649
10650 * gcc/ginclude/stddef.h: Support the FreeBSD 5 typedef system.
10651
c5d3d49b
SE
106522002-10-04 Steve Ellcey <sje@cup.hp.com>
10653
10654 * doc/invoke.texi (HPPA): Add -mlinker-opt, -mgnu-ld,
10655 and -mhp-ld options to list of options. Add -mgnu-ld
10656 and -mhp-ld option descriptions.
10657
0fca111b
SE
106582002-10-04 Steve Ellcey <sje@cup.hp.com>
10659
10660 * fixinc/inclhack.def (hpux11_abs): New.
10661 (stdio_va_list): change __va_list__ to __gnuc_va_list.
10662 * fixinc/fixincl.x: Rebuild.
10663
229b303a
RS
106642002-10-04 Roger Sayle <roger@eyesopen.com>
10665
10666 * config/i386/i386.h (processor_costs): Add new fields fadd,
10667 fmul, fdiv, fabs, fchs and fsqrt to costs structure.
10668 (RTX_COSTS): Use these fields to determine the RTX costs
10669 of floating point addition/subtraction, multiplication,
10670 division, fabs, negation and square root respectively.
10671 * config/i386/i386.c (size_cost): Provide instruction sizes
10672 for these new fields.
10673 (i386_cost, i486_cost, pentium_cost, pentiumpro_cost,
10674 k6_cost, athlon_cost, pentium4_cost): Provide typical cycle
10675 counts for these new fields for all x86 processor variants.
10676
481ed21a
KG
106772002-10-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10678
6017ba03
KG
10679 * mips.c (mips_const_double_ok): Delete unused variable.
10680
481ed21a
KG
10681 * gengtype.c (rtx_next): Change type to int.
10682
635f4680
AJ
106832002-10-04 Andreas Jaeger <aj@suse.de>
10684
10685 * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Fix value.
10686
ee6ff319
RH
106872002-10-04 Richard Henderson <rth@redhat.com>
10688
10689 * real.h (SIGNIFICAND_BITS): Add one more word.
10690 (CONST_DOUBLE_FORMAT): Accomodate 6 words.
10691 * real.c (times_pten): New.
10692 (real_to_decimal, real_from_string): Use it.
10693 (sticky_rshift_significand): Use & to find modulus.
10694 (rshift_significand, lshift_significand): Likewise.
10695 (do_divide): Apply sticky bit after normalization.
10696 (real_to_decimal, real_to_hexadecimal): Fix sign of Inf and NaN.
10697
4977bab6
ZW
106982002-10-03 Andreas Bauer <baueran@in.tum.de>
10699
10700 * doc/tm.texi (FUNCTION_OK_FOR_SIBCALL): Remove.
10701 (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
10702
6d8dd940
AJ
107032002-10-03 Andreas Jaeger <aj@suse.de>
10704
10705 * gengtype.c (adjust_field_rtx_def): Cast variables of type size_t
10706 to unsigned long, adjust printf format string.
10707 (output_mangled_typename): Likewise.
10708
191fe2bb
JT
107092002-10-03 Jason Thorpe <thorpej@wasabisystems.com>
10710
10711 * config/vax/vax.c (vax_output_function_prologue): Use asm_fprintf.
10712 * config/vax/vax.h (VAX_FUNCTION_PROFILER_NAME): New.
10713 (FUNCTION_PROFILER): Rewrite to use ASM_GENERATE_INTERNAL_LABEL,
10714 assemble_name, asm_fprintf, and VAX_FUNCTION_PROFILER_NAME.
10715 (ASM_OUTPUT_MI_THUNK): Use asm_fprintf instead of REGISTER_PREFIX.
10716 (PRINT_OPERAND_PUNCT_VALID_P): Fix comment.
10717 * config/vax/elf.h (FUNCTION_PROFILER): Remove.
10718 (VAX_FUNCTION_PROFILER_NAME): Redefine as "__mcount".
10719
6397d80b
MM
107202002-10-03 Mark Mitchell <mark@codesourcery.com>
10721
10722 * doc/invoke.texi (-Wabi): Document mangling bug.
10723
69c75916
AM
107242002-10-04 Alan Modra <amodra@bigpond.net.au>
10725
10726 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Use a
10727 name for the tbtab label that depends on the function asm name.
10728 Don't output tbtab label unless optional_tbtab.
10729 (output_mi_thunk): Formatting.
10730
adf2ac37
RH
107312002-10-03 Richard Henderson <rth@redhat.com>
10732
10733 * config/m68k/m68k.h (OVERRIDE_OPTIONS): Move additional code ...
10734 * config/m68k/m68k.c (override_options): ... here.
10735 * config/m68k/m68kelf.h (OVERRIDE_OPTIONS): Remove.
10736 * config/m68k/m68kv4.h (OVERRIDE_OPTIONS): Remove.
10737 * config/m68k/linux.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
10738 * config/m68k/netbsd-elf.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
10739
a7519393
RH
107402002-10-03 Richard Henderson <rth@redhat.com>
10741
10742 * real.h (struct real_value): Use ENUM_BITFIELD.
10743
41552736
RH
107442002-10-03 Richard Henderson <rth@redhat.com>
10745
10746 * config/i960/i960.md (call, call_value): Use emit_call_insn.
10747
882affa8
SE
107482002-10-03 Steve Ellcey <sje@cup.hp.com>
10749
10750 * config/pa/pa64-hpux.h (INIT_ENVIRONMENT): New.
10751
83eb95f9
SE
107522002-10-03 Steve Ellcey <sje@cup.hp.com>
10753
10754 * config.gcc (hppa*64*-*-hpux11*): Check gnu_ld.
10755 * config/pa/pa.h (MASK_GNU_LD): New.
10756 (TARGET_GNU_LD): New.
6d8dd940 10757 * config/pa/pa64-hpux.h (LINK_SPEC): Set based
83eb95f9
SE
10758 on gnu-ld and MASK_GNU_LD.
10759 (SUBTARGET_SWITCHES): New gnu-ld & hp-ld flags.
10760
b72b1c29
JH
10761Thu Oct 3 23:35:51 CEST 2002 Jan Hubicka <jh@suse.cz>
10762
10763 * i386.c (athlon_cost): Fix the move costs.
10764
92b7a2a5
JH
10765Thu Oct 3 23:20:58 CEST 2002 Jan Hubicka <jh@suse.cz>
10766
10767 * final.c (final): Use symbol name as function name for profiling.
10768 * profile.c (get_exec_counts): Likewise.
10769 (branch_prob): Likewise.
10770
429489e5
JJ
107712002-10-03 Jakub Jelinek <jakub@redhat.com>
10772
10773 * longlong.h (__udiv_qrnnd): Remove PARAMS from prototype.
10774
5bbcd587
JJ
107752002-10-03 Jakub Jelinek <jakub@redhat.com>
10776
10777 * gcc.c (print_multi_os_directory): New variable.
10778 (option_map): Support --print-multi-os-directory.
10779 (struct prefix_list): Add os_multilib field.
10780 (multilib_os_dir): New variable.
10781 (static_specs): Add multilib_options.
10782 (find_a_file): Add multilib argument. Search in GCC or OS multilib
272d0bee 10783 subdirs if nonzero.
5bbcd587
JJ
10784 (read_specs, execute): Update callers.
10785 (find_file): Likewise. Don't prefix name with multilib_dir, instead
10786 pass 1 as multilib option.
10787 (display_help): Include --print-multi-os-directory.
10788 (add_prefix): Add os_multilib argument. Initialize pl->os_multilib.
10789 (process_command): Update callers. Handle --print-multi-os-directory.
10790 (do_spec_1) ['D']: Use multilib_os_directory if pl->os_multilib is
10791 set.
10792 (main): Update find_a_file and add_prefix callers.
10793 Handle print_multi_os_directory.
10794 (struct mdswitchstr): New.
10795 (mdswitches, n_mdswitches): New variables.
10796 (used_arg): Add MULTILIB_DEFAULT switches too if they are not
10797 present on the command line nor their mutually incompatible
10798 switches.
10799 (default_arg): Optimize.
10800 (set_multilib_dir): Compute multilib_os_dir. Initialize mdswitches
10801 array.
10802 (print_multilib_info): Only print GCC multilib dir name, not OS
10803 multilib dirname.
10804 * genmultilib: Add osdirnames parameter. Output multilib_options
10805 variable. If osdirnames is specified, output dirnames as
10806 dirname:osdirname.
10807 * mklibgcc.in: Use MULTILIB_OSDIRNAMES, --print-multi-directory
10808 and --print-multi-os-directory instead of SHLIB_SLIBDIR_SUFFIXES
10809 to compute libgcc_s soname and install path.
10810 * Makefile.in (libgcc.mk): Pass MULTILIB_OSDIRNAMES instead of
10811 SHLIB_SLIBDIR_SUFFIXES to mklibgcc.
10812 (s_mlib): Pass MULTILIB_OSDIRNAMES or nothing as last genmultilib
10813 argument.
10814
10815 * config/sparc/t-linux64 (MULTILIB_OSDIRNAMES): Set.
10816 (SHLIB_SLIBDIR_SUFFIXES): Remove.
10817 * config/sparc/linux64.h (STARTFILE_SPEC32, STARTFILE_SPEC64,
10818 ENDFILE_SPEC32, ENDFILE_SPEC64, ENDFILE_COMMON): Remove.
10819 (STARTFILE_SPEC, ENDFILE_SPEC): Don't distinguish between -m32
10820 and -m64.
10821 * config/sparc/t-sol2-64 (MULTILIB_OSDIRNAMES): Set.
10822 (SHLIB_SLIBDIR_SUFFIXES): Remove.
10823 * config/sparc/sol2-bi.h (STARTFILE_ARCH64_SPEC): Remove.
10824 (STARTFILE_ARCH_SPEC): Remove.
10825 * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Set.
10826 (SHLIB_SLIBDIR_SUFFIXES): Remove.
10827 * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Remove.
10828 * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Set.
10829 (SHLIB_SLIBDIR_SUFFIXES): Remove.
10830
c07f146f
JH
10831Thu Oct 3 21:42:20 CEST 2002 Jan Hubicka <jh@suse.cz>
10832
10833 * predict.c (choose_function_section): Avoid choice for linkonce functions.
10834
4c9c9a3d
JH
10835Thu Oct 3 15:15:00 CEST 2002 Jan Hubicka <jh@suse.cz>
10836
10837 * i386.md (lea to mul peep2): Fix condition.
6d8dd940 10838
f50df1d5
JDA
108392002-10-02 John David Anglin <dave@hiauly1.hia.nrc.ca>
10840
10841 * pa-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete macro.
10842 * pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Define.
10843
4977bab6
ZW
108442002-10-02 David Mosberger-Tang <David.Mosberger@acm.org>
10845
10846 * unwind.h (_Unwind_GetTextRelBase): Mark _C argument with
10847 attribute "unused".
10848
10849 * config/t-libunwind: Mention unwind-sjlj.c.
10850 * unwind-libunwind.c: Change #ifdef __USING_LIBUNWIND_EXCEPTIONS__
10851 to #ifndef __USING_SJLJ_EXCEPTIONS__.
10852
10853 * configure.in: Move sjlj-exceptions and --enable-libunwind-exceptions
10854 before inclusion of config.gcc, but after configuring the compiler etc.
10855 Determine default value for --enable-libunwind-exceptions based on
10856 whether the host has a libunwind library (not guaranteed to be correct,
10857 but it's a reasonable first guess and can always be overridden with an
10858 explicit --enable/disable-libunwind-exceptions.
10859 * config.gcc: For target ia64*-*-linux*, mention t-libunwind as a
10860 tmake_file when $use_libunwind_exceptions is enabled.
10861 * Makefile.in: Update comment: LIB2ADDEH is updated not just by
10862 ia64 (e.g., config/t-linux also updates it).
10863 * gcc.c (init_spec) [USE_LIBUNWIND_EXCEPTIONS]: Mention -lunwind
10864 along with the shared version of libgcc since the latter requires
10865 the former.
10866 * unwind-libunwind.c: New file.
10867 * config/t-libunwind: Ditto.
10868
108692002-10-02 Nathanael Nerode <neroden@gcc.gnu.org>
10870
10871 * config.gcc: Remove support for vax-*-vms*.
10872 * config/vax/vms.h: Remove.
10873 * config/vax/xm-vms.h: Remove.
10874 * config/vax/vax-protos.h: Remove VMS-specific code.
10875 * config/vax/vax.c: Remove VMS-specific code.
10876
d631b80a
RH
108772002-10-02 Richard Henderson <rth@redhat.com>
10878
10879 PR opt/7124
10880 * config/i386/i386.c (ix86_register_move_cost): Increase cost
10881 for secondary_memory_needed pairs.
10882
854ef390
NN
108832002-10-02 Nathanael Nerode <neroden@gcc.gnu.org>
10884
10885 * doc/vms.texi: Blow away false include file section.
10886
f963b5d9
RS
108872002-10-02 Roger Sayle <roger@eyesopen.com>
10888
10889 PR optimization/6627
10890 * toplev.c (force_align_functions_log): New global variable.
10891 * flags.h (force_align_functions_log): Add extern prototype.
10892 * varasm.c (assemble_start_function): Use it to force minimum
10893 function alignment.
10894 * config/i386/i386.h (FUNCTION_BOUNDARY): Set the correct
10895 minimum function alignment to one byte.
10896 (TARGET_PTRMEMFUNC_VBIT_LOCATION): Store the virtual bit in
10897 the least significant bit of vtable member function pointers.
10898 * tree.h (enum ptrmemfunc_vbit_where_t): Move definition to
10899 here from cp/cp-tree.h.
10900
200bcf7e
JH
10901Wed Oct 2 17:01:36 CEST 2002 Jan Hubicka <jh@suse.cz>
10902
10903 * i386.c (print_operand_address): Use RIP addressing for offsetted
10904 label refs too.
10905
88d0be17
DM
109062002-09-30 David S. Miller <davem@redhat.com>
10907
10908 PR middle-end/7151
10909 * config/sparc/sparc.md (movdi_insn_sp32_v9): Accept 'e' regs.
10910 (movdi reg/reg split): Match only on sparc32, and v9 when int regs.
10911
4977bab6
ZW
109122002-10-01 Andreas Bauer <baueran@in.tum.de>
10913
10914 * calls.c (expand_call): Remove the `no indirect check'
10915 for sibcall optimization; use function_ok_for_sibcall
10916 target hook; refine check for `function is volatile'.
10917 (FUNCTION_OK_FOR_SIBCALL): Remove the redefinition.
10918 * hooks.c (hook_tree_tree_bool_false): New.
10919 * hooks.h (hook_tree_tree_bool_false): Declare.
10920 * target-def.h (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
10921 (TARGET_INITIALIZER): Add it.
10922 * target.h (struct gcc_target): Add function_ok_for_sibcall.
10923 * config/alpha/alpha.c: (alpha_function_ok_for_sibcall): New.
10924 (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
10925 * config/alpha/alpha.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
10926 * config/arm/arm-protos.h: (arm_function_ok_for_sibcall):
10927 Remove function declaration.
10928 * config/arm/arm.c: (arm_function_ok_for_sibcall): Make
10929 function static and accept another argument of type `tree'.
10930 (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
10931 * config/arm/arm.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
10932 * config/frv/frv.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
10933 * config/i386/i386.c: (ix86_function_ok_for_sibcall): New.
10934 (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
10935 * config/i386/i386.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
10936 * config/pa/pa-linux.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
10937 (TARGET_HAS_STUBS_AND_ELF_SECTIONS): New definition.
10938 * config/pa/pa.c: (pa_function_ok_for_sibcall): New.
10939 (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
10940 * config/pa/pa.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
10941 * config/rs6000/rs6000-protos.h: (function_ok_for_sibcall):
10942 Remove function declaration.
10943 * config/rs6000/rs6000.c: (rs6000_function_ok_for_sibcall):
10944 Rename function_ok_for_sibcall to rs6000_function_ok_for_sibcall;
10945 rename first argument to `decl'; accept another argument
10946 of type `tree'; make static.
10947 (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
10948 * config/rs6000/rs6000.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
10949 * config/sh/sh.c: (sh_function_ok_for_sibcall): New.
10950 (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
10951 * config/sh/sh.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
10952 * config/sparc/sparc.c: (sparc_function_ok_for_sibcall): New.
10953 (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
10954 * config/sparc/sparc.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
10955 * config/xtensa/xtensa.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
10956
f10aac29
RS
109572002-10-01 Roger Sayle <roger@eyesopen.com>
10958
10959 * unroll.c (loop_iterations): Revert 2002-09-08 change.
10960
69bd00e6
RH
109612002-10-01 Richard Henderson <rth@redhat.com>
10962
10963 * real.c (real_to_decimal): Crop trailing zeros for DIGITS < 0.
10964 (real_to_hexadecimal): Likewise.
10965 * print-rtl.c (print_rtx): If we are linked with real.c, don't
10966 dump the XWINT fields of a floating point CONST_DOUBLE.
10967
3b5742ab
JT
109682002-10-01 Jason Thorpe <thorpej@wasabisystems.com>
10969
10970 * config/vax/elf.h (FUNCTION_PROFILER): Fix __mcount call.
10971
fd1e5d25
RH
109722002-10-01 Richard Henderson <rth@redhat.com>
10973
10974 * calls.c (precompute_register_parameters): Force non-legitimate
10975 constants into pseudos.
10976
78872ad9
NC
109772002-10-01 Nick Clifton <nickc@redhat.com>
10978
10979 * config/rs6000/spe.md (spe_evrlwi): Add missing third operand
10980 to assembler template.
10981
3c655f42
RH
109822002-10-01 Richard Henderson <rth@redhat.com>
10983
10984 * dwarf2out.c (loc_descriptor_from_tree): Relax requirement
10985 for TLS debug info to !DECL_EXTERNAL.
10986
ec20cffb 109872002-10-01 Matt Thomas <matt@3am-software.com>
ee6ff319 10988 Jason Thorpe <thorpej@wasabisystems.com>
ec20cffb
JT
10989
10990 * config.gcc (vax-*-netbsdelf*): Enable configuration.
6d8dd940 10991 * config/elfos.h (PCC_BITFIELD_TYPE_MATTERS): Define only
ec20cffb
JT
10992 if not already defined.
10993 * config/vax/elf.h: New file.
10994 * config/vax/netbsd-elf.h: New file.
10995 * config/vax/vax.c: Include "debug.h".
10996 (vax_output_function_prologue): Add dwarf2 support. Use
10997 MAIN_NAME_P when checking for VMS_TARGET stack adjust.
10998 * config/vax/vax.h (CONST_OK_FOR_LETTER_P): Add cases for
10999 'J' [0..63], 'K' [-128..127], 'L' [-32768..32767],
11000 'M' [0..255], 'N' [0..65535], and, 'O' [-63..-1].
11001 (VAX_ISTREAM_SYNC): Remove.
11002 (INITIALIZE_TRAMPOLINE): Use gen_sync_istream.
11003 (JUMP_TABLES_IN_TEXT_SECTION): Define.
11004 (ASM_OUTPUT_REG_POP): Use reg_names for the stack pointer.
11005 (ASM_OUTPUT_ADDR_VEC_ELT): Use ASM_GENERATE_INTERNAL_LABEL
11006 and assemble_name.
11007 (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
11008 (PRINT_OPERAND_PUNCT_VALID_P): Accept '|'.
11009 (PRINT_OPERAND): Output REGISTER_PREFIX for '|'.
11010 (INCOMING_RETURN_ADDR_RTX): Define.
11011 * config/vax/vax.md (VUNSPEC_BLOCKAGE)
11012 (VUNSPEC_SYNC_ISTREAM): Define.
11013 (blockage): Use VUNSPEC_BLOCKAGE.
11014 (sync_istream): New insn.
11015
110162002-10-01 Richard Henderson <rth@redhat.com>
11017
11018 * config/vax/vax.md (call_pop, *call_pop, call_value_pop)
11019 (*call_value_pop, call, call_value): Add dwarf2 EH support.
11020 (*call): New insn.
11021
73a73768
NS
110222002-10-01 Nathan Sidwell <nathan@codesourcery.com>
11023
11024 PR c/8083
11025 * c-typeck.c (build_c_cast): Warn about type punning which breaks
11026 type based aliasing.
11027
0645ba8f
MM
110282002-10-01 Mark Mitchell <mark@codesourcery.com>
11029
11030 * stor-layout.c (update_alignment_for_field): New function.
11031 (place_union_field): Use it.
11032 (place_field): Likewise.
6d8dd940 11033
f7e466a3
NS
110342002-10-01 Nathan Sidwell <nathan@codesourcery.com>
11035
73a73768 11036 PR other/8077
f7e466a3
NS
11037 * gcc.c (cc1_options): Add space on -auxbase-strip.
11038
bc9ec51b
JW
110392002-10-01 Jim Wilson <wilson@redhat.com>
11040
11041 * config/v850/v850.h (EPILOGUE_USES): Define.
11042
a646f6cc
AH
110432002-09-30 Andrew Haley <aph@redhat.com>
11044
6d8dd940 11045 * flow.c (insn_dead_p): When using non-call-exceptions, don't
a646f6cc
AH
11046 eliminate insns that may trap.
11047 * cse.c (insn_live_p): Likewise.
11048
3f7967e3
RS
110492002-10-01 Richard Sandiford <rsandifo@redhat.com>
11050
11051 * config/mips/mips.h (PROCESSOR_R4121): Rename to PROCESSOR_R4120.
11052 (TARGET_MIPS4121): Rename to TARGET_MIPS4120.
11053 * config/mips/mips.c (mips_cpu_info): Rename vr4121 to vr4120.
11054 * config/mips/mips.md: Apply same renaming here.
11055
41f9efba
RS
110562002-10-01 Richard Sandiford <rsandifo@redhat.com>
11057
11058 * config/mips/mips.c (PROCESSOR_R4320, TARGET_MIPS4320): Remove.
11059 (GENERATE_MULT3_SI): Remove use of TARGET_MIPS4320.
11060 * config/mips/mips.c (mips_cpu_info): Remove vr4320 entry.
11061 * config/mips/mips.md (define_attr cpu): Remove r4320.
11062 Remove vr4320 scheduler and uses of TARGET_MIPS4320.
11063
366356d3
RS
110642002-10-01 Richard Sandiford <rsandifo@redhat.com>
11065
11066 * config/mips/mips.c (mips16_strings): New variable.
11067 (mips_output_function_epilogue): Clear the SYMBOL_REF_FLAG of every
11068 symbol in mips16_strings. Free the list.
11069 (mips_encode_section_info): Keep track of local strings.
11070
8ab907e8
RS
110712002-10-01 Richard Sandiford <rsandifo@redhat.com>
11072
11073 * config/mips/mips.md (bunge, bltgt, bungt): New define_expands.
11074 (sordered_df, sordered_sf): Remove.
11075 * config/mips/mips.c (get_float_compare_codes): New fn.
11076 (gen_int_relational, gen_conditional_move): Use it.
11077
d12b8c85
RS
110782002-10-01 Richard Sandiford <rsandifo@redhat.com>
11079
11080 * config/mips/mips-protos.h (mips_emit_fcc_reload): Declare.
11081 * config/mips/mips.h (PREDICATE_CODES): Add fcc_register_operand.
11082 * config/mips/mips.c (fcc_register_operand): New function.
11083 (mips_emit_fcc_reload): New function, extracted from reload_incc.
11084 (override_options): Allow TFmode values in float registers
11085 if ISA_HAS_8CC.
11086 * cnfig/mips/mips.md (reload_incc): Change destination prediate
11087 to fcc_register_operand. Remove misleading source constraint.
11088 Use mips_emit_fcc_reload.
11089 (reload_outcc): Duplicate reload_incc.
11090
4977bab6
ZW
110912002-09-30 Zack Weinberg <zack@codesourcery.com>
11092
11093 * gcc.c (validate_switches): Handle all new forms of spec
11094 syntax introduced recently. Now returns a char *.
11095 (validate_all_switches): Repetitive logic broken out to...
11096 (validate_switches_from_spec): ...here.
11097 * mklibgcc.in: Don't @-flag commands to generate .oS files.
11098
7e765675
UW
110992002-09-30 Ulrich Weigand <uweigand@de.ibm.com>
11100
11101 * longlong.h: Partially synchronize with GMP-4.1 version:
11102 Use i370 definitions also for s390.
11103 Add generic definition of umul_ppmm in terms of smul_ppmm.
11104 [s390] (umul_ppmm): Remove.
11105 [s390] (smul_ppmm): Fix incorrect assembler constraints.
11106 [s390] (smul_ppmm, sdiv_qrnnd): Rename __xx to __x.
11107
89f6025d
BW
111082002-09-30 Bob Wilson <bob.wilson@acm.org>
11109
11110 * config/xtensa/xtensa.h (REG_CLASS_NAMES, REG_CLASS_CONTENTS):
11111 Add new RL_REGS register class.
11112 (PREFERRED_RELOAD_CLASS, PREFERRED_OUTPUT_RELOAD_CLASS):
ee6ff319 11113 Call xtensa_preferred_reload_class for both input and output reloads.
89f6025d
BW
11114 * config/xtensa/xtensa.c (xtensa_regno_to_class): Use new RL_REGS class.
11115 (xtensa_preferred_reload_class): Handle output reloads; use RL_REGS
11116 instead of either AR_REGS or GR_REGS classes.
11117 (xtensa_secondary_reload_class): Use new RL_REGS class.
11118 * config/xtensa/xtensa-protos.h (xtensa_preferred_reload_class): Update.
11119
7830ba7b
JDA
111202002-09-30 John David Anglin <dave@hiauly1.hia.nrc.ca>
11121
11122 * pa.c (hppa_encode_label): Don't drop '*' from function labels.
11123 (pa_strip_name_encoding): Strip '@' and '*', in that order.
11124 * pa.h (ASM_OUTPUT_LABELREF): Output user_label_prefix except when
11125 there is a '*' prefix in NAME.
11126
344b78b8
JH
11127Mon Sep 30 21:33:23 CEST 2002 Jan Hubicka <jh@suse.cz>
11128
11129 * reload.c (push_reload): Handle subregs and secondary memory.
11130 * reload1.c (gen_reload): Likewise.
11131
11132 * jump.c (reg_or_subregno): New function.
11133 * rtl.h (reg_or_subregno): Declare
11134 * unroll.c (find_splittable_givs): Handle subregs.
11135
17bbb839
MM
111362002-09-30 Mark Mitchell <mark@codesourcery.com>
11137
11138 * store-layout.c (finish_record_layout): Add free_p parameter.
11139 (layout_type): Pass it.
11140 * tree.h (finish_record_layout): Update prototype.
92e89ef0 11141
48ddd46c
JH
11142Mon Sep 30 14:57:18 CEST 2002 Jan Hubicka <jh@suse.cz>
11143
11144 * i386.h (TARGET_CPP_CPU_BUILTINS): Define __SSE_MATH__.
11145
11146 * gcse.c (cprop_jump): Check that the register has not
11147 been modified
11148 (cprop_jump): Likewise.
11149
b93a0fe6
RE
111502002-09-30 Richard Earnshaw <rearnsha@arm.com>
11151
11152 * arm.h (BASE_REG_CLASS): Always return LO_REGS for Thumb.
11153 (MODE_BASE_REG_CLASS, case Thumb): Only return BASE_REGS if we know
11154 that we have a SImode access, and only then if reload hasn't completed;
11155 for all other cases, use LO_REGS.
11156
4977bab6
ZW
111572002-09-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11158
11159 * openbsd.h: Fix typo in last change.
11160
98ee7e6c
RH
111612002-09-29 Richard Henderson <rth@redhat.com>
11162
11163 * real.c (real_from_string): Apply sign last. Tidy exponent handling.
11164
ccf7aef4
RH
111652002-09-29 Richard Henderson <rth@redhat.com>
11166
b5371c18 11167 PR c/8002
ccf7aef4
RH
11168 * combine.c (force_to_mode): Handle FLOAT_MODE destinations
11169 for CONST_INT.
11170
d454e75a
DE
111712002-09-29 David Edelsohn <edelsohn@gnu.org>
11172
11173 * real.h (ibm_extended_format): Declare.
11174 * real.c (encode_ibm_extended, decode_ibm_extended): New
11175 functions.
11176
89b06540
KG
111772002-09-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11178
11179 * darwin-protos.h (darwin_asm_output_dwarf_delta): Prototype.
11180
11181 * ia64.c (ia64_hpux_asm_file_end): Const-ify.
11182
6ca6193b
JDA
111832002-09-29 John David Anglin <dave@hiauly1.hia.nrc.ca>
11184
11185 * expmed.c (extract_bit_field): Fix bit-field extraction from SUBREGs.
11186
991b6592
KH
111872002-09-29 Kazu Hirata <kazu@cs.umass.edu>
11188
11189 * builtins.def: Fix comment formatting.
11190 * c-common.def: Likewise.
11191 * cfgcleanup.c: Likewise.
11192 * combine.c: Likewise.
11193 * gengtype.c: Likewise.
11194 * params.def: Likewise.
11195 * predict.def: Likewise.
11196 * rtl.def: Likewise.
11197 * stab.def: Likewise.
11198 * stor-layout.c: Likewise.
11199 * tree.def: Likewise.
11200 * config/darwin.c: Likewise.
11201 * config/darwin.h: Likewise.
11202 * config/dbxcoff.h: Likewise.
11203 * config/elfos.h: Likewise.
11204 * config/fp-bit.c: Likewise.
11205 * config/freebsd-spec.h: Likewise.
11206 * config/interix.h: Likewise.
11207 * config/libgloss.h: Likewise.
11208 * config/linux-aout.h: Likewise.
11209 * config/linux.h: Likewise.
11210 * config/lynx-ng.h: Likewise.
11211 * config/lynx.h: Likewise.
11212 * config/netbsd-aout.h: Likewise.
11213 * config/netbsd.h: Likewise.
11214 * config/netware.h: Likewise.
11215 * config/psos.h: Likewise.
11216 * config/ptx4.h: Likewise.
11217
43aa4e05
KH
112182002-09-28 Kazu Hirata <kazu@cs.umass.edu>
11219
11220 * ChangeLog.4: Fix typos.
11221 * ChangeLog.6: Likewise.
11222 * FSFChangeLog.10: Likewise.
11223 * genattrtab.c: Fix comment typos.
11224 * haifa-sched.c: Likewise.
11225 * real.c: Likewise.
11226 * tree.h: Likewise.
11227 * config/arm/arm.c: Likewise.
11228 * config/arm/crti.asm: Likewise.
11229 * config/arm/crtn.asm: Likewise.
11230 * config/frv/frv.c: Likewise.
11231 * config/frv/frv.md: Likewise.
11232 * config/h8300/h8300.md: Likewise.
11233 * config/i386/rtemself.h: Likewise.
11234 * config/ia64/unwind-ia64.c: Likewise.
11235 * config/ip2k/ip2k.h: Likewise.
11236 * config/m88k/m88k.c: Likewise.
11237 * config/m88k/m88k.md: Likewise.
11238 * config/mips/sr71k.md: Likewise.
11239 * config/mmix/mmix.c: Likewise.
11240 * config/rs6000/rs6000.c: Likewise.
11241 * config/sh/sh.md: Likewise.
11242
13e8651c
TR
112432002-09-26 Theodore A. Roth <troth@verinet.com>
11244
92e89ef0
ZW
11245 * config/avr/avr.c: Eliminate use of _PC_ in pc relative insns.
11246 * config/avr/avr.md: Ditto.
13e8651c 11247
57147be1
ZW
112482002-09-27 Alexander N. Kabaev <ak03@gte.com>
11249
11250 PR preprocessor/8055
11251 * cppmacro.c (stringify_arg): Do not overflow the buffer
11252 with the terminating NUL when the argument to be stringified
11253 has no tokens.
11254
5d0f3df7
RH
112552002-09-27 Richard Henderson <rth@redhat.com>
11256
11257 * unroll.c (simplify_cmp_and_jump_insns): New.
11258 (unroll_loop): Use it. Use simplify_gen_foo+force_operand
11259 instead of expand_simple_foo.
11260
3dfda826
RH
112612002-09-27 Richard Henderson <rth@redhat.com>
11262
11263 PR optimization/7520
11264 * cfganal.c (flow_active_insn_p): New.
11265 (forwarder_block_p): Use it.
11266
23b8ba81
RH
112672002-09-27 Richard Henderson <rth@redhat.com>
11268
11269 * emit-rtl.c (active_insn_p): Revert last change.
11270
dce81a1a
JJ
112712002-09-27 Jakub Jelinek <jakub@redhat.com>
11272
11273 * doc/extend.texi (tls_model): Document.
11274 * varasm.c (decl_tls_model): New.
11275 * c-common.c (handle_tls_model_attribute): New.
11276 (c_common_attribute_table): Add tls_model.
11277 * config/alpha/alpha.c (alpha_encode_section_info): Use
11278 decl_tls_model.
11279 * flags.h (enum tls_model, flag_tls_default): Move...
11280 * tree.h (enum tls_model, flag_tls_default): ...here.
11281 (decl_tls_model): New prototype.
11282 * config/ia64/ia64.c (ia64_encode_section_info): Likewise.
11283 * config/i386/i386.c (ix86_encode_section_info): Likewise.
11284 * config/i386/i386.md (tls_global_dynamic, tls_local_dynamic_base):
11285 Allow !flag_pic.
11286
0e9e1e0a
KH
112872002-09-27 Kazu Hirata <kazu@cs.umass.edu>
11288
11289 * LANGUAGES: Follow spelling conventions.
11290 * rtl.def: Likewise.
11291 * sbitmap.c: Likewise.
11292 * sched-int.h: Likewise.
11293 * sched-rgn.c: Likewise.
11294 * sibcall.c: Likewise.
11295 * simplify-rtx.c: Likewise.
11296 * ssa.c: Likewise.
11297 * stab.def: Likewise.
11298 * stmt.c: Likewise.
11299 * stor-layout.c: Likewise.
11300 * target.h: Likewise.
11301 * timevar.c: Likewise.
11302 * toplev.c: Likewise.
11303 * tree-dump.c: Likewise.
11304 * tree-inline.c: Likewise.
11305 * tree.c: Likewise.
11306 * tree.def: Likewise.
11307 * tree.h: Likewise.
11308 * unroll.c: Likewise.
11309 * varasm.c: Likewise.
11310 * vmsdbgout.c: Likewise.
11311 * treelang/treelang.texi: Likewise.
11312 * treelang/treetree.c: Likewise.
11313
b9b575e6
KH
113142002-09-27 Kazu Hirata <kazu@cs.umass.edu>
11315
11316 * config/h8300/h8300.c (compute_saved_regs): Use a macro
11317 instead of a hard register number.
11318 (get_shift_alg): Use an enumerated type instead of numbers.
11319 (h8300_shift_needs_scratch_p): Likewise.
11320
4977bab6
ZW
113212002-09-26 Kazu Hirata <kazu@cs.umass.edu>
11322
11323 * varasm.c (force_data_section): Remove.
11324 (assemble_constant_align): Likewise.
11325 * output.h: Remove corresponding prototypes.
11326
113272002-09-26 Roger Sayle <roger@eyesopen.com>
11328
11329 * stmt.c (expand_exit_loop_if_false): Expand a simple conditional
11330 jump, if the loop to exit is the top of the current nesting stack.
11331
113322002-09-26 Torbjorn Granlund <tege@swox.com>
11333
11334 * libgcc2.c (fixunsdfdi, fixunssfdi): Rewrite, avoiding `long long'
11335 arithmetic.
11336
99a32567
DM
113372002-09-26 David S. Miller <davem@redhat.com>
11338
11339 PR optimization/7335
11340 * calls.c (emit_library_call_value_1): Passing args by reference
11341 converts a CONST function into a PURE one.
11342
67cef334
DE
113432002-09-26 David Edelsohn <edelsohn@gnu.org>
11344
11345 * dbxout.c (FORCE_TEXT): Switch to current_function_decl, not
11346 text_section.
57147be1 11347 * xcoffout.h (DBX_STATIC_BLOCK_START): Remove explicit change to
67cef334
DE
11348 text section.
11349 * config/rs6000/rs6000.c (rs6000_override_options): Allow
11350 function-sections and data-sections functionality on AIX.
11351
113522002-09-26 David Edelsohn <edelsohn@gnu.org>
11353 Dale Johannesen <dalej@apple.com>
11354
11355 * config/rs6000/rs6000.c (rs6000_emit_move): Insert zero-extend
11356 in RTL for sub-word loads from memory.
11357
c2310f51
RH
113582002-09-26 Richard Henderson <rth@redhat.com>
11359
11360 PR c/7160
11361 * sched-deps.c (sched_analyze_insn): Make clobber insns depend
11362 on call insns.
11363
7847d627
RH
113642002-09-26 Richard Henderson <rth@redhat.com>
11365
11366 * emit-rtl.c (const_double_htab_eq): Remove unused variable.
11367
cde0ce6e
CL
113682002-09-26 Chris Lattner <sabre@nondot.org>
11369
11370 * ssa.c (rename_insn_1): Handle RENAME_NO_RTX correctly when
11371 handling undefined values.
11372
03a62672
RH
113732002-09-26 Richard Henderson <rth@redhat.com>
11374
5fd452e8 11375 PR opt/7520
03a62672
RH
11376 * emit-rtl.c (active_insn_p): Consider a clobber of the
11377 function return value to be active even after reload.
11378
b5a77fef
AM
113792002-09-27 Alan Modra <amodra@bigpond.net.au>
11380
11381 * doloop.c (doloop_modify_runtime <biv skips initial incr>): Adjust
11382 by absolute loop increment, not loop increment.
11383
40f03658
KH
113842002-09-26 Kazu Hirata <kazu@cs.umass.edu>
11385
11386 * c-common.h: Follow spelling conventions.
11387 * cpplex.c: Likewise.
11388 * cpplib.h: Likewise.
11389 * gthr-dce.h: Likewise.
11390 * gthr-posix.h: Likewise.
11391 * optabs.c: Likewise.
11392 * output.h: Likewise.
11393 * profile.c: Likewise.
11394 * protoize.c: Likewise.
11395 * ra-rewrite.c: Likewise.
11396 * real.c: Likewise.
11397 * recog.c: Likewise.
11398 * reg-stack.c: Likewise.
11399 * regclass.c: Likewise.
11400 * regmove.c: Likewise.
11401 * reload.c: Likewise.
11402 * reload.h: Likewise.
11403 * reload1.c: Likewise.
11404 * reorg.c: Likewise.
11405 * resource.c: Likewise.
11406 * rtl.h: Likewise.
11407 * rtlanal.c: Likewise.
11408
ee8a73d6
SE
114092002-09-26 Steve Ellcey <sje@cup.hp.com>
11410
11411 * config/ia64/ia64.c (ia64_expand_load_address): Ensure correct mode
11412 for symbol address.
11413
2eb2bbdc
EC
114142002-09-24 Eric Christopher <echristo@redhat.com>
11415
57147be1
ZW
11416 * config/mips/elf.h: Add HANDLE_SYSV_PRAGMA.
11417 * config/mips/elf64.h: Ditto.
2eb2bbdc 11418
0ab38418
EC
114192002-09-24 Eric Christopher <echristo@redhat.com>
11420
57147be1 11421 * except.c (expand_builtin_extract_return_address): Handle case
0ab38418
EC
11422 where Pmode != ptr_mode.
11423
68bb91b1
SE
114242002-09-26 Steve Ellcey <sje@cup.hp.com>
11425
11426 * config/ia64/hpux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): New
11427
5429802d
SE
114282002-09-26 Steve Ellcey <sje@cup.hp.com>
11429
11430 * config/ia64/hpux.h (TARGET_DEFAULT): Include TARGET_ILP32.
11431
855c3a2e
IS
114322002-09-26 Igor Shevlyakov <igor@microunity.com>
11433
11434 * combine.c (simplify_set): Don't call to force_to_mode if size
11435 of integer type is larger than HOST_BITS_PER_WIDE_INT.
11436
2d556baf
JJ
114372002-09-26 Janis Johnson <janis187@us.ibm.com>
11438
11439 * Makefile.in (qmtest-g++): Fix file path.
11440
1717e19e
UW
114412002-09-26 Ulrich Weigand <uweigand@de.ibm.com>
11442
0ab38418 11443 * expr.c (expand_expr) [MINUS_EXPR]: Convert A - const to
1717e19e
UW
11444 A + (-const) on RTX level, even for unsigned types.
11445
6cabe79e
UW
114462002-09-26 Ulrich Weigand <uweigand@de.ibm.com>
11447
11448 * reload.c (dup_replacements): New function.
11449 (find_reloads): Use it to duplicate replacements at the top level
11450 of match_dup operands.
11451
0855247a
MB
114522002-09-26 Miles Bader <miles@gnu.org>
11453
11454 * v850.md ("length"): Change default value to 4.
11455
6335b0aa
KH
114562002-09-26 Kazu Hirata <kazu@cs.umass.edu>
11457
11458 * ChangeLog.1: Follow spelling conventions.
11459 * ChangeLog.4: Likewise.
11460 * ChangeLog.6: Likewise.
11461 * FSFChangeLog.11: Likewise.
11462 * doc/cpp.texi: Likewise.
11463 * doc/invoke.texi: Likewise.
11464 * doc/tm.texi: Likewise.
11465
09818236
NC
114662002-09-26 Nick Clifton <nickc@redhat.com>
11467
11468 * config.gcc: Add x prefix to v850e case for handling
11469 --with-cpu=v850e.
11470
4977bab6
ZW
114712002-09-25 Zack Weinberg <zack@codesourcery.com>
11472
11473 * gcc.c (input_suffix_matches, switch_matches,
11474 mark_matching_switches, process_marked_switches,
11475 process_brace_body): New functions - split from handle_braces.
11476 (handle_braces): Rewrite; handle %{S:X;T:Y;:D} syntax; accept
11477 and ignore whitespace in more places.
11478 (specs documentation comment): Document %{S:X;T:Y;:D}.
11479 Clarify other %{...} docs.
11480 * doc/invoke.texi: Document %{S:X;T:Y;:D}. Clarify other
11481 %{...} docs.
11482
11483 * config/arm/aof.h (LINK_SPEC): Change %{ov*,*} to %{ov*}.
11484 * config/rs6000/sysv4.h: Use N-way choice spec syntax.
11485
8a3996fd
DM
114862002-09-25 David S. Miller <davem@redhat.com>
11487
11488 PR target/7842
11489 * config/sparc/sparc.c (set_extends): SImode ASHIFT does not
11490 extend.
11491
8580f7a0
RH
114922002-09-25 Richard Henderson <rth@redhat.com>
11493
11494 * emit-rtl.c (const_double_htab_eq): Distinguish integer and
11495 fp CONST_DOUBLE; use real_identical.
11496
956d9305
MM
114972002-09-25 Mark Mitchell <mark@codesourcery.com>
11498
11499 * doc/invoke.texi: Add more -Wabi examples.
11500
3ccbe819
RS
115012002-09-25 Richard Sandiford <rsandifo@redhat.com>
11502
11503 * config/mips/mips.h (TARGET_MIPS4100): Add missing bracket.
11504
4977bab6
ZW
115052002-09-24 Nathan Sidwell <nathan@codesourcery.com>
11506
11507 * profile.c (end_branch_prob): Only look for __gcov_init on
11508 weak-enabled native compilers.
11509
2106e42a
DC
115102002-09-24 Denis Chertykov <denisc@overta.ru>
11511
11512 * config/ip2k/ip2k.c (function_epilogue): Fix wrong numbers in
11513 cases of optimizing "add sp,w" to "inc sp".
11514
58e60158
AN
115152002-09-24 Adam Nemet <anemet@lnxw.com>
11516
57147be1
ZW
11517 * config/arm/arm.c (thumb_unexpanded_epilogue): Don't generate
11518 epilogue for naked functions.
58e60158 11519
59be6073 115202002-09-24 Adam Nemet <anemet@lnxw.com>
57147be1 11521 Nick Clifton <nickc@redhat.com>
59be6073
AN
11522
11523 * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Remove.
11524 (FUNCTION_PROFILER): Only invoke THUMB_FUNCTION_PROFILER if it
11525 is defined.
11526
100c7420
UW
115272002-09-24 Ulrich Weigand <uweigand@de.ibm.com>
11528
11529 * config/s390/s390.c (preferred_la_operand_p): New function.
11530 * config/s390/s390-protos.h (preferred_la_operand_p): Declare it.
11531 * config/s390/s390.md ("addaddr_esame", "*la_ccclobber"): Replace by ...
11532 ("*la_64_cc", "*la_31_cc", splitters): ... these.
11533 ("*la_31"): Deactivate for TARGET_64BIT.
11534 ("*la_31_and", "*la_31_and_cc"): New.
11535
9fc63af5
KG
115362002-09-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11537
11538 * real.h (real_value): Make `exp' explicitly signed.
11539
43a88a8c
KH
115402002-09-24 Kazu Hirata <kazu@cs.umass.edu>
11541
11542 * config/elfos.h: Follow spelling conventions.
11543 * config/alpha/alpha.h: Likewise.
11544 * config/arc/arc.h: Likewise.
11545 * config/arm/arm.md: Likewise.
11546 * config/avr/avr.h: Likewise.
11547 * config/cris/cris.md: Likewise.
11548 * config/d30v/d30v.h: Likewise.
11549 * config/frv/frv.c: Likewise.
11550 * config/frv/frv.h: Likewise.
11551 * config/h8300/h8300.c: Likewise.
11552 * config/h8300/h8300.h: Likewise.
11553 * config/h8300/h8300.md: Likewise.
11554 * config/i386/cygwin.h: Likewise.
11555 * config/i386/i386.h: Likewise.
11556 * config/i386/sysv3.h: Likewise.
11557 * config/i960/i960.h: Likewise.
11558 * config/ia64/ia64.h: Likewise.
11559 * config/ia64/ia64.md: Likewise.
11560 * config/ip2k/ip2k.h: Likewise.
11561 * config/m32r/m32r.h: Likewise.
11562 * config/m68k/m68k.h: Likewise.
11563 * config/m88k/m88k.h: Likewise.
11564 * config/mcore/mcore.c: Likewise.
11565 * config/mcore/mcore.h: Likewise.
11566 * config/mcore/mcore.md: Likewise.
11567 * config/mips/mips.h: Likewise.
11568 * config/mmix/mmix.h: Likewise.
11569 * config/mmix/mmix.md: Likewise.
11570 * config/ns32k/netbsd.h: Likewise.
11571 * config/ns32k/ns32k.h: Likewise.
11572 * config/ns32k/ns32k.md: Likewise.
11573 * config/pa/pa.h: Likewise.
11574 * config/romp/romp.h: Likewise.
11575 * config/rs6000/rs6000.h: Likewise.
11576 * config/rs6000/rs6000.md: Likewise.
11577 * config/sparc/sparc.h: Likewise.
11578 * config/stormy16/stormy-abi: Likewise.
11579 * config/stormy16/stormy16.h: Likewise.
11580 * config/vax/vax.h: Likewise.
11581
4977bab6
ZW
115822002-09-23 Kazu Hirata <kazu@cs.umass.edu>
11583
11584 * config/alpha/alpha.h: Remove commented-out macro
11585 definitions of HAVE_{POST|PRE}_{INC|DEC}REMENT.
11586 * config/avr/avr.h: Likewise.
11587 * config/d30v/d30v.h: Likewise.
11588 * config/dsp16xx/dsp16xx.h: Likewise.
11589 * config/i370/i370.h: Likewise.
11590 * config/i386/i386.h: Likewise.
11591 * config/i960/i960.h: Likewise.
11592 * config/m68k/m68k.h: Likewise.
11593 * config/m88k/m88k.h: Likewise.
11594 * config/mips/mips.h: Likewise.
11595 * config/ns32k/ns32k.h: Likewise.
11596 * config/pdp11/pdp11.h: Likewise.
11597 * config/romp/romp.h: Likewise.
11598 * config/rs6000/rs6000.h: Likewise.
11599 * config/s390/s390.h: Likewise.
11600 * config/sh/sh.h: Likewise.
11601 * config/sparc/sparc.h: Likewise.
11602 * config/stormy16/stormy16.h: Likewise.
11603 * config/vax/vax.h: Likewise.
11604
116052002-09-23 Kazu Hirata <kazu@cs.umass.edu>
11606
11607 * function.c (push_temp_slots_for_block): Remove.
11608 (push_temp_slots_for_target): Likewise.
11609 (get_target_temp_slot_level): Likewise.
11610 (set_target_temp_slot_level): Likewise.
11611 (get_first_block_beg): Likewise.
11612 * function.h: Remove corresponding prototypes.
11613
b4f94ac1
ZW
116142002-09-23 Zack Weinberg <zack@codesourcery.com>
11615
11616 * version.c (version_string): Now const char[].
11617 * version.h: Update to match.
11618
9ef1b13a
RH
116192002-09-23 Richard Henderson <rth@redhat.com>
11620
11621 * config/i386/i386.h (MASK_ACCUMULATE_OUTGOING_ARGS_SET, MASK_MMX_SET,
11622 MASK_SSE_SET, MASK_SSE2_SET, MASK_3DNOW_SET, MASK_3DNOW_A_SET): Kill.
11623 (TARGET_SWITCHES): Don't reference them.
11624 * config/i386/i386.c (override_options): Use target_flags_explicit
11625 to examine bits set by the user.
11626
ca9d6748 116272002-09-23 Dale Johannesen <dalej@apple.com>
9ef1b13a 11628
ca9d6748
DJ
11629 * dbxout.c (dbxout_parms): Set current_sym_code for params
11630 passed on stack by invisible reference.
11631
97d48e5a
RE
116322002-09-23 Richard Earnshaw <rearnsha@arm.com>
11633
11634 * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Always allocate
11635 at least one byte of space.
11636
46c83bce
MM
116372002-09-23 Mark Mitchell <mark@codesourcery.com>
11638
11639 * c-common.h (flag_abi_version): Fix typo in comment.
11640 * doc/invoke.texi (flag_abi_version): Document default value.
11641
acb5d088
HPN
116422002-09-23 Hans-Peter Nilsson <hp@axis.com>
11643
11644 * doc/extend.texi (Extended Asm): Clarify that overlap between
11645 asm-declared register variables used in an asm and the asm clobber
11646 list is not allowed.
11647 * stmt.c (decl_conflicts_with_clobbers_p): New function.
11648 (expand_asm_operands): Keep track of clobbered registers. Call
11649 decl_conflicts_with_clobbers_p for each input and output operand.
11650 If no conflicts found before, also do conflict sanity check when
11651 emitting clobbers.
11652
ddf0fc72
RH
116532002-09-23 Richard Henderson <rth@redhat.com>
11654
11655 * c-common.c (cpp_define_data_format): Remove.
11656 (cb_register_builtins): Don't define __WCHAR_BIT__, __SHRT_BIT__,
11657 __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
11658 __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
11659 * doc/cpp.texi: Don't document them either.
11660 (__SCHAR_MAX__, __SHRT_MAX__, __INT_MAX__, __LONG_MAX__,
11661 __LONG_LONG_MAX__): Document.
11662 (__TARGET_FLOAT_FORMAT__): Remove.
11663
a520ff95
RH
116642002-09-23 Richard Henderson <rth@redhat.com>
11665
11666 * real.c (do_multiply): Normalize U before addition.
11667
2d3e278d
MM
116682002-09-23 Mark Mitchell <mark@codesourcery.com>
11669
11670 * c-common.c (flag_abi_version): New variable.
11671 * c-common.h (flag_abi_version): Declare it.
11672 * c-opts.c (missing_arg): Add -fabi-version.
11673 (c_common_decode_option): Process -fabi-version.
11674 * doc/invoke.texi (-fabi-version): Document it.
11675 (-Wabi): Add information about bit-fields in unions.
b4f94ac1 11676
4977bab6
ZW
116772002-09-22 Roger Sayle <roger@eyesopen.com>
11678
11679 * expr.c (STORE_BY_PIECES_P): New target macro.
11680 (can_store_by_pieces, store_by_pieces): Use STORE_BY_PIECES_P
11681 instead of MOVE_BY_PIECES_P.
11682 * doc/tm.texi: Document this new macro.
11683
173b51b5
JT
116842002-09-22 Jason Thorpe <thorpej@wasabisystems.com>
11685
11686 * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Always pass -KPIC
11687 unless -fno-pic or -fno-PIC is specified.
11688
c219e1da
JDA
116892002-09-22 John David Anglin <dave@hiauly1.hia.nrc.ca>
11690
11691 * c-common.c (preprocessing_trad_p): Define.
11692 * pa-hiux.h, pa-hpux.h, pa-hpux7.h (CPP_PREDEFINES): Delete.
11693 (TARGET_OS_CPP_BUILTINS, SUBTARGET_SWITCHES): Define.
11694 * pa-hpux10.h (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
11695 * pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define.
11696 * pa-linux.h (CPP_PREDEFINES): Delete.
11697 (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
11698 * pa32-linux.h, pa64-linux.h (CPP_SPEC): Delete.
11699 * pa-osf.h, pa-pro-end.h, rtems.h (CPP_PREDEFINES): Delete.
11700 (TARGET_OS_CPP_BUILTINS): Define.
11701 * pa.h (MASK_SIO, TARGET_SIO, TARGET_PA_10): Define.
11702 (TARGET_SWITCHES): Reformat. Use N_() macro. Add SUBTARGET_SWITCHES.
11703 (SUBTARGET_SWITCHES): Provide default definition.
11704 (TARGET_OPTIONS): Reformat. Use N_() macro.
11705 (CPP_PA10_SPEC, CPP_PA11_SPEC, CPP_PA20_SPEC, CPP_64BIT_SPEC,
11706 CPP_CPU_DEFAULT_SPEC, CPP_64BIT_DEFAULT_SPEC, SUBTARGET_EXTRA_SPECS,
11707 EXTRA_SPECS, CPP_SPEC, CPLUSPLUS_CPP_SPEC, CPP_PREDEFINES): Delete.
11708 (TARGET_CPU_CPP_BUILTINS): Define.
11709 (TARGET_OS_CPP_BUILTINS): Define for BSD-like systems.
11710 * doc/invoke.texi (msio, mwsio): Document new hppa options.
11711 * doc/tm.texi (TARGET_CPU_CPP_BUILTINS): Document macro
11712 preprocessing_trad_p().
11713
65a824f6
JT
117142002-09-22 Jason Thorpe <thorpej@wasabisystems.com>
11715
11716 * doc/install.texi: Document behavior of --with-headers and
11717 --with-libs when arguments are omitted.
11718
cc2902df
KH
117192002-09-22 Kazu Hirata <kazu@cs.umass.edu>
11720
11721 * dbxout.c: Follow spelling conventions.
11722 * defaults.h: Likewise.
11723 * df.c: Likewise.
11724 * diagnostic.h: Likewise.
11725 * doloop.c: Likewise.
11726 * dwarf2out.c: Likewise.
11727 * dwarfout.c: Likewise.
11728 * emit-rtl.c: Likewise.
11729 * except.c: Likewise.
11730 * explow.c: Likewise.
11731 * expmed.c: Likewise.
11732 * expr.c: Likewise.
11733 * expr.h: Likewise.
11734 * flags.h: Likewise.
11735 * flow.c: Likewise.
11736 * fold-const.c: Likewise.
11737 * function.c: Likewise.
11738 * function.h: Likewise.
11739 * gcc.c: Likewise.
11740 * gcov-io.h: Likewise.
11741 * gcov.c: Likewise.
11742 * gcse.c: Likewise.
11743 * genattrtab.c: Likewise.
11744 * genconfig.c: Likewise.
11745 * genrecog.c: Likewise.
11746 * ggc-page.c: Likewise.
11747 * ggc.h: Likewise.
11748 * global.c: Likewise.
11749 * gthr-win32.h: Likewise.
11750 * integrate.c: Likewise.
11751 * jump.c: Likewise.
11752 * langhooks.c: Likewise.
11753 * langhooks.h: Likewise.
11754 * line-map.h: Likewise.
11755 * local-alloc.c: Likewise.
11756 * longlong.h: Likewise.
11757 * loop.c: Likewise.
11758 * loop.h: Likewise.
11759
ef49d42e
JH
11760Tue Aug 27 22:26:35 CEST 2002 Jan Hubicka <jh@suse.cz>
11761
11762 * i386.h (BIGGEST_FIELD_ALIGNMENT): Set proper default for x86_64.
11763
11764Tue Aug 27 20:07:01 CEST 2002 Jan Hubicka <jh@suse.cz>
11765
11766 * i386.c (overwrite_options): Set -mpreferred-stack-boundary to 128
11767 for -Os/TARGET_64BIT too.
11768
da7d8304
KH
117692002-09-21 Kazu Hirata <kazu@cs.umass.edu>
11770
11771 * ChangeLog: Follow spelling conventions.
11772 * ChangeLog.0: Likewise.
11773 * ChangeLog.1: Likewise.
11774 * ChangeLog.2: Likewise.
11775 * ChangeLog.3: Likewise.
11776 * ChangeLog.4: Likewise.
11777 * ChangeLog.5: Likewise.
11778 * ChangeLog.6: Likewise.
11779 * FSFChangeLog.10: Likewise.
11780 * FSFChangeLog.11: Likewise.
11781 * alias.c: Likewise.
11782 * basic-block.h: Likewise.
11783 * c-aux-info.c: Likewise.
11784 * c-common.c: Likewise.
11785 * c-common.h: Likewise.
11786 * c-decl.c: Likewise.
11787 * c-format.c: Likewise.
11788 * c-semantics.c: Likewise.
11789 * c-typeck.c: Likewise.
11790 * calls.c: Likewise.
11791 * cfganal.c: Likewise.
11792 * cfgloop.c: Likewise.
11793 * collect2.c: Likewise.
11794 * combine.c: Likewise.
11795 * conflict.c: Likewise.
11796 * cppexp.c: Likewise.
11797 * cppfiles.c: Likewise.
11798 * cpphash.h: Likewise.
11799 * cppinit.c: Likewise.
11800 * cpplex.c: Likewise.
11801 * cpplib.c: Likewise.
11802 * cpplib.h: Likewise.
11803 * cppmacro.c: Likewise.
11804 * cse.c: Likewise.
11805
330cc6c7
RE
118062002-09-21 Richard Earnshaw <rearnsha@arm.com>
11807
11808 * netbsd-aout.h (NETBSD_LINK_SPEC_AOUT): New, takes old definition of
11809 LINK_SPEC.
11810 (LINK_SPEC): Define to NETBSD_LINK_SPEC_AOUT.
11811 * arm/netbsd.h (SUBTARGET_EXTRA_SEPCS): Add NETBSD_LINK_SPEC_AOUT.
11812 (LINK_SPEC): Rework to use NETBSD_LINK_SPEC_AOUT).
11813
5b437e0f
RE
118142002-09-21 Richard Earnshaw <rearnsha@arm.com>
11815
9ee4fa29
RE
11816 PR opt/7930
11817 * cse.c (fold_rtx): Calculate old_cost before we fold each
5b437e0f
RE
11818 operand.
11819
2a15d344
RH
118202002-09-21 Richard Henderson <rth@redhat.com>
11821
11822 * c-common.c (cpp_define_data_format): Remove __GCC_LITTLE_ENDIAN__,
11823 __GCC_BIG_ENDIAN__, __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
11824 __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
11825 __TARGET_USES_VAX_F_FLOAT__, __TARGET_USES_VAX_D_FLOAT__,
11826 __TARGET_USES_VAX_G_FLOAT__, __TARGET_USES_VAX_H_FLOAT__.
11827 * doc/cpp.texi: Don't document them.
11828
3fdacdf9
RH
118292002-09-21 Richard Henderson <rth@redhat.com>
11830
11831 * c-common.c (builtin_define_float_constants): Use real_format
11832 to get the floating-point parameters.
11833
3dc85dfb
RH
118342002-09-21 Richard Henderson <rth@redhat.com>
11835
11836 * real.c (struct real_format): Move to real.h.
11837 (real_format_for_mode): Rename from fmt_for_mode; update all users;
11838 initialize with ieee defaults.
11839 (real_to_target_fmt, real_from_target_fmt): New.
11840 (ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
11841 ieee_extended_intel_96_format, ieee_extended_intel_128_format,
b4f94ac1 11842 ieee_quad_format, i370_single_format, i370_double_format,
3dc85dfb
RH
11843 c4x_single_format, c4x_extended_format): Rename from s/_format//.
11844 (ieee_quad_format): Fix emin.
11845 (format_for_size, init_real_once): Remove.
11846 * real.h (struct real_format): Move from real.c.
11847 (real_format_for_mode): Declare.
11848 (real_to_target_fmt, real_from_target_fmt): Declare.
11849 (ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
11850 ieee_extended_intel_96_format, ieee_extended_intel_128_format,
11851 ieee_quad_format, vax_f_format, vax_d_format, vax_g_format,
11852 i370_single_format, i370_double_format, c4x_single_format,
11853 c4x_extended_format): Declare.
11854 * toplev.c (do_compile): Don't call init_real_once.
11855
11856 * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
11857 * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Remove.
11858
11859 * config/alpha/alpha.h (TARGET_FLOAT_FORMAT): Define.
11860 * config/alpha/osf5.h (LONG_DOUBLE_TYPE_SIZE): 64, if vax mode.
11861 * config/alpha/alpha.c (override_options): Set real_format_for_mode
11862 for VAX, if enabled.
11863
11864 * config/c4x/c4x.c (c4x_override_options): Set real_format_for_mode
11865 for C4X.
11866
11867 * config/i370/i370.h (OVERRIDE_OPTIONS): New.
11868 * config/i370/i370.c (override_options): New.
11869 * config/i370/i370-protos.h: Update.
11870
11871 * config/i386/i386.c (override_options): Set real_format_for_mode
11872 for Intel 80-bit extended.
11873 * config/i386/i386.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
11874
11875 * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Mind -mlong-double-64.
11876 (OVERRIDE_OPTIONS): Move code...
11877 * config/i960/i960.c (i960_initialize): ... here. Set
11878 real_format_for_mode for Intel 80-bit extended.
11879
11880 * config/ia64/ia64.c (ia64_override_options): Set real_format_for_mode
11881 for Intel 80-bit extended, if enabled.
11882
11883 * config/m68k/m68k.c (override_options): Set real_format_for_mode
b4f94ac1 11884 for Motorola 96-bit extended.
3dc85dfb
RH
11885
11886 * config/vax/vax.h (OVERRIDE_OPTIONS): New.
11887 * config/vax/vax.c (override_options): New.
11888 * config/vax/vax-protos.h: Update.
11889
42a6388c
AM
118902002-09-21 Alan Modra <amodra@bigpond.net.au>
11891
84d7dd4a
AM
11892 * config/rs6000/rs6000.md (builtin_setjmp_receiver): Add
11893 #if TARGET_MACHO.
11894
42a6388c
AM
11895 * config/rs6000/rs6000.md (floatdisf2_internal2): Combine
11896 insns. Supply missing clobber of scratch reg.
11897
a0ab749a
KH
118982002-09-20 Kazu Hirata <kazu@cs.umass.edu>
11899
11900 * config/m32r/m32r.c: Follow spelling conventions.
11901 * config/m32r/m32r.h: Likewise.
11902 * config/m32r/m32r.md: Likewise.
11903 * config/m68k/m68k.c: Likewise.
11904 * config/m88k/m88k.c: Likewise.
11905 * config/mcore/mcore.c: Likewise.
11906 * config/mips/mips.c: Likewise.
11907 * config/mips/mips.h: Likewise.
11908 * config/mmix/mmix.c: Likewise.
11909 * config/mn10200/mn10200.c: Likewise.
11910 * config/ns32k/ns32k.h: Likewise.
11911 * config/pa/pa.c: Likewise.
11912 * config/pa/pa64-linux.h: Likewise.
11913 * config/pdp11/pdp11.h: Likewise.
11914 * config/romp/romp.c: Likewise.
11915 * config/romp/romp.h: Likewise.
11916 * config/rs6000/eabi.asm: Likewise.
11917 * config/rs6000/linux64.h: Likewise.
11918 * config/rs6000/rs6000.c: Likewise.
11919 * config/rs6000/rs6000.h: Likewise.
11920 * config/rs6000/rs6000.md: Likewise.
11921 * config/rs6000/sysv4.h: Likewise.
11922 * config/rs6000/xcoff.h: Likewise.
11923
2f0da74c
JW
119242002-09-20 Jim Wilson <wilson@redhat.com>
11925
11926 * config/v850/v850/lib1funcs.asm (__muldi3): Change r5 to r28.
11927
dea73790
JJ
119282002-09-20 Jakub Jelinek <jakub@redhat.com>
11929
11930 * config/i386/i386.md (UNSPEC_GOTNTPOFF, UNSPEC_INDNTPOFF): New.
11931 * config/i386/i386.c (legitimate_pic_address_disp_p): Handle
11932 UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF like UNSPEC_GOTTPOFF.
11933 (legitimate_address_p): Likewise.
11934 (legitimize_address): Use @gotntpoff and @indntpoff.
11935 (output_pic_addr_const): Handle UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF.
11936 (output_addr_const_extra): Likewise.
11937
a9b2f059
JW
119382002-09-20 Jim Wilson <wilson@redhat.com>
11939
11940 * combine.c (try_combine): When split an instruction pair, where the
11941 first has a sign_extend src, verify that the src and dest modes match.
11942
1f7422bd
RH
119432002-09-20 Richard Henderson <rth@redhat.com>
11944
11945 * config/mips/mips.c (dfhigh, dflow, sfhigh, sflow): Remove.
11946 (override_options): Do not initialize them.
11947 (mips_const_double_ok): Allow no fp constants except zero,
11948 and not even that for mips16.
11949 (const_float_1_operand): Use dconst1.
11950 * config/mips/mips.md (movsf, movsf_internal1, movsf_internal2,
11951 movdf, movdf_internal1, movdf_internal1a, movdf_internal2):
6d8dd940 11952 Don't allow arbitrary constants; fix predicates and C constraint.
1f7422bd 11953
56941bf2
NB
119542002-09-20 Neil Booth <neil@daikokuya.co.uk>
11955
11956 * cppmacro.c: Don't warn about function-like macros without
27eba309 11957 '(' during pre-expansion.
56941bf2 11958
66a0dfeb
JW
119592002-09-20 Jim Wilson <wilson@redhat.com>
11960
11961 * config/v850/v850.c (current_function_anonymous_args): Delete.
11962 (expand_prologue): Use current_function_args_info.anonymous_args.
11963 (expand_epilogue): Delete use of current_function_anonymous_args.
11964 * config/v850/v850.h (struct cum_arg): Add anonymous_args field.
11965 (INIT_CUMULATIVE_ARGS): Clear anonymous_args field.
11966 (current_function_anonymous_args): Delete extern declaration.
11967 (SETUP_INCOMING_VARARGS): Set anonymous_args field.
11968
97b23853
GK
119692002-09-20 Geoffrey Keating <geoffk@apple.com>
11970
f51eee6a
GK
11971 * config/rs6000/rs6000.c (rs6000_emit_prologue): Update for change
11972 to load_macho_picbase.
11973 * config/rs6000/rs6000.md: Document Darwin-specific unspec IDs.
11974 (load_macho_picbase): Take the symbol to use as a parameter.
11975 (macho_correct_pic): New insn.
11976 (builtin_setjmp_reciever): On Darwin, restore the PIC register.
11977
97b23853
GK
11978 * config/rs6000/rs6000.h (ELIMINABLE_REGS): Use
11979 RS6000_PIC_OFFSET_TABLE_REGNUM rather than hardcoding 30.
11980 (CAN_ELIMINATE): Likewise.
11981 (INITIAL_ELIMINATION_OFFSET): Likewise.
11982 (TOC_REGISTER): Likewise.
11983
46b33600
RH
119842002-09-20 Richard Henderson <rth@redhat.com>
11985
11986 * real.c (real_hash): New.
11987 * real.h: Declare it.
11988 * cse.c (canon_hash): Use it.
11989 * cselib.c (hash_rtx): Likewise.
11990 * emit-rtl.c (const_double_htab_hash): Likewise.
11991 * rtl.h (CONST_DOUBLE_REAL_VALUE): New.
11992 * varasm.c (struct rtx_const): Reduce vector size; separate
11993 integer and fp vectors.
11994 (HASHBITS): Remove.
11995 (const_hash_1): Rename from const_hash. Use real_hash. Do not
11996 take modulus MAX_HASH_TABLE.
11997 (const_hash): New. Do take modulus MAX_HASH_TABLE.
11998 (output_constant_def): Do not take modulus MAX_HASH_TABLE.
11999 (SYMHASH): Don't use HASHBITS.
12000 (decode_rtx_const): Copy only active bits from REAL_VALUE_TYPE.
12001 Fix CONST_VECTOR thinko wrt fp vectors. Fix kind comparison.
12002 (simplify_subtraction): Fix kind comparison.
12003 (const_hash_rtx): Return unsigned int. Don't use HASHBITS.
12004 Use a union to pun integer array.
12005 * config/rs6000/rs6000.c (rs6000_hash_constant): Use real_hash;
12006 only hash two words of integral CONST_DOUBLE.
12007
40ad65d0
SE
120082002-09-20 Steve Ellcey <sje@cup.hp.com>
12009
12010 * config/ia64/hpux.h (STARTFILE_SPEC): Modify.
12011 (STARTFILE_PREFIX_SPEC): New.
12012 (LINK_SPEC): Modify.
12013 (LIB_SPEC): Modify.
12014 (LIBGCC_SPEC): New.
12015
600f3392
JJ
120162002-09-20 Jakub Jelinek <jakub@redhat.com>
12017
12018 * config/i386/i386.c (legitimate_pic_address_disp_p): Allow
12019 UNSPEC_NTPOFF and UNSPEC_DTPOFF to be offsetted by constant.
12020
c1ff6200
JD
120212002-09-20 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
12022
12023 * config/arm/arm.md (sign_extract_onebit, not_signextract_onebit):
12024 Add clobber of the condition code register.
12025
60b78700
RH
120262002-09-20 Richard Henderson <rth@redhat.com>
12027
12028 * real.c (do_fix_trunc): Static.
12029 (encode_ieee_single, encode_ieee_double, encode_ieee_extended,
12030 encode_ieee_quad, encode_vax_f, encode_vax_d, encode_vax_g,
12031 encode_i370_single, encode_i370_double, encode_c4x_single,
12032 encode_c4x_extended): Add default abort case.
12033
0ee6fdb5
RH
120342002-09-20 Richard Henderson <rth@redhat.com>
12035
12036 * real.h (enum real_value_class, SIGNIFICAND_BITS, EXP_BITS,
12037 MAX_EXP, SIGSZ, SIG_MSB, struct real_value): Move from real.c.
12038 (struct realvaluetype): Remove.
12039 (REAL_VALUE_TYPE): Use struct real_value.
12040 (REAL_VALUE_TYPE_SIZE): Use SIGNIFICAND_BITS.
12041 (test_real_width): New.
12042 * real.c: Global replace struct real_value with REAL_VALUE_TYPE.
12043 (real_arithmetic): Avoid hoops for REAL_VALUE_TYPE parameters.
12044 (real_compare, real_exponent, real_ldexp, real_isinf, real_isnan,
12045 real_isneg, real_isnegzero, real_identical, exact_real_inverse,
12046 real_to_integer, real_to_integer2, real_to_decimal,
12047 real_to_hexadecimal, real_from_string, real_from_integer,
12048 real_inf, real_nan, real_2expN, real_convert, real_to_target,
12049 real_from_target): Likewise.
12050 * tree.h (struct tree_real_cst): Use real_value not realvaluetype.
12051 * gengtype-yacc.y (bitfieldopt): Accept an ID as well.
12052
66d93b5a
RH
120532002-09-20 Richard Henderson <rth@redhat.com>
12054
12055 * real.h (UNKNOWN_FLOAT_FORMAT, IEEE_FLOAT_FORMAT, VAX_FLOAT_FORMAT,
12056 IBM_FLOAT_FORMAT, C4X_FLOAT_FORMAT, TARGET_FLOAT_FORMAT): Move ...
12057 * defaults.h: ... here.
12058 * config/arm/arm.h, config/avr/avr.h, config/d30v/d30v.h,
12059 config/fr30/fr30.h, config/frv/frv.h, config/ia64/ia64.h,
12060 config/ip2k/ip2k.h, config/mips/mips.h, config/stormy16/stormy16.h,
12061 config/xtensa/xtensa.h (TARGET_FLOAT_FORMAT): Remove.
12062
6ee3db61
HPN
120632002-09-20 Hans-Peter Nilsson <hp@bitrange.com>
12064
12065 * config/mmix/mmix.md ("negdf2"): Rewrite.
12066 ("*expanded_negdf2"): New.
12067
ff076520
JW
120682002-09-19 Jim Wilson <wilson@redhat.com>
12069
12070 * combine.c (simplify_set): When optimizing a subreg src with a
12071 cc0 dest, use GET_MODE (src) for mask instead of inner_mode.
12072
307f767b
DJ
120732002-09-19 Dale Johannesen <dalej@apple.com>
12074 * combine.c (make_extraction): Don't create
12075 invalid subreg.
12076
4977bab6
ZW
120772002-09-19 Roger Sayle <roger@eyesopen.com>
12078
12079 * tree.c (integer_nonzerop): New predicate for nonzero integers.
12080 * tree.h (integer_nonzerop): Add function prototype.
12081 * stmt.c (expand_end_loop): Don't rotate the loop when there
12082 are no instructions in the test, i.e. the loop is unconditional.
12083 (expand_exit_loop_if_false): Optimize RTL generation of loop
12084 tests when the condition is always true or always false.
12085 * c-semantics.c (genrtl_do_stmt): Optimize RTL generation of
12086 do-loops when the condition is always true.
12087 (genrtl_for_stmt): Optimize RTL generation of for-loops when
12088 the for-expression is empty.
12089
120902002-09-19 Zack Weinberg <zack@codesourcery.com>
12091
12092 * gcc.c (use_pipes): New flag.
12093 (process_command): Set it. Adjust check for -pipe conflicting
12094 with -time or -save-temps.
12095 (do_spec_1): Use it. Handle %|SUFFIX, %mSUFFIX, and
12096 %<SWITCH. Drop %| (without a SUFFIX).
12097 (handle_braces): Drop %{<SWITCH}, %{^SWITCH}, %{|...}.
12098 (give_switch): Third argument eliminated.
12099 (invoke_as, @assembler_with_cpp spec): Use %|.s or %m.s
12100 depending on AS_NEEDS_DASH_FOR_PIPED_INPUT.
12101 (specs documentation comment): Update.
12102
12103 * config/netbsd-aout.h, config/openbsd.h, config/ptx4.h,
12104 config/svr4.h, config/i386/freebsd-aout.h,
12105 config/m68k/netbsd-elf.h, config/m68k/netbsd.h,
12106 config/m68k/openbsd.h, config/mips/openbsd.h,
12107 config/sparc/sparc.h: Define AS_NEEDS_DASH_FOR_PIPED_INPUT
12108 instead of putting %| into ASM_SPEC and/or ASM_FINAL_SPEC.
12109 * config/avr/avr.h: Delete do-nothing ASM_FINAL_SPEC.
12110 * config/cris/cris.h: Update comment.
12111
12112 * ada/lang-specs.h: Use %(invoke_as). Straighten out
12113 error messages. Don't use %{^SWITCH}.
12114 * ada/misc.c (gnat_decode_option): Handle -I with a
12115 separate argument.
12116
12117 * f/lang-specs.h: Use %| and %m.
12118 * java/jvspec.c: Use %m and %(invoke_as). Change all
12119 uses of %{<SWITCH} to %<SWITCH.
12120
12121 * doc/invoke.texi: Update documentation of specs.
12122 * doc/tm.texi: Document AS_NEEDS_DASH_FOR_PIPED_INPUT.
12123
cc7ab9b7
UW
121242002-09-19 Ulrich Weigand <uweigand@de.ibm.com>
12125
b4f94ac1 12126 * config/s390/s390.c (addr_generation_dependency_p): Handle SUBREG
cc7ab9b7
UW
12127 and STRICT_LOW_PART within SET_DEST.
12128 * config/s390/s390.md ("*extractqi", "*extracthi"): New insns with
12129 splitters, replacing pre-reload splitters.
b4f94ac1 12130 ("*zero_extendhisi2_31", "*zero_extendqisi2_31",
cc7ab9b7
UW
12131 "*zero_extendqihi2_31"): New insns.
12132 ("*zero_extendqihi2_64"): Do not clobber CC.
12133
4977bab6
ZW
121342002-09-18 Devang Patel <dpatel@apple.com>
12135
12136 * cp/cp-tree.h: New prototype for walk_vtables().
12137 * cp/decl.c (walk_vtables_r): New function.
12138 (struct cp_binding_level): Add new members, namespaces,
12139 names_size and vtables.
12140 (add_decl_to_level): Add decl in namespaces or vtables
12141 chain, if conditions match.
12142 (walk_vtables): New function.
12143 (walk_namespaces_r): Travers separate namespace chain
12144 for namespace decls.
12145 (wrapup_globals_for_namespace): Use names_size instead
12146 of list_length().
12147 * cp/decl2.c (finish_file): Use walk_vtables() instead of
12148 walk_globals() to walk vtable decls.
12149
b64ddb88
SE
121502002-09-19 Steve Ellcey <sje@cup.hp.com>
12151
12152 * config/ia64/hpux.h (CTORS_SECTION_ASM_OP): New.
12153 (DTORS_SECTION_ASM_OP): Ditto.
12154 (READONLY_DATA_SECTION_ASM_OP): Moved.
12155 (DATA_SECTION_ASM_OP): New.
12156 (SDATA_SECTION_ASM_OP): New.
12157 (BSS_SECTION_ASM_OP): New.
12158 (SBSS_SECTION_ASM_OP): New.
12159 (TEXT_SECTION_ASM_OP): New.
12160
9cd10576
KH
121612002-09-19 Kazu Hirata <kazu@cs.umass.edu>
12162
12163 * config/fp-bit.c: Follow spelling conventions.
12164 * config/d30v/d30v.c: Likewise.
12165 * config/d30v/d30v.h: Likewise.
12166 * config/fr30/fr30.c: Likewise.
12167 * config/fr30/fr30.h: Likewise.
12168 * config/fr30/fr30.md: Likewise.
12169 * config/frv/frv.c: Likewise.
12170 * config/frv/frv.h: Likewise.
12171 * config/h8300/h8300.c: Likewise.
12172 * config/h8300/lib1funcs.asm: Likewise.
12173 * config/i370/i370.c: Likewise.
12174 * config/i386/i386.h: Likewise.
12175 * config/i386/i386.md: Likewise.
12176 * config/i386/pentium.md: Likewise.
12177 * config/i386/winnt.c: Likewise.
12178 * config/i960/i960.c: Likewise.
12179 * config/ia64/ia64.h: Likewise.
12180 * config/ip2k/ip2k.c: Likewise.
12181 * config/ip2k/ip2k.h: Likewise.
12182 * config/ip2k/ip2k.md: Likewise.
12183 * config/ip2k/libgcc.S: Likewise.
12184
fff08fd8
SC
121852002-09-19 Stephen Clarke <stephen.clarke@superh.com>
12186
12187 * config/sh/sh.h (UNSPEC_GOTOFF_P): Define.
12188 (GOTOFF_P): Extend to allow gotoff plus constant.
12189
bf3d27e6
RH
121902002-09-18 Richard Henderson <rth@redhat.com>
12191
12192 * ifcvt.c (noce_process_if_block): Correctly detect X modified
b4f94ac1 12193 with INSN_B before COND_EARLIEST. Don't check A and B for
bf3d27e6
RH
12194 modification in condition range. Reorder INSN_B for A==B properly.
12195 (if_convert): Iterate until no matches for a block.
12196
1b1f20ca
RH
121972002-09-18 Richard Henderson <rth@redhat.com>
12198
12199 * calls.c (store_one_arg): Rename default_align to parm_align;
12200 always adjust parm_align for downward padding.
12201
724838b9
RH
122022002-09-18 Richard Henderson <rth@redhat.com>
12203
12204 * toplev.c (backend_init): Move init_real_once invocation ...
12205 (do_compile): ... here.
12206
2c67b7c6
RH
122072002-09-18 Richard Henderson <rth@redhat.com>
12208
12209 * sibcall.c (optimize_sibling_and_tail_recursive_call): Also remove
12210 RTX_UNCHANGING_P markers for successful tail-recursive replacement.
12211
15769ca3
RH
122122002-09-18 Richard Henderson <rth@redhat.com>
12213
12214 * real.c (round_for_format): Collect sticky as unsigned long, not bool.
12215
678b7733
AM
122162002-09-19 Alan Modra <amodra@bigpond.net.au>
12217
12218 * config/rs6000/rs6000.md: (floatdisf2): Rename to
12219 floatdisf2_internal1.
12220 (floatdisf2): New define_expand.
12221 (floatdisf2_internal2): Likewise.
12222
c402b6bf
RH
122232002-09-18 Richard Henderson <rth@redhat.com>
12224
b4f94ac1 12225 * real.c (sticky_rshift_significand): Collect sticky as
c402b6bf
RH
12226 unsigned long, not bool.
12227
dea09b1b
UW
122282002-09-18 Ulrich Weigand <uweigand@de.ibm.com>
12229
12230 * config/s390/s390.c (s390_address_cost): New function.
12231 config/s390/s390-protos.h (s390_address_cost): Add prototype.
12232 config/s390/s390.h (ADDRESS_COST): Call s390_address_cost.
12233 (RTX_COST): Use COSTS_N_INSNS.
12234
e4850f36
DR
122352002-09-18 Douglas Rupp <rupp@gnat.com>
12236 Donn Terry <donnte@microsoft.com>
12237
12238 * stor-layout.c (place_field): Handle alignment of whole
12239 structures when MSVC compatible bitfields are involved.
12240 Change method of computing location of MS bitfields to
12241 be compatible with #pragma pack(n).
12242
12243 * tree.h (record_layout_info): Add new field
12244 remaining_in_alignment.
12245
12246 * doc/tm.texi: (TARGET_MS_BITFIELD_LAYOUT_P): Update.
4977bab6 12247 (pragma pack): Add paragraph on MSVC bitfield packing.
e4850f36 12248
872e50d3
RE
122492002-09-18 Richard Earnshaw (reanrsha@arm.com)
12250
12251 PR optimization/7967
12252 * arm.md (ne_zeroextractsi): Add clobber of the condition code
12253 register.
12254
5e7a8ee0
KH
122552002-09-18 Kazu Hirata <kazu@cs.umass.edu>
12256
9cd10576 12257 * config/s390/s390.c: Follow spelling conventions.
5e7a8ee0
KH
12258 * config/sh/lib1funcs.asm: Likewise.
12259 * config/sh/sh.c: Likewise.
12260 * config/sh/sh.h: Likewise.
12261 * config/sparc/sparc.c: Likewise.
12262 * config/sparc/sparc.h: Likewise.
12263 * config/sparc/sparc.md: Likewise.
12264 * config/stormy16/stormy16.c: Likewise.
12265 * config/stormy16/stormy16.h: Likewise.
12266 * config/v850/v850.c: Likewise.
12267 * config/v850/v850.h: Likewise.
12268 * config/vax/vax.c: Likewise.
12269 * config/vax/vax.h: Likewise.
12270
00a892b8
NC
122712002-09-18 Nick Clifton <nickc@redhat.com>
12272
12273 * config/rs60000/rs6000.c (rs6000_emit_move): Handle V1DImode moves.
12274 * config/rs60000/rs6000.c (SPE_VECTOR_MODE): Include V1DImode.
12275 * config/rs6000/spe.md (movv1di, movv1di_internal): New patterns.
12276
4977bab6
ZW
122772002-09-17 Kazu Hirata <kazu@cs.umass.edu>
12278
12279 * function.c (max_parm_reg_num): Remove.
12280 * stmt.c (in_control_zone_p, stmt_loop_nest_empty,
12281 drop_through_at_end_p, move_cleanups_up,
12282 expand_end_case_dummy, case_index_expr_type): Likewise.
12283 * stor-layout.c (pos_from_byte): Likewise.
12284 * tree.c (chain_member_value, chain_member_purpose, listify,
12285 tree_int_cst_msb, index_type_equal): Likewise.
12286 * tree.h: Remove prototypes for unused functions.
12287
bfb53001
ZW
122882002-09-17 Zack Weinberg <zack@codesourcery.com>
12289
12290 * ABOUT-GCC-NLS: Remove reference to enquire, and out-of-date
12291 statement that the only translation is to en_UK.
12292
825dda42
KH
122932002-09-17 Kazu Hirata <kazu@cs.umass.edu>
12294
12295 * config/alpha/alpha.c: Follow spelling conventions.
12296 * config/alpha/alpha.h: Likewise.
12297 * config/alpha/alpha.md: Likewise.
12298 * config/arc/arc.h: Likewise.
12299 * config/arm/arm.c: Likewise.
12300 * config/arm/arm.h: Likewise.
12301 * config/arm/arm.md: Likewise.
12302 * config/arm/pe.c: Likewise.
12303 * config/arm/unknown-elf.h: Likewise.
12304 * config/avr/avr.c: Likewise.
12305 * config/avr/avr.h: Likewise.
12306 * config/c4x/c4x.c: Likewise.
12307 * config/cris/cris.c: Likewise.
12308 * config/cris/cris.h: Likewise.
12309
8e16ab99 123102002-09-17 Samuel Figueroa <figueroa@apple.com>
825dda42 12311
8e16ab99
SF
12312 * final.c (final_scan_insn): Use new macro ASM_OUTPUT_ALIGN_WITH_NOP.
12313 * config/sparc/sparc.h (ASM_OUTPUT_ALIGN_WITH_NOP) New macro.
12314 * doc/tm.texi (ASM_OUTPUT_ALIGN_WITH_NOP) New description.
12315
ac19be7e 123162002-09-17 Dale Johannesen <dalej@apple.com>
825dda42 12317
ac19be7e
DJ
12318 * cfgcleanup.c (try_forward_edges): Do not forward a
12319 branch to just after a loop exit before loop optimization;
12320 this interfered with doloop detection.
12321
f1acdf8b
NC
123222002-09-17 Nick Clifton <nickc@redhat.com>
12323
12324 * config/arm/arm.c (output_return_instruction): Do not
12325 writeback the stack pointer when it is being loaded.
12326 (arm_output_epilogue): Likewise.
12327
24491a09
KH
123282002-09-17 Kazu Hirata <kazu@cs.umass.edu>
12329
12330 * optabs.c (prepare_cmp_insn): Let emit_library_call_value
12331 generate a pseudo reg that receives the result of a libcall.
12332 (prepare_float_lib_cmp): Likewise.
12333
e6c247e0
SE
123342002-09-17 Steve Ellcey <sje@cup.hp.com>
12335
b4f94ac1 12336 * config/ia64/elf.h: Remove CPP_PREDEFINES.
e6c247e0 12337
1074d9d4
NP
12338Tue Sep 17 13:58:04 2002 Nicola Pero <n.pero@mi.flashnet.it>
12339
12340 Fix PR/7014 and related objc bugs:
12341 * c-typeck.c (comp_target_types): Added a reflexive argument.
12342 Pass it to ObjC when/if calling objc_comptypes(). Updated all
12343 callers to provide the appropriate reflexive argument.
12344 * objc/objc-act.c (objc_comptypes): Carefully checked and fixed
12345 typechecking for all cases of comparisons and assignments,
12346 particularly the obscure and less common ones involving protocols.
12347
256e9fd2
NC
123482002-09-17 Nick Clifton <nickc@redhat.com>
12349
12350 * machmode.def (V1DImode): New mode. A single element vector.
12351 * tree.h (TI_UV1DI_TYPE, TI_V1DI_TYPE): New tree_index enums.
12352 (unsigned_V1DI_type_node, V1D1_type_node): New type nodes.
12353 * tree.c (build_common_tree_nodes_2): Build
12354 unsigned_V1DI_type_node and V1D1_type_node.
12355 * c-common.c (c_common_type_for_mode): Return
12356 unsigned_V1DI_type_node or V1D1_type_node for V1DImode.
12357 * rtl.c (class_narrowest_): Start integer vector nodes with V1DImode.
12358
838c4534
NP
12359Tue Sep 17 13:40:13 2002 Nicola Pero <n.pero@mi.flashnet.it>
12360
12361 * doc/objc.texi (Constant string objects): Extended documentation
12362 to make clear that the constant string class ivar layout is
12363 completely fixed.
b4f94ac1 12364
07532fad
RS
123652002-09-17 Roger Sayle <roger@eyesopen.com>
12366
12367 * cfgrtl.c (flow_delete_block_noexpunge): Delete orphaned
12368 NOTE_INSN_LOOP_CONT notes when deleting basic blocks.
12369
4977bab6
ZW
123702002-09-16 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
12371
12372 * config/mips/mips.c (save_restore_insns): Remove unused variable.
12373 * gcc.c (make_relative_prefix): Likewise.
12374 * loop.c (check_final_value): Likewise.
12375 * jump.c (init_label_info): Remove return value.
12376 * cse.c (prev_insn): Move variable between #ifdef HAVE_cc0 ... #endif.
12377
123782002-09-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12379
12380 * dsp16xx.h (ASM_FORMAT_PRIVATE_NAME): Delete.
12381 (ASM_PN_FORMAT): Define.
12382
123832002-09-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12384
12385 * alpha.h, alpha/vms.h, arc.h, arm/aof.h, arm/aout.h, avr.h,
12386 c4x.h, cris.h, d30v.h, fr30.h, frv.h, h8300.h, i370.h, i386.h,
12387 i960.h, ia64.h, ip2k.h, m32r.h, m68hc11.h, m68k/3b1.h,
12388 m68k/hp320.h, m68k.h, m68k/mot3300.h, m68k/sgs.h, m68k/tower-as.h,
12389 m88k.h, mcore.h, mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h,
12390 pa.h, pdp11.h, romp.h, rs6000.h, s390/linux.h, sh.h, sparc.h,
12391 stormy16.h, v850.h, vax.h, xtensa.h (ASM_FORMAT_PRIVATE_NAME):
12392 Delete.
12393 * alpha/vms.h, h8300.h, i370.h, ia64.h, m68k/3b1.h, m68k/hp320.h,
12394 m68k/mot3300.h, m68k/sgs.h, m68k/tower-as.h, mmix.h, mn10200.h,
12395 mn10300.h, pa.h, v850.h (ASM_PN_FORMAT): Define.
12396
12397 * defaults.h (ASM_PN_FORMAT, ASM_FORMAT_PRIVATE_NAME): Define.
12398 * doc/tm.texi (ASM_FORMAT_PRIVATE_NAME): Update documentation.
12399
cb38fd88
RH
124002002-09-16 Richard Henderson <rth@redhat.com>
12401
12402 * expr.c (emit_block_move): Set memory block size as appropriate
12403 for the copy.
12404
bd055118
RH
124052002-09-16 Richard Henderson <rth@redhat.com>
12406
12407 PR fortran/3924
b4f94ac1 12408 * sdbout.c (sdbout_symbol): Don't handle offsets from a symbol.
bd055118 12409
8c317c5f
RH
124102002-09-16 Richard Henderson <rth@redhat.com>
12411
12412 * emit-rtl.c (set_mem_attributes_minus_bitpos): Adjust SIZE
12413 as well as OFFSET for BITPOS.
12414
3780101d
JG
124152002-09-16 Jeff Garzik <jgarzik@mandrakesoft.com>
12416
b4f94ac1
ZW
12417 * config.gcc: Treat winchip_c6-*|winchip2-*|c3-* as pentium-mmx.
12418 * config/i386/i386.c (processor_alias_table): Add winchip-c6,
3780101d 12419 winchip2 and c3.
b4f94ac1 12420 * doc/invoke.texi: Mention new aliases.
3780101d 12421
9dff28ab
JDA
124222002-09-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
12423
12424 * calls.c (store_one_arg): Set default alignment for BLKmode arguments
12425 to BITS_PER_UNIT when ARGS_GROW_DOWNWARD and the padding direction is
12426 downward.
12427 * function.c (pad_below): Always compile.
12428 (locate_and_pad_parm): If defined ARGS_GROW_DOWNWARD, pad argument to
12429 alignment when it is not in a register or REG_PARM_STACK_SPACE is true.
12430 Pad below when the argument is not in a register and the padding
12431 direction is downward.
12432
12433 * pa-64.h (MUST_PASS_IN_STACK): Move define to pa.h.
12434 (PAD_VARARGS_DOWN): Define.
12435 * pa.c (function_arg_padding): Revise padding directions to make them
12436 compatible with the 32 and 64-bit runtime architecture documentation.
12437 (hppa_va_arg): Add code to handle variable and size zero arguments
12438 passed by reference on TARGET_64BIT. Reformat.
12439 (function_arg): Use a PARALLEL for BLKmode and aggregates args on
12440 TARGET_64BIT. Use a DImode PARALLEL for BLKmode args 5 to 8 bytes
12441 wide when !TARGET_64BIT. Move forward check for mode==VOIDmode.
12442 Add comments.
12443 * pa.h (MAX_PARM_BOUNDARY): Correct define for TARGET_64BIT.
12444 (RETURN_IN_MEMORY): Return size zero types in memory.
12445 (FUNCTION_VALUE): Return TFmode in general registers.
12446 (MUST_PASS_IN_STACK): Define.
12447 (FUNCTION_ARG_BOUNDARY): Simplify.
12448 (FUNCTION_ARG_PASS_BY_REFERENCE): Pass variable and zero sized types
12449 by reference.
12450 (FUNCTION_ARG_CALLEE_COPIES): Define to FUNCTION_ARG_PASS_BY_REFERENCE.
12451
94313f35
RH
124522002-09-16 Richard Henderson <rth@redhat.com>
12453
12454 * real.c (do_fix_trunc): New.
12455 (real_arithmetic): Call it.
12456 * simplify-rtx.c (simplify_unary_operation): Handle FIX
12457 with a floating-point result mode.
12458
1472e41c
RH
124592002-09-16 Richard Henderson <rth@redhat.com>
12460
12461 * builtin-types.def (BT_FN_FLOAT_CONST_STRING): New.
12462 (BT_FN_DOUBLE_CONST_STRING, BT_FN_LONG_DOUBLE_CONST_STRING): New.
12463 * builtins.def (__builtin_nan, __builtin_nanf, __builtin_nanl): New.
12464 (__builtin_nans, __builtin_nansf, __builtin_nansl): New.
12465 * builtins.c (fold_builtin_nan): New.
12466 (fold_builtin): Call it.
12467 * real.c (real_nan): Parse a non-empty string.
12468 (round_for_format): Fix NaN significand truncation.
12469 * real.h (real_nan): Return bool.
12470 * doc/extend.texi: Document new builtins.
12471
f354b828
JM
124722002-09-16 Jason Merrill <jason@redhat.com>
12473 Danny Smith <dannysmith@users.sourceforge.net>
12474
12475 * config/i386/winnt.c (ix86_handle_dll_attribute): Set
12476 DECL_EXTERN and TREE_PUBLIC for dllimported variables here...
12477 (i386_pe_mark_dllimport): Not here.
12478
85341ddd
NS
124792002-09-16 Nathan Sidwell <nathan@codesourcery.com>
12480
12481 * c-semantics.c (genrtl_do_stmt): Cope with NULL cond.
12482
045572c7
GK
124832002-09-16 Geoffrey Keating <geoffk@redhat.com>
12484
12485 * config/rs6000/rs6000.c (build_mask64_2_operands): Suppress
12486 warnings about unused operands when HOST_BITS_PER_WIDE_INT is
12487 < 64.
12488 (rs6000_emit_cmove): Use real_isinf not target_isinf.
12489
d57551c7
KH
124902002-09-16 Kazu Hirata <kazu@cs.umass.edu>
12491
12492 * calls.c (emit_library_call_value_1): Don't refer to
12493 hard_libcall_value.
12494 * optabs.c (prepare_float_lib_cmp): Likewise.
12495
36a5eadd
GK
124962002-09-16 Geoffrey Keating <geoffk@apple.com>
12497
12498 * ggc-common.c (ggc_mark_rtx_children_1): Update for changed name
12499 mangling.
12500
12501 The following changes are merged from pch-branch:
12502
12503 * doc/gty.texi (GTY Options): Document %a.
12504 * gengtype.c (do_scalar_typedef): New function.
12505 (process_gc_options): Handle `length' option.
12506 (set_gc_used_type): A pointer to an array of structures doesn't
12507 qualify as a pointer to a structure.
12508 (output_escaped_param): Add `%a' escape.
12509 (write_gc_structure_fields): Allow 'desc' on array of unions.
12510 (main): Define `uint8', `jword' and `JCF_u2' as scalars; use
12511 do_scalar_typedef.
12512
12513 * gengtype.c (enum rtx_code): Make global.
12514 (rtx_format): Make global.
12515 (rtx_next): New.
12516 (gen_rtx_next): New.
12517 (write_rtx_next): New.
12518 (adjust_field_rtx_def): Skip fields marked by chain_next.
12519 (open_base_files): Delete redundant prototype.
12520 (write_enum_defn): New.
12521 (output_mangled_typename): Correct abort call.
12522 (write_gc_marker_routine_for_structure): Handle chain_next and
12523 chain_prev options.
12524 (finish_root_table): Don't output redundant \n.
12525 (main): Call gen_rtx_next, write_rtx_next, write_enum_defn.
12526 * c-tree.h (union lang_tree_node): Add chain_next option.
12527
12528 * gengtype.h (NUM_PARAM): New definition.
12529 (struct type): For TYPE_PARAM_STRUCT, allow multiple parameters.
12530 * gengtype.c (find_param_structure): New.
12531 (adjust_field_type): Handle param<n>_is option.
12532 (process_gc_options): Detect use_params option. Update callers.
12533 (set_gc_used_type): Add 'param' parameter, update callers. Handle
12534 'use_params' option.
12535 (open_base_files): Add splay-tree.h to list of files included.
12536 (output_mangled_typename): New.
12537 (write_gc_structure_fields): Update 'param' parameter to support
12538 multiple parameters. Change name mangling. Allow parameterized
12539 fields to have an apparent scalar type. Handle param<n>_is options,
12540 use_param option.
12541 (write_gc_marker_routine_for_structure): Update for change to name
12542 mangling. Better guess the output file for parameterized types.
12543 (write_gc_types): Update for change to name mangling.
12544 (write_gc_root): Update for change to name mangling. Handle (ignore)
12545 param<n>_is options.
12546 * doc/gty.texi (GTY Options): Add description of param<n>_is
12547 options, use_params option.
12548 * ggc.h (ggc_mark_rtx): Update for changed name mangling.
12549 * gengtype-lex.l: Produce token for param<n>_is.
12550 * gengtype-yacc.y: Parse param<n>_is.
12551
12552 * gengtype.c (adjust_field_tree_exp): Don't name a variable 'rindex'.
12553
12554 * rtl.c: Update comment describing rtx_format.
12555 * rtl.h (union rtunion): Separate definition and typedef.
12556 (struct rtx_def): Use gengtype to mark.
12557 * Makefile.in (gengtype.o): Also depend on rtl.def.
12558 * ggc.h (ggc_mark_rtx_children): Delete prototype.
12559 (ggc_mark_rtx): Change to alias of gengtype-generated routine.
12560 * ggc-common.c (ggc_mark_rtx_children): Delete.
12561 (ggc_mark_rtx_children_1): Delete.
12562 (gt_ggc_m_rtx_def): Delete.
12563 * gengtype.c (adjust_field_rtx_def): New.
12564 (adjust_field_type): Call adjust_field_rtx_def.
12565 (write_gc_structure_fields): Add 'default' case to switch if none
12566 is specified; remove unused code.
12567
12568 * tree.h (struct tree_exp): Update for change to meaning
12569 of special.
12570 * gengtype.c (adjust_field_tree_exp): New function.
12571 (adjust_field_type): Handle `tree_exp' special here.
12572 (write_gc_structure_fields): Don't handle `tree_exp' special here.
12573 Handle new `dot' option.
12574
12575 * gengtype.h: Make `info' a pointer-to-const.
12576 * gengtype-yacc.y (yacc_ids): Use xasprintf.
12577
12578 * gengtype.c (write_gc_structure_fields): Remove implementation
12579 of `always' option, add `default' option.
12580 * doc/gty.texi (GTY Options): Remove documentation of `always',
12581 add `default'.
12582
a7f6d760
HPN
125832002-09-16 Hans-Peter Nilsson <hp@bitrange.com>
12584
12585 * output.h: Remove #ifdef RTX_CODE and #ifdef TREE_CODE.
12586
245ff137
KG
125872002-09-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12588
7c3414b6
KG
12589 * m68hc11.md (addhi_sp): Fix uninitialized variable bug.
12590
245ff137
KG
12591 * c4x-c.c, c4x.c, darwin.c, i370-c.c, m32r.c: Include tm_p.h
12592 instead of the *-protos.h file directly.
12593 * t-c4x, t-i370, t-v850: Depend on $(TM_P_H).
12594 * darwin.c (machopic_output_stub): Move prototype ...
12595 * darwin-protos.h (machopic_output_stub): ... here.
12596 * rs6000-protos.h (machopic_output_stub): Don't declare.
12597
ac520ec9
RH
125982002-09-16 Richard Henderson <rth@redhat.com>
12599
12600 * c-common.c (builtin_define_float_constants): Emit __FOO_DENORM_MIN__.
12601
efdc7e19
RH
126022002-09-16 Richard Henderson <rth@redhat.com>
12603
12604 * real.c, real.h: Rewrite from scratch.
12605
12606 * Makefile.in (simplify-rtx.o): Depend on TREE_H.
12607 (paranoia): New target.
12608 * builtins.c (fold_builtin_inf): Use new real.h interface.
12609 * c-common.c (builtin_define_with_hex_fp_value): Likewise.
12610 * c-lex.c (interpret_float): Likewise.
12611 * emit-rtl.c (gen_lowpart_common): Likewise.
12612 * optabs.c (expand_float): Use real_2expN.
12613 * config/ia64/ia64.md (divsi3, udivsi3): Likewise.
12614 * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): New.
12615 (FLOAT_WORDS_BIG_ENDIAN): New.
12616 * cse.c (find_comparison_args): Don't pass FLOAT_STORE_FLAG_VALUE
12617 directly to REAL_VALUE_NEGATIVE.
12618 * loop.c (canonicalize_condition): Likewise.
12619 * simplify-rtx.c: Include tree.h.
12620 (simplify_unary_operation): Don't handle FIX and UNSIGNED_FIX
12621 with floating-point result modes.
12622 * toplev.c (backend_init): Call init_real_once.
12623
12624 * fold-const.c (force_fit_type): Don't call CHECK_FLOAT_VALUE.
12625 * tree.c (build_real): Likewise.
12626 * config/alpha/alpha.c, config/vax/vax.c (float_strings,
12627 float_values, inited_float_values, check_float_value): Remove.
12628 * config/alpha/alpha.h, config/m68hc11/m68hc11.h,
12629 config/m88k/m88k.h, config/vax/vax.h (CHECK_FLOAT_VALUE): Remove.
12630 * doc/tm.texi (CHECK_FLOAT_VALUE): Remove.
12631 (VAX_HALFWORD_ORDER): Remove.
12632
a41c6c53
UW
126332002-09-16 Ulrich Weigand <uweigand@de.ibm.com>
12634
12635 * config/s390/s390.c: (legitimize_la_operand): Remove, replace by ...
12636 (s390_load_address): ... this new function.
12637 (s390_decompose_address): Allow the argument pointer and all
12638 virtual registers as 'pointer' registers.
12639 (s390_expand_plus_operand): Use s390_load_address.
12640 config/s390/s390.md (movti, movdi, movdf splitters): Likewise.
12641 ("force_la_31"): New insn pattern.
12642 config/s390/s390-protos.h (legitimize_la_operand): Remove.
12643 (s390_load_address): Add prototype.
12644
12645 * config/s390/s390.c: Include "optabs.h".
12646 (s390_expand_movstr, s390_expand_clrstr, s390_expand_cmpstr): New.
b4f94ac1 12647 config/s390/s390-protos.h (s390_expand_movstr, s390_expand_clrstr,
a41c6c53
UW
12648 s390_expand_cmpstr): Add prototypes.
12649 config/s390/s390.md ("movstrdi", "movstrsi"): Call s390_expand_movstr.
12650 ("movstrdi_short"): Rename to "movstr_short_64". Change predicates
12651 for operands 0 and 1 to "memory_operand". Add type attribute.
12652 ("movstrsi_short"): Rename to "movstr_short_31". Change predicates
12653 for operands 0 and 1 to "memory_operand". Add type attribute.
12654 ("movstrdi_long", "movstrsi_long"): Remove.
12655 ("movstrdi_64"): Rename to "movstr_long_64". Add type attribute.
12656 ("movstrsi_31"): Rename to "movstr_long_31". Add type attribute.
12657 ("clrstrdi", "clrstrsi"): Call s390_expand_clrstr.
12658 ("clrstrsico"): Remove, replace by ...
12659 ("clrstr_short_64", "clrstr_short_31"): ... these new patterns.
12660 ("clrstrsi_64"): Rename to "clrstr_long_64".
12661 ("clrstrsi_31"): Rename to "clrstr_long_31".
12662 ("cmpstrdi", "cmpstrsi"): Call s390_expand_cmpstr.
12663 ("cmpstr_const"): Remove, replace by ...
12664 ("cmpstr_short_64", "cmpstr_short_31"): ... these new patterns.
12665 ("cmpstr_64"): Rename to "cmpstr_long_64".
12666 ("cmpstr_31"): Rename to "cmpstr_long_31".
12667
8d9afc4e
KH
126682002-09-16 Kazu Hirata <kazu@cs.umass.edu>
12669
12670 * ABOUT-NLS: Follow spelling conventions.
12671 * ChangeLog: Likewise.
12672 * ChangeLog.1: Likewise.
12673 * ChangeLog.2: Likewise.
12674 * ChangeLog.3: Likewise.
12675 * ChangeLog.4: Likewise.
12676 * ChangeLog.5: Likewise.
12677 * ChangeLog.6: Likewise.
12678 * FSFChangeLog.10: Likewise.
12679 * FSFChangeLog.11: Likewise.
12680 * c-common.c: Likewise.
12681 * c-lex.c: Likewise.
12682 * c-objc-common.c: Likewise.
12683 * cppexp.c: Likewise.
12684 * cppinit.c: Likewise.
12685 * cpplex.c: Likewise.
12686 * doloop.c: Likewise.
12687 * flow.c: Likewise.
12688 * function.c: Likewise.
12689 * integrate.c: Likewise.
12690 * loop.c: Likewise.
12691 * reg-stack.c: Likewise.
12692 * reload.h: Likewise.
12693 * ssa.c: Likewise.
12694
4977bab6
ZW
126952002-09-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12696
12697 * Makefile.in (vmsdbgout.o): Depend on $(TARGET_H)
12698 * vmsdbgout.c: Include "target.h".
12699
981f6289
KH
127002002-09-15 Kazu Hirata <kazu@cs.umass.edu>
12701
12702 * ChangeLog: Follow spelling conventions.
12703 * ChangeLog.0: Likewise.
12704 * ChangeLog.1: Likewise.
12705 * ChangeLog.2: Likewise.
12706 * ChangeLog.4: Likewise.
12707 * ChangeLog.6: Likewise.
12708 * config.gcc: Likewise.
12709 * dwarfout.c: Likewise.
12710 * reload1.c: Likewise.
12711 * simplify-rtx.c: Likewise.
12712 * unwind-sjlj.c: Likewise.
12713 * config/avr/avr.h: Likewise.
12714 * config/d30v/d30v.h: Likewise.
12715 * config/frv/frv.c: Likewise.
12716 * config/frv/frv.h: Likewise.
12717 * config/ip2k/ip2k.h: Likewise.
12718 * config/m88k/m88k-move.sh: Likewise.
12719 * config/stormy16/stormy16.c: Likewise.
12720 * config/stormy16/stormy16.h: Likewise.
12721 * doc/extend.texi: Likewise.
12722 * doc/interface.texi: Likewise.
12723 * doc/invoke.texi: Likewise.
12724 * doc/md.texi: Likewise.
12725 * doc/rtl.texi: Likewise.
12726 * doc/tm.texi: Likewise.
12727 * doc/trouble.texi: Likewise.
12728 * ginclude/float.h: Likewise.
12729 * treelang/treelang.texi: Likewise.
12730
8764eef7
KG
127312002-09-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12732
bb6155b5
KG
12733 * i386-protos.h (i386_pe_dllexport_name_p,
12734 i386_pe_dllimport_name_p, i386_pe_unique_section,
12735 i386_pe_declare_function_type, i386_pe_record_external_function,
12736 i386_pe_record_exported_symbol, i386_pe_asm_file_end): Add
12737 prototype.
12738 * i386/t-cygwin (winnt.o): Depend on $(TM_P_H).
12739 * i386/t-interix (winnt.o): Likewise.
12740
8764eef7
KG
12741 * v850-protos.h (v850_output_addr_const_extra): Prototype.
12742
a24f7c1a
JT
127432002-09-15 Jason Thorpe <thorpej@wasabisystems.com>
12744
12745 * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Add
12746 MIPS ABI CPP macros.
12747 (TARGET_CPU_CPP_BUILTINS): Redefine.
12748 (SUBTARGET_EXTRA_SPECS): Remove subtarget_endian_default.
12749 (SUBTARGET_ENDIAN_DEFAULT_SPEC): Remove.
12750
bd25febf
KG
127512002-09-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12752
12753 * ia64/aix.h (TARGET_OS_CPP_BUILTINS): Fix typo.
12754
05713b80
KH
127552002-09-15 Kazu Hirata <kazu@cs.umass.edu>
12756
12757 * ChangeLog: Follow spelling conventions.
12758 * ChangeLog.0: Likewise.
12759 * ChangeLog.1: Likewise.
12760 * ChangeLog.2: Likewise.
12761 * ChangeLog.3: Likewise.
12762 * ChangeLog.4: Likewise.
12763 * ChangeLog.5: Likewise.
12764 * ChangeLog.6: Likewise.
12765 * FSFChangeLog.10: Likewise.
12766 * FSFChangeLog.11: Likewise.
12767 * c-common.c: Likewise.
12768 * c-common.h: Likewise.
12769 * c-format.c: Likewise.
12770 * c-opts.c: Likewise.
12771 * cpplib.c: Likewise.
12772 * langhooks.h: Likewise.
12773 * real.c: Likewise.
12774 * reg-stack.c: Likewise.
12775 * toplev.c: Likewise.
12776 * config/arm/arm.c: Likewise.
12777 * config/arm/arm.md: Likewise.
12778 * config/arm/linux-gas.h: Likewise.
12779 * config/arm/netbsd.h: Likewise.
12780 * config/c4x/c4x.c: Likewise.
12781 * config/c4x/c4x.h: Likewise.
12782 * config/c4x/c4x.md: Likewise.
12783 * config/c4x/libgcc.S: Likewise.
12784 * config/fr30/fr30.md: Likewise.
12785 * config/frv/frv.md: Likewise.
12786 * config/ia64/ia64.md: Likewise.
12787 * config/mips/mips.h: Likewise.
12788 * config/mn10300/mn10300.c: Likewise.
12789 * config/stormy16/stormy16.c: Likewise.
12790 * config/v850/v850.md: Likewise.
12791 * doc/extend.texi: Likewise.
12792 * doc/invoke.texi: Likewise.
12793 * doc/md.texi: Likewise.
12794
b0c2b2f9
JT
127952002-09-15 Jason Thorpe <thorpej@wasabisystems.com>
12796
12797 * config/netbsd.h (LIB_SPEC): Include the appropriate pthread
12798 library if -pthread is specified.
12799
a0494c05
JT
128002002-09-15 Jason Thorpe <thorpej@wasabisystems.com>
12801
12802 * config.gcc (*-*-netbsd*): Set thread_file to 'posix'
12803 for --enable-threads=yes and --enable-threads=posix.
12804
56149abc
KH
128052002-09-15 Kazu Hirata <kazu@cs.umass.edu>
12806
12807 * config/sparc/cypress.md: Replace Sparc with SPARC.
12808 * config/sparc/freebsd.h: Likewise.
12809 * config/sparc/gmon-sol2.c: Likewise.
12810 * config/sparc/hypersparc.md: Likewise.
12811 * config/sparc/lb1spc.asm: Likewise.
12812 * config/sparc/lb1spl.asm: Likewise.
12813 * config/sparc/linux.h: Likewise.
12814 * config/sparc/linux64.h: Likewise.
12815 * config/sparc/lynx.h: Likewise.
12816 * config/sparc/sol2.h: Likewise.
12817 * config/sparc/sparc-modes.def: Likewise.
12818 * config/sparc/sparc.c: Likewise.
12819 * config/sparc/sparc.h: Likewise.
12820 * config/sparc/sparc.md: Likewise.
12821 * config/sparc/sparclet.md: Likewise.
12822 * config/sparc/supersparc.md: Likewise.
12823 * config/sparc/sysv4.h: Likewise.
12824 * config/sparc/vxsim.h: Likewise.
12825 * config/sparc/vxsparc64.h: Likewise.
12826
4977bab6
ZW
128272002-09-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12828
12829 * c-lex.c (cb_ident): Mark variable with ATTRIBUTE_UNUSED.
12830 * collect2.c (ignore_library, aix_std_libs): Move into the context
12831 where it is used.
12832 * m68hc11.c (m68hc11_autoinc_compatible_p): Delete prototype.
12833 (autoinc_mode, m68hc11_make_autoinc_notes): Add prototypes.
12834 * m88k.c (output_call): Wrap variables with macro controlling use.
12835 * rs6000.md: Likewise. Const-ify variable.
12836 * sh.h (ASM_OUTPUT_LABELREF): Likewise.
12837 * final.c (only_leaf_regs_used): Likewise.
12838 * regrename.c (maybe_mode_change): Mark parameter with
12839 ATTRIBUTE_UNUSED.
12840 * reload.c (find_valid_class): Likewise. Likewise for variable.
12841 (find_reloads_address_1): Likewise.
12842 * varasm.c (weak_finish): Wrap variable with macro controlling use.
12843
3eaf7a3c
MM
128442002-09-14 Marek Michalkiewicz <marekm@amelek.gda.pl>
12845
12846 * config/avr/avr.c (output.h): Move after inclusion of tree.h.
12847
4912a07c
KH
128482002-09-14 Kazu Hirata <kazu@cs.umass.edu>
12849
12850 * ChangeLog: Follow spelling conventions.
12851 * ChangeLog.0: Likewise.
12852 * ChangeLog.2: Likewise.
12853 * ChangeLog.3: Likewise.
12854 * ChangeLog.4: Likewise.
12855 * ChangeLog.5: Likewise.
12856 * ChangeLog.6: Likewise.
12857 * cppfiles.c: Likewise.
12858 * cppinit.c: Likewise.
12859 * cpplib.h: Likewise.
12860 * cse.c: Likewise.
12861 * debug.h: Likewise.
12862 * df.c: Likewise.
12863 * dominance.c: Likewise.
12864 * hashtable.c: Likewise.
12865 * hashtable.h: Likewise.
12866 * loop.c: Likewise.
12867 * config/arm/README-interworking: Likewise.
12868 * config/arm/arm.c: Likewise.
12869 * config/arm/arm.h: Likewise.
12870 * config/arm/arm.md: Likewise.
12871 * config/dsp16xx/dsp16xx.h: Likewise.
12872 * config/frv/frv.c: Likewise.
12873 * config/frv/frv.h: Likewise.
12874 * config/ip2k/ip2k.h: Likewise.
12875 * config/rs6000/rs6000.c: Likewise.
12876 * config/stormy16/stormy-abi: Likewise.
12877 * config/stormy16/stormy16.h: Likewise.
12878 * config/v850/v850.c: Likewise.
12879
3dc60fc7
KH
128802002-09-14 Kazu Hirata <kazu@cs.umass.edu>
12881
12882 * loop.c: Fix a comment typo.
12883
a920aefe
KH
128842002-09-14 Kazu Hirata <kazu@cs.umass.edu>
12885
12886 * config/fr30/fr30.h: Fix comment typos.
12887 * config/frv/frv.c: Likewise.
12888 * config/i386/xmmintrin.h: Likewise.
12889 * config/mips/mips.c: Likewise.
12890 * config/sh/sh.c: Likewise.
12891
88cad84b
KH
128922002-09-14 Kazu Hirata <kazu@cs.umass.edu>
12893
12894 * haifa-sched.c: Follow spelling conventions.
12895 * regclass.c: Likewise.
12896 * regrename.c: Likewise.
12897 * config/fp-bit.c: Likewise.
12898 * config/frv/frv.h: Likewise.
12899 * config/m88k/m88k.c: Likewise.
12900 * config/mcore/mcore.c: Likewise.
12901 * config/rs6000/darwin.h: Likewise.
12902 * config/rs6000/gnu.h: Likewise.
12903 * config/rs6000/linux.h: Likewise.
12904 * config/rs6000/linux64.h: Likewise.
12905 * config/rs6000/rs6000.c: Likewise.
12906 * config/rs6000/rs6000.h: Likewise.
12907 * config/sh/sh.c: Likewise.
12908 * config/sparc/sparc.c: Likewise.
12909 * config/sparc/ultra1_2.md: Likewise.
12910
f197f1cf
SC
129112002-09-14 Stephane Carrez <stcarrez@nerim.fr>
12912
12913 * config/m68hc11/m68hc11.md ("movdi_internal"): Allow any offsetable
12914 memory operand when source is 0 (K constraint).
12915 ("movsi_internal"): Likewise.
12916 ("movdf_internal"): Likewise.
12917 ("movsf_internal"): Likewise.
12918
b629ba0c
AM
129192002-09-14 Alan Modra <amodra@bigpond.net.au>
12920
12921 * config/rs6000/rs6000.c (rs6000_elf_encode_section_info): Use
12922 targetm.binds_local_p to set SYMBOL_REF_FLAG.
12923 (rs6000_xcoff_encode_section_info): Likewise.
12924 * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
12925
2e485129
TR
129262002-09-10 Theodore A. Roth <troth@verinet.com>
12927
12928 * gcc/config/avr/avr.h: Set default options for C++ for avr.
12929
4977bab6
ZW
129302002-09-13 Roger Sayle <roger@eyesopen.com>
12931
12932 * stmt.c (struct nexting): Remove unused alt_end_label field.
12933 (expand_start_loop): Delete initialization of alt_end_label.
12934 (expand_start_null_loop): Likewise.
12935 (expand_exit_loop_if_false): Delete updating of alt_end_label.
12936
907aee69
RH
129372002-09-13 Richard Henderson <rth@redhat.com>
12938
12939 * Makefile.in (toplev.o): Depend on real.h.
12940 (print-rtl.o, varasm.o, ifcvt.o): Likewise.
12941
374b0b7d
AM
129422002-09-14 Alan Modra <amodra@bigpond.net.au>
12943
12944 * doc/tm.texi (DBX_OUTPUT_NFUN): Describe.
12945 * dbxout.c (dbxout_function_end): Use DBX_OUTPUT_NFUN.
12946 * config/rs6000/linux64.h (DBX_OUTPUT_NFUN): Define.
12947
690eed2c
NS
129482002-09-13 Nathan Sidwell <nathan@codesourcery.com>
12949
12950 * ggc-common.c (ggc_mark_roots): Don't iterate NULL hash tables.
12951
32b4f6f4
SE
129522002-09-13 Steve Ellcey <sje@cup.hp.com>
12953
12954 * config.gcc (ia64*-*-aix*, ia64*-*-elf*, ia64*-*-freebsd*,
12955 ia64*-*-linux*): Set extra_parts.
12956 * config/ia64/t-aix (EXTRA_PARTS): Remove.
12957 * config/ia64/t-ia64 (EXTRA_PARTS): Remove.
12958
3db11b5c
KH
129592002-09-13 Kazu Hirata <kazu@cs.umass.edu>
12960
12961 * config/h8300/fixunssfsi.c: Replace H8/S with H8S.
12962 * config/h8300/h8300.c: Likewise.
12963 * config/h8300/h8300.h: Likewise.
12964 * config/h8300/h8300.md: Likewise.
12965 * doc/invoke.texi: Likewise.
12966
b6894857
KH
129672002-09-13 Kazu Hirata <kazu@cs.umass.edu>
12968
12969 * config/h8300/h8300.c (h8300_init_once): Fix formatting.
12970
d5909a79
RH
129712002-09-13 Richard Henderson <rth@redhat.com>
12972
12973 * config/alpha/alpha.md (attr type): Add callpal.
12974 (imb, trap, load_tp, set_tp): Use it.
12975 * config/alpha/ev4.md (ev4_callpal): New.
12976 * config/alpha/ev5.md (ev5_callpal): New.
12977 * config/alpha/ev6.md (ev6_ibr): Handle callpal.
12978 * config/alpha/alpha.c (alphaev4_insn_pipe): Handle TYPE_CALLPAL.
12979 (alphaev5_insn_pipe): Likewise.
12980
e0073fa8
AJ
129812002-09-13 Andreas Jaeger <aj@suse.de>
12982
12983 * Makefile.in (print-rtl.o): Depend on CONFIG_H.
12984
1f298625
SE
129852002-09-13 Steve Ellcey <sje@cup.hp.com>
12986
12987 * config/ia64/t-hpux (LIBGCC1_TEST, STMP_FIXPROTO,
12988 LIB2ADDEH): New, set to NULL.
12989 (SHLIB_EXT, SHLIB_LINK, SHLIB_INSTALL, SHLIB_MKMAP): New.
12990
1a7e1470
SE
129912002-09-13 Steve Ellcey <sje@cup.hp.com>
12992
12993 * config/ia64/quadlib.c (_U_Qfcmp): Make extern.
12994 (_U_Qfcnvfxt_quad_to_sgl): Remove declaration.
12995 (_U_Qfeq, _U_Qfne, _U_Qfgt, _U_Qfge, U_Qflt, U_Qfle, _U_Qfcomp):
12996 Add declarations.
12997 (_U_Qfneg): Remove.
12998
d56c04ce
DD
129992002-09-13 Dhananjay Deshpande <dhananjayd@kpit.com>
13000
13001 * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Add support
8d9afc4e
KH
13002 for H8/300, H8S aa:8 mode.
13003 (TINY_CONSTANT_ADDRESS_P): Add support for H8S aa:16 mode.
d56c04ce
DD
13004 * config/h8300/h8300.c (h8300_adjust_insn_length): Adjust length
13005 for H8/300 aa:8 mode.
13006
4456530d
HP
130072002-09-13 Hartmut Penner <hpenner@de.ibm.com>
13008
13009 * config/s390/s390.md ("trap", "conditional_trap", "*trap"): New
13010 insns.
13011
4d2d910c
RH
130122002-09-12 Richard Henderson <rth@redhat.com>
13013
13014 * Makefile.in (HOST_PRINT): Use print-rtl1.o
13015 (print-rtl.o): Don't define GENERATOR_FILE.
13016 (print-rtl1.o): Rename from $(BUILD_PREFIX_1)print-rtl.o.
13017 * print-rtl.c (print_rtx): Include CONST_DOUBLE fp decimal output
13018 unless GENERATOR_FILE.
13019
7606e68f
SS
130202002-09-12 Stan Shebs <shebs@apple.com>
13021
6ab9a3f4
SS
13022 * config/darwin.h (USER_LABEL_PREFIX): Define here...
13023 * config/i386/darwin.h: ... instead of here.
13024
7606e68f
SS
13025 * target.h (struct gcc_target): New field
13026 terminate_dw2_eh_frame_info.
13027 * target-def.h (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
13028 (TARGET_INITIALIZER): Add it.
13029 * dwarf2out.c (output_call_frame_info): Use target hook.
13030 * dwarf2asm.c (dw2_asm_output_delta): Use macro
13031 ASM_OUTPUT_DWARF_DELTA if defined.
13032 * doc/tm.texi (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Document.
13033 (ASM_OUTPUT_DWARF_DELTA): Ditto.
13034 (ASM_OUTPUT_DWARF_OFFSET): Ditto.
13035 (ASM_OUTPUT_DWARF_PCREL): Ditto.
13036 * config.gcc (i[34567]86-*-darwin*): Define extra_parts.
13037 (powerpc-*-darwin*): Ditto.
13038 * crtstuff.c [OBJECT_FORMAT_MACHO]: Update the Mach-O bits
13039 to work correctly for Darwin.
13040 * config/darwin.h (OBJECT_FORMAT_MACHO): Define.
13041 (STARTFILE_SPEC): Add crtbegin.o.
13042 (ENDFILE_SPEC): Define.
13043 (EXTRA_SECTION_FUNCTIONS): Put gcc_except_tab in data segment.
13044 (ASM_PREFERRED_EH_DATA_FORMAT): Handle more cases.
13045 (ASM_OUTPUT_DWARF_DELTA): Define.
13046 (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
13047 * config/darwin.c (darwin_asm_output_dwarf_delta): New function.
13048
20b71b17
AM
130492002-09-13 Alan Modra <amodra@bigpond.net.au>
13050
13051 * config/rs6000/rs6000.c (rs6000_emit_load_toc_table): Remove "if"
13052 nesting. Correct test for non-PowerPC64 ELF ABI_AIX.
13053 * config/rs6000/rs6000.md (load_toc_v4_PIC*): Disable when ABI_AIX.
13054
d48fd218
ZW
130552002-09-12 Zack Weinberg <zack@codesourcery.com>
13056
13057 * toplev.c: Move default definition of USER_LABEL_PREFIX...
13058 * defaults.h: ... here.
13059
92bc3c1a
RH
130602002-09-12 Richard Henderson <rth@redhat.com>
13061
13062 * vax.c: Include tree.h earlier.
13063
3f64e543
SS
130642002-09-12 Stan Shebs <shebs@apple.com>
13065
13066 * config/darwin.c (machopic_finish): Remove #if 0 chunks.
13067 (machopic_operand_p): Ditto.
13068
52bd31bb
KH
130692002-09-12 Kazu Hirata <kazu@cs.umass.edu>
13070
13071 * config/arm/arm.c (arm_compute_initial_elimination_offset):
13072 Fix a comment typo.
13073
387c9294
KH
130742002-09-12 Kazu Hirata <kazu@cs.umass.edu>
13075
13076 * toplev.c (do_abort): Fix a comment typo.
13077
e34bb004
KH
130782002-09-12 Kazu Hirata <kazu@cs.umass.edu>
13079
13080 * cselib.c: Fix comment formatting.
13081 * gengtype.c: Likewise.
13082
d0029ebd
KH
130832002-09-12 Kazu Hirata <kazu@cs.umass.edu>
13084
13085 * config/h8300/h8300.md (udivmodqi4): Do not use an expander.
13086 (udivmodhi4): Likewise.
13087
c3c637e3 130882002-09-12 Graham Stott <graham.stott@btinternet.com>
d48fd218 13089 Roger Sayle <roger@eyesopen.com>
c3c637e3
GS
13090
13091 * i386.c (any_fp_register_operand, fp_register_operand,
13092 register_and_not_any_fp_reg_operand, register_and_not_fp_reg_operand):
13093 New predicate functions.
13094 * i386-protos.h: Add their prototypes.
13095 * i386.h: Add them to PREDICATE_CODES.
13096 * i386.md ("*pushsf_rex64"+2, "*pushsf_rex64"+3, "*pushdf_integer"+1,
13097 "*pushdf_integer"+2, "*pushtf_integer"+1, "*pushtf_integer"+2,
13098 "*pushtf_integer"+3, "*pushtf_integer"+4, "*dummy_extendsfdf2"+1,
13099 "*dummy_extendsfdf2"+2, "*dummy_extendsfxf2"+1,
13100 "*dummy_extendsftf2"+1, "*dummy_extendsftf2"+2,
13101 "*dummy_extenddfxf2"+1, "*dummy_extenddftf2"+1,
13102 "*dummy_extenddftf2"+2, "*negsf2_if"+1, "*negsf2_if"+2,
13103 "*negdf2_if_rex64"+1, "*negdf2_if_rex64"+2, "*negxf2_if"+1,
13104 "*negxf2_if"+2, "*negtf2_if"+1, "*negtf2_if"+2, "*abssf2_if"+1,
13105 "*abssf2_if"+2, "*absdf2_if_rex64"+1, "*absdf2_if_rex64"+2,
13106 "*absxf2_if"+1, "*absxf2_if"+2, "*abstf2_if"+1, "*abstf2_if"+2):
13107 Use these new predicates to simplify and correct the use of
13108 FP_REG_P, ANY_FP_REG_P, FP_REGNO_P and any ANY_FP_REGNO_P.
13109
db4c55f6
JM
131102002-09-12 Jason Merrill <jason@redhat.com>
13111
236a2ac8
JM
13112 * diagnostic.c (output_add_identifier): New fn.
13113 * diagnostic.h: Declare it.
13114
db4c55f6
JM
13115 * calls.c (store_one_arg): Use size_in_bytes to determine the
13116 amount of space to push.
13117
13c0bc20
JJ
131182002-09-12 Jakub Jelinek <jakub@redhat.com>
13119
13120 * config/sparc/linux64.h (STARTFILE_SPEC32): Fix a typo.
13121
0a3bdf9d
UW
131222002-09-12 Ulrich Weigand <uweigand@de.ibm.com>
13123
13124 * config/s390/s390-modes.def (CCAPmode, CCANmode): New CC modes.
13125 * config/s390/s390.c (s390_match_ccmode_set): Support new CC modes.
13126 (s390_select_ccmode): Likewise.
13127 (s390_branch_condition_mask): Likewise.
13128 (optimization_options): Do not set flag_branch_on_count.
13129 (s390_split_branches): Handle doloop branches.
13130 (s390_chunkify_pool): Likewise.
13131 * config/s390/s390.md ("*adddi3_imm_cc", "*addsi3_imm_cc"): New insns.
13132 ("doloop_end"): New expander.
13133 ("doolop_si", "*doloop_si_long", "doloop_di", "*doloop_di_long",
13134 associated splitters): New.
13135
4977bab6
ZW
131362002-09-11 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
13137
13138 * genattrtab.c (simplify_cond): Remove unused variable(s).
13139 * global.c (record_conflicts): Likewise.
13140 * jump.c (rebuild_jump_labels): Likewise.
13141 * loop.c (scan_loop, check_final_value): Likewise.
13142 * ra-colorize.c (colorize_one_web, assign_colors): Likewise.
13143 * reload1.c (eliminate_regs_in_insn, do_input_reload): Likewise.
13144 * rtlanal.c (reg_set_p): Likewise.
13145 * stmt.c (expand_asm_operands, expand_decl): Likewise.
13146 * genautomata.c (empty_reserv): Remove.
13147 * loop.c (max_luid): Likewise.
13148 * sched-rgn.c (bitlst_table_size): Likewise.
13149
131502002-09-11 Nathan Sidwell <nathan@codesourcery.com>
13151
13152 Reimplement gcov format.
13153 * gcov-io.h: Replace.
13154 * gcov.c: Reimplement.
13155 * gcov-iov.c: New file.
13156 * gcov-dump.c: New file.
13157 * libgcc2.c (L_bb): Replace with ...
13158 (L_gcov): ... this.
13159 (struct bb_function_info, struct bb): Remove.
13160 (inhibit_libc): Never inhibit.
13161 (gcov_list, gcov_crc): New static variables.
13162 (gcov_version_mismatch): New static function.
13163 (__bb_exit_func): Renamed to ...
13164 (__gcov_exit): ... here. Made static. Reimplement.
13165 (__gcov_init_func): Rename to ...
13166 (__gcov_init): ... here. Check version, update crc.
13167 (__bb_fork_func): Rename to ...
13168 (__gcov_flush): ... here.
13169 * libgcc2.h (struct bb, __bb_exit_func, __bb_init_func,
13170 __bb_fork_func, gcov_type, __bb_find_arc_counters): Remove.
13171 * calls.c (expand_call): Call __gcov_flush.
13172 * profile.c (bb_file, last_bb_file_name): Remove.
13173 (bbg_file_name): New global variable.
13174 (output_gcov_string): Remove.
13175 (get_exec_counts): Reimplement.
13176 (branch_prob): Reimplement gcov file writing.
13177 (init_branch_prob): Create bbg_file_name, don't create
13178 bb_file_name.
13179 (end_branch_prob): Adjust. Don't remove counter file when
13180 instrumenting ourselves.
13181 (create_profiler): Adjust.
13182 * doc/gcov.texi (Gcov Data Files): Remove detailed specification,
13183 point to gcov-io.h.
13184 * Makefile.in (LANGUAGES): Add gcov-dump.
13185 (coverageexts): Remove .bb.
13186 (STAGESTUFF): Add gcov-dump.
13187 (LIB2FUNCS_ST): Replace _bb with _gcov.
13188 (profile.o): Depend on gcov-iov.h.
13189 (final.o): Don't depend on profile.h, gcov.h.
13190 (gcov.o): Depend on gcov-iov.h.
13191 (gcov-iov.o): New target.
13192 (gcov-iov): New target.
13193 (gcov-iov.h): New target.
13194 (gcov-dump.o): New target.
13195 (GCOV_DUMP_OBJS): New variable.
13196 (gcov-dump): New target.
13197 (distclean): Remove coverageexts.
13198 (stage1): Remove coverageexts.
13199
4f968d93
HP
132002002-09-11 Hartmut Penner <hpenner@de.ibm.com>
13201
13202 * fold-const.c (make_range): Only narrow to signed range if
13203 the signed range is smaller than the unsigned range.
13204
35aff10b
AM
132052002-09-12 Alan Modra <amodra@bigpond.net.au>
13206
13207 * emit-rtl.c (set_mem_size): New function.
13208 * expr.h (set_mem_size): Declare.
13209 * config/rs6000/rs6000.c (expand_block_move_mem): Exterminate.
13210 (expand_block_move): Instead, use adjust_address and
13211 replace_equiv_address to generate proper aliasing info.
13212 Move common code out of conditionals. Localize vars.
13213
a9b6f1e7 132142002-09-11 Eric Botcazou <ebotcazou@libertysurf.fr>
d48fd218 13215
874f6a6d
EB
13216 * optabs.c (expand_binop): Minor cleanup.
13217 (expand_twoval_binop): Convert CONST_INTs like in expand_binop.
13218
d1df930b
DN
132192002-09-11 Dan Nicolaescu <dann@ics.uci.edu>
13220
13221 * print-tree.c (print_node): Print the restrict qualifier.
13222
9026a957
JJ
132232002-09-11 Janis Johnson <janis187@us.ibm.com>
13224
13225 * doc/install.texi: Fix typos.
13226
3fd9d606
ZW
132272002-09-11 Zack Weinberg <zack@codesourcery.com>
13228
13229 * Makefile.in: Remove all references to s-under and underscore.c.
13230 * collect2.c, tlink.c: Change all uses of prepends_underscore
13231 to look directly at USER_LABEL_PREFIX.
13232
5b5198f7
DE
132332002-09-11 David Edelsohn <edelsohn@gnu.org>
13234
13235 * config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section): Append
13236 alignment to csect.
13237 (rs6000_xcoff_unique_section): Only set section name for public
13238 data.
13239 (rs6000_xcoff_section_type_flags): Store log2 alignment in flags.
13240 * config/rs6000/xcoff.h (TARGET_ASM_SELECT_SECTION): Remove
13241 duplicate definition.
13242
77de9af2
JDA
132432002-09-10 John David Anglin <dave@hiauly1.hia.nrc.ca>
13244
13245 * pa.md (extzv): Check predicates before emitting extzv_32.
13246 (insv): Likewise.
13247
33b679d1
UW
132482002-09-10 Ulrich Weigand <uweigand@de.ibm.com>
13249
13250 * config/s390/s390.h (MOVE_MAX): Define to correct value.
13251 (MAX_MOVE_MAX): Define.
13252 (MOVE_BY_PIECES_P): Define.
13253 (CLEAR_BY_PIECES_P): Define.
13254
bfae8040
DC
132552002-09-10 Denis Chertykov <denisc@overta.ru>
13256
13257 * config/avr/avr.md (movstrhi): Use right operands for conversion.
13258
7730c3ff
RE
132592002-09-10 Richard Earnshaw <rearnsha@arm.com>
13260
13261 PR c/7873
13262 * arm.md (insv): Use reg_or_int_operand for operand[3].
13263
5add3202
DE
132642002-09-10 David Edelsohn <edelsohn@gnu.org>
13265
13266 * rs6000.c (rs6000_assemble_visibility): Protect declaration
13267 inside macro. Correct function definition typo.
13268 (rs6000_xcoff_section_type_flags): New function.
13269 (TARGET_SECTION_TYPE_FLAGS): Remove definition.
13270 (rs6000_elf_section_type_flags): Call default_section_type_flags_1
13271 with appropriate PIC test.
13272 (rs6000_xcoff_select_section): Use decl_readonly_section_1 to
13273 determine readonly.
13274 (rs6000_binds_local_p): Combine PIC flags.
13275 * sysv4.h (TARGET_SECTION_TYPE_FLAGS): Define.
13276 * xcoff.h (TARGET_SECTION_TYPE_FLAGS): Define.
13277
4977bab6
ZW
132782002-09-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13279
13280 * h8300.md: Fix signed/unsigned warnings.
13281 * mcore.md: Likewise.
13282 * mn10300.c (mask_ok_for_mem_btst): Likewise.
13283
90389422
PB
132842002-09-09 Per Bothner <per@bothner.com>
13285
13286 * print-tree.c (print_node): In a STRING_CST, escape non-ascii
13287 characters, and only print TREE_STRING_LENGTH chars.
13288
686f3bf0
SE
132892002-09-09 Steve Ellcey <sje@cup.hp.com>
13290
13291 * config/ia64/hpux.h (TARGET_HPUX_LD): New, define true.
13292 (ASM_FILE_END) New.
13293 * config/ia64/ia64.h (TARGET_HPUX_LD): New, define false.
13294 * config/ia64/ia64-protos.h (ia64_hpux_asm_file_end): New.
13295 * config/ia64/ia64.c (ia64_asm_output_external): Create list
13296 of external functions if TARGET_HPUX_LD is true.
13297 (ia64_hpux_add_extern_decl): New, routine to put names on
13298 list of external functions.
13299 (ia64_hpux_asm_file_end): Put out declarations for external
13300 functions if and only if they are used.
13301
0c263f4e
JDA
133022002-09-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
13303
13304 * pa.md (exception_receiver, builtin_setjmp_receiver): Add blockage
13305 on TARGET_64BIT before pic register restore.
13306
e2a6476e
DE
133072002-09-09 David Edelsohn <edelsohn@gnu.org>
13308
13309 * doc/tm.texi (TARGET_HAVE_SRODATA_SECTION): New description.
13310 (TARGET_HAVE_TLS): New description.
13311
b73b1546
JJ
133122002-09-09 Janis Johnson <janis187@us.ibm.com>
13313
13314 * doc/extend.texi (Statement Exprs): Fix broken link.
13315
a9738643
DC
133162002-09-09 Denis Chertykov <denisc@overta.ru>
13317
13318 * config/avr/avr.md (movstrhi, clrstrhi): Use gen_int_mode for
13319 right conversion of operands[1].
13320
05b9aaaa
UW
133212002-09-09 Ulrich Weigand <uweigand@de.ibm.com>
13322
13323 * config/s390/s390.md ("*tmdi_reg", "*tmsi_reg"): Do not mark as
13324 commutative. Use "nonimmediate_operand" instead of "register_operand"
13325 as predicate for operand 0. Move to after the "*tmXX_mem" insns.
13326
13327 ("*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem"): Do not mark
13328 as commutative.
13329
13330 ("*anddi3_ni", "*andsi3_ni", "*iordi3_ni", "*iorsi3_ni"): Do not
13331 mark as commutative. Use "nonimmediate_operand" instead of
13332 "register_operand" as predicate for operand 1.
13333
13334 ("movstrictsi"): Fix typo in insn name.
13335
7ec70495
JH
133362002-09-09 Jan Hubicka <jh@suse.cz>
13337
13338 * i386.c (index_register_operand): New.
13339 * i386.h (predicate_codes): Add new predicate.
8e746279 13340 * i386.md (lea_general_*): Use index_register_operand
7ec70495
JH
13341 (ashift to lea splitter): Do not produce invalid leas
13342 (ashift to mov+ashift split): New.
13343
b2fc915b
NC
133442002-09-09 Nick Clifton <nickc@redhat.com>
13345
13346 * config/fr30/fr30.c (output.h): Move after inclusion of tree.h.
13347 Fix folding marks.
13348
0b0ad147 133492002-09-09 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
d48fd218 13350 J"orn Rennecke <joern.rennecke@superh.com>
0b0ad147
TM
13351
13352 * sh/sh.h (OVERRIDE_OPTIONS): align_functions is in bytes, not bits.
13353
2bcc50d0
AM
133542002-09-09 Alan Modra <amodra@bigpond.net.au>
13355
13356 * config/rs6000/rs6000.c (rs6000_binds_local_p): Return bool.
13357 (function_ok_for_sibcall): Use binds_local_p. Respect longcall
13358 attributes.
13359
4977bab6
ZW
133602002-09-08 Nathan Sidwell <nathan@codesourcery.com>
13361
13362 * basic_block.h (gcov_type): Explain why it is signed.
13363 * final.c: Don't include profile.h.
13364 (struct function_list, functions_head, functions_tail,
13365 end_final): Moved to profile.c
13366 (final): Move arc chaining code to profile.c.
13367 * function.c (prepare_function_start): Remove duplicate line.
13368 * output.h (end_final): Remove prototype.
13369 * predict.c (estimate_loops_at_level): Use gcov_type.
13370 * profile.c (struct function_list, functions_head,
13371 functions_tail): Moved from final.c
13372 (need_func_profiler): Remove.
13373 (instrument_edges): Don't set need_func_profiler.
13374 (get_exec_counts): Avoid signed/unsigned warning.
13375 (compute_checksum): Use crc32.
13376 (branch_prob): Adjust. Chain onto functions_head.
13377 (init_branch_prob): Absorb init_edge_profiler.
13378 (init_edge_profiler): Remove.
13379 (create_profiler): Moved and renamed from final.c:end_final.
13380 Emit data and constructor.
13381 (output_func_start_profiler): Remove.
13382 * profile.h (struct profile_info): checksum is unsigned.
13383 * rtl.h (output_func_start_profiler): Remove prototype.
13384 (create_profiler): Declare.
13385 * toplev.c (compile_file): Call create_profiler, if instrumenting
13386 arcs. Don't call end_final.
13387
c1b4f089
KG
133882002-09-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13389
13390 * fr30.c (fr30_print_operand): Fix bug in output of CONST_DOUBLE.
13391
b9203463
RH
133922002-09-08 Richard Henderson <rth@redhat.com>
13393
13394 * dwarf2.h (DW_OP_call_ref): Rename from DW_OP_calli.
13395 (DW_OP_GNU_push_tls_address): New.
13396 (DW_OP_lo_user): Fix.
13397 * dwarf2out.c (INTERNAL_DW_OP_tls_addr): New.
13398 (dwarf_stack_op_name): Handle it, plus other dwarf3 opcodes.
13399 (size_of_loc_descr): Likewise.
13400 (output_loc_operands): Handle INTERNAL_DW_OP_tls_addr.
13401 (add_AT_location_description): Take a dw_loc_descr_ref not an rtx.
13402 (loc_descriptor_from_tree): Handle TLS variables.
13403 (rtl_for_decl_location): Do avoid_constant_pool_reference here ...
13404 (add_location_or_const_value_attribute): ... not here. Defer
13405 to loc_descriptor_from_tree for TLS variables.
13406
13407 * config/i386/i386.h (ASM_OUTPUT_DWARF_DTPREL): New.
13408 * config/i386/i386.c (i386_output_dwarf_dtprel): New.
13409 * config/i386/i386-protos.h: Update.
13410
7df98878
RS
134112002-09-08 Roger Sayle <roger@eyesopen.com>
13412
13413 PR optimization/6405
13414 * unroll.c (loop_iterations): last_loop_insn should be the previous
13415 non-note instruction before loop->end.
13416 * loop.c (strength_reduce): The conditional jump is the last
13417 non-note instruction before loop->end (as above).
13418
f40f4c8e
RS
134192002-09-08 Roger Sayle <roger@eyesopen.com>
13420
13421 * combine.c (try_combine): Handle the case that undobuf.other_insn
13422 has been turned into a return or unconditional jump, by inserting
13423 a BARRIER if necessary.
13424 (simplify_set): Test if a condition code setter has a constant
13425 comparison at compile time, if so convert this insn to a no-op move
13426 and update/simplify the condition code user (undobuf.other_insn).
13427
e2f97e26
KW
134282002-09-08 Krister Walfridsson <cato@df.lth.se>
13429
13430 * config/arm/netbsd.h (INITIALIZE_TRAMPOLINE): Redefine.
13431 (CLEAR_INSN_CACHE): Define.
13432
4b7e68e7
KH
134332002-09-08 Kazu Hirata <kazu@cs.umass.edu>
13434
13435 * basic-block.h: Fix comment formatting.
13436 * c-common.c: Likewise.
13437 * c-common.h: Likewise.
13438 * c-lex.c: Likewise.
13439 * c-pretty-print.c: Likewise.
13440 * cfglayout.c: Likewise.
13441 * cfgloop.c: Likewise.
13442 * defaults.h: Likewise.
13443 * et-forest.c: Likewise.
13444 * explow.c: Likewise.
13445 * function.h: Likewise.
13446 * gcov.c: Likewise.
13447 * genattrtab.c: Likewise.
13448 * gengtype.c: Likewise.
13449 * ifcvt.c: Likewise.
13450 * libgcc2.c: Likewise.
13451 * loop.c: Likewise.
13452 * profile.c: Likewise.
13453 * ra-build.c: Likewise.
13454 * real.c: Likewise.
13455 * rtl.h: Likewise.
13456 * tracer.c: Likewise.
13457 * tree-inline.c: Likewise.
13458 * varasm.c: Likewise.
13459
2567406a
JH
134602002-09-08 Jan Hubicka <jh@suse.cz>
13461
13462 * emit-rtl.c (set_mem_attributes_minus_bitpos): Fix array_ref
13463 handling.
13464
a36fc5f8 13465 * loop.c (loop_givs_reduce): Emit addition after.
2567406a 13466
bd79540a
AM
134672002-09-08 Alan Modra <amodra@bigpond.net.au>
13468
13469 * varasm.c (default_assemble_visibility): Rename from
13470 assemble_visibility.
13471 * output.h: Here too.
13472 * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): And here.
13473 * config/rs6000/rs6000.c (rs6000_assemble_visibility): And here.
13474
32ff9c74
AM
134752002-09-08 Alan Modra <amodra@bigpond.net.au>
13476
13477 * reload.c (find_reloads <p constraint>): Pass operand_mode to
13478 find_reloads_address.
13479
6588987e
KH
134802002-09-08 Kazu Hirata <kazu@cs.umass.edu>
13481
13482 * config/h8300/h8300.md (udivmodqi4): Enable on H8/300.
13483 (anonymous pattern): Likewise.
13484
4977bab6
ZW
134852002-09-07 Igor Shevlyakov <igor@microunity.com>
13486
13487 * machmode.def: Add modes for half-float vectors.
13488
0100732e
SS
134892002-09-07 Scott Snyder <snyder@fnal.gov>
13490
13491 PR target/7374
13492 * config/alpha/alpha.md (abstf2): Fix typo: 'neg' for 'abs'.
13493
77043c7c
RS
134942002-09-07 Roger Sayle <roger@eyesopen.com>
13495
13496 * basic-block.h (struct loop): Remove unused cont_dominator field.
13497
5dd78220
IS
134982002-09-07 Igor Shevlyakov <igor@microunity.com>
13499
d48fd218 13500 * varasm.c (decode_rtx_const): Don't check undefined field for
5dd78220
IS
13501 CONST_VECTOR.
13502
b96a3fa3
GN
135032002-09-07 Glen Nakamura <glen@imodulo.com>
13504
7fa86a10 13505 PR opt/7814
b96a3fa3
GN
13506 * sched-deps.c (sched_analyze_insn): Make sure to add insn
13507 to reg_last->sets after flushing the dependency lists to guarantee
13508 that subsequent clobbers will be dependent on it.
13509
ad9df12f 135102002-09-07 Igor Shevlyakov <igor@microunity.com>
2567406a 13511
ad9df12f
IS
13512 * combine.c (simplify_shift_const): Calculate rotate count
13513 correctly for vector operands.
13514
54c93c30
AE
135152002-09-07 Ansgar Esztermann <ansgar@thphy.uni-duesseldorf.de>
13516
13517 * c-typeck.c (c_tree_expr_nonnegative_p): New function.
13518 (build_binary_op): Call c_tree_expr_nonnegative_p rather than
2567406a 13519 tree_expr_nonnegative_p.
54c93c30
AE
13520 (build_conditional_expr): Likewise.
13521 * c-tree.h (c_tree_expr_nonnegative_p): Declare.
13522
36eea25f
RH
135232002-09-07 Richard Henderson <rth@redhat.com>
13524
3aa4cad7
RH
13525 * builtins.def (inf, inff, infl): Mark const.
13526 (huge_val, huge_valf, huge_vall): Likewise.
13527 (BUILT_IN_GETEXP, BUILT_IN_GETMAN): Remove.
13528
36eea25f
RH
13529 * real.c (ereal_inf): Clear E before use.
13530
5c102b48
KH
135312002-09-07 Kazu Hirata <kazu@cs.umass.edu>
13532
13533 * config/h8300/h8300.md (udivmodqi4): Split the pattern into
13534 an expander and an anonymous pattern. Zero out the upper half
13535 of the dividend in the expander.
13536 (udivmodqi4): Likewise.
13537
8bd06267
KH
135382002-09-07 Kazu Hirata <kazu@cs.umass.edu>
13539
13540 * config/h8300/h8300.c: Fix formatting.
13541 * config/h8300/h8300.h: Likewise.
13542 * config/h8300/h8300.md: Likewise.
13543
39587bb9
ZD
135442002-09-07 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
13545
13546 * cfgcleanup.c (try_crossjump_to_edge): Fix updating of liveness
13547 information.
13548
34146b94 135492002-09-07 Graham Stott <graham.stott@btinternet.com>
92d9256d
GS
13550
13551 * rtlanal.c (dead_or_set_regno_p): Fix typo.
13552
93638d7a
AM
135532002-09-07 Alan Modra <amodra@bigpond.net.au>
13554
fea76d82
AM
13555 * config/rs6000/linux64.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
13556
93638d7a
AM
13557 * doc/tm.texi (TARGET_ASM_ASSEMBLE_VISIBILITY): Describe.
13558 * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
13559 (TARGET_ASM_OUT): Add the above here.
13560 * target.h (struct gcc_target): Add "visibility" field.
13561 * varasm.c (maybe_assemble_visibility): Call targetm visibility func.
13562 * config/rs6000/rs6000.c (rs6000_assemble_visibility): New function.
13563 (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
13564 (rs6000_legitimize_reload_address, first_reg_to_save): Formatting.
13565
370ce32a
ZL
135662002-09-06 Ziemowit Laski <zlaski@apple.com>
13567
13568 * c-lang.c (objc_is_id): New stub.
13569 * c-tree.h (objc_is_id): New forward declaration.
13570 * c-typeck.c (build_c_cast): Do not strip protocol
13571 qualifiers from 'id' type.
13572 * objc/objc-act.c (objc_comptypes): Correct handling
13573 of protocol qualifiers.
13574 (objc_is_id): New.
13575
942579db
JL
13576Fri Sep 6 13:10:08 2002 Jeffrey A Law (law@redhat.com)
13577
54c93c30 13578 * pentium.md (pentium-firstvboth): Fix typo.
942579db 13579
c4dfc70c
DD
135802002-09-06 Dhananjay Deshpande <dhananjayd@kpit.com>
13581
13582 * h8300.c (enum shift_alg): Move to earlier in h8300.c.
13583 (enum shift_type, enum h8_cpu): Likewise.
13584 (INL, ROT, LOP, SPC macros): Likewise.
13585 (shift_alg_qi, shift_alg_hi, shift_alg_si): Likewise. Lose
13586 const designator.
13587 (h8300_init_once): Update shift_alg_{qi,hi,si} to use more
13588 space efficient algorithms when optimize for codesize.
13589
5873a4c1
NP
13590Fri Sep 6 16:35:32 2002 Nicola Pero <n.pero@mi.flashnet.it>
13591
13592 Fix PR/1727 and long-standing failing testcase
13593 objc/formal-protocol-6.m.
13594 * objc-act.c (build_protocol_expr): If compiling for the GNU
13595 runtime, create a list of Protocol statically allocated instances
13596 if it doesn't exist, then add the Protocol object to this same
13597 list.
13598 (get_objc_string_decl): Fixed typo/bug - TREE_VALUE had been used
13599 instead of TREE_CHAIN.
13600
e30d4c82
NP
13601Fri Sep 6 16:17:33 2002 Nicola Pero <n.pero@mi.flashnet.it>
13602
13603 * objc/objc-act.c (dump_interface): Enlarged the char * buffer to
13604 10k. Fixed category dumping - print out category names with the
13605 proper syntax. Print '@end\n' and not '\n@end' at the end of the
13606 interface.
22d4398d 13607 (finish_objc): Fixed the -gen-decls option. It was printing out
e30d4c82
NP
13608 only the last class. Dump an interface declaration of all classes
13609 being compiled instead.
13610
fcd53748
JT
136112002-09-06 Jason Thorpe <thorpej@wasabisystems.com>
13612
2567406a
JH
13613 * config/arm/arm-protos.h (arm_gen_return_addr_mask): New
13614 prototype.
fcd53748
JT
13615 * config/arm/arm.c (arm_gen_return_addr_mask): New function.
13616 * config/arm/arm.h (MASK_RETURN_ADDR): Use arm_gen_return_addr_mask
13617 if not APCS26 and not Thumb or ARMv4-or-higher. Use gen_int_mode
13618 rather than GEN_INT.
13619 * config/arm/arm.md (UNSPEC_CHECK_ARCH): Define.
13620 (return_addr_mask, *check_arch2): New.
13621
96fd3851
UW
136222002-09-06 Ulrich Weigand <uweigand@de.ibm.com>
13623
2567406a 13624 * config/s390/s390.md ("*adddi3_cc", "*adddi3_cconly",
96fd3851 13625 "*adddi3_cconly2", "*adddi3_64", "*adddi3_31", "adddi3",
2567406a 13626 "*addsi3_carry1_cc", "*addsi3_carry1_cconly",
96fd3851
UW
13627 "*addsi3_carry2_cc", "*addsi3_carry2_cconly",
13628 "*addsi3_cc", "*addsi3_cconly", "*addsi3_cconly2", "addsi3",
2567406a 13629 "adddf3", "*adddf3", "*adddf3_ibm",
96fd3851
UW
13630 "addsf3", "*addsf3", "*addsf3_ibm",
13631 "muldi3", "mulsi3", "mulsidi3",
13632 "muldf3", "*muldf3", "*muldf3_ibm",
13633 "mulsf3", "*mulsf3", "*mulsf3_ibm",
13634 "*anddi3_cc", "*anddi3_cconly", "anddi3",
13635 "*andsi3_cc", "*andsi3_cconly", "andsi3",
13636 "*iordi3_cc", "*iordi3_cconly", "iordi3",
13637 "*iorsi3_cc", "*iorsi3_cconly", "iorsi3",
13638 "*xordi3_cc", "*xordi3_cconly", "xordi3",
13639 "*xorsi3_cc", "*xorsi3_cconly", "xorsi3"): Use "nonimmediate_operand"
13640 instead of "register_operand" as predicate for "%0" operand.
13641
22252625
JJ
136422002-09-06 Jakub Jelinek <jakub@redhat.com>
13643
13644 * configure.in (HAVE_AS_OFFSETABLE_LO10): Use -xarch=v9
13645 unconditionally when gcc_cv_as_flags64 checks are gone.
13646 * configure: Rebuilt.
13647
bc401279
AM
136482002-09-06 Alan Modra <amodra@bigpond.net.au>
13649
13650 * config/rs6000/rs6000.md (extzvsi_internal2): Revert most of
13651 2002-07-26 change. Comment.
13652
b3fbfc07
KG
136532002-09-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13654
13655 * frv.c (frv_unique_section, frv_select_section,
13656 frv_select_rtx_section): Delete.
13657 (frv_in_small_data_p): New.
13658 (TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_SECTION,
13659 TARGET_ASM_SELECT_RTX_SECTION): Delete.
13660 (TARGET_IN_SMALL_DATA_P): Define.
13661
41e34bab
DJ
136622002-09-05 Dale Johannesen <dalej@apple.com>
13663
13664 * reload1.c (reload): Retain only those memory clobbers
13665 added for variable-array handling.
13666
dc0ba55a
JT
136672002-09-05 Jason Thorpe <thorpej@wasabisystems.com>
13668
13669 * config/arm/arm.c (arm_return_in_memory): Implement ATPCS
2567406a 13670 return-in-memory rules.
dc0ba55a
JT
13671 * config/arm/arm.h (ARM_FLAG_ATPCS, TARGET_ATPCS): Define.
13672
dd19d142
DE
136732002-09-05 David Edelsohn <edelsohn@gnu.org>
13674
13675 * config/rs6000/xcoff.h (HOT_TEXT_SECTION_NAME): Delete.
13676 (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Delete.
13677
3717da94
JT
136782002-09-05 Jason Thorpe <thorpej@wasabisystems.com>
13679
13680 * real.c: Avoid parse error if FLOAT_WORDS_BIG_ENDIAN is
13681 not a compile-time constant for the non-IBM case.
13682 * config/arm/arm-protos.h (arm_float_words_big_endian): New
2567406a 13683 prototype.
3717da94 13684 * config/arm/arm.c (arm_float_words_big_endian): New function.
b5b620a4 13685 * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __VFP_FP__
2567406a
JH
13686 if TARGET_VFP and not TARGET_HARD_FLOAT.
13687 (ARM_FLAG_VFP, TARGET_VFP): Define.
3717da94
JT
13688 (FLOAT_WORDS_BIG_ENDIAN): Use arm_float_words_big_endian.
13689
225cee28
DE
136902002-09-05 David Edelsohn <edelsohn@gnu.org>
13691
13692 * doc/install.texi: Correct text of s390-*-linux* and s390x-*-linux*
13693 URLs. Fix AIX wording.
13694
c72bfda7
SS
136952002-09-05 Stan Shebs <shebs@apple.com>
13696
13697 * config/rs6000/rs6000.c (rs6000_override_options): Make -fpic and
13698 -fPIC equivalent on Darwin.
13699
3578cf63
R
13700Thu Sep 5 16:27:47 2002 J"orn Rennecke <joern.rennecke@superh.com>
13701
13702 * sh.c (sh_expand_builtin): Return early if encountering an
13703 error_mark for a type.
13704
7974fe63
UW
137052002-09-05 Ulrich Weigand <uweigand@de.ibm.com>
13706
13707 * config/s390/s390.c (s390_expand_plus_operand): Do not require
13708 double-word scratch register.
13709 config/s390/s390.md ("reload_indi", "reload_insi"): Adapt.
13710
2567406a 13711 ("*tmqi_ext", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem",
7974fe63
UW
13712 "*cli"): Replace s_operand by memory_operand.
13713 ("cmpstrdi", "cmpstrsi"): Replace s_operand by general_operand.
13714
f8cb5851
KH
137152002-09-05 Kazu Hirata <kazu@cs.umass.edu>
13716
13717 * config/h8300/h8300.c (asm_file_start): Add a missing
13718 semicolon.
13719
4977bab6
ZW
137202002-09-04 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
13721
13722 * c-typeck.c (build_function_call): Remove unused variable(s).
13723 (build_c_cast): Likewise.
13724 * calls.c (rtx_for_function_call): Likewise.
13725 * cfglayout.c (duplicate_insn_chain): Likewise.
13726 * cfgloop.c (flow_loop_nodes_find): Likewise.
13727 * cfgrtl.c (split_edge): Likewise.
13728 * df.c (df_ref_create): Likewise.
13729 * except.c (expand_end_catch): Likewise.
13730 * expr.c (emit_push_insn, store_constructor, expand_expr): Likewise.
13731 * function.c (emit_return_into_block): Likewise.
13732 (reposition_prologue_and_epilogue_notes): Likewise.
13733 * gengtype.c (get_file_basename, write_gc_structure_fields): Likewise.
13734 * combine.c (subst_prev_insn, need_refresh): Remove.
13735 * dwarf2out.c (primary_filename): Remove.
13736 * final.c (new_block): Remove.
13737 * gcse.c (orig_bb_count): Remove.
13738
137392002-09-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13740
13741 * dsp16xx-protos.h (dsp16xx_compare_gen): Change to bool.
13742 * dsp16xx.c (dsp16xx_compare_gen): Likewise.
13743 * dsp16xx.md: Treat dsp16xx_compare_gen as a bool. Call functions
13744 directly instead of using a function pointer.
13745
5fc0e5df
KW
137462002-09-04 Krister Walfridsson <cato@df.lth.se>
13747
13748 * config/i386/i386.h (GOT_SYMBOL_NAME): Define.
13749 * config/i386/i386.c (output_set_got): Use GOT_SYMBOL_NAME.
13750 (ix86_output_addr_diff_elt) Likewise.
13751 (x86_output_mi_thunk) Likewise.
13752 * config/i386/netbsd.h (GOT_SYMBOL_NAME): Redefine.
13753
f4b488fd
KG
137542002-09-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13755
13756 * frv.c (frv_encode_section_info): Fix error in last change.
13757
0e5dbd9b
DE
137582002-09-04 David Edelsohn <edelsohn@gnu.org>
13759
13760 * config/rs6000/rs6000.c (rs6000_flag_pic): New variable.
13761 (rs6000_elf_encode_section_info): ATTRIBUTE_UNUSED.
13762 (TARGET_BINDS_LOCAL_P): Define.
13763 (rs6000_override_options): Save original flag_pic value.
13764 (rs6000_elf_select_section): Call default_elf_select_section_1.
13765 (rs6000_elf_unique_section): Call default_unique_section_1.
13766 (rs6000_elf_in_small_data_p): New function.
13767 (rs6000_xcoff_asm_named_section): Determine storage mapping class.
13768 (rs6000_xcoff_select_section): Update based on defaults.
13769 (rs6000_xcoff_unique_section): Set to basic name if not common.
13770 (rs6000_binds_local_p): New function.
13771 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Set
13772 targetm.have_srodata_section if SDATA_EABI.
13773 (TARGET_IN_SMALL_DATA_P): Define.
13774
f57f9cb8
DJ
137752002-09-04 Dale Johannesen <dalej@apple.com>
13776
13777 * varasm.c (struct rtx_const, decode_rtx_const):
13778 Make veclo and vechi fields not share storage.
13779
ed6cc1f5
R
13780Thu Sep 5 00:34:33 2002 J"orn Rennecke <joern.rennecke@superh.com>
13781
13782 * loop.c (scan_loop): Don't mark separate insns out of a libcall
13783 for moving.
13784 (move_movables): Abort if we see the first insn of a libcall.
13785
ab5e2615
RH
137862002-09-04 Richard Henderson <rth@redhat.com>
13787
13788 * builtin-types.def (BT_FN_FLOAT): New.
13789 (BT_FN_DOUBLE, BT_FN_LONG_DOUBLE): New.
13790 * builtins.def (BUILT_IN_INF, BUILT_IN_INFF, BUILT_IN_INFL,
13791 BUILT_IN_HUGE_VAL, BUILT_IN_HUGE_VALF, BUILT_IN_HUGE_VALL): New.
13792 * builtins.c (fold_builtin_inf): New.
13793 (fold_builtin): Call it.
13794 * real.c (ereal_inf): New.
13795 * real.h: Declare it.
13796 * doc/extend.texi: Document new builtins.
13797
9beb7d20
RH
137982002-09-04 Richard Henderson <rth@redhat.com>
13799
13800 * cse.c (cse_insn): Avoid subreg games if the equivalence
13801 is already in the proper mode.
13802
29984e05
EB
138032002-09-04 Eric Botcazou <ebotcazou@multimania.com>
13804
13805 PR c/7102
13806 * optabs.c (expand_binop): Convert CONST_INTs in all cases.
13807
8d46398e
JDA
138082002-09-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
13809
13810 * pa.md (setccfp0, setccfp1): New patterns.
13811
14966b94
KG
138122002-09-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13813
13814 * frv-protos.h (frv_init_builtins, frv_expand_builtin,
13815 frv_select_section, frv_select_rtx_section,
13816 frv_encode_section_info, frv_unique_section): Delete.
13817 * frv.c: Update for target hooks.
13818 * frv.h (STRIP_NAME_ENCODING, SLOW_ZERO_EXTEND, SELECT_SECTION,
13819 SELECT_RTX_SECTION, ENCODE_SECTION_INFO, UNIQUE_SECTION,
13820 EASY_DIV_EXPR, MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): Delete.
13821
c8bf1a1a
KG
138222002-09-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13823
13824 * ip2k-protos.h (function_prologue, function_epilogue,
13825 encode_section_info): Update to match target hook specification.
13826 * ip2k.c: Wrap `MDR' code in IP2K_MD_REORG_PASS.
13827 (function_prologue, function_epilogue, encode_section_info):
13828 Update to match target hook specification.
13829 * ip2k.h (SELECT_SECTION, SELECT_RTX_SECTION, ASM_OPEN_PAREN,
13830 ASM_CLOSE_PAREN, EASY_DIV_EXPR): Delete.
13831 (NOTICE_UPDATE_CC): Cast to void.
13832 * ip2k.md: Add defaults in switch statements.
13833
0484cb35
JJ
138342002-09-04 Janis Johnson <janis187@us.ibm.com>
13835
13836 * doc/trouble.texi (Interoperation): Update information about C++ ABI
13837 issues.
13838
3e62bd08
JT
138392002-09-04 Jason Thorpe <thorpej@wasabisystems.com>
13840
13841 * config/sparc/t-netbsd64: Disable multilib for now.
13842
275b6d80
DE
138432002-09-04 David Edelsohn <edelsohn@gnu.org>
13844
13845 * target-def.h (TARGET_HAVE_SRODATA_SECTION): New macro.
13846 * target.h (gcc_target): Add have_srodata_section member.
13847 * varasm.c (section_category): Add SECCAT_SRODATA.
13848 (categorize_decl_for_section): Return SECCAT_SRODATA for sdata if
13849 READONLY_SDATA_SECTION defined.
13850 (decl_readonly_section_1): True for SECCAT_SRODATA also.
13851 (default_elf_select_section_1): Map SECCAT_SRODATA to .sdata2.
13852 (default_unique_section_1): Likewise.
13853
015b1ad1
JDA
138542002-09-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
13855
13856 * expr.c (emit_group_load): Revise to allow splitting TCmode source
13857 into DImode pieces.
13858
13859 * pa-64.h (LONG_DOUBLE_TYPE_SIZE): Define to 128.
13860 * pa64-regs.h (CLASS_CANNOT_CHANGE_MODE_P): Inhibit changes from SImode
13861 for floating-point register class.
13862 * pa.c (function_arg): Fix handling of modes wider than one word for
13863 TARGET_64BIT.
13864
b10f2187
R
13865Wed Sep 4 18:48:10 2002 J"orn Rennecke <joern.rennecke@superh.com>
13866
13867 * combine.c (make_compound_operation): Don't generate zero / sign
13868 extensions in floating point modes.
13869
478c9e72
JJ
138702002-09-04 Janis Johnson <janis187@us.ibm.com>
13871
13872 * doc/c-tree.texi: Fix overfull hboxes.
13873 * doc/cppopts.texi: Ditto.
13874 * doc/extend.texi: Ditto.
13875 * doc/gty.texi: Ditto.
13876 * doc/invoke.texi: Ditto.
13877 * doc/makefile.texi: Ditto.
13878 * doc/rtl.texi: Ditto.
13879 * doc/standards.texi: Ditto.
13880 * doc/tm.texi: Ditto.
13881
77e8a0cc
RH
138822002-09-04 Richard Henderson <rth@redhat.com>
13883
13884 * c-common.c (builtin_define_with_hex_fp_value): New.
13885 (builtin_define_float_constants): Use it. Fix H_FLOAT mant_dig.
13886
a9c60612
JJ
138872002-09-04 Janis Johnson <janis187@us.ibm.com>
13888
13889 * doc/invoke.texi (-fshort-wchar): Move to Code Generation Options.
13890 (-fpcc-struct-return, -freg-struct-return, -fshort-enums,
13891 -fshort-double, -fshort-wchar, -fpack-struct, -fleading-underscore):
13892 Warn that these options can break ABI compatibility.
13893
4b67a274
RH
138942002-09-04 Richard Henderson <rth@redhat.com>
13895
13896 * real.c (ereal_to_decimal): Add digits parameter.
13897 * real.h (REAL_VALUE_TO_DECIMAL): Remove format; add digits parameter.
13898 * c-pretty-print.c (pp_c_real_literal): Update call.
13899 * print-rtl.c (print_rtx): Likewise.
13900 * print-tree.c (print_node_brief, print_node): Likewise.
13901 * sched-vis.c (print_value): Likewise.
13902 * config/arc/arc.c (arc_print_operand): Likewise.
13903 * config/c4x/c4x.c (c4x_print_operand): Likewise.
13904 * config/i370/i370.h (PRINT_OPERAND): Likewise.
13905 * config/i386/i386.c (print_operand): Likewise.
13906 * config/i960/i960.c (i960_print_operand): Likewise.
13907 * config/ip2k/ip2k.c (asm_output_float): Likewise.
13908 * config/m32r/m32r.c (m32r_print_operand): Likewise.
13909 * config/m68hc11/m68hc11.c (print_operand): Likewise.
13910 * config/m68k/hp320.h (PRINT_OPERAND, ASM_OUTPUT_FLOAT_OPERAND,
13911 ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
2567406a 13912 * config/m68k/m68k.h (ASM_OUTPUT_FLOAT_OPERAND,
4b67a274
RH
13913 ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
13914 * config/m68k/sun2o4.h (ASM_OUTPUT_FLOAT_OPERAND,
13915 ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
13916 * config/m68k/sun3.h (ASM_OUTPUT_FLOAT_OPERAND,
13917 ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
13918 * config/mips/mips.c (print_operand): Likewise.
13919 * config/ns32k/ns32k.c (print_operand): Likewise.
13920 * config/pdp11/pdp11.h (PRINT_OPERAND): Likewise.
13921 * config/vax/vax.h (PRINT_OPERAND): Likewise.
13922 * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Update docs.
13923
01abf342
BW
139242002-09-04 Bob Wilson <bob.wilson@acm.org>
13925
13926 * config/xtensa/elf.h (TARGET_SECTION_TYPE_FLAGS): Define to
13927 xtensa_multibss_section_type_flags.
13928 * config/xtensa/xtensa.c (xtensa_multibss_section_type_flags): Define.
13929
cd42d3df
RH
139302002-09-04 Richard Henderson <rth@redhat.com>
13931
13932 * doc/install-old.texi: Don't mention enquire.
13933 * doc/sourcebuild.texi: Update float.h description.
13934
502e6d5a
R
13935Wed Sep 4 11:22:14 2002 J"orn Rennecke <joern.rennecke@superh.com>
13936
13937 * sh.md (mperm_w_little, mperm_w_big): Supply mode for zero_extract.
13938
4977bab6
ZW
139392002-09-03 Roger Sayle <roger@eyesopen.com>
13940
13941 * builtins.c (build_function_call_expr): Remove prototype, export
13942 as non-static and add a comment above function definition.
13943 (builtin_mathfn_code): New function to check for math builtins.
13944 (fold_builtin): Optimize sqrt(0.0) as 0.0, sqrt(1.0) as 1.0,
13945 exp(0.0) as 1.0, and log(1.0) as 0.0. Optimize exp(log(x)) and
13946 log(exp(x)) as x. Optimize sqrt(exp(x)) as exp(x/2.0) and
13947 log(sqrt(x)) as log(x)/2.0.
13948
13949 * tree.h: Prototype build_function_call_expr and builtin_mathfn_code
13950 in new "builtins.c" section. Place the build_range_type prototype
13951 with the other prototypes from "tree.c".
13952
13953 * fold-const.c (fold) [ABS_EXPR]: Fold fabs(sqrt(x)) as sqrt(x)
13954 and fabs(exp(x)) as exp(x). [MULT_EXPR]: Fold sqrt(x)*sqrt(y)
13955 as sqrt(x*y) and exp(x)*exp(y) as exp(x+y). [RDIV_EXPR]: Fold
13956 x/exp(y) as x*exp(-y).
13957
2cc9fb4c
DE
139582002-09-03 David Edelsohn <edelsohn@gnu.org>
13959
13960 * varasm.c (default_section_type_flags): Append _1 to name with
13961 shlib parameter. Use original name to call new function with
13962 implicit flag_pic.
13963 (decl_readonly_section): Likewise.
13964 (default_elf_select_section): Likewise.
13965 (default_unique_section): Likewise.
13966 (default_bind_local_p): Likewise.
13967 (categorize_decl_for_section): Add shlib parameter to use in place
13968 of implicit flag_pic.
13969 * output.h: Declare new functions with _1 and shlib argument.
13970
7c19f816
JJ
139712002-09-03 Janis Johnson <janis187@us.ibm.com>
13972
8c085f6f
JJ
13973 * doc/install.texi: Fix typos, formatting problems, and obvious
13974 overfull/underfull boxes.
13975
7c19f816
JJ
13976 * Makefile.in (TEXI_GCC_FILES): Add compat.texi.
13977 * doc/gcc.texi (Top): Add new chapter, Binary Compatibility, and
13978 include its file, compat.texi.
13979 * doc/compat.texi: New file with new chapter, Binary Compatibility.
13980
79ba5e3b
NB
139812002-09-03 Neil Booth <neil@daikokuya.co.uk>
13982
13983 Debian BTS Bug #157416
13984 * cpphash.h (FIRST, LAST, CUR, RLIMIT): Fix definitions.
13985 * cpplib.c (destringize_and_run): Kludge around getting
13986 tokens from in-progress macros.
13987 (_cpp_do__Pragma): Simplify.
13988
57016b47
SE
139892002-09-03 Steve Ellcey <sje@cup.hp.com>
13990
13991 * config/ia64/ia64.h (EXTRA_SPECS): Remove cpp_cpu.
13992 (CPP_CPU_SPEC): Remove.
13993 (TARGET_CPU_CPP_BUILTINS): New.
13994 * config/ia64/hpux.h (CPP_PREDEFINES): Remove.
13995 (CPP_SPEC): Remove.
13996 (TARGET_OS_CPP_BUILTINS): New.
13997 * config/ia64/linux.h (CPP_PREDEFINES): Remove.
13998 (TARGET_OS_CPP_BUILTINS): New.
13999 * config/ia64/aix.h (CPP_SPEC): Move some stuff to
14000 TARGET_OS_CPP_BUILTINS.
14001 (CPP_PREDEFINES): Remove.
14002 (CPLUSPLUS_CPP_SPEC): Remove.
14003 (TARGET_OS_CPP_BUILTINS): New.
14004
d57a4b98
RH
140052002-09-03 Richard Henderson <rth@redhat.com>
14006
14007 * Makefile.in (USER_H): Add ginclude/float.h.
14008 (FLOAT_H): Remove.
14009 (stmp-int-hdrs, install-mkheaders): Don't handle FLOAT_H.
14010 (mostlyclean): Don't remove float.h intermediate files.
14011 (distclean): Don't remove float.h.
14012 * config.gcc: Remove all float_format references.
14013 * configure.in (float_format, float_h_file): Remove.
14014
14015 * c-common.c: Include tree-inline.h.
14016 (builtin_define_with_int_value): New.
14017 (builtin_define_type_precision): Use it.
14018 (builtin_define_float_constants): New.
14019 (cb_register_builtins): Use it. Define __FLT_RADIX__ and
14020 __FLT_EVAL_METHOD__.
14021 * defaults.h (TARGET_FLT_EVAL_METHOD): New.
14022 * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): New.
14023 * config/m68k/m68k.h (TARGET_FLT_EVAL_METHOD): New.
14024 * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Mention moto 96-bit format.
14025 (TARGET_FLT_EVAL_METHOD): New.
14026
14027 * config/float-c4x.h, config/float-i128.h, config/float-i32.h,
14028 config/float-i386.h, config/float-i64.h, config/float-m68k.h,
14029 config/float-sh.h, config/float-sparc.h, config/float-vax.h: Remove.
14030 * ginclude/float.h: New.
14031
527347f0
SS
140322002-09-03 Stan Shebs <shebs@apple.com>
14033
14034 * config/darwin.h (WARN_FOUR_CHAR_CONSTANTS): Remove, never used.
14035 (DWARF2_DEBUGGING_INFO): Remove until assembler accepts Dwarf-2.
14036 (PREFERRED_DEBUGGING_TYPE): Ditto.
14037 (ASM_OUTPUT_IDENT): Remove empty definition.
14038
34c1864f
SE
140392002-09-03 Steve Ellcey <sje@cup.hp.com>
14040
14041 * config.gcc (ia64*-*-hpux*): Add ia64-c.o to c_target and
14042 cxx_target.
14043 * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Register pragma
14044 handling routine for builtin pragma.
14045 * config/ia64/ia64-protos.h (ia64_hpux_handle_builtin_pragma):
14046 Registered pragma handling routine.
14047 * ia64-c.c (ia64_hpux_handle_builtin_pragma): Ditto.
14048 (ia64_hpux_add_pragma_builtin) New subroutine used by above.
14049 If builtin pragma seen for math routine and C89 conformance is
14050 requested use different math function in order to set errno.
14051 * t-ia64 (ia64-c.o): Add new rule for new file.
14052
9b7c75b9
UW
140532002-09-03 Ulrich Weigand <uweigand@de.ibm.com>
14054
14055 * config/s390/s390.md ("movti"): Add Q->Q alternative.
14056 ("*movdi_64", "*movdi_31", "*movsi", "movhi", "movqi_64",
14057 "movqi", "*movdf_64", "*movdf_31", "*movsf"): Likewise.
2567406a
JH
14058
14059 ("*movti_ss", "*movdi_ss", "*movsi_ss", "*movdf_ss",
9b7c75b9
UW
14060 "*movsf_ss"): Remove.
14061
710ba35f
JDA
140622002-09-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
14063
14064 * pa32-regs.h (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P):
14065 Delete macros.
14066
ff970081
AD
140672002-09-03 Arati Dikey <aratid@kpit.com>
14068
14069 * h8300.c (asm_file_start): Corrected optimization comment.
14070
b50d021d
SS
140712002-09-03 Stan Shebs <shebs@apple.com>
14072
14073 * c-lang.c (recognize_objc_keyword): Remove, no longer used.
14074 * c-tree.h (recognize_objc_keyword): Remove decl.
14075 * c-typeck.c (comp_target_types): Update a comment.
14076
b808c04c
UW
140772002-09-03 Ulrich Weigand <uweigand@de.ibm.com>
14078
14079 * config/s390/s390.c (s390_decompose_address): Remove STRICT parameter
14080 and register validity checks.
14081 (general_s_operand): Adapt to s390_decompose_address interface change.
14082 (q_constraint): Likewise.
14083 (s390_expand_plus_operand): Likewise.
14084 (legitimiate_address_p): Likewise.
14085 (legitimate_la_operand_p): Likewise.
14086 (legitimize_la_operand): Likewise.
14087 (print_operand_address): Likewise.
14088 (print_operand): Likewise.
14089
ee453219
NP
14090Tue Sep 3 11:32:14 2002 Nicola Pero <n.pero@mi.flashnet.it>
14091
14092 PR objc/5956:
14093 * objc/objc-act.c (build_typed_selector_reference): Fix typo which
2567406a
JH
14094 was causing the new selector never to match the existing ones
14095 (Patch by Alexander Malmberg <alexander@malmberg.org>).
ee453219 14096
d82283d5
GS
140972002-09-03 Graham Stott <graham.stott@btinternet.com>
14098
14099 * config/i386/i386.md ("femms"): Add "memory" attr "none".
14100
141012002-09-03 Graham Stott <graham.stott@btinternet.com>
c7a009a2
GS
14102
14103 * expr.c (expand_expr): Remove extraneous comment and code.
14104
4977bab6
ZW
141052002-09-02 Nathan Sidwell <nathan@codesourcery.com>
14106
14107 * stor-layout (finish_builtin_struct): Renamed and moved from c++
14108 frontend. Take chain of fields. Allow NULL alignment type.
14109 * tree.h (finish_builtin_struct): Declare.
14110
141112002-09-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14112
14113 * config/alpha/alpha.c config/alpha/alpha.h config/alpha/alpha.md
14114 config/alpha/elf.h config/alpha/unicosmk.h config/alpha/vms.h
14115 config/arc/arc.c config/arc/arc.h config/arm/aout.h
14116 config/arm/arm.c config/arm/arm.h config/arm/arm.md
14117 config/avr/avr.h config/d30v/d30v.h config/dbxcoff.h
14118 config/dbxelf.h config/elfos.h config/fr30/fr30.h config/frv/frv.h
14119 config/i386/i386.c config/i386/i386.md config/i386/sco5.h
14120 config/ia64/ia64.h config/ip2k/ip2k.h config/m68hc11/m68hc11.md
14121 config/m68k/hp320.h config/m68k/m68k.c config/m68k/m68k.md
14122 config/m68k/mot3300.h config/m68k/sgs.h config/m68k/tower-as.h
14123 config/m88k/m88k.c config/m88k/m88k.h config/mcore/mcore-pe.h
14124 config/mcore/mcore.c config/mips/mips.c config/mips/mips.h
14125 config/ns32k/ns32k.md config/pa/pa-linux.h config/pa/pa.c
14126 config/pa/pa.h config/pa/pa.md config/romp/romp.h
14127 config/rs6000/linux64.h config/rs6000/lynx.h
14128 config/rs6000/rs6000.c config/rs6000/sysv4.h config/rs6000/xcoff.h
14129 config/s390/s390.c config/s390/s390.md config/sh/sh.c
14130 config/sparc/sparc.c config/sparc/sysv4.h
14131 config/stormy16/stormy16.h dbxout.c defaults.h dwarf2out.c
14132 dwarfout.c except.c final.c varasm.c vmsdbgout.c: Replace
14133 ASM_OUTPUT_INTERNAL_LABEL macro with a call to the target hook.
14134
14135 * doc/tm.texi: Update docs.
14136 * default.h (ASM_OUTPUT_INTERNAL_LABEL): Don't define.
14137 * system.h (ASM_OUTPUT_INTERNAL_LABEL): Poison.
14138
141392002-08-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14140
14141 * Makefile.in (sdbout.o, insn-output.o): Depend on $(TARGET_H).
14142 * arc.c (arc_internal_label): New function.
14143 (TARGET_ASM_INTERNAL_LABEL): Set.
14144 * arc.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
14145 * arm.c (arm_internal_label): New function.
14146 (TARGET_ASM_INTERNAL_LABEL): Set.
14147 * arm.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
14148 * arm/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
14149 * i370.c (i370_internal_label): New function.
14150 (TARGET_ASM_INTERNAL_LABEL): Set.
14151 * i370.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
14152 * m68k/hp320.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
14153 * m68k.c (m68k_hp320_internal_label): New function.
14154 (TARGET_ASM_INTERNAL_LABEL): Set.
14155 * m88k.c (m88k_internal_label): New function.
14156 (TARGET_ASM_INTERNAL_LABEL): Set.
14157 * m88k.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
14158 * defaults.h (ASM_OUTPUT_INTERNAL_LABEL): Set to target hook.
14159 * genoutput.c (output_prologue): Include target.h in output file.
14160 * output.h (default_internal_label): Declare.
14161 * sdbout.c: Include target.h.
14162 * target-def.h (TARGET_ASM_INTERNAL_LABEL): Set and add to
14163 TARGET_ASM_OUT.
14164 * target.h (internal_label): Add to struct gcc_target.
14165 * varasm.c (default_internal_label): New function.
14166
141672002-08-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14168
14169 * alpha.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
14170 * avr.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14171 * c4x.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14172 * cris.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14173 * d30v.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14174 * darwin.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14175 * dsp16xx.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14176 * elfos.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14177 * h8300.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14178 * i386/att.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14179 * i386/bsd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14180 * i386/i386-coff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14181 * i386/lynx-ng.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14182 * i386/lynx.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14183 * i386/sco5.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14184 * i960/i960.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14185 * m68k/3b1.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14186 * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14187 * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14188 * m68k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14189 * m68k/mot3300.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14190 * m68k/tower-as.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14191 * m88k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14192 * mcore.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14193 * mips.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14194 * mmix-protos.h (mmix_asm_output_internal_label): Likewise.
14195 * mmix.c (mmix_asm_output_internal_label): Likewise.
14196 * mmix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14197 * ns32k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14198 * pa.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14199 * pdp11.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14200 * romp.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14201 * rs6000/xcoff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14202 * sh/coff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14203 * sh/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14204 * sparc/freebsd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14205 * sparc/linux.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14206 * sparc/linux64.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14207 * sparc/netbsd-elf.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14208 * sparc/pbd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14209 * sparc/sol2.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14210 * sparc.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14211 * sparc/vxsim.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14212 * stormy16.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14213 * svr3.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14214 * vax.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14215
14216 * defaults.h (ASM_OUTPUT_INTERNAL_LABEL): Define.
14217
98c0d8d1
RH
142182002-08-31 Richard Henderson <rth@redhat.com>
14219
14220 * expr.c (block_move_libcall_safe_for_call_parm): Fix thinko.
14221
a5f3f0ab
JDA
142222002-08-31 John David Anglin <dave@hiauly1.hia.nrc.ca>
14223
14224 * pa.c (pa_globalize_label): Add ATTRIBUTE_UNUSED to prototype.
14225
38ec83b1
RH
142262002-08-30 Richard Henderson <rth@redhat.com>
14227
c9989d09 14228 PR opt/7515
38ec83b1
RH
14229 * c-objc-common.c: Include target.h.
14230 (c_cannot_inline_tree_fn): Don't auto-inline functions that
14231 don't bind locally. Factor setting DECL_UNINLINABLE.
14232 * Makefile.in (c-objc-common.o): Update.
14233
4c64396e
JJ
142342002-08-30 Janis Johnson <janis187@us.ibm.com>
14235
14236 * doc/install.texi (Configuration, Building): Fix a typo and
14237 some formatting directives.
14238
4226378a
PK
142392002-08-30 Paul Koning <pkoning@equallogic.com>
14240
14241 * doc/c-tree.texi (RDIV_EXPR): Fix typo.
14242 * doc/rtl.texi (post_modify): Remove misplaced text, remove "not
14243 implemented" note.
14244 * doc/md.texi (IP2K): Move machine-specific constraints before MIPS
14245 for alphabetic order.
14246 * doc/tm.texi (TARGET_FLOAT_FORMAT): Update description for
14247 VAX_FLOAT_FORMAT. Remove reference to HOST_FLOAT_FORMAT.
14248 (VAX_HALFWORD_ORDER): Document.
14249 (LARGEST_EXPONENT_IS_NORMAL): Remove note about being only for
14250 IEEE float format.
14251 (TARGET_SCHED_ISSUE_RATE): Reword reference to MAX_DFA_ISSUE_RATE.
14252 (ASM_OUTPUT_LABEL_REF): Fix font.
14253 (CASE_VECTOR_SHORTEN_MODE): Ditto.
14254
b8074dbe
DC
142552002-08-30 Denis Chertykov <denisc@overta.ru>
14256
14257 * config/ip2k/ip2k.c (ip2k_set_compare): Remove all const_double
14258 stuff.
14259 (ip2k_gen_unsigned_comp_branch): Handle CONST_INT and
14260 CONST_DOUBLE constants.
2567406a 14261
55f49e3d
JT
142622002-08-30 Jason Thorpe <thorpej@wasabisystems.com>
14263
14264 * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Move language-
14265 related defines to...
14266 (SUBTARGET_LANGUAGE_CPP_BUILTINS): ...here.
14267 * config/alpha/netbsd.h (SUBTARGET_LANGUAGE_CPP_BUILTINS): Redefine
14268 as a no-op.
14269
e1944073
KW
142702002-08-30 Krister Walfridsson <cato@df.lth.se>
14271
14272 * config/arm/arm.c (arm_asm_output_labelref): New function.
14273 * config/arm/arm.h (ASM_OUTPUT_LABELREF): Call arm_asm_output_labelref.
14274 * config/arm/arm-protos.h: Add prototype for arm_asm_output_labelref.
14275
6e92b3a1
RB
142762002-08-29 Rodney Brown <rbrown64@csc.com.au>
14277
14278 * doc/install.texi (Specific, alpha*-dec-osf*): Add "virtual
14279 memory exhausted" workarounds.
14280
9d533cb5
GDR
142812002-08-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
14282
14283 * diagnostic.c (fancy_abort): Don't repeat "internal error".
14284 * toplev.c (crash_signal): Likewise.
14285
1f676100
NP
14286Fri Aug 30 00:33:37 2002 Nicola Pero <n.pero@mi.flashnet.it>
14287
14288 * doc/cpp.texi (__NEXT_RUNTIME__): Extended documentation.
14289 * doc/invoke.texi (-fnext-runtime, -Wno-protocol, -Wselector):
14290 Extended, updated documentation.
14291 (-Wundeclared-selector): Documented.
14292
23532de9
JT
142932002-08-29 Jason Thorpe <thorpej@wasabisystems.com>
14294
14295 * config/chorus.h: Consistently define *_DEBUGGING_INFO with
14296 the value 1. Do not undef before defining.
14297 * config/darwin.h: Likewise.
14298 * config/dbx.h: Likewise.
14299 * config/dbxcoff.h: Likewise.
14300 * config/dbxelf.h: Likewise.
14301 * config/elfos.h: Likewise.
14302 * config/interix.h: Likewise.
14303 * config/lynx-ng.h: Likewise.
14304 * config/lynx.h: Likewise.
14305 * config/netware.h: Likewise.
14306 * config/psos.h: Likewise.
14307 * config/svr3.h: Likewise.
14308 * config/alpha/alpha.h: Likewise.
14309 * config/alpha/elf.h: Likewise.
14310 * config/alpha/vms.h: Likewise.
14311 * config/arc/arc.h: Likewise.
14312 * config/arm/aout.h: Likewise.
14313 * config/arm/coff.h: Likewise.
14314 * config/c4x/c4x.h: Likewise.
14315 * config/h8300/h8300.h: Likewise.
14316 * config/i386/cygwin.h: Likewise.
14317 * config/i386/djgpp.h: Likewise.
14318 * config/i386/gas.h: Likewise.
14319 * config/i386/gstabs.h: Likewise.
14320 * config/i386/i386-coff.h: Likewise.
14321 * config/i386/i386-interix.h: Likewise.
14322 * config/i386/sco5.h: Likewise.
14323 * config/i386/svr3dbx.h: Likewise.
14324 * config/i386/sysv3.h: Likewise.
14325 * config/i386/win32.h: Likewise.
14326 * config/i386/x86-64.h: Likewise.
14327 * config/i960/i960.h: Likewise.
14328 * config/ia64/ia64.h: Likewise.
14329 * config/ip2k/ip2k.h: Likewise.
14330 * config/m32r/m32r.h: Likewise.
14331 * config/m68k/3b1.h: Likewise.
14332 * config/m68k/3b1g.h: Likewise.
14333 * config/m68k/ccur-GAS.h: Likewise.
14334 * config/m68k/coff.h: Likewise.
14335 * config/m68k/hp2bsd.h: Likewise.
14336 * config/m68k/hp310g.h: Likewise.
14337 * config/m68k/hp320g.h: Likewise.
14338 * config/m68k/hp3bsd.h: Likewise.
14339 * config/m68k/hp3bsd44.h: Likewise.
14340 * config/m68k/linux-aout.h: Likewise.
14341 * config/m68k/m68k-aout.h: Likewise.
14342 * config/m68k/mot3300.h: Likewise.
14343 * config/m68k/netbsd.h: Likewise.
14344 * config/m68k/openbsd.h: Likewise.
14345 * config/m68k/pbb.h: Likewise.
14346 * config/m68k/plexus.h: Likewise.
14347 * config/m68k/sun2.h: Likewise.
14348 * config/m68k/sun3.h: Likewise.
14349 * config/m68k/tower-as.h: Likewise.
14350 * config/m68k/vxm68k.h: Likewise.
14351 * config/m88k/aout-dbx.h: Likewise.
14352 * config/m88k/m88k-aout.h: Likewise.
14353 * config/mcore/mcore-elf.h: Likewise.
14354 * config/mcore/mcore-pe.h: Likewise.
14355 * config/mips/elf.h: Likewise.
14356 * config/mips/elf64.h: Likewise.
14357 * config/mips/iris5gas.h: Likewise.
14358 * config/mips/iris6.h: Likewise.
14359 * config/mips/mips.h: Likewise.
14360 * config/mips/sni-gas.h: Likewise.
14361 * config/mmix/mmix.h: Likewise.
14362 * config/ns32k/netbsd.h: Likewise.
14363 * config/pa/pa64-hpux.h: Likewise.
14364 * config/romp/romp.h: Likewise.
14365 * config/rs6000/sysv4.h: Likewise.
14366 * config/rs6000/xcoff.h: Likewise.
14367 * config/sh/coff.h: Likewise.
14368 * config/sh/elf.h: Likewise.
14369 * config/sparc/linux64.h: Likewise.
14370 * config/sparc/liteelf.h: Likewise.
14371 * config/sparc/netbsd.h: Likewise.
14372 * config/sparc/openbsd.h: Likewise.
14373 * config/sparc/pbd.h: Likewise.
14374 * config/sparc/sp64-elf.h: Likewise.
14375 * config/sparc/sp86x-elf.h: Likewise.
14376 * config/sparc/sparc.h: Likewise.
14377 * config/vax/vax.h: Likewise.
14378 * config/vax/vaxv.h: Likewise.
14379
5e98fba2
DD
143802002-08-29 "Dhananjay R. Deshpande" <dhananjayd@kpit.com>
14381
14382 * h8300.c (shift_alg_hi): Various tweaks to improve performance
14383 of HImode shifts.
14384 (get_shift_alg): Corresponding changes.
14385
43852342
JDA
143862002-08-29 John David Anglin <dave@hiauly1.hia.nrc.ca>
14387
14388 * som.h (ALWAYS_STRIP_DOTDOT): Define to 1.
14389
44bb111a
RH
143902002-08-29 Richard Henderson <rth@redhat.com>
14391
14392 * expr.h (enum block_op_methods): New.
14393 (emit_block_move): Update prototype.
14394 * expr.c (block_move_libcall_safe_for_call_parm): New.
14395 (emit_block_move_via_loop): New.
14396 (emit_block_move): Use them. New argument METHOD.
14397 (emit_push_insn): Always respect the given alignment.
14398 (expand_assignment): Update call to emit_block_move.
14399 (store_expr, store_field, expand_expr): Likewise.
14400 * builtins.c (expand_builtin_apply): Likewise.
14401 (expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
14402 * function.c (expand_function_end): Likewise.
14403 * config/sh/sh.c (sh_initialize_trampoline): Likewise.
14404 * config/sparc/sparc.c (sparc_va_arg): Likewise.
14405 * calls.c (expand_call, emit_library_call_value_1): Likewise.
14406 (save_fixed_argument_area): Use emit_block_move with
14407 BLOCK_OP_CALL_PARM instead of move_by_pieces.
14408 (restore_fixed_argument_area): Likewise.
14409 (store_one_arg): Fix alignment parameter to emit_push_insn.
14410
08b3d104
JDA
144112002-08-29 John David Anglin <dave@hiauly1.hia.nrc.ca>
14412
14413 * install.texi (hppa64-hp-hpux11*): Document installation procedure.
14414
ce4e9970 144152002-08-29 Catherine Moore <clm@redhat.com>
8376061d
CM
14416
14417 * config/v850/v850.h (MULDI3_LIBCALL, UCMPDI2_LIBCALL, CMPDI2_LIBCALL,
14418 NEGDI2_LIBCALL, INIT_TARGET_OPTABS, MASK_STRICT_ALIGN): Define.
14419 (PREDICATE_CODES): Include new predicates.
14420 (RTX_COSTS): Handle UMOD and UDIV. Tune MULT for v850e.
14421 (TARGET_SWITCHES): Add strict-align.
14422 (TARGET_STRICT_ALIGN): New.
2567406a 14423 (MASK_DEFAULT, STRICT_ALIGNMENT): Redefine.
8376061d
CM
14424 * config/v850/t-v850 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
14425 Define.
14426 (LIB1ASMFUNCS): Add v850_negdi2, v850_cmpdi2, v850_ucmpdi2,
14427 v850_muldi3.
14428 * config/v850/lib1funcs.asm (L_callt_save_r2_r29, L_return_r2_r29,
14429 L_callt_save_r2_r31, L_return_r2_r31,
14430 L_save_all_interrupt): Change addi to add.
14431 (L_save_interrupt, L_return_interrupt): Rework.
14432 (__return_r31): Correct .size directive.
14433 (mulsi3, divsi3, udivsi3, umodsi3, modsi3): Tune for v850e.
14434 (v850_negdi2, v850_cmpdi2, v850_ucmpdi2, v850_muldi3):
14435 New routines.
14436 * config/v850/v850.c (expand_prologue): Call
14437 gen_callt_save_interrupt, gen_callt_restore_all_interrupt,
14438 gen_callt_return_interrupt and gen_callt_save_all_interrupt.
14439 (reg_or_int9_operand): New predicate.
14440 (reg_or_const_operand): New routine.
14441 * config/v850/v850.md (return_interrupt): Changed from
14442 restore_interrupt.
14443 (callt_save_all_interrupt): Changed from save_all_interrupt_v850e.
14444 (callt_save_interrupt): Change save sequence.
14445 (callt_return_interrupt): New.
14446 (save_interrupt): Don't use runtime function for LONG_CALLS
14447 and TARGET_PROLOG_FUNCTION.
14448 (save_all_interrupt): Likewise.
14449 (mulsi3): Use new predicate.
14450 (moviscc): Disallow some combination of constants.
14451 Fix define_split for sasf insns, so that it will not generate bad
14452 code if operand0 and operand5 are the same.
14453 * config/v850/v850-protos.h: Prototype new predicates.
14454
4977bab6
ZW
144552002-08-29 Zack Weinberg <zack@codesourcery.com>
14456
14457 * config/rs6000/rs6000.c (processor_target_table): Add 405f.
14458 * config/rs6000/rs6000.h (ASM_CPU_SPEC): Likewise.
14459
585e661a
GDR
144602002-08-28 Gabriel Dos Reis <gdr@integrable-solutions.net>
14461
14462 * c-common.c (builtin_define_type_precision): New function.
14463 (cb_register_builtins): Use it. Define __WCHAR_UNSIGNED__ is
14464 wchar_t is unsigned in C++.
14465 * doc/cpp.texi (Common Predefined Macros): Document
14466 __WCHAR_UNSIGNED__, __CHAR_BIT__, __WCHAR_BIT__, __SHRT_BIT__,
14467 __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
14468 __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
14469
bd8f9aec
SP
144702002-08-28 Sylvain Pion <pion@cs.nyu.edu>
14471
14472 * doc/invoke.texi (-Wreorder): Remove remaining pieces from the generic
14473 section. Mention that it is enabled by -Wall.
14474 (-Wall): Mention that there can be language-specific warnings as well.
14475 (-Wctor-dtor-privacy): Mention that it is enabled by default.
14476 (-Wnon-virtual-dtor): Mention that it is enabled by -Wall.
14477
58ab7171
R
14478Wed Aug 28 15:35:17 2002 J"orn Rennecke <joern.rennecke@superh.com>
14479
14480 * sh.c (calc_live_regs): Save FPSCR_REG in an interrupt handler
14481 if it is ever live.
14482
14483 * sh.c (sh_handle_interrupt_handler_attribute): Reject interrupt_handler
14484 attribute for SHCOMPACT.
14485
14486 * sh.h (OVERRIDE_OPTIONS): If align_function isn't set, set it
14487 appropriately.
14488 (FUNCTION_BOUNDARY): Specify only the minimum alignment required
14489 by the ABI.
14490
14491 * sh.h (SH5_WOULD_BE_PARTIAL_NREGS): Also handle TImode case.
14492
27f4b67e
JT
144932002-08-28 Jason Thorpe <thorpej@wasabisystems.com>
14494
14495 * config.gcc (mips*-*-netbsd*): Set target_cpu_default to
14496 "MASK_GAS|MASK_ABICALLS".
14497 * config/mips/netbsd.h (TARGET_ENDIAN_DEFAULT)
14498 (TARGET_DEFAULT): Remove.
14499 (MACHINE_TYPE): Undefine before defining.
14500 (DBX_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE): Remove.
14501
eca7f13c
MM
145022002-08-27 Mark Mitchell <mark@codesourcery.com>
14503
14504 * c-common.c (warn_abi): New variable.
14505 * c-common.h (warn_abi): Likewise.
14506 * c-opts.c (COMMAND_LINE_OPTIONS): Add -Wabi.
14507 (c_common_decode_option): Handle it.
7ee425e4 14508 * doc/invoke.texi: Document -Wabi.
2567406a 14509
ece4ce85
NP
14510Tue Aug 27 23:03:52 2002 Nicola Pero <n.pero@mi.flashnet.it>
14511
14512 * c-common.c (warn_undeclared_selector): New variable.
14513 * c-common.h (warn_undeclared_selector): Idem.
14514 * c-opts.c (c_common_decode_option): Set warn_undeclared_selector
14515 to on when -Wundeclared-selector is found.
14516 (COMMAND_LINE_OPTIONS): Added -Wundeclared-selector.
14517 * objc/objc-act.c (build_selector_expr): If
14518 warn_undeclared_selector is set, check that the selector has
14519 already been defined, and emit a warning if not.
14520
b4378319 145212002-08-27 Nick Clifton <nickc@redhat.com>
54c93c30
AE
14522 Catherine Moore <clm@redhat.com>
14523 Jim Wilson <wilson@cygnus.com>
14524
14525 * config.gcc: Add v850e-*-* target.
14526 Add --with-cpu= support for v850.
14527 * config/v850/lib1funcs.asm: Add v850e callt functions.
14528 * config/v850/v850.h: Add support for v850e target.
14529 * config/v850/v850.c: Add functions to support v850e target.
14530 * config/v850/v850-protos.h: Add prototypes for new functions in v850.c.
14531 * config/v850/v850.md: Add patterns for v850e instructions.
14532 * doc/invoke.texi: Document new v850e command line switches.
b4378319 14533
ef261fee
R
14534Tue Aug 27 18:30:47 2002 J"orn Rennecke <joern.rennecke@superh.com>
14535 Aldy Hernandez <aldyh at redhat dot com>
14536
14537 * doc/tm.texi: Applied numerous fixes to the automaton based
14538 scheduler descrition.
14539
c60ee6f5
JH
14540Tue Aug 27 19:51:05 CEST 2002 Jan Hubicka <jh@suse.cz>
14541
14542 * i386.c (classify_argument): Handle variable sized objects.
14543
1985ef90
JH
14544Tue Aug 27 19:18:16 CEST 2002 Jan Hubicka <jh@suse.cz>
14545
14546 * i386.c (ix86_expand_int_movcc): Fix RTL sharing problem
14547
7acc97e0
JH
14548Tue Aug 27 18:01:45 CEST 2002 Jan Hubicka <jh@suse.cz>
14549
14550 * libgcc2.c (__bb_exit_func): Properly write the summarized statistics.
14551
23327dae
JH
14552Tue Aug 27 18:00:11 CEST 2002 Jan Hubicka <jh@suse.cz>
14553
14554 * i386.c (classify_argument): Properly compute word size of the analyzed object.
14555
c49439f1
R
14556Tue Aug 27 14:39:09 2002 J"orn Rennecke <joern.rennecke@superh.com>
14557
14558 * sh.md (attribute type): Add types mt_group, fload, pcfload, fpul_gp,
14559 mac_gp ftrc_s and cwb. Add / Adjust definitions in individual insn
14560 accordingly.
14561 (attribute insn_class): Provide default definitions based on type.
14562 Remove all insn-specific settings.
14563 (various function units): Remove old SH4 scheduling.
14564 (branch_zero, dfp_comp, late_fp_use, any_fp_comp, any_int_load):
14565 New attributes. Set them where appropriate.
14566 (cpu unit FS): Don't define / use.
14567 (F3, load_store): New cpu units.
14568 (F01): New reservation.
14569 (all insn_reservations): Make dependent on sh4 pipeline model.
14570 Fix latencies.
14571 (nil, reg_mov, freg_mov, sh4_fpul_gp, sh4_call): New insn_reservations.
14572 (sh4_mac_gp, fp_arith_ftrc, arith3, arith3b): Likewise.
14573 (mt insn_reservation): Use type mt_group.
14574 (insn_reservation load_store): Split into sh4_load, sh4_load_si,
14575 sh4_fload and sh4_store.
14576 (insn_reservation branch_zero and branch): Replace with sh4_branch.
14577 (insn_reservation branch_far): Replace with sh4_return.
14578 (insn_reservation return_from_exp): Rename to:
14579 (sh4_return_from_exp). Change to be just d_lock*5.
14580 (insn_reservation lds_to_pr): Rename to:
14581 (sh4_lds_to_pr). Change to be just d_lock*2.
14582 (insn_reservation ldsmem_to_pr, sts_from_pr): Change to be just
14583 d_lock*2.
14584 (insn_reservation prload_mem): Rename to:
14585 (sh4_prstore_mem). Change to d_lock*2,nothing,memory.
14586 (insn_reservation fpscr_store): Rename to:
14587 (fpscr_load). Change to d_lock,nothing,F1*3.
14588 (insn_reservation fpscr_store_mem): Rename to:
14589 (fpscr_load_mem). Change to d_lock,nothing,(F1+memory),F1*2.
14590 (insn_reservation multi): Change to
14591 d_lock,(d_lock+f1_1),(f1_1|f1_2)*3,F2.
14592 (insn_reservation fp_arith): Change to issue,F01,F2.
14593 (insn_reservation fp_div: Change to issue,F01+F3,F2+F3,F3*7,F1+F3,F2.
14594 (insn_reservation dp_float): Change to issue,F01,F1+F2,F2.
14595 (insn_reservation fp_double_arith): Change to issue,F01,F1+F2,fpu*4,F2.
14596 (insn_reservation fp_double_cmp): Change to
14597 d_lock,(d_lock+F01),F1+F2,F2.
14598 (insn_reservation dp_div): Change to
14599 issue,F01+F3,F1+F2+F3,F2+F3,F3*16,F1+F3,(fpu+F3)*2,F2.
14600 * sh.c (flow_dependent_p, flow_dependent_p_1): New functions.
14601 (sh_adjust_cost, SHcompact): Differentiate between different
14602 kinds of dependencies. Drop factor of ten for superscalar.
14603 Use new instruction types. Add new exception rules.
14604
14605 * sh.md (mulhisi3, umulhisi3: Add a REG_EQUAL note.
14606
14607 * sh.md (mperm_w): Add DONE.
14608
f34fc46e
DE
146092002-08-27 David Edelsohn <edelsohn@gnu.org>
14610
14611 * longlong.h: Import current PowerPC defintion from GMP-4.1.
14612
14613 * config/rs6000/rs6000.h (MIN_UNITS_PER_WORD): Add IN_LIBGCC2 case.
14614
14615 * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Undef before define.
14616
dcb44500
R
14617Tue Aug 27 13:53:57 2002 J"orn Rennecke <joern.rennecke@superh.com>
14618
14619 * sh.h (MAX_FIXED_MODE_SIZE): Define.
14620
3ec07554
GDR
146212002-08-27 Gabriel Dos Reis <gdr@soliton.integrable-solutions.net>
14622
14623 * doc/cpp.texi (Common Predefined Macros): Don't mess with table
2567406a 14624 delimiter.
3ec07554 14625
35885eab
GDR
146262002-08-27 Gabriel Dos Reis <gdr@integrable-solutions.net>
14627
14628 * c-common.c (cpp_define_data_format): New function.
14629 (cb_register_builtins): Call it.
14630
14631 * doc/cpp.texi (Common Predefined Macros): Document
14632 __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
14633 __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
14634 __TARGET_FLOAT_FORMAT__, __TARGET_USES_VAX_F_FLOAT__,
14635 __TARGET_USES_VAX_D_FLOAT__, __TARGET_USES_VAX_G_FLOAT__,
14636 __TARGET_USES_VAX_H_FLOAT__.
14637
d632dee9
ZL
146382002-08-26 Ziemowit Laski <zlaski@apple.com>
14639
14640 * objc/objc-act.c (get_super_receiver): If inside a class method
14641 of a category, cast the receiver to 'id' before accessing the 'isa'
14642 field so that <objc/objc-class.h> is not needed. For NeXT runtime.
14643
c3cc6b78
UW
146442002-08-26 Ulrich Weigand <uweigand@de.ibm.com>
14645
2567406a 14646 * config/s390/s390-protos.h (s390_function_prologue,
c3cc6b78
UW
14647 s390_function_epilogue): Remove.
14648 config/s390/s390.c (s390_function_prologue, s390_function_epilogue,
14649 TARGET_ASM_FUNCTION_PROLOGUE, TARGET_ASM_FUNCTION_EPILOGUE): Remove.
14650
14651 config/s390/s390.c (s390_machine_dependent_recorg): New function.
14652 config/s390/s390-protos.h (s390_machine_dependent_reorg): Declare it.
14653 config/s390/s390.h (MACHINE_DEPENDENT_REORG): Call it.
14654 config/s390/s390.c (s390_split_branches, s390_chunkify_pool): Adapt
14655 to being called from MACHINE_DEPENDENT_REORG. Update regs_ever_live.
14656
2567406a 14657 config/s390/s390.c (s390_frame_info): Inline save_fprs_p. Always
c3cc6b78
UW
14658 assume BASE_REGISTER and RETURN_REGNUM need to be saved.
14659 (s390_emit_prologue): Assume RETURN_REGNUM to be saved iff
14660 function is not a leaf function. Use save_gprs and restore_gprs.
14661 (s390_emit_epilogue): Likewise.
14662 (save_gprs, restore_gprs): New functions.
14663 (struct s390_frame): Remove return_reg_saved_p member.
14664 (save_fprs_p): Remove.
14665 (s390_optimize_prolog): New function.
14666 (s390_legitimate_reload_constant): Remove now unnecessary check.
14667
14668 (s390_function_count): Remove.
14669 (s390_output_symbolic_const): Replace s390_function_count by
14670 current_function_funcdef_no.
14671 (s390_output_constant_pool): Likewise.
14672
14673 (legitimize_pic_address): Use regs_ever_live to track PIC register
14674 instead of current_function_uses_pic_offset_table.
14675 (s390_emit_prologue): Likewise.
14676 config/s390/s390.md ("call", "call_value"): Likewise.
14677
3f662186
NB
146782002-08-26 Neil Booth <neil@daikokuya.co.uk>
14679
14680 * c-opts.c (find_opt): Don't complain about wrong languages
14681 here. Return exact matches even for wrong language.
14682 (c_common_decode_option): Complain about wrong languages
14683 here.
14684
b6128b8c
SH
146852002-08-24 Stuart Hastings <stuart@apple.com>
14686
14687 * function.h (struct function): Add flag
14688 all_throwers_are_sibcalls.
14689 * except.c (set_nothrow_function_flags): Replaces
14690 nothrow_function_p. Set new flag.
14691 * except.h (set_nothrow_function_flags): Replaces
14692 nothrow_function_p.
14693 * dwarf2out.c (struct dw_fde_struct): Add flag
14694 all_throwers_are_sibcalls.
14695 (output_call_frame_info): Test it.
14696 (dwarf2out_begin_prologue) Propagate it from cfun to
14697 dw_fde_struct.
14698 * toplev.c (rest_of_compilation): Update calls to
14699 nothrow_function_p.
14700
280cf02a
ZW
147012002-08-23 Zack Weinberg <zack@codesourcery.com>
14702
14703 * ggc-page.c (compute_inverse): Short circuit calculation for
14704 object sizes larger than half a page.
14705
c6664446
DE
147062002-08-23 David Edelsohn <edelsohn@gnu.org>
14707
14708 * config/rs6000/rs6000.c (rs6000_elf_select_section): Treat
14709 DEFAULT_ABI == ABI_AIX like PIC. Test PIC & reloc for readonly
14710 default.
14711 (rs6000_elf_unique_section): Likewise.
14712
da57d233
KG
147132002-08-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14714
14715 * ns32k.c (ns32k_globalize_label): Delete.
14716 * ns32k.h (ASM_OUTPUT_LABEL, TARGET_ASM_GLOBALIZE_LABEL): Delete.
14717
56a7189a
AM
147182002-08-23 Alan Modra <amodra@bigpond.net.au>
14719
14720 * config/rs6000/rs6000.c (output_mi_thunk): Don't determine insns
14721 for loading delta with num_insns_constant_wide. Calculate
14722 delta_low, delta_high without using a conditional.
14723
d65b1d77
JM
147242002-08-22 Jason Merrill <jason@redhat.com>
14725
14726 * c-common.h (RETURN_STMT_EXPR): Rename from RETURN_EXPR.
14727 * c-common.def: Adjust.
14728 * c-dump.c (c_dump_tree): Adjust.
14729 * c-semantics.c (genrtl_return_stmt): Adjust.
14730 * c-pretty-print.c (pp_c_statement): Adjust.
14731 * tree-inline.c (copy_body_r): Adjust.
14732
8537ed68
ZW
147332002-08-22 Zack Weinberg <zack@codesourcery.com>
14734
14735 * ggc-page.c: Avoid division in ggc_set_mark.
14736 (DIV_MULT, DIV_SHIFT, OFFSET_TO_BIT, inverse_table,
14737 compute_inverse): New.
14738 (ggc_set_mark, ggc_marked_p): Use OFFSET_TO_BIT.
14739 (init_ggc): Initialize inverse_table.
14740
8567c70f
TT
147412002-08-22 Tom Tromey <tromey@redhat.com>
14742
14743 * doc/install.texi (Configuration): Document --datadir.
14744
fde59d4b
AO
147452002-08-22 Alexandre Oliva <aoliva@redhat.com>
14746
14747 * Makefile.in ($(BUILD_PREFIX_1)varray.o): Depend on $(GGC_H).
14748
44ddc79a
HPN
147492002-08-22 Hans-Peter Nilsson <hp@bitrange.com>
14750
14751 * gengtype-lex.l (ID): Allow underscore as first character.
14752
b275d088
DE
147532002-08-21 David Edelsohn <edelsohn@gnu.org>
14754
14755 * config/rs6000/rs6000.c (rs6000_xcoff_asm_globalize_label): New
14756 function.
14757 (rs6000_xcoff_asm_named_section): Rename.
14758 * config/rs6000/xcoff.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
14759
57ce46bb
TT
147602002-08-21 Tom Tromey <tromey@redhat.com>
14761
14762 For PR java/6005 and PR java/7611:
14763 * fold-const.c (fold_truthop): Use can_use_bit_fields_p.
14764 (fold): Likewise.
14765 * langhooks.c (lhd_can_use_bit_fields_p): New function.
14766 * langhooks-def.h (lhd_can_use_bit_fields_p): Declare.
14767 (LANG_HOOKS_CAN_USE_BIT_FIELDS_P): New define.
14768 (LANG_HOOKS_INITIALIZER): Use it.
14769 * langhooks.h (struct lang_hooks) [can_use_bit_fields_p]: New
14770 field.
14771
27d30956
SS
147722002-08-21 Stan Shebs <shebs@apple.com>
14773
14774 * tree.c (finish_vector_type): Fix a typo in a comment.
14775 * Makefile.in: Fix "the the" stutters in comments.
14776 * genautomata.c: Ditto.
14777 * ifcvt.c: Ditto.
14778 * regrename.c: Ditto.
14779 * config/alpha/alpha.c: Ditto.
14780 * config/alpha/vms-crt0-64.c: Ditto.
14781 * config/alpha/vms-crt0.c: Ditto.
14782 * config/alpha/vms-psxcrt0-64.c: Ditto.
14783 * config/alpha/vms-psxcrt0.c: Ditto.
14784 * config/d30v/d30v.h: Ditto.
14785 * config/fr30/fr30.h: Ditto.
14786 * config/rs6000/rs6000.c: Ditto.
14787 * config/stormy16/stormy16.h: Ditto.
14788 * doc/md.texi: Ditto.
8537ed68 14789
d873d827
JDA
147902002-08-21 John David Anglin <dave@hiauly1.hia.nrc.ca>
14791
14792 * cppinit.c (remove_dup_nonsys_dirs): Fix warning and return value.
14793
b462d4ab
JM
147942002-08-21 Joseph S. Myers <jsm@polyomino.org.uk>
14795
14796 * c-decl.c (grokdeclarator): Make invalid combinations with long,
14797 short, signed or unsigned into hard errors. Fixes PR c/4319.
14798 Also make duplicate modifiers such as "short short" into hard
14799 errors.
14800
b65d23aa 148012002-08-21 Andrew Pinski <pinskia@physics.uc.edu>
8537ed68 14802 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
b65d23aa
AP
14803
14804 * doc/tm.texi (TARGET_ASM_GLOBALIZE_LABEL): Move '@end deftypefn'
14805 to the actual end. Add '@end table' and '@table @code'.
8537ed68 14806
3823f0b2
GK
148072002-08-20 Geoffrey Keating <geoffk@redhat.com>
14808
8d25d915
GK
14809 * doc/tm.texi (Label Output): Add missing '@end deftypefn'.
14810
3823f0b2
GK
14811 * unroll.c (biv_total_increment): Don't try to compute the total
14812 increment for FP BIVs.
14813
5eb99654
KG
148142002-08-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14815
14816 * alpha.c (TARGET_ASM_GLOBALIZE_LABEL): Define for unicosmk.
14817 * alpha/elf.h (ASM_OUTPUT_EXTERNAL_LIBCALL,
14818 ASM_OUTPUT_ALIGNED_BSS): Use target hook.
14819 * alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS): Likewise.
14820 * alpha/unicosmk.h (ASM_GLOBALIZE_LABEL): Delete.
14821 * arm/aof.h (ASM_GLOBALIZE_LABEL): Likewise.
14822 (GLOBAL_ASM_OP): Define.
14823 * arm.c (aof_globalize_label): New function.
14824 (TARGET_ASM_GLOBALIZE_LABEL): Define for AOF.
14825 * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
14826 * c4x.c (c4x_globalize_label): New function.
14827 (TARGET_ASM_GLOBALIZE_LABEL): Define for c4x.
14828 * c4x.h (ASM_GLOBALIZE_LABEL): Delete.
14829 (GLOBAL_ASM_OP): Define.
14830 * cris/aout.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
14831 * darwin-protos.h (darwin_globalize_label): Declare.
14832 * darwin.c (darwin_globalize_label): New function.
14833 * darwin.h (ASM_DECLARE_CLASS_REFERENCE): Use target hook.
14834 (ASM_GLOBALIZE_LABEL): Delete.
14835 (GLOBAL_ASM_OP, TARGET_ASM_GLOBALIZE_LABEL): Define.
14836 * dsp16xx.c (asm_output_common): Use target hook.
14837 * elfos.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise.
14838 * frv.h (ASM_GLOBALIZE_LABEL): Delete.
14839 (GLOBAL_ASM_OP): Define.
14840 * i370.c (i370_globalize_label): New function.
14841 (TARGET_ASM_GLOBALIZE_LABEL): Define for i370.
14842 * i370.h (ASM_GLOBALIZE_LABEL): Delete.
14843 * i386.c (ix86_asm_file_end): Use target hook.
14844 * i386/sco5.h (ASM_GLOBALIZE_LABEL): Don't undef.
14845 (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
14846 * ia64.c (ia64_asm_output_external): Likewise.
14847 * ia64/sysv4.h: Update comment.
14848 * m32r.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
14849 * mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
14850 * mips/iris5.h (ASM_OUTPUT_WEAK_ALIAS): Use target hook.
14851 * mips/linux.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
14852 * mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Use target hook.
14853 * mmix-protos.h (mmix_asm_globalize_label): Delete.
14854 * mmix.c (mmix_asm_globalize_label): Likewise.
14855 * mmix.h (ASM_GLOBALIZE_LABEL): Likewise.
14856 (GLOBAL_ASM_OP): Define.
14857 * ns32k.c (ns32k_globalize_label): New function.
14858 * ns32k.h (TARGET_ASM_GLOBALIZE_LABEL): Define for ns32k.
14859 (ASM_GLOBALIZE_LABEL): Delete.
14860 * pa/pa-linux.h (ASM_GLOBALIZE_LABEL): Don't undef.
14861 (TARGET_ASM_GLOBALIZE_LABEL): Undefine.
14862 * pa.c (pa_globalize_label): New function.
14863 * pa.h (ASM_GLOBALIZE_LABEL): Delete.
14864 (TARGET_ASM_GLOBALIZE_LABEL): Define for pa.
14865 * rs6000/darwin.h (ASM_GLOBALIZE_LABEL): Delete.
14866 (GLOBAL_ASM_OP): Define.
14867 (TARGET_ASM_GLOBALIZE_LABEL): Undef.
14868 * rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
14869 * rs6000/xcoff.h (ASM_GLOBALIZE_LABEL): Delete.
14870 (GLOBAL_ASM_OP): Define.
14871 * v850.c (v850_output_aligned_bss): Use target hook.
14872 * vax.c (vms_globalize_label): New function.
14873 (TARGET_ASM_GLOBALIZE_LABEL): Define for vms.
14874 * vax/vms.h (ASM_GLOBALIZE_LABEL): Delete.
14875 (GLOBAL_ASM_OP): Define.
14876 * defaults.h (ASM_GLOBALIZE_LABEL): Delete.
14877 * doc/tm.texi: Update docs.
14878 * dwarf2out.c (default_eh_frame_section, output_die_symbol): Use
14879 target hook.
14880 * final.c (output_alternate_entry_point): Likewise.
14881 * hooks.c (hook_FILEptr_constcharptr_void): New function.
14882 * hooks.h (hook_FILEptr_constcharptr_void): Declare.
14883 * output.h (assemble_global): Delete.
14884 (default_globalize_label): Declare.
14885 * system.h (ASM_GLOBALIZE_LABEL): Poison.
14886 * target-def.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
14887 (TARGET_ASM_OUT): Add TARGET_ASM_GLOBALIZE_LABEL.
14888 * target.h (gcc_target): Add globalize_label member.
14889 * varasm.c (asm_output_bss, asm_output_aligned_bss,
14890 globalize_decl): Use target hook.
14891 (assemble_global): Delete.
14892 (default_globalize_label): New function.
14893
f8f28a75
KG
148942002-08-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14895
14896 * dsp16xx.h (dsp16xx_umulhi3_libcall): Delete.
14897
92b5aacd
DP
148982002-08-20 Devang Patel <dpatel@apple.com>
14899 * tree.c (get_qualified_type): Add TYPE_CONTEXT check.
8537ed68 14900
761c70aa
KG
149012002-08-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14902
14903 * arc.c (output_shift): Use stdio instead of asm_fprintf.
14904 * arm.c (thumb_output_function_prologue): Likewise.
14905 * avr.c (print_operand): Likewise.
14906 * c4x.c (c4x_print_operand): Likewise.
14907 * c4x.h (ASM_OUTPUT_INTERNAL_LABEL, TRAMPOLINE_TEMPLATE,
14908 ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Likewise.
14909 * cris.c (cris_target_asm_function_prologue,
14910 cris_asm_output_mi_thunk): Likewise.
14911 * h8300.c (print_operand): Likewise.
14912 * h8300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
14913 * ip2k.c (print_operand): Likewise. Fix format specifier.
14914 * m68hc11.c (asm_print_register, print_operand,
14915 print_operand_address): Use stdio instead of asm_fprintf.
14916 (print_operand_address): Fix format specifier.
14917 * m68hc11.h (FUNCTION_PROFILER, ASM_OUTPUT_ADDR_DIFF_ELT,
14918 ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ALIGN): Use stdio instead of
14919 asm_fprintf.
14920 * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14921 * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14922 * m68k.c (m68k_output_function_prologue,
14923 m68k_output_function_epilogue, print_operand): Likewise.
14924 * mmix.c (mmix_asm_output_mi_thunk, mmix_asm_weaken_label):
14925 Likewise. Fix format specifier.
14926 * mn10200.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
14927 * mn10300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
14928 * v850.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
14929
5ce6f47b
EC
149302002-08-15 Eric Christopher <echristo@redhat.com>
14931 Jeff Knaggs <jknaggs@redhat.com>
14932
14933 * config.gcc (mipsisa64sr71k-elf): New target.
14934 * config/mips/sr71k.md: New file.
14935 * config/mips/mips.md: Use it.
14936 (rot*): Add sr71k specifics.
14937 * config/mips/t-sr71k: New file.
14938 * config/mips/mips.h (sr71k): New cpu.
14939 (TARGET_SR71K): Use it.
14940 (TUNE_SR71K): Ditto.
14941 (GENERATE_BRANCHLIKELY): Ditto.
14942 (ISA_HAS_MULHI, ISA_HAS_MULS, ISA_HAS_MSAC, ISA_HAS_MACC,
14943 ISA_HAS_ROTR_SIISA_HAS_ROTR_DI): Ditto.
14944 * config/mips/mips.c (sr71k): New cpu.
14945 (mips_use_dfa_pipeline_interface): Use.
14946
149472002-08-15 Eric Christopher <echristo@redhat.com>
8537ed68 14948 Richard Sandiford <rsandifo@redhat.com>
5ce6f47b
EC
14949 Aldy Hernandez <aldyh@redhat.com>
14950 Graham Stott <grahams@redhat.com>
14951 Michael Meissner <meissner@redhat.com>
14952 Gavin Romig-Koch <gavin@redhat.com>
14953 Ken Raeburn <raeburn@cygnus.com>
14954 Alexandre Oliva <aoliva@redhat.com>
14955
14956 * config.gcc (mips64vr-elf): New target.
14957 * config/mips/5400.md: New file.
14958 * config/mips/5500.md: Ditto.
14959 * config/mips/mips.md: Use them.
14960 (frsqrt): New.
14961 * config/mips/mips.c (vr4111, vr4121, vr4320, vr5400, vr5500): New
14962 cpus.
14963 (mips_issue_rate): Use them.
14964 (mips_use_dfa_pipeline_interface): New function. Use for 5400 and 5500.
14965 (TARGET_SCHEDUSE_DFA_PIPELINE_INTERFACE): Define. Use above.
14966 * config/mips/mips.h (vr4111, vr4121, vr4320, vr5400, vr5500): New
14967 cpus.
14968 (TARGET_MIPSx): Use them.
14969 (TUNE_MIPSx): Ditto.
14970 (GETNATE_MULT3_SI): Ditto.
14971 (ISA_HAS_BRANCHLIKELY): Ditto.
14972 (ISA_HAS_CONDMOVE): Ditto.
14973 (ISA_HAS_NMADD_NMSUB): Ditto.
14974 (ISA_HAS_MULHI): New. Ditto.
14975 (ISA_HAS_MULS): Ditto.
14976 (ISA_HAS_MSAC): Ditto.
14977 (ISA_HAS_MACC): Ditto.
14978 (ISA_HAS_ROTR_SI): Ditto.
14979 (ISA_HAS_ROTR_DI): Ditto.
14980 (RTX_COSTS): Use.
14981
48209ce5
JDA
149822002-08-20 John David Anglin <dave@hiauly1.hia.nrc.ca>
14983
14984 * cppinit.c (remove_dup_dir): Add head_ptr argument to handle removal
14985 at head.
14986 (remove_dup_nonsys_dirs): New function.
14987 (remove_dup_dirs): Change argument head to head_ptr. Remove warnings.
14988 (merge_include_chains): Remove non-system include directories from
14989 quote and bracket include chains when they duplicate equivalent system
14990 directories.
14991 * doc/cpp.texi (-I): Update.
8537ed68
ZW
14992 * doc/cppopts.texi (-I): Update.
14993 * doc/install.texi (--with-local-prefix): Further document usage of
48209ce5
JDA
14994 this option.
14995 * doc/invoke.texi (-I): Update.
14996
4ca79136
RH
149972002-08-20 Richard Henderson <rth@redhat.com>
14998
14999 * expr.c (TARGET_MEM_FUNCTIONS): Transform to boolean.
15000 (emit_block_move): Split out subroutines.
15001 (emit_block_move_via_movstr): New.
15002 (emit_block_move_via_libcall): New. Emit bcopy via normal call also.
15003 (emit_block_move_libcall_fn): New. Construct function prototype for
15004 bcopy as well.
15005 (clear_storage): Split out subroutines.
15006 (clear_storage_via_clrstr): New.
15007 (clear_storage_via_libcall): New. Emit bzero as a normal call also.
15008 (clear_storage_libcall_fn): New. Construct function prototype for
15009 bzero as well.
15010 (emit_push_insn): Use emit_block_move.
15011 (expand_assignment): Booleanize TARGET_MEM_FUNCTIONS.
15012 (store_constructor): Likewise.
15013
9f05cef3
ZL
150142002-08-19 Ziemowit Laski <zlaski@apple.com>
15015
15016 * objc/objc-act.c (building_objc_message_expr): Rename to
15017 current_objc_message_selector.
15018
1bd5981b
ZL
150192002-08-19 Ziemowit Laski <zlaski@apple.com>
15020
15021 * objc/objc-act.c (build_ivar_chain): Remove.
15022 (objc_copy_list): Likewise.
15023 (get_class_ivars): Inline call to removed build_ivar_chain
15024 function. Save off a clean copy of ivars in the CLASS_OWN_IVARS
15025 slot; use that slot (rather than CLASS_IVARS) when accessing
15026 ivars for base classes. Call copy_list and chainon instead of
15027 objc_copy_list.
15028 (build_private_template): Call get_class_ivars instead of
15029 build_ivar_chain.
15030 (start_class): Allocate room for the CLASS_OWN_IVARS slot.
5ce6f47b 15031 (continue_class): Call get_class_ivars instead of
1bd5981b
ZL
15032 build_ivar_chain.
15033 (encode_field_decl): Check for DECL_BIT_FIELD_TYPE instead
15034 of DECL_BIT_FIELD (which may have been cleared).
15035 * objc/objc-act.h (CLASS_OWN_IVARS): New accessor macro.
15036
2bf087c0
KG
150372002-08-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15038
15039 * genautomata.c (output_translate_vect, output_state_ainsn_table,
15040 output_min_issue_delay_table): Mark variable with ATTRIBUTE_UNUSED
15041 in output file.
15042 (output_internal_min_issue_delay_func): Initialize variable in
15043 output file.
15044
3fcd079e
AO
150452002-08-19 Alexandre Oliva <aoliva@redhat.com>
15046
15047 * Makefile.in (GCC_FOR_TARGET): Prepend STAGE_CC_WRAPPER.
15048 (stage2_build, stage3_build, stage4_build): Likewise, to CC.
15049
71012d97
GK
150502002-08-19 Geoffrey Keating <geoffk@redhat.com>
15051 Steve Ellcey <sje@cup.hp.com>
15052
15053 * machmode.h (SCALAR_INT_MODE_P): New macro to test for
15054 scaler integer mode (MODE_INT or MODE_PARTIAL_INT).
15055 * explow.c (trunc_int_for_mode): Abort when the mode is not
15056 a scaler integer mode.
15057 * combine.c (expand_compound_operation): Don't expand Vector
15058 or Complex modes into shifts.
15059 (expand_field_assignment): Don't do bitwise arithmatic and
15060 shifts on Vector or Complex modes.
15061 (simplify_comparison): Don't call trunc_int_for_mode
15062 for VOIDmode.
15063 * recog.c (general_operand): Likewise.
15064 (immediate_operand): Likewise.
15065 (nonmemory_operand): Likewise.
15066
af8cb5c5
DE
150672002-08-19 David Edelsohn <edelsohn@gnu.org>
15068
15069 * config/rs6000/rs6000.c (rs6000_emit_set_const): Inline
15070 multi-instruction SImode constant. Add REG_EQUAL note.
15071 * config/rs6000/rs6000.md (movsi splitter): Use
5ce6f47b 15072 rs6000_emit_set_const.
af8cb5c5 15073
9bc146b3
KG
150742002-08-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15075
15076 * tree-inline.c (initialize_inlined_parameters): Wrap variable in
15077 the macro test controlling its use.
15078
66df2ac2
L
150792002-08-18 H.J. Lu (hjl@gnu.org)
15080
15081 * config.gcc (*-*-linux*): Set extra_parts="crtbegin.o
15082 crtbeginS.o crtbeginT.o crtend.o crtendS.o", gas=yes and
15083 gnu_ld=yes.
15084 (alpha*-*-linux*, cris-*-linux*, i370-*-linux*,
15085 i[34567]86-*-linux*, x86_64-*-linux*, mips*-*-linux*,
15086 s390-*-linux*, s390x-*-linux*, sparc-*-linux*, sparc64-*-linux*,
15087 xtensa-*-linux*): Remove setting extra_parts, gas, and gnu_ld
15088 here.
15089 (cris-*-linux*): Remove setting thread_file here.
15090
463f1b2b
NB
150912002-08-18 Neil Booth <neil@daikokuya.co.uk>
15092
15093 PR preprocessor/7602
15094 * cppinit.c (path_include): Treat the system environment
15095 variables as being cxx_aware.
15096
2984fe64
JM
150972002-08-17 Joseph S. Myers <jsm@polyomino.org.uk>
15098
15099 * c-decl.c (flexible_array_type_p): New function.
15100 (grokdeclarator, finish_struct): Use it.
15101 * doc/extend.texi: Document constraints on use of structures with
15102 flexible array members.
15103
fded6d78
RS
151042002-08-17 Richard Sandiford <rsandifo@redhat.com>
15105
15106 * config/mips/t-coff, config/mips/t-elf, config/mips/t-isa3264,
15107 config/mips/t-r3900 (MULTILIB_MATCHES): Define.
15108 * config/mips/mips.h (ASM_SPEC): Use %(endian_spec).
15109
8aa5074e
SS
151102002-08-16 Stan Shebs <shebs@apple.com>
15111
15112 * c-common.c (cb_register_builds): Define __NEXT_RUNTIME__
15113 for ObjC with -fnext-runtime.
15114 * doc/cpp.texi: Document it.
15115
f97a5bda
JJ
151162002-08-16 Janis Johnson <janis187@us.ibm.com>
15117
15118 * doc/install.texi (Final installation): Replace links to individual
15119 build status pages with a link to a common page that lists them all.
15120
d3075b6c
SP
151212002-08-16 Sylvain Pion <pion@cs.nyu.edu>
15122
15123 * doc/invoke.texi: Fix typo.
15124
fdf68669
DE
151252002-08-16 David Edelsohn <edelsohn@gnu.org>
15126
15127 * doc/install.texi (*-ibm-aix*): Explain AIX shared object versioning.
15128
151292002-08-16 Andrew Haley <aph@redhat.com>
d436bff8
AH
15130
15131 * tree-inline.c: Add includes for Java inliner.
15132 (remap_decl): Don't handle anonymous types for Java.
15133 (remap_block): Add handling for Java trees.
15134 (copy_scope_stmt): Conditionalize for non-Java use only.
15135 (copy_body_r): Handle Java trees. Add handling for
15136 LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR, Java blocks.
15137 (initialize_inlined_parameters): Handle Java trees.
15138 (declare_return_variable): Likewise.
15139 (expand_call_inline): Handle Java trees.
15140 (walk_tree): Likewise.
15141 (copy_tree_r): Don't handle SCOPE_STMTs for Java.
15142 (add_stmt_to_compound): New function.
15143
204250d2
RH
151442002-08-15 Richard Henderson <rth@redhat.com>
15145
15146 * Makefile.in (LOOSE_WARN): Remove -fno-common.
15147 (NOCOMMON_FLAG): New substitution point.
15148 (GCC_WARN_CFLAGS): Include it.
15149 * configure.in (ac_checking): Set nocommon_flag.
15150 (nocommon_flag): New substitution point.
15151
25587e40
AO
151522002-08-15 Alexandre Oliva <aoliva@redhat.com>
15153
15154 * c-tree.h (skip_evaluation): Move declaration...
15155 * c-common.h: ... here.
15156 * c-typeck.c (build_external_ref): Don't assemble_external nor
15157 mark a tree as used if skip_evaluation is set.
15158 * c-parse.in (typeof): New non-terminal to set skip_evaluation
15159 around TYPEOF.
15160 (typespec_nonreserved_nonattr): Use it.
15161
702ada3d
DR
151622002-08-15 Douglas B Rupp <rupp@gnat.com>
15163
15164 * dbxout.c (dbx_debug_hooks): Update end_prologue, end_epilogue.
15165 (xcoff_debug_hooks): Update end_prologue.
15166 * debug.c (do_nothing_debug_hooks): Update end_prologue, end_epilogue.
15167 * debug.h (end_prologue): Add file arg.
15168 (end_epilogue): Add line and file args.
15169 (dwarf2out_end_epilogue): Add line and file args.
15170 (vmsdbgout_after_prologue): Remove.
15171 * dwarf2out.c (dwarf2out_end_epilogue): Add line and file args.
15172 (dwarf2_debug_hooks): Update end_prologue.
15173 * dwarfout.c (dwarfout_end_epilogue): Add line and file args.
15174 (dwarfout_end_prologue): Add file arg.
15175 * final.c (vmsdbgout_after_prologue): Remove
15176 (final_end_function): Update end_epilogue call.
15177 (final_scan_insn): Update end_prologue call.
15178 * sdbout.c (sdbout_end_epilogue): Add line and file args.
15179 (sdbout_end_prologue): Add file arg.
15180 (sdb_debug_hooks): Update end_prologue.
15181 (sdb_begin_prologue): Update sdbout_end_prologue call.
15182 * vmsdbgout.c (vmsdbg_debug_hooks): Add vmsdbgout_end_prologue,
15183 vmsdbgout_end_function.
15184 (vmsdbgout_end_prologue): New function renamed from
15185 vmsdbgout_after_prologue. Call vmsdbgout_source_line.
15186 (vmsdbgout_end_function): New function.
15187 (vmsdbgout_end_epilogue): Add line and file args. Call
15188 vmsdbgout_source_line.
15189 (write_pclines): Write only valid line numbers.
15190 (write_srccorr): Don't write source correlation records if 0 lines.
15191 * xcoffout.c (xcoffout_end_epilogue): Add line and file args.
15192
9ef30f83
SE
151932002-08-15 Steve Ellcey <sje@cup.hp.com>
15194
15195 * gcc/unwind.h (_Unwind_Ptr): Make 64 bits on IA64 HP-UX.
15196 (_Unwind_Internal_Ptr): 32 bit version for use in
15197 read_encoded_value_with_base.
15198 * gcc/unwind-pe.h (read_encoded_value_with_base): Use
15199 _Unwind_Internal_Ptr instead of _Unwind_Ptr in order to get the
15200 right size.
15201
f7043461
KG
152022002-08-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15203
15204 * loop.c (scan_loop, move_movables, count_one_set): Cast to avoid
15205 signed/unsigned warnings.
15206
15207 * regclass.c (init_reg_sets_1, choose_hard_reg_mode,
15208 record_reg_classes): Likewise.
15209
15210 * reload.c (reload_inner_reg_of_subreg, push_reload,
15211 find_reloads_address_1): Likewise.
15212
b4d330e1
DE
152132002-08-15 David Edelsohn <edelsohn@gnu.org>
15214
15215 * rs6000.c (output_mi_thunk): Return to function section on
15216 TARGET_ELF.
15217
15218 * rs6000-c.c (rs6000_cpu_cpp_builtins): Define __PPC405__ if PPC405.
15219
61f02ff5
UW
152202002-08-15 Ulrich Weigand <uweigand@de.ibm.com>
15221
15222 * config/s390/s390.c (legitimize_address): Optimize loading
15223 of large displacements.
15224
1330f7d5
DR
152252002-08-14 Douglas B Rupp <rupp@gnat.com>
15226
15227 * config/alpha/alpha-protos.h: Update.
15228
15229 * config/alpha/alpha.c: (LINKAGE_SYMBOL_REF_P): New macro.
15230 (alpha_legitimate_address_p): Test LINKAGE_SYMBOL_REF_P.
15231 (alpha_linkage_symbol_p): New static function.
15232 (print_operand_address): Print linkage operand.
15233
15234 (alpha_funcs_num, alpha_funcs_tree, alpha_links_tree): New static
15235 variables.
15236 (reloc_kind): New enum.
15237 (struct alpha_funcs): New struct.
15238 (struct alpha_links): Add reloc_kind field. Rename links_kind field.
15239
15240 (alpha_need_linkage): Rewrite.
15241 (alpha_use_linkage): New global function.
15242 (alpha_write_linkage): Rewrite and make static.
15243 (alpha_write_one_linkage): Rewrite
15244
15245 (alpha_start_function): Remove procedure descriptor output.
15246 (alpha_end_function): Write linkages at end of each function.
15247
15248 * config/alpha/alpha.md (call_vms, call_value_vms): Rewrite.
15249 (call_vms_1, call_value_vms_1): Rewrite.
15250
15251 * config/alpha/vms.h (ASM_FILE_END): Remove.
15252
d1f1cc6a
RH
152532002-08-14 Richard Henderson <rth@redhat.com>
15254
15255 * ggc-page.c (RTL_SIZE): New.
15256 (extra_order_size_table): Add specializations for 2 and 10 rtl slots.
15257 * rtl.def (BARRIER, NOTE): Pad to 9 slots.
15258
23626154
RH
152592002-08-14 Richard Henderson <rth@redhat.com>
15260
15261 * calls.c: Include target.h.
15262 * Makefile.in (calls.o): Update.
15263
15264 * config/alpha/alpha.c (alpha_end_function): Use targetm.binds_local_p.
15265 * config/alpha/alpha.h (FUNCTION_OK_FOR_SIBCALL): Likewise.
15266
fd350d24
RH
152672002-08-14 Richard Henderson <rth@redhat.com>
15268
15269 * Makefile.in (LOOSE_WARN): Add -fno-common.
15270 * c-common.h (constant_string_class_name): Add missing extern.
15271
182d89a3
NB
152722002-08-15 Neil Booth <neil@daikokuya.co.uk>
15273
15274 PR preprocessor/7358
15275 * c-opts.c (check_deps_environment_vars): Ignore main file
15276 for SUNPRO_DEPENDENCIES.
15277 * cppfiles.c (stack_include_file): Ignore main file if
15278 appropriate.
15279 * cpplib.h (struct cpp_options): New member in deps.
15280 * doc/cppenv.texi: Update.
15281
8bfb1467
NB
152822002-08-14 Neil Booth <neil@daikokuya.co.uk>
15283
15284 PR preprocessor/7526
15285 * cpplib.c (run_directive): Kludge so _Pragma dependency works.
15286
41685063
NS
152872002-08-14 Nathan Sidwell <nathan@codesourcery.com>
15288
15289 * doc/invoke.texi (-a): Remove documentation.
15290 (-fprofile-arcs): Remove reference to -a, -ax options.
15291 * doc/gcov.texi (Gcov Data Files): Data might be merged.
15292
77893a23
GDR
152932002-08-14 Gabriel Dos Reis <gdr@nerim.net>
15294
15295 Fix PR/7566
15296 * c-semantics.c (genrtl_case_label): Don't (mis)use
5ce6f47b 15297 warning_with_decl.
77893a23 15298
260f91c2
DJ
152992002-08-14 Dale Johannesen <dalej@apple.com>
15300
8537ed68 15301 * explow.c (emit_stack_restore): Emit memory clobbers
260f91c2
DJ
15302 preceding the stack pop, to prevent the scheduler from
15303 moving refs to variable arrays below this pop.
15304 * reload1.c (reload): Preserve these clobbers for sched2.
15305 * doc/rtl.texi: Document clobber (mem:BLK (scratch)).
15306
cd79e210
NB
153072002-08-14 Neil Booth <neil@daikokuya.co.uk>
15308
15309 * c-opts.c (c_common_post_options): Correct test.
15310
3eb75a73
KG
153112002-08-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15312
15313 * m88k.h (ASM_OUTPUT_SOURCE_FILENAME): Fix incorrect argument
15314 order in call to fprintf.
15315
be3a0ce2
RO
153162002-08-14 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
15317
15318 * config/sparc/sol2.h (SUBTARGET_EXTRA_SPECS): Define.
15319
ccfc6cc8
UW
153202002-08-14 Ulrich Weigand <uweigand@de.ibm.com>
15321
5ce6f47b 15322 * reload.c (find_reloads): Handle constraint letters marked by
ccfc6cc8
UW
15323 EXTRA_ADDRESS_CONSTRAINT and EXTRA_MEMORY_CONSTRAINT.
15324 (alternative_allows_memconst): Likewise.
15325 * reload1.c (maybe_fix_stack_asms): Likewise.
5ce6f47b 15326 * recog.c (asm_operand_ok, preprocess_constraints,
ccfc6cc8
UW
15327 constrain_operands): Likewise.
15328 * regclass.c (record_operand_costs, record_reg_classes): Likewise.
15329 * local-alloc.c (block_alloc, requires_inout): Likewise.
15330 * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
15331
15332 * defaults.h (EXTRA_MEMORY_CONSTRAINT): Provide a default.
15333 (EXTRA_ADDRESS_CONSTRAINT): Likewise.
15334 * doc/tm.texi: Document these two new target macros.
15335
15336 * config/s390/s390.c (s390_expand_plus_operand): Accept already
15337 valid operands.
15338 (q_constraint): New function.
15339 config/s390/s390-protos.h (q_constraint): Declare it.
15340 config/s390/s390.h (EXTRA_CONSTRAINT): Use it.
15341 (EXTRA_MEMORY_CONSTRAINT): New macro.
15342
15343 * config/s390/s390.md: Throughout the machine description,
15344 replace all instances of the constraint combinations 'Qo'
15345 or 'oQ' with simply 'Q'.
15346
d6ee9f6f
SC
153472002-08-14 Stephane Carrez <stcarrez@nerim.fr>
15348
15349 * config/m68hc11/m68hc11.h (LINK_SPEC): Support -mrelax.
15350 * config/m68hc11/t-m68hc11-gas (LIBGCC2_DEBUG_CFLAGS): Can use -g now.
15351 (LIBGCC2_CFLAGS): Compile with -mrelax.
15352
8a0b86f5
SC
153532002-08-14 Stephane Carrez <stcarrez@nerim.fr>
15354
15355 * doc/invoke.texi: Document -minmax for 68HC12.
15356
15357 * config/m68hc11/m68hc11.md ("umaxqi3"): Use TARGET_MIN_MAX.
15358 ("uminqi3"): Likewise.
15359 ("uminhi3", "umaxhi3"): Likewise.
15360
15361 * config/m68hc11/m68hc11.h (MASK_MIN_MAX): Define.
15362 (TARGET_MIN_MAX): Define.
15363 (TARGET_SWITCHES): New option -minmax/-mnominmax.
15364
d6381f4e
SC
153652002-08-14 Stephane Carrez <stcarrez@nerim.fr>
15366
15367 * config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Build __far_trampoline.
15368 (MULTILIB_OPTIONS): Must also generate for -mlong-calls.
15369
15370 * config/m68hc11/larith.asm: Put a mode for ELF ABI flags.
15371 (ret, declare, farsym): New gas macros.
15372 (__premain, exit, abort, _cleanup, memcpy, memset, ___adddi3,
15373 ___subdi3, ___notdi2, __mulhi32, __mulsi3): Use them to use 'rtc'
15374 and declare the symbol far when compiled with -mlong-calls.
5ce6f47b 15375 (__far_trampoline): New for 68HC12 trampoline code to invoke a
d6381f4e
SC
15376 far handler using jsr/bsr.
15377
15378 * config/m68hc11/m68hc11-crt0.S: Put a mode for ELF ABI flags.
15379 (jsr): New macro to transform a 'jsr' into a 'call'.
15380
058edcdb
SC
153812002-08-14 Stephane Carrez <stcarrez@nerim.fr>
15382
15383 * doc/invoke.texi: Document -mlong-calls for 68HC12.
15384
15385 * config/m68hc11/m68hc11.h (CPP_SPEC): Pass -D__USE_RTC__ when
15386 -mlong-calls is specified.
5ce6f47b 15387 (ASM_DECLARE_FUNCTION_NAME): Define to generate .far and .interrupt
058edcdb
SC
15388 assembler directives.
15389 (TARGET_LONG_CALL, MASK_LONG_CALL): Declare.
15390 (TARGET_SWITCHES): Add -mlong-calls options.
15391 (current_function_far): Declare.
15392
15393 * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset): Take
15394 into account the page register saved on the stack.
15395 (m68hc11_override_options): Take into account -mlong-calls option.
15396 (m68hc11_asm_file_start): Put a mode for the ELF flags ABI.
15397
15398 * config/m68hc11/m68hc11.md ("*return_32bit"): Return rtc
15399 if the function is going to be in 68HC12 banked memory (-mlong-calls).
15400 ("*return_16bit"): Likewise.
15401 ("*return_void"): Likewise.
15402 ("call", "call_value"): Use call for a far function call.
15403
c79043f3
NB
154042002-08-14 Neil Booth <neil@daikokuya.co.uk>
15405
15406 * toplev.c (parse_options_and_default_flags): Don't call
15407 post_options here.
15408 (general_init): Initialize GC, pools and tree hash here,
15409 instead of lang_independent_init.
15410 (lang_independent_init): Rename backend_init.
15411 (do_compile): Call post_options hook; exit early if there
15412 have been errors after switch processing.
15413 (toplev_main): Update.
15414
6bf346d4
GDR
154152002-08-14 Gabriel Dos Reis <gdr@nerim.net>
15416
15417 * c-pretty-print.h: Guard against multiple inclusion.
15418 Robustify macros.
15419 (pp_c_attributes): Declare.
15420 * c-pretty-print.c (pp_c_attributes): New function.
15421
cbf2f479
KG
154222002-08-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15423
15424 * m68k.c (m68k_output_function_prologue,
15425 m68k_output_function_epilogue): Delete versions for DPX2/MOTOROLA
15426 and NEWS/MOTOROLA.
15427 * genattrtab.c: Remove dpx2 comment.
15428 * libgcc2.c (__enable_execute_stack): Delete versions for
15429 NeXT/__MACH__, __convex__, __sysV88__, __pyr__ and
15430 sony_news/SYSTYPE_BSD.
15431 * longlong.h: Delete code for __a29k__, _AM29K, __clipper__,
15432 __gmicro__, __i860__, __NeXT__ and __pyr__.
15433 * rtl.h: Remove convex comment.
15434 * varasm.c: Likewise.
15435
d3969c34
KG
154362002-08-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15437
15438 * c-opts.c (lang_flags): Const-ify.
15439 * ra-build.c (undef_table): Likewise.
15440 * ra.c (eliminables): Likewise.
15441
df89f8e7
GDR
154422002-08-14 Gabriel Dos Reis <gdr@nerim.net>
15443
15444 * tree.h: Guard against multiple inclusion.
15445
cf87d551
HPN
154462002-08-14 Hans-Peter Nilsson <hp@bitrange.com>
15447
15448 * reload1.c (reload_cse_simplify): Before checking
15449 REG_FUNCTION_VALUE_P, check REG_P.
15450
a43c8986
GK
154512002-08-13 Geoffrey Keating <geoffk@redhat.com>
15452
15453 * Makefile.in (attribs.o): Remove $(OBSTACK_H) dependency.
15454
29337351
NB
154552002-08-13 Neil Booth <neil@daikokuya.co.uk>
15456
15457 * c-opts.c (c_common_init_options): Extra braces needed.
15458
8202c8c4
R
15459Tue Aug 13 17:40:25 2002 J"orn Rennecke <joern.rennecke@superh.com>
15460
15461 * sh.c (sh_init_builtins): Add PARAMS to declaration.
15462 (sh_media_init_builtins, sh_expand_builtin): Likewise.
15463 (sh_expand_unop_v2sf): Use PARAMS for variable declaration.
15464 (sh_expand_binop_v2sf): Likewise.
15465 * sh-protos.h (sh_expand_unop_v2sf): Add PARAMS to declaration.
15466 (sh_expand_binop_v2sf, sh_cfun_interrupt_handler_p): Likewise.
15467 (sh_initialize_trampoline): Likewise.
15468
07893d4f
UW
154692002-08-13 Ulrich Weigand <uweigand@de.ibm.com>
15470
15471 * s390-modes.def [CCL1, CCL2, CCT1, CCT2, CCT3, CCUR, CCSR]: Declare
15472 new condition code modes.
15473 s390.c (s390_match_ccmode_set): Handle those new CC modes.
15474 (s390_select_ccmode): Likewise.
15475 (s390_branch_condition_mask): Likewise.
15476
15477 * s390-protos.h (s390_tm_ccmode): Declare.
15478 s390.c (s390_tm_ccmode): New function.
15479 (s390_match_ccmode): Allow VOIDmode as REQ_MODE.
15480
15481 * s390.md ("*cmpdi_tm2"): Rename to "*tmdi_ext".
15482 ("*cmpsi_tm2"): Rename to "*tmsi_ext".
15483 ("*cmpqi_tm2"): Rename to "*tmqi_ext".
15484
15485 ("*cmpdi_tm_reg", "*cmpdi_tm_mem", "*cmpsi_tm_reg", "*cmpsi_tm_mem",
15486 "*cmphi_tm_sub","*cmphi_cct_0", "*cmpqi_tm", "*cmpqi_tm_sub",
15487 "*cmpqi_cct_0", "*tm_0"): Remove, replace by ...
15488 ("*tmdi_reg", "*tmsi_reg", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem",
15489 "*tmqi_mem", "*tmhi_full", "*tmqi_full"): ... these new patterns.
15490
15491 ("*ltgr", "*cmpdi_ccs_0_64", "*cmpdi_ccs_0_31", "*ltr", "*icm15",
5ce6f47b 15492 "*icm15_cconly", "*cmpsi_ccs_0", "*icm3", "*cmphi_ccs_0", "*icm1",
07893d4f
UW
15493 "*cmpqi_ccs_0"): Remove, replace by ...
15494 ("*tstdi_sign", "*tstdi", "*tstdi_cconly", "*tstdi_cconly_31",
5ce6f47b 15495 "*tstsi", "*tstsi_cconly", "*tstsi_cconly2", "*tsthi", "*tsthi_cconly",
07893d4f
UW
15496 "*tstqi", "*tstqi_cconly"): ... these new patterns.
15497
15498 ("*cmpsidi_ccs"): Remove, replace by ...
15499 ("*cmpsi_ccs_sign"): ... this new pattern.
15500 ("*cmpdi_ccs_sign", "*cmpdi_ccu_zero"): New patterns.
15501
15502 ("*cmpqi_ccu_0", "*cmpqi_ccu_immed"): Remove, replace by ...
15503 ("*cli"): ... this new pattern.
15504
15505 ("*adddi3_sign", "*adddi3_zero_cc", "*adddi3_zero_cconly",
15506 "*adddi3_zero", "*adddi3_cc", "*adddi3_cconly", "*adddi3_cconly2"):
15507 New patterns.
15508 ("adddi3_64"): Rename to "*adddi3_64".
15509 ("adddi3_31"): Replace by insn and splitter "*adddi3_31".
15510 ("adddi3"): Adapt expander.
15511
15512 ("*addsi3_cc"): Allow "general_operand" for operand 2.
5ce6f47b 15513 ("*addsi3_carry1_cc", "*addsi3_carry1_cconly",
07893d4f
UW
15514 "*addsi3_carry2_cc", "*addsi3_carry2_cconly"): New patterns.
15515
15516 ("addhi3", "addqi3"): Remove, replace by ...
15517 ("*addsi3_sign", "*addsi3_sub"): ... these new patterns.
15518
15519 ("*subdi3_sign", "*subdi3_zero_cc", "*subdi3_zero_cconly",
15520 "*subdi3_zero", "*subdi3_cc", "*subdi3_cconly"): New patterns.
15521 ("subdi3"): Replace by insn and splitter "*subdi3_31".
15522 ("subdi3"): New expander.
15523
15524 ("*subsi3_borrow_cc", "*subsi3_borrow_cconly"): New patterns.
15525
15526 ("subhi3", "subqi3"): Remove, replace by ...
15527 ("*subsi3_sign", "*subsi3_sub"): ... these new patterns.
15528
15529 ("*muldi3_sign"): New pattern.
15530 ("muldi3"): Do not clobber CC.
15531 ("mulsi3"): Likewise.
15532 ("mulsi_6432"): Likewise.
15533
db62867b
DC
155342002-08-13 Denis Chertykov <denisc@overta.ru>
15535
15536 * config/avr/avr.md: Call CC_STATUS_INIT in all peepnoles
8537ed68 15537 which can change CC0.
db62867b 15538
8ba46434
R
15539Tue Aug 13 14:49:20 2002 J"orn Rennecke <joern.rennecke@superh.com>
15540
15541 * gcse.c (adjust_libcall_notes): New function.
15542 (do_local_cprop): Use it. Add fourth parameter. Changed caller.
15543
8733892f
NS
155442002-08-13 Nathan Sidwell <nathan@codesourcery.com>
15545
15546 * libgcc2.c (L_bb): Remove unneeded #includes.
15547 (__global_counters, __gthreads_active): Remove unused globals.
15548 (__bb_exit_func): Merge counts into files rather than appending.
15549 * Makefile.in (INTERNAL_CFLAGS): Move COVERAGE_FLAGS from here ...
15550 (ALL_CFLAGS): ... to here.
15551
f4769721
DC
155522002-08-13 Denis Chertykov <denisc@overta.ru>
15553
15554 * config/ip2k/ip2k.c (commands_in_file): Variable removed.
15555 (function_epilogue): Don't calculate function size.
15556 (ip2k_set_compare): Don't use lookup_const_double.
15557 (asm_file_start): Initialization of commands_in_file removed.
15558 (asm_file_end): Output of commands_in_file removed.
5ce6f47b 15559
f4769721
DC
15560 * config/ip2k/ip2k.c (CPP_PREDEFINES): Remove definition of
15561 __INT_MAX__.
15562
c31cddfd
NB
155632002-08-13 Neil Booth <neil@daikokuya.co.uk>
15564
15565 * c-opts.c (c_common_init_options): Check option array is
15566 sorted if checking enabled.
15567
f076f0ce
GDR
155682002-08-13 Gabriel Dos Reis <gdr@nerim.net>
15569
15570 * c-pretty-print.c: #include "c-tree.h".
15571 (pp_c_simple_type_specifier): Tweak.
15572 (pp_c_storage_class_specifier): New.
15573 (pp_c_function_specifier): Likewise.
15574 (pp_c_declaration_specifiers): Likewise.
15575 (pp_c_init_declarator): Likewise.
15576 (pp_c_declaration): Likewise.
15577 (pp_c_direct_declarator): Stub.
15578 (pp_c_declarator): Likewise.
15579 (pp_c_parameter_declaration): Likewise.
15580
f4ff5a69
NB
155812002-08-13 Neil Booth <neil@daikokuya.co.uk>
15582
15583 * c-opts.c (deps_seen, deps_file, deferred_count, deferred_size,
15584 handle_deferred_opts, sanitize_cpp_opts, defer_opt,
15585 struct deferred_opt): New.
15586 (COMMAND_LINE_OPTIONS): Add -M*.
15587 (missing_arg): Update.
15588 (c_common_decode_option): Handle -M*.
15589 (c_common_post_options): Handle -M*. Use sanitize_cpp_opts;
15590 don't call cpp_post_options.
15591 (c_common_finish, check_deps_environment_vars): Update.
15592 * cppfiles.c (stack_include_file, handle_missing_header): Update.
15593 * cpphash.h (CPP_PRINT_DEPS): Remove.
15594 * cppinit.c: Don't include version.h.
15595 (cpp_create_reader): Don't call deps_init. Initialize
15596 warn_long_long.
15597 (cpp_read_main_file): Init deps if necessary.
15598 (cpp_destroy): Conditionally free deps.
15599 (cpp_finish): Update.
15600 (no_tgt): Remove.
15601 (COMMAND_LINE_OPTIONS, cpp_handle_option): Remove -M*.
15602 (cpp_post_options): Rename post_options.
15603 * cpplib.h (struct cpp_options): Remove some dependency options;
15604 move others to a new structure.
15605 (cpp_post_options): Remove.
15606 (cpp_finish): Comment.
15607 * fix-header.c (read_scan_file): Don't call cpp_post_options.
15608
34116c2a
HPN
156092002-08-12 Hans-Peter Nilsson <hp@bitrange.com>
15610
15611 * config/mmix/mmix.md (define_constants): Add MMIX_rR_REGNUM.
15612 ("divdi3", "*divdi3_nonknuth", "moddi3", "*moddi3_nonknuth"): Mark
15613 MMIX_rR_REGNUM as clobbered.
15614 * config/mmix/mmix.h (MMIX_REMAINDER_REGNUM): Use MMIX_rR_REGNUM.
15615
9b32718c
GDR
156162002-08-12 Gabriel Dos Reis <gdr@nerim.net>
15617
15618 * diagnostic.h (output_formatted_scalar): Rename from
5ce6f47b 15619 output_formatted_integer.
9b32718c
GDR
15620 * diagnostic.def: Add DK_DEBUG.
15621 * diagnostic.c (output_decimal): Adjust.
15622 (output_long_decimal): Likewise.
15623 (output_unsigned_decimal): Likewise.
15624 (output_octal): Likewise.
15625 (output_long_octal): Likewise.
15626 (output_hexadecimal): Likewise.
15627 (output_long_hexadecimal): Likewise.
15628 * c-pretty-print.c (pp_c_type_specifier): New function.
15629 (pp_c_specifier_qualifier_list): Likewise.
15630 (pp_c_abstract_declarator): Likewise.
15631 (pp_c_char): Replace pp_format_integer with pp_format_scalar.
15632
032613df
DE
156332002-08-12 David Edelsohn <edelsohn@gnu.org>
15634
15635 * doc/trouble.texi (Disappointments): Add static constructor and
15636 destructor dependency information for AIX.
15637
a3737481
NB
156382002-08-12 Neil Booth <neil@daikokuya.co.uk>
15639
15640 * cpphash.h (struct printer): New from cppmain.c.
15641 (cpp_reader): New member.
15642 * cppmain.c (struct printer): Move to cpphash.h.
15643 (options, print): Remove.
15644 (account_for_newlines, print_line, maybe_print_line,
15645 cpp_preprocess_file, setup_callbacks, scan_translation_unit,
15646 scan_translation_unit_trad, cb_line_change, cb_ident,
15647 cb_define, cb_undef, cb_include, cb_file_change, dump_macro,
15648 cb_def_pragma): Make reentrant.
15649
d71f7700
KG
156502002-08-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15651
15652 * real.c (ieee_64): Always define.
15653 (ieee_113): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
15654 (dec_h): Not used yet, hide it.
15655 (emdnorm): Mark parameter in ATTRIBUTE_UNUSED. Guard label with
15656 macro controlling use.
15657 (TFbignan, TFlittlenan): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
15658
c16576e6
JH
15659Mon Aug 12 12:48:20 CEST 2002 Jan Hubicka <jh@suse.cz>
15660
15661 * i386.md (tablejump): Sign extend the operand.
15662 * i386.c (classify_argument): Fix missed case from previous patch.
15663
460bd0e3
NB
156642002-08-12 Neil Booth <neil@daikokuya.co.uk>
15665
15666 * c-common.c (STDC_0_IN_SYSTEM_HEADERS, c_common_init): Move
15667 to c-copts.c.
15668 (warn_multichar): Die.
15669 (cb_register_builtins): Export.
15670 * c-common.h (warn_multichar, preprocess_file): Remove.
15671 (cb_register_builtins): New.
15672 * c-lang.c (c_init): Remove.
15673 (LANG_HOOKS_INIT): Use c_objc_common_init.
15674 * c-lex.c (init_c_lex): Don't canonicalize filename.
15675 * c-opts.c (in_fname, STDC_0_IN_SYSTEM_HEADERS): New.
15676 (preprocess_file): Make static. Update for cpplib.
15677 (c_common_decode_option): Remove warn_multichar. Use in_fname.
15678 (c_common_post_options): Set some cpp options here.
15679 (c_common_init): Move from c-common.c.
15680 * cppinit.c (cpp_post_options): Don't canonicalize in_fname.
15681 * cpplib.h (struct cpp_options): Remove in_fname.
15682 (cpp_preprocess_file): Update.
15683 * cppmain.c (cpp_preprocess_file): Update for new prototypes.
15684
f3f268dd
KG
156852002-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15686
15687 * config.gcc (mips*-*-netbsd*): Include ${tm_file}.
15688
f0201fba
KG
156892002-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15690
15691 * i370.h (TARGET_CPU_CPP_BUILTINS): Remove spurious trailing
15692 backslash in comment preceeding macro definition.
15693 * i370/linux.h (TARGET_OS_CPP_BUILTINS): Likewise.
15694 * i370/mvs.h (TARGET_OS_CPP_BUILTINS): Likewise.
15695 * i370/oe.h (TARGET_OS_CPP_BUILTINS): Likewise.
15696
e56fc090
HPN
156972002-08-12 Hans-Peter Nilsson <hp@bitrange.com>
15698
15699 * expr.c (store_expr): In condition for checking if value is
15700 generated in TARGET, move call to expr_size last.
15701
76c3e73e
NB
157022002-08-11 Neil Booth <neil@daikokuya.co.uk>
15703
15704 * c-common.c (c_common_init): Call preprocess_file instead.
15705 (c_common_finish): Move to c-opts.c.
15706 * c-common.h (preprocess_file): new.
15707 * c-opts.c (out_fname, out_stream, deps_append, preprocess_file,
15708 check_deps_environment_vars, c_common_finish): New.
15709 (c_common_decode_option): Update for out_fname and dependencies.
15710 * cppinit.c (init_dependency_output, output_deps): Remove.
15711 (cpp_destroy): Update prototype.
15712 (cpp_add_dependency_target): New.
15713 (cpp_read_main_file): Don't overlay a buffer.
15714 (cpp_finish): Take a deps output stream and write deps to it.
15715 Return the error count.
15716 (cpp_post_options): Don't canonicalize out_fname, or do anything
15717 with dependencies.
15718 * cpplib.h (struct cpp_options): Remove out_fname and
15719 preprocess_only.
15720 (cpp_add_dependency_target): New.
15721 (cpp_destroy, cpp_finish, cpp_preprocess_file): Update.
15722 * cppmain.c (cpp_preprocess_file): Update prototype. Don't
15723 set preprocess_only. Don't handle the output stream directly.
15724
e0c32c62
KG
157252002-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15726
15727 * dsp16xx.c (print_operand): Fix format specifier.
15728 * dsp16xx.md: Avoid automatic aggregate initialization.
15729 * frv.h (REG_CLASS_FROM_LETTER): Avoid char as array index.
15730 * h8300.c (emit_a_rotate, h8300_adjust_insn_length): Avoid U
15731 integer constant modifier.
15732 * ip2k.c (ip2k_set_compare): Avoid signed/unsigned warning.
15733 * mmix-protos.h (mmix_use_simple_return): Move outside TREE_CODE
15734 guards.
15735 * sh/netbsd-elf.h (FUNCTION_PROFILER): Fix format specifier.
15736 * v850.c (v850_select_section): Mark parameter with
15737 ATTRIBUTE_UNUSED.
15738 * global.c (global_alloc): Const-ify.
15739 * ra-colorize.c (hardregset_to_string): Fix format specifier.
15740
7ae8cf75
KG
157412002-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15742
15743 * darwin-c.c (darwin_pragma_options): Const-ify.
15744 * darwin.c (machopic_non_lazy_ptr_name,
15745 machopic_validate_stub_or_non_lazy_ptr): Likewise.
15746 (machopic_indirect_data_reference): Wrap variables in macros
15747 controlling their use.
15748 (machopic_finish, update_non_lazy_ptrs, update_stubs): Const-ify.
15749 (machopic_select_section): Use parentheses around && within ||.
15750 * i386/darwin.h (ASM_OUTPUT_ALIGN): Avoid ambiguous-else.
15751
8819cab5
KG
157522002-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15753
15754 * ip2k.c (mdr_resequence_xy_yx, mdr_propagate_reg_equivs,
15755 mdr_try_move_dp_reload, ip2k_check_can_adjust_stack_ref,
15756 ip2k_adjust_stack_ref, mdr_try_move_pushes, mdr_try_propagate_clr,
15757 ip2k_xexp_not_uses_reg_for_mem, mdr_try_propagate_move,
15758 mdr_try_remove_redundant_insns, track_w_reload,
15759 mdr_try_wreg_elim): Make function static to match prototype.
15760 * mmix.c (mmix_target_asm_function_epilogue): Likewise. Mark
15761 parameter with ATTRIBUTE_UNUSED.
15762
ab2877a3
KG
157632002-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15764
15765 * arc.c (arc_init): Don't use ISO C style function definitions.
15766 * arm.c (count_insns_for_constant, thumb_far_jump_used_p,
15767 arm_get_strip_length, arm_strip_name_encoding): Likewise.
15768 * avr.h (progmem_section): Likewise.
15769 * h8300.c h8300_asm_insn_count): Likewise.
15770 * m32r.c (init_idents): Likewise.
15771 * s390.c (s390_split_branches, s390_chunkify_pool): Likewise.
15772 * sh.c (sh_cfun_interrupt_handler_p): Likewise.
15773 * xtensa.c (xtensa_build_va_list): Likewise.
15774
08767a6f
NB
157752002-08-11 Neil Booth <neil@daikokuya.co.uk>
15776
15777 * c-common.h (enum c_language_kind): Emphasize that clk_c is 0.
15778 * c-opts.c (parse_option): Rename find_opt.
15779 (set_std_c99): New function.
15780 (COMMAND_LINE_OPTIONS): Handle -remap and -o. Remove OPT_std_bad.
15781 (missing_arg): Remove OPT_std_bad. Handle -o.
15782 (c_common_decode_option): Handle input and output file names,
15783 -o and -remap. Clean up -std= handling.
15784 * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_o and OPT_remap.
15785 (cpp_handle_option): Similarly. Don't handle filenames.
15786
db01f480
JH
15787Sun Aug 11 14:43:17 CEST 2002 Jan Hubicka <jh@suse.cz>
15788
15789 * i386.c (classify_argument): Fix computing of field's offsets.
15790
a7701995
AJ
157912002-08-11 Andreas Jaeger <aj@suse.de>
15792
15793 PR target/7531:
15794 * doc/invoke.texi (i386 and x86-64 Options): Document -mcmodel.
15795
2516f236
ZL
157962002-08-10 Ziemowit Laski <zlaski@apple.com>
15797
15798 * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Replace
15799 reference to clk_objective_c with flag_objc.
15800 * config/i386/i386-interix.h (TARGET_OS_CPP_BUILTINS):
15801 Likewise.
15802 * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Likewise.
15803
f749a36b
NB
158042002-08-10 Neil Booth <neil@daikokuya.co.uk>
15805
15806 * c-opts.c (set_std_cxx98, set_std_c89): New.
15807 (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
15808 (c_common_decode_option): Handle new switches from cppinit.c.
15809 Add -std=gnu++98.
15810 * cppinit.c (set_lang): Rename cpp_set_lang. Export.
15811 (no_arg, no_num): Remove.
15812 (COMMAND_LINE_OPTIONS): Move more to c-opts.c. Drop all lang-
15813 switches apart from -lang-objc and lang-asm.
15814 (cpp_handle_option): Similarly.
15815 * cpplib.h (cpp_set_lang): New.
15816 * doc/cppopts.texi, doc/invoke.texi: Document -std=c++98,
15817 -std=gnu++98.
15818 * objc/lang-specs.h: Remove -ansi.
15819
77abb5d8
JH
15820Sat Aug 10 19:59:43 CEST 2002 Jan Hubicka <jh@suse.cz>
15821 Graham Stott
15822
15823 * cfg.c (redirect_edge_succ_nodup): Avoid overflows due to roundoff
15824 errors.
15825
fac37dc4
KG
158262002-08-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15827
d950dee3
KG
15828 * emit-rtl.c (emit_jump_insn_before, emit_call_insn_before,
15829 emit_jump_insn): Fix uninitialized variable.
15830 * gcov.c (init_line_info): Likewise.
15831 * genautomata.c (transform_3): Add braces around ambiguous
15832 else.
15833 * ifcvt.c (cond_exec_process_insns): Mark parameter with
15834 ATTRIBUTE_UNUSED.
15835 * ra-build.c (parts_to_webs_1): Fix uninitialized variable.
15836 * regrename.c (copyprop_hardreg_forward): Fix uninitialized
15837 variable.
15838
fac37dc4
KG
15839 * gengtype.c (write_gc_structure_fields): Avoid signed/unsigned
15840 warnings in output files.
15841
0f7866e7
ZL
158422002-08-09 Ziemowit Laski <zlaski@apple.com>
15843
15844 * c-common.c (flag_objc): New.
15845 * c-common.h (c_language_kind): Get rid of clk_objective_c
15846 enum value.
15847 (flag_objc): New extern declaration.
15848 * c-decl.c (implicitly_declare): Call objc_check_decl
15849 instead of maybe_objc_check_decl.
15850 (finish_decl): Likewise.
15851 (grokfield): Likewise.
15852 (finish_struct): Likewise.
15853 * c-lang.c (maybe_objc_check_decl): Rename to objc_check_decl.
15854 (maybe_objc_comptypes): Rename to objc_comptypes.
a7701995 15855 (maybe_building_objc_message_expr): Rename to
0f7866e7
ZL
15856 objc_message_selector.
15857 * c-lex.c (lex_charconst): Remove uses of clk_objective_c,
15858 replace with flag_objc as needed.
15859 * c-opts.c (c_common_init_options): Likewise.
15860 (c_common_decode_option): Likewise.
15861 * c-parse.in (init_reswords): Likewise.
15862 * c-tree.h (maybe_objc_check_decl): Rename to objc_check_decl.
15863 (maybe_objc_comptypes): Rename to objc_comptypes.
a7701995 15864 (maybe_building_objc_message_expr): Rename to
0f7866e7
ZL
15865 objc_message_selector.
15866 * c-typeck.c (comptypes): Call objc_comptypes instead of
15867 maybe_objc_comptypes, and/or objc_message_selector instead of
15868 maybe_building_objc_message_expr.
15869 (comp_target_types): Likewise.
15870 (convert_for_assignment): Likewise.
15871 (warn_for_assignment): Likewise.
15872 * cppinit.c (init_builtins): Set __OBJC__ manifest constant
15873 independently of those for other languages.
15874 * objc/objc-act.c (maybe_objc_comptypes): Delete.
15875 (maybe_objc_check_decl): Delete.
a7701995 15876 (maybe_building_objc_message_expr): Rename to
0f7866e7
ZL
15877 objc_message_selector.
15878 * objc/objc-lang.c (objc_init_options): Use clk_c instead of
15879 clk_objective_c; set flag_objc flag.
15880
c512fd7b
TM
158812002-08-09 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
15882
15883 * ifcvt.c (find_if_case_2): Test correct basic block for size.
15884
5e1bf043 158852002-08-09 Dale Johannesen <dalej@apple.com>
c512fd7b 15886
5e1bf043
DJ
15887 * config/rs6000/rs6000.md: Add sibcall patterns.
15888 * config/rs6000/rs6000.h (FUNCTION_OK_FOR_SIBCALL): Define.
15889 * config/rs6000/rs6000.c (rs6000_ra_ever_killed):
15890 Rewritten to handle sibcalls.
15891 * config/rs6000/rs6000.c (function_ok_for_sibcall): New.
15892 * config/rs6000/rs6000-protos.h (function_ok_for_sibcall): New.
15893
2043c38e
NS
158942002-08-08 Nathan Sidwell <nathan@codesourcery.com>
15895
15896 * profile.c (da_file_name): New static var.
15897 (init_branch_prob): Initialize it.
15898 (end_branch_prob): Remove da file.
15899
15900 * Makefile.in (stage1_build): Pass empty COVERAGE_FLAGS.
41685063 15901 * configure.in (coverage_flags): Default to nothing.
2043c38e
NS
15902 * configure: Rebuilt.
15903
4b7091eb
NB
159042002-08-09 Neil Booth <neil@daikokuya.co.uk>
15905
15906 * Makefile.in (c-opts.o): Update
15907 * c-opts.c: Include intl.h.
15908 (print_help): Move from cppinit.c. Remove unused options.
15909 (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
15910 (missing_arg): Complain for switches without an argument.
15911 (c_common_decode_option): Reject missing joined arguments.
15912 Handle new switches from cppinit.c.
15913 * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
15914 (cpp_handle_option): Similarly.
15915 (print_help): Moved to c-opts.c.
15916 * cpplib.h (struct cpp_options): Remove help_only.
15917 * gcc.c (cpp_unique_options): Remove -$.
15918 * doc/cppopts.texi: Undocument -h.
15919
9e20be0c
JJ
159202002-08-08 Jakub Jelinek <jakub@redhat.com>
15921
15922 * config/i386/i386.c (legitimate_constant_p): UNSPEC_TP is not
15923 legitimate constant.
15924 (legitimate_pic_operand_p): Neither pic operand.
15925 (legitimate_address_p): But legitimate address.
15926 (get_thread_pointer): Generate MEM/u instead of CONST around
15927 UNSPEC_TP.
15928 (print_operand): Remove printing of UNSPEC_TP.
15929 (print_operand_address): And print it here.
15930
7b9be5c7 159312002-08-08 Devang Patel <dpatel@apple.com>
9e20be0c 15932
a7701995
AJ
15933 * objc/objc-act.c (build_selector_translation_table): Issue warning,
15934 when -Wselector is used,if method for which selector is being
7b9be5c7 15935 created does not exist.
a7701995 15936
5615d8fd
SC
159372002-08-08 Stephen Clarke <stephen.clarke@superh.com>
15938
15939 * config/sh/sh.c (prepare_move_operands): Only call
15940 target_reg_operand if TARGET_SHMEDIA.
a7701995 15941
3b85fe5f
JJ
159422002-08-08 Jakub Jelinek <jakub@redhat.com>
15943
15944 * config/rs6000/rs6000.h, config/rs6000/aix.h,
15945 config/rs6000/darwin.h, config/rs6000/linux64.h: Revert last
15946 two patches.
15947 * config/rs6000/sysv4.h: Likewise, remove #undef ADJUST_FIELD_ALIGN.
15948
e10c79fe
LB
159492002-08-08 Lars Brinkhoff <lars@nocrew.org>
15950 Richard Henderson <rth@redhat.com>
15951
15952 * emit-rtl.c (gen_rtx_REG): After reload, only return
15953 frame_pointer_rtx or hard_frame_pointer_rtx if frame_pointer_needed.
15954
aa2a83dc
JJ
159552002-08-08 Jakub Jelinek <jakub@redhat.com>
15956
15957 * config/rs6000/rs6000-protos.h (rs6000_field_alignment): Remove.
15958 * config/rs6000/rs6000.c (rs6000_field_alignment): Move...
15959 * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): ...inline into the
15960 macro.
15961
aeaf4d25
AN
159622002-08-08 Adam Nemet <anemet@lnxw.com>
15963
15964 * config/arm/arm.c (thumb_unexpanded_epilogue): Stack the PIC
15965 register.
15966 (thumb_expand_prologue): Likewise.
15967 (thumb_output_function_prologue): Likewise.
15968 * config/arm/arm.h (THUMB_INITIAL_ELIMINATION_OFFSET): Account for
15969 the additional push of the PIC register.
15970
22aa533e
NS
159712002-08-08 Nathan Sidwell <nathan@codesourcery.com>
15972
15973 * configure.in (enable_coverage): New enable switch.
15974 * configure: Rebuilt.
15975 * Makefile.in (COVERAGE_FLAGS, coverageexts): New variables.
15976 (INTERNAL_CFLAGS): Append COVERAGE_FLAGS.
15977 (ALL_FLAGS): Reorder so INTERNAL_CFLAGS comes after CFLAGS.
15978 (mostlyclean): Remove coverage files.
15979 * doc/install.texi: Document enable_coverage.
15980
15981 * cp/Make-lang.in (c++.mostlyclean): Remove coverage files.
15982 * ada/Make-lang.in (ada.mostlyclean): Remove coverage files.
15983 * f/Make-lang.in (f.mostlyclean): Remove coverage files.
15984 * java/Make-lang.in (java.mostlyclean): Remove coverage files.
15985 * objc/Make-lang.in (objc.mostlyclean): Remove coverage files.
15986 * treelang/Make-lang.in (treelang.mostlyclean): Remove coverage
15987 files.
a7701995 15988
18bdccaa
NB
159892002-08-08 Neil Booth <neil@daikokuya.co.uk>
15990
15991 * c-opts.c (cpp_opts): New.
15992 (COMMAND_LINE_OPTIONS): Add switches from cppinit.c.
15993 (c_common_decode_options): Handle cpplib switches.
15994 (c_common_init_options): Set cpp_opts.
15995 * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
15996 (cpp_handle_option): Similarly.
15997
774b5662
DE
159982002-08-08 David Edelsohn <edelsohn@gnu.org>
15999
16000 * config/rs6000/aix.h (TARGET_ALTIVEC): Define to 0.
16001 (TARGET_ALTIVEC_ABI): Same.
16002 (TARGET_ALTIVEC_VRSAVE): Same.
16003
16004 * config/rs6000/rs6000.c (rs6000_expand_ternop_builtin): Check
16005 icode not CODE_FOR_nothing. Change switch to if.
16006
957e9e48
AM
160072002-08-08 Alan Modra <amodra@bigpond.net.au>
16008
16009 * config/rs6000/rs6000.h (ASM_CPU_SPEC): Pass -mpower4 when cpu=power4.
16010
daf06049
JJ
160112002-08-08 Jakub Jelinek <jakub@redhat.com>
16012
16013 * stor-layout.c (place_union_field): For bitfields if
16014 PCC_BITFIELD_TYPE_MATTERS and TYPE_USER_ALIGN, set record's
16015 TYPE_USER_ALIGN.
16016
043d39a6
JDA
160172002-08-07 John David Anglin <dave@hiauly1.hia.nrc.ca>
16018
16019 * pa.c (struct deferred_plabel): Constify name field.
16020
34bb92e3
NB
160212002-08-07 Neil Booth <neil@daikokuya.co.uk>
16022
16023 * cppmacro.c (_cpp_builtin_macro_text): Remove unused variable.
16024
3ec5d64d
JDA
160252002-08-07 John David Anglin <dave@hiauly1.hia.nrc.ca>
16026
16027 * configure.in (PREFIX_INCLUDE_DIR): Don't define if prefix and
16028 local_prefix are the same.
16029 * configure: Rebuilt.
16030
ad9335eb
JJ
160312002-08-07 Jakub Jelinek <jakub@redhat.com>
16032 Richard Henderson <rth@redhat.com>
16033
16034 * stor-layout.c (place_union_field): Apply ADJUST_FIELD_ALIGN
16035 to type_align when PCC_BITFIELD_TYPE_MATTERS. Only apply
16036 ADJUST_FIELD_ALIGN if not DECL_USER_ALIGN resp. TYPE_USER_ALIGN.
16037 (place_field): Likewise.
16038 * config/i386/i386.c (x86_field_alignment): Don't check
16039 DECL_USER_ALIGN here.
16040 * config/rs6000/rs6000.c (rs6000_field_alignment): New.
16041 * config/rs6000/rs6000-protos.h (rs6000_field_alignment): New
16042 prototype.
16043 * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): Define.
16044 * config/rs6000/aix.h (ADJUST_FIELD_ALIGN): Remove.
16045 * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Remove.
16046 * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Remove.
16047 * config/rs6000/sysv4.h (ADJUST_FIELD_ALIGN): Remove.
16048 * doc/tm.texi (ADJUST_FIELD_ALIGN): Update description.
16049
0b6f2917
NB
160502002-08-07 Neil Booth <neil@daikokuya.co.uk>
16051
16052 * Makefile.in (c-opts.o, c-common.o, C_AND_OBJC_OBJS): Update.
16053 * c-common.c: Don't include tree-inline.h.
16054 (c_common_init_options, c_common_post_options): Move to c-opts.c.
16055 * c-common.h (c_common_decode_option): New.
16056 * c-decl.c (c_decode_option): Remove.
16057 * c-lang.c (LANG_HOOKS_DECODE_OPTION): Use c_common_decode_option.
16058 * c-opts.c: New file.
16059 * c-tree.h (c_decode_option): Remove.
16060 * doc/passes.texi: Update.
16061 * objc/objc-act.c (objc_decode_option): Remove.
16062 * objc/objc-act.h (objc_decode_option): Remove.
16063 * objc/ojbc-lang.c (LANG_HOOKS_DECODE_OPTION): Use
16064 c_common_decode_option.
16065
e49ec17d
CD
160662002-08-07 Chris Demetriou <cgd@broadcom.com>
16067
16068 * config/mips/mips.md (sunlt_sf, suneq_sf, sunle_sf): Remove
16069 dependency on TARGET_DOUBLE_FLOAT.
16070
ac1ca451
SC
160712002-08-07 Stephen Clarke <stephen.clarke@superh.com>
16072
16073 * config/sh/lib1funcs.asm (GCC_shcompact_incoming_args): Don't
16074 overwrite callee-save registers. Fix comment.
16075
af34e51e
CD
160762002-08-06 Chris Demetriou <cgd@broadcom.com>
16077
16078 * config/mips/mips.c (override_options): Set MASK_BRANCHLIKELY
16079 in target_flags based on ISA, if it was not set on the command
16080 line. Warn if MASK_BRANCHLIKLEY is set but the ISA does not
16081 support Branch Likely instructions.
16082 * config/mips/mips.h (MASK_BRANCHLIKLEY): New macro.
16083 (TARGET_BRANCHLIKELY): Likewise.
16084 (TARGET_SWITCHES): Add -mbranch-likely and -mno-branch-likely.
16085 (GENERATE_BRANCHLIKELY): Use TARGET_BRANCHLIKELY rather than
16086 ISA_HAS_BRANCHLIKELY.
16087 (ISA_HAS_BRANCHLIKELY): Do not include MIPS16 check.
16088 * doc/invoke.texi: Document new MIPS -mbranch-likely and
16089 -mno-branch-likely options.
16090
2631af95
KG
160912002-08-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
16092
f538618e
KG
16093 * ip2k.c (ip2k_set_compare): Add missing iteration variable.
16094
2631af95
KG
16095 * Makefile.in (dummy-conditions.o): Depend on $(HCONFIG_H) not
16096 $(GCONFIG_H).
16097
1ae0ccb6
AH
160982002-08-06 Aldy Hernandez <aldyh@redhat.com>
16099
8537ed68
ZW
16100 * c-decl.c (duplicate_decls): Error out for incompatible TLS
16101 declarations.
1ae0ccb6 16102
8537ed68 16103 * testsuite/gcc.dg/tls/diag-3.c: New.
1ae0ccb6 16104
8d3e27d1 161052002-08-06 Dale Johannesen <dalej@apple.com>
db4c55f6 16106
8d3e27d1 16107 * c-common.c (fname_decl): Use line number 0 for
8537ed68 16108 __func__, to avoid confusing debuggers.
8d3e27d1 16109
8b219a76
NS
161102002-08-06 Nathan Sidwell <nathan@codesourcery.com>
16111
16112 * gcov.c: Tidy.
16113 (struct line_info, struct coverage): New structures.
16114 (gcov_file_name, gcov_file): Remove globals.
16115 (output_data): Take source file parameter. Fix memory leak. Break
16116 up into ...
16117 (init_line_info, output_line_info, make_gcov_file_name,
16118 accumulate_branch_counts): ... here.
16119 (calculate_branch_probs, function_summary): Adjust.
16120 (main): Adjust.
16121 (function_*): Remove global variables.
16122
317e98c0
NB
161232002-08-06 Neil Booth <neil@daikokuya.co.uk>
16124
16125 * dwarf2out.c: Remove unused macros.
16126
81d41e74
NB
161272002-08-06 Neil Booth <neil@daikokuya.co.uk>
16128
16129 * function.c (TRAMPOLINE_ALIGNMENT): Always defined.
16130
58551c23
NB
161312002-08-06 Neil Booth <neil@daikokuya.co.uk>
16132
16133 * cppinit.c (struct lang_flags): Rename trigraphs std.
16134 (set_lang): Update.
16135 * cpplib.h (struct cpp_options): New member std.
16136 * cppmacro.c (_cpp_builtin_macro_text): Use std.
16137 (collect_args): Flag whether to swallow a possible future
16138 comma pasted with varargs.
16139 (replace_args): Use this flag.
16140 * doc/cpp.texi: Update varargs extension documentation.
16141
daeabcd0
JJ
161422002-08-06 Jakub Jelinek <jakub@redhat.com>
16143
16144 * config/i386/mmintrin.h (__m64): Make the type 64-bit aligned.
16145
39e3a681
JJ
161462002-08-06 Jakub Jelinek <jakub@redhat.com>
16147
9812691e
JJ
16148 * config/i386/i386.c (x86_field_alignment): Apply min for all MODE_INT
16149 and MODE_CLASS_INT modes.
39e3a681 16150
609a87f3
JJ
161512002-08-06 Jakub Jelinek <jakub@redhat.com>
16152
16153 * config.gcc (*-*-linux*): Default to --enable-threads=posix if no
16154 --{enable,disable}-threads is given to configure.
16155 (alpha*-*-linux*, hppa*-*-linux*, i[34567]86-*-linux*,
16156 x86_64-*-linux*, ia64*-*-linux*, m68k-*-linux*, mips*-*-linux*,
16157 powerpc-*-linux-gnualtivec*, powerpc-*-linux*, s390-*-linux*,
16158 s390x-*-linux*, sh-*-linux*, sparc-*-linux*, sparc64-*-linux*):
16159 Remove thread_file setting here.
16160
ff4c5e7b
DE
161612002-08-06 David Edelsohn <edelsohn@gnu.org>
16162
16163 * doc/install.texi (Binaries): Update Bull Freeware URL.
16164
54f3aa9e
GP
161652002-08-06 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
16166
16167 * doc/gcc.texi (Top): Rename Index to Keyword Index.
16168
d19202ba
NS
161692002-08-05 Nathan Sidwell <nathan@codesourcery.com>
16170
16171 * gcov.c (output_data): Round to % to nearest, tweak formatting.
16172
1bed5ee3
JJ
161732002-08-05 Jakub Jelinek <jakub@redhat.com>
16174
16175 * fold-const.c (associate_trees): Only optimize NEGATE_EXPR in one
16176 of the operands into MINUS_EXPR if code is PLUS_EXPR.
16177
84512347
DR
161782002-08-05 Douglas B Rupp <rupp@gnat.com>
16179
16180 * config.gcc (i[34567]86-*-interix*): Replace interix.o with winnt.o
16181 * config/i386/i386-interix.h (TARGET_NOP_FUN_DLLIMPORT,
16182 drectve_section): Define.
16183 * config/i386/t-interix: Replace interix.o rule with winnt.o.
16184 * config/i386/interix.c: Remove.
16185
b835f6f1
GK
161862002-08-05 Geoffrey Keating <geoffk@redhat.com>
16187
16188 * attribs.c: Don't include obstack.h.
16189 * builtins.c: Likewise.
16190 * cfganal.c: Likewise.
16191 * cfgbuild.c: Likewise.
16192 * cfgcleanup.c: Likewise.
16193 * emit-rtl.c: Likewise.
16194 * loop.c: Likewise.
16195 * stmt.c: Likewise.
16196
16197 * Makefile.in (s-gtype): Re-add dependency on $(GTFILES).
16198
fd291392
GDR
161992002-08-05 Gabriel Dos Reis <gdr@nerim.net>
16200
16201 * doc/c-tree.texi (Expression trees): Document VA_ARG_EXPR
16202
054b7507
CD
162032002-08-04 Chris Demetriou <cgd@broadcom.com>
16204
16205 * doc/invoke.texi: Remove duplicated paragraph describing
16206 TARGET_SWITCHES.
16207
6d9f628e
GK
162082002-08-04 Geoffrey Keating <geoffk@redhat.com>
16209
16210 * Makefile.in (sdbout.o): Doesn't need $(OBSTACK_H).
16211 * collect2.h (permanent_obstack): Delete declaration.
16212 * collect2.c (permanent_obstack): Delete definition.
4912a07c 16213 (main): Don't initialize permanent_obstack. Use xstrdup instead.
6d9f628e
GK
16214 * expr.c: Don't include obstack.h.
16215 (permanent_obstack): Delete declaration.
16216 * function.c: Don't include obstack.h.
16217 (permanent_obstack): Delete declaration.
16218 * integrate.c: Don't include obstack.h.
16219 (function_maybepermanent_obstack): Delete declaration.
16220 * print-tree.c (debug_tree): Use x*alloc not permalloc.
16221 * sdbout.c (gen_fake_label): Use x*alloc not permalloc.
16222 * tlink.c (pfgets): Use xstrdup not permanent_obstack.
16223 * toplev.c (lang_independent_init): Rename init_obstacks to init_ttree.
16224 * tree.h: Rename init_obstacks to init_ttree. Remove declarations
16225 of permalloc, expralloc, perm_calloc.
16226 * tree.c (permanent_obstack): Delete definition.
16227 (init_ttree): Rename from init_obstacks.
16228 (permalloc): Delete.
16229 (perm_calloc): Delete.
16230 (dump_tree_statistics): Don't print information about
16231 permanent_obstack.
16232 * varasm.c (assemble_start_function): Use xstrdup instead of
16233 permalloc/strcpy.
16234 (assemble_variable): Likewise.
16235 * config/alpha/alpha.c (unicosmk_need_dex): Use xmalloc instead of
16236 permalloc.
16237 (unicosmk_add_extern): Likewise.
16238 * config/c4x/c4x.c (c4x_external_ref): Likewise.
16239 (c4x_global_label): Likewise.
16240 * config/frv/frv.c (frv_encode_section_info): Likewise.
16241 * config/i386/winnt.c (i386_pe_record_external_function): Likewise.
16242 (i386_pe_record_exported_symbol): Likewise.
16243 * config/mips/mips.c (mips_output_external): Likewise.
16244 (mips_output_external_libcall): Likewise.
16245 * config/pa/pa.c: (permanent_obstack): Delete declaration.
16246 (output_call): Use ggc_strdup instead of allocating on
16247 permanent_obstack.
16248 * config/romp/romp.c: Include ggc.h.
16249 (get_symref): Don't declare permanent_obstack, use ggc_strdup
16250 intead of permanent_obstack.
16251 * config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use concat
16252 instead of permalloc.
16253 * config/rs6000/rs6000.c (rs6000_gen_section_name): Use xmalloc
16254 instead of permalloc
16255 * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Use concat
16256 instead of permalloc.
16257 * config/vax/vax.c (vms_check_external): Use xmalloc instead of
16258 permalloc.
16259
36a05131
BS
162602002-08-04 Bernd Schmidt <bernds@redhat.com>
16261
16262 Contribute a port developed primarily by Michael Meissner,
16263 Catherine Moore, and Richard Sandiford <rsandifo@redhat.com>.
16264 * config.gcc: Add frv-elf target.
16265 * config/frv/cmovd.c: New file.
16266 * config/frv/cmovh.c: New file.
16267 * config/frv/cmovw.c: New file.
16268 * config/frv/frv-abi.h: New file.
16269 * config/frv/frv-asm.h: New file.
16270 * config/frv/frv-modes.def: New file.
16271 * config/frv/frv-protos.h: New file.
16272 * config/frv/frv.c: New file.
16273 * config/frv/frv.h: New file.
16274 * config/frv/frv.md: New file.
16275 * config/frv/frvbegin.c: New file.
16276 * config/frv/frvend.c: New file.
16277 * config/frv/lib1funcs.asm: New file.
16278 * config/frv/media.h: New file.
16279 * config/frv/modi.c: New file.
16280 * config/frv/t-frv: New file.
16281 * config/frv/uitod.c: New file.
16282 * config/frv/uitof.c: New file.
16283 * config/frv/ulltod.c: New file.
16284 * config/frv/ulltof.c: New file.
16285 * config/frv/umodi.c: New file.
16286 * config/frv/xm-frv.h: New file.
86a0cbcb
BS
16287
16288 * config/frv/media.h: Removed again.
16289
37b8715b
NS
162902002-08-04 Nathan Sidwell <nathan@codesourcery.com>
16291
16292 * gcov.c (bb_file_time): New static variable.
16293 (object_directory): May also be object file.
16294 (preserve_paths): New static variable.
16295 (print_usage): Adjust.
16296 (options): Adjust.
16297 (process_args): Adjust.
16298 (open_files): Simplify. Cope when OBJECT_DIRECTORY is an object
16299 file. Find modification date on bb file.
16300 (read_profile): Don't rewind a NULL file.
16301 (format_hwint): New static function.
16302 (function_summary): Use format_hwint.
16303 (output_data): SOURCE_FILE_NAME is never relative to
16304 OBJECT_DIRECTORY. Use format_hwint. Adjust gcov file name
16305 mangling. Adjust output format to make it more machine readable.
16306 * doc/gcov.texi: Document & clarify semantics.
a7701995 16307
d500c5d7
JM
163082002-08-04 Joseph S. Myers <jsm@polyomino.org.uk>
16309
16310 * doc/include/gcc-common.texi (version-GCC): Increase to 3.3.
16311
ea67fe71
NS
163122002-08-04 Nathan Sidwell <nathan@codesourcery.com>
16313
16314 * gcc.c (cc1_options): Pass output file as auxbase when
16315 appropriate.
16316 * profile.c (init_branch_prob): FILENAME has already had ending
16317 stripped.
16318 * final.c (end_final): Likewise.
16319 * toplev.c (aux_base_name): New global.
16320 (compile_file): Pass aux_base_name to init init_branch_prob and
16321 end_final.
16322 (independent_decode_option, case 'a'): New auxinfo options.
16323 (case 'd'): Protect against mising basename.
16324 (do_compile): Initialize aux_base_name.
16325 * toplev.h (aux_base_name): New global.
16326 * doc/invoke.texi: Adjust documentation.
16327
b23c054d
NS
163282002-08-04 Nathan Sidwell <nathan@codesourcery.com>
16329
16330 * config/i386/i386.c (x86_field_alignment): Remove duplicate test
16331 of TARGET_ALIGN_DOUBLE.
16332
04c1334c 163332002-08-04 Gabriel Dos Reis <gdr@nerim.net>
a7701995 16334
04c1334c
GDR
16335 * diagnostic.c (inform): New function.
16336 * diagnostic.h (inform): Declare.
a7701995 16337
e34eaae5
DE
163382002-08-03 David Edelsohn <edelsohn@gnu.org>
16339
16340 * config/rs6000/rs6000.md (movsi_internal1): Add nop mnemonic.
16341 (movhi_internal): Same.
16342 (movqi_internal): Same.
16343 (movdi_internal64): Same.
16344
16345 * config/rs6000/t-ppccomm (MULTILIB_MATCHES_FLOAT): Add mcpu=405.
16346
16347 * config/rs6000/xcoff.h (SKIP_ASM_OP): Define.
16348 (ASM_OUTPUT_SKIP): Use it. SIZE unsigned.
16349 (COMMON_ASM_OP): Define.
16350 (ASM_OUTPUT_ALIGNED_COMMON): Use it. SIZE unsigned.
16351 Use ALIGN parameter.
16352 (LOCAL_COMMON_ASM_OP): Define.
16353 (ASM_OUTPUT_LOCAL): Use it. SIZE unsigned.
16354
e7b489c8
RS
163552002-08-03 Roger Sayle <roger@eyesopen.com>
16356
16357 * builtins.def: Define new builtin functions exp, expf, expl,
16358 log, logf and logl (and their __builtin_* variants).
16359 * optabs.h (enum optab_index): Add new OTI_exp and OTI_log.
16360 Define exp_optab and log_optab.
16361 * optabs.c (init_optans): Initialize exp_optab and log_optab.
16362 * genopinit.c (optabs): Implement exp_optab and log_optab
16363 using exp?f2 and log?f2 patterns.
16364 * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_EXP*
16365 and BUILT_IN_LOG* using exp_optab and log_optab respectively.
16366 (expand_builtin): Ignore the new builtins (and all cos and
16367 sin variants) when not optimizing. Expand new builtins via
16368 expand_builtin_mathfn when flag_unsafe_math_optimizations.
16369
16370 * doc/extend.texi: Document new exp and log builtins.
16371 * doc/md.texi: Document new exp?f2 and log?f2 patterns
16372 (and previously undocumented cos?f2 and sin?f2 patterns).
16373
de8920be
JM
163742002-08-03 Jason Merrill <jason@redhat.com>
16375
16376 * explow.c (int_expr_size): New fn.
16377 * expr.c (expand_expr) [CONSTRUCTOR]: Use it.
16378 * expr.h: Declare it.
16379
ba462c8e
KW
163802002-08-02 Krister Walfridsson <cato@df.lth.se>
16381
16382 * Makefile.in (gengtype-lex.o, gengtype-yacc.o): Add path to
16383 gengtype-* dependencies.
16384
2017ed61
EC
163852002-08-02 Eric Christopher <echristo@redhat.com>
16386
16387 * config.gcc (mips*-*-linux*): Fix ordering of tm_file.
16388 * config/mips/mips.h (READONLY_DATA_SECTION_ASM_OP): Change
16389 #ifndef to #undef.
16390 (TARGET_MEM_FUNCTIONS): Define instead of define to 1.
16391
055dd007
DE
163922002-08-02 David Edelsohn <edelsohn@gnu.org>
16393
16394 PR optimize/7067
16395 * config/rs6000/rs6000.h (RTX_COSTS): Artificially make MULT
16396 small if optimizing for size.
16397
771a2a66
DJ
163982002-08-02 Daniel Jacobowitz <drow@mvista.com>
16399
16400 * configure.in (FORBUILD): Use $build_alias.
16401 * configure: Regenerated.
16402
ac8ab9fe
RS
164032002-08-02 Richard Sandiford <rsandifo@redhat.com>
16404
16405 * config.gcc: Don't include mips/abi64.h in $tm_file.
16406 * hard-reg-set.h (call_really_used_regs): Declare.
16407 * config/mips/abi64.h: Remove file.
16408 * config/mips/linux.h,
16409 * config/mips/iris6.h: Don't include it.
16410 * config/mips/mips-protos.h (mips_conditional_register_usage): Declare.
16411 * config/mips/mips.h (CONDITIONAL_REGISTER_USAGE): Use it.
16412 (REG_PARM_STACK_SPACE, STACK_BOUNDARY, STRICT_ARGUMENT_NAMING,
16413 FUNCTION_ARG_PASS_BY_REFERENCE, FUNCTION_ARG_PADDING,
16414 FUNCTION_ARG_CALLEE_COPIES, MUST_PASS_IN_STACK, MIPS_STACK_ALIGN):
16415 Bring across definitions from abi64.h.
16416 (GP_ARG_LAST, FP_ARG_LAST): Use MAX_ARGS_IN_REGISTERS.
16417 (BIGGEST_MAX_ARGS_IN_REGISTERS): New.
16418 (struct mips_args): Use it.
16419 * config/mips/mips.c (mips_conditional_register_usage): Define.
16420
a77a9a18
JM
164212002-08-02 Jason Merrill <jason@redhat.com>
16422
16423 * langhooks-def.h (LANG_HOOKS_EXPR_SIZE): New macro.
16424 * langhooks.c (lhd_expr_size): Define default.
16425 * langhooks.h (struct lang_hooks): Add expr_size.
16426 * explow.c (expr_size): Call it.
16427 * expr.c (store_expr): Don't copy an expression of size zero.
16428 (expand_expr) [CONSTRUCTOR]: Use expr_size to calculate how much
16429 to store.
16430 * Makefile.in (builtins.o): Depend on langhooks.h.
16431
a6be5aee
KG
164322002-08-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
16433
16434 * Makefile.in (ra-debug.o): Depend on $(TM_P_H).
16435 * ra-debug.c: Include "tm_p.h".
16436 * ra-rewrite.c (is_partly_live_1): Change return type to bool.
16437
e3e16ee3
TM
164382002-08-02 Toon Moene <toon@moene.indiv.nluug.nl>
16439
16440 * simplify-rtx.c (simplify_binary_operation): x * 1 is allowed
16441 when not honoring signalling NaNs.
16442 (simplify_ternary_operation): a == b has a definite value
16443 when not honoring NaNs.
16444
b9d8832d
JM
164452002-08-02 Jason Merrill <jason@redhat.com>
16446
16447 * gdbinit.in (pct): New macro.
16448
825abef4
SS
164492002-08-01 Stan Shebs <shebs@apple.com>
16450 Andreas Tobler <toa@pop.agri.ch>
16451
16452 * ginclude/stddef.h (_BSD_SIZE_T_DEFINED_): Define if not defined,
16453 plays nice with Darwin headers.
bf2e488f 16454 (_BSD_RUNE_T_DEFINED_): Likewise.
825abef4 16455
56da7207
ZW
164562002-08-01 Zack Weinberg <zack@codesourcery.com>
16457
16458 * c-common.c (c_common_init): -Wtraditional also implies -Wlong-long.
16459 * cppinit.c (cpp_post_options): Likewise.
16460
16461 * cppexp.c (cpp_classify_number): Suppress -Wtraditional
16462 warning about 'LL' suffix (but not 'ULL' etc) when
16463 -Wno-long-long is in effect.
16464
16465 * cppmacro.c (_cpp_builtin_macro_text) [BT_TIME, BT_DATE]:
16466 Check for failing time()/localtime(), issue a warning, and
16467 make __TIME__ and __DATE__ expand to fallback strings.
16468
16469 * doc/cpp.texi, doc/extend.texi: Document behavior of __DATE__
16470 and __TIME__ when the date and time cannot be determined.
16471
f4857b9b
AM
164722002-08-02 Alan Modra <amodra@bigpond.net.au>
16473
16474 * config/rs6000/rs6000.c (output_cbranch): Hint differently for power4.
16475
77ca7b2e
DJ
164762002-08-01 Daniel Jacobowitz <drow@mvista.com>
16477
16478 * Makefile.in ($(BUILD_PREFIX_1)ggc-none.o): Use $(GGC_H).
16479
5b552f76
CD
164802002-08-01 Chris Demetriou <cgd@broadcom.com>
16481
16482 * config.gcc (mipsisa64sb1-*-elf*): New configuration.
16483 (mipsisa64sb1el-*-elf*): Likewise.
16484 * config/mips/mips.c (mips_cpu_info_table): Add sb1.
16485 * config/mips/mips.h (processor_type): Add PROCESSOR_SB1.
16486 (TARGET_SB1, TUNE_SB1): New macros.
16487 * doc/invoke.texi: Add sb1 to documentation for MIPS -march and
16488 -mtune flags.
16489
54fbf6a1
DE
164902002-08-01 David Edelsohn <edelsohn@gnu.org>
16491
16492 * varasm.c (asm_emit_uninitialized): Return false if global BSS
16493 and ASM_EMIT_BSS not supported by target.
16494 (assemble_variable): Do not duplicate uninitialized logic.
16495 Fall through if asm_emit_uninitialized failed.
16496
3d16b407
CD
164972002-08-01 Chris Demetriou <cgd@broadcom.com>
16498
16499 * config/mips/mips.h (BRANCH_LIKELY_P): Remove unused macro.
16500
fb52d8de
AM
165012002-08-02 Alan Modra <amodra@bigpond.net.au>
16502
80926cc1
AM
16503 * config/rs6000/linux64.h (DBX_OUTPUT_BRAC): Define.
16504 (DBX_OUTPUT_LBRAC, DBX_OUTPUT_RBRAC): Define.
16505
fb52d8de
AM
16506 * config/rs6000/rs6000.c (output_toc): Don't use lshift_double when
16507 HOST_BITS_PER_WIDE_INT == 64.
16508
a4b5414c
KG
165092002-08-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
16510
16511 * df.c (df_insn_table_realloc): Change parameter to unsigned.
16512 * optabs.c (expand_binop): Make variable unsigned.
16513 * simplify-rtx.c (simplify_subreg): Likewise.
16514 * unroll.c (unroll_loop): Cast to avoid signed/unsigned warnings.
16515
a03e67c3
FS
165162002-08-01 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
16517
16518 * c-common.c (cb_register_builtins): Always define __GXX_ABI_VERSION.
16519
de273d3f
RH
165202002-08-01 Richard Henderson <rth@redhat.com>
16521
56da7207 16522 * toplev.c (parse_options_and_default_flags): Don't set
de273d3f
RH
16523 flag_reorder_blocks for -Os.
16524
16525 * config/avr/avr.c (avr_optimization_options): Remove.
16526 * config/avr/avr.h (OPTIMIZATION_OPTIONS): Remove.
16527 * config/m68hc11/m68hc11.c (m68hc11_optimization_options): Remove.
16528 * config/m68hc11/m68hc11.h (OPTIMIZATION_OPTIONS): Remove.
16529
4e4d733e
L
165302002-08-01 H.J. Lu <hjl@gnu.org>
16531 Richard Henderson <rth@redhat.com>
16532
16533 * output.h (DECL_READONLY_SECTION): Remove.
16534 (decl_readonly_section): Declare.
16535 * varasm.c (decl_readonly_section): New.
16536 (default_section_type_flags, default_select_section): Use it.
16537 * config/arm/pe.c (arm_pe_unique_section): Likewise.
16538 * config/i386/interix.c (i386_pe_unique_section): Likewise.
16539 * config/i386/winnt.c (i386_pe_unique_section): Likewise.
16540 * config/mcore/mcore.c (mcore_unique_section): Likewise.
16541 * config/mips/mips.c (mips_unique_section): Likewise.
16542
32e9b960
RH
165432002-08-01 Richard Henderson <rth@redhat.com>
16544
16545 * integrate.c (copy_rtx_and_substitute): Squash MEM_EXPR when it
16546 refers to a subroutine parameter.
16547
81e602b5
JJ
165482002-08-01 Jakub Jelinek <jakub@redhat.com>
16549
16550 * varasm.c (assemble_visibility): Strip name encoding.
16551
ac14c725
ID
165522002-08-01 Ian Dall <ian@sibyl.beware.dropbear.id.au>
16553
16554 * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE): Correct earlier patch.
16555 (RETURN_ADDR_RTX): Cannot determine return address for FRAME > 0
16556 when there is no frame pointer.
16557 (INITIAL_FRAME_POINTER_OFFSET): Count stack space for saved fp
16558 registers properly.
16559 * config/ns32k/__unorddf2.c: New file.
16560 * config/ns32k/__unordsf2.c: New file.
16561 * config/ns32k/t-ns32k: New file.
16562 * config.gcc (ns32k-*-netbsd*): Use it.
16563
17072732
AH
165642002-08-01 Aldy Hernandez <aldyh@redhat.com>
16565
16566 * config/rs6000/rs6000.h (SPU_CONST_OFFSET_OK): Change to 0xff.
16567
c288218a
NB
165682002-08-01 Neil Booth <neil@daikokuya.co.uk>
16569
16570 * c-common.c (__GXX_ABI_VERSION): Correct spelling.
16571
43bfc248
BK
165722002-08-01 Benjamin Kosnik <bkoz@redhat.com>
16573
16574 * c-common.c (cb_register_builtins): Set __GXX_ABI_VERSION__ to 102.
16575
479f2cea
RS
165762002-08-01 Richard Sandiford <rsandifo@redhat.com>
16577
16578 * config/mips/mips.md: Add [!]TARGET_MIPS16 to sgtu conditions.
16579
02280659
ZD
165802002-08-01 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
16581
16582 * gcse.c (expr_hash_table_size, n_exprs, set_hash_table_size,
16583 n_sets): Removed.
16584 (expr_hash_table, set_hash_table): Type changed to ...
16585 (struct hash_table): New type.
16586 (hash_scan_insn, hash_scan_set, hash_scan_clobber, hash_scan_call,
16587 insert_expr_in_table, insert_set_in_table, compute_hash_table,
16588 dump_hash_table, lookup_expr, lookup_set, compute_local_properties,
16589 compute_ae_gen, compute_ae_kill): Modified to pass the table explicitly.
16590 (alloc_set_hash_table, alloc_expr_hash_table): Merged to ...
16591 (alloc_hash_table): New.
16592 (free_set_hash_table, free_expr_hash_table): Merged to ...
16593 (free_hash_table): New.
16594 (compute_set_hash_table, compute_expr_hash_table): Merged to ...
16595 (compute_hash_table_work): New.
16596 (classic_gcse, one_classic_gcse_pass, compute_cprop_data,
16597 find_avail_set, one_cprop_pass, find_bypass_set, compute_pre_data,
16598 pre_edge_insert, pre_insert_copies, pre_delete, pre_gcse,
16599 one_pre_gcse_pass, compute_transpout, compute_code_hoist_vbeinout,
16600 hoist_code, one_code_hoisting_pass,
16601 trim_ld_motion_mems): Altered due to changed type of hash tables.
16602
905173eb
ZW
166032002-08-01 Zack Weinberg <zack@codesourcery.com>
16604
16605 * final.c (output_alternate_entry_point):
16606 If ASM_OUTPUT_TYPE_DIRECTIVE is defined, use it.
16607
83321d36
KG
166082002-08-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
16609
ad0f1765
KG
16610 * objc/objc-act.c (encode_complete_bitfield): Add prototype and
16611 avoid ISO C style function definition.
16612
83321d36
KG
16613 * expr.c (expand_assignment): Delete unused variable.
16614
73e42cf3
TM
166152002-08-01 Toon Moene <toon@moene.indiv.nluug.nl>
16616
16617 * c-common.c (cb_register_builtins): Set
16618 __FINITE_MATH_ONLY__ to 1 if -ffinite-math-only
16619 is given, and to 0 otherwise.
16620 * combine.c (simplify_if_then_else): HONOR_NANS
16621 implies FLOAT_MODE_P.
16622
78df51fe
NB
166232002-08-01 Neil Booth <neil@daikokuya.co.uk>
16624
16625 * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_dollar.
16626 (cpp_handle_option): Don't handle it.
16627 (print_help): Update.
16628 * doc/cppopts.texi: Update.
16629
abecfc8f
NB
166302002-08-01 Neil Booth <neil@daikokuya.co.uk>
16631
16632 * c-common.c (cb_register_builtins): If C++, define
16633 __EXCEPTIONS, __DEPRECATED and __GXX_ABI_VERSION as appropriate.
16634 * gcc.c (cpp_unique_options): Remove __GXX_ABI_VERSION.
16635cp:
16636 * lang-specs.h: Simplify in accordance with new code in
16637 c-common.c.
16638
4078b403
NB
166392002-08-01 Neil Booth <neil@daikokuya.co.uk>
16640
16641 * c-common.c: Define all C/ObjC/C++ warning and flag variables.
16642 * c-common.h: Declare all C/ObjC/C++ warning and flag variables.
16643 * c-decl.c: Move all warning and flag variables to c-common.c.
16644 * c-format.c: Move all warning variables to c-common.c.
16645 * c-tree.h: Move all warning and flag declarations to c-common.h.
16646 * objc/objc-act.c: Move all warning variables to c-common.c.
16647 (flag_warn_protocol): Rename warn_protocol.
16648
692f5611
JDA
166492002-07-31 John David Anglin <dave@hiauly1.hia.nrc.ca>
16650
16651 * pa-linux.h (GLOBAL_ASM_OP): Fix typo.
16652
c7a009a2 166532002-07-31 Graham Stott <graham.stott@btinternet.com>
480e7ded 16654
905173eb 16655 * config/stormy16/stormy16.h (BSS_SECTION_ASM_OP): Add missing
480e7ded
GS
16656 .section prefix.
16657
b069de3b
SS
166582002-07-31 Stan Shebs <shebs@apple.com>
16659
16660 * config.gcc (i[34567]86-*-darwin*): New configuration.
16661 * config/darwin.h (TARGET_ENCODE_SECTION_INFO): Undefine before
16662 defining.
16663 (TARGET_ENCODE_SECTION_INFO): Ditto.
16664 (ASM_PREFERRED_EH_DATA_FORMAT): Ditto.
16665 * config/darwin.c (machopic_indirect_data_reference): Remove
16666 setting of RTX_UNCHANGING_P.
16667 (machopic_legitimize_pic_address): Move RTX_UNCHANGING_P up so as
16668 not to be applied to sums.
16669 * config/i386/t-darwin: New file.
16670 * config/i386/darwin.h: New file.
16671 * config/i386/i386.h (TARGET_MACHO): Add default definition.
16672 * config/i386/i386.md (tablejump): Add TARGET_MACHO case.
16673 * config/i386/i386.c (output_set_got): For Mach-O, output Mach-O
16674 label and not the GOT add.
16675 (constant_address_p): For Mach-O, seeing a CONST is enough.
16676 (legitimate_pic_address_disp_p): Add a Mach-O case.
16677 (legitimate_address_p): Also test machopic_operand_p if Mach-O.
16678 (legitimize_pic_address): Use generic Mach-O code to legitimize.
16679 (output_pic_addr_const): Suppress @PLT if Mach-O, and parens
16680 if outputting a difference.
16681 (ix86_output_addr_diff_elt): Add Mach-O case.
16682 (ix86_expand_move): Similarly.
16683 (ix86_expand_call): Similarly.
16684 (current_machopic_label_num): New global.
16685 (machopic_output_stub): New function.
16686 (ix86_value_regno): New function.
16687 (ix86_function_value): Use it instead of VALUE_REGNO.
16688 (ix86_libcall_value): Ditto.
16689 * config/i386/unix.h (VALUE_REGNO): Remove.
16690
1de4ecb6
GS
166912002-07-31 Graham Stott <grahas@btinternet.com>
16692
16693 * config/rs6000/rs6000.c(rs6000_hash_constant): Fix
905173eb 16694 hash for LABEL_REF's.
1de4ecb6 16695
23368455
GS
166962002-07-31 Graham Stott <grahams@btinternet.com>
16697
16698 * config/rs6000/rs6000.c (spe_init_builtins,
16699 altivec_init_builtins, rs6000_common_init_builtins):
905173eb 16700 Replace ANSI with K&R function def.
23368455 16701
ad72b533
DE
167022002-07-31 David Edelsohn <edelsohn@gnu.org>
16703
16704 * rs6000.c (validate_condition_mode): Test flag_finite_math_only
16705 for CCFPmode.
16706
302359da
RS
167072002-07-31 Richard Sandiford <rsandifo@redhat.com>
16708
16709 * config/mips/crtn.asm: Don't use __mips16 to determine the
16710 return-address offset. Define RA to a suitable temporary
16711 register for the return address.
16712
ead0c1d5
RS
167132002-07-31 Richard Sandiford <rsandifo@redhat.com>
16714
16715 * config/mips/mips.md (eh_set_lr_si, eh_set_lr_di): Change
16716 constraints to 'd'.
16717
3fb9d48a
CD
167182002-07-30 Chris Demetriou <cgd@broadcom.com>
16719
16720 * config/mips/elf.h (STARTFILE_SPEC): Define differently if
16721 default ABI is MEABI. (Undoes incorrect change in Eric Christopher's
16722 patch on 2002-07-29.)
16723 * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
16724
072cdaed
KG
167252002-07-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
16726
506a61b1
KG
16727 * alpha.h, arc.h, arm/aout.h, avr.h, cris.h, d30v.h, dsp16xx.h,
16728 fr30.h, h8300.h, i370.h, i386/sco5.h, i386/unix.h, i960.h, ia64.h,
16729 ip2k.h, m32r.h, mcore.h, mips.h, mn10200.h, mn10300.h, ns32k.h,
16730 openbsd.h, pa/pa-linux.h, pdp11.h, romp.h, rs6000/sysv4.h,
16731 s390/linux.h, sh.h, sparc.h, stormy16.h, v850.h, vax.h, xtensa.h:
16732 (ASM_GLOBALIZE_LABEL): Delete.
16733 (GLOBAL_ASM_OP): Define.
16734
072cdaed 16735 * m68hc11.h, m68k.h, m88k.h (ASM_GLOBALIZE_LABEL): Delete.
905173eb 16736
072cdaed
KG
16737 * defaults.h (ASM_GLOBALIZE_LABEL): Provide a default.
16738 * doc/tm.texi (ASM_GLOBALIZE_LABEL): Update docs.
16739
6fd14075
GK
167402002-07-30 Geoffrey Keating <geoffk@redhat.com>
16741
16742 * doc/extend.texi (Hints implementation): Document that GCC
16743 mostly ignores `register'.
16744
2e8f2e8f
TM
167452002-07-30 Toon Moene <toon@moene.indiv.nluug.nl>
16746
16747 * flags.h: Declare flag_finite_math_only.
16748 Use it in definition of HONOR_NANS and
16749 HONOR_INFINITIES.
16750 * c-common.c (cb_register_builtins): Emit
16751 __FINITE_MATH_ONLY__ when flag_finite_math_only
16752 is set.
16753 * combine.c (simplify_if_then_else): If
16754 flag_finite_math_only is set, a == b has a
16755 definite value.
16756 * toplev.c: Initialize flag_finite_math_only.
16757 (set_flags_fast_math): Set it on -ffast-math.
16758 (flag_fast_math_set_p): Test it.
16759 * doc/invoke.texi: Document -ffinite-math-only.
16760
a538e580
RH
167612002-07-30 Richard Henderson <rth@redhat.com>
16762
16763 * ifcvt.c (noce_get_alt_condition): Use reg_overlap_mentioned_p.
16764 (noce_process_if_block): Likewise.
16765
26e20555
BS
167662002-07-30 Bernd Schmidt <bernds@redhat.com>
16767
16768 * ifcvt.c (cond_exec_process_if_block): Fix a merging error.
16769 Bail out early if false_expr is NULL and we'd crash due to this.
79cbc1f7
BS
16770 * genemit.c (gen_expand): Recognize return insns even if the return
16771 appears in a parallel.
d8088c6f
BS
16772 * libgcc2.c: Expand macro DECLARE_LIBRARY_RENAMES if it is defined.
16773 * config/fp-bit.c: Likewise.
16774 * doc/tm.texi: Document it.
905173eb 16775
0559cc77
DE
167762002-07-30 David Edelsohn <edelsohn@gnu.org>
16777 Zack Weinberg <zack@codesourcery.com>
16778
16779 * rs6000.c (rs6000_expand_unop_builtin): Check icode not
16780 CODE_FOR_nothing. Change switch to if.
16781 (rs6000_expand_binop_builtin): Same.
16782 (rs6000_expand_builtin): Expand builtin if target support enabled.
16783 (rs6000_init_builtins): Init builtin if target support enabled.
16784 (rs6000_common_init_builtins): Check icode not CODE_FOR_nothing.
16785
60b8aa94
FS
167862002-07-30 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
16787
16788 * gcc.c (cpp_unique_options): Define __GXX_ABI_VERSION, bump it to 101.
16789
714fb710
RS
167902002-07-30 Richard Sandiford <rsandifo@redhat.com>
16791
16792 * config/mips/mips.h (SUBTARGET_ASM_DEBUGGING_SPEC): Fix typo.
16793
c608a684
R
16794Tue Jul 30 18:31:31 2002 J"orn Rennecke <joern.rennecke@superh.com>
16795
16796 * sh.md (cond_delay_slot): New attribute.
16797 (cbranch delay): Use it for anulled-true case.
16798 (stuff_delay_slot): New pattern.
16799 * sh.c (print_operand, case '.'): Don't print .s / /s fore zero-length
16800 delay slot insn.
16801 (gen_far_branch): Emit stuff_delay_slot pattern.
16802
0a756401
R
16803Tue Jul 30 11:21:44 2002 J"orn Rennecke <joern.rennecke@superh.com>
16804
16805 * unroll.c (copy_loop_body): Don't copy NOTE_INSN_LOOP_CONT.
16806
68e82b83
KH
168072002-07-30 Kazu Hirata <kazu@cs.umass.edu>
16808
16809 * fold-const.c: Fix comment typos.
16810 * gcse.c: Likewise.
16811 * reload1.c: Likewise.
16812
fe6b547a
AH
168132002-07-29 Aldy Hernandez <aldyh@redhat.com>
16814
16815 * config/rs6000/rs6000.md: Disallow CCEQ compare with crnor/crnot
16816 for TARGET_SPE.
16817
7ff4a7ef
GDR
168182002-07-30 Gabriel Dos Reis <gdr@nerim.net>
16819
16820 * c-pretty-print.h (pp_c_statement): Declare.
16821 * c-pretty-print.c (pp_c_postfix_expression): #if 0 support for SRCLOC.
16822 (pp_c_statement): Define.
16823
4ad5e05d
KG
168242002-07-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
16825
16826 * alpha.h, arc.h, arm/aout.h, avr.h, c4x.h, cris.h, d30v.h,
16827 darwin.h, dsp16xx.h, fr30.h, h8300.h, i370.h, i386.h, i960.h,
16828 ip2k.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mips.h,
16829 mn10200.h, mn10300.h, ns32k.h, pa/pa-linux.h, pdp11.h, romp.h,
16830 rs6000/sysv4.h, s390/linux.h, sh.h, sparc.h, stormy16.h,
16831 v850.h, vax.h, xtensa.h (ASM_OUTPUT_LABEL): Delete definition.
16832
16833 * defaults.h (ASM_OUTPUT_LABEL): Provide a default.
16834 * doc/tm.texi (ASM_OUTPUT_LABEL): Update docs.
16835
1e6a3e1e
GDR
168362002-07-30 Gabriel Dos Reis <gdr@nerim.net>
16837
16838 * c-pretty-print.c (pp_c_primary_expression): Handle STMT_EXPR.
16839 (pp_c_postfix_expression): Handle ARROW_EXPR, FFS_EXPR,
16840 COMPOUND_LITERAL_EXPR, VA_ARG_EXPR.
16841 (pp_c_expression): Update.
16842
1dcd444b
KG
168432002-07-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
16844
16845 * alpha/vms-cc.c (preprocess_args, main): Use xstrdup and/or
16846 concat in lieu of xmalloc/strcpy/memcpy/sprintf.
16847 * alpha/vms-ld.c (main): Likewise.
16848 * dsp16xx.c (double_reg_to_memory): Likewise.
16849 * mcore.c (mcore_expand_prolog): Likewise.
16850 * cppfiles.c (read_name_map): Likewise.
16851 * gensupport.c (process_rtx, identify_predicable_attribute,
16852 alter_test_for_insn): Likewise.
16853 * vmsdbgout.c (write_rtnbeg, vmsdbgout_init): Likewise.
16854
e62f4abc
RS
168552002-07-29 Roger Sayle <roger@eyesopen.com>
16856
16857 * builtins.c (expand_builtin): Change the default behavior to
905173eb 16858 only issue an error if the builtin function doesn't have a
e62f4abc
RS
16859 fallback library call. Remove several cases handled by the
16860 new default.
16861
0cd2fb44
JDA
168622002-07-29 John David Anglin <dave@hiauly1.hia.nrc>
16863
16864 * real.c (ieee_24, ieee_53, ieee_64, ieee_113): Define only if the
16865 floating point format of the target is IEEE.
16866 * (dec_f, dec_d, dec_g, dec_h): Define only if the floating point
16867 format of the target is DEC.
16868
b642261e
RH
168692002-07-29 Richard Henderson <rth@redhat.com>
16870
16871 * unroll.c (verify_addresses): Remove.
16872 (find_splittable_givs): Never split DEST_ADDR givs.
16873
cba57c9d
GK
168742002-07-29 Geoffrey Keating <geoffk@redhat.com>
16875
16876 * doc/gty.texi (GGC Roots): Clarify that the list of syntaxes
16877 is exhaustive.
16878 (Files): Improve documentation on generated source files.
16879
16880 * doc/extend.texi (Translation implementation): Document what
16881 diagnostics look like.
16882 (Identifiers implementation): Document that there's normally no
16883 limit on identifier names.
16884 (Integers implementation): Document two's complement.
8d9afc4e 16885 (Hints implementation): Document that GCC honors 'inline', mostly.
cba57c9d
GK
16886 (Preprocessing directives implementation): Document that GCC
16887 requires the current time.
16888
76a8ecba
GDR
168892002-07-30 Gabriel Dos Reis <gdr@nerim.net>
16890
16891 * c-pretty-print.h (struct c_pretty_print_info): Add new member.
16892 (pp_initializer): New macro.
16893 (pp_c_initializer): Declare.
16894 * c-pretty-print.c (pp_c_primary_expression): HAndle TARGET_EXPR.
16895 (pp_c_initializer): Define.
16896 (pp_c_initializer_list): New function.
16897 (pp_c_postfix_expression): Handle ABS_EXPR, COMPLEX_CST,
16898 VECTOR_CST, CONSTRUCTOR.
16899 (pp_c_unary_expression): Handle CONJ_EXPR, REALPART_EXPR,
905173eb 16900 IMAGPART_EXPR.
76a8ecba
GDR
16901 (pp_c_cast_expression): Handle FLOAT_EXPR.
16902 (pp_c_assignment_expression): Handle INIT_EXPR.
16903 (pp_c_expression): Update.
16904
4307be72
NB
169052002-07-30 Neil Booth <neil@daikokuya.co.uk>
16906
16907 * objc/objc-act.c (objc_init): Return immediately if filename
16908 is NULL.
16909
6d439235
EC
169102002-07-29 Eric Christopher <echristo@redhat.com>
16911
905173eb
ZW
16912 * config/mips/elf.h: Remove ecoff.h and gofast includes.
16913 (DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO): Define unconditionally.
16914 (SDB_DEBUGGING_INFO): Undefine.
16915 (PREFERRED_DEBUGGING_TYPE): Set to DWARF2_DEBUG.
6d439235
EC
16916 (PUT_SDB_SIZE): Remove.
16917 (SUBTARGET_ASM_DEBUGGING_SPEC): Redefine.
905173eb
ZW
16918 (STARTFILE_SPEC): Add isa3264 define.
16919 * config/mips/elf64.h: Ditto. Move TARGET_MEM_FUNCTIONS from here...
16920 * config/mips/ecoff.h: Remove. and here...
16921 * config/mips/iris3.h: and here...
16922 * config/mips/sni-svr4.h: and here...
16923 * config/mips/mips.h: To here. Remove OBJECT_FORMAT_ROSE ifdefs.
6d439235
EC
16924 Add assembler -mmdebug options for non-dwarf debugging.
16925 * config/mips/r3900.h: Remove debug info defines.
905173eb
ZW
16926 * config/mips/isa32-linux.h: Remove, move functionality to config.gcc.
16927 * config/mips/isa3264.h: Ditto.
16928 * config/mips/t-isa3264: Fix up for file removal and gofast configure
16929 change.
16930 * config/mips/t-elf: Ditto.
16931 * config/mips/t-ecoff: Ditto.
16932 * config/mips/t-r3900: Ditto.
16933 * config/mips/t-iris5-6: Ditto.
16934 * config/mips/t-isa3264: Ditto.
16935 * config/mips/t-linux: Remove.
16936 * config/mips/t-netbsd: Remove.
16937 * config/mips/t-mips: New file.
16938 * config/mips/t-gofast: Ditto.
16939 * config/mips/netbsd.h: Remove unnecessary undefines.
16940 * config/mips/linux.h: Remove #include of mips.h.
16941 * config.gcc: Add mips.h include for elf targets. Remove tm_file
16942 for ecoff. Add gofast configure option for mips.
6d439235 16943
4357a6c3
CD
169442002-07-29 Chris Demetriou <cgd@broadcom.com>
16945
16946 * configure.in (mips*-*-*): Add a test to see if MIPS libgloss
16947 linker scripts use STARTUP directives consistently.
16948 * configure: Regenerate.
16949 * config.in: Regenerate.
16950 * config/mips/elf.h (STARTFILE_SPEC): Define conditionally, based
16951 on whether HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is defined.
16952 * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
16953 * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine if
16954 HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is set; the result
16955 will be the same.
16956
9a5cd606
AH
169572002-07-29 Aldy Hernandez <aldyh@redhat.com>
16958
16959 * config/rs6000/rs6000.md ("cpu"): Add ppc8540 to attribute.
16960
a23acaa6
AH
169612002-07-29 Aldy Hernandez <aldyh@redhat.com>
16962
16963 * config/rs6000/rs6000.h (RTX_COSTS): Add MULT case for 8540.
16964
10ed84db
AH
169652002-07-29 Aldy Hernandez <aldy@quesejoda.com>
16966
16967 * config/rs6000/rs6000.md: Move altivec patterns from here...
16968
16969 * config/rs6000/altivec.md: ...to here.
16970
c3021e5d
AH
169712002-07-29 Aldy Hernandez <aldyh@redhat.com>
16972
16973 * config/rs6000/spe.md ("spe_evmra"): Change to unspec.
16974
6f1087be
RH
169752002-07-29 Richard Henderson <rth@redhat.com>
16976
16977 * emit-rtl.c (set_mem_attributes_minus_bitpos): Rename from
16978 set_mem_attributes and add BITPOS argument. Subtract it from
16979 OFFSET when same is adjusted.
16980 (set_mem_attributes): New wrapper function.
16981 * expr.c (expand_assignment): Use set_mem_attributes_minus_bitpos;
16982 remove offset adjustment hack.
16983 * expr.h (set_mem_attributes_minus_bitpos): Declare.
16984
61ccbcfd
GDR
169852002-07-29 Gabriel Dos Reis <gdr@nerim.net>
16986
16987 * Makefile.in (C_OBJS): Include c-pretty-print.o
16988 (c-pretty-print.o): Add depency rule.
16989 * pretty-print.h: Add more macros.
16990 * c-pretty-print.c: New file.
16991 * c-pretty-print.h: Likewise.
16992
09101f56
AH
169932002-07-29 Aldy Hernandez <aldyh@redhat.com>
16994
16995 * config/rs6000/spe.h (__internal_ev_mwhgumian): Cast vector
16996 constants to __ev64_s32__.
16997 (__internal_ev_mwhgsmian): Same.
16998 (__internal_ev_mwhgsmfan): Same.
16999 (__internal_ev_mwhgssfan): Same.
17000 (__internal_ev_mwhgumiaa): Same.
17001 (__internal_ev_mwhgsmiaa): Same.
17002 (__internal_ev_mwhgsmfaa): Same.
17003 (__internal_ev_mwhgssfaa): Same.
17004
af673a52
DE
170052002-07-29 David Edelsohn <edelsohn@gnu.org>
17006
17007 * varasm.c (assemble_variable): Narrow test for uninitialized
17008 without BSS target support.
17009
6c208acd
NS
170102002-07-29 Nathan Sidwell <nathan@codesourcery.com>
17011
17012 * profile.c: Add file comment describing the overall algorithm and
17013 structures.
17014 (struct edge_info): Add comments.
17015 (struct bb_info): Add comments.
17016 * basic-block.h (EDGE_*): Add comments.
17017 * doc/gcov.texi (Gcov Data Files): Document bit flags.
17018
624f0d60
BW
170192002-07-29 Bob Wilson <bob.wilson@acm.org>
17020
17021 * config/xtensa/elf.h, config/xtensa/linux.h
17022 (TARGET_OS_CPP_BUILTINS): Define.
17023 (CPP_PREDEFINES): Remove.
17024 * config/xtensa/xtensa.h (TARGET_CPU_CPP_BUILTINS): Define.
17025 (CPP_SPEC): Remove.
17026
2199e5fa
ZW
170272002-07-29 Zack Weinberg <zack@codesourcery.com>
17028
17029 * gensupport.c: Include hashtab.h.
17030 (insn_elision, condition_table, hash_c_test, cmp_c_test,
17031 maybe_eval_c_test): New routines and data structures to
17032 support insn elision.
17033 (init_md_reader): Read and initialize the condition_table.
17034 (read_md_rtx): Discard insn patterns whose C test is provably
17035 always false.
17036 * gensupport.h: Declare new functions and data structures.
17037
17038 * genconditions.c, dummy-conditions.c: New files.
17039 * Makefile.in: Build genconditions; run it to construct
17040 insn-conditions.c; build that and link it into most gen*
17041 programs.
17042 (HOST_SUPPORT, HOST_EARLY_SUPPORT): New variables.
17043 (GEN): Delete, unused.
17044 (STAGESTUFF): Update.
17045
17046 * gencodes.c: (gen_insn): #define CODE_FOR_xxx equal to
17047 CODE_FOR_nothing for all elided patterns.
17048 (main): Tweaked to support this.
17049 * genflags.c (gen_proto): Emit a static inline generator
17050 function here for all elided patterns, which simply returns
17051 NULL_RTX.
17052 (gen_insn): Do not define HAVE_xxx for elided patterns.
17053 (main): Tweaked to support this. No need to forward-declare
17054 struct rtx_def.
17055 * genrecog.c: Do not bother emitting the C test if it's known
17056 to be true at compile time.
17057
6ab185d6
MS
170582002-07-29 Mike Stump <mrs@apple.com>
17059
6d439235 17060 * config.gcc (target_gtfiles): Initialize, as otherwise cross
2199e5fa 17061 compilers hosted on powerpc-apple-darwin6.0 won't even build.
6ab185d6 17062
72b075d1
RE
170632002-07-29 Richard Earnshaw <rearnsha@arm.com>
17064
17065 * arm.md (sibcall, sibcall_value): Add RETURN as part of the pattern,
17066 remove clobber of LR.
17067 (sibcall_insn, sibcall_value_insn): Update accordingly.
17068 (sibcall_epilogue): Remove debugging comment from assembler stream.
17069
f63c45ec
GDR
170702002-07-29 Gabriel Dos Reis <gdr@nerim.net>
17071
17072 * pretty-print.h: Define more macros.
17073 * diagnostic.h (output_formatted_integer): Moved from...
17074 * diagnostic.c: ... here.
17075
c27c15db
KG
170762002-07-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17077
17078 * stormy16.h (ASM_OUTPUT_SYMBOL_REF): Use ASM_OUTPUT_LABEL_REF.
17079
99086d59
ZW
170802002-07-28 Zack Weinberg <zack@codesourcery.com>
17081
17082 * defaults.h (ASM_OUTPUT_MEASURED_SIZE): Take only two
17083 arguments. Always use ".-symbol" as expression argument.
17084 * doc/tm.texi: Update to match. Document requirement for
17085 ".size symbol, .-symbol" to be acceptable to assembler.
17086
17087 * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
17088 config/arm/elf.h, config/avr/avr.h, config/cris/aout.h,
17089 config/i386/freebsd-aout.h, config/i386/sco5.h,
17090 config/ip2k/ip2k.h, config/m88k/m88k.h, config/xtensa/elf.h,
17091 config/xtensa/linux.h: Update uses of ASM_OUTPUT_MEASURED_SIZE.
17092
dd86aabf
KG
170932002-07-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17094
6fd327e9
KG
17095 * Makefile.in (gengtype-lex.c): Fix error in last change.
17096
8155cedd
KG
17097 * alpha/freebsd.h (TARGET_OS_CPP_BUILTINS): Add missing
17098 backslash.
17099
dd86aabf
KG
17100 * Makefile.in (vmsdbgout.o): Depend on function.h.
17101
17102 * vmsdbgout.c: Include function.h.
17103
d4348177
AM
171042002-07-28 Alan Modra <amodra@bigpond.net.au>
17105
17106 * prefix.c (update_path): Don't strip single `.' path components
17107 unless stripping a later `..' component. Exit loop as soon as
17108 a valid path is found.
17109
c2ef6d34
RS
171102002-07-27 Roger Sayle <roger@eyesopen.com>
17111
17112 * builtins.def [DEF_GCC_BUILTIN]: Require an explicit ATTRS
17113 argument. Mark BUILT_IN_RETURN, BUILT_IN_EH_RETURN,
17114 BUILT_IN_LONGJMP and BUILT_IN_TRAP as noreturn, the ISO C99
17115 floating point unordered comparisons (e.g. __builtin_isgreater)
17116 as const, and leave the remaining GCC_BUILTINs unchanged.
17117
17118 * c-decl.c (builtin_function): No need to explicitly mark
17119 BUILT_IN_RETURN and BUILT_IN_EH_RETURN as noreturn.
17120
52bfebf0
RS
171212002-07-27 Roger Sayle <roger@eyesopen.com>
17122
17123 * Makefile.in: rtlanal.o now depends upon real.h.
17124
17125 * flags.h [flag_signaling_nans]: New flag.
17126 [HONOR_SNANS]: New macro.
17127
17128 * toplev.c [flag_signaling_nans]: Initialize to false.
99086d59 17129 (f_options): Add processing for "-fsignaling-nans".
52bfebf0
RS
17130 (set_fast_math_flags): Clear flag_signaling_nans with -ffast-math.
17131 (process_options): flag_signaling_nans implies flag_trapping_math.
17132
17133 * c-common.c (cb_register_builtins): Define __SUPPORT_SNAN__
17134 when -fsignaling-nans. First step to implementing WG14's N965.
17135
17136 * fold-const.c (fold) [MULT_EXPR]: Conditionalize transforming
17137 1.0 * x into x, and -1.0 * x into -x on !HONOR_SNANS.
17138 [RDIV_EXPR]: Conditionalize x/1.0 into x on !HONOR_SNANS.
17139
17140 * simplify-rtx.c (simplify_relational_operation): Conditionalize
17141 transforming abs(x) < 0.0 into false on !HONOR_SNANS.
17142
17143 * rtlanal.c: #include real.c for TARGET_FLOAT_FORMAT definitions
17144 required by HONOR_SNANS. (may_trap_p): Floating point DIV, MOD,
99086d59
ZW
17145 UDIV, UMOD, GE, GT, LE, LT and COMPARE may always trap with
17146 -fsignaling_nans. EQ and NE only trap for flag_signaling_nans
52bfebf0
RS
17147 not flag_trapping_math (i.e. HONOR_SNANS but not HONOR_NANS).
17148
17149 * doc/invoke.texi: Document new -fsignaling-nans compiler option.
17150
e66f55b8
KG
171512002-07-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17152
17153 * Makefile.in (gengtype-lex.c): Work around a bug in flex.
17154 * gengtype-lex.l (YY_USE_PROTOS): Undef.
17155 (YY_DECL): Define.
17156
a3926fe1
RS
171572002-07-27 Roger Sayle <roger@eyesopen.com>
17158
17159 * doc/invoke.texi: Document that both -fno-builtin-foo and
17160 -fno-builtin are supported by the g++ front-end.
17161
ef69da62
SS
171622002-07-27 Stan Shebs <shebs@apple.com>
17163
17164 * configure.in: Rename config_gtfiles to target_gtfiles.
17165 * configure: Regenerate.
17166 * doc/gty.texi: Update reference.
17167 * config.gcc (powerpc-*-darwin*): Set target_gtfiles
17168 instead of appending to it.
17169
a4b0320c
AH
171702002-07-25 Aldy Hernandez <aldyh@redhat.com>
17171
17172 * config/rs6000/rs6000.c (function_arg_advance): SPE vararg
17173 vectors are split into two registers.
17174 (function_arg): Same.
17175
c427db5d
R
17176Thu Jul 26 23:00:13 2002 J"orn Rennecke <joern.rennecke@superh.com>
17177
17178 * pa.md (extv): Check predicates before emitting extv_32.
17179
57ac7be9
AM
171802002-07-27 Alan Modra <amodra@bigpond.net.au>
17181
17182 * config/rs6000/rs6000.c (rs6000_traceback_name): New var.
17183 (rs6000_traceback): New var.
17184 (rs6000_override_options): Set rs6000_traceback.
17185 (rs6000_output_function_epilogue): Implement traceback options.
17186 * config/rs6000/rs6000.h (TARGET_OPTIONS): Add "traceback=".
17187 (rs6000_traceback_name): Declare.
17188
17189 * config/rs6000/rs6000.c (output_profile_hook): Don't generate profile
17190 label reference when NO_PROFILE_COUNTERS.
17191
8e51619a
JM
171922002-07-26 Jason Merrill <jason@redhat.com>
17193
17194 * function.c (assign_parms): Handle frontend-directed pass by
17195 invisible reference.
17196
b41f25cf
NB
171972002-07-26 Neil Booth <neil@daikokuya.co.uk>
17198
17199 * doc/cppopts.texi: Update.
17200
c2734e05
NB
172012002-07-26 Neil Booth <neil@daikokuya.co.uk>
17202
17203 * cppmacro.c (_cpp_create_definition): Don't attempt redefinition
17204 warnings on assertions.
17205
c372b0fa
NB
172062002-07-26 Neil Booth <neil@daikokuya.co.uk>
17207
17208 * c-common.h (RID_AND, RID_AND_EQ, RID_NOT, RID_NOT_EQ,
17209 RID_OR, RID_OR_EQ, RID_XOR, RID_XOR_EQ, RID_BITAND, RID_BITOR,
17210 RID_COMPL): Remove.
17211 * c-parse.in (rid_to_yy): Similarly.
17212
558ee214
JM
172132002-07-26 Jason Merrill <jason@redhat.com>
17214
17215 * c-dump.c: Resurrect.
17216 * tree-dump.c: Move C-specific stuff to c-dump.c.
17217 * c-common.h: Declare c_dump_tree.
17218 * c-lang.c (LANG_HOOKS_TREE_DUMP_DUMP_TREE_FN): Define.
17219 * Makefile.in (C_AND_OBJC_OBJS): Add c-dump.o.
17220 (c-dump.o): New rule.
17221
ce71f754
AM
172222002-07-26 Alan Modra <amodra@bigpond.net.au>
17223
17224 * config/rs6000/rs6000.md: Enable patterns using rlwinm for
17225 PowerPC64. Replace "T" and "S" constraints with "n" when the
17226 predicate will do. Formatting fixes.
17227 (extzvsi_internal2): Use "andi.", "andis." and attr type of "compare"
17228 as for extzvsi_internal1.
17229
e179e7d7
NB
172302002-07-25 Neil Booth <neil@daikokuya.co.uk>
17231
17232 * dwarfout.c (VERSION_ASM_OP, DERIV_BEGIN_LABEL_FMT,
17233 DERIV_END_LABEL_FMT): Remove.
17234 (SL_BEGIN_LABEL_FMT, SL_END_LABEL_FMT): Move.
17235
a2056183
NB
172362002-07-25 Neil Booth <neil@daikokuya.co.uk>
17237
17238 * objc/objc-act.c (UTAG_STATICS, UTAG_PROTOCOL_LIST, USERTYPE):
17239 Remove.
17240
308c142a
SS
172412002-07-25 Stan Shebs <shebs@apple.com>
17242
17243 * config/rs6000/rs6000.c (rs6000_emit_prologue): Remove unused
17244 local var dwarfp.
17245 (output_compiler_stub): Remove unused locals.
17246 (output_call): Always initialize line number.
17247
59324685
R
17248Thu Jul 25 20:34:50 2002 J"orn Rennecke <joern.rennecke@superh.com>
17249
17250 * sh.h (LOAD_EXTEND_OP): QImode zero-extends on SHmedia.
17251 * sh.md (truncdiqi2, movqi_media): Likewise.
17252
77bbd421
NB
172532002-07-25 Neil Booth <neil@daikokuya.co.uk>
17254
17255 * gcse.c (obstack_chunk_alloc): Remove.
17256 (gcse_alloc): Fix to count allocated bytes.
17257 * collect2.c (SYMBOL__MAIN): Remove.
17258
7bad45b0
NB
172592002-07-25 Neil Booth <neil@daikokuya.co.uk>
17260
17261 * gcc.c (TARGET_EXECUTABLE_SUFFIX): Only used if
17262 HAVE_TARGET_EXECUTABLE_SUFFIX.
17263
184166b5
R
17264Thu Jul 25 18:57:50 2002 J"orn Rennecke <joern.rennecke@superh.com>
17265
17266 * rtl.h (mem_attrs): Spell out more clearly the roles of ALIGN,
17267 SIZE, EXPR and OFFSET.
17268
40cb04f1
RH
172692002-07-25 Richard Henderson <rth@redhat.com>
17270
17271 * emit-rtl.c (set_mem_attributes): Fix size and alignment thinkos
17272 in ARRAY_REF of DECL_P case.
17273
a27fb29b
RS
172742002-07-25 Richard Sandiford <rsandifo@redhat.com>
17275
17276 * doc/invoke.texi: Document -mabi=meabi, and expand on the EABI
17277 description. Document -mips32, -mips64, and the associated -march
17278 values. Describe the "mipsN" arguments to -march. Say that the
17279 -mipsN options are equivalent to -march. Reword the description
17280 of default type sizes.
17281 * toplev.h (target_flags_explicit): Declare.
17282 * toplev.c (target_flags_explicit): New var.
17283 (set_target_switch): Update target_flags_explicit.
17284 * config/mips/abi64.h (SUBTARGET_TARGET_OPTIONS): Undefine.
17285 * config/mips/elf64.h (MIPS_ISA_DEFAULT): Undefine.
17286 * config/mips/iris6.h (SUBTARGET_ASM_SPEC): -mabi=64 implies -mips3.
17287 * config/mips/isa3264.h (MIPS_ENABLE_EMBEDDED_O32): Undefine.
17288 * config/mips/mips.h (mips_cpu_info): New struct.
17289 (mips_cpu_string, mips_explicit_type_size_string): Remove.
17290 (mips_cpu_info_table, mips_arch_info, mips_tune_info): Declare.
17291 (MIPS_CPP_SET_PROCESSOR): New macro.
17292 (TARGET_CPP_BUILTINS): Declare a macro for each supported processor.
17293 Define _MIPS_ARCH and _MIPS_TUNE.
17294 (MIPS_ISA_DEFAULT): Don't provide a default value. Instead...
17295 (MIPS_CPU_STRING_DEFAULT): Set to "from-abi" if neither it nor
17296 MIPS_ISA_DEFAULT were already defined.
17297 (MULTILIB_DEFAULTS): Add MULTILIB_ABI_DEFAULT.
17298 (TARGET_OPTIONS): Remove -mcpu and -mexplicit-type-size.
17299 (ABI_NEEDS_32BIT_REGS, ABI_NEEDS_64BIT_REGS): New.
17300 (GAS_ASM_SPEC): Remove -march, -mcpu, -mgp* and -mabi rules.
17301 (ABI_GAS_ASM_SPEC): Remove.
17302 (MULTILIB_ABI_DEFAULT, ASM_ABI_DEFAULT_SPEC): New macros.
17303 (ASM_SPEC): Add -mgp32, -mgp64, -march, -mabi=eabi and -mabi=o64.
17304 Invoke %(asm_abi_default_spec) if no ABI was specified.
17305 (CC1_SPEC): Remove ISA -> register-size rules.
17306 (EXTRA_SPECS): Remove abi_gas_asm_spec. Add asm_abi_default_spec.
17307 * config/mips/mips.c (mips_arch_info, mips_tune_info): New vars.
17308 (mips_cpu_string, mips_explicit_type_size_string): Remove.
17309 (mips_cpu_info_table): New array.
17310 (mips_set_architecture, mips_set_tune): New fns.
17311 (override_options): Rework to make -mipsN equivalent to -march.
17312 Detect more erroneous cases, including those removed from CC1_SPEC.
17313 Don't change the ABI based on architecture, or vice versa.
17314 Unify logic with GAS.
17315 (mips_asm_file_start): Get architecture name from mips_arch_info.
17316 (mips_strict_matching_cpu_name_p, mips_matching_cpu_name_p): New fns.
17317 (mips_parse_cpu): Take the name of the option as argument. Handle
17318 'from-abi'. Raise an error if the option is wrong.
17319 (mips_cpu_info_from_isa): New fn.
17320
6bbdc759
RS
173212002-07-25 Richard Sandiford <rsandifo@redhat.com>
17322
17323 * config/mips/mips.md (tablejump_mips161): Use gen_rtx_LABEL_REF.
17324 (tablejump_mips162): Likewise.
17325
80a62484
R
17326Thu Jul 25 10:23:41 2002 J"orn Rennecke <joern.rennecke@superh.com>
17327
17328 * simpify-rtx.c (simplify_subreg): Don't pass MODE_CC mode to
17329 int_mode_for_mode.
17330
ea793912
GDR
173312002-07-25 Gabriel Dos Reis <gdr@nerim.net>
17332
17333 * c-common.c (c_sizeof_or_alignof_type): Take a third argument for
99086d59 17334 complaining.
ea793912
GDR
17335 * c-common.h (c_sizeof): Adjust definition.
17336 (c_alignof): Likewise.
17337 * c-tree.h (c_sizeof_nowarn): Now macro.
17338 * c-typeck.c (c_sizeof_nowarn): Remove definition.
17339
2d615444
NB
173402002-07-25 Neil Booth <neil@daikokuya.co.uk>
17341
17342 * c-decl.c (c_decode_option): No need to handle switches
17343 cpplib handles.
17344
2be2ac70
ZW
173452002-07-24 Zack Weinberg <zack@codesourcery.com>
17346
17347 * defaults.h (ASM_OUTPUT_TYPE_DIRECTIVE, ASM_OUTPUT_SIZE_DIRECTIVE,
17348 ASM_OUTPUT_MEASURED_SIZE): New default definitions of new macros.
17349 * doc/tm.texi: Document them. Also document SIZE_ASM_OP,
17350 TYPE_ASM_OP, and TYPE_OPERAND_FMT.
17351
17352 * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
17353 config/alpha/elf.h, config/arm/elf.h, config/avr/avr.h,
17354 config/cris/aout.h, config/i386/freebsd-aout.h,
17355 config/i386/sco5.h, config/ia64/ia64.c, config/ip2k/ip2k.h,
17356 config/m68k/m68kelf.h, config/m68k/m68kv4.h, config/m88k/m88k.h,
17357 config/mcore/mcore-elf.h, config/mips/elf.h, config/mips/elf64.h,
17358 config/mips/iris6.h, config/mips/linux.h, config/pa/pa-linux.h,
17359 config/pa/pa64-hpux.h, config/rs6000/sysv4.h,
17360 config/xtensa/elf.h, config/xtensa/linux.h:
17361 Use the new macros.
17362 Where possible, remove redundant definitions of SIZE_ASM_OP,
17363 TYPE_ASM_OP, and TYPE_OPERAND_FMT.
17364
518878e1
AH
173652002-07-24 Aldy Hernandez <aldyh@redhat.com>
17366
17367 * config/rs6000/eabi.h: Define TARGET_SPE_ABI, TARGET_SPE,
17368 TARGET_ISEL, and TARGET_FPRS.
99086d59 17369
518878e1
AH
17370 * doc/invoke.texi (RS/6000 and PowerPC Options): Document
17371 -mabi=spe, -mabi=no-spe, and -misel=.
17372
17373 * config/rs6000/rs6000-protos.h: Add output_isel.
17374 Move vrsave_operation prototype here.
17375
17376 * config/rs6000/rs6000.md (sminsi3): Allow pattern for TARGET_ISEL.
17377 (smaxsi3): Same.
17378 (uminsi3): Same.
17379 (umaxsi3): Same.
17380 (abssi2_nopower): Disallow when TARGET_ISEL.
17381 (*ne0): Same.
17382 (negsf2): Change to expand and rename old pattern to *negsf2.
17383 (abssf2): Change to expand and rename old pattern to *abssf2.
99086d59 17384
518878e1
AH
17385 New expanders: fix_truncsfsi2, floatunssisf2, floatsisf2,
17386 fixunssfsi2.
17387
17388 Change patterns that check for TARGET_HARD_FLOAT or
17389 TARGET_SOFT_FLOAT to also check TARGET_FPRS.
17390
17391 * config/rs6000/rs6000.c: New globals: rs6000_spe_abi,
17392 rs6000_isel, rs6000_fprs, rs6000_isel_string.
17393 (rs6000_override_options): Add 8540 case to
17394 processor_target_table.
17395 Set rs6000_isel for the 8540.
17396 Call rs6000_parse_isel_option.
17397 (enable_mask_for_builtins): New.
17398 (rs6000_parse_isel_option): New.
17399 (rs6000_parse_abi_options): Add spe and no-spe.
17400 (easy_fp_constant): Treat !TARGET_FPRS as soft-float.
17401 (rs6000_legitimize_address): Check for TARGET_FPRS when checking
17402 for TARGET_HARD_FLOAT.
17403 Add case for SPE_VECTOR_MODE.
17404 (rs6000_legitimize_reload_address): Handle SPE vector modes.
17405 (rs6000_legitimate_address): Disallow PRE_INC/PRE_DEC for SPE
17406 vector modes.
17407 Check for TARGET_FPRS when checking for TARGET_HARD_FLOAT.
17408 (rs6000_emit_move): Check for TARGET_FPRS.
17409 Add cases for SPE vector modes.
17410 (function_arg_boundary): Return 64 for SPE vector modes.
17411 (function_arg_advance): Check for TARGET_FPRS and
17412 Handle SPE vectors.
17413 (function_arg): Same.
17414 (setup_incoming_varargs): Check for TARGET_FPRS.
17415 (rs6000_va_arg): Same.
17416 (struct builtin_description): Un-constify mask field. Move up in
17417 file.
17418 (bdesc_2arg): Un-constify and add SPE builtins.
17419 (bdesc_1arg): Same.
17420 (bdesc_spe_predicates): New.
17421 (bdesc_spe_evsel): New.
17422 (rs6000_expand_unop_builtin): Add SPE 5-bit literal builtins.
17423 (rs6000_expand_binop_builtin): Same.
17424 (bdesc_2arg_spe): New.
17425 (spe_expand_builtin): New.
17426 (spe_expand_predicate_builtin): New.
17427 (spe_expand_evsel_builtin): New.
17428 (rs6000_expand_builtin): Call spe_expand_builtin for SPE.
17429 (rs6000_init_builtins): Initialize SPE builtins. Call
17430 rs6000_common_init_builtins.
17431 (altivec_init_builtins): Move all non-altivec builtin code to...
17432 (rs6000_common_init_builtins): ...here. New function.
17433 (branch_positive_comparison_operator): Allow NE code for SPE.
17434 (ccr_bit): Return correct ccr bit for SPE fp.
17435 (print_operand): Emit crnor in 'D' case for SPE.
17436 New case 't'.
17437 Add SPE code for 'y' case.
17438 (rs6000_generate_compare): Generate rtl for SPE fp.
17439 (output_cbranch): Handle SPE hard floats.
17440 (rs6000_emit_cmove): Handle isel.
17441 (rs6000_emit_int_cmove): New.
17442 (output_isel): New.
17443 (rs6000_stack_info): Adjust stack frame so GPRs are saved in
17444 64-bits for SPE.
17445 (debug_stack_info): Add SPE info.
17446 (gen_frame_mem_offset): New.
17447 (rs6000_emit_prologue): Save GPRs in 64-bits for SPE abi.
17448 Change mode of frame pointer, when saving it, to Pmode.
17449 (rs6000_emit_epilogue): Restore GPRs in 64-bits for SPE abi.
17450 Misc cleanups and use gen_frame_mem_offset when appropriate.
17451
17452 * config/rs6000/rs6000.h (processor_type): Add PROCESSOR_PPC8540.
17453 (TARGET_SPE_ABI): New.
17454 (TARGET_SPE): New.
17455 (TARGET_ISEL): New.
17456 (TARGET_FPRS): New.
17457 (FIXED_SCRATCH): New.
17458 (RTX_COSTS): Add PROCESSOR_PPC8540.
17459 (ASM_CPU_SPEC): Add case for 8540.
17460 (TARGET_OPTIONS): Add isel= case.
17461 (rs6000_spe_abi): New.
17462 (rs6000_isel): New.
17463 (rs6000_fprs): New.
17464 (rs6000_isel_string): New.
17465 (UNITS_PER_SPE_WORD): New.
17466 (LOCAL_ALIGNMENT): Adjust for SPE.
17467 (HARD_REGNO_MODE_OK): Same.
17468 (DATA_ALIGNMENT): Same.
17469 (MEMBER_TYPE_FORCES_BLK): New.
17470 (FIRST_PSEUDO_REGISTER): Set to 113.
17471 (FIXED_REGISTERS): Add SPE registers.
17472 (reg_class): Same.
17473 (REG_CLASS_NAMES): Same.
17474 (REG_CLASS_CONTENTS): Same.
17475 (REGNO_REG_CLASS): Same.
17476 (REGISTER_NAMES): Same.
17477 (DEBUG_REGISTER_NAMES): Same.
17478 (ADDITIONAL_REGISTER_NAMES): Same.
17479 (CALL_USED_REGISTERS): Same.
17480 (CALL_REALLY_USED_REGISTERS): Same.
17481 (SPE_ACC_REGNO): New.
17482 (SPEFSCR_REGNO): New.
17483 (SPE_SIMD_REGNO_P): New.
17484 (HARD_REGNO_NREGS): Adjust for SPE.
17485 (VECTOR_MODE_SUPPORTED_P): Same.
17486 (REGNO_REG_CLASS): Same.
17487 (FUNCTION_VALUE): Same.
17488 (LIBCALL_VALUE): Same.
17489 (LEGITIMATE_OFFSET_ADDRESS_P): Same.
17490 (SPE_VECTOR_MODE): New.
17491 (CONDITIONAL_REGISTER_USAGE): Disable FPRs when target does FP on
17492 the GPRs. Set FIXED_SCRATCH fixed in SPE case.
17493 (rs6000_stack): Add spe_gp_size, spe_padding_size,
17494 spe_gp_save_offset.
17495 (USE_FP_FOR_ARG_P): Check for TARGET_FPRS.
17496 (LEGITIMATE_LO_SUM_ADDRESS_P): Same.
17497 (SPE_CONST_OFFSET_OK): New.
17498 (rs6000_builtins): Add SPE builtins.
17499
17500 * testsuite/gcc.dg/ppc-spe.c: New.
99086d59 17501
518878e1
AH
17502 * config/rs6000/eabispe.h: New.
17503
17504 * config/rs6000/spe.h: New.
17505
17506 * config/rs600/spe.md: New.
17507
17508 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
17509 __SIMD__ for TARGET_SPE.
17510
17511 * config.gcc: Add powerpc-*-eabispe* case.
17512 Add spe.h to user headers for powerpc.
17513
8d1b7ba1
CD
175142002-07-24 Chris Demetriou <cgd@broadcom.com>
17515
17516 * config/mips/elf.h (STARTFILE_SPEC): Undo previous change.
17517 * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
17518 * config/mips/isa3264.h (STARTFILE_SPEC): Likewise.
17519
8ad8135a
RH
175202002-07-24 Richard Henderson <rth@redhat.com>
17521
17522 * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Use GOTO_SUBROUTINE_EXPR
17523 form when not optimizing.
17524
dc44a4d8
DM
175252002-07-24 David Mosberger <davidm@hpl.hp.com>
17526
17527 * config/ia64/ia64.c (gen_thread_pointer): Fix typo in marking
17528 thread_pointer_rtx as unchanging.
17529
c5605318
MM
175302002-07-24 Michael Matz <matz@suse.de>
17531
17532 * ra-colorize.c (INV_REG_ALLOC_ORDER): New macro.
17533 (free_reg): Use it.
17534
3ade30ea
RE
175352002-07-24 Richard Earnshaw <rearnsha@arm.com>
17536
17537 * arm.md (arm_buneq, arm_bltgt): put '\' before ';' in output
17538 pattern.
17539 (arm_buneq_reversed, arm_bltgt_reversed): Likewise.
17540 (movsicc, movsfcc, movdfcc): FAIL if UNEQ or LTGT.
17541
8a3ad737
CD
175422002-07-24 Chris Demetriou <cgd@broadcom.com>
17543
17544 * config/mips/elf.h (STARTFILE_SPEC): Never include crt0.o.
17545 * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
17546 * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine.
17547
7e51e626
JH
17548Wed Jul 24 17:59:12 CEST 2002 Jan Hubicka <jh@suse.cz>
17549
17550 * toplev.c (rest_of_compilation): Dump loops before clobbering
17551 the structure.
17552
5df533b3
JH
17553Wed Jul 24 17:23:16 CEST 2002 Jan Hubicka <jh@suse.cz>
17554
17555 * rtlanal.c (keep_with_call_p): Avoid overflow in fixed_regs.
17556
79258dce
RS
175572002-07-24 Frank van der Linden <fvdl@wasabisystems.com>
17558
17559 PR optimization/7291
17560 * config/i386/i386.c (ix86_expand_clrstr): Fix bzero alignment
17561 problem on x86_64.
17562
26ff2117
GDR
175632002-07-24 Gabriel Dos Reis <gdr@nerim.net>
17564
17565 * pretty-print.h: Add macros from cp/error.c
17566
0ba1b2ff
AM
175672002-07-24 Alan Modra <amodra@bigpond.net.au>
17568
17569 * config/rs6000/rs6000-protos.h (mask_operand_wrap): Declare.
17570 (mask64_2_operand): Declare.
17571 (build_mask64_2_operands): Declare.
17572 (and64_2_operand): Declare.
17573 (extract_MB): Declare.
17574 (extract_ME): Declare.
17575 * config/rs6000/rs6000.c (mask64_operand): Allow all ones. Remove
17576 CONST_DOUBLE code.
17577 (mask_operand_wrap): New insn predicate.
17578 (mask64_2_operand): Likewise.
17579 (and64_2_operand): Likewise.
17580 (build_mask64_2_operands): New function.
17581 (extract_MB): New function.
17582 (extract_ME): New function.
17583 (print_operand <case m,M>): Use extract_MB and extract_ME.
17584 (print_operand <case S>): Allow all ones. Remove CONST_DOUBLE support.
17585 * config/rs6000/rs6000.h (EXTRA_CONSTRAINT): Add 't'.
17586 (PREDICATE_CODES): Add and64_2_operand, mask_operand_wrap and
17587 mask64_2_operand. Remove CONST_DOUBLE from mask64_operand.
17588 * config/rs6000/rs6000.md (andsi3_internal3): New
17589 (andsi3_internal3+1): Enable split for powerpc64.
17590 (andsi3_internal3+2): New split.
17591 (andsi3_internal4): Renamed old andsi3_internal3.
17592 (andsi3_internal5): New.
17593 (andsi3_internal5+1): Enable split for powerpc64.
17594 (andsi3_internal5+2): New split.
17595 (andsi3_internal6, andsi3_internal7, andsi3_internal8): New.
17596 (anddi3): Handle 't' constraint.
17597 (anddi3+1): New split.
17598 (anddi3_internal2): Handle 't' constraint.
17599 (anddi3_internal2+1): New split.
17600 (anddi3_internal3): Handle 't' constraint.
17601 (anddi3_internal3+1): New split.
17602
097657c3
AM
176032002-07-24 Alan Modra <amodra@bigpond.net.au>
17604
17605 * config/rs6000/rs6000.md: Remove scratch reg on insns using
17606 addze and similar (plus (comparison r1 r2) r3) insns. Add
17607 missing scratch reg in one case. Formatting fixes.
17608
a69cbaac
NB
176092002-07-24 Neil Booth <neil@daikokuya.co.uk>
17610
17611 * cppexp.c (parse_defined): Mark macro used.
17612 * cpphash.h (struct cpp_macro): New member "used".
17613 (_cpp_mark_macro_used, _cpp_warn_if_unused_macro): New.
17614 (struct cpp_reader): New member.
17615 * cppinit.c (cpp_finish_options): Set first_unused_line.
17616 (cpp_finish): Warn of unused macros if requested.
17617 (OPT_TABLE): New switches.
17618 (cpp_handle_option): Handle them.
17619 * cpplib.c (do_undef): Warn if macro unused.
17620 (do_ifdef, do_ifndef): Mark macro used.
17621 * cpplib.h (struct cpp_options): New member.
17622 * cppmacro.c (_cpp_warn_if_unused_macro): New.
17623 (enter_macro_context): Mark macro used.
17624 (_cpp_create_definition): Mark macro unused; warn if unused
17625 when redefined.
17626 * cpptrad.c (scan_out_logcial_line, push_replacement_text):
17627 Mark macros used.
17628 * doc/cppopts.texi: Update.
17629
c0667597
NB
176302002-07-23 Neil Booth <neil@daikokuya.co.uk>
17631
17632 * dwarf2out.c (SECTION_ASM_OP,
17633 ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
17634 * system.h (SECTION_ASM_OP): Poison.
17635 * tree.c (FILE_FUNCTION_PREFIX_LEN): Remove.
17636 * config/alpha/alpha-interix.h, config/mips/linux.h
17637 (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
17638 * config/mmix/mmix-protos.h, config/mmix/mmix.c
17639 (mmix_asm_output_define_label_difference_symbol): Remove.
17640 * config/mmix/mmix.h
17641 (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
b841421a 17642 * doc/tm.texi: Remove documentation.
c0667597 17643
bf7cd754
R
17644Tue Jul 23 21:49:24 2002 J"orn Rennecke <joern.rennecke@superh.com>
17645
17646 * recog.c (asm_operand_ok): Allow float CONST_VECTORs for 'F'.
17647 (constrain_operands): Likewise.
17648 * regclass.c (record_reg_classes): Likewise.
17649 * reload.c (find_reloads): Likewise.
17650 * doc/md.texi: Likewise.
451f86fd
R
17651
17652 * reload.c (find_reloads_toplev): Use simplify_gen_subreg.
17653 * simplify-rtx.c (simplify_subreg): When converting to a non-int
17654 mode, try to convert to an integer mode of matching size first.
1d5fa6b4
R
17655
17656 * simplify-rtx.x (simplify_subreg): When constructing a CONST_VECTOR
17657 from individual subregs, check that each subreg has been generated
17658 sucessfully.
17659
10d6af32
NB
176602002-07-23 Neil Booth <neil@daikokuya.co.uk>
17661
17662 * genautomata.c (VLA_HWINT_SHORTEN, VLA_HWINT_LAST): Remove.
17663 * df.c (HANDLE_SUBREG, FOR_EACH_BB_IN_BITMAP_REV,
17664 FOR_EACH_BB_IN_SBITMAP): Remove.
17665 * gcse.c (NEVER_SET, FOLLOW_BACK_EDGES): Remove.
17666 * haifa-sched.c (DONE_PRIORITY, MAX_PRIORITY, TAIL_PRIORITY,
17667 LAUNCH_PRIORITY, DONE_PRIORITY_P, LOW_PRIORITY_P): Remove.
17668 * loop.c (PREFETCH_BLOACK_IN_LOOP_MIN,
17669 PREFETCH_LIMIT_TO_SIMULTANEOUS): Remove.
17670 * regrename.c (REGNO_MODE_OK_FOR_BASE_P): Remove.
17671
6aaae39a
GDR
176722002-07-23 Gabriel Dos Reis <gdr@nerim.net>
17673
17674 * pretty-print.h: New file.
17675
45e574d0
JDA
176762002-07-23 Paul Koning <pkoning@equallogic.com>
17677
17678 * real.c (REAL_WORDS_BIG_ENDIAN): Make 1 for DEC.
17679 (LARGEST_EXPONENT_IS_NORMAL): Ditto.
17680 (VAX_HALFWORD_ORDER): Define (1 for DEC VAX, 0 otherwise).
17681 (TARGET_G_FLOAT): Default to 0 if not defined.
99086d59 17682 (ieeetoe): New, common routine to convert target format floats
45e574d0
JDA
17683 to internal form.
17684 (e24toe, e53toe): Change to use ieeetoe, distinguish DEC
17685 vs. others.
17686 (e113toe): Change to use ieeetoe.
17687
176882002-07-23 Roman Lechtchinsky <rl@cs.tu-berlin.de>
17689
17690 * real.c (REAL_WORDS_BIG_ENDIAN): Make sure it is 0 for DEC and 1 for
17691 IBM.
17692 (e53toe): Assume IEEE if non of DEC, IBM and C4X is defined.
17693 (e64toe): Remove special cases for DEC and IBM. Remove support for
17694 ARM_EXTENDED_IEEE_FORMAT.
17695 (e24toe): Remove special cases for DEC.
17696 (significand_size): Simplify. Indent.
17697 (ieee_format, ieee_24, ieee_53, ieee_64, ieee_113): New.
17698 (etoieee, toieee): New.
17699 (etoe113, toe113, etoe64, toe64, etoe53, toe53, etoe24, toe24): Use
17700 etoieee and toieee for IEEE arithmetic.
17701
3764f879
GDR
177022002-07-23 Gabriel Dos Reis <gdr@nerim.net>
17703
17704 * doc/extend.texi: Say ISO C90, not ISO C89.
17705 * doc/invoke.texi: Likewise.
17706 * doc/standards.texi: Likewise.
17707
aa0f70e6
SE
177082002-07-23 Steve Ellcey <sje@cup.hp.com>
17709
17710 * gcc/explow.c (convert_memory_address): Fix conversion of CONSTs.
17711 Fix permutation of conversion and plus/mult.
17712 * gcc/builtins.c (expand_builtin_memcpy) Ensure return pointer is
17713 ptr_mode and not Pmode when POINTERS_EXTEND_UNSIGNED is defined.
17714 (expand_builtin_strncpy) Ditto.
17715 (expand_builtin_memset) Ditto.
17716
fa72b064
GDR
177172002-07-23 Gabriel Dos Reis <gdr@nerim.net>
17718
17719 Fix PR/7363:
17720 * c-common.c (c_sizeof_or_alignof_type): New function.
17721 (c_alignof): Remove definition.
17722 * c-common.h (c_sizeof, c_alignof): Define as macros.
17723 (c_sizeof_or_alignof_type): Declare.
17724 (my_friendly_assert): Moved from cp/cp-tree.h
17725 * c-typeck.c (c_sizeof): Remove definition.
17726
2b773ee2
JH
177272002-07-23 Jan Hubicka <jh@suse.cz>
17728
17729 * gcse.c (try_replace_reg): Use num_changes_pending.
17730 * recog.c (num_changes_pending): New function.
17731 (validate_replace_src): Use validate_repalce_src_group.
17732 (validate_replace_src_group): New.
17733 * recog.h (validate_repalce_src_group): New.
17734 (num_changes_pending): Likewise.
17735
a0dc500c
R
17736Tue Jul 23 12:16:58 2002 J"orn Rennecke <joern.rennecke@superh.com>
17737
17738 * calls.c (emit_library_call_value_1): If
17739 FUNCTION_ARG_PASS_BY_REFERENCE is true, pretend this is neither
17740 libcall, const call nor pure call.
17741
d22eda7b
NB
177422002-07-23 Neil Booth <neil@daikokuya.co.uk>
17743
17744 * config/m88k/m88k.h (SECTION_ASM_OP): Remove.
17745
b5e66e65
NB
177462002-07-23 Neil Booth <neil@daikokuya.co.uk>
17747
17748 * vmsdbgout.c (SECTION_ASM_OP): Remove.
17749
c3a600c0
NB
177502002-07-23 Neil Booth <neil@daikokuya.co.uk>
17751
17752 * config/i386/i386.c (AT_BP): Remove.
17753
4fa31c2a
NB
177542002-07-23 Neil Booth <neil@daikokuya.co.uk>
17755
17756 * defaults.h (obstack_chunk_alloc, obstack_chunk_free):
17757 Default definition.
17758 * gcse.c: Don't define obstack_chunk_free.
17759 * collect2.c, conflict.c, df.c, diagnostic.c, fix-header.c,
17760 flow.c, gcc.c, genattrtab.c, genautomata.c, genflags.c, gensupport.c,
17761 integrate.c, loop.c, ra.c, read-rtl.c, regrename.c, reload1.c,
17762 reorg.c, tlink.c, tree.c, config/arm/arm.c, objc/objc-act.c:
17763 Don't define obstack macros.
17764
fd576c86
SC
177652002-07-22 Stephane Carrez <stcarrez@nerim.fr>
17766
17767 PR target/6744
17768 * config/m68hc11/m68hc11.c (m68hc11_z_replacement): Also replace
17769 ASM_OPERANDS instructions.
17770
b791ff31
SC
177712002-07-22 Stephane Carrez <stcarrez@nerim.fr>
17772
17773 PR target/7361
17774 * config/m68hc11/m68hc11.c (go_if_legitimate_address_internal): Accept
17775 constant addresses only on 68HC12.
17776
4a941115
NB
177772002-07-22 Neil Booth <neil@daikokuya.co.uk>
17778
17779 * cppfiles.c (stack_include_file): Correct test of whether
17780 a dependency should be output.
17781
7488cc6d
DE
177822002-07-22 David Edelsohn <edelsohn@gnu.org>
17783
17784 * collect2.c (is_ctor_dtor): Add other possible JOINER values.
17785
b41caf7c
RE
177862002-07-22 Richard Earnshaw <rearnsha@arm.com>
17787
17788 * arm.md (movqi): If optimizing and we can create pseudos, use
17789 a ZERO_EXTEND to load from memory, then copy the result into the
17790 target.
17791 (movhi): Likewise, but only for ARMv4.
17792
492e9934
NB
177932002-07-22 Neil Booth <neil@daikokuya.co.uk>
17794
17795 * ssa-ccp.c (PHI_PARMS): Remove.
17796
f01f01a6
RS
177972002-07-22 Richard Sandiford <rsandifo@redhat.com>
17798
17799 * config/mips/mips.h (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS
17800 on big-endian targets.
17801
c2ae8aef
KG
178022002-07-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17803
17804 * hwint.h (HOST_WIDE_INT_PRINT_DEC_SPACE,
17805 HOST_WIDE_INT_PRINT_UNSIGNED_SPACE,
17806 HOST_WIDEST_INT_PRINT_DEC_SPACE, HOST_WIDEST_INT_PRINT_DEC_SPACE):
17807 New formatting macros.
17808
17809 * ra-debug.c (dump_static_insn_cost): Avoid string concatenation.
17810
eab2120d
R
17811Mon Jul 22 15:27:25 2002 J"orn Rennecke <joern.rennecke@superh.com>
17812
17813 * rtlanal.c (subreg_regno_offset): Return correct offset for
17814 big endian paradoxical subregs.
0d541696
R
17815
17816 * optabs.c (expand_vector_unop): Don't expand using sub_optab
17817 if we got the wrong mode.
bb9b3805
R
17818
17819 * hwint.c (define HOST_WIDE_INT_PRINT_DEC_C): New define.
17820 * genrecog.c (write_switch, write_cond): Use it.
17821 * genemit.c (gen_exp): Likewise.
17822
e96eb215
JJ
178232002-07-22 Jakub Jelinek <jakub@redhat.com>
17824
17825 * c-decl.c (build_compound_literal): Set decl TREE_READONLY from TYPE.
17826
cf3c4f56
JJ
178272002-07-22 Jakub Jelinek <jakub@redhat.com>
17828
17829 * c-decl.c (build_compound_literal): Defer compound literal decls
17830 until until file end to emit them only if they are actually used.
17831
533c4863
KG
178322002-07-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17833
17834 * ra-build.c (check_conflict_numbers): Hide unused function.
17835 (livethrough_conflicts_bb): Avoid automatic aggregate
17836 initialization.
17837 (parts_to_webs_1): Avoid `U' integer constant modifier.
17838 (conflicts_between_webs): Wrap a variable in the macro controlling
17839 its usage.
17840 * ra-debug.c (ra_debug_msg): Use VA_OPEN/VA_CLOSE.
17841 (dump_igraph, dump_graph_cost): Avoid string concatenation
17842 (dump_static_insn_cost): Avoid automatic aggregate
17843 initialization.
17844 * ra-rewrite.c (insert_stores): Avoid automatic aggregate
17845 initialization.
17846 (dump_cost): Avoid string concatenation
17847
8943a0b4
RH
178482002-07-21 Richard Henderson <rth@redhat.com>
17849
17850 * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Don't use
17851 GOTO_SUBROUTINE_EXPR when finally_block can be re-expanded.
17852
b1aef35b
RH
178532002-07-21 Richard Henderson <rth@redhat.com>
17854
17855 * unroll.c (find_splittable_givs): Do not split DEST_ADDR givs
17856 that are not unrolled completely.
17857
5e1afb11
RH
178582002-07-21 Richard Henderson <rth@redhat.com>
17859
17860 * loop.h (LOOP_AUTO_UNROLL): Rename from LOOP_FIRST_PASS.
17861 * loop.c (strength_reduce): Update.
17862 * toplev.c (rest_of_compilation): Do unrolling in the first
17863 loop pass, not the second.
17864
c67a1cf6
RH
178652002-07-21 Richard Henderson <rth@redhat.com>
17866
17867 * emit-rtl.c (set_mem_attributes): Preserve indirection of PARM_DECL
17868 when flag_argument_noalias == 2.
17869 * alias.c (nonoverlapping_memrefs_p): Handle that.
17870 * print-rtl.c (print_mem_expr): Likewise.
17871
b68daef4
HS
178722002-07-21 Hartmut Schirmer <hartmut.schirmer@arcor.de>
17873
17874 * libgcc2.c (__divdi3, __moddi3): Use unary minus operator
17875 instead of __negdi2 directly.
17876
060a58c5
NB
178772002-07-21 Neil Booth <neil@daikokuya.co.uk>
17878
17879 * gengenrtl.c (gencode): Don't define obstack_alloc_rtx.
17880 * function.c (SYMBOL__MAIN): Remove definition.
17881 * global.c (SET_CONFLICT, REGBITP, ALLOCNO_LIVE_P): Remove.
99086d59 17882 * predict.c (PROB_NEVER, PROB_LIKELY, PROB_UNLIKELY): Remove.
060a58c5
NB
17883 * profile.c (GCOV_INDEX_TO_BB): Remove.
17884 * sched-rgn.c (ABS_VALUE, MIN_DIFF_PRIORITY, MIN_PROB_DIFF): Remove.
17885 * simplify-rtx.c (FIXED_BASE_PLUS_P): Remove.
17886
2f8dd115
NB
178872002-07-21 Neil Booth <neil@daikokuya.co.uk>
17888
17889 * c-lex.c (GET_ENVIRONMENT): Remove.
17890 * collect2.c (GET_ENV_PATH_LIST): Remove.
17891 (prefix_from_env): Use GET_ENVIRONMENT.
17892 * cppinit.c (GET_ENV_PATH_LIST): Remove.
17893 (init_standard_includes): Use GET_ENVIRONMENT.
17894 * defaults.h (GET_ENVIRONMENT): Define here if not already.
17895 * gcc.c (GET_ENV_PATH_LIST): Remove.
17896 (make_relative_prefix, process_command): Update.
17897 * protoize.c (GET_ENV_PATH_LIST): Remove.
17898 (do_processing): Update.
17899
56508306
GDR
179002002-07-21 Gabriel Dos Reis <gdr@nerim.net>
17901
17902 * c-decl.c (build_array_declarator): Say 'ISO C90', not 'ISO C89'.
17903 (grokdeclarator): Likewise.
17904 * c-format.c (C_STD_NAME): Likewise.
17905 * c-lex.c (interpret_integer): Likewise.
17906 * c-typeck.c (build_array_ref): Likewise.
17907 * cpplex.c (_cpp_lex_direct): Likewise.
17908 * toplev.c (documented_lang_options): Likewise.
17909
e2f62855
NB
179102002-07-21 Neil Booth <neil@daikokuya.co.uk>
17911
17912 * c-format.c (T99_I, T99_UI): Remove.
17913
c89d1dfd
NB
179142002-07-21 Neil Booth <neil@daikokuya.co.uk>
17915
17916 * c-typeck.c (SAVE_SPELLING_DEPTH): Remove.
17917
46690369
JH
17918Sun Jul 21 21:36:41 CEST 2002 Jan Hubicka <jh@suse.cz>
17919
17920 * gcse.c (do_local_cprop): Do not extend lifetimes of registers set by
17921 do_local_cprop.
17922
60ffc1b8
AJ
179232002-07-21 Andreas Jaeger <aj@suse.de>
17924
99086d59 17925 * reload1.c (fixup_abnormal_edges): Remove unused variable.
60ffc1b8 17926
c05ffc49
BS
179272002-07-21 Bernd Schmidt <bernds@redhat.com>
17928
17929 Improvements for the ifcvt pass from Michael Meissner, with patches
17930 by Richard Sandiford <rsandifo@redhat.com>
17931 * basic-block.h (struct ce_if_block, ce_if_block_t): New types.
17932 * ifcvt.c (cond_exec_changed_p): New static variable.
17933 (last_active_insn): New function, renamed from last_active_insn_p
17934 and changed to return the last active insn in a basic block. All
17935 callers updated.
17936 (block_fallthru): New function.
17937 (cond_exec_process_insns): New argument CE_INFO. Pass it to
17938 IFCVT_MODIFY_INSN. All callers updated.
17939 Return false if START or END are NULL.
17940 Handle case where we're processing an insn that is already
17941 conditional.
17942
17943 (noce_process_if_block): CE_INFO argument rather than
17944 multiple args containing the involved basic blocks. All callers
17945 changed.
17946 (process_if_block, merge_if_block, find_if_block,
17947 cond_exec_process_if_block): Likewise.
17948
17949 (cond_exec_process_if_block): New arg DO_MULTIPLE_P. All callers
17950 changed.
17951 Use new function last_active_insn to simplify some code.
17952 New code to handle multiple tests.
17953 Call IFCVT_MODIFY_CANCEL in all failure cases, otherwise set
17954 cond_exec_changed_p to TRUE.
17955
17956 (process_if_block): New code to handle multiple tests.
17957 (merge_if_block): Likewise.
17958 (find_if_header): New arg PASS. Changed to return the currently
17959 processed basic block or NULL instead of true/false. All callers
17960 changed.
17961 Call IFCVT_INIT_EXTRA_FIELDS.
17962 (block_jumps_and_fallthru_p): New function.
17963 (find_if_block): Discover opportunities to convert multiple tests.
17964 Add additional debugging output.
17965 Update the ce_info structure before returning.
17966
17967 (if_convert): Run multiple passes of if-conversion.
17968 * doc/tm.texi (IFCVT_MODIFY_TESTS, IFCVT_MODIFY_INSN,
17969 IFCVT_MODIFY_FINAL, IFCVT_MODIFY_CANCEL, IFCVT_MODIFY_MULTIPLE_TESTS,
17970 IFCVT_INIT_EXTRA_FIELDS, IFCVT_EXTRA_FIELDS): Update documentation for
17971 these macros.
17972
ae860ff7
JH
17973Sun Jul 21 00:54:54 CEST 2002 Jan Hubicka <jh@suse.cz>
17974
17975 * gcse.c: Include cselib.h
17976 (constptop_register): Break out from ...
17977 (cprop_insn): ... here; kill basic_block argument.
17978 (do_local_cprop, local_cprop_pass): New functions.
17979 (one_cprop_pass): Call local_cprop_pass.
17980
0da65b89
RS
179812002-07-20 Roger Sayle <roger@eyesopen.com>
17982
17983 * simplify-rtx.c (simplify_relational_operation): Optimize
17984 abs(x) < 0.0 (and abs(x) >= 0.0 when using -ffast-math).
17985
47cc673a
MM
179862002-07-20 Michae Matz <matz@suse.de>
17987
17988 * ra-build.c: (remember_web_was_spilled): Use GENERAL_REGS.
17989
68e65275
NB
179902002-07-20 Neil Booth <neil@daikokuya.co.uk>
17991
17992 * cppexp.c (struct op): Add token pointer.
17993 (check_promotion, CHECK_PROMOTION): New.
17994 (optab): Update.
17995 (_cpp_parse_expr): Update, use token pointer of struct op.
17996 (reduce): Warn about change of sign owing to promotion.
17997 * cppinit.c (cpp_handle_option): New warning if -Wall.
17998 * cpplib.h (struct cpp_options): New member.
17999
e3485bbc
DE
180002002-07-19 David Edelsohn <edelsohn@gnu.org>
18001
18002 * config/rs6000/rs6000.md: Remove ppc630 fpcompare from single
18003 fpu list. Separate Power4 compare and delayed_compare. Correct
18004 Power4 fpcompare.
18005 (fix_truncdfsi2_internal): Restore FPR preference.
18006 * config/rs6000/t-aix43 (MULTILIB_MATCHES): Add mcpu?power3,
18007 mcpu?power4, mcpu?604e. Remove mpower, mpower2, mpowerpc.
18008
449655a6
MV
180092002-07-19 Momchil Velikov <velco@fadata.bg>
18010
18011 * reload1.c (reload_as_needed): Duplicate oldpat.
18012
8b583747
AM
180132002-07-20 Alan Modra <amodra@bigpond.net.au>
18014
18015 PR optimization/7130
18016 * loop.h (struct loop_info): Add "preconditioned".
18017 * unroll.c (unroll_loop): Set it.
18018 * doloop.c (doloop_modify_runtime): Correct count for unrolled loops.
18019
0dc36574
ZW
180202002-07-19 Zack Weinberg <zack@codesourcery.com>
18021
18022 * rtl.def (CODE_LABEL): Remove slot 8.
18023 * rtl.h (struct rtx_def): Document new uses of jump and call fields.
18024 (LABEL_ALTERNATE_NAME): Delete.
18025 (LABEL_KIND, SET_LABEL_KIND, LABEL_ALT_ENTRY_P): New.
18026 * defaults.h: Remove default for ASM_OUTPUT_ALTERNATE_LABEL_NAME.
18027
18028 * final.c (output_alternate_entry_point): New.
18029 (final_scan_insn): Use it instead of
18030 ASM_OUTPUT_ALTERNATE_LABEL_NAME. Do not consider possibility
18031 of a case label being an alternate entry point.
18032
18033 * cfgbuild.c (make_edges, find_bb_boundaries): Use LABEL_ALT_ENTRY_P.
18034 * emit-rtl.c (gen_label_rtx): Adjust call to gen_rtx_CODE_LABEL.
18035 Do not clear LABEL_NUSES (unnecessary) or LABEL_ALTERNATE_NAME
18036 (field deleted).
18037 * print-rtl.c, ra-debug.c: Update code to output CODE_LABELs.
18038
18039 * doc/rtl.texi: Document LABEL_KIND, SET_LABEL_KIND, and
18040 LABEL_ALT_ENTRY_P; not LABEL_ALTERNATE_NAME.
18041 * doc/tm.texi: Delete documentation of
18042 ASM_OUTPUT_ALTERNATE_LABEL_NAME.
18043
59267987
RO
180442002-07-19 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
18045
18046 * config/mips/iris5gas.h (DWARF2_DEBUGGING_INFO): Define.
18047 (PREFERRED_DEBUGGING_TYPE): Use DWARF2_DEBUG.
18048 (LINK_SPEC): Define.
18049 (STARTFILE_SPEC): Define.
18050 (ENDFILE_SPEC): Define.
18051
18052 * config/mips/iris6-o32.h (LINK_SPEC): Move ...
18053 * config/mips/iris6-o32-as.h (LINK_SPEC): ... here.
18054
18055 * config/mips/iris6-o32-gas.h: New file.
18056 * config.gcc (mips-sgi-irix6*o32): Use it.
18057
18058 * config/mips/t-iris5-gas: New file.
18059 * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
18060
75aef48a
NB
180612002-07-19 Neil Booth <neil@daikokuya.co.uk>
18062
18063 * cppexp.c (ALWAYS_EVAL): Remove.
18064 (optab, reduce): Always evaluate.
18065 (num_unary_op, num_binary_op, num_div_op): Issue diagnostics
18066 only if not skipping evaluation.
18067
72a5503d
MM
180682002-07-19 Marek Michalkiewicz <marekm@amelek.gda.pl>
18069
18070 * config/avr/avr.c (debug_hard_reg_set): Remove.
18071
059ba716
CD
180722002-07-19 Chris Demetriou <cgd@broadcom.com>
18073
18074 * gcc.c (cpp_options): Include "%1" (cc1_spec).
18075
544823b6
RH
180762002-07-19 Richard Henderson <rth@redhat.com>
18077
18078 * loop.c (loop_givs_rescan): Delete the REG_EQUAL note, not the insn.
18079
c35383cb
AM
180802002-07-19 Alan Modra <amodra@bigpond.net.au>
18081
18082 * prefix.c (update_path): Don't zap single `.' path components
18083 unless followed by another `.' and fix typo last patch.
18084
ad28cff7
NB
180852002-07-18 Neil Booth <neil@daikokuya.co.uk>
18086
18087 * cppexp.c (cpp_num_mul): Remove unused parameter.
18088 (UNARY, BINARY, OTHER, binary_handler): Remove.
18089 (ALWAYS_EVAL): New.
18090 (optab): Update.
18091 (reduce): Refactor to a large switch, don't use a function
18092 pointer.
18093
139b7f86
BT
180942002-07-18 Bo Thorsen <bo@berlioz.suse.de>
18095
18096 * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Define this always.
18097
e69d1422
R
18098Thu Jul 18 19:39:18 2002 J"orn Rennecke <joern.rennecke@superh.com>
18099
18100 * sh-protos.h (sh_expand_unop_v2sf): Move inside #ifdef RTX_CODE guard.
18101 (sh_expand_binop_v2sf): Likewise.
18102 * sh.c (machine_dependent_reorg): Add move for UNSPEC_MOVA.
18103 (int_gpr_dest, trunc_hi_operand): New functions.
18104 * sh.h (PREDICATE_CODES): Add any_register_operand, int_gpr_dest and
18105 trunc_hi_operand.
18106 (SPECIAL_MODE_PREDICATES, any_register_operand): Define.
18107 * sh.md (cmpeqdi_t+1): Remove comments that genrecog warns about.
18108 (adddi3_compact+1, subdi3_compact+1, ashlsi3_n+1, ashlhi3+1): Likewise.
18109 (ashrsi2_16+1, ashrsi2_31+1, lshrsi3_n+1, ashrdi3+[12]): Likewise.
18110 (and_shl_scratch+[12], zero_extendhidi2+1): Likewise.
18111 (zero_extendhisi2_media+1, extendhidi2+1, extendqidi2+1): Likewise.
18112 (extendhisi2_media+1, extendqisi2_media+1): Likewise.
18113 (movsi_media_nofpu+[12], movhi_media+1, movdi_media_nofpu+1): Likewise.
18114 (movdi_const_16bit+[12], movdf_i4+[123], reload_outdf+[2-5]): Likewise.
18115 (movsf_ie+1): Likewise.
18116 (loaddi_trunc): Use int_gpr_dest predicate.
18117 (use_sfunc_addr, indirect_jump_scratch, sibcall_compact): Add mode(s).
18118 (mova, mova_const, GOTaddr2picreg, ptrel, casesi_worker_0): Likewise.
18119 (casesi_worker_0+[12], casesi_worker): Likewise.
18120 (shcompact_preserve_incoming_args): Likewise.
18121 (mov_nop): Use any_register_operand predicate.
18122 (mperm_w0): Use trunc_hi_operand predicate.
18123
47a4976f
JDA
181242002-07-18 John David Anglin <dave@hiauly1.hia.nrc.ca>
18125
18126 * pa-linux.h (DWARF2_UNWIND_INFO): Delete define.
18127 * pa.h (EH_RETURN_DATA_REGNO): Revise TARGET_64BIT and correct
18128 numbering.
18129
f3a4e54e
JDA
181302002-07-18 John David Anglin <dave@hiauly1.hia.nrc.ca>
18131
18132 * pa.c (output_deferred_plabels): Remove unused millicode enum mulU.
18133
30484ccf
RH
181342002-07-18 Richard Henderson <rth@redhat.com>
18135
18136 PR optimization/7147
18137 * ifcvt.c (noce_get_condition): Make certain that the condition
18138 is valid at JUMP.
18139
d042370e
R
18140Thu Jul 18 13:44:51 2002 J"orn Rennecke <joern.rennecke@superh.com>
18141
18142 * sh.c (barrier_align, push): Shut up compiler warnings.
18143 (initial_elimination_offset,sh_media_init_builtins): Likewise.
18144 (reg_no_subreg_operand): Delete.
18145
61fee9b3
BT
181462002-07-17 Bo Thorsen <bo@suse.de>
18147
18148 * config/i386/linux64.h (LINK_SPEC): Remove bogus -Y option.
18149 (STARTFILE_PREFIX_SPEC): Define for NATIVE_CROSS compilations.
18150 (STARTFILE_SPEC): Remove hardcoded library paths.
18151 (ENDFILE_SPEC): Likewise.
18152
f305679f
JH
18153Thu Jul 18 09:38:59 CEST 2002 Jan Hubicka <jh@suse.cz>
18154
18155 * gcse.c (hoist_expr_reaches_here_p): Stop once expr_bb is reached.
18156
18157 * gcse.c (try_replace_reg): Do not return false positives.
18158
99bcb625
AM
181592002-07-18 Alan Modra <amodra@bigpond.net.au>
18160
f6f23ad2
AM
18161 * prefix.c: (update_path): Strip ".." components when prior dir
18162 doesn't exist. Pass correct var to UPDATE_PATH_HOST_CANONICALIZE.
18163
99bcb625
AM
18164 * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Remove 64-bit support.
18165 (ASM_OUTPUT_REG_POP): Likewise.
18166
09eeeacb
AM
181672002-07-18 Alan Modra <amodra@bigpond.net.au>
18168
18169 * config/rs6000/rs6000.c (first_reg_to_save): Remove bogus
18170 adjustments to first_reg for profiling case.
18171 (output_function_profiler): Correct lr save slot for ABI_AIX_NODESC.
18172 Disable profiling for 64 bit code on both ABI_V4 and ABI_AIX_NODESC.
18173 Save static chain reg to sp + 12 on ABI_AIX_NODESC.
18174 * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Define.
18175 (ASM_OUTPUT_REG_POP): Define.
18176 * config/rs6000/linux64.h (ASM_OUTPUT_REG_PUSH): Undef.
18177 (ASM_OUTPUT_REG_POP): Undef.
18178
74d06cf2
NB
181792002-07-17 Neil Booth <neil@daikokuya.co.uk>
18180
18181 * cpplib.c (do_sccs): Handle #sccs on all systems.
18182 * system.h (SCCS_DIRECTIVE): Poison.
18183 * config/darwin.h, config/freebsd.h, config/netbsd.h,
18184 config/ptx4.h, config/svr3.h, config/svr4.h, config/alpha/elf.h,
18185 config/arm/linux-elf.h, config/c4x/c4x.h, config/d30v/d30v.h,
18186 config/i370/i370.h, config/i386/gas.h, config/i386/sco5.h,
18187 config/i960/i960.h, config/m68hc11/m68hc11.h, config/m68k/3b1.h,
18188 config/m68k/3b1g.h, config/m68k/crds.h, config/m68k/mot3300.h,
18189 config/m68k/pbb.h, config/m88k/m88k.h, config/mips/mips.h,
18190 config/sparc/pbd.h, config/stormy16/stormy16.h, config/vax/vaxv.h:
18191 Remove all references to SCCS_DIRECTIVE.
18192 * doc/cpp.texi, doc/tm.texi: Update.
18193
61dde664
R
18194Wed Jul 17 19:23:32 2002 J"orn Rennecke <joern.rennecke@superh.com>
18195
18196 * regrename.c (maybe_mode_change): New function.
18197 (find_oldest_value_reg, copyprop_hardreg_forward_1): Use it.
18198
97f51ac4
RB
181992002-07-17 Rodney Brown <rbrown64@csc.com.au>
18200
18201 * config/i386/i386.c (ix86_expand_int_movcc): In the general case
18202 suppress addition when either ct or cf are zero.
18203
a9b6f1e7 182042002-07-17 Eric Botcazou <ebotcazou@multimania.com>
30484ccf 18205 Glen Nakamura <glen@imodulo.com>
f1a73cfe
EB
18206
18207 PR optimization/6713
18208 * loop.c (loop_givs_rescan): Explicitly delete the insn that
18209 sets a non-replaceable giv after issuing the new one.
18210
23ff0223
NB
182112002-07-17 Neil Booth <neil@daikokuya.co.uk>
18212
18213 * cppexp.c (cpp_interpret_integer, append_digit, parse_defined,
18214 eval_token): Clarify and correct use of "bool" variables.
18215 * cpplib.h (struct cpp_options): Similarly.
18216 * cppmacro.c (parse_params, _cpp_save_parameter): Ditto.
18217 * cpptrad.c (recursive_macro): Similarly.
18218
ac09192a
R
18219Wed Jul 17 17:08:06 2002 J"orn Rennecke <joern.rennecke@superh.com>
18220
d28586ab 18221 * config/sh/lib1funcs.asm (udivsi3_i4): Implement SHcompact version in
ac09192a 18222 SHmedia code.
68cef009
R
18223
18224 * sh.md (cmpgtudi_media): Remove spurious @.
701e3726
R
18225
18226 * config/sh/lib1funcs.asm (FMOVD_WORKS): Don't define for little endian.
18227 * sh.h (OVERRIDE_OPTIONS): Don't set FMOVD_BIT for little endian.
ca903bba
R
18228
18229 * config/sh/lib1funcs.asm (init_trampoline): New entry point.
18230 * sh-protos.h (sh_initialize_trampoline): Declare.
18231 * sh.c (sh_initialize_trampoline): New function.
18232 * sh.h (TRAMPOLINE_SIZE): Only 24 for TARGET_SHMEDIA32.
18233 (TRAMPOLINE_ALIGNMENT): Need cache-line alignment for TARGET_SHMEDIA.
18234 (INITIALIZE_TRAMPOLINE): Call sh_initialize_trampoline.
18235 (TRAMPOLINE_ADJUST_ADDRESS): Not needed for SHcompact.
18236 * sh.md (initialize_trampoline, double_shori): New patterns.
18237 (initialize_trampoline_compact): Likewise.
18238 (shmedia32_initialize_trampoline_big): Remove.
18239 (shmedia32_initialize_trampoline_little): Likewise.
0ac78517
R
18240
18241 * sh-protos.h (binary_float_operator): Remove declaration.
18242 (sh_expand_unop_v2sf, sh_expand_binop_v2sf): Declare.
18243 * sh.c (print_operand, case 'N'): Check against CONST0_RTX.
18244 (unary_float_operator, sh_expand_unop_v2sf): New functions.
18245 (sh_expand_binop_v2sf): Likewise.
18246 (zero_vec_operand): Delete.
18247 (SH_BLTIN_UDI): New builtin shared signature define. Renumbered
18248 all non-shared ones.
18249 (bdesc): Change all the mextr builtins to use SH_BLTIN_UDI.
18250 Enable nsb and byterev.
18251 * sh.h (CONDITIONAL_REGISTER_USAGE): Initialize DF_HI_REGS.
18252 (HARD_REGNO_MODE_OK): Allow TImode in fp regs. Allow V2SFmode
18253 in general regs.
18254 (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add DF_HI_REGS.
18255 (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise. Remove clause for
18256 immediate operands.
18257 (SECONDARY_INPUT_RELOAD_CLASS): Add clause for immediate operands.
18258 Add DF_HI_REGS.
18259 (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P): Allow
18260 lowpart fp regs - only for big endian for now.
da7d8304 18261 (LEGITIMATE_CONSTANT_P): Don't allow nonzero float vectors
0ac78517
R
18262 when FPU is in use.
18263 (EXTRA_CONTRAINT_U): Check against CONST0_RTX.
18264 (LOAD_EXTEND_OP): NIL for SImode.
18265 (REGISTER_MOVE_COST): Add DF_HI_REGS. Const for moves between
18266 general and fp registers is 4.
18267 PREDICATE_CODES: Amend binary_float_operator entry.
18268 Remove zero_vec_operand. Add unary_float_operator.
18269 * sh.md (udivsi3_i4_media): Use truncate instead of paradoxical
18270 subreg SET_DEST.
18271 (truncdisi2, truncdihi2, movv2sf): Allow memory destinations.
18272 (truncdiqi2): Do sign extension.
18273 (movsi_media, movdi_media): Allow to use r63 to an fp register.
18274 (movdf_media, movsf_media): Likewise.
18275 (movv2sf_i, movv2sf_i+1): Don't use f{ld,st}.p or SUBREGS.
18276 Collapse to one define_insn_and_split. Allow immediate sources.
18277 (addv2sf3, subv2sf3, mulv2sf3, divv2sf3): New patterns.
18278 (movv4sf_i): Allow immediate sources. Use simplify_gen_subreg.
18279 (movv4sf): Allow immediate sources.
18280 (movsf_media_nofpu+1): Don't split moves to FP registers.
18281 (unary_sf_op, binary_sf_op, mshflo_w_x, concat_v2sf): New patterns.
18282 (movv8qi_i+3): Check against CONST0_RTX.
18283 (mextr1, mextr2. mextr3. mextr4, mextr5, mextr6, mextr7): Use DImode
18284 for input and output operands. Fix argument 3 to gen_mextr_rl.
18285 (mmul23_wl, mmul01_wl, mmulsum_wq_i): s/const_vector/parallel/
18286 (msad_ubq_i, mshf4_b, mshf0_b, mshf4_l, mshf0_l, mshf4_w): Likewise.
18287 (mshf0_w, fipr, ftrv): Likewise.
18288 (mshfhi_l_di): Now insn_and_split. Can handle FP regs.
18289
e9d7b180
JD
182902002-07-17 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
18291
18292 * arm.h (ARM_NUM_INTS, ARM_NUM_REGS, ARM_NUM_REGS2): Renamed from
18293 NUM_INTS, NUM_REGS and ARM_NUM_REGS2 respectively. All uses changed.
18294 * arm.c: Similarly.
18295
8214bf98
RS
182962002-07-17 Richard Sandiford <rsandifo@redhat.com>
18297
18298 * config/mips/mips-protos.h (mips_sign_extend): Declare.
18299 * config/mips/mips.h (MASK_DEBUG_H, TARGET_DEBUG_H_MODE): Remove.
18300 (TARGET_SWITCHES): Remove debugh.
18301 (ISA_HAS_TRUNC_W): New macro.
18302 (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS if TARGET_FLOAT64.
18303 (PREDICATE_CODES): Remove se_nonimmediate_operand.
18304 * config/mips/mips.c (movdi_operand): Allow sign-extensions of
18305 any SImode move_operand.
18306 (se_nonimmediate_operand): Remove.
18307 (mips_sign_extend): New.
18308 (mips_move_2words): Use it for sign-extended source operands.
18309 (override_options): Allow integers to be put into single FPRs.
18310 (mips_secondary_reload_class): Handle integers in float registers.
18311 * config/mips/mips.md (extendsidi2): Turn into a define_expand.
18312 (fix_truncsfsi2, fix_truncdfsi2): Likewise.
18313 (fix_truncdfsi2_insn, fix_truncdfsi2_macro): New.
18314 (fix_truncsfsi2_insn, fix_truncsfsi2_macro): New.
18315 (fix_truncdfdi2): Provide only a single alternative, in which the
18316 integer is in a float register. Depend on TARGET_FLOAT64 rather
18317 than TARGET_64BIT.
18318 (fix_truncsfdi2, floatdidf2, floatdisf2): Likewise.
18319 (floatsidf2, floatsisf2): Likewise, but no TARGET_FLOAT64 dependency.
18320 (movdi_internal2): Don't allow the source operand to be sign-extended.
18321 Add alternatives for float registers.
18322 (*movdi_internal2_extend): New. Version of movdi_internal2 that
18323 allows sign-extension.
18324 (*movdi_internal2_mips16): Name the existing mips16 movdi pattern.
18325 (movsi_internal2): Rename to movsi_internal. Add alternatives for
18326 float registers. Remove TARGET_DEBUG_H_MODE test.
18327 (movhi_internal1): Rename to movhi_internal. Don't check
18328 TARGET_DEBUG_H_MODE. Fix transposed *d and *f source constraints.
18329 (movqi_internal1): Rename to movqi_internal and remove
18330 TARGET_DEBUG_H_MODE dependency.
18331 (movsi_internal1, movhi_internal2, movqi_internal2): Remove.
18332
7ab0121e
JW
183332002-07-16 Jim Wilson <wilson@redhat.com>
18334
18335 * toplev.c (lang_dependent_init): Create function context for
18336 init_expr_once.
18337
349ccf2e
HPN
183382002-07-16 Hans-Peter Nilsson <hp@axis.com>
18339
18340 * config/cris/linux.h (CRIS_LINK_SUBTARGET_SPEC): Don't
18341 --gc-sections if -r.
18342 * config/cris/cris.h: Ditto.
18343
06ec023f
RB
183442002-07-16 Rodney Brown <rbrown64@csc.com.au>
18345
18346 * config/i386/i386.c (ix86_expand_int_movcc): In the case where
18347 the comparison directly gives a mask suppress addition when cf is
18348 zero by complementing the mask.
18349
39cef914
NN
183502002-07-16 Nathanael Nerode <neroden@gcc.gnu.org>
18351
18352 * Makefile.in: Delete references to enquire.
18353 * enquire.c: Move to contrib.
18354
92c1a778
SS
183552002-07-16 Stan Shebs <shebs@apple.com>
18356
2aa9948d
SS
18357 * config/darwin.h (ASM_OUTPUT_LABEL): Move to here from
18358 config/rs6000/darwin.h.
18359 (ASM_OUTPUT_SKIP): Ditto.
18360 (TEXT_SECTION_ASM_OP): Ditto.
18361 (DATA_SECTION_ASM_OP): Ditto.
18362 (ASM_APP_ON): Define.
18363 (ASM_APP_OFF): Define.
18364 * config/rs6000/darwin.h (ASM_OUTPUT_LABEL, ASM_OUTPUT_SKIP,
18365 TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): Remove.
18366
18367 * config/darwin.c (func_name_maybe_scoped): Remove unused decl.
92c1a778
SS
18368 (machopic_function_base_name): Declare result to be const.
18369 (machopic_non_lazy_ptr_name): Ditto.
18370 (machopic_stub_name): Ditto.
2aa9948d 18371 * config/darwin-protos.h: Ditto for the prototypes.
92c1a778 18372
daaab00a
JH
18373Wed Jul 17 00:22:39 CEST 2002 Jan Hubicka <jh@suse.cz>
18374
18375 * m68hc11.c (m68hc11_reorg): Do not rebuild CFG.
18376
63c574cc
JH
18377Wed Jul 17 00:20:48 CEST 2002 Jan Hubicka <jh@suse.cz>
18378
18379 * i386.md (prefetch): Fix for 64bit mode.
18380 (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
18381
2a500b9e
JH
18382Wed Jul 17 00:19:20 CEST 2002 Jan Hubicka <jh@suse.cz>
18383
18384 * i386.h (MACHINE_DEPENDENT_REORG): New macro.
18385 * i386.c (x86_machine_dependent_reorg): New function.
18386 * i386-protos.h (x86_machine_dependent_reorg): Declare.
18387
e5faf155
ZW
183882002-07-16 Zack Weinberg <zack@codesourcery.com>
18389
18390 * builtins.c (std_expand_builtin_va_start): Remove unused
18391 first argument.
18392 (expand_builtin_va_start): Call EXPAND_BUILTIN_VA_START and
18393 std_expand_builtin_va_start with just two arguments.
18394 * expr.h: Update prototypes.
18395
18396 * alpha-protos.h, alpha.h, alpha.c, arc-protos.h, arc.h,
18397 arc.c, d30v-protos.h, d30v.h, d30v.c, i386-protos.h, i386.h,
18398 i386.c, i960-protos.h, i960.h, i960.c, m88k-protos.h, m88k.h,
18399 m88k.c, mips-protos.h, mips.h, mips.c, mn10300-protos.h,
18400 mn10300.h, mn10300.c, pa-protos.h, pa.h, pa.c,
18401 rs6000-protos.h, rs6000.h, rs6000.c, s390-protos.h, s390.h,
18402 s390.c, sh-protos.h, sh.h, sh.c, sparc-protos.h, sparc.h,
18403 sparc.c, stormy16-protos.h, stormy16.h, stormy16.c,
18404 xtensa-protos.h, xtensa.h, xtensa.c: Remove unused first
18405 argument from all implementations of EXPAND_BUILTIN_VA_START
18406 and all uses of std_expand_builtin_va_start.
18407
dbf65c2f
R
18408Tue Jul 16 19:32:58 2002 J"orn Rennecke <joern.rennecke@superh.com>
18409
18410 * regrename.c (copy_value): Don't record high part copies.
18411
6acb6d3e 184122002-07-16 Steve Ellcey <sje@cup.hp.com>
99b823ca 18413
6acb6d3e
SE
18414 * gcc/config/pa/long_double.h (FIXUNS_TRUNCTFDI2_LIBCALL): New define.
18415 (fixunstfdi_libfunc): Change to use FIXUNS_TRUNCTFDI2_LIBCALL.
18416 * gcc/config/pa/quadlib.c (_U_Qfcnvfxt_quad_to_udbl): New function.
18417
5d7c2819
ID
184182002-07-16 Ian Dall <ian@sibyl.beware.dropbear.id.au>
18419
18420 * doc/invoke.texi (NS32K Options): Document -mieee-compare option
18421
18422 * config/ns32k/ns32k.md (addsi3, *frame_addr, *stack_addr): merge
18423 into addsi3 using register class "x" and "y".
18424
18425 * config/ns32k/ns32k.md (*madddf, *maddsf, *msubdf, *msubsf):
18426 "earlyclobber" constraint modifier for some alternative.
e5faf155 18427
5d7c2819
ID
18428 * config/ns32k/ns32k.md (tstdf, tstsf, cmpdf, cmpsf, blt, ble)
18429 (*ble, *blt): Flag to indicate bCOND and sCOND should check for
18430 unordered.
18431 config/ns32k/ns32k.h (CC_UNORD): define corresponding mask.
18432
18433 * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE, MASK_IEEE_COMPARE)
18434 (TARGET_SWITCHES): Add -mieee-compare option.
18435 (OVERRIDE_OPTIONS): 32332 is a subset of
18436 32532. Don't use IEEE_COMPARE -funsafe-math-optimizations.
4977bab6 18437 (TARGET_SWITCHES): Fix description of bitfield option.
5d7c2819
ID
18438 * config/ns32k/netbsd.h (TARGET_DEFAULT): Add
18439 -mieee-compare option. Remove 32332 flag.
18440
5da4f548 184412002-07-16 Steve Ellcey <sje@cup.hp.com>
5d7c2819
ID
18442
18443 * explow.c (convert_memory_address): Remove special handling
5da4f548 18444 when POINTERS_EXTEND_UNSIGNED < 0.
5d7c2819 18445 * config/ia64.md (movsi_symbolic): New instruction for ILP32 mode.
5da4f548
SE
18446 (movedi_symbolic): Fix typo.
18447 (load_fptr): Remove mode restriction so it works for SI and DI.
18448 (load_fptr_internal1): Ditto.
18449 (load_gprel): Ditto.
18450 (load_symptr_internal1): Ditto.
18451 (call_pic): Ditto.
5d7c2819 18452 * config/ia64.c (call_operand): Modify mode check.
5da4f548
SE
18453 (ia64_expand_load_address): Handle DI and SI addresses and symbols.
18454 (ia64_expand_move): Ditto.
18455 (ia64_assemble_integer): Handle SImode function pointers.
18456 (ia64_expand_fetch_and_op): Handle SImode mem addresses.
18457 (ia64_expand_op_and_fetch): Ditto.
18458 (ia64_expand_compare_and_swap): Ditto.
18459 (ia64_expand_lock_test_and_set): Ditto.
18460 (ia64_expand_lock_release): Ditto.
18461
1575c31e
JD
184622002-07-16 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
18463
18464 * arm.c (emit_sfm): Don't set RTX_FRAME_RELATED_P on DWARF.
18465
184662002-07-16 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
18467 Richard Earnshaw <rearnsha@arm.com>
18468
e5faf155 18469 * arm.h (LEGITIMATE_PIC_OPERAND_P): Only test
1575c31e
JD
18470 CONSTANT_POOL_ADDRESS_P if a SYMBOL_REF. Simplify logic.
18471
3894f59e
RE
184722002-07-16 Richard Earnshaw <rearnsha@arm.com>
18473
18474 * arm.md (stack_tie): New insn. Use an idiom that the alias code
18475 understands to be a memory clobber.
18476 * arm.c (arm_expand_prologue): Use it.
18477
e0b89be2 184782002-07-16 Daniel Berlin <dberlin@dberlin.org>
54b2a7f8
DB
18479
18480 * ra-rewrite.c: #include reload.h, insn-config.h
18481 * ra-build.c: #include reload.h
18482 * Makefile.in: Update ra-rewrite.o, ra-build.o dependencies to
e5faf155 18483 depend on reload.h, insn-config.h.
54b2a7f8 18484
cffa2189
R
18485Tue Jul 16 11:57:45 2002 J"orn Rennecke <joern.rennecke@superh.com>
18486
18487 * expr.c (emit_move_insn_1): Handle arbitrary moves that are
18488 the same size as a word.
18489
18490 * regrename.c (find_oldest_value_reg): Take WORDS_BIG_ENDIAN /
18491 BYTES_BIG_ENDIAN into account.
18492
052c96b1
JH
18493Tue Jul 16 12:22:44 CEST 2002 Jan Hubicka <jh@suse.cz>
18494
18495 * i386.md (prefetch): Fix for 64bit mode.
18496 (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
18497
18498 * i386.md (movss, movsd): Use xorps/xorpd for Athlon.
18499
ae32926b
MM
185002002-07-16 Marek Michalkiewicz <marekm@amelek.gda.pl>
18501
18502 * hard-reg-set.h (TEST_HARD_REG_BIT): Return 1 if the bit is set.
18503
6c535c69
ZW
185042002-07-15 Zack Weinberg <zack@codesourcery.com>
18505
18506 * ginclude/varargs.h: Replace with stub which issues #error.
18507 * ginclude/stdarg.h: __builtin_stdarg_start is renamed
18508 __builtin_va_start.
18509
18510 * builtins.def (BUILT_IN_VARARGS_START): Delete.
18511 (BUILT_IN_VA_START): New.
18512 * builtins.c (expand_builtin_va_start): Eliminate first
18513 argument and code to implement pre-ISO varargs.
18514 (std_expand_builtin_va_start): Ignore first argument; it is
18515 always 1.
18516 (expand_builtin): Handle BUILT_IN_VA_START and
18517 BUILT_IN_STDARG_START identically. Delete
18518 BUILT_IN_VARARGS_START case.
18519
18520 * function.c (assign_parms): Delete hide_last_arg and all
18521 its uses.
18522 (mark_varargs): Delete function.
18523 * function.h (struct function): Delete 'varargs' bit.
18524 (current_function_varargs): Delete macro.
18525 * tree.h: Don't declare mark_varargs.
18526
18527 * c-decl.c (c_function_varargs, c_mark_varargs): Delete.
18528 (c_expand_body): Don't call mark_varargs.
18529 * c-objc-common.c: Handle BUILT_IN_VA_START and
18530 BUILT_IN_STDARG_START identically. Delete
18531 BUILT_IN_VARARGS_START case.
18532 * c-tree.h: Don't declare c_mark_varargs.
18533 * c-parse.in: Remove grammar rules for '&...' (which has been
18534 commented out since before 2.7.2) and for '...' in K+R
18535 argument declarations.
18536
18537 * builtins.c, function.c, integrate.c, sibcall.c,
18538 config/alpha/unicosmk.h, config/arc/arc.c, config/arc/arc.h,
18539 config/avr/avr.c, config/cris/cris.c, config/fr30/fr30.c,
18540 config/i960/i960.c, config/i960/i960.md, config/m32r/m32r.c,
18541 config/m32r/m32r.h, config/m88k/m88k.c, config/m88k/m88k.h,
18542 config/mips/mips.c, config/mmix/mmix.c, config/mmix/mmix.h,
18543 config/mn10300/mn10300.c, config/pa/som.h, config/s390/s390.c,
18544 config/sh/sh.c, config/sh/sh.h, config/sparc/sparc.h,
18545 config/stormy16/stormy16.c: Delete all references to
18546 current_function_varargs, and code predicated on that flag.
18547
18548 * config/alpha/alpha.c (alpha_va_start),
18549 config/arc/arc.c (arc_va_start),
18550 config/i386/i386.c (ix86_va_start),
18551 config/mips/mips.c (mips_va_start),
18552 config/mn10300/mn10300.c (mn10300_va_start),
18553 config/rs6000/rs6000.c (rs6000_va_start),
18554 config/s390/s390.c (s390_va_start),
18555 config/sh/sh.c (sh_va_start),
18556 Ignore first argument; it is always 1.
18557
18558 * config/c4x/c4x-protos.h, config/c4x/c4x.c: Delete c4x_va_start.
18559 * config/ia64/ia64-protos.h, config/ia64/ia64.c: Delete ia64_va_start.
18560 * config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c:
18561 Delete m68hc11_va_start.
18562 * config/c4x/c4x.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h:
18563 No need to define EXPAND_BUILTIN_VA_START.
18564
18565 * doc/invoke.texi, doc/sourcebuild.texi, doc/tm.texi,
18566 doc/trouble.texi: Remove references to GCC-provided <varargs.h>.
18567
6d80a854
EB
185682002-07-15 Eric Botcazou <ebotcazou@multimania.com>
18569
18570 PR optimization/7153
18571 * regmove.c (optimize_reg_copy_3): Don't optimize if the register
18572 dies in more than one insn.
18573
043cfcbe
JT
185742002-07-15 Jason Thorpe <thorpej@wasabisystems.com>
18575
18576 * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Remove.
18577
ed8d2920 185782002-07-15 Michael Matz <matz@suse.de>,
6c535c69 18579 Daniel Berlin <dberlin@dberlin.org>,
ed8d2920
MM
18580 Denis Chertykov <denisc@overta.ru>
18581
18582 Add a new register allocator.
18583
18584 * ra.c: New file.
18585 * ra.h: New file.
18586 * ra-build.c: New file.
18587 * ra-colorize.c: New file.
18588 * ra-debug.c: New file.
18589 * ra-rewrite.c: New file.
18590
18591 * Makefile.in (ra.o, ra-build.o, ra-colorize.o, ra-debug.o,
18592 (ra-rewrite.o): New .o files for libbackend.a.
18593 (GTFILES): Add basic-block.h.
18594
18595 * toplev.c (flag_new_regalloc): New.
18596 (f_options): New option "new-ra".
18597 (rest_of_compilation): Call initialize_uninitialized_subregs()
18598 only for the old allocator. If flag_new_regalloc is set, call
18599 new allocator, instead of local_alloc(), global_alloc() and
18600 friends.
18601
18602 * doc/invoke.texi: Document -fnew-ra.
18603 * basic-block.h (FOR_ALL_BB): New.
18604 * config/rs6000/rs6000.c (print_operand): Write small constants
18605 as @l+80.
18606
18607 * df.c (read_modify_subreg_p): Narrow down cases for a rmw subreg.
18608 (df_reg_table_realloc): Make size at least as large as max_reg_num().
18609 (df_insn_table_realloc): Size argument now is absolute, not relative.
18610 Changed all callers.
18611
18612 * gengtype.c (main): Add the pseudo-type "HARD_REG_SET".
18613 * regclass.c (reg_scan_mark_refs): Ignore NULL rtx's.
18614
18615 2002-06-20 Michael Matz <matz@suse.de>
18616
18617 * df.h (struct ref.id): Make unsigned.
18618 * df.c (df_bb_reg_def_chain_create): Remove unsigned cast.
18619
18620 2002-06-13 Michael Matz <matz@suse.de>
18621
18622 * df.h (DF_REF_MODE_CHANGE): New flag.
18623 * df.c (df_def_record_1, df_uses_record): Set this flag for refs
18624 involving subregs with invalid mode changes, when
18625 CLASS_CANNOT_CHANGE_MODE is defined.
18626
18627 2002-05-07 Michael Matz <matz@suse.de>
18628
18629 * reload1.c (fixup_abnormal_edges): Don't insert on NULL edge.
18630
18631 2002-05-03 Michael Matz <matz@suse.de>
18632
18633 * sbitmap.c (sbitmap_difference): Accept sbitmaps of different size.
18634
18635 Sat Feb 2 18:58:07 2002 Denis Chertykov <denisc@overta.ru>
18636
18637 * regclass.c (regclass): Work with all regs which have sets or
18638 refs.
18639 (reg_scan_mark_refs): Count regs inside (clobber ...).
18640
18641 2002-01-04 Michael Matz <matzmich@cs.tu-berlin.de>
18642
18643 * df.c (df_ref_record): Correctly calculate SUBREGs of hardregs.
18644 (df_bb_reg_def_chain_create, df_bb_reg_use_chain_create): Only
18645 add new refs.
18646 (df_bb_refs_update): Don't clear insns_modified here, ...
18647 (df_analyse): ... but here.
18648
18649 * sbitmap.c (dump_sbitmap_file): New.
18650 (debug_sbitmap): Use it.
18651
18652 * sbitmap.h (dump_sbitmap_file): Add prototype.
18653
18654 2001-08-07 Daniel Berlin <dan@cgsoftware.com>
18655
18656 * df.c (df_insn_modify): Grow the UID table if necessary, rather
18657 than assume all emits go through df_insns_modify.
18658
18659 2001-07-26 Daniel Berlin <dan@cgsoftware.com>
18660
18661 * regclass.c (reg_scan_mark_refs): When we increase REG_N_SETS,
18662 increase REG_N_REFS (like flow does), so that regclass doesn't
18663 think a reg is useless, and thus, not calculate a class, when it
18664 really should have.
18665
18666 2001-01-28 Daniel Berlin <dberlin@redhat.com>
18667
18668 * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP_REV): New macro, needed for
18669 dataflow analysis.
18670
794a292d
JJ
186712002-07-15 Jakub Jelinek <jakub@redhat.com>
18672
18673 PR middle-end/7245
18674 * config/i386/i386.c (const_int_1_31_operand): New.
18675 * config/i386/i386.h (PREDICATE_CODES): Add it.
18676 * config/i386/i386.md (ashlsi3_cmp, ashlsi3_cmp_zext, ashlhi3_cmp,
18677 ashlqi3_cmp, ashrsi3_cmp, ashrsi3_cmp_zext, ashrhi3_cmp, ashrqi3_cmp,
18678 lshrsi3_cmp, lshrsi3_cmp_zext, lshrhi3_cmp, lshrqi3_cmp): Use it.
18679
05d49501
AM
186802002-07-14 Alan Modra <amodra@bigpond.net.au>
18681
18682 PR target/7282
18683 * config/rs6000/rs6000.md (floatsidf2): Enable for POWERPC64.
18684 (floatunssidf2): Likewise.
18685 (floatsidf_ppc64): New insn_and_split.
18686 (floatunssidf_ppc64): Likewise.
18687
e89617fe
AJ
186882002-07-14 Andreas Jaeger <aj@suse.de>
18689
18690 * config.gcc (sh64): Remove unused
18691 target_requires_64bit_host_wide_int.
18692
78762e3b
RS
186932002-07-12 Roger Sayle <roger@eyesopen.com>
18694
18695 * expr.c [CLEAR_RATIO]: New macro defining the maximum number
18696 of move instructions to use when clearing memory, c.f. MOVE_RATIO.
18697 [CLEAR_BY_PIECES]: New macro, using CLEAR_RATIO, to determine
18698 whether clear_by_pieces should be used to clear storage.
18699 (clear_storage): Use CLEAR_BY_PIECES instead of MOVE_BY_PIECES.
18700
18701 * doc/tm.texi: Document these two new target macros.
18702
f7a454e9
SC
187032002-07-12 Stephane Carrez <stcarrez@nerim.fr>
18704
18705 * config/m68hc11/m68hc11.md ("zero_extendsidi2"): Use D_REG only for
18706 the scratch register.
18707 ("*movhi2_push"): Accept Z_REG because a split pattern can make use
18708 of it, forbid reload to use it.
18709
26af4041
MM
187102002-07-12 Marek Michalkiewicz <marekm@amelek.gda.pl>
18711
18712 * config/avr/avr.c (test_hard_reg_class): Fix TEST_HARD_REG_BIT
18713 usage on 64-bit hosts, return value was truncated to 32 bits.
18714
226cfe61
R
18715Fri Jul 12 00:49:36 2002 J"orn Rennecke <joern.rennecke@superh.com>
18716
18717 * simplify-rtx.c (simplify_subreg): Handle floating point
18718 CONST_DOUBLEs. When an integer subreg of a smaller mode than
18719 the element mode is requested, compute a subreg with an
18720 integer mode of the same size as the element mode first.
18721
25c25947
R
18722Thu Jul 11 22:02:57 2002 J"orn Rennecke <joern.rennecke@superh.com>
18723
18724 * combine.c (try_combine): When converting a paradoxical subreg
18725 to an extension, take LOAD_EXTEND_OP into account.
18726
789b7de5
RO
187272002-07-11 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
18728
18729 * config.gcc (mips-sgi-irix6*o32): New configuration.
18730
18731 * configure.in (libgcc_visibility): Disable for mips-sgi-irix6*o32
18732 configurations.
18733 * configure: Regenerate.
18734
18735 * config/mips/iris6-o32-as.h: New file.
18736 * config/mips/iris6-o32.h: New file.
e89617fe 18737
789b7de5
RO
18738 * config/mips/iris5gas.h (TARGET_ASM_NAMED_SECTION): Define.
18739 (NM_FLAGS): Define.
18740 (HAVE_AS_SHF_MERGE): Undefine.
18741
18742 * config/mips/t-iris5-as: New file.
18743 * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
18744
18745 * config/mips/t-iris6 (SHLIB_EXT, SHLIB_SOLINK, SHLIB_SONAME,
18746 SHLIB_NAME, SHLIB_MAP, SHLIB_OBJS, SHLIB_SLIBDIR_QUAL, SHLIB_LINK,
18747 SHLIB_INSTALL, SHLIB_MKMAP, SHLIB_MAPFILES, FPBIT, DPBIT,
18748 dp-bit.c, fp-bit.c): Move ...
18749 * config/mips/t-iris5-6: ... here.
18750 New file, shared by IRIX 5 and IRIX 6.
18751 * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix6*,
18752 mips-sgi-irix5*): Use it.
18753
18754 * config/mips/iris6.h: Remove duplicate comment.
18755
18756 * config/mips/mips.c (TARGET_ASM_UNALIGNED_DI_OP) [TARGET_IRIX5 &&
18757 !TARGET_IRIX6]: Define.
18758 (mips_asm_file_start): Don't emit mdebug.<ABI> sections on IRIX 5/6.
18759
18760 * config/mips/mips.h (ASM_DECLARE_FUNCTION_NAME): Fix comment.
18761
a18c2c5f
JDA
187622002-07-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
18763
18764 * pa.md (adddi3): Change predicate of operand 2 to adddi3_operand
18765 and delete code to force constant to register.
18766 * pa-protos.h (adddi3_operand): Add prototype.
18767 * pa.c (adddi3_operand): New function.
18768
e65a2d65
RS
187692002-07-11 Roger Sayle <roger@eyesopen.com>
18770
18771 * c-decl.c (duplicate_decls): Preserve the noreturn attribute on
18772 non-ANSI builtin functions.
18773
a06e3c40
R
18774Thu Jul 11 11:31:12 2002 J"orn Rennecke <joern.rennecke@superh.com>
18775
18776 * rtl.h (gen_rtx_CONST_VECTOR): Declare.
18777 * gengenrtl.c (special_rtx): Check for CONST_VECTOR.
18778 * emit-rtl.c (gen_rtx_CONST_VECTOR): New function.
18779 (gen_const_vector_0): Use it.
18780
47abc309
JDA
187812002-07-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
18782
18783 * pa.md (adddi3): For 32-bit targets, force constants to a register
18784 if they don't fit in an 11-bit immediate. Change insn predicate to
18785 arith11_operand. Remove comment.
18786 * pa.c (cint_ok_for_move): Fix comment.
18787 (emit_move_sequence): Don't directly split DImode constants on 32-bit
18788 targets.
18789
8ac9d31f
TJ
187902002-07-11 Tim Josling <tej@melbpc.org.au>
18791
e89617fe 18792 Remove front end hard coding from gengtype.c.
8ac9d31f
TJ
18793
18794 * Makefile.in
18795 (STAGESTUFF): add gtyp-gen.h
18796 (GTFILES): Remove front end specific files.
18797 (GTFILES_FILES_LANGS): New, from configure..
18798 (GTFILES_FILES_FILES): Likewise.
18799 (GTFILES_LANG_DIR_NAMES): Likewise.
18800 (GTFILES_SRCDIR): Likewise.
18801 (gtyp-gen.h): Build from configure information.
18802 (s-gtype): Remove command line parameters from gengtype.
18803 (gengtype.o): Remove dependency on GTFILES. Depend on gtyp-gen.h.
18804 (mostlyclean): Delete files generated by and for gengtype.
18805
18806 * c-config-lang.in: New file.
18807
18808 * configure.in (all_gtfiles_files_langs): New. Accumulate files
18809 for each language.
18810 (all_gtfiles_files_files): New. Accumulate language for each file
18811 accumulated.
18812 (gtfiles): Pick up value for C.
18813 (srcdir): AC-SUBST this variable.
18814 (all_gtfiles_files_langs): AC-SUBST this variable.
18815 (all_gtfiles_files_files): AC-SUBST this variable.
e89617fe 18816
8ac9d31f 18817 * configure: Regenerate.
e89617fe 18818
8ac9d31f
TJ
18819 * gengtype-lex.l (parse_file): Make parameter const.
18820
18821 * gengtype.c (toplevel): include gtyp-gen.h.
18822 (BASE_FILE_<language> unnamed enum): Delete.
18823 (lang_names): Delete (replaced by gtyp-gen.h)
18824 (lang_dir_names): From gtyp-gen.h, replaces lang_names; changed
18825 all references.
18826 (NUM_GT_FILES): New.
18827 (NUM_LANG_FILES): New.
18828 (srcdir_len): New.
18829 (NUM_BASE_FILES): Change calculation.
18830 (open_base_files): Change prototype to avoid warning.
18831 (startswith): Delete.
18832 (get_file_basename): Iterate through generated language list not
18833 hard coded list.
18834 (get_base_file_bitmap): Use generated list of files and languages.
18835 (close_output_files): Add prototype to rmove warning.
18836 (main): Iterate through list of generated files from gtyp-gen.h
18837 rather than command line paramaters. Ignore duplicated file
e89617fe 18838 names.
8ac9d31f
TJ
18839
18840 * gengtype.h (parse_file): Amend prototype for const parameter.
e89617fe 18841
8ac9d31f
TJ
18842 * doc/sourcebuild.texi: Document gtfiles variable.
18843
18844 * doc/gty.texi: Document changes to gtfiles variable for front
18845 ends.
18846
18847 * objc/config-lang.in (gtfiles): Add files needed for objc front
18848 end.
18849
0e603223
RS
188502002-07-10 Roger Sayle <roger@eyesopen.com>
18851
18852 PR c/2454
18853 * combine.c (nonzero_bits): LOAD_EXTEND_OP should only apply
18854 to SUBREGs of MEMs. (num_sign_bit_copies): Likewise.
18855
c5358a5d
RS
188562002-07-10 Roger Sayle <roger@eyesopen.com>
18857 Zack Weinberg <zack@codesourcery.com>
18858
18859 * builtins.def: Make the argument types of abort and exit
18860 independent of the front-end.
18861
a35f8b74
AM
188622002-07-11 Alan Modra <amodra@bigpond.net.au>
18863
18864 * config/rs6000/linux64.h (ASM_SPEC): Define.
18865
89e7058f
AH
188662002-07-10 Aldy Hernandez <aldyh@redhat.com>
18867
6c535c69
ZW
18868 * config/rs6000/rs6000.c (emit_frame_save): New.
18869 (rs6000_frame_related): Replace reg2 before reg.
18870 (rs6000_emit_prologue): Use emit_frame_save for saving gprs, fprs,
18871 and eh_return registers.
89e7058f 18872
086bbd21
TM
188732002-07-10 Toon Moene <toon@moene.indiv.nluug.nl>
18874
18875 Revert all patches for optimization of Complex .op. Real.
18876 * complex_part_zero_p: Remove
18877 * expand_cmplxdiv_straight: Replace complex_part_zero_p(x)
18878 with x.
18879 * expand_cmplxdiv_wide: Ditto.
18880 * expand_binop: Ditto.
18881
126dbce0
MM
188822002-07-10 Marek Michalkiewicz <marekm@amelek.gda.pl>
18883
18884 * config/avr/avr.md: Fix two 0x80000000 constants to make them
18885 negative also on 64-bit hosts.
18886
18887 Default to -fno-reorder-blocks when optimizing for size.
18888 * config/avr/avr-protos.h (avr_optimization_options): Declare.
18889 * config/avr/avr.c (avr_optimization_options): New function.
18890 * config/avr/avr.h (OPTIMIZATION_OPTIONS): New.
18891
18892 Optimize returning from simple functions.
18893 * config/avr/avr-protos.h (avr_simple_epilogue): Declare.
18894 * config/avr/avr.c (avr_simple_epilogue): New function.
18895 * config/avr/avr.md (return): New insn.
18896
21c318ba
DR
188972002-07-10 Douglas B Rupp <rupp@gnat.com>
18898
18899 * config/i386/i386.c (ix86_svr3_asm_out_constructor): Add
18900 HAS_INIT_SECTION to protection.
18901
537834c8
MM
189022002-07-10 Mark Mitchell <mark@codesourcery.com>
18903
18904 * doc/invoke.texi (Debugging Options): Mention that -gdwarf is
18905 deprecated.
18906
80ba02b1
R
18907Wed Jul 10 19:50:03 2002 J"orn Rennecke <joern.rennecke@superh.com>
18908
18909 * combine.c (gen_lowpart_for_combine): Handle vector modes.
18910 Supply non-VOID mode to simplify_gen_subreg.
18911
ae3aa00d
JH
18912Wed Jul 10 18:48:55 CEST 2002 Jan Hubicka <jh@suse.cz>
18913
18914 * i386.c (ix86_init_mmx_sse_builtins): Fix thinko.
18915
029f3983
JL
189162002-07-10 Jeffrey A Law <law@redhat.com>
18917
7a464913
JL
18918 * mn10200.c (expand_prologue): Create REG_MAYBE_DEAD notes
18919 as appropriate.
18920
6c535c69
ZW
18921 * mn10200.c (expand_epilogue): Fix test to determine which scratch
18922 register to use.
029f3983 18923
ff27a429
R
18924Wed Jul 10 16:06:00 2002 J"orn Rennecke <joern.rennecke@superh.com>
18925
18926 * cse.c (cse_insn): Supply proper SUBREG_BYTE to simplify_gen_subreg.
18927 Get mode from dest.
18928 If simplify_gen_subreg fails, try next equivalent.
18929
e6986399
GDR
189302002-07-09 Gabriel Dos Reis <gdr@codesourcery.com>
18931
18932 * diagnostic.h: #include location.h
18933 (location_t): Move definition to..
18934 * location.h: ... here. New file.
18935 * tree.h: #include location.h
18936 (DECL_SOURCE_LOCATION): New macro.
18937 (DECL_SOURCE_FILE): Use.
18938 (DECL_SOURCE_LINE): Likewise.
18939 (struct tree_decl): REplace filename and linenum with locus.
18940 * Makefile.in (TREE_H): add location.h
18941 (diagnostic.o): Depends on gt-location.h
18942 (gt-location.h): Depends on s-gtype
18943
7990b46f
MK
189442002-07-09 Matt Kraai <kraai@alumni.cmu.edu>
18945
18946 * config/rs6000/aix.h: Convert CPP_PREDEFINES to
18947 TARGET_OS_CPP_BUILTINS.
18948 * config/rs6000/aix31.h: Likewise.
18949 * config/rs6000/aix41.h: Likewise.
18950 * config/rs6000/aix43.h: Likewise.
18951 * config/rs6000/aix51.h: Likewise.
18952 * config/rs6000/beos.h: Likewise.
18953 * config/rs6000/darwin.h: Likewise.
18954 * config/rs6000/eabi.h: Likewise.
18955 * config/rs6000/eabisim.h: Likewise.
18956 * config/rs6000/linux.h: Likewise.
18957 * config/rs6000/linux64.h: Likewise.
18958 * config/rs6000/lynx.h: Likewise.
18959 * config/rs6000/mach.h: Likewise.
18960 * config/rs6000/rtems.h: Likewise.
18961 * config/rs6000/sysv4.h: Likewise.
18962 * config/rs6000/vxppc.h: Likewise.
efa39e99
DP
18963
189642002-07-09 Devang Patel <dpatel@apple.com>
18965 * objc/objc-act.c (adjust_type_for_id_default): Fix my previous patch.
18966 Do not allow ObjC objects as a parameter type for Objective-C methods.
18967 My previous patch restricted 'struct' also.
e89617fe 18968
cd98faa1
NB
189692002-07-09 Neil Booth <neil@daikokuya.co.uk>
18970
18971 * cpperror.c (cpp_error): Default to directive_line within
18972 directives here.
18973 * cppexp.c (cpp_interpret_integer): Only use traditional
18974 number semantics in directives.
18975 * cpplib.c (prepare_directive_trad): Don't reset pfile->line.
18976 (do_include_common): Similarly.
18977 * cpptrad.c (scan_out_logical_line): Implement accurate
18978 quoting of <> in #include.
18979 * doc/cpp.texi: Update.
18980
2ad65b0e 18981Tue Jul 9 22:37:44 2002 Stephen Clarke <stephen.clarke@superh.com>
6c535c69 18982 J"orn Rennecke <joern.rennecke@superh.com>
2ad65b0e
SC
18983
18984 * sh.c (sh_adjust_cost): Special handling of SHMEDIA code.
18985 * sh.md (attribute issues): Replace with:
18986 (attribute pipe_model). All users changed.
18987 (attribute type): Change pt / ptabs to pt_media / ptabs_media.
18988 All users changed.
18989 (function units sh5issue, sh5fds): New.
18990 (attribute is_mac_media): New.
18991 (adddi3_media, subdi3_media, divsi3_i1_media, anddi3): Add type.
18992 (andcdi3, iordi3, xordi3, ashldi3_media, lshrdi3_media): Likewise.
18993 (ashrdi3_media, negdi_media, extendsidi2, movqi_media): Likewise.
18994 (movhi_media, shori_media, movv2sf_i, jump_media): Likewise.
18995 (call_media, call_value_media, sibcall_media): Likewise.
18996 (casesi_jump_media, casesi_shift_media, casesi_load_media): Likewise.
18997 (return_media_i, addsf3_media, subsf3_media, mulsf3_media): Likewise.
18998 (mac_media, divsf3_media, floatdisf2, floatsisf2_media): Likewise.
18999 (fix_truncsfdi2, fix_truncsfsi2_media, cmpeqsf_media): Likewise.
19000 (cmpgtsf_media, cmpgesf_media, cmpunsf_media, negsf2_media): Likewise.
19001 (sqrtsf2_media, abssf2_media, adddf3_media, subdf3_media): Likewise.
19002 (muldf3_media, divdf3_media, floatdidf2, floatsidf2_media): Likewise.
19003 (fix_truncdfdi2, fix_truncdfsi2_media, cmpeqdf_media): Likewise.
19004 (cmpgtdf_media, cmpgedf_media,cmpundf_media, negdf2_media): Likewise.
19005 (sqrtdf2_media, absdf2_media, extendsfdf2_media): Likewise.
19006 (truncdfsf2_media): Likewise.
19007 (movsi_media, movsi_media_nofpu, movdi_media): Use new types.
19008 (movdi_media_nofpui, movdf_media, movdf_media_nofpu): Likewise.
19009
b6d33983
R
19010Tue Jul 9 21:39:50 2002 J"orn Rennecke <joern.rennecke@superh.com>
19011
19012 * sh.h (PREDICATE_CODES): Add general_extend_operand and inqhi_operand.
19013 * sh.c (general_extend_operand, inqhi_operand): New functions.
19014 * sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): Collapse
19015 alternatives using 'N' modifier. Add type.
19016 (adddi3z_media): Likewise. Enable generator function generation.
19017 (movdicc_false, movdicc_true, addsi3_media, subsi3_media): Use more
19018 exact predicates / constraints. Add type.
19019 (subsi3): Allow 0 for SHMEDIA.
19020 (udivsi3_i4_media): Use match_operand for input values
19021 rather than hard registers.
19022 (udivsi3 - TARGET_SHMEDIA_FPU case): Don't ferry values
19023 unnecessarily through hard registers. Keep copies of pseudo
19024 registers outside of the libcall sequence.
19025 (mulsidi3_media, umulsidi3_media): Use more exact predicates. Add type.
19026 (ashlsi3_media, ashrsi3_media, lshrsi3_media): Likewise.
19027 (zero_extendsidi2, zero_extendhidi2, zero_extendqidi2): Likewise.
19028 (extendhidi2, extendqidi2): Likewise.
19029 (andsi3_compact): Name.
19030 (andcdi3): Enable generator function generation.
19031 (zero_extendhisi2, zero_extendqisi2): Rename to
19032 (zero_extendhisi2_compact, zero_extendqisi2_compact).
19033 (extendhisi2, extendqisi2): Rename to
19034 (extendhisi2_compact, extendqisi2_compact).
19035 (rotldi3, rotldi3_mextr, rotrdi3, rotrdi3_mextr): New patterns.
19036 (loaddi_trunc, zero_extendhisi2, zero_extendhisi2_media): Likewise.
19037 (zero_extendhisi2_media+1, zero_extendqisi2): Likewise.
19038 (zero_extendqisi2_media, extendhisi2, extendhisi2_media): Likewise.
19039 (extendhisi2_media, extendhisi2_media+1, extendqisi2): Likewise.
19040 (extendqisi2_media, extendqisi2_media+1, truncdisi2): Likewise.
19041 (truncdihi2, truncdiqi2, reload_inqi, reload_inhi): Likewise.
19042 (shmedia32_initialize_trampoline_big): Likewise.
19043 (shmedia32_initialize_trampoline_little): Likewise.
19044 (nsb, nsbsi, nsbdi, ffsdi2, ffssi2, byterev): Likewise.
19045 (negdi2): Remove spurious T clobber.
19046 (zero_extendhidi2+1, extendhidi2+1, extendqidi2+1): Handle TRUNCATE.
19047 (movsi_media, movsi_media_nofpu): Remove spurious *k after b.
19048 (movdi_media, movdi_media_nofpu, pt, ptb): Likewise.
19049 (movsi_media_nofpu+2, movhi_media+1): Only do split after reload.
19050 (ic_invalidate_line_media): Write back data cache before invalidating
19051 instruction cache. Add type.
19052 (movsf_media): Sign-extend when the destination is a general
19053 purpose register. Add type.
19054 (bgt_media, bge_media, bgtu_media, bgeu_media, blt_media_i): Allow 0.
19055 (casesi_worker_0+1): Only increment ref count for proper label.
19056 (casesi_worker_0+2): Likewise.
19057
7ca0873c
MM
190582002-07-09 Mark Mitchell <mark@codesourcery.com>
19059
19060 * dwarfout.c (dwarfout_init): Warn that DWARF1 is deprecated.
19061
26b10ae0 190622002-07-09 Steve Ellcey <sje@cup.hp.com>
7ca0873c 19063
26b10ae0
SE
19064 * gcc/except.c (expand_eh_region_end_cleanup): Change exception pointer
19065 from Pmode to ptr_mode.
19066 (get_exception_pointer): Ditto.
19067 (connect_post_landing_pads): Ditto.
19068 (dw2_build_landing_pads): Ditto.
19069
0c3a2ea0
SE
190702002-07-08 Steve Ellcey <sje@cup.hp.com>
19071 * gcc/c-pragma.h (add_to_renaming_pragma_list): New function.
19072 * gcc/c-pragma.c (add_to_renaming_pragma_list): New function.
19073 (handle_pragma_redefine_extname): Change to use new function.
19074
26c34780
RS
190752002-07-08 Roger Sayle <roger@eyesopen.com>
19076
19077 * combine.c (combine_simplify_rtx): Add an explicit cast
19078 to avoid signed/unsigned comparison warning.
19079 (simplify_if_then_else): Likewise.
19080 (extended_count): Likewise.
19081 (simplify_shift_const): Likewise.
19082 (simplify_comparison): Likewise.
19083
1d4047e0
RS
190842002-07-08 Richard Sandiford <rsandifo@redhat.com>
19085
19086 * config/mips/mips.md: Add imadd type. Update scheduler description
19087 to use imadd as well as imul.
19088 (*mul_acc_si, *madsi): Change imul alternatives to imadd.
19089 (*mul_acc_di, *mul_acc_64bit_di): Likewise.
19090 (*mul_sub_si): Likewise for first alternative. Change second
19091 alternative from imul to multi.
19092
5351f1ca
NB
190932002-07-07 Neil Booth <neil@daikokuya.co.uk>
19094
19095 * c-common.c (c_common_post_options): Update prototype;
19096 don't init backends if preprocessing only.
19097 * langhooks-def.h (LANG_HOOKS_POST_OPTIONS): Update.
19098 * langhooks.h (struct lang_hooks): Update post_options to
19099 return a boolean.
19100 * toplev.c (parse_options_and_default_flags, do_compile,
19101 lang_independent_init): Update prototypes. Allow the
19102 front end to specify that there is no need to initialize
19103 the back end.
19104 (general_init): Move call to hex_init here...
19105 (toplev_main): ...from here. Pass flag for back end init
19106 suppression.
19107
c8cc4417
R
19108Sun Jul 7 20:38:38 2002 J"orn Rennecke <joern.rennecke@superh.com>
19109
19110 * sh.h (PRINT_OPERAND_PUNCT_VALID_P): Allow '\''.
19111 (PREDICATE_CODES): Add entries for equality_comparison_operator,
19112 greater_comparison_operator and less_comparison_operator.
19113 * sh.c (print_operand): Add '\'' code. Make 'o' handle
19114 more operators.
19115 (equality_comparison_operator): New function.
19116 (greater_comparison_operator, less_comparison_operator): Likewise.
19117 * sh.md (beq_media_i): Disable generator function generation.
19118 Use match_operator to handle a whole class of comparisons. Add
19119 modifier in output template to provide branch prediction. Add type.
19120 (bgt_media_i, ble_media_i): Likewise. Allow zero operands.
19121 (bne_media_i, bge_media_i, bgtu_media_i, bgeu_media_i): Delete.
19122 (blt_media_i, bleu_media_i, bltu_media_i): Likewise.
19123 (bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Allow zero operands.
19124
957ec0f9
HPN
191252002-07-07 Hans-Peter Nilsson <hp@bitrange.com>
19126
19127 Emit MMIX function prologue and epilogue as rtl.
19128 * config/mmix/mmix.md ("call"): Use mmix_get_hard_reg_initial_val,
19129 not unprototyped get_hard_reg_initial_val.
19130 ("call_value", "nonlocal_goto_receiver"): Ditto.
19131 ("return"): Make define_expand. Move real insn to...
19132 ("*expanded_return"): New pattern.
19133 ("prologue", "epilogue"): New define_expands.
19134 * config/mmix/mmix.h (MMIX_rO_REGNUM): New macro.
19135 (struct machine_function): New member in_prologue.
19136 (FIRST_PSEUDO_REGISTER): Adjust for including rO as register.
19137 (FIXED_REGISTERS, CALL_USED_REGISTERS): Ditto.
19138 (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Ditto.
19139 (MMIX_GNU_ABI_REG_ALLOC_ORDER, REG_CLASS_CONTENTS): Ditto.
19140 (REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Ditto.
19141 (LOCAL_REGNO): Define. Adjust comment.
19142 * config/mmix/mmix.c (MMIX_CFUN_NEEDS_SAVED_EH_RETURN_ADDRESS):
19143 Consider regs_ever_live[MMIX_rJ_REGNUM], not just
19144 leaf_function_p.
19145 (MMIX_OUTPUT_REGNO): Don't translate registers while outputting
19146 the prologue.
19147 (mmix_target_asm_function_prologue): Make static. Just mark that
19148 the prologue is being emitted. Move guts to...
19149 (mmix_expand_prologue): New function. Adjust for emitting
19150 prologue as rtl. For sizes, use HOST_WIDE_INT only.
19151 (mmix_target_asm_function_epilogue): Make static. Simply emit a
19152 \n. Move guts to...
19153 (mmix_expand_epilogue): New function. Adjust for emitting
19154 epilogue as rtl. For sizes, use HOST_WIDE_INT only.
19155 (mmix_target_asm_function_end_prologue): Mark that the prologue
19156 has ended.
19157 (TARGET_ASM_FUNCTION_END_PROLOGUE): Define.
19158 (mmix_conditional_register_usage): Improve comments.
19159 (mmix_local_regno): New function.
19160 (mmix_emit_sp_add, mmix_get_hard_reg_initial_val): Ditto.
19161 * config/mmix/mmix-protos.h (mmix_local_regno): Prototype.
19162 (mmix_expand_prologue, mmix_expand_epilogue): Ditto.
19163 (mmix_get_hard_reg_initial_val): Ditto.
19164
7ab5c789
AJ
191652002-07-06 Andreas Jaeger <aj@suse.de>
19166
19167 * toplev.c (set_fast_math_flags): Don't use ISO C style function
19168 definitions.
19169 * gengtype.c (open_base_files): Likewise.
19170 (close_output_files): Likewise.
19171 * tracer.c (find_best_predecessor): Likewise.
19172 (find_best_successor): Likewise.
19173 (ignore_bb_p): Likewise.
19174
df061a43
RS
191752002-07-05 Roger Sayle <roger@eyesopen.com>
19176
19177 PR c++/7099
19178 * builtin-attrs.def: Define new attribute lists for use in
19179 builtins.def.
19180 * builtins.def [DEF_BUILTIN]: Modify to take an additional
19181 ATTRS argument, an enumerated value defined in builtin-attrs.def
19182 that represents the attribute list for the builtins. Modify
19183 all builtin functions to pass an appropriate attribute list.
19184 Specify "abort", "exit", "_exit" and "_Exit" builtins here with
19185 their required noreturn attributes.
19186 * tree.h (enum_builtin_function): Ignore the additional parameter
19187 to DEF_BUILTIN.
19188 * builtins.c (built_in_names): Likewise.
19189 * c-common.c: (builtin_function_2): Replace the "int noreturn_p"
19190 argument with a tree representing the functions attribute list.
19191 Pass this "attrs" argument to builtin_function. No longer handle
19192 the noreturn_p processing manually.
19193 (built_in_attributes): Move the definitions from builtin-attrs.def
19194 before c_common_nodes_and_builtins.
19195 (c_common_nodes_and_builtins): Handle the new ATTRS parameter in
19196 DEF_BUILTIN, passing it to both builtin_function and the changed
19197 builtin_function_2.
19198
19199 * doc/extend.texi: Document __builtin_abort, __builtin_exit,
19200 __builtin__exit and __builtin__Exit.
19201
e5eb8de8
SC
192022002-07-05 Stephane Carrez <stcarrez@nerim.fr>
19203
19204 * config/m68hc11/m68hc11.md ("*movqi_68hc12"): Avoid allocating
19205 QI mode registers in soft registers.
7ab5c789 19206 ("zero_extendqihi2"): Do not take into account soft registers
e5eb8de8
SC
19207 for register allocation (use '*' constraint).
19208
4c8aed14
SC
192092002-07-05 Stephane Carrez <stcarrez@nerim.fr>
19210
19211 * config/m68hc11/m68hc11.md ("*ashlsi3"): Avoid saving y if we know
19212 it is dead.
19213 ("*ashrsi3"): Likewise.
19214 ("*lshrsi3"): Likewise.
19215
99ed68ea
VM
192162002-07-05 Vladimir Makarov <vmakarov@redhat.com>
19217
19218 * genautomata.c (output_max_insn_queue_index_def): Take latencies
19219 into account.
19220
4c8aed14 192212002-07-05 Stephane Carrez <stcarrez@nerim.fr>
581fd392
SC
19222
19223 * config/m68hc11/m68hc11.md (peephole2): New peephole2 to optimize
19224 address computation and memory moves.
19225
9833f679
MM
192262002-07-03 Mark Mitchell <mark@codesourcery.com>
19227
19228 PR c++/6706
19229 * dwarfout.c (output_reg_number): Fix warning message.
19230 (output_bound_representation): Check SAVE_EXPR_RTL is not NULL
19231 before using it.
7ab5c789 19232
81bca2f5
RO
192332002-07-05 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
19234
19235 * gcc/gcc.c (asm_debug): Move initialization ...
19236 (init_spec): ... here.
19237
17f44f02
NS
192382002-07-05 Nathan Sidwell <nathan@codesourcery.com>
19239
19240 * c-parse.in (extdef): Append ';'.
19241 (old_style_parm_decls): Append ';'.
19242
da77408f
DJ
192432002-07-04 Daniel Jacobowitz <drow@mvista.com>
19244
19245 * configure.in: Correct typos: gcc_cv_as_gdwarf2_debug_flag to
19246 gcc_cv_as_gdwarf2_flag and gcc_cv_as_gstabs_debug_flag
19247 to gcc_cv_as_gstabs_flag.
19248 * configure: Rebuilt.
19249
ec52b446
GK
192502002-07-04 Geoffrey Keating <geoffk@redhat.com>
19251
19252 * ggc.h (ggc_add_root): Document as obsolete.
19253
8721e3df
R
19254Thu Jul 4 07:58:01 2002 J"orn Rennecke <joern.rennecke@superh.com>
19255
19256 * sh.md (mshfhi_b, mshflo_b, mshfhi_l, mshflo_l, mshfhi_w): Add DONE.
19257 (mshflo_w): Likewise.
19258
3767c0fd
R
19259Thu Jul 4 07:36:29 2002 J"orn Rennecke <joern.rennecke@superh.com>
19260
19261 * simplify-rtx.c (simplify_subreg): Reduce problem of finding
19262 vector mode subregs of constants to finding integer mode
19263 subregs of constants.
19264 * cse.c (cse_insn): Use simplify_gen_subreg.
19265 * convert.c (convert_to_integer): Don't strip a NOP_EXPR
19266 From a vector mode expression of different size than the
19267 target mode.
19268
4e314d1f
EC
192692002-07-03 Eric Christopher <echristo@redhat.com>
19270
19271 * config/mips/linux.h: Add #undef for SUBTARGET_CPP_SPEC.
19272 * config/mips/mips.h: Remove deprecated -m<processor> options
19273 and cc1_cpu_spec associated.
19274 (CONSTANT_ADDRESS_P): Fix last patch.
19275 (ASM_DECLARE_FUNCTION_NAME): Declare. Fix comment.
19276 * config/mips/mips.md (bungt, bunge, sungt_df, sungt_sf, sunge_df,
19277 sunge_sf): Remove.
19278
6f0361e3
SS
192792002-07-03 Stan Shebs <shebs@apple.com>
19280
19281 * config/darwin.h (APPLE_CC): Remove, not meaningful in FSF GCC.
19282 (STRINGIFY_THIS, REALLY_STRINGIFY): Remove.
19283 (CPP_SPEC): Remove insertion of APPLE_CC definition.
19284
3129af4c
RS
192852002-07-03 Roger Sayle <roger@eyesopen.com>
19286
19287 * combine.c (struct_undo): Change types of recorded substitutions
19288 to be either "int" or "rtx", instead of "unsigned int" and "rtx".
19289 (do_SUBST_INT): Change types of the substitution from unsigned int
19290 to int, to avoid compilation warning from SUBST_INT's only caller.
19291
19292 (make_extraction): Add cast to avoid compilation warning.
19293 (force_to_mode): Remove cast to avoid compilation warning.
19294
c7375e61
EB
192952002-07-03 Eric Botcazou <ebotcazou@multimania.com>
19296 Jeff Law <law@redhat.com>
19297
19298 * i386.md (length_immediate attribute): Fix typo.
19299 (length_address attribute): Likewise.
19300 (modrm attribute): Set it to 0 for immediate call instructions.
19301 (jcc_1 pattern): Set modrm attribute to 0.
19302 (jcc_2 pattern ): Likewise.
19303 (jump pattern): Likewise.
19304 (doloop_end_internal pattern): Explicitly set length.
19305 (leave pattern): Fix typo.
19306 (leave_rex64 pattern): Likewise.
19307
61c07d3c
DE
193082002-07-03 David Edelsohn <edelsohn@gnu.org>
19309
19310 * config/rs6000/rs6000.md (fix_truncdfsi2_internal): Ignore DImode
19311 in FPR as preference.
19312 (fctiwz): Same.
19313 (floatdidf2, fix_truncdfdi2): Same.
19314 (floatdisf2, floatditf2, fix_trunctfdi2): Same.
19315 (floatditf2): Same.
19316 (floatsitf2, fix_trunctfsi2): SImode in GPR.
19317 (ctrdi): Remove FPR alternative and splitter.
19318
193192002-07-03 Will Cohen <wcohen@redhat.com>
77966be3
WC
19320
19321 * config/i386/i386.c (x86_integer_DFmode_moves): Disable for PPro.
19322
34a80643
R
19323Wed Jul 3 10:24:16 2002 J"orn Rennecke <joern.rennecke@superh.com>
19324
19325 * optabs.c (expand_vector_binop): Don't store using a SUBREG smaller
19326 than UNITS_PER_WORD, unless this is little endian and the first unit
19327 in this word. Let extract_bit_field decide how to load an element.
19328 Force arguments to matching mode.
19329 (expand_vector_unop): Likewise.
19330
19331 * simplify-rtx.c (simplify_subreg): Don't assume that all vectors
19332 consist of word_mode elements.
19333 * c-typeck.c (build_binary_op): Allow vector types for BIT_AND_EXPR,
19334 BIT_ANDTC_EXPR, BIT_IOR_EXPR and BIT_XOR_EXPR.
19335 (build_unary_op): Allow vector types for BIT_NOT_EPR.
19336 * emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg for
19337 CONST_VECTOR.
19338 * optabs.c (expand_vector_binop): Try to perform operation in
19339 smaller vector modes with same inner size. Add handling of AND, IOR
19340 and XOR. Reject expansion to inner-mode sized scalars when using
19341 OPTAB_DIRECT. Use simplify_gen_subreg on constants.
19342 (expand_vector_unop): Try to perform operation in smaller vector
19343 modes with same inner size. Add handling of one's complement.
19344 When there is no vector negate operation, try a vector subtract
19345 operation. Use simplify_gen_subreg on constants.
19346 * simplify-rtx.c (simplify_subreg): Add capability to convert vector
19347 constants into smaller vectors with same inner mode, and to
19348 integer CONST_DOUBLEs.
19349
622d3731
KG
193502002-07-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
19351
19352 * c-parse.in (parsing_iso_function_signature): New variable.
19353 (extdef_1): New, copied from...
19354 (extdef): ... here. Reset parsing_iso_function_signature.
19355 (old_style_parm_decls): Reset parsing_iso_function_signature.
19356 (old_style_parm_decls_1): New, copied from old_style_parm_decls.
19357 Warn about ISO C style function definitions.
19358 (nested_function, notype_nested_function): Reset
19359 parsing_iso_function_signature.
19360 (parmlist_2): Set parsing_iso_function_signature.
19361
19362 * doc/invoke.texi (-Wtraditional): Document new behavior.
19363
9bb46191
CD
193642002-07-02 Chris Demetriou <cgd@broadcom.com>
19365
19366 * config.gcc (mips*el-*-*): Use tm_defines to set
19367 TARGET_ENDIAN_DEFAULT, rather than including mips/little.h.
19368 * config/mips/little.h: Remove.
19369
e1c2dd26 193702002-07-02 Devang Patel <dpatel@apple.com>
c40da518 19371
c40da518 19372 * objc/objc-act.c (adjust_type_for_id_default): Do not allow an
31e25abd
CD
19373 object as parameter. Prevent something like 'NSObject' to be
19374 used as the type for a method argument.
c40da518 19375
0879540b
NB
193762002-07-03 Neil Booth <neil@daikokuya.co.uk>
19377
19378 * cpptrad.c: Update comment.
19379
b6fb43ab 193802002-07-02 Neil Booth <neil@daikokuya.co.uk>
4e314d1f 19381
b6fb43ab
NB
19382 * doc/cpp.texi: Update for traditional preprocessing changes.
19383 * goc/cppopts.texi: Similarly.
19384
c1c5187c
ZL
193852002-07-02 Ziemowit Laski <zlaski@apple.com>
19386
19387 * c-parse.in (designator): Enable designated initializers if ObjC.
19388 (objcmessageexpr): Remove references to objc_receiver_context.
19389 * objc/objc-act.h (objc_receiver_context): Remove decl.
19390 * objc/objc-act.c (objc_receiver_context): Remove.
19391 (lookup_objc_ivar): Test objc_method_context instead of
19392 objc_receiver_context.
19393
52702ae1
R
19394Tue Jul 2 18:45:45 2002 J"orn Rennecke <joern.rennecke@superh.com>
19395
19396 * sh.c (print_operand, case 'N'): Allow zero vector.
19397 (arith_reg_or_0_operand): Likewise.
19398 (zero_vec_operand): Check for CONST_VECTOR, not PARALLEL.
4e314d1f 19399 * sh.h (CONST_COSTS): 0 has 0 cost. Check OUTER_CODE for
52702ae1
R
19400 IOR, XOR, PLUS and SET and take their respective constant
19401 ranges into account.
19402 (PREDICATE_CODES, arith_reg_or_0_operand): Can be CONST_VECTOR.
19403 * sh.md (subdi3, subdi3_media): Allow zero operand.
19404 (movv8qi_i+3): Only vector that is not split is the zero vector.
19405 Fix operand 3 to simplify_subreg.
19406 (movv2si_i): Split alternative 1.
19407 (mshfhi_l_di_rev+1): New splitter.
19408
49e7b251
NB
194092002-07-02 Neil Booth <neil@daikokuya.co.uk>
19410
ba57a9c0 19411 PR preprocessor/7029
49e7b251
NB
19412 * cppinit.c (cpp_handle_option): Suppress warnings with an
19413 implicit "-w" for "-M" and "-MM".
19414 * doc/cppopts.texi: Update.
19415
a3acdc0c
RS
194162002-07-01 Roger Sayle <roger@eyesopen.com>
19417
19418 * config/sh/sh.c (sh_media_init_builtins): Change use of poisoned
19419 identifier "bzero" to "memset". Pass extra NULL_TREE argument to
19420 builtin_function.
19421
0b558962
AM
194222002-07-02 Alan Modra <amodra@bigpond.net.au>
19423
19424 * README.Portability: Fix typos.
19425
9a81c5b7
HPN
194262002-07-01 Hans-Peter Nilsson <hp@axis.com>
19427
19428 PR target/7177
19429 * config/cris/cris.h (LEGITIMIZE_RELOAD_ADDRESS): Correct number
19430 of indirections for register inside sign-extended mem part.
19431
6a2dd09a
RS
194322002-07-01 Roger Sayle <roger@eyesopen.com>
19433
19434 * tree.h: Modify builtin_function interface to take an extra
19435 argument ATTRS, which is a tree representing an attribute list.
19436
19437 * c-decl.c (builtin_function): Accept additional parameter.
19438 * objc/objc-act.c (builtin_function): Likewise.
19439 * f/com.c (builtin_function): Likewise.
19440 * java/decl.c (builtin_function): Likewise.
19441 * ada/utils.c (builtin_function): Likewise.
19442 * cp/decl.c (builtin_function): Likewise.
19443 (builtin_function_1): Likewise.
19444
19445 * c-common.c (c_common_nodes_and_builtins): Pass an additional
19446 NULL_TREE argument to builtin_function. (builtin_function_2):
19447 Likewise.
19448 * cp/call.c (build_java_interface_fn_ref): Likewise.
19449 * objc/objc-act.c (synth_module_prologue): Likewise.
19450 * java/decl.c (java_init_decl_processing): Likewise.
19451 * f/com.c (ffe_com_init_0): Likewise.
19452
19453 * config/alpha/alpha.c (alpha_init_builtins): Pass an additional
19454 NULL_TREE argument to builtin_function.
19455 * config/arm/arm.c (def_builtin): Likewise.
19456 * config/c4x/c4x.c (c4x_init_builtins): Likewise.
19457 * config/i386/i386.c (def_builtin): Likewise.
19458 * config/ia64/ia64.c (def_builtin): Likewise.
19459 * config/rs6000/rs6000.c (def_builtin): Likewise.
19460
e20569ae
ZW
194612002-07-01 Zack Weinberg <zack@codesourcery.com>
19462
19463 * config/ip2k/t-ip2k: Remove LIBGCC1, CROSS_LIBGCC1, and LIBGCC1_TEST.
19464 * config/mips/t-isa3264: Likewise.
19465 * config/mmix/t-mmix: Likewise.
19466
f1b690f1
JDA
194672002-07-01 John David Anglin <dave@hiauly1.hia.nrc.ca>
19468
19469 * emit-rtl.c (init_emit_once): Add missing cast to HOST_WIDE_INT.
19470
6bfa5aac
RS
194712002-07-01 Roger Sayle <roger@eyesopen.com>
19472
19473 PR opt/4046
19474 * fold-const.c (fold) [COND_EXPR]: Simplify A ? 0 : 1 to !A,
19475 A ? B : 0 to A && B and A ? B : 1 into !A || B if both A and
19476 B are truth values.
19477
9a5c1b9d
NN
194782002-07-01 Nathanael Nerode <neroden@gcc.gnu.org>
19479
19480 * config/mmix/t-mmix: Eliminate last reference to LIBGCC1_TEST.
19481
d3fc4dbc
MK
194822002-07-01 Matt Kraai <kraai@alumni.cmu.edu>
19483
3b2124df
MK
19484 * README.Portability (Function prototypes): Give an example of
19485 declaring and defining a function with no arguments.
19486
d3fc4dbc
MK
19487 * README.Portability (Function prototypes): Document new
19488 variable-argument function macros.
19489
c1b92d09
R
19490Mon Jul 1 19:55:17 2002 J"orn Rennecke <joern.rennecke@superh.com>
19491
19492 * sh.c (langhooks.h): Include.
19493 (sh_init_builtins, sh_media_init_builtins): New functions.
19494 (sh_expand_builtin, arith_reg_dest,and_operand): Likewise.
19495 (mextr_bit_offset, extend_reg_operand, zero_vec_operand): Likewise.
19496 (sh_rep_vec, sh_1el_vec, sh_const_vec): Likewise.
19497 (builtin_description): New struct tag.
19498 (signature_args, bdesc): New arrays.
19499 (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Undef / define.
19500 (print_operand): Add 'N' modifier.
19501 * sh.h (VECTOR_MODE_SUPPORTED_P): Add SHmedia vector modes.
19502 (EXTRA_CONSTRAINT_U, EXTRA_CONSTRAINT_W): New macros.
19503 (EXTRA_CONSTRAINT): Add 'U' and 'W' cases.
19504 (CONST_COSTS): Add special case for SHmedia AND.
19505 (PREDICATE_CODES): Add and_operand, arith_reg_dest,
19506 extend_reg_operand, extend_reg_or_0_operand, mextr_bit_offset,
19507 sh_const_vec, sh_1el_vec, sh_rep_vec, zero_vec_operand.
19508 target_operand can also be const or unspec.
19509 * sh.md (UNSPEC_INIT_TRAMP, UNSPEC_FCOSA UNSPEC_FSRRA): New constants.
19510 (UNSPEC_FSINA, UNSPEC_NSB, UNSPEC_ALLOCO): Likewise.
19511 (attribute type): Add new types.
19512 (anddi3): Add splitter.
19513 (movdi_const_16bit+1): Add code to handle vector constants and
19514 bitmasks efficiently.
19515 (shori_media): Have generator function made.
19516 (movv8qi, movv8qi_i, movv8qi_i+1, movv8qi_i+2): New patterns.
19517 (movv8qi_i+3, movv2hi, movv2hi_i, movv4hi, movv4hi_i): Likewise.
19518 (movv2si, movv2si_i, absv2si2, absv4hi2, addv2si3, addv4hi3): Likewise.
19519 (ssaddv2si3, usaddv8qi3, ssaddv4hi3, negcmpeqv8qi): Likewise.
19520 (negcmpeqv2si, negcmpeqv4hi, negcmpgtuv8qi, negcmpgtv2si): Likewise.
19521 (negcmpgtv4hi, mcmv, mcnvs_lw, mcnvs_wb, mcnvs_wub): Likewise.
19522 (mextr_rl, mextr_lr, mextr1, mextr2, mextr3, mextr4, mextr5): Likewise.
19523 (mextr6, mextr7, mmacfx_wl, mmacfx_wl_i, mmacnfx_wl): Likewise.
19524 (mmacnfx_wl_i, mulv2si3, mulv4hi3, mmulfx_l, mmulfx_w): Likewise.
19525 (mmulfxrp_w, mmulhi_wl, mmullo_wl, mmul23_wl, mmul01_wl): Likewise.
19526 (mmulsum_wq, mmulsum_wq_i, mperm_w, mperm_w_little): LIkewise.
19527 (mperm_w_big, mperm_w0, msad_ubq, msad_ubq_i, mshalds_l): Likewise.
19528 (mshalds_w, ashrv2si3, ashrv4hi3, mshards_q, mshfhi_b): Likewise.
19529 (mshflo_b, mshf4_b, mshf0_b, mshfhi_l, mshflo_l, mshf4_l): Likewsie.
19530 (mshf0_l, mshfhi_w, mshflo_w, mshf4_w, mshf0_w, mshfhi_l_di): Likewise.
19531 (mshfhi_l_di_rev, mshflo_l_di, mshflo_l_di_rev): Likewise.
19532 (mshflo_l_di_x, mshflo_l_di_x_rev, ashlv2si3, ashlv4hi3): Likewise.
19533 (lshrv2si3, lshrv4hi3, subv2si3, subv4hi3, sssubv2si3): Likewise.
19534 (ussubv8qi3, sssubv4hi3, fcosa_s, fsina_s, fipr, fsrra_s): Likewise.
19535 (ftrv): Likewise.
19536
19537 (fpu_switch+1, fpu_switch+2): Remove constraint.
19538
97ebc06f
AH
195392002-07-01 Aldy Hernandez <aldyh@redhat.com>
19540
6c535c69
ZW
19541 * tree.c (build_function_type_list): Update function comment.
19542 Rename first argument to return_type.
97ebc06f 19543
353a10d0
NB
195442002-07-01 Neil Booth <neil@daikokuya.co.uk>
19545
19546 * Makefile.in: Remove all trace of tradcpp.c, tradcpp.h,
19547 tradcif.y and related files.
19548
e34cabb3
NB
195492002-07-01 Neil Booth <neil@daikokuya.co.uk>
19550
19551 * cpptrad.c (skip_whitespace): Pass pointer to prior char.
19552
8bf3ccbb
KG
195532002-07-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
19554
19555 * mips.h (FUNCTION_ARG_REGNO_P): Fix parentheses.
19556
44eedb75 19557See ChangeLog.7 for earlier changes.