]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
MAINTAINERS: Remove John Carr (who never actually had access to gcc.gnu.org).
[gcc.git] / gcc / ChangeLog
CommitLineData
3a1944a6
RE
12003-02-16 Richard Earnshaw <rearnsha@arm.com>
2
3 * arm.c (arm_reload_in_hi): Ensure that the scratch register does
4 not overlap the final result register.
5
cdd4b0d4
AB
62003-02-16 Arend Bayer <arend.bayer@web.de>
7 Richard Henderson <rth@redhat.com>
8
ddb9eedd 9 PR c/8068
cdd4b0d4
AB
10 * fold-const.c (extract_muldiv_1): Rename from extract_muldiv;
11 rearrange mult arguments for less recursion.
12 (extract_muldiv): New. Prevent runaway recursion.
13
616f273a
DS
142003-02-16 Danny Smith <dannysmith@users.sourceforge.net>
15
16 * config/i386/cygwin.h (TARGET_SUBTARGET_DEFAULT): Set
17 MASK_ALIGN_DOUBLE.
18
881b2a96
RS
192003-02-15 Roger Sayle <roger@eyesopen.com>
20
21 * config/i386/i386.c (x86_ext_80387_constants): Use 80387 insns
22 to load mathematical constants on K6, Athlon, Pentium 4 and PPro.
23 (ext_80387_constants_table): Global table of 80387 special constants
24 guarded by ext_80387_constants_init flag when not initialized.
25 (init_ext_80387_constants): New function to initialize this table.
26 (standard_80387_constant_p): Extend to recognize extra 80387
27 constants, in XFmode, on processors where this is a win.
28 (standard_80387_constant_opcode): New function to return the
29 opcode associated with standard_80387_constant_p.
30 (standard_80387_constant_rtx): New function to return the XFmode
31 CONST_DOUBLE associated with standard_80387_constant_p.
32 (ix86_rtx_costs): Give the new constants the same cost as 1.0.
33
34 * config/i386/i386-protos.h (standard_80387_constant_opcode):
35 Prototype here.
36 (standard_80387_constant_rtx): Likewise.
37
38 * config/i386/i386.md (*movsf1, *movsf1_nointerunit, *movdf_nointeger,
39 *movdf_integer, *movxf_nointeger, *movtf_nointeger, *movxf_integer,
40 *movtf_integer): Simplify using new standard_80387_constant_opcode.
41
d203738b
GK
422003-02-15 Geoffrey Keating <geoffk@apple.com>
43
44 * doc/invoke.texi (Optimize Options): Correct @option syntax.
45
0b077eac
RH
462003-02-15 Richard Henderson <rth@redhat.com>
47
48 * Makefile.in (cfglayout.o): Depend on TARGET_H.
49 * cfglayout.c: Include target.h.
50 (cfg_layout_can_duplicate_bb_p): Check targetm.cannot_copy_insn_p.
51 * target-def.h (TARGET_CANNOT_COPY_INSN_P): New.
52 * target.h (struct gcc_target): Add cannot_copy_insn_p.
53
54 * config/alpha/alpha.c (alpha_cannot_copy_insn_p): New.
55 (TARGET_CANNOT_COPY_INSN_P): New.
56 (override_options): Revert 2003-02-08 hack.
57
9a71ece1
RH
582003-02-15 Richard Henderson <rth@redhat.com>
59
60 * gcse.c (bypass_block): Use BLOCK_FOR_INSN for resolving LABEL_REFs.
61 (bypass_conditional_jumps): Accept computed_jump_p insns as well.
62
b54cf83a
DE
632003-02-15 David Edelsohn <edelsohn@gnu.org>
64
65 * config/rs6000/rs6000.h (processor_type): Add PPC440.
66 * config/rs6000/rs6000.c (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
67 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
68 TARGET_SCHED_VARIABLE_ISSUE): Define.
69 (rs6000_use_dfa_pipeline_interface): New function.
70 (rs6000_multipass_dfa_lookahead): New Function.
71 (rs6000_variable_issue): New function.
72 (rs6000_adjust_cost): Add CMP and DELAYED_CR types.
73 (rs6000_issue_rate): Add PPC440.
74 * config/rs6000/rs6000.md (unspec list): Correct typo.
75 (attr "type"): Add load_ext, load_ext_u, load_ext_ux, load_u,
76 store_ux, store_u, fpload_ux, fpload_u, fpstore_ux, fpstore_u,
77 cmp, delayed_cr, mfcr, mtcr.
78 (automata_option): Set "ndfa".
79 (extendMMNN2): Update attributes.
80 (movcc_internal1): Discourage move to non-cr0. Update
81 attributes.
82 (movMM_update): Update attributes.
83 (cmpMM_internal): Update attributes.
84 (sCC CR materialization): Update attributes.
85 (branch patterns): Do not discourage non-cr0.
86 (cr logical patterns): Prefer destructive register allocation.
87 Update attributes.
88 (movesi_from_cr): Update attribute.
89 (mtcrf_operation): Update attribute.
90 (mtcrfsi): Update attribute.
91 * config/rs6000/40x.md: New file.
92 * config/rs6000/603.md: New file.
93 * config/rs6000/6xx.md: New file.
94 * config/rs6000/7450.md: New file.
95 * config/rs6000/7xx.md: New file.
96 * config/rs6000/mpc.md: New file.
97 * config/rs6000/power4.md: New file.
98 * config/rs6000/rios1.md: New file.
99 * config/rs6000/rios2.md: New file.
100 * config/rs6000/rs64.md: New file.
101 [Some DFA descriptions based on work by Michael Hayes]
102
99dc7277
RH
1032003-02-15 Richard Henderson <rth@redhat.com>
104
105 * bb-reorder.c (find_traces_1_round): Don't connect easy to copy
106 successors with multiple predecessors.
107 (connect_traces): Try harder to copy traces of length 1.
108
109 * function.h (struct function): Add computed_goto_common_label,
110 computed_goto_common_reg.
111 * function.c (free_after_compilation): Zap them.
112 * stmt.c (expand_computed_goto): Use them to produce one
113 indirect branch per function.
114
5f24e0dc
RH
1152003-02-15 Richard Henderson <rth@redhat.com>
116
117 * cfgcleanup.c: Include params.h.
118 (try_crossjump_bb): Use PARAM_MAX_CROSSJUMP_EDGES. Fix test for
119 too many outgoing edges from a block.
120 * Makefile.in (cfgcleanup.o): Depend on PARAMS_H.
121 * params.def (max-crossjump-edges): New.
122 * doc/invoke.texi: Document it.
123
9381bbc9
RH
1242003-02-15 Richard Henderson <rth@redhat.com>
125
126 * recog.c (split_all_insns): Include new blocks in life update;
127 do a global life update.
128
e898926c
DS
1292003-02-15 Danny Smith <dannysmith@users.sourceforge.net>
130
131 * config/i386/mingw32.h (LIBGCC_SPEC): Add libmingwex.a.
132 Update copyright.
133 * config/i386/cygwin.h (LIBGCC_SPEC): Add libmingwex.a for
134 -mno-cygwin case.
135
ce65116b
FH
1362003-02-14 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
137
138 PR optimization/7702
139 * reload1.c (reload_cse_simplify_set): Honor
140 CANNOT_CHANGE_MODE_CLASS.
141
fe7496dd
AO
1422003-02-14 Alexandre Oliva <aoliva@redhat.com>
143
144 * config/mn10300/mn10300.c (mn10300_wide_const_load_uses_clr): New
145 function.
146 * config/mn10300/mn10300-protos.h: Declare it.
147 * config/mn10300/mn10300.md (movdi, movdf): Use it to compute
148 attribute cc of instructions that may use clr.
149
6017c719
KH
1502003-02-14 Kazu Hirata <kazu@cs.umass.edu>
151
152 * simplify-rtx.c (simplify_binary_operation): Simplify ~y when
153 (x - (x & y)) is found.
154
9fb28a67
RO
1552003-02-14 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
156
157 * configure.in: Fix typo.
158 * configure: Regenerate.
159
60f469fa
KH
1602003-02-14 Kazu Hirata <kazu@cs.umass.edu>
161
162 * config/h8300/h8300.md (*iorsi2_and_1_lshiftrt_1): New.
163
8fd73754 1642003-02-13 Adam Nemet <anemet@lnxw.com>
60f469fa 165
ce65116b
FH
166 PR opt/2391
167 * combine.c: Fix spelling in comment.
168 (cached_nonzero_bits): New function.
169 (cached_num_sign_bit_copies): New function.
8fd73754
AN
170 (nonzero_bits_with_known): New macro.
171 (num_sign_bit_copies_with_known): New macro.
ce65116b 172 (nonzero_bits1): Rename from nonzero_bits. Add three new
8fd73754
AN
173 arguments. Change calls from nonzero_bits to
174 nonzero_bits_with_known.
ce65116b 175 (num_sign_bit_copies1): Rename from num_sign_bit_copies. Add
8fd73754
AN
176 three new arguments. Change calls from num_sign_bit_copies to
177 num_sign_bit_copies_with_known.
ce65116b
FH
178 (nonzero_bits): New macro.
179 (num_sign_bit_copies): New macro.
180 (update_table_tick): Don't traverse identical subexpression more
8fd73754 181 than once.
ce65116b 182 (get_last_value_validate): Likewise.
8fd73754 183
ddb0ae00
ZW
1842003-02-13 Zack Weinberg <zack@codesourcery.com>
185
186 * emit-rtl.c (init_emit): Use ggc_alloc for regno_reg_rtx.
187 * function.h (struct emit_status): Length of regno_pointer_align
188 and x_regno_reg_rtx as seen by gengtype is only x_reg_rtx_no,
189 not regno_pointer_align_length (i.e. length actually used, not
190 length as allocated)
191
192 * config/i386/i386.c (struct stack_local_entry): New.
193 (struct machine_function): Replace huge array with alist.
194 (assign_386_stack_local): Change to match.
195
c20b55c0
JDA
1962003-02-13 John David Anglin <dave.anglin@nrc-crnc.gc.ca>
197
198 * inclhack.def (hpux_long_double): Tighten select and add bypass
199 regexp.
200 * fixincl.x: Rebuilt.
201
ffc8f11e
JZ
2022003-02-13 Josef Zlomek <zlomekj@suse.cz>
203
204 * cfgcleanup.c (outgoing_edges_match): When there is single outgoing
205 edge and block ends with a jump insn it must be simple jump.
206
047d636f
DJ
2072003-02-13 Daniel Jacobowitz <drow@mvista.com>
208
209 * Makefile.in (PREPROCESSOR_DEFINES): Add
210 @TARGET_SYSTEM_ROOT_DEFINE@.
211 * configure.in (PREFIX_INCLUDE_DIR): Don't define if $with_sysroot
212 is specified or if building a cross compiler.
213 (TARGET_SYSTEM_ROOT_DEFINE): Add TARGET_SYSTEM_ROOT_RELOCATABLE
214 if the sysroot is under $exec_prefix.
215 * configure: Regenerated.
216 * cppdefault.h: Use native include paths if TARGET_SYSTEM_ROOT is
217 defined.
218 (struct default_include): Add add_sysroot field.
219 (cpp_SYSROOT): Declare.
220 * cppdefault.c (cpp_include_defaults): Fill in add_sysroot
221 field.
222 (cpp_SYSROOT): New variable.
223 * cppinit.c (cpp_create_reader): Initialize
224 CPP_OPTION (pfile, sysroot).
225 (init_standard_includes): Handle add_sysroot. Do not
226 add unrelocated copies of relocated directories.
227 (COMMAND_LINE_OPTIONS): Add -isysroot.
228 (cpp_handle_option): Handle -isysroot.
229 * cpplib.h (struct cpp_options): Add sysroot member.
230 * gcc.c (The Specs Language): Update description of %I.
231 (target_system_root_changed): New variable.
232 (process_command): Conditionalize make_relative_prefix call
233 on !VMS and TARGET_SYSTEM_ROOT_RELOCATABLE. Set
234 target_system_root_changed.
235 (do_spec_1): Add -isysroot to %I.
236 * doc/invoke.texi (Spec Files): Update description of %I.
237 * doc/install.texi (--with-sysroot): Update comment about
238 relocation.
239
4302db79
KH
2402003-02-13 Kazu Hirata <kazu@cs.umass.edu>
241
242 * config/h8300/h8300.md (a peephole2): New.
243
e0d9cc77 2442003-02-13 Robert Lipe <robertlipe@usa.net>
ddb0ae00 245 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
e0d9cc77
RL
246
247 * doc/install.texi (Specific): Update three SCO-related URLs.
248
9fb93b00
AS
2492003-02-13 Andreas Schwab <schwab@suse.de>
250
251 * cgraph.c (SET_NPREDECESORS): Add intermediate cast to size_t.
252 Parenthesize properly.
253 (NPREDECESORS): Parenthesize properly.
254
22ffcc6f
GDR
2552003-02-13 Gabriel Dos Reis <gdr@integrable-solutions.net>
256
257 * timevar.h (POP_TIMEVAR_AND_RETURN): New macro.
258
1fb54135
RS
2592003-02-12 Roger Sayle <roger@eyesopen.com>
260
261 * config/i386/i386.md (UNSPEC_FPATAN): New UNSPEC constant.
262 (atan2sf3, atan2df3, atan2xf3, atan2tf3): New patterns.
263
264 * reg-stack.c (subst_stack_regs_pat): Add support for binary
265 UNSPEC instructions (e.g. "fpatan").
266
19a7414e
MS
2672003-02-12 Mike Stump <mrs@apple.com>
268
269 * varray.c (element_size): Remove.
270 (uses_ggc): Remove.
271 (element): Add.
272 (varray_init): Use new interface.
273 (varray_grow): Use new interface.
274 (varray_clear): Use new interface.
275
e589cc6e
AH
2762003-02-12 Aldy Hernandez <aldyh@redhat.com>
277
ddb0ae00
ZW
278 * config/rs6000/spe.h: Add casts to the arguments of the following
279 macros: evfsabs, evfsnabs, evfsneg, evfsadd, evfssub, evfsmul,
280 evfsdiv, evfscfui, evfscfsi evfscfuf evfscfsf, evfsctui, evfsctsi,
281 evfsctuf, evfsctsf, evfsctuiz, evfsctsiz, __ev_get_upper*,
282 __ev_get_lower*, __ev_get_u32, __ev_get_s32, __ev_get_fs,
283 __ev_get_u16, __ev_get_s16.
e589cc6e 284
2bbfc542
KH
2852003-02-12 Kazu Hirata <kazu@cs.umass.edu>
286
287 * config/h8300/h8300.md (a peephole2): New.
288
e72fcfe8
JH
289Wed Feb 12 22:47:18 CET 2003 Jan Hubicka <jh@suse.cz>
290
291 * Makefile.in (CRTSTUFF_CFLAGS): Add -fno-unit-at-a-time
292 (OBJS): Add callgraph.o
293 (callgraph.o): New.
294 * c-decl.c (expand_body_1): Break out from ...
295 (expand_body): This one; change calling convention
296 (finish_function): Move some of expand_body logic here.
297 (c_expand_deferred_function): Update call of expand_body
298 (c_expand_stmt): Use c_expand_body_1.
299 * c-lang.c (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Define.
300 * c-objc-commin.c (c_objc_common_finish_file): Use callgraph code.
301 * c-tree.h (c_expand_body): Declare.
302 * callgraph.c: New file.
303 * flags.h (flag_unit_at_a_time): Declare.
304 * langhooks.h (LANG_HOOKS_CALLGRAPH_LOWER_FUNCTION,
305 LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION,
306 LANG_HOOKS_CALLGRAPH_INITIALIZER): New macros.
307 * langhooks.h (struct lang_hooks_for_callgraph): New.
308 (struct lang_hooks): Add callgraph field.
309 * toplev.c (flag_unit_at_a_time): New.
310 (lang_independent_options): Add flag_unit_at_a_time.
311 (process_options): Disable unit-at-a-time mode for frontends not
312 supporting callgraph.
313 * tree-inline.c (typedef struct inline_data): Add "decl"
314 (expand_call_inline): Update callgraph.
315 (optimize_inline_calls): Set id.decl.
316 * tree.h (cgraph_finalize_function, cgraph_finalize_compilation_unit,
317 cgraph_create_edges, dump_cgraph, cgraph_optimize, cgraph_remove_call
318 cgraph_calls_p): Declare.
319 * invoke.texi (-funit-at-a-time): Document
320
9037b0c7
AH
3212003-02-12 Aldy Hernandez <aldyh@redhat.com>
322
ddb0ae00
ZW
323 * config/rs6000/spe.h: Fix misc formatting.
324 (__ev_create_ufix32_fs): Cast ev argument.
325 (__ev_create_sfix32_fs): Same.
326 (__ev_get_sfix32_fs_internal): Cast arguments to builtins.
327 (__ev_get_ufix32_fs_internal): Same.
9037b0c7 328
55ae46b1
RM
3292003-02-12 Ranjit Mathew <rmathew@hotmail.com>
330
331 * doc/tm.texi (MODIFY_JNI_METHOD_CALL): Document.
332 * config/i386/cygwin.h (MODIFY_JNI_METHOD_CALL): New macro.
333
3963c2e0
ZW
3342003-02-12 Zack Weinberg <zack@codesourcery.com>
335
336 * cpplib.c (do_include_common): Move warnings for
337 #include_next and #import out to callers. Use early-return
338 instead of nested ifs. Don't do check_eol here.
339 (parse_include): Do check_eol here with the rest of the
340 parsing stuff.
341 (do_include_next, do_import): Now handle warnings.
342
d1a86812
GP
3432003-02-11 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
344
345 * doc/install.texi (Specific): Update AVR- and Darwin-related URLs.
346
6efcd268
JH
347Wed Feb 12 15:19:42 CET 2003 Jan Hubicka <jh@suse.cz>
348
349 * predict.c (estimate_probability): Fix roundoff error.
350
9083b5da
KH
3512003-02-12 Kazu Hirata <kazu@cs.umass.edu>
352
353 * config/h8300/h8300.md (a peephole2): Don't handle 65535.
354 (two peephole2): New.
355
86bc9b19
KH
3562003-02-12 Kazu Hirata <kazu@cs.umass.edu>
357
358 * config/h8300/h8300.md (several peephole2): Replace
359 find_regno_note with peep2_reg_dead_p.
360
ceda50e9
RH
3612003-02-11 Richard Henderson <rth@redhat.com>
362
363 * gcse.c (lookup_set): Remove unused argument PAT. Update
364 both callers.
365
886e0865
GK
3662003-02-11 Geoffrey Keating <geoffk@apple.com>
367
368 * diagnostic.c (real_abort): New.
369 (diagnostic_report_diagnostic): Call real_abort on error.
370 * diagnostic.h (diagnostic_abort_on_error): New.
371 (struct diagnostic_context): Add abort_on_error field.
372 * toplev.c (setup_core_dumping): New.
373 (decode_d_option): Handle 'H' case.
374 * doc/invoke.texi (Debugging Options): Document -dH.
375
76438597
NN
3762003-02-11 Nathanael Nerode <neroden@gcc.gnu.org>
377
378 * Makefile.in: Remove pointless setting of CXXFLAGS for dejagnu
379 which refers to obsolete directories.
380
09b568fc
RH
3812003-02-11 Richard Henderson <rth@redhat.com>
382
383 * config/alpha/linux.h (TARGET_C99_FUNCTIONS): New.
384
8b978a57
JH
385Mon Oct 21 17:07:47 CEST 2002 Jan Hubicka <jh@suse.cz>
386
387 * i386.c (contains_128bit_aligned_vector_p): New function.
388 (ix86_function_arg_boundary): Properly align vector modes.
389
a3259be8
BW
3902003-02-11 Bob Wilson <bob.wilson@acm.org>
391
392 * config/xtensa/xtensa.md (set_frame_ptr): Change rtl to set reg a7.
393 * config/xtensa/xtensa.c (xtensa_reorg): Search for UNSPECV_SET_FP
394 as a SET pattern.
395
da52a069
RS
3962003-02-11 Roger Sayle <roger@eyesopen.com>
397
398 * builtins.c: Fix failure caused by commiting wrong patch.
399
d58f6584
DJ
4002003-02-11 Dale Johannesen <dalej@apple.com>
401 * ra-build.c (compare_and_free_webs): Relax checking.
402 * config/rs6000/darwin.h (HOT_TEXT_SECTION_NAME): Define.
403 (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Define.
404
22fd5743
FH
4052003-02-11 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
406
407 PR optimization/9651
408 * rtlanal.c (may_trap_p): Handle FIX.
409
3462df62
DJ
4102003-02-11 Dave Jones <davej@codemonkey.org.uk>
411
412 * config/i386/i386.c (override_options): Define c3-2 as a 686 with SSE.
413 * doc/invoke.texi: Extra alias.
414
a693fbb9
GK
4152003-02-11 Geoffrey Keating <geoffk@apple.com>
416
417 * config/rs6000/host-darwin.c: Fix comment.
418
bb157ff4
DE
4192003-02-11 David Edelsohn <edelsohn@gnu.org>
420
421 * config/rs6000/rs6000.md (divmodsi4): Use register_operand
422 predicate for mod result.
423
16ddb599
JDA
4242003-02-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
425
426 * inclhack.def (hpux_long_double, hpux10_ctype_declarations1,
427 hpux10_ctype_declarations2, hpux_ctype_macros): New hacks.
428 * fixincl.x: Rebuilt.
429 * tests/base/stdlib.h: Update.
430 * tests/base/ctype.h: New file.
431
6f0d3566
JH
432Tue Feb 11 20:44:45 CET 2003 Jan Hubicka <jh@suse.cz>
433
434 * emit-rtl.c (emit_copy_of_insn_after): Copy insn recog cache too.
435
d0a5295a
RH
4362003-02-11 Richard Henderson <rth@redhat.com>
437
438 * config/i386/i386.c (ix86_expand_movstr): Fail if esi or edi
439 appropriated as globals.
440 (ix86_expand_clrstr): Similarly.
441 * config/i386/i386.md (cmpstrsi): Similarly.
442
9672132f
KH
4432003-02-11 Kazu Hirata <kazu@cs.umass.edu>
444
445 * config/h8300/h8300.md (a peephole2): Add a case of 255.
446
b5e01d4b
RS
4472003-02-11 Roger Sayle <roger@eyesopen.com>
448
449 * optabs.h (enum optab_index): Add new OTI_pow and OTI_atan2.
450 (pow_optab, atan2_optab): Define corresponding macros.
451 * optabs.c (init_optabs): Initialize pow_optab and atan2_optab.
452 * genopinit.c (optabs): Implement pow_optab and atan2_optab
453 using pow?f3 and atan2?f3 patterns.
454 * builtins.c (expand_errno_check): New function to update errno
455 if necessary, split out from expand_builtin_mathfn.
456 (expand_builtin_mathfn): Use expand_errno_check.
457 (expand_builtin_mathfn_2): New function to handle expanding binary
458 math functions, reusing the code in expand_errno_check.
459 (expand_builtin): Handle the pow and atan2 math built-ins,
460 BUILT_IN_{POW,POWF,POWL,ATAN2,ATAN2F,ATAN2L} via the new function
461 expand_builtin_mathfn_2.
462
463 * doc/md.texi: Document new pow?f3 and atan2?f3 patterns.
464
cb119f82
JH
465Tue Feb 11 19:03:22 MET 2003 Jan Hubicka <jh@suse.cz>
466
467 * combine.c (combine_simplify_rtx): Fix folding of
468 nested float_truncates.
469
a05566a3
KH
4702003-02-11 Kazu Hirata <kazu@cs.umass.edu>
471
472 * config/h8300/h8300.md (a peephole2): Fix a typo.
473
20ae4500
RE
4742003-02-11 Richard Earnshaw <rearnsha@arm.com>
475
476 * arm.mc (return_address_mask): Use CC_REGNUM for the condition code
477 register number.
478
717d8b71
KH
4792003-02-11 Kazu Hirata <kazu@cs.umass.edu>
480
481 * config/h8300/h8300-protos.h: Add a prototype for
482 gtuleu_operator.
483 * config/h8300/h8300.c (gtuleu_operator): New.
484 * config/h8300/h8300.h (PREDICATE_CODES): Add gtuleu_operator.
485 * config/h8300/h8300.md (a peephole2): New.
486
e36e8f52
JH
487Tue Feb 11 13:32:12 CET 2003 Jan Hubicka <jh@suse.cz>
488
489 * sched-ebb.c (schedule_ebbs): Do not verify_flow_info.
490
c728da61
JH
491Tue Feb 11 10:02:54 CET 2003 Jan Hubicka <jh@suse.cz>
492
493 * predict.c (choose_function_section): Choose sections correctly.
494
4cc0fdd2
JDA
4952003-02-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
496
497 * reload1.c (first_label_num): New.
498 (reload): Index offsets_known_at and offsets_at using difference of
499 label number and first label number. Don't use offset pointers.
500 (set_label_offsets, set_initial_label_offsets): Likewise.
501
44b1fa11
RS
5022003-02-10 Roger Sayle <roger@eyesopen.com>
503
504 * mips-tfile.c (init_file): Add missing initializers in the
505 "#ifdef __alpha" case.
506 (file_offset, max_file_offset): Declare as unsigned long.
507 (write_varray): Cast to "unsigned long" in comparisons against
508 either file_offset or max_file_offset.
509 (write_object): Likewise.
510 (read_seek): Likewise.
511 (copy_object): Likewise. Declare "ifd" as int to match its use
512 in add_ext_symbol, and avoid signed/unsigned conditional warning.
513
2948ade7 5142003-02-10 Nick Clifton <nickc@redhat.com>
3963c2e0 515 Aldy Hernandez <aldyh@redhat.com>
2948ade7 516
3963c2e0
ZW
517 * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Do not
518 override options which have been specified on the command line.
2948ade7 519
2a4e6df4
KH
5202003-02-10 Kazu Hirata <kazu@cs.umass.edu>
521
522 * config/h8300/h8300.md (abssf2): New.
523 (*abssf2_h8300): Likewise.
524 (*abssf2_h8300hs): Likewise.
525
411e2759
PE
5262003-02-10 Phil Edwards <pme@gcc.gnu.org>
527
528 * tree.c (build_tree_list): Fix parameter names in comment.
529
2b24fc41
JJ
5302003-02-10 Janis Johnson <janis187@us.ibm.com>
531
532 * config/rs6000/ppc64-fp.c: New file.
533 * config/rs6000/t-linux64 (LIB2FUNCS_EXTRA): Add ppc64-fp.c.
534
aa634f11
JZ
5352003-02-10 Josef Zlomek <zlomekj@suse.cz>
536
537 * Makefile.in (bb-reorder.o): Add dependency on $(FIBHEAP_H).
3963c2e0 538 * bb-reorder.c (make_reorder_chain): Deleted.
aa634f11
JZ
539 (make_reorder_chain_1): Deleted.
540 (find_traces): New function.
541 (rotate_loop): New function.
542 (mark_bb_visited): New function.
543 (find_traces_1_round): New function.
544 (copy_bb): New function.
545 (bb_to_key): New function.
546 (better_edge_p): New function.
547 (connect_traces): New function.
548 (copy_bb_p): New function.
549 (get_uncond_jump_length): New function.
550 (reorder_basic_blocks): Use new functions (Software Trace Cache).
551 * cfgcleanup.c (outgoing_edges_match): Enable crossjumping across loop
552 boundaries.
553
17edbda5
AH
5542003-02-10 Aldy Hernandez <aldyh@redhat.com>
555
556 * config/rs6000/rs6000.c (bdesc_2arg): Change spe_evxor to xorv2si3.
557
57116c34
DN
5582003-02-09 Dan Nicolaescu <dann@ics.uci.edu>
559
560 * tree.h (struct tree_decl): Remove unused live_range_rtl field.
3963c2e0 561 (DECL_LIVE_RANGE_RTL): Remove.
57116c34 562
4f448245
NC
5632003-02-10 Nick Clifton <nickc@redhat.com>
564
565 * config/arm/aof.h, config/arm/aout.h, config/arm/arm-modes.def,
566 config/arm/arm-protos.h, config/arm/arm.c, config/arm/arm.h,
567 config/arm/arm.md, config/arm/cirrus.md, config/arm/coff.h,
568 config/arm/conix-elf.h, config/arm/ecos-elf.h, config/arm/elf.h,
569 config/arm/freebsd.h, config/arm/linux-elf.h,
570 config/arm/linux-gas.h, config/arm/netbsd-elf.h,
571 config/arm/netbsd.h, config/arm/pe.c, config/arm/pe.h,
572 config/arm/rtems-elf.h, config/arm/semi.h, config/arm/semiaof.h,
573 config/arm/strongarm-coff.h, config/arm/strongarm-elf.h,
574 config/arm/strongarm-pe.h, config/arm/uclinux-elf.h,
575 config/arm/unknown-elf-oabi.h, config/arm/unknown-elf.h,
576 config/arm/xscale-elf.h: Replace occurances of "GNU CC" with "GCC"
577 and reformat as appropriate.
578
19190d27
KH
5792003-02-10 Kazu Hirata <kazu@cs.umass.edu>
580
581 * config/h8300/clzsi2.c: Remove.
582 * config/h8300/ctzsi2.c: Likewise.
583 * config/h8300/paritysi2.c: Likewise.
584 * config/h8300/popcountsi2.c: Likewise.
585 * config/h8300/t-h8300 (LIB2FUNCS_EXTRA): Remove clzsi2,
586 ctzsi2, paritysi2, and popcountsi2.
587
ecf92f82 5882003-02-10 Eric Botcazou <ebotcazou@libertysurf.fr>
3963c2e0 589 Christian Ehrhardt <ehrhardt@mathematik.uni-ulm.de>
ecf92f82
EB
590
591 PR c/7741
592 * c-decl.c (duplicate_decls): Discard the initializer of the
593 new decl when the types are conflicting.
594
ac5e69da
JZ
5952003-02-10 Josef Zlomek <zlomekj@suse.cz>
596
597 * Makefile.in (sreal.o): Added.
598 (predict.o): Depends on sreal.h instead of real.h.
599 * sreal.c: New file.
600 * sreal.h: New file.
601 * predict.c: Use sreal.c instead of real.c.
602
9b6b54e2
NC
6032003-02-10 Nick Clifton <nickc@redhat.com>
604
605 * Contributed support for the Cirrus EP9312 "Maverick"
606 floating point co-processor. Written by Aldy Hernandez
3963c2e0 607 <aldyh@redhat.com>.
9b6b54e2
NC
608 (config/arm/arm.c): Add Cirrus support.
609 (config/arm/arm.h): Likewise.
610 (config/arm/aout.h): Likewise.
611 (config/arm/arm.md): Likewise.
612 (config/arm/arm-protos.h): Likewise.
613 (config.gcc): Likewise.
614 (doc/invoke.texi): Describe new -mcpu value and new
615 -mcirrus-fix-invalid-insns switch,
616 (cirrus.md): New file.
617
949824fe
JH
618Mon Feb 10 11:40:18 CET 2003 Jan Hubicka <jh@suse.cz>
619
620 * combine.c (combine_simplify_rtx): Simplify using
621 (float_truncate (float x)) is (float x)
622 (float_extend (float_extend x)) is (float_extend x).
623
546ff777
AM
6242003-02-10 Alan Modra <amodra@bigpond.net.au>
625
626 * calls.c (try_to_integrate): Tidy stack_usage_map access.
627 (emit_library_call_value_1): Likewise. Formatting.
628 (store_one_arg): Likewise.
629
626098f9 6302003-02-09 Nick Clifton <nickc@redhat.com>
3963c2e0 631 Aldy Hernandez <aldyh@redhat.com>
626098f9 632
3963c2e0
ZW
633 * config/rs6000/spe.md: spe_evlhhesplat, spe_evlhhossplat,
634 spe_evlhhousplat, spe_evlwhsplat, spe_evlwwsplat, spe_evldd,
635 spe_evldh, spe_evldw, spe_evlwhe, spe_evlwhos, spe_evlwhou,
636 spe_evstdd, spe_evstdh, spe_evstdw, spe_evstdwx, spe_evstwhe,
637 spe_evstwho, spe_evstwwe, spe_evstwwo: Fix syntax to match newest
638 docs. Add range test for immediate value.
626098f9
AH
639
6402003-02-09 Aldy Hernandez <aldyh@redhat.com>
641
3963c2e0
ZW
642 Rename spe_evxor to xorv2si3.
643 (xorv4hi3): New.
644 (xorv1di3): New.
626098f9 645
8d23a2c8 6462003-02-10 Glen Nakamura <glen@imodulo.com>
3963c2e0 647
8d23a2c8
GN
648 * doc/extend.texi (C++98 Thread-Local Edits): Add missing @item
649 tag.
650
fdc4b40b
JH
651Mon Feb 10 00:29:17 CET 2003 Jan Hubicka <jh@suse.cz>
652
653 * i386.c (vector_move_operand): New predicate.
654 (ix86_expand_vector_move): Be happy about 0.
655 * i386.h (PREDICATE_CODES): Add sse-move_operand.
656 * i386.md (mov*_internal): Add 'C' alternative.
657
35c28a13
JH
658Sun Feb 9 23:58:33 CET 2003 Jan Hubicka <jh@suse.cz>
659
660 * i386.md (floathi*): Deal with SSE.
661
852c8ba1
JH
662Sun Feb 9 23:54:59 CET 2003 Jan Hubicka <jh@suse.cz>
663
664 * simplify-rtx.c (simplify_unary_operation,
665 simplify_binary_operation): Deal with vector modes
666 (simplify_ternary_operation): Deal with no-op VEC_MERGE.
667
2382b79f
RS
6682002-02-09 Richard Sandiford <rsandifo@redhat.com>
669
670 * toplev.c (rest_of_compilation): Recompute register usage after
671 split_all_insns.
672
8275b011
RH
6732003-02-09 Richard Henderson <rth@redhat.com>
674
675 * libgcc-std.ver (__clztf2): New.
676 (__ctztf2, __popcounttf2, __paritytf2): New.
677 * libgcc2.c (__clzSI2, __clzDI2, __ctzSI2, __ctzDI2, __popcountSI2,
678 __popcountDI2, __paritySI2, __parityDI2): Use UWmode and UDWmode;
679 adjust code to match the different type sizes.
680 * libgcc2.h (__clzSI2, __ctzSI2, __popcountSI2, __paritySI2,
681 __clzDI2, __ctzDI2, __popcountDI2, __parityDI2): New macros.
682
683 * optabs.c (init_integral_libfuncs): Don't hard-code SImode and
684 TImode; select word_mode and twice that.
685 (init_floating_libfuncs): Don't hard-code SFmode and TFmode;
686 select the modes from float, double, and long double.
687 (init_optabs): Remove duplicate initializations.
688
794aca5d
WB
6892003-02-09 Wolfgang Bangerth <bangerth@ticam.utexas.edu>
690
691 * doc/install.texi: Squeeze and streamline section on
692 testing and regression checking.
693
d9deed68
JH
694Sun Feb 9 13:33:34 CET 2003 Jan Hubicka <jh@suse.cz>
695
696 * i386.md (ahi?v*3): Set third operand type to TImode.
697 * i386.c (ix86_expand_binop_builtin): Extend operand when needed.
698
699 * simplify-rtx.c (simplify_subreg): Fix conversion from vector into
700 integer mode.
701
702 * rtl.def (VEC_MERGE, VEC_SELECT, VEC_CONCAT, VEC_DUPLICATE):
703 Change code so they are arithmetic expressions now.
704 * simplify-rtx.c (simplify_unary_operation, simplify_binary_operation,
705 simplify_ternary_operation): Deal with VEC_* expressions.
706
707 * i386.md (vmaskcmp, pinsrw, movd patterns): Fix RTL representation.
708
83fd323c
JH
709Sat Feb 8 00:21:22 CET 2003 Jan Hubicka <jh@suse.cz>
710
711 * cfgrtl.c (verify_flow_info): Use control_flow_insn_p.
712 * reload1.c (fixup_abnormal_edges): Split basic blocks when EH edges
713 possibly got duplicated.
714
4ee7aa60
RH
7152003-02-08 Richard Henderson <rth@redhat.com>
716
717 * config/alpha/alpha.c (override_options): Turn off explicit
718 relocs until post-peep2 code duplication resolved.
719
c117dddc
KH
7202003-02-08 Kazu Hirata <kazu@cs.umass.edu>
721
722 * optabs.c (expand_unop): Widen clz properly when clz is done
723 via libcall.
724
8aa063fb
KH
7252003-02-08 Kazu Hirata <kazu@cs.umass.edu>
726
727 * config/h8300/clzsi2.c: Replace "GNU CC" with "GCC".
728 * config/h8300/crti.asm: Likewise.
729 * config/h8300/crtn.asm: Likewise.
730 * config/h8300/ctzsi2.c: Likewise.
731 * config/h8300/fixunssfsi.c: Likewise.
732 * config/h8300/h8300-protos.h: Likewise.
733 * config/h8300/h8300.c: Likewise.
734 * config/h8300/h8300.h: Likewise.
735 * config/h8300/h8300.md: Likewise.
736 * config/h8300/paritysi2.c: Likewise.
737 * config/h8300/popcountsi2.c: Likewise.
738 * config/h8300/rtems.h: Likewise.
739
01a132bb
ZD
7402003-02-08 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
741
742 * doc/invoke.texi: Documentation for my previous commit.
743 * doc/passes.texi: Ditto.
744
617b465c
ZD
7452003-02-08 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
746
747 * cfgloop.h (fix_loop_placement, can_duplicate_loop_p,
748 duplicate_loop_to_header_edge, loopify, remove_path, split_loop_bb):
749 Declare.
750 (DLTHE_FLAG_UPDATE_FREQ): New.
751 * cfgloopmanip.c (duplicate_loop, duplicate_subloops, copy_loops_to,
752 loop_redirect_edge, loop_delete_branch_edge, copy_bbs, remove_bbs,
753 rpe_enum_p, find_branch, alp_enum_p, add_loop, fix_loop_placements,
754 fix_bb_placement, fix_bb_placements, place_new_loop,
755 scale_loop_frequencies, scale_bbs_frequencies, record_exit_edges):
756 New static functions.
757 (fix_loop_placement, can_duplicate_loop_p,
758 duplicate_loop_to_header_edge, loopify, remove_path, split_loop_bb):
759 New functions.
760
761 * cfgloop.h (loop_optimizer_init, loop_optimizer_finalize,
762 unswitch_loops): Declare.
763 * loop-init.c: New file.
764 * loop-unswitch.c: New file.
765 * Makefile.in (loop-init.o, loop-unswitch.o): New.
766 * params.def (PARAM_MAX_UNSWITCH_INSNS, PARAM_MAX_UNSWITCH_LEVEL): New.
767 * toplev.c (DFI_loop2): New dump.
768 (flag_unswitch_loops): New.
769 (lang_independent_options): Add it.
770 (rest_of_compilation): Call new loop optimizer.
771 (parse_options_and_default_flags): Turn flag_unswitch_loops on with -O3.
772
3bd03194
KH
7732003-02-08 Kazu Hirata <kazu@cs.umass.edu>
774
775 * config/h8300/clzsi2.c: New.
776 * config/h8300/ctzsi2.c: Likewise.
777 * config/h8300/paritysi2.c: Likewise.
778 * config/h8300/popcountsi2.c: Likewise.
779 * config/h8300/t-h8300 (LIB2FUNCS_EXTRA): Add above files.
780
d865b122
DE
7812003-02-07 David Edelsohn <edelsohn@gnu.org>
782
783 * config/rs6000/rs6000.h (CLZ_DEFINED_VALUE_AT_ZERO): Define.
784 * config/rs6000/rs6000.md (clzsi2): Rename from cntlzw2.
94993909 785 (ctzsi2): New pattern.
d865b122
DE
786 (ffssi2): Use clz instead of unspec.
787 (clzdi2): Rename from cntlzd2.
94993909 788 (ctzdi2): New pattern.
d865b122
DE
789 (ffsdi2): Use clz instead of unspec.
790
8f37dd98
LR
7912003-02-07 Loren James Rittle <ljrittle@acm.org>
792
793 * config/alpha/freebsd.h (LINK_SPEC): Weaken error to notice.
794 * config/ia64/freebsd.h (LINK_SPEC): Likewise.
795 * config/sparc/freebsd.h (LINK_SPEC): Likewise.
796 * config/i386/freebsd.h (LINK_SPEC): Add clause to mirror other arches.
797
83205b9b
WB
7982003-02-07 Wolfgang Bangerth <bangerth@ticam.utexas.edu>
799
800 * doc/trouble.texi: Document pitfalls of two-stage name lookup.
801
710ee3ed
RH
8022003-02-07 Richard Henderson <rth@redhat.com>
803
804 PR 9226
3963c2e0
ZW
805 * gcse.c (local_cprop_find_used_regs): New.
806 (local_cprop_pass): Use it.
710ee3ed 807
3ef879d2
FF
8082003-02-07 Fred Fish <fnf@intrinsity.com>
809
810 * mips-tfile.c (parse_def): Parenthesize assignments to fix
3963c2e0 811 precedence bugs.
3ef879d2 812
a0f0e963 8132003-02-07 Segher Boessenkool <segher@koffie.nl>
3ef879d2 814
3963c2e0 815 * genoutput.c (output_get_insn_name): Handle NOOP_MOVE_INSN_CODE.
a0f0e963 816
46847aa6
RS
8172003-02-07 Roger Sayle <roger@eyesopen.com>
818
819 * builtin-types.def (BT_FN_FLOAT_FLOAT_FLOAT): New built-in type.
820 (BT_FN_LONG_DOUBLE_LONG_DOUBLE_LONG_DOUBLE): Likewise.
821 (BT_FN_DOUBLE_DOUBLE_DOUBLE): Likewise.
822 * builtins.def: Define pow, powf, powl, atan2, atan2f and atan2l
823 builtin functions (and their __builtin_* variants).
824 * builtins.c (mathfn_built_in): Handle missing log{,f,l} cases.
825 (expand_builtin): Don't expand log{,f,l}, pow{,f,l} or atan2{,f,l}
826 when not optimizing.
827
828 * doc/extend.texi: Document new pow and atan2 builtins, and
829 their float and long double variants. Realphabetize builtins.
830
c48d6750
JH
831Fri Feb 7 23:24:28 CET 2003 Jan Hubicka <jh@suse.cz>
832
833 * i386.md (sse2_nandv2di3): Fix.
834
5e062767
DS
8352003-03-07 Danny Smith <dannysmith@users.sourceforge.net>
836
837 * config/i386/i386.h (MS_AGGREGATE_RETURN): New define.
838 * config/i386/cygwin.h (MS_AGGREGATE_RETURN): Override default
839 definition.
840 * config/i386/i386.h (ix86_return_in_memory): Return aggregate
841 types of up to 8 bytes via registers if MS_AGGREGATE_RETURN.
842
3f755ed0
JH
843Fri Feb 7 22:22:40 CET 2003 Jan Hubicka <jh@suse.cz>
844
845 * i386.md (movdi_rex64_1): Fix mmx<->int move opcode.
846
0816bcd2
DB
8472003-02-07 Daniel Berlin <dberlin@dberlin.org>
848
849 * cfg.c (dump_flow_info): Add back accidently deleted line.
850
7bf0a593
AP
8512003-02-07 Andrey Petrov <petrov@netbsd.org>
852
853 * optabs.c (expand_float): Search wider integer modes first.
854
01e4596e
BW
8552003-02-07 Bob Wilson <bob.wilson@acm.org>
856
857 * config/xtensa/xtensa.h (LIBGCC2_WORDS_BIG_ENDIAN): Set this
858 based on preprocessor flag.
859
fbef91d8
RS
8602003-02-07 Roger Sayle <roger@eyesopen.com>
861 Richard Henderson <rth@redhat.com>
862
863 * gcse.c (implicit_sets): New.
864 (compute_hash_table_work): Include them in hash table.
865 (find_implicit_sets, fis_get_condition): New.
866 (one_cprop_pass): Allocate and free implicit_sets; call
867 find_implicit_sets before building hash table.
868
6713831e
JT
8692003-02-07 Jason Thorpe <thorpej@wasabisystems.com>
870
871 * config/t-netbsd (USER_H): Revert previous change.
872
10d2dbe2
GG
8732003-02-07 Gabor Greif <ggreif@lucent.com>
874
875 * doc/c-tree.texi (Namespaces): Fix typo.
876
d1d3c9a6
JH
877Fri Feb 7 02:18:57 CET 2003 Jan Hubicka <jh@suse.cz>
878
879 * regrename.c (do_replace, find_oldest_value_reg,
880 copyprop_hardreg_forward_1): Update register attributes.
881
1b1f249d
VM
8822003-02-06 Vladimir Makarov <vmakarov@redhat.com>
883
884 * genautomata.c (VLA_PTR_CREATE, VLA_PTR_EXPAND, VLA_PTR_ADD,
885 VLA_HWINT_CREATE, VLA_HWINT_EXPAND, VLA_HWINT_ADD): Use temporay
886 variables starting with underscore.
887 (struct unit_usage): New structure.
888 (unit_usages, cycle_alt_unit_usages): New global variables.
889 (check_unit_distribution_in_reserv): Remove it.
890 (store_alt_unit_usage): New function.
891 (check_regexp_units_distribution): Rewrite it.
892
90330d31
JDA
8932003-02-06 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
894
895 * config.gcc (hppa*-*-linux*): Set MASK_NO_SPACE_REGS in
896 target_cpu_default.
897 * pa.c (attr_length_call): Add 8 to call length (long indirect PA 1.X)
898 if not MASK_NO_SPACE_REGS.
899 (output_call): Adjust return pointer, don't load new space register
900 into %sr0, and use %sr4 for call if TARGET_NO_SPACE_REGS is true.
901 (pa_asm_output_mi_thunk): Don't load new space register into %sr0 if
902 TARGET_NO_SPACE_REGS is true.
903 * pa.md (return_external_pic): Add TARGET_NO_SPACE_REGS to insn
904 conditions.
905 (epilogue): Always use return_internal if TARGET_NO_SPACE_REGS is true.
906 (interspace_jump): Add new pattern for when TARGET_NO_SPACE_REGS is
907 true. Use bve when TARGET_64BIT is true.
908
d1164330
RH
9092003-02-06 Richard Henderson <rth@redhat.com>
910
911 * combine.c (nonzero_bits): Fix double break.
912
5fbf0217 9132003-02-06 Eric Botcazou <ebotcazou@libertysurf.fr>
3963c2e0 914 Richard Henderson <rth@redhat.com>
5fbf0217
EB
915
916 PR c/9530
917 * config/i386/i386.c (ix86_function_ok_for_sibcall): Forbid sibcalls
918 from functions that return a float to functions that don't.
919
8f62128d
JH
920Thu Feb 6 00:18:38 CET 2003 Jan Hubicka <jh@suse.cz>
921
922 * i386.c (x86_inter_unit_moves): New variable.
923 (ix86_secondary_memory_needed): Fix 64bit case, honor
924 TARGET_INTER_UNIT_MOVES
925 * i386.h (x86_inter_unit_moves): Declare.
926 (TARGET_INTER_UNIT_MOVES): New macro.
927 * i386.md (movsi_1): Cleanup constraints; disable
928 when not doing inter-unit moves.
929 (movsi_1_nointernunit): New.
930 (movdi_1_rex64): Fix constraints; deal with SSE->GPR moves.
931 (movdi_1_rex64_nointerunit): New.
932 (mivsf_1): disable when not doing inter-unit moves.
933 (movsf_1_nointerunit): New.
934
935 * basic-block.h (inside_basic_block_p): Declare.
936 * cfgbuild.c (inside_basic_block_p): Make global.
937 * haifa-sched.c (unlink_other_notes0: Deal with NOT_INSN_BASIC_BLOCK.
938 * scheudle-ebb.c (schedule_ebb): Return last basic block of trace;
939 update CFG.
940 (fix_basic_block_boundaries, add_missing_bbs): New.
941 (rank): Use profile.
942 (scheudle_ebbs): Rely on CFG; update coments.
943
476d9098
GK
9442003-02-05 Geoffrey Keating <geoffk@apple.com>
945
946 * Makefile.in (host_hook_obj): New.
947 (OBJS): Add $(host_hook_obj).
948 (host_default.o): New rule.
949 * config.gcc (host_hook_obj): New, default to host-default.o.
950 (powerpc-*-darwin*): Use host-darwin.o.
951 (out_host_hook_obj): New.
952 * configure: Regenerate.
953 * configure.in: Print information about out_host_hook_obj, substitute
954 into output files.
955 * host-default.c: New file.
956 * hosthooks.h: New file.
957 * toplev.c (general_init): Call host_hooks.extra_signals.
958 * config/rs6000/host-darwin.c: New file.
959 * config/rs6000/x-darwin: New file.
960 * doc/hostconfig.texi: Add documentation for new host hook.
961 Rearrange existing documentation.
962
69bd9368
RS
9632003-02-05 Roger Sayle <roger@eyesopen.com>
964
965 * dwarf2out.c (mem_loc_descriptor): Replace ASM_SIMPLIFY_DWARF_ADDR
966 with *targetm.delegitimize_address.
967 (rtl_for_decl_location): Likewise.
968 * dwarfout.c (output_mem_loc_descriptor): Likewise. Include target.h.
969 * Makefile.in (dwarf2out.c, dwarfout.c): Depend upon $(TARGET_H)
970
971 * config/i386/i386.h (ASM_SIMPLIFY_DWARF_ADDR): Remove definition.
972 * config/i386/i386-protos.h (i386_simplify_dwarf_addr): Remove
973 prototype.
974 * config/i386/i386.c (ix86_delegitimize_address): Renamed from
975 i386_simplify_dwarf_addr. Made static. Prototyped.
976 (TARGET_DELEGITIMIZE_ADDRESS): Update definition from
977 i386_simplify_dwarf_addr to ix86_delegitimize_address.
978 (ix86_find_base_term): Likewise.
979 (maybe_get_pool_constant): Likewise.
980
981 * config/s390/s390.h (ASM_SIMPLIFY_DWARF_ADDR): Remove definition.
982 * config/s390/s390-protos.h (s390_simplify_dwarf_addr): Remove
983 prototype.
984 * config/s390/s390.c (s390_delegitimize_address): Renamed from
985 s390_simplify_dwarf_addr. Made static. Prototyped.
986 (TARGET_DELEGITIMIZE_ADDRESS): Define as s390_delegitimize_address.
987
7127fd58
RH
9882003-02-05 Richard Henderson <rth@redhat.com>
989
8dde7a2c 990 PR c/8602
3963c2e0
ZW
991 * integrate.c (output_inline_function): Reset input_filename
992 and lineno from the decl before rest_of_compilation.
7127fd58 993
7dba8395
RH
9942003-02-05 Richard Henderson <rth@redhat.com>
995
996 * defaults.h (CLZ_DEFINED_VALUE_AT_ZERO): New.
997 (CTZ_DEFINED_VALUE_AT_ZERO): New.
998 * doc/rtl.texi, doc/tm.texi: Document them.
999
1000 * combine.c (nonzero_bits) [CLZ, CTZ]: Handle the definedness
1001 of the value at zero properly.
1002 * fold-const.c (tree_expr_nonnegative_p): Likewise.
1003 * simplify-rtx.c (simplify_unary_operation): Likewise.
1004
1005 * config/alpha/alpha.h (CLZ_DEFINED_VALUE_AT_ZERO): New.
1006 (CTZ_DEFINED_VALUE_AT_ZERO): New.
1007
1008 * config/arm/arm.c (TARGET_INIT_BUILTINS): Remove.
1009 (TARGET_EXPAND_BUILTIN): Remove.
1010 (def_builtin, arm_init_builtins, arm_expand_builtin): Remove.
1011 * config/arm/arm.h (CLZ_DEFINED_VALUE_AT_ZERO): New.
1012 (enum arm_builtins): Remove.
1013 * config/arm/arm.md (UNSPEC_CLZ): Remove.
1014 (clzsi2): Rename from clz; use clz instead of unspec.
1015 (ctzsi2): New.
1016 * config/arm/arm-protos.h: Update.
1017
8d705469
JH
1018Wed Feb 5 23:12:57 CET 2003 Jan Hubicka <jh@suse.cz>
1019
1020 * i386-protos.h (x86_emit_floatuns): Declare.
1021 * i386.c (x86_emit_floatuns): New global function.
1022 * i386.md (floatunssisf2, floatunsdisf2,
1023 floatunsdidf2): New patterns.
1024
bc810602
ZD
10252003-01-25 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1026
1027 * cfgloopmanip.c (force_single_succ_latches): Fix missindentation.
1028
07938cec
HB
10292003-02-05 Hans Boehm <Hans.Boehm@hp.com>
1030
1031 * config/ia64/unwind-ia64.c: include coretypes.h, tm.h to get
1032 config/ia64/linux.h
1033
ca9398d1
RS
10342002-02-05 Roger Sayle <roger@eyesopen.com>
1035
1036 * cfgloop.h (flow_bb_inside_loop_p): Correct prototype again.
1037
4f6ae35d
JJ
10382003-02-05 Jakub Jelinek <jakub@redhat.com>
1039
1040 PR optimization/8555
1041 * config/i386/i386.md (sse_mov?fcc split): Handle op2 == op3 case
1042 instead of aborting.
1043
8acfdd43
RH
10442003-02-04 Richard Henderson <rth@redhat.com>
1045
1046 * config/i386/i386.md (UNSPEC_BSF): Remove.
1047 (ffssi2): Split into cmove and no_cmove insns and splitters;
1048 lose pentium float trick for now.
1049 (ffssi_1): Add * to name; use CTZ instead of UNSPEC.
1050 (ctzsi2, clzsi2, bsr): New.
1051
c407570a
RH
10522003-02-04 Richard Henderson <rth@redhat.com>
1053
1054 * config/ia64/ia64.c (rtx_needs_barrier): Handle POPCOUNT,
1055 UNSPEC_GETF_EXP; remove UNSPEC_POPCNT.
1056 * config/ia64/ia64.md (UNSPEC_POPCNT): Remove.
1057 (ffsdi2): Use popcount instead of unspec.
1058 (popcountdi2): Rename from *popcnt.
1059 (ctzdi2, clzdi2, getf_exp_tf): New.
1060
4b3cf522
KH
10612003-02-04 Kazu Hirata <kazu@cs.umass.edu>
1062
1063 * genconfig.c (main): Generate CC0_P.
1064 * rtl.h (CC0_P): Remove.
1065
dfff898c
RH
10662003-02-04 Richard Henderson <rth@redhat.com>
1067
1068 * libgcc2.h, libgcc2.c (__ffsSI2): New.
1069 (__ffsDI2): Rename from __ffsdi2.
1070 * mklibgcc.in (lib2funcs): Add _ffssi2.
1071
0c9ed856
RH
10722003-02-04 Richard Henderson <rth@redhat.com>
1073
1074 * libgcc2.c (__paritysi2, __paritydi2): Replace last two reduction
1075 rounds with a "bit table" lookup.
1076
9537511b
UW
10772003-02-04 Ulrich Weigand <uweigand@de.ibm.com>
1078
1079 * reload.c (find_reloads): Do not use the mode specified in the insn
3ef879d2 1080 pattern as reload mode for address operands. Do not generate optional
9537511b
UW
1081 reloads for operands where a mandatory reload was already pushed.
1082
1efd0b97
RH
10832003-02-04 Richard Henderson <rth@redhat.com>
1084
1085 * longlong.h [alpha] (count_leading_zeros, count_trailing_zeros): Use
1086 builtins instead of inline assembly.
1087
087fc75a 10882003-02-04 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
3ef879d2 1089
087fc75a
FH
1090 PR c/9376
1091 * libgcc2.c (__subvdi3): Fix typo.
1092
f0f0d98e
JH
1093Tue Feb 4 21:46:05 CET 2003 Jan Hubicka <jh@suse.cz>
1094
1095 * i386.md (movti_rex64): Fix constraint.
1096
09f26fb5
JH
1097Tue Feb 4 18:40:42 CET 2003 Jan Hubicka <jh@suse.cz>
1098
1099 * i386.md (vector push splitters): Fix typo in resolving conflict.
1100
ff6e2d3e
RB
11012003-02-04 Rodney Brown <rbrown64@csc.com.au>
1102
1103 * config/i386/i386.c (x86_function_profiler): Fix typo in format.
1104
9e80ada7
PE
11052003-02-04 Phil Edwards <pme@gcc.gnu.org>
1106
1107 * doc/install.texi (*-*-linux-gnu): Mention glibc requirements
1108 for recent libstdc++. Remove formatting cruft.
1109
79c758fb
JJ
11102003-02-04 Jakub Jelinek <jakub@redhat.com>
1111
1112 * dwarf2out.c (dwarf2out_finish): Add AT_comp_dir
1113 attribute even if input file name is absolute, but one of the
1114 includes is relative.
1115
b3a8389d
JM
11162003-02-04 Joseph S. Myers <jsm@polyomino.org.uk>
1117
1118 * doc/gcc.texi, doc/gccint.texi, doc/gcov.texi,
1119 doc/include/fdl.texi, doc/invoke.texi: Update to GFDL 1.2.
1120 * doc/install.texi: Update copyright dates. Update to GFDL 1.2.
1121
dabb3f04
RH
11222003-02-03 Richard Henderson <rth@redhat.com>
1123
1124 * libgcc2.c (__ffsdi2, __clzsi2, __clzdi2, __ctzsi2, __ctzdi2,
1125 __popcountsi2, __popcountdi2, __paritysi2, __paritydi2): Change
1126 return type to "int". Shuffle declarations and undef int trap.
1127 * libgcc2.h: Remove their declarations.
1128 * optabs.c (expand_unop): Force outmode to int for bitops.
1129
985d0d50
BW
11302003-02-03 Bob Wilson <bob.wilson@acm.org>
1131
1132 * config/xtensa/xtensa.c (order_regs_for_local_alloc): Order the
1133 coprocessor registers before floating-point registers.
1134 * config/xtensa/xtensa.h (REG_ALLOC_ORDER): Adjust register numbers
1135 to account for a previously removed register.
1136 (SPEC_REG_FIRST, SPEC_REG_LAST, SPEC_REG_NUM, COUNT_REGISTER_REGNUM):
1137 Delete unused macros.
1138
7f0e57bd
JH
1139Mon Feb 3 21:19:11 CET 2003 Jan Hubicka <jh@suse.cz>
1140
1141 * i386.c (ix86_expand_store_builtin): Always force op1 to register.
1142 (mov*_internal): Fix predicates; require one of operands to not be
1143 memory.
1144 (SSE?MMX move expanders): Fix predicates; force one of operands to
1145 register.
1146 (SSE/MMX push patterns): Reorganize; fix x86-64 code generation.
1147 (movups/movupd/movdqu patterns): Force one of operands to not be
1148 memory.
1149
7daebb7a
RS
11502002-02-03 Roger Sayle <roger@eyesopen.com>
1151
1152 * hooks.c (hook_rtx_rtx_identity): Generic hook function that
1153 takes a single rtx and returns it unmodified.
1154 * hooks.h (hook_rtx_rtx_identity): Prototype here.
ff6e2d3e 1155 * target.h (struct gcc_target): Add "delegitimize_address"
7daebb7a
RS
1156 field to target structure.
1157 * target-def.h (TARGET_DELEGITIMIZE_ADDRESS): Provide default
1158 for delegitimize_address target using hook_rtx_rtx_identity.
1159 (TARGET_INITIALIZER): Initialize delegitimize_address field
1160 using TARGET_DELEGITIMIZE_ADDRESS macro.
1161 * simplify-rtx.c (avoid_constant_pool_reference): Handle float
1162 extensions of constant pool references. Use delegitimize_address
1163 to undo the obfuscation of "-fpic".
1164 * Makefile.in (simplify-rtx.o): Add dependency on target.h.
1165
1166 * config/i386/i386.c (TARGET_DELEGITIMIZE_ADDRESS): Define as
1167 i386_simplify_dwarf_addr.
1168 (ix86_find_base_term): Simplify using i386_simplify_dwarf_addr.
1169 (maybe_get_pool_constant): Likewise.
1170
84520a20
JH
1171Mon Feb 3 16:01:17 CET 2003 Jan Hubicka <jh@suse.cz>
1172
1173 * i386.c (ix86_expand_int_movcc): Fix setcc sign bit case.
1174
035b2a34
JH
1175Mon Feb 3 01:30:11 CET 2003 Jan Hubicka <jh@suse.cz>
1176
1177 * regclass.c (cannot_change_mode_set_regs): Correct argument order.
1178
1f143d5a
KG
11792003-02-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1180
1181 * mips/_tilib.c: Don't include tsystem.h or defaults.h. Don't
1182 define LIBGCC2_WORDS_BIG_ENDIAN. Include coretypes.h and tm.h.
1183
4b550d9f
AS
11842003-02-02 Andreas Schwab <schwab@suse.de>
1185
1186 * varasm.c (asm_output_aligned_bss): Declare as possibly unused.
1187
0732a089
RE
11882003-02-02 Richard Earnshaw <rearnsha@arm.com>
1189
1190 * arm.md (sibcall_epilogue): Set the "conds" to "clob".
1191 (epilogue_insns): Likewise.
1192
f269f54f
JDA
11932003-02-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1194
1195 * doc/install.texi (hppa*-hp-hpux11*): Update installation notes.
1196
611ad29e
JDA
11972003-02-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1198
1199 * pa-protos.h (attr_length_millicode_call): Remove second argument.
1200 (attr_length_indirect_call, attr_length_indirect_call,
1201 attr_length_save_restore_dltp): New prototypes.
1202 * pa.c (attr_length_millicode_call): Remove second argument. Check
1203 INSN_ADDRESSES_SET_P in distance calculation.
1204 (output_millicode_call): Check INSN_ADDRESSES_SET_P before using
1205 INSN_ADDRESSES.
1206 (attr_length_call): Check INSN_ADDRESSES_SET_P in distance calculation.
1207 (output_call): Check INSN_ADDRESSES_SET_P before using INSN_ADDRESSES.
1208 Call attr_length_call directly.
1209 (attr_length_indirect_call, output_indirect_call,
1210 attr_length_save_restore_dltp): New functions.
1211 * pa.md (attr_length_millicode_call): Drop second argument from all
1212 patterns.
1213 (return_internal_pic): Delete.
1214 (return_external_pic): Remove use of PIC register and pic operand and
1215 flag checks.
1216 (epilogue): Use return_internal for both normal and pic code.
1217 (call, call_value): Emit new 32-bit pic patterns for symref and
1218 indirect calls. Remove uses for arg pointer and pic register.
1219 (call_symref_pic, call_symref_pic_post_reload, call_reg_pic,
1220 call_reg_pic_post_reload, call_val_symref_pic,
1221 call_val_symref_pic_post_reload, call_val_reg_pic,
1222 call_val_reg_pic_post_reload): New pre and post reload insn patterns.
1223 Implement define_split and define_peephole2 patterns for pre reload
1224 patterns.
1225 (call_symref_64bit, call_internal_reg_64bit, call_value_symref_64bit,
1226 call_value_internal_reg_64bit): Shorten names.
1227 (all call patterns): Explicitly indicate registers used and clobbered.
1228 Use attr_length_indirect_call and attr_length_save_restore_dltp for
1229 attribute length calculation. Move code generation for indirect calls
1230 to output_indirect_call.
1231 (sibcall, sibcall_value): Don't restore PIC register.
1232 (exception_receiver, builtin_setjmp_receiver): Add blockage after PIC
1233 register retore.
1234
8cacda7c
GP
12352003-02-02 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
1236
1237 * doc/install.texi (Testing): Simplify and compress instructions
1238 concerning Dejagnu.
1239
cbc158bb
JDA
12402003-02-01 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1241
1242 * collect2.c (pexecute_pid): Rename to pid.
1243 (collect_wait, collect_execute, scan_prog_file, scan_libraries): Use
1244 pid.
1245
dcef1843
GK
12462003-02-01 Geoffrey Keating <geoffk@apple.com>
1247
1248 * doc/extend.texi (Function Attributes): Remove documentation
1249 for PowerPC Windows NT function attributes..
1250
5d7bed9d
DJ
12512003-02-01 Daniel Jacobowitz <drow@mvista.com>
1252
1253 * dwarf2out.c (gen_type_die): Check for typedefs before calling
1254 for TYPE_MAIN_VARIANT.
1255
53585c36
RH
12562003-02-01 Richard Henderson <rth@redhat.com>
1257
1258 * libgcc2.c: Include auto-host.h.
1259 (ATTRIBUTE_HIDDEN): New.
1260 (__clz_tab): Don't declare here for clz and ctz.
1261 (__clzsi2, __clzdi2): Use count_leading_zeros.
1262 (__ctzsi2, __ctzdi2): Use count_trailing_zeros.
1263 (__popcount_tab): Mark ATTRIBUTE_HIDDEN.
1264 (__paritysi2, __paritydi2): Use shifts instead of __popcount_tab.
1265 * longlong.h (__clz_tab): Mark ATTRIBUTE_HIDDEN.
1266
bc8a6d63
RH
12672003-02-01 Richard Henderson <rth@redhat.com>
1268
1269 * config/i386/i386.md (addsi_1_zext splitter): Add TARGET_64BIT
1270 to the conditional.
1271 (ashlsi3_1_zext splitter): Likewise.
1272
2928cd7a
RH
12732003-02-01 Richard Henderson <rth@redhat.com>
1274
1275 * optabs.c (expand_unop): Use word_mode for outmode of bit scaners.
1276 * libgcc2.c (__ffsdi2, __clzsi2, __clzdi2, __ctzsi2, __ctzdi2,
1277 __popcountsi2, __popcountdi2, __paritysi2 __paritydi2): Change
1278 return type to Wtype.
1279
1280 * libgcc-std.ver (GCC_3.4): Fix inheritance.
1281
1282 * config/i386/i386.md (ffssi2): Use nonimmediate_operand for
1283 expander input constraint.
1284
12852003-02-01 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
1286
ff6e2d3e
RB
1287 * optabs.h (optab_index): Add OTI_clz, OTI_ctz, OTI_popcount and
1288 OTI_parity.
1289 (clz_optab, ctz_optab, popcount_optab, parity_optab): New.
1290 * optabs.c (widen_clz, expand_parity): New.
1291 (expand_unop): Handle clz and parity. Hardcode SImode as outmode
1292 for libcalls to clz, ctz, popcount, and parity.
1293 (init_optabs): Init clz_optab, ctz_optab, popcount_optab and
1294 parity_optab, and set up libfunc handlers.
1295 * libgcc2.c (__clzsi2, __clzdi2, __ctzsi2, __ctzdi2,
1296 __popcountsi2, __popcountdi2, __paritysi2 __paritydi2,
1297 __popcount_tab): New.
1298 * libgcc2.h: Declare them.
1299 * libgcc-std.ver (GCC_3.4): Add new functions from libgcc2.c.
1300 * genopinit.c (optabs): Add clz_optab, ctz_optab, popcount_optab
1301 and parity_optab.
1302 * builtin-types.def (BT_FN_INT_LONG, BT_FN_INT_LONGLONG): New.
1303 * builtins.def (BUILT_IN_CLZ, BUILT_IN_CTZ, BUILT_IN_POPCOUNT,
1304 BUILT_IN_PARITY, BUILT_IN_FFSL, BUILT_IN_CLZL, BUILT_IN_CTZL,
1305 BUILT_IN_POPCOUNTL, BUILT_IN_PARITYL, BUILT_IN_FFSLL,
1306 BUILT_IN_CLZLL, BUILT_IN_CTZLL, BUILT_IN_POPCOUNTLL,
1307 BUILT_IN_PARITYLL): New.
1308 * builtins.c (expand_builtin_unop): Rename from expand_builtin_ffs
1309 and add optab argument.
1310 (expand_builtin): Expand BUILT_IN_{FFS,CLZ,POPCOUNT,PARITY}*.
1311 * tree.def (CLZ_EXPR, CTZ_EXPR, POPCOUNT_EXPR, PARITY_EXPR): New.
1312 * expr.c (expand_expr): Handle them.
1313 * fold-const.c (tree_expr_nonnegative_p): Likewise.
1314 * rtl.def (CLZ, CTZ, POPCOUNT, PARITY): New.
1315 * reload1.c (eliminate_regs): Handle them.
1316 (elimination_effects): Likewise.
1317 * function.c (instantiate_virtual_regs_1): Likewise
1318 * genattrtab.c (check_attr_value): Likewise.
1319 * simplify-rtx.c (simplify_unary_operation): Likewise.
1320 * c-common.c (c_common_truthvalue_conversion): Handle POPCOUNT_EXPR.
1321 * combine.c (combine_simplify_rtx): Handle POPCOUNT and PARITY.
1322 (nonzero_bits): Handle CLZ, CTZ, POPCOUNT and PARITY.
1323 * config/alpha/alpha.md (clzdi2, ctzdi2, popcountdi2): New.
1324 * config/arm/arm.c (arm_init_builtins): Rename __builtin_clz to
1325 __builtin_arm_clz.
1326 * Makefile.in (LIB2FUNCS_1, LIB2FUNCS_2): Move...
1327 * mklibgcc.in (lib2funcs): ...here and merge. Add new members.
1328 * doc/extend.texi (Other Builtins): Add new builtins.
1329 * doc/md.texi (Standard Names): Add new patterns.
2928cd7a 1330
112f7223
UW
13312003-02-01 Ulrich Weigand <uweigand@de.ibm.com>
1332
1333 * reload.c: Revert 2003-01-31 change.
1334
434c87d4
JH
1335Sat Feb 1 14:14:40 CET 2003 Jan Hubicka <jh@suse.cz>
1336
1337 * combine.c (combine_simplify_rtx): Use reversed_comparison_code_parts.
1338
271bd540
RS
13392003-02-01 Richard Sandiford <rsandifo@redhat.com>
1340
1341 * flags.h (flag_volatile): Remove declaration.
1342 (flag_volatile_global, flag_volatile_static): Likewise.
1343 * c-typeck.c (build_indirect_ref): Don't check flag_volatile.
1344 * toplev.c (flag_volatile): Remove definition.
1345 (flag_volatile_global, flag_volatile_static): Likewise.
1346 (f_options): Remove corresponding entries here.
1347 * varasm.c (make_decl_rtl): Don't check flag_volatile_global
1348 or flag_volatile_static.
1349 * doc/invoke.texi: Remove documentation of -fvolatile,
1350 -fvolatile-global and -fvolatile-static.
1351
17e6098e
JDA
13522003-01-31 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1353
1354 * pa.c (pa_output_function_prologue, pa_output_function_epilogue): Move
1355 updating of total_code_bytes from prologue to epilogue.
1356
2f278625
UW
13572003-01-31 Ulrich Weigand <uweigand@de.ibm.com>
1358
1359 * reload.c (find_reloads): Do not use the mode specified in the insn
1360 pattern as reload mode for address operands. Do not generate optional
1361 reloads for operands where a mandatory reload was already pushed.
1362 Generate optional reloads only in the final pass though find_reloads.
1363 (have_replacement_p): New function.
1364
05c425a9
GP
13652003-01-31 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
1366
1367 * doc/install.texi (Testing): Remove a reference to our obsolete
1368 /testresults web pages and strip redundant information concerning
1369 test results.
1370 (Binaries): Refer to Microsoft Windows instead of listing all
1371 possible variants.
1372
b0c42aed
JH
1373Sat Feb 1 00:28:30 CET 2003 Jan Hubicka <jh@suse.cz>
1374
1375 * loop.c (emit_prefetch_instructions): Do conversion at right place in
1376 RTL chain.
1377
1378 * combine.c (simplify_set): Reverse order of ragumetns to
1379 REG_CANNOT_CHANGE_MODE_P
1380 * df.c (df_def_record_1): Likewise.
1381 * recog.c (register_operand): Likewise.
1382 * simplify-rtx.c (simplify_subreg): Likewise.
1383 * hard-reg-set.h (REG_CANNOT_CHANGE_MODE_P): Update use of
1384 CANNOT_CHANGE_MODE_CLASS.
1385 * regclass.c (cannot_change_mode_set_regs, invalid_mode_change_p):
1386 Likewise.
1387 * reload.c (push_reload): Likewise.
1388 * alpha.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
1389 * ia64.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
1390 * mips.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
1391 * mips-protos.h (mips_cannot_change_mode_class): Update prototype.
1392 * mips.c (mips_cannot_change_mode_class): Update.
1393 * pa64-regs.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
1394 * rs6000.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
1395 * s390.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
1396 * sh.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
1397 * sh-protos.h (sh_cannot_change_mode_class): Update prototype.
1398 * sh.c (sh_cannot_change_mode_class): Update.
1399 * i386.h (CANNOT_CHANGE_MODE_CLASS): New.
1400 * tm.texi (CANNOT_CHANGE_MODE_CLASS): Update documentation.
1401
1f61a15d
GK
14022003-01-31 Geoffrey Keating <geoffk@apple.com>
1403
1404 * config/darwin.h (LINK_COMMAND_SPEC): Update for Nathan's recent
1405 change to LINK_COMMAND_SPEC in gcc.c.
1406
7c712dcc
LR
14072003-01-31 Jan Hubicka <jh@suse.cz>
1408
1409 PR c/9506
1410 * i386.c (override_options): Use DEFAULT_PCC_STRUCT_RETURN.
1411
e137391e
JDA
14122003-01-31 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1413
1414 * pa32-regs.h (REGNO_REG_CLASS, REG_CLASS_FROM_LETTER): Delete
1415 duplicated code.
1416
1824b90d
NS
14172003-01-31 Nathan Sidwell <nathan@codesourcery.com>
1418
1419 * tree.h (TYPE_BINFO_SIZE, TYPE_BINFO_SIZE_UNIT): Remove.
1420 (BINFO_ELTS): New #define.
1421 * stor-layout.c (finalize_record_size): Don't set them.
1422 * cp/cp-tree.h (BINFO_SUBVTT_INDEX, BINFO_VPTR_INDEX,
1423 BINFO_PRIMARY_BASE_OF): Use BINFO_ELTS.
1424 (BINFO_LANG_ELTS): New #define.
1425 * cp/tree.c (make_binfo): Use BINFO_LANG_ELTS.
1426 * java/class.c (make_class): Use BINFO_ELTS.
1427 (set_super_info): Likewse.
1428 (add_interface_do): Likewise.
1429 * objc/objc-act.c (start_class): Use BINFO_ELTS.
1430
8f9a402c
DS
14312003-01-31 Danny Smith <dannysmith@users.sourceforge.net>
1432
1433 * timevar.c (getrusage): Don't ever declare if not HAVE_GETRUSAGE.
1434 (times): Don't ever declare if not HAVE_TIMES.
1435 (clock): Don't ever declare if not HAVE_CLOCK.
1436
cdd1f01b
RH
14372003-01-30 Richard Henderson <rth@redhat.com>
1438
1439 * flow.c (update_life_info): Zap life info after cleanup_cfg.
1440 (regno_uninitialized): Use correct live at function entry set.
1441 (regno_clobbered_at_setjmp): Likewise.
1442
1443 * expr.c (store_expr): Promote all MEM intermediates to regs.
1444
6bc82793
KH
14452003-01-30 Kazu Hirata <kazu@cs.umass.edu>
1446
1447 * config/arm/arm.c: Fix comment typos.
1448 * config/arm/arm.h: Likewise.
1449 * config/arm/netbsd-elf.h: Likewise.
1450 * config/arm/netbsd.h: Likewise.
1451
f099d360
GK
14522003-01-30 Geoffrey Keating <geoffk@apple.com>
1453
1454 * gengtype.c (struct walk_type_data): Add needs_cast_p.
1455 (walk_type): Set needs_cast_p in walk_type_data.
1456 (write_types_process_field): Supply casts when required to suppress
1457 warnings.
1458 (write_root): Cast gt_pch_n_S to suppress warning.
1459 * Makefile.in: Remove -Wno-error from gtype-desc.o and c-decl.o.
f099d360
GK
1460 * config/rs6000/rs6000.c (print_operand): Mask off high bits only
1461 when they might exist.
1462 * config/rs6000/t-rs6000: Remove -Wno-error from varasm.o,
1463 insn-conditions.o, and rs6000.o.
1464
52895e1a
RH
14652003-01-30 Richard Henderson <rth@redhat.com>
1466
1467 * ggc-page.c (G.context_depth_allocations): New.
1468 (G.context_depth_collections): New.
1469 (alloc_page): Set G.context_depth_allocations.
1470 (ggc_collect): Set G.context_depth_collections.
1471 (ggc_push_context): Limit to HOST_BITS_PER_LONG contexts.
1472 (ggc_pop_context): Early exit for no allocations or collections.
1473
c35c7e52
RH
14742003-01-30 Richard Henderson <rth@redhat.com>
1475
1476 * tree-inline.c (walk_tree): Streamline duplicate hash table lookup.
1477
e43dd89d
RE
14782003-01-30 Richard Earnshaw <rearnsha@arm.com>
1479
1480 * arm.c (arm_compute_initial_elimination_offset): If optimizing for
1481 size, the link register is always saved if any other register is
1482 saved.
1483
87a902e4
KH
14842003-01-30 Kazu Hirata <kazu@cs.umass.edu>
1485
1486 * config/h8300/h8300-protos.h: Update the prototype for
1487 compute_plussi_cc.
1488 (cpp_reader): Declare before it is used.
1489 * config/h8300/h8300.c (compute_plussi_cc): Change the return
1490 type to int.
1491 * config/h8300/h8300.md (monitor_prologue): Call abort() if we
1492 see an unknown H8 variant.
1493
14942003-01-30 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
0186a143 1495
ff6e2d3e 1496 PR target/9316
0186a143
RC
1497 * config/rs6000/rtems.h: Add CPP_OS_DEFAULT_SPEC.
1498 * config/rs6000/sysv4.h: Add CPP_OS_RTEMS_SPEC.
1499 * config/rs6000/t-rtems: New file. multilib variants to match OS.
1500 * config.gcc (powerpc-*-rtems*): Use rs6000/t-rtems instead of
1501 rs6000/t-ppcgas so we get the desired multilibs.
1502
f55d7103
NC
15032003-01-30 Nick Clifton <nickc@redhat.com>
1504
1505 * config/arm/arm.c (arm_output_epilogue): Update stack pointer
1506 when popping saved IP register off the stack.
1507
b6d08ca1
KH
15082003-01-30 Kazu Hirata <kazu@cs.umass.edu>
1509
1510 * config/rs6000/aix43.h: Fix comment typos.
1511 * config/rs6000/aix51.h: Likewise.
1512 * config/rs6000/aix52.h: Likewise.
1513 * config/rs6000/altivec.h: Likewise.
1514 * config/rs6000/rs6000.c: Likewise.
1515 * config/rs6000/rs6000.h: Likewise.
1516 * config/rs6000/rs6000.md: Likewise.
1517 * config/rs6000/spe.md: Likewise.
1518
14d22dd6
MM
15192003-01-29 Mark Mitchell <mark@codesourcery.com>
1520
1521 * c-common.c (builtin_define_float_constants): Define
1522 __<TYPE>_HAS_INFINITY__ and __<TYPE>_HAS_QUIET_NAN__.
1523
825db093
KH
15242003-01-30 Kazu Hirata <kazu@cs.umass.edu>
1525
1526 * config/sh/lib1funcs.asm: Fix comment typos.
1527 * config/sh/linux.h: Likewise.
1528 * config/sh/sh.c: Likewise.
1529 * config/sh/sh.md: Likewise.
1530
f1d5271a
LR
15312003-01-30 Loren James Rittle <ljrittle@acm.org>
1532
1533 * objc/Make-lang.in (objc-parse.y): Find c-parse.in in $(srcdir).
1534
266a9ef1
AO
15352003-01-30 Alexandre Oliva <aoliva@redhat.com>
1536
1537 * config/fp-bit.h (__make_dp): Declare if TMODES.
1538
0889116d
KH
15392003-01-29 Kazu Hirata <kazu@cs.umass.edu>
1540
1541 * config/h8300/h8300.h (PREDICATE_CODES): Add entries for
1542 general_operand_src and general_operand_dst.
1543
c8c99a68
DE
15442003-01-29 David Edelsohn <edelsohn@gnu.org>
1545
1546 * config/rs6000/rs6000.c (function_arg_pass_by_reference):
1547 Return true for variable sized types.
1548 (rs6000_va_arg): Handle variable sized types passed by reference
1549 on non-SVR4 ABI.
1550
ccf4d512
RE
15512003-01-29 Richard Earnshaw <rearnsha@arm.com>
1552
1553 * arm.c (arm_legtimize_address): New function.
1554 * arm-protos.h (arm_legtimize_address): Add prototype.
1555 * arm.h (ARM_LEGITIMIZE_ADDRESS): Use arm_legitimize_address.
1556 (LEGITIMIZE_ADDRESS, THUMB_LEGITIMIZE_ADDRESS): Wrap with
1557 do ... while (0)
1558
0889116d 15592003-01-29 Joel Sherrill <joel@OARcorp.com>
0680c8fb 1560
7429b411 1561 PR bootstrap/9296
0680c8fb 1562 * gthr-rtems.h: Define __GTHREAD_MUTEX_INIT. Apparently no code
7429b411 1563 depended on it being defined until now.
0680c8fb 1564
7429b411 15652003-01-29 Joel Sherrill <joel@OARcorp.com>
c934274a 1566
7429b411 1567 PR target/9295
c934274a
JS
1568 * config/mips/rtems.h: Predefine __USE_INIT_FINI__ so generic
1569 RTEMS code knows which C++ initialization style the toolset
7429b411 1570 configuration is using.
c934274a 1571
0889116d 15722003-01-29 Joel Sherrill <joel@OARcorp.com>
2e327e6e 1573
7429b411 1574 PR bootstrap/9293
ff6e2d3e 1575 * config/m68k/t-crtstuff: Replace spaces with tabs, add
2e327e6e 1576 $(MULTILIB_CFLAGS) as compiler option and multilib crtbegin/end.o.
2e327e6e 1577
0889116d 15782003-01-29 Joel Sherrill <joel@OARcorp.com>
64abe03e 1579
7429b411 1580 PR bootstrap/9292
64abe03e
JS
1581 * config.gcc (hppa1.1-rtems): Did not include t-rtems nor enable
1582 RTEMS threads.
1583 * config/pa/rtems.h (LIB_SPEC): Use -N when linking.
64abe03e 1584
2f12fb2b
NC
15852003-01-29 Nick Clifton <nickc@redhat.com>
1586
1587 * Makefile.in (c-parse.o): Locate source file in $(parsedir)
1588 not $(srcdir).
1589
cf0150b9
AH
15902003-01-29 Andrew Haley <aph@redhat.com>
1591
1592 * tree-inline.c (walk_tree): Add CHAR_TYPE.
1593
9b74f3ea
JH
1594Wed Jan 29 10:26:12 CET 2003 Jan Hubicka <jh@suse.cz>
1595
1596 * i386.md (subdi3_carry_rex64): Fix typo.
1597
e150159c
SS
15982003-01-28 Stan Shebs <shebs@apple.com>
1599
1600 * coretypes.h (cpp_reader): Forward declare struct.
1601 * c-pragma.h (cpp_reader): Remove forward declaration.
1602 * hashtable.h (cpp_reader): Likewise.
1603 * scan.h (cpp_reader): Likewise.
1604 * tree.h (cpp_reader): Likewise.
1605 * config/darwin-protos.h (cpp_reader): Likewise.
1606 * config/arm/arm-protos.h (cpp_reader): Likewise.
1607 * config/rs6000/rs6000-protos.h: Remove GCC_CPPLIB_H ifdef, use
1608 struct cpp_reader in prototypes.
1609
53b50ac1
CC
16102003-01-28 Christian Cornelssen <ccorn@cs.tu-berlin.de>
1611
1612 * doc/install.texi: Add documentation for installation into
1613 tooldirs and with DESTDIR.
1614
021aa6ed
RH
16152003-01-28 Richard Henderson <rth@redhat.com>
1616
1617 * config.gcc (ia64*-*-aix*): Remove.
1618 * config/ia64/aix.h, config/ia64/t-aix: Remove file.
1619 * config/ia64/unwind-aix.c: Remove file.
1620
c1c1d123
AS
16212003-01-28 Andreas Schwab <schwab@suse.de>
1622
ff6e2d3e
RB
1623 * config/m68k/m68k.md (tablejump+2): Don't sign extend an address
1624 register.
1625 * config/m68k/apollo68.h (ASM_RETURN_CASE_JUMP): Likewise.
1626 * config/m68k/coff.h (ASM_RETURN_CASE_JUMP): Likewise.
1627 * config/m68k/linux.h (ASM_RETURN_CASE_JUMP): Likewise.
1628 * config/m68k/m68kelf.h (ASM_RETURN_CASE_JUMP): Likewise.
1629 * config/m68k/mot3300.h (ASM_RETURN_CASE_JUMP): Likewise.
1630 * config/m68k/netbsd-elf.h (ASM_RETURN_CASE_JUMP): Likewise.
1631 * config/m68k/pbb.h (ASM_RETURN_CASE_JUMP): Likewise.
c1c1d123 1632
6d09ef27
RS
16332003-01-28 Richard Sandiford <rsandifo@redhat.com>
1634
1635 * combine.c (nonzero_bits): Fix check for negative divide operands.
1636
1e1bd14e
RH
16372003-01-28 Richard Henderson <rth@redhat.com>
1638
1639 * config/ia64/ia64.c (ia64_rwreloc_section_type_flags): New.
1640 * config/ia64/hpux.h (TARGET_SECTION_TYPE_FLAGS): New.
1641
e37135f7
RH
16422003-01-28 Richard Henderson <rth@redhat.com>
1643
1644 * cse.c (find_best_addr): Kill !ADDRESS_COST code.
1645
75642f32
RH
1646 * config/cris/cris.c (cris_address_cost): Make static.
1647 (TARGET_RTX_COSTS, TARGET_ADDRESS_COST): New.
1648 * config/cris/cris.h (ADDRESS_COST): Remove.
1649 * config/cris/cris-protos.h: Update.
1650
e37135f7 16512003-01-23 Mike Stump <mrs@apple.com>
1f80c9ef
MS
1652
1653 * regclass.c (init_reg_autoinc): New function.
1654 (regclass): Move initialization of forbidden_inc_dec_class from
1655 here...
1656 (init_regs): to here. Avoids reinitialization for each function,
1657 saving compilation time.
1658
9fbd3e41
JM
16592003-01-28 Jason Merrill <jason@redhat.com>
1660
1661 * cpplib.h (struct cpp_options): Add warn_deprecated field.
1662 * cppinit.c (cpp_create_reader): Turn it on by default.
1663 * c-opts.c (c_common_decode_option): Set it.
1664 * cpplib.c (do_pragma_once): Only complain about #pragma once
1665 if warn_deprecated is set.
1666
fe352c29 16672003-01-28 Dale Johannesen <dalej@apple.com>
9fbd3e41 1668
1e1bd14e
RH
1669 * emit-rtl.c (const_double_htab_hash): Use mode in the hash.
1670 * loop.c (scan_loop): Move movables on -Os rich-register targets.
1671 * config/rs6000/rs6000.md (sibcall*): Use match_operand for LR.
fe352c29 1672
dcefdf67
RH
16732003-01-28 Richard Henderson <rth@redhat.com>
1674
1675 * target.h (targetm.address_cost): New.
1676 * target-def.h (TARGET_ADDRESS_COST): New.
1677 (TARGET_RTX_COSTS): Uncomment. Oops.
1678 * cse.c (address_cost): Use new target hook.
1679 (default_address_cost): New.
1680 * output.h (default_address_cost): Declare.
1681 * hooks.c (hook_int_rtx_0): New.
1682 * hooks.h (hook_int_rtx_0): Declare.
1683 * loop.c (combine_givs_p): Remove if 0 code.
1684 * system.h (ADDRESS_COST): Poison.
1685
1686 * config/alpha/alpha.c, config/alpha/alpha.h, config/d30v/d30v.c,
1687 config/d30v/d30v.h, config/ia64/ia64.c, config/ia64/ia64.h,
1688 config/m32r/m32r.c, config/m32r/m32r.h, config/mcore/mcore.c,
1689 config/mcore/mcore.h, config/mmix/mmix.c, config/mmix/mmix.h,
1690 config/rs6000/rs6000.c, config/rs6000/rs6000.h, config/sparc/sparc.c,
1691 config/sparc/sparc.h, config/v850/v850.c, config/v850/v850.h,
1692 config/xtensa/xtensa.c, config/xtensa/xtensa.h
1693 (TARGET_ADDRESS_COST): Define as hook_int_rtx_0.
1694 (ADDRESS_COST): Remove.
1695
1696 * config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h,
1697 config/avr/avr-protos.h, config/avr/avr.c, config/avr/avr.h,
1698 config/c4x/c4x-protos.h, config/c4x/c4x.c, config/c4x/c4x.h,
1699 config/dsp16xx/dsp16xx-protos.h, config/dsp16xx/dsp16xx.c,
1700 config/dsp16xx/dsp16xx.h, config/i386/i386-protos.h,
1701 config/i386/i386.c, config/i386/i386.h, config/i960/i960-protos.h,
1702 config/i960/i960.c, config/i960/i960.h, config/ip2k/ip2k-protos.h,
1703 config/ip2k/ip2k.c, config/ip2k/ip2k.h, config/mips/mips-protos.h,
ff6e2d3e 1704 config/mips/mips.c, config/mips/mips.h,
dcefdf67 1705 config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c,
ff6e2d3e 1706 config/m68hc11/m68hc11.h, config/ns32k/ns32k-protos.h,
dcefdf67
RH
1707 config/ns32k/ns32k.c, config/ns32k/ns32k.h, config/pa/pa-protos.h,
1708 config/pa/pa.c, config/pa/pa.h, config/s390/s390-protos.h,
1709 config/s390/s390.c, config/s390/s390.h, config/vax/vax-protos.h,
1710 config/vax/vax.c, config/vax/vax.h
1711 (foo_address_cost): Make static.
1712 (TARGET_ADDRESS_COST): New.
1713 (ADDRESS_COST): Remove.
1714
1715 * config/arm/arm.h, config/arm/arm.c, config/m88k/m88k.h,
1716 config/m88k/m88k.c, config/romp/romp.h, config/romp/romp.c,
1717 config/sh/sh.c, config/sh/sh.h, config/stormy16/stormy16.c,
1718 config/stormy16/stormy16.h
1719 (ADDRESS_COST): Move code ...
1720 (foo_address_cost): ... here.
1721 (TARGET_ADDRESS_COST): New.
1722
1723 * config/m32r/m32r.c (m32r_address_cost): Remove.
1724 * config/m32r/m32r-protos.h: Update.
1725
1726 * config/mmix/mmix.c (mmix_address_cost): Remove.
1727 * config/mmix/mmix-protos.h: Update.
1728
1729 * config/mn10300/mn10300.c (mn10300_address_cost_1): Rename from
1730 mn10300_address_cost; move unsig allocation ...
1731 (mn10300_address_cost): ... here.
1732 (TARGET_ADDRESS_COST): New.
1733 * config/mn10300/mn10300-protos.h: Update.
1734 * config/mn10300/mn10300.h (ADDRESS_COST): Remove.
1735
75642f32
RH
1736 * doc/tm.texi: Update.
1737
58fb7809
VM
17382003-01-28 Vladimir Makarov <vmakarov@redhat.com>
1739
1740 * haifa-sched.c (schedule_insn): Return necessary cycle advance
1741 after issuing the insn.
1742 (rank_for_schedule): Make a insn with /S the highest priority
1743 insn.
1744 (move_insn): Ignore schedule groups. Clear SCHED_GROUP_P.
1745 (choose_ready): Check SCHED_GROUP_P.
1746 (schedule_block): Advance cycle after issuing insn if it is
1747 necessary. Don't reorder insns if there is an insn with /S.
1748 (set_priorities): Ignore schedule groups.
1749
1750 * sched-deps.c (remove_dependence, group_leader): Remove the
1751 functions.
1752 (add_dependence): Ignore schedule groups.
1753 (set_sched_group_p): Don't make copy of dependencies from previous
1754 insn of the schedule group. Add anti-dependency to the previous
1755 insn of the schedule group.
1756 (compute_forward_dependences): Ignore schedule groups.
1757
1758 * sched-ebb.c (init_ready_list): Ignore schedule groups.
1759
1760 * sched-rgn.c (init_ready_list): Ditto.
1761 (can_schedule_ready_p): Ditto.
ff6e2d3e 1762
371c988b
VM
17632003-01-28 Vladimir Makarov <vmakarov@redhat.com>
1764
1765 * config/i386/i386.md (*movsi_1): Use movdqa to move one xmm
1766 register to another one.
1767
40cdfd5a
RH
17682003-01-28 Richard Henderson <rth@redhat.com>
1769
1770 * calls.c (default_must_pass_in_stack): Fix typo in !type case.
1771
a77b7e32
RS
17722003-01-28 Roger Sayle <roger@eyesopen.com>
1773
1774 * cse.c (cse_insn): Avoid redundant REG_EQUAL notes.
1775
3620944c
RS
17762003-01-28 Richard Sandiford <rsandifo@redhat.com>
1777
1778 * config/sh/sh.h (CLASS_MAX_NREGS): If TARGET_SHMEDIA, and the given
1779 class contains a floating-point register, return the size of the
1780 mode in half words.
1781
e6e81735
JH
1782Tue Jan 28 12:15:13 CET 2003 Jan Hubicka <jh@suse.cz>
1783
1784 * i386.c (ix86_carry_flag_operator): New predicate.
1785 (fcmov_operator): Fix whitespace.
1786 (ix86_expand_carry_flag_compare): Deal with floating point.
1787 (ix86_expand_int_movcc): Deal with fp; update insn expansion
1788 (ix86_expand_int_addcc): Likewise.
1789 (ix86_expand_strlensi_unroll_1): likewsie.
1790 * i386.h (PREDICATE_CODES): Add ix86_carry_flag_operator.
1791 * i386.md (add?i_carry_rex64): Use new predicate.
1792 (sub?i3_carry_rex64): Likewise.
1793 (x86_mov?icc_0_m1*): Likewise.
1794
43196589
AS
17952003-01-28 Andreas Schwab <schwab@suse.de>
1796
32214c32
AS
1797 * cfgloopmanip.c (create_preheader): Initialize src to avoid
1798 warning.
1799
1800 * expmed.c (emit_store_flag): Fix cast to avoid sign
1801 comparison warning.
1802
43196589
AS
1803 * combine.c (force_to_mode): Add cast to fix warning when
1804 STORE_FLAG_VALUE is negative.
1805
3c50106f
RH
18062003-01-27 Richard Henderson <rth@redhat.com>
1807
1808 * Makefile.in (cse.o): Depend on TARGET_H.
1809 * cse.c (rtx_cost): Use targetm.rtx_costs.
1810 * system.h (CONST_COSTS RTX_COSTS DEFAULT_RTX_COSTS): Poison.
1811 * doc/tm.texi: Update.
ff6e2d3e 1812
3c50106f
RH
1813 * target.h (targetm.rtx_costs): New.
1814 * target-def.h (TARGET_RTX_COSTS): New.
1815 * hooks.c (hook_bool_rtx_int_int_intp_false): New.
1816 * hooks.h: Update.
1817
1818 * config/alpha/alpha.c (alpha_rtx_cost_data): New.
1819 (alpha_rtx_costs, TARGET_RTX_COSTS): New.
1820 * config/alpha/alpha.h (PROCESSOR_MAX): New.
1821 (CONST_COSTS, RTX_COSTS): Remove.
1822
1823 * config/arc/arc.c, config/arc/arc.h, config/c4x/c4x.c,
1824 config/c4x/c4x.h, config/cris/cris.c, config/cris/cris.h,
1825 config/d30v/d30v.c, config/d30v/d30v.h, config/dsp16xx/dsp16xx.c,
1826 config/dsp16xx/dsp16xx.h, config/frv/frv.c, config/frv/frv.h,
1827 config/h8300/h8300.c, config/h8300/h8300.h, config/i370/i370.c,
1828 config/i370/i370.h, config/i386/i386.c, config/i386/i386.h,
1829 config/i960/i960.c, config/i960/i960.h, config/ia64/ia64.c,
1830 config/ia64/ia64.h, config/m32r/m32r.c, config/m32r/m32r.h,
1831 config/m68k/m68k.c, config/m68k/m68k.h, config/m88k/m88k.c,
1832 config/m88k/m88k.h, config/mcore/mcore.c, config/mcore/mcore.h,
1833 config/mips/mips.c, config/mips/mips.h, config/mn10200/mn10200.c,
1834 config/mn10200/mn10200.h, config/mn10300/mn10300.c,
1835 config/mn10300/mn10300.h, config/ns32k/ns32k.c, config/ns32k/ns32k.h,
1836 config/pa/pa.c, config/pa/pa.h, config/pdp11/pdp11.c,
1837 config/pdp11/pdp11.h, config/romp/romp.c, config/romp/romp.h,
1838 config/rs6000/rs6000.c, config/rs6000/rs6000.h, config/s390/s390.c,
1839 config/s390/s390.h, config/sh/sh.c, config/sh/sh.h,
1840 config/stormy16/stormy16.c, config/stormy16/stormy16.h,
1841 config/v850/v850.c, config/v850/v850.h,
1842 config/xtensa/xtensa.c, config/xtensa/xtensa.h
1843 (CONST_COSTS, RTX_COSTS): Move code ...
1844 (foo_rtx_costs, TARGET_RTX_COSTS): ... here.
1845
1846 * config/arm/arm.c (arm_rtx_costs_1): Rename from arm_rtx_costs.
1847 (arm_rtx_costs, TARGET_RTX_COSTS): New.
1848 * config/arm/arm-protos.h: Update.
1849 * config/arm/arm.h (DEFAULT_RTX_COSTS): Remove.
1850
1851 * config/avr/avr.h (CONST_COSTS): Move code ...
1852 * config/avr/avr.c (avr_rtx_costs): ... here.
1853 (default_rtx_costs): Make static.
1854 * config/avr/avr-protos.h: Update.
1855
1856 * config/h8300/h8300.c (const_costs): Make static.
1857 (h8300_and_costs, h8300_shift_costs): Likewise.
1858 * config/h8300/h8300-protos.h: Update.
1859
1860 * config/ip2k/ip2k.h (DEFAULT_RTX_COSTS): Remove.
1861 (CONST_COSTS): Move code ...
1862 * config/ip2k/ip2k.c (ip2k_rtx_costs): ... here. Rename from
1863 default_rtx_costs; update for signature change.
1864 * config/ip2k/ip2k-protos.h: Update.
1865
1866 * config/m68hc11/m68hc11.h (RTX_COSTS): Remove.
1867 (CONST_COSTS): Move code ...
1868 * config/m68hc11/m68hc11.c (m68hc11_rtx_costs): ... here.
1869 (TARGET_RTX_COSTS): New.
1870 (m68hc11_rtx_costs_1): Rename from m68hc11_rtx_costs; make static.
1871 * config/m68hc11/m68hc11-protos.h: Update.
1872
1873 * config/m68k/m68k.c (const_int_cost): Make static.
1874 * config/m68k/m68k-protos.h: Update.
1875
1876 * config/mcore/mcore.c (mcore_const_costs): Make static.
1877 (mcore_and_cost, mcore_ior_cost): Likewise.
1878 * config/mcore/mcore-protos.h: Update.
1879
1880 * config/mmix/mmix.c (mmix_rtx_costs, TARGET_RTX_COSTS): New.
1881 (mmix_rtx_cost_recalculated): Remove.
1882 * config/mmix/mmix.h (DEFAULT_RTX_COSTS): Remove.
1883 * config/mmix/mmix-protos.h: Update.
1884
1885 * config/sh/sh.c (shiftcosts): Make static.
1886 (addsubcosts, andcosts, multcosts): Likewise.
1887 * config/sh/sh-protos.h: Update.
1888
1889 * config/sparc/sparc.c (TARGET_RTX_COSTS): New.
1890 (sparc_rtx_costs): Make static; update for change in signature.
1891 * config/sparc/sparc.h (RTX_COSTS_CASES, RTX_COSTS): Remove.
1892 * config/sparc/sparc-protos.h: Update.
1893
1894 * config/v850/v850.c (const_costs): Make static.
1895 * config/v850/v850-protos.h: Update.
1896
1897 * config/vax/vax.h (RTX_COSTS): Remove.
1898 (CONST_COSTS): Move code ...
1899 * config/vax/vax.c (vax_rtx_costs_1): ... here; rename
1900 from vax_rtx_cost.
1901 (vax_rtx_costs, TARGET_RTX_COSTS): New.
1902
b9962e0a
RH
19032003-01-27 Richard Henderson <rth@redhat.com>
1904
1905 * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Remove. Really.
5ca98980 1906 * config/vax/vax-protos.h: Update. Really.
b9962e0a 1907
8a381273
AO
19082003-01-28 Alexandre Oliva <aoliva@redhat.com>
1909
1910 * config/mips/mips.h (UNITS_PER_HWFPVALUE): Renamed from...
1911 (UNITS_PER_FPVALUE): Defined as the width of a long double, or
1912 zero if no hardware floating point.
1913 (LONG_DUBLE_TYPE_SIZE): Set to 128 on N32 and N64.
1914 (MAX_FIXED_MODE_SIZE): Define to LONG_DOUBLE_TYPE_SIZE.
1915 (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define.
1916 (BIGGEST_ALIGNMENT): Same as LONG_DOUBLE_TYPE_SIZE.
1917 (FUNCTION_VALUE_REGNO_P): Set for FP_RETURN+2 on N32 and N64.
1918 * config/mips/mips.c (mips_arg_info): Pass TFmode values in
1919 even FP registers on N32 and N64.
1920 (mips_setup_incoming_varargs): Use UNITS_PER_HWFPVALUE.
1921 (mips_va_start): Adjust alignment of ARG_POINTER_REGNUM.
1922 (mips_va_arg): Use UNITS_PER_HWFPVALUE. Impose additional
1923 even-register-like alignment to 128-bit arguments.
1924 (save_restore_insns): Use UNITS_PER_HWFPVALUE.
1925 (mips_function_value): Likewise. Return TFmode in $f0 and $f2
1926 on N32 or N64.
1927 * config/mips/_tilib.c (__negti2, __ashlti3, __lshrti3): New.
1928 * config/mips/t-iris6 (LIB2FUNCS_EXTRA): Add _tilib.c.
1929 (TPBIT): Set to tp-bit.c.
1930 (tp-bit.c): Create out of fp-bit.c.
1931
820e01be
GDR
19322003-01-28 Gabriel Dos Reis <gdr@integrable-solutions.net>
1933
1934 * c-parse.in: Remove '%expect 32' directive in objc mode.
1935
23af32e6
NS
19362003-01-27 Nathan Sidwell <nathan@codesourcery.com>
1937
1938 * Makefile.in (LIB2FUNCS_ST): Remove _gcov.
1939 (LIBGCOV): New variable.
1940 (libgcc.mk): Add LIBGCOV.
1941 (LIBGCC_DEPS): Add libgcov.c.
1942 (libgcov.a): New target.
1943 (clean): Remove libgcov.a.
1944 (install-libgcc): Do libgcov too.
1945 (stage1-start, stage2-start, stage3-start, stage4-start): Deal
1946 with libgcov.a.
1947 * libgcc2.c (L_gcov): Move into ...
1948 * libgcov.c: ... here. New file.
1949 * mklibgcc.in: Add libgcov rules.
1950 * gcc.c (LINK_COMMAND_SPEC): Add -lgcov when profiling.
1951
1952 * doc/invoke.texi (profile-arcs, test-coverage): Update and
1953 clarify.
ff6e2d3e 1954
23af32e6
NS
1955 * profile.c (index_counts_file): Remove duplicate check for open file.
1956
9fe42917 19572003-01-27 Jerry Quinn <jlquinn@optonline.net>
d4463dfc
JQ
1958
1959 * gcc/doc/invoke.texi (Optimization Options): Group together
1960 optional and experimental flags. Move trapv and bounds-check
95fcd0ab 1961 out of this section. Group floating point flags together.
d4463dfc
JQ
1962 (Code Gen Options): Move trapv and bounds-check to here.
1963
244d05fb
JZ
19642003-01-27 Josef Zlomek <zlomekj@suse.cz>
1965
1966 * gcse.c (constprop_register): Check NEXT_INSN (insn) != NULL.
1967
c552c146
RE
19682003-01-27 Richard Earnshaw <rearnsha@arm.com>
1969
1970 PR optimization/9090
1971 * function.c (purge_addressof_1): After pushing an addressed register
1972 onto the stack, simplify the result.
1973
90a21764
VR
19742003-01-27 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
1975
1976 * doc/extend.texi: Fix typo.
1977
9a376494
VR
19782003-01-27 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
1979
1980 * doc/cppopts.texi: Fix typo.
1981 * doc/objc.texi: Likewise.
1982 * doc/passes.texi: Likewise.
1983
f004e5f3
AO
19842003-01-27 Alexandre Oliva <aoliva@redhat.com>
1985
1986 * real.c (ibm_extended_format): Add 53 to minimum exponent.
1987 (encode_ibm_extended): Adjust.
1988
58c60e52
GDR
19892003-01-26 Gabriel Dos Reis <gdr@soliton.integrable-solutions.net>
1990
1991 * timevar.def (TV_OVERLOAD, TV_TEMPLATE_INSTANTIATION): New
1992 timevar_id enumerations.
1993
e869aa39
KH
19942003-01-26 Kazu Hirata <kazu@cs.umass.edu>
1995
1996 * combine.c: Fix formatting.
1997
74fb4811
KH
19982003-01-26 Kazu Hirata <kazu@cs.umass.edu>
1999
2000 * doc/gccint.texi: Update the copyright.
2001
3bcf1b13
KH
20022003-01-26 Kazu Hirata <kazu@cs.umass.edu>
2003
2004 * doc/cpp.texi: Fix typos.
2005 * doc/extend.texi: Likewise.
2006 * doc/gty.texi: Likewise.
2007 * doc/install.texi: Likewise.
2008 * doc/passes.texi: Likewise.
2009 * doc/rtl.texi: Likewise.
2010 * doc/tm.texi: Likewise.
2011
9e4f94de
KH
20122003-01-26 Kazu Hirata <kazu@cs.umass.edu>
2013
2014 * config/ia64/fde-glibc.c: Fix comment typos.
2015 * config/ia64/hpux.h: Likewise.
2016 * config/ia64/ia64.c: Likewise.
2017 * config/ia64/ia64.h: Likewise.
2018 * config/ia64/unwind-ia64.c: Likewise.
2019
4aae8a9a
KH
20202003-01-26 Kazu Hirata <kazu@cs.umass.edu>
2021
2022 * config/i386/i386-modes.def: Fix comment typos.
2023 * config/i386/i386.c: Likewise.
2024 * config/i386/i386.md: Likewise.
2025
35d8c8e2
SB
20262003-01-26 Steven Bosscher <s.bosscher@student.tudelft.nl>
2027
2028 * config/avr/avr.h, config/cris/aout.h, config/elfos.h,
2029 config/i386/freebsd-aout.h, config/mips/iris6.h: Undefine
2030 ASM_FINISH_DECLARE_OBJECT before defining it.
2031 * toplev.c (rest_of_decl_compilation): Don't define
2032 ASM_FINISH_DECLARE_OBJECT. Only use it if it is defined.
2033 (rest_of_type_compilation): Don't ATTRIBUTE_UNUSED function
2034 parameters for DWARF2 targets because they _are_ used.
2035
ea976606
AO
20362003-01-26 Alexandre Oliva <aoliva@redhat.com>
2037
b44cf3d9
AO
2038 * fp-bit.h: Define macros for TFmode floating-point constants
2039 in IBM-extended TFmode types.
2040 (TMODES): Define if __LDBL_MANT_DIG__ has the newly-supported
2041 widths.
2042 * config/fp-bit.c (pack_d, unpack_d): Support IBM-extended
2043 TFmode type.
2044
ea976606
AO
2045 * config/fp-bit.h: Define macros for TFmode floating-point
2046 constants in IEEE quad TFmode type. Declare functions according
2047 to L_ macros.
2048 (TMODES): Define if __LDBL_MANT_DIG__ is 113.
2049 (TFtype, TItype, UTItype): Define if TMODES is defined.
2050 (MAX_UDI_INT, MAX_DI_INT, BITS_PER_DI): Likewise.
2051 (F_T_BITOFF, D_T_BITOFF): Define.
2052 (IMPLICIT_1, IMPLICIT_2): Cast constants to types that are
2053 guaranteed to be wide enough.
2054 * config/fp-bit.c: Check for L_ macros for tf functions.
2055 (__thenan_tf): New.
2056 (nan): Adjust.
2057 (pack_d, unpack_d): Support IEEE 854 quad type.
2058 (_fpmul_parts): Support TFmode. Compute exponent adjustment
2059 from FRAC_NBITS, FRAC_BITS and NGARDS.
2060 (usi_to_float): Cast constants to be shifted to fractype
2061 instead of assuming long long is wide enough.
2062 (sf_to_tf, df_to_tf, __make_tp, tf_to_df, tf_to_sf): New.
2063
fd7fd61e
AJ
20642003-01-26 Andreas Jaeger <aj@suse.de>
2065
2066 * df.c: Remove prototype of unused function df_regno_rtl_debug.
2067
8ae91fc0
AO
20682003-01-26 Alexandre Oliva <aoliva@redhat.com>
2069
88e83acb
AO
2070 * Makefile.in (FPBIT_FUNCS): Added _sf_to_tf.
2071 (DBBIT_FUNCS): Added _df_to_tf.
2072 (TPBIT_FUNCS): New.
2073 (libgcc.mk): Pass TPBIT and TPBIT_FUNCS down.
2074 (LIBGCC_DEPS): Added TPBIT.
2075 * mklibgcc.in: Support TPBIT and TPBIT_FUNCS.
2076
2cd622c3
AO
2077 * optabs.c (expand_binop) <add, sub>: Return xtarget if we haven't
2078 been able to move the result to target.
2079
8ae91fc0
AO
2080 * expr.c (emit_group_store): Initialize dst with CONST0_RTX
2081 for the appropriate mode.
2082
c3297561
AO
2083 * calls.c (emit_library_call_value_1): Handle return values
2084 in a PARALLEL.
2085
187515f5
AO
2086 * rtl.c (get_mode_alignment): Moved to...
2087 * stor-layout.c: ... here.
2088
6ebd2ef4
AO
2089 * print-rtl.c (print_rtx): Don't print MEM details in
2090 GENERATOR_FILEs.
2091
7890e8f3
MH
20922003-01-26 Michael Hayes <mph@paradise.net.nz>
2093
2094 * df.h: Update comments, tidy formatting.
2095 (DF_FORWARD, DF_REVERSE, DF_UNION, DF_INTERSECTION): Rename from FORWARD,
2096 REVERSE, UNION, INTERSECTION. All uses updated.
2097 (OLD_DF_INTERFACE): Remove.
2098 (struct insn_info): Remove commented out insn field.
2099 * df.c: Update comments, tidy formatting.
2100 (df_def_table_realloc): Remove.
2101
2102
b820d2b8
AM
21032003-01-26 Alan Modra <amodra@bigpond.net.au>
2104
2105 * calls.c (save_fixed_argument_area): Tidy.
2106 (restore_fixed_argument_area): Tidy. Set alignment of stack_area.
2107 (expand_call): Comment typo fixes. Don't init low_to_save. Start
2108 call chain loop at 1 if !try_tail_call. Formatting.
2109 (emit_library_call_value_1): Don't init low_to_save or high_to_save.
2110 Use save_fixed_argument_area and restore_fixed_argument_area.
2111
42510de4
MH
21122003-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
2113
2114 * df.c (df_uses_record): Handle CC0.
2115
acf9fa5f
UW
21162003-01-25 Ulrich Weigand <uweigand@de.ibm.com>
2117
1e1bd14e
RH
2118 * reload.c (maybe_memory_address_p): New function.
2119 (find_reloads_address): Use it instead of memory_address_p.
acf9fa5f 2120
5a09edba
KK
21212003-01-25 Kaz Kojima <kkojima@gcc.gnu.org>
2122
2123 * final.c (shorten_branches): Align the address of code label
1e1bd14e 2124 when computing initial lengths and addresses.
5a09edba 2125
f5818c0c
KH
21262003-01-25 Kazu Hirata <kazu@cs.umass.edu>
2127
2128 * config/m68hc11/m68hc11.md: Fix a comment typo.
2129
21ff35fb
AJ
21302003-01-25 Andreas Jaeger <aj@suse.de>
2131
2132 * config/i386/i386.c (x86_output_mi_thunk): Correct test for
2133 TARGET_MACHO.
2134
7821bfc7
RS
21352003-01-25 Roger Sayle <roger@eyesopen.com>
2136
2137 * gcse.c (bypass_last_basic_block): New global variable.
2138 (bypass_block): Use redirect_edge_and_branch_force to redirect
2139 fall-through edges. Use bypass_last_basic_block to determine
2140 which blocks have valid PRE information.
2141 (bypass_conditional_jumps): Initialize bypass_last_basic_block.
2142
5f0bea72
JH
2143Sat Jan 25 22:31:59 CET 2003 Jan Hubicka <jh@suse.cz>
2144
2145 * gcse.c (local_cprop_pass): Update reg_sets table when needed.
2146
1649d92f
JH
2147Sat Jan 25 21:04:33 CET 2003 Jan Hubicka <jh@suse.cz>
2148 Eric Botcazou <ebotcazou@libertysurf.fr>
2149 PR opt/8492
2150 * gcse.c (one_cprop_pass): Delete unreachable blocks.
2151
6ca86a1a
RH
21522003-01-25 Richard Henderson <rth@redhat.com>
2153
2154 * config/ia64/ia64.c (ia64_rwreloc_select_rtx_section): Rename
2155 from ia64_aix_select_rtx_section.
2156 (ia64_rwreloc_select_section): Simlarly; use default*_1 function
2157 instead of saving and restoring flag_pic.
2158 (ia64_rwreloc_unique_section): Similarly.
2159 * config/ia64/aix.h (TARGET_ASM_SELECT_SECTION,
2160 TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_RTX_SECTION): Update.
2161 * config/ia64/hpux.h (TARGET_ASM_SELECT_SECTION,
2162 TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_RTX_SECTION): New.
2163
aa2fb4dd
KH
21642003-01-25 Kazu Hirata <kazu@cs.umass.edu>
2165
2166 * config/h8300/h8300.c (h8300_shift_needs_scratch_p): Update a
2167 comment.
2168
1125849a
RH
21692002-01-25 Richard Henderson <rth@redhat.com>
2170
2171 * config/m68k/m68k-none.h (ASM_SPEC): Adjust inter-option spacing.
2172
3900a23b
KC
21732002-01-25 Kelley Cook <kelleycook@comcast.net>
2174
2175 * ggc-simple.c (debug_ggc_tree): Add PTR cast.
2176
72e42e26
SB
21772003-01-25 Segher Boessenkool <segher@koffie.nl>
2178
2179 * bitmap.h (BITMAP_WORD): New typedef: fundamental storage
2180 type for bitmaps. Use unsigned long.
2181 (nBITMAP_WORD_BITS): New macro.
2182 (BITMAP_WORD_BITS): New macro.
2183 (rest of file): Use it.
2184 * bitmap.c: Use it.
2185
8324663f
RH
21862003-01-25 Richard Henderson <rth@redhat.com>
2187
2188 2002-02-19 Robert Lipe <robertlipe@usa.net>
2189 * config/i386/t-sco5gas: (CRTSTUFF_T_CFLAGS_S): Delete -mcoff.
2190
2adc9b0f
RS
21912002-01-25 Roger Sayle <roger@eyesopen.com>
2192
2193 * builtins.c (purge_builtin_constant_p): Scan insn stream
2194 sequentially rather than by basic block.
2195 * function.c (purge_addressof): Simplify test with INSN_P.
2196
ad487c38
KH
21972003-01-25 Kazu Hirata <kazu@cs.umass.edu>
2198
8324663f 2199 * combine.c (simplify_comparison, case AND): Remove a redundant test.
ad487c38 2200
07d9b20d
RS
22012002-01-25 Roger Sayle <roger@eyesopen.com>
2202
2203 * function.h (struct function): New field calls_constant_p.
2204 (current_function_calls_constant_p): New macro for above.
2205 * function.c (prepare_function_start): Initialize calls_eh_return
2206 and calls_constant_p.
2207 * builtins.c (expand_builtin_constant_p): Set calls_constant_p.
2208 * toplev.c (rest_of_compilation): Only call purge_builtin_constant_p
2209 when the current_function_calls_constant_p.
2210 * integrate.c (expand_inline_function): Set calls_constant_p if
2211 the function being inlined has calls_constant_p set.
2212
41559112
RS
22132002-01-25 Roger Sayle <roger@eyesopen.com>
2214
2215 * cse.c (fold_rtx): Instantiate CONSTANT_P_RTX to 0 when not
2216 optimizing, even if flag_gcse is true.
2217 * toplev.c (rest_of_compilation): purge_builtin_constant_p
2218 only needs to be called when "optimize > 0 && flag_gcse".
2219
9bb231fd
RS
22202003-01-25 Roger Sayle <roger@eyesopen.com>
2221
2222 * stmt.c (emit_case_bit_tests): New routine to implement suitable
2223 switch statements using the equivalent of "if ((1<<x) & cst) ... ".
2224 (case_bit_test_cmp): New comparison function for "qsort" to order
2225 case_bit_tests by decreasing number of destination nodes.
2226 (lshift_cheap_p): New function to determine if "1 << x" is cheap.
2227 (expand_end_case_type): Use emit_case_bit_tests to implement
2228 suitable switch statments.
2229 (CASE_USE_BIT_TESTS): New target macro to disable the above.
2230 * Makefile.in (stmt.o): Add dependency on optab.h.
2231 * doc/tm.texi (CASE_USE_BIT_TESTS): Document new target macro.
2232
a073323c
AS
22332003-01-23 Andreas Schwab <schwab@suse.de>
2234
2235 * config/ia64/crtend.asm [HAVE_INITFINI_ARRAY]: Make
2236 __do_global_ctors_aux hidden global and don't put it in
2237 .init_array.
2238 * config/ia64/crtbegin.asm [HAVE_INITFINI_ARRAY]: Put it here
2239 instead so that it comes first.
2240
36ddc6b0
JH
2241Sat Jan 25 16:11:22 CET 2003 Jan Hubicka <jh@suse.cz>
2242
2243 * df.c (read_modify_subreg_p): When osize == UNITS_PER_WORD,
2244 subreg is read/modify.
2245
26771da7
JH
2246Sat Jan 25 15:55:08 CET 2003 Jan Hubicka <jh@suse.cz>
2247
2248 * i386.c (ix86_expand_movstr, ix86_expand_clrstr): Consistently
2249 do libcall for large blocks.
2250 * i386.md (comi patterns): Set type to ssecomi.
2251 (sse2_unpck?pd): Fix mode of vec_select.
2252
2253 * cse.c: Include except.h
2254 (cse_set_around_loop): Do not create new basic blocks.
2255 * Makefile.in (cse.o): Add dependnecy on except.h
2256
27a6aa72
JH
2257Sat Jan 25 12:05:17 CET 2003 Jan Hubicka <jh@suse.cz>
2258
2259 * builtins.c (fold_trunc_transparent_mathfn): New function.
2260 (fold_builtin): Use it.
2261 * convert.c (convert_to_real): Re-enable code to convert
2262 math functions; add support for floor familly functions.
2263
cd68f4e4
ZD
22642003-01-25 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2265
2266 * Makefile.in (cfgloop.o, cfgloopanal.o, cfgloopmanip.o): Add
2267 dependencies on coretypes.h and $(TM_H).
2268
67945f2e
JH
2269Sat Jan 25 11:10:03 CET 2003 Jan Hubicka <jh@suse.cz>
2270
2271 * builtins.c (fold_trunc_transparent_mathfn): Undo accidental commit.
2272
095fa594
SH
22732002-01-24 Stuart Hastings <stuart@apple.com>
2274
08f0414b 2275 * config/i386/i386.c (x86_output_mi_thunk): Add Darwin/x86 support.
095fa594 2276
1e4c04e0
MH
22772003-01-25 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
2278
2279 * config/c4x/c4x.md (UNSPEC_BU): New constants.
2280 (UNSPEC_RPTS, UNSPEC_LSH, UNSPEC_CMPHI, UNSPEC_RCPF): Likewise.
2281 (UNSPEC_RND, UNSPEC_RPTB_FILL, UNSPEC_LOADHF_INT): Likewise.
2282 (UNSPEC_STOREHF_INT, UNSPEC_RSQRF, UNSPEC_LOADQF_INT): Likewise.
2283 (UNSPEC_STOREQF_INT, UNSPEC_LDIV, UNSPEC_PUSH_ST): Likewise.
2284 (UNSPEC_POP_ST, UNSPEC_PUSH_DP, UNSPEC_POP_DP): Likewise.
2285 (UNSPEC_POPQI, UNSPEC_POPQF, UNSPEC_ANDN_ST): Likewise.
2286 (UNSPEC_RPTB_INIT, UNSPEC_TOIEEE, UNSPEC_FRIEEE): Likewise.
2287
a560d4d4
JH
2288Fri Jan 24 23:44:12 CET 2003 Jan Hubicka <jh@suse.cz>
2289
08f0414b 2290 * emit-rtl.c (reg_attrs_htab): New static variable.
a560d4d4
JH
2291 (reg_attrs_htab_hash, reg_attrs_htab_eq, get_reg_attrs): New static
2292 functions.
2293 (reg_rtx): Do not maintain regno_decl.
2294 (gen_rtx_REG_offset, set_reg_attrs_from_mem, set_delc_rtx,
2295 set_mem_attrs_from_reg): New global function.
2296 (init_emit): Do not initialize regno_decl.
2297 (init_emit_once): initialize reg_attrs_htab.
2298 * final.c (alter_subreg): Do not replace REG by SUBREG.
2299 (gen_mem_expr_from_op): Improve output.
2300 (output_asm_operands): Likewise.
2301 * function.c (assign_params): Do not set REGNO_DECL.
2302 * function.h (struct function): Kill regno_decl.
2303 (REGNO_DECL): Kill.
2304 * gengtype.c (adjust_field_rtx_def): Handle new field of reg.
2305 * print_rtl.c (print_rtx): Output REG information.
2306 * regclass.c (reg_scan_mark_refs): Update attrs.
2307 * reload1.c (alter_reg): Likewise.
2308 * simplify_rtx.c (simplify_subreg): Likewise.
2309 * stmt.c (expand_decl): Likewise.
2310 * rtl.def (REG): Add new field.
2311 * rtl.h (struct reg_attrs): New.
2312 (rtunion_def): At rtreg.
2313 (X0MEMATTR): Add checking.
2314 (X0REGATTR, REG_ATTRS, REG_EXPR, REG_OFFSET): New macro.
2315 (set_reg_attrs_from_mem, set_mem_attrs_from_reg, gen_rtx_REG_offset):
2316 Declare.
2317 * tree.h (SET_DECL_RTL): Call set_decl_rtl.
2318
1d0ea52e
BW
23192003-01-24 Bob Wilson <bob.wilson@acm.org>
2320
2321 * config/xtensa/xtensa.c: Remove unused include of machmode.h.
2322 (xtensa_emit_call, print_operand): Fix printf format strings
2323 to avoid compile warnings.
2324 (xtensa_function_prologue, xtensa_function_epilogue): Change type
2325 of "size" argument to HOST_WIDE_INT to fix compile warnings.
2326 * config/xtensa/xtensa-protos.h
2327 (xtensa_function_prologue, xtensa_function_epilogue): Ditto.
2328
272f51a3
JH
2329Fri Jan 24 23:03:32 CET 2003 Jan Hubicka <jh@suse.cz>
2330
2331 * builtins.c (DEF_BUILTIN): Accept 10 arguments.
2332 (implicit_built_in_decls): New global array.
2333 (mathfn_built_in): New global function.
2334 (fold_trunc_transparent_mathfn): New static function
2335 (expand_builtin_strstr, expand_bultin_strchr,
2336 expand_builtin_strpbrk, expand_builtin_strcpy,
2337 expand_builtin_strncpy, expand_bultin_strcmp,
2338 expand_bultin_strncat, expand_builtin_fputs): Use
2339 implicint_built_in_decls.
2340 (fold_builtin): Fold floor/trunc/round/ceil/nearbyint.
2341 * builtins.def: Fix comments.
2342 (DEF_GCC_BUILTIN, DEF_FALLBACK_BUILTIN, DEF_EXT_FALLBACK_BUILTIN,
2343 DEF_LIB_BUILTIN, DEF_LIB_ALWAYS_BUILTIN, DEF_EXT_LIB_BUILTIN,
2344 DEF_C99_BULTIN, DEF_FRONT_END_LIB_BUILTIN,
2345 DEF_EXT_FRONT_END_LIB_BUILTIN): Pass implicit as needed.
2346 (DEF_C99_C90RES_BULTIN): New.
2347 (*f, *l builtins): Update.
2348 * c-common.c (DEF_BUILTIN): Initialize implicit array.
2349 (c_expand_builtin_printf, c_expand_builtin_fprintf): Update.
2350 * convert.c (strip_float_extensions): New global function.
2351 * tree.h (DEF_BUILTIN): Accept 10 arguments.
2352 (implicit_built_in_decls, mathfn_built_in, strip_float_extension):
2353 Declare.
2354 * java/builtins.c (define_builtin): Handle implicit.
2355 (DEF_BUILTIN): Update.
2356 * tm.texi (TARGET_C99_FUNCTIONS): Document.
2357 * defaults.h (TARGET_C99_FUNCTIONS): Default to 0.
2358 * config/linux.h (TARGET_C99_FUNCTIONS): Default to 1
2359 when using glibc2.
2360
1f37a5b2
BW
23612003-01-24 Bob Wilson <bob.wilson@acm.org>
2362
2363 * config.gcc (xtensa-*-elf*): Removed assignments to with_newlib,
2364 extra_parts, and fixincludes. Add xtensa/t-elf tmake_file.
2365 (xtensa-*-linux*): Add xtensa/t-linux tmake_file.
2366 * config/xtensa/crti.asm: New file.
2367 * config/xtensa/crtn.asm: New file.
2368 * config/xtensa/t-elf: New file.
2369 * config/xtensa/t-linux: New file.
2370 * config/xtensa/t-xtensa: Add rules for crti.o and crtn.o.
2371 Move various CFLAGS settings to new t-elf file.
2372
84f5e1b1
RH
23732003-01-24 Richard Henderson <rth@redhat.com>
2374
2375 PR optimization/4382
2376 * tree-inline.c (find_builtin_longjmp_call_1): New.
2377 (find_builtin_longjmp_call): New.
2378 (inlinable_function_p): Use it.
2379
09b2e78d
ZD
23802003-01-24 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2381
2382 * config/i386/i386-protos.h (function_arg_pass_by_reference): Declare.
2383 * config/i386/i386.h (FUNCTION_ARG_PASS_BY_REFERENCE): Use it.
2384 * config/i386/i386.c (function_arg_pass_by_reference): New.
2385 (ix86_va_arg): Support arguments passed by reference.
2386
3d436d2a
ZD
23872003-01-24 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2388
2389 * cfgloopanal.c: New file.
2390 * cfgloopmanip.c: New file.
2391 * Makefile.in (cfgloopanal.o, cfgloopmanip.o): New.
2392 (toplev.o, loop.o, doloop.o, unroll.o, cfgloop.o, predict.o,
2393 cfglayout.o): Add dependency on cfgloop.h.
2394 (cfgloop.o): Add flags.h dependency.
2395 * basic-block.h (BB_IRREDUCIBLE_LOOP, BB_SUPERBLOCK): New flags.
2396 (VLS_EXPECT_PREHEADERS, VLS_EXPECT_SIMPLE_LATCHES): Removed.
2397 (struct loop, struct loops, flow_loops_find, flow_loops_update,
2398 flow_loops_free, flow_loops_dump, flow_loop_dump,
2399 flow_loop_scan, flow_loop_tree_node_add, flow_loop_tree_node_remove,
2400 LOOP_TREE,,LOOP_PRE_HEADER, LOOP_ENTRY_EDGES, LOOP_EXIT_EDGES,
2401 LOOP_ALL, flow_loop_outside_edge_p, flow_loop_nested_p,
2402 flow_bb_inside_loop_p, get_loop_body, loop_preheader_edge,
2403 loop_latch_edge, add_bb_to_loop, remove_bb_from_loops,
2404 find_common_loop, verify_loop_structure): Declarations moved to ...
2405 * cfgloop.h: New file.
2406 * bb-reorder.c (reorder_basic_blocks): Modified.
2407 * cfglayout.c: Include cfgloop.h.
2408 (cleanup_unconditional_jumps, cfg_layout_redirect_edge,
2409 cfg_layout_duplicate_bb, cfg_layout_initialize): Update loop structure.
2410 (break_superblocks): New static function.
2411 (cfg_layout_finalize): Use it.
2412 (cfg_layout_split_block): New function.
2413 * cfglayout.h (struct reorder_block_def): Add copy and duplicated
2414 fields.
2415 (cfg_layout_initialize, cfg_layout_redirect_edge): Declaration
2416 changed.
2417 (cfg_layout_split_block): Declare.
2418 * cfgloop.c: Include cfgloop.h and flags.h.
2419 (flow_loop_dump, flow_loops_free, flow_loop_exit_edges_find,
2420 get_loop_body): Avoid signed versus unsigned comparison warnings.
2421 (make_forwarder_block, flow_loops_find, loop_preheader_edge,
2422 loop_latch_edge): Modified.
2423 (verify_loop_structure): Modified to use flags stored in loop structure;
2424 check irreducible loops.
2425 (cancel_loop, cancel_loop_tree): New functions.
2426 (estimate_probability): Use loop analysis code for predictions.
2427 (estimate_loops_at_level): Avoid signed versus unsigned comparison
2428 warnings.
2429 * doloop.c: Include cfgloop.h.
2430 * loop.c: Include cfgloop.h.
2431 * predict.c: Include cfgloop.h.
2432 * toplev.c: Include cfgloop.h.
2433 * unroll.c: Include cfgloop.h.
2434 * tracer.c (tracer): Modified.
2435
a38b3eea
KH
24362003-01-24 Kazu Hirata <kazu@cs.umass.edu>
2437
2438 * config/h8300/h8300.c (get_shift_alg): Fix a typo.
2439
fd3cd001
UW
24402003-01-24 Ulrich Weigand <uweigand@de.ibm.com>
2441
2442 * configure.in (HAVE_AS_TLS): Add s390-*-* and s390x-*-* cases.
2443 * configure: Regenerate.
2444
2445 * config/s390/s390-protos.h (tls_symbolic_operand): Add prototype.
2446 (tls_symbolic_reference_mentioned_p): Add prototype.
2447 (s390_tls_get_offset): Add prototype.
2448 (emit_pic_move): Remove prototype, replace by ...
2449 (emit_symbolic_move): .. this new prototype.
2450
2451 * config/s390/s390.c (TARGET_HAVE_TLS): Conditionally define.
2452 (tls_model_chars): New global variable.
2453 (s390_encode_section_info): Encode TLS model.
2454 Use targetm.binds_local_p to check for local symbols.
2455 (s390_strip_name_encoding): New function.
2456 (TARGET_STRIP_NAME_ENCODING): Define.
2457
2458 (get_thread_pointer): New function.
21ff35fb 2459 (legitimize_tls_address): New function.
fd3cd001
UW
2460 (legitimize_address): Call it.
2461 (emit_pic_move): Remove, replace by ...
2462 (emit_symbolic_move): ... this new function.
2463
2464 (larl_operand): Handle TLS operands.
2465 (legitimate_constant_p): Likewise.
2466 (s390_decompose_address): Likewise.
2467 (s390_cannot_force_const_mem): New function.
2468 (TARGET_CANNOT_FORCE_CONST_MEM): Define.
2469
2470 (s390_output_symbolic_const): Handle TLS unspecs.
2471 (print_operand): New code 'J'.
2472 (machine_function): Add struct member 'some_ld_name'.
2473 (get_some_local_dynamic_name, get_some_local_dynamic_name_1): New.
2474
2475 (enum s390_builtin): New type.
2476 (code_for_builtin_64, code_for_builtin_31): New global variables.
2477 (s390_init_builtins, s390_expand_builtin): New functions.
2478 (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Define.
2479
2480 * config/s390/s390.h (TLS_SYMBOLIC_CONST): New macro.
2481 (ASM_OUTPUT_LABELREF): Define.
2482 (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Handle TLS constants.
2483
2484 * config/s390/s390.md: Define TLS UNSPEC constants.
2485 ("movdi", "movsi"): Handle TLS operands.
2486 ("get_tp_64", "get_tp_31", "set_tp_64", "set_tp_31"): New insns.
2487 ("*tls_load_64", "*tls_load_31"): New insns.
2488 ("call_value_tls", "call_value_tls_exp"): New expanders.
21ff35fb 2489 ("brasl_tls", "bras_tls", "basr_tls_64", "basr_tls_31",
fd3cd001
UW
2490 "bas_tls_64", "bas_tls_31"): New insns.
2491
01f4962d
NS
24922003-01-24 Nathan Sidwell <nathan@codesourcery.com>
2493
2494 * config/rs6000/rs6000.c (rs6000_parse_abi_options): Make sure
2495 spe ABI is configured, if requested.
2496
70b91854
VR
24972003-01-24 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
2498
2499 * doc/passes.texi: Fix typo.
2500
b8089d8d
AS
25012003-01-24 Andreas Schwab <schwab@suse.de>
2502
2503 * stor-layout.c (excess_unit_span): Only define if used.
2504
38df970e
JQ
25052003-01-24 Jerry Quinn <jlquinn@optonline.net>
2506
2507 * gcc/doc/invoke.texi (Optimization Options): List -O levels
2508 for each optimization flag.
2509
dff23a65
KH
25102003-01-24 Kazu Hirata <kazu@cs.umass.edu>
2511
2512 * config/h8300/h8300.md (*andsi3_ashift_n_lower): New.
2513
05739753
VR
25142003-01-24 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
2515
2516 * doc/bugreport.texi: Use @command instead of @code for commands.
2517 * doc/collect2.texi: Likewise.
2518 * doc/headerdirs.texi: Likewise.
2519 * doc/invoke.texi: Likewise.
2520 * doc/standards.texi: Likewise.
2521 * doc/tm.texi: Likewise.
2522 * doc/trouble.texi: Likewise.
2523
06bea5aa
NC
25242003-01-24 Nick Clifton <nickc@redhat.com>
2525
2526 * config/arm/arm.c (use_return_insn): Do not use a single return
2527 instruction for interrupt handelrs which have to create a stack
2528 frame.
2529 (arm_expand_prologue): Do not pre-bias the return address of
2530 interrupt handlers which create a stack frame.
2531
25322003-01-24 Nick Clifton <nickc@redhat.com>
2533
2534 * Add sh2e support:
2535
2536 2002-08-12 Alexandre Oliva <aoliva@redhat.com>
2537
2538 * config/sh/sh.c (output_branch) [TARGET_SH2E]: Handle
2539 med_cbranches. Fix logic in short_cbranches.
2540
2541 2002-04-03 Alexandre Oliva <aoliva@redhat.com>
2542
2543 * config/sh/sh.md (delay for cbranch): Don't annul delay
2544 slots on SH2e.
2545 * config/sh/sh.c (sh_insn_length_adjustment): Add 2 for
2546 cbranch with unfilled delay slot on SH2e.
2547 (output_branch): Fill with a nop the delay slot of a
2548 branch that required a delay slot but didn't get one.
2549
2550 2002-04-02 Alexandre Oliva <aoliva@redhat.com>
2551
2552 * doc/invoke.texi (SH options): Document -m2e.
2553 * config/sh/crt1.asm: Add __SH2E__ Next to __SH3E__.
2554 * config/sh/lib1funcs.asm: Likewise.
2555 * config/sh/sh.c: Replace all uses of TARGET_SH3E with SH2E.
2556 * config/sh/sh.h (CPP_SPEC): Define __SH2E__ for -m2e, and
2557 not __sh1__.
2558 (CONDITIONAL_REGISTER_USAGE): Don't disable FP regs from
2559 SH2E up.
2560 (SH3E_BIT): Renamed to...
2561 (SH_E_BIT): ... this. Replace all uses.
2562 (TARGET_SH2E): Define from SH_E_BIT and TARGET_SH2.
2563 Replace all uses of TARGET_SH3E with TARGET_SH2E.
2564 (TARGET_SWITCHES): Added 2e.
2565 (OVERRIDE_OPTIONS): Set sh_cpu for SH2E.
2566 (processor_type): Added PROCESSOR_SH2E.
2567 * config/sh/sh.md: Replace all uses of TARGET_SH3E with
2568 TARGET_SH2E, except in sqrtsf2_i.
2569 (attribute cpu): Added sh2e.
2570 * config/sh/t-sh (MULTILIB_OPTIONS): Replace m3e with m2e.
2571 (MULTILIB_MATCHES): Use m2e multilib for m3e.
2572 * config.gcc: Add sh2e target support.
2573
65ca2d60
PE
25742003-01-24 Phil Edwards <pme@gcc.gnu.org>
2575
2576 Rename -W to -Wextra.
2577 * c-decl.c: Update comments.
2578 * c-typeck.c: Likewise.
2579 * flags.h: Likewise.
2580 * function.c: Likewise.
2581 * stmt.c: Likewise.
2582 * toplev.c: Update comments.
2583 (W_options): Add 'extra'.
2584 (display_help): Remove '-W'.
2585 (decode_W_option): Special warn_uninitialized treatment in the case
2586 of -Wextra.
2587 * doc/invoke.texi: Update with new entries.
2588
3de9c088
RH
25892003-01-23 Richard Henderson <rth@redhat.com>
2590
8324663f
RH
2591 * ifcvt.c (noce_process_if_block): Re-add check vs X being changed
2592 in no-else-block case. Add commentary.
3de9c088 2593
49691411
KG
25942003-01-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2595
b4862477
KG
2596 * configure.in: Revert last change.
2597
25982003-01-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2599
2600 * configure.in: Don't include ansidecl.h in tconfig.h.
49691411
KG
2601 * gcov-io.h (PARAMS, ATTRIBUTE_UNUSED: Define if IN_LIBGCC2.
2602 * unwind-dw2-fde.h (last_fde): Use __attribute__, not
2603 ATTRIBUTE_UNUSED.
2604
2605 * configure: Regenerate.
2606
c4db7ecb
FS
26072003-01-23 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
2608
2609 PR java/6748
2610 * config/rs6000/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Don't destroy
2611 regs->nip. Fix rt_sigreturn frame layout. Add support for newer
2612 kernels.
2613
fc69c47c
KG
26142003-01-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2615
2616 * cpplex.c (cpp_interpret_charconst): Squelch warning with cast.
2617
adbe6dfd
UW
26182003-01-23 Ulrich Weigand <uweigand@de.ibm.com>
2619
2620 * genattrtab.c (write_attr_get): Mark 'insn' paramter
2621 as ATTRIBUTE_UNUSED.
2622
76a318e9
RE
26232003-01-23 Richard Earnshaw <rearnsha@arm.com>
2624
2625 * arm.c (thumb_base_register_rtx_p): New function.
2626 (thumb_index_register_rtx_p): New function.
2627 (thumb_legitimate_address_p): New function.
2628 (thumb_legitimate_offset_p): New function.
2629 * arm.h (REG_STRICT_P): Define according to setting of REG_OK_STRICT.
8891b787 2630 (ARM_GO_IF_LEGITIMATE_ADDRESS): Use REG_STRICT_P to avoid duplicate
76a318e9
RE
2631 definitions.
2632 (THUMB_GO_IF_LEGITIMATE_ADDRESS): Use thumb_legitimate_address_p.
2633 (THUMB_LEGITIMATE_OFFSET): Delte.
2634 (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Use thumb_legitimate_offset.
2635 * arm-protos.h (thumb_legitimate_address_p): Add prototype.
2636 (thumb_legitimate_offset_p): Likewise.
2637
9a600d0c
AS
26382003-01-23 Andreas Schwab <schwab@suse.de>
2639
2640 * unwind.h (_Unwind_GetTextRelBase): Mark parameter as unused.
2641
2d110c0a
KG
26422003-01-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2643
2644 * fixinc/Makefile.in (FL_LIST): Revert last change.
2645
2d1d9215
VR
26462003-01-23 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
2647
2648 PR other/7341
2649 * invoke.texi (ftest-coverage): Fix broken cross-reference.
2650 Change @code to @command for gcov command.
2651
2652 * gcc.texi: Adjust title of gcov section.
2653 Adjust copyright.
2654 * gcov.texi: Likewise.
2655
34ee7f82
RS
26562003-01-22 Roger Sayle <roger@eyesopen.com>
2657
2658 PR optimization/8423
2659 * cse.c (fold_rtx): Only eliminate a CONSTANT_P_RTX to 1 when
2660 its argument is constant, or 0 if !flag_gcse.
2661 * simplify-rtx.c (simplify_rtx): Convert CONSTANT_P_RTX to 1
2662 if it's argument is constant.
2663 * gcse.c (want_to_gcse_p): Ignore CONSTANT_P_RTX nodes.
2664 (hash_scan_set): Don't record CONSTANT_P_RTX expressions.
2665 (do_local_cprop): Don't propagate CONSTANT_P_RTX constants.
2666 * builtins.c (purge_builtin_constant_p): New function to force
2667 instantiation of any remaining CONSTANT_P_RTX nodes.
2668 * rtl.h (purge_builtin_constant_p): Prototype here.
2669 * toplev.c (rest_of_compilation): Invoke purge_builtin_constant_p
2670 pass after GCSE and before loop.
2671 (flag_gcse): No longer static.
2672 * flags.h (flag_gcse): Prototype here.
2673
bab0b43b
UW
26742003-01-22 Ulrich Weigand <uweigand@de.ibm.com>
2675
2676 * config/s390/s390.h (HARD_REGNO_MODE_OK): Fix warning regression
2677 introduced by last change.
2678
7e657a61
AS
26792003-01-22 Andreas Schwab <schwab@suse.de>
2680
2681 * ra-rewrite.c (rewrite_program2): Initialize bb to avoid warning.
2682
75a3503b
KH
26832003-01-22 Kazu Hirata <kazu@cs.umass.edu>
2684
2685 * config/h8300/h8300.c (h8300_shift_needs_scratch_p): Don't
2686 request a scratch reg on H8S when the shift count is 8.
2687
4888ec5d
UW
26882003-01-22 Ulrich Weigand <uweigand@de.ibm.com>
2689
2690 * config/s390/s390-protos.h (preferred_la_operand_p):
2691 Remove second parameter.
2692 * config/s390/s390.c (preferred_la_operand_p): Likewise.
2693 * config/s390/s390.h (FRAME_REGNO_P, FRAME_REG_P): New macros.
2694 (HARD_REGNO_MODE_OK): Use FRAME_REGNO_P.
2695 * config/s390/s390.md ("*la_cc_64", "*la_cc_31", splitters): Remove.
2696 Add peepholes to transform ADD to LOAD ADDRESS.
2697
6b990f6b
RE
26982003-01-22 Richard Earnshaw <rearnsha@arm.com>
2699
2700 * arm.c (arm_address_register_rtx_p): New function.
2701 (arm_legitimate_address_p): New function.
2702 (arm_legitimate_index_p): New function.
2703 (legitimize_pic_address): Use arm_legitimate_index_p.
2704 * arm-protos.h (arm_legtimate_address_p): Add prototype.
2705 * arm.h (ARM_GO_IF_LEGITIMATE_INDEX): Delete.
2706 (ARM_GO_IF_LEGITIMATE_ADDRESS): Call arm_legitimate_address_p.
2707
f0bf1270
HP
27082003-01-22 Hartmut Penner <hpenner@de.ibm.com>
2709
2710 * config/s390/s390.md (floatdfdi2): Insn has type 'itof'.
2711 * config/s390/2064.md (define_bypass): Correct 'Load' and
2712 'Load-address' bypass values.
21ff35fb 2713
fcb6a0f5
AS
27142003-01-22 Andreas Schwab <schwab@suse.de>
2715
2716 * config/ia64/t-ia64 (insn-attrtab.o-warn): Define as -Wno-error.
2717
c24b8026
ZW
27182003-01-21 Zack Weinberg <zack@codesourcery.com>
2719
2720 * genautomata.c (output_internal_insn_latency_func,
2721 output_print_reservation_func): Short circuit when there is no
2722 automaton to generate code for.
2723
38afe605
KG
27242003-01-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2725
2726 * Makefile.in (ssa-ccp.o): Depend on coretypes.h $(TM_H).
2727 (df.o): Delete duplicate dependency on coretypes.h $(TM_H).
2728
d24652ee
GK
27292003-01-21 Geoffrey Keating <geoffk@apple.com>
2730
2731 * config/rs6000/rs6000.md: Remove warning.
2732 (builtin_setjmp_receiver): Likewise.
2733 * config/darwin.c (update_stubs): Slightly improve terrible hack
2734 with identifiers. Add comment pointing out problems with it.
2735 (update_non_lazy_ptrs): Likewise.
2736
1c99d804
RH
27372003-01-21 Richard Henderson <rth@redhat.com>
2738
2739 * dwarf2out.c (lookup_filename): Fix printf format warning.
2740 * system.h (fread_unlocked, fwrite_unlocked): Undef.
2741
2742 * fixinc/Makefile.in (FL_LIST): Add $($@-warn) hook.
2743 (fixincl.o-warn, gnu-regex.o-warn): New.
2744 * fixinc/fixfixes.c (FIX_PROC_HEAD): Mark parameters unused.
2745 * fixinc/fixtests.c (TEST_FOR_FIX_PROC_HEAD): Likewise.
2746 * fixinc/fixincl.c (process): Fix printf format warning.
2747
f0b886ab
UW
27482003-01-21 Ulrich Weigand <uweigand@de.ibm.com>
2749
2750 * dwarf2out (output_file_names): Don't crash if called
2751 with empty file_table.
2752
490c57bb
ZW
27532003-01-21 Zack Weinberg <zack@codesourcery.com>
2754
2755 * genautomata.c (output_internal_insn_latency_func): Add
2756 missing break statement to generated code.
2757
100e3acb
RS
27582003-01-21 Roger Sayle <roger@eyesopen.com>
2759
2760 * stmt.c (same_case_target_p): New function to determine whether
2761 two case labels branch to the same target. Split out from...
2762 (group_case_nodes): ... here. Use same_case_target_p instead.
2763 (strip_default_case_nodes): Remove explicit case nodes
2764 that branch to the default destination.
2765 (expand_end_case_type): Call strip_default_case_nodes after
2766 group_case_nodes, to simplify the case-list before we count it.
2767 Only generate table_label RTX when actually needed. Try to share
2768 thiscase->exit_label and thiscase->data.case_stmt.default_label
2769 when a switch has no explicit default case. Simplify test for
2770 constant index.
2771
e8e8c1e5
KH
27722003-01-21 Kazu Hirata <kazu@cs.umass.edu>
2773
2774 * config/h8300/h8300.md (*negsf2_h8300): Use \\t instead of
2775 \t.
2776 (*negsf2_h8300hs): Likewise.
2777 (*addsi3_lshiftrt_16_zexthi): Likewise.
2778 (*iorhi3_lshiftrt_8): Likewise.
2779
044b4de3
UW
27802003-01-21 Ulrich Weigand <uweigand@de.ibm.com>
2781
2782 * dwarf2out.c (fde_table_in_use): Mark GTY.
2783 (dwarf2out_cfi_label_num): New variable, marked GTY.
2784 (dwarf2out_cfi_label): Use it instead of static label_num.
2785 * emit-rtl.c (label_num): Mark GTY.
2786
cfedf91b
KH
27872003-01-21 Kazu Hirata <kazu@cs.umass.edu>
2788
2789 * config/h8300/h8300.c (output_plussi): Support H8/300.
2790 (compute_plussi_length): Likewise.
2791 (compute_plussi_cc): Likewise.
2792 * config/h8300/h8300.md (addsi_h8300): Use output_plussi to
2793 output assembly instructions.
2794
dd859b8a
KG
27952003-01-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2796
1f5b3282
KG
2797 * calls.c (fix_unsafe_tree): Prototype.
2798
dd859b8a
KG
2799 * Makefile.in (GCC_WARN_CFLAGS): Add $(WERROR) $($@-warn)
2800 (gtype-desc.o-warn, c-decl.o-warn, varasm.o-warn, gcc.o-warn,
2801 insn-conditions.o-warn, out_object_file, gengtype-yacc.o-warn,
2802 c-parse.o-warn): Add -Wno-error.
2803 (STAGE2_FLAGS_TO_PASS): Add WERROR="@WERROR@".
2804
2805 * configure.in (--enable-werror): Add new flag.
2806 * doc/install.texi (--enable-werror): Document.
2807 * configure: Regenerate.
2808
2809 * objc/Make-lang.in (objc/objc-parse.o-warn): Add -Wno-error.
2810
4f9365e2
AS
28112003-01-21 Andreas Schwab <schwab@suse.de>
2812
2813 * genautomata.c (output_internal_insn_latency_func): Fix missing
2814 close paren in output.
2815
a543eb5e
ZW
28162003-01-21 Zack Weinberg <zack@codesourcery.com>
2817
2818 * genautomata.c: Space savings in generated code:
2819 (output_dfa_insn_code_func): Split out the table-enlargement
2820 path to an out-of-line static function, dfa_insn_code_enlarge.
2821 (output_internal_insn_latency_func): Use a lookup table for the
2822 default latencies.
2823 (output_print_reservation_func): Use a lookup table for the
2824 strings.
2825
292e35a3
CE
28262003-01-21 Christian Ehrhardt <ehrhardt@mathematik.uni-ulm.de>
2827
2828 PR opt/7507
2829 * calls.c (fix_unsafe_tree): Split out from ...
2830 (expand_call): ... here. Use it on the function address too.
2831
d8d0f5af
RH
28322003-01-20 Richard Henderson <rth@redhat.com>
2833
2834 * expr.h (default_must_pass_in_stack): Move decl outside ifdef.
2835
5b50aa9d
RH
28362003-01-20 Richard Henderson <rth@redhat.com>
2837
515e1c9f 2838 PR opt/7154
5b50aa9d
RH
2839 * stmt.c (expand_asm_operands): Validize memory operands.
2840
7a174a15
RH
28412003-01-20 Richard Henderson <rth@redhat.com>
2842
2843 PR opt/8848
2844 * ifcvt.c (noce_process_if_block): Correct arguments to
2845 modified_between_p for no-else-block case.
2846
9ac7ebba
KH
28472003-01-20 Kazu Hirata <kazu@cs.umass.edu>
2848
2849 * config/h8300/h8300.c (const_costs): Remove a warning.
2850 (output_plussi): Likewise.
2851 (compute_plussi_length): Likewise.
2852 (compute_plussi_cc): Likewise.
2853
309c52b5
KH
28542003-01-20 Kazu Hirata <kazu@cs.umass.edu>
2855
2856 * config/h8300/h8300.md (addsi_h8300): Remove the last
2857 alternative.
2858
b30686ec
KH
28592003-01-20 Kazu Hirata <kazu@cs.umass.edu>
2860
2861 * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
2862
87608693
KG
28632003-01-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2864
2865 * system.h (__NO_STRING_INLINES): Define.
2866
475c8250
JDA
28672003-01-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2868
2869 * ifcvt.c (noce_emit_store_flag): Don't emit store flag if mode of x
2870 is not a scalar int mode.
2871
dbaff908
RS
28722003-01-20 Roger Sayle <roger@eyesopen.com>
2873
2874 * cse.c (cse_insn): Avoid RTL sharing when updating the RETVAL
2875 insn's notes following a substitution inside a libcall.
2876
da8a6064
ZW
28772003-01-20 Zack Weinberg <zack@codesourcery.com>
2878
2879 * configure.in: Check for system-provided 'uchar' type.
a12b5bd9 2880 * configure, config.in: Regenerate.
da8a6064
ZW
2881 * cpphash.h: Only typedef 'uchar' if the system doesn't.
2882
a4b1b92a
RH
28832003-01-20 Richard Henderson <rth@redhat.com>
2884
2885 * expr.h (MUST_PASS_IN_STACK): Move implementation...
2886 * calls.c (default_must_pass_in_stack): ... here.
2887
d530b07f
VM
28882003-01-20 Vladimir Makarov <vmakarov@redhat.com>
2889
da8a6064
ZW
2890 * genattrtab.h (INSN_ALTS_FUNC_NAME): Move it from genautomata.c.
2891
d530b07f
VM
2892 * genautomata.c (INSN_ALTS_FUNC_NAME): Move it into genattrtab.h.
2893
2894 * genattr.c (main): Output default definition of AUTOMATON_ALTS.
2895 Wrap up definition of `insn_alts'.
2896
2897 * genattrtab.c (main): Wrap up `insn_alts'.
2898
351df804
KG
28992003-01-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2900
2901 * collect2.c (ldgetname): Check HAVE_DECL_LDGETNAME before
2902 prototyping.
2903 * configure.in: Check for <ldfcn.h> and ldgetname() prototype.
da8a6064 2904
351df804
KG
2905 * config.in, configure: Regenerate.
2906
e3289412
NC
29072003-01-20 Nick Clifton <nickc@redhat.com>
2908
2909 * config/arm/arm.md (sibcall_epilogue): Add an
2910 UNSPEC_PROLOGUE_USE to prevent the link register from being
2911 considered dead.
2912
5794139a
JH
2913Mon Jan 20 14:36:23 CET 2003 Jan Hubicka <jh@suse.cz>
2914
2915 * i386.md (SSE cmov splitter): Handle memory operand in operand 5.
2916
0a18ddf9
AS
29172003-01-20 Andreas Schwab <schwab@suse.de>
2918
2919 * system.h: Don't declare strsignal if the decl test hasn't been
2920 run yet.
2921
d99c740f
KH
29222003-01-20 Kazu Hirata <kazu@cs.umass.edu>
2923
2924 * config/h8300/h8300.c (notice_update_cc): Don't assume that
2925 recog_data.operands[0] is always associated with cc0.
2926
825c5408
DE
29272003-01-19 David Edelsohn <edelsohn@gnu.org>
2928
2929 * collect2.c (ldgetname): Expand declaration to prototype.
2930 * read-rtl.c (atoll): Add prototype.
da3e0142 2931 * system.h (strsignal): Also declare if no declaration found.
825c5408 2932
3bd6d4c4
AO
29332003-01-19 Alexandre Oliva <aoliva@redhat.com>
2934
2935 * config.gcc (mips64*-*-linux*): Added.
2936 * config/mips/linux64.h, config/mips/t-linux64: New file.
2937 * config/mips/iris6.h (MIPS_TFMODE_FORMAT): Define.
2938 * config/mips/mips.c (override_options): Use it.
2939 * config/mips/mips.h (TARGET_SWITCHES): Added...
2940 (SUBTARGET_TARGET_SWITCHES): New, empty by default.
2941 * Makefile.in (SPECS): New.
2942 (STAGESTUFF, specs, mostlyclean, install-common): Use it.
2943 * gcc.c (process_command): Move self-spec processing past spec
2944 file loading.
2945 * doc/tm.texi (DRIVER_SELF_SPECS): Document the change.
2946 * doc/fragments.texi (MULTILIB_EXTRA_OPTS): Document need for
2947 CRTSTUFF_T_CFLAGS.
2948 (SPECS): Document.
2949 * doc/invoke.texi (-mabi-fake-default): Document.
2950
e9f13564
SC
29512003-01-19 Stephane Carrez <stcarrez@nerim.fr>
2952
2953 * config/m68hc11/m68hc11.c (stack_push_word, stack_pop_word,
2954 z_reg, z_reg_qi): Declare static and GTY().
2955 (da_reg): Remove.
2956 (create_regs_rtx): Don't create da_reg.
2957 ("gt-m68hc11.h"): Include for GTY roots.
2958 * config/m68hc11/m68hc11.h (ix_reg, iy_reg, d_reg): Declare extern
2959 and GTY() here.
2960 (m68hc11_compare_op0, m68hc11_compare_op1): Likewise.
2961 (m68hc11_soft_tmp_reg): Likewise.
2962 * config/m68hc11/m68hc11-protos.h: Remove above declarations.
2963
32dd366d
KH
29642003-01-18 Kazu Hirata <kazu@cs.umass.edu>
2965
2966 * basic-block.h: Fix comment formatting.
2967 * calls.c: Likewise.
2968 * combine.c: Likewise.
2969 * convert.c: Likewise.
2970 * gcov.c: Likewise.
2971 * haifa-sched.c: Likewise.
2972 * libgcc2.c: Likewise.
2973 * loop.c: Likewise.
2974 * profile.c: Likewise.
2975 * system.h: Likewise.
2976
bc3cb712
RS
29772003-01-18 Roger Sayle <roger@eyesopen.com>
2978
2979 * config/pa/pa.md (muldi3): Avoid invalid sharing of SUBREG RTXs.
2980
25e42e9d
KG
29812003-01-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2982
2983 * ra-build.c (undef_to_size_word): Avoid `switch' warning.
2984
6f9c81f5
DJ
29852003-01-17 Dale Johannesen <dalej@apple.com>
2986
da8a6064 2987 * config/rs6000/rs6000.md (*floatsidf2_internal): Add earlyclobbers.
6f9c81f5
DJ
2988 (*floatunssidf2_internal): Ditto.
2989
95bd1dd7
KH
29902003-01-17 Kazu Hirata <kazu@cs.umass.edu>
2991
2992 * alias.c: Fix comment typos.
2993 * basic-block.h: Likewise.
2994 * c-common.c: Likewise.
2995 * c-common.h: Likewise.
2996 * c-decl.c: Likewise.
2997 * c-opts.c: Likewise.
2998 * c-pragma.c: Likewise.
2999 * c-pretty-print.h: Likewise.
3000 * cfg.c: Likewise.
3001 * cfganal.c: Likewise.
3002 * cfgbuild.c: Likewise.
3003 * cfgcleanup.c: Likewise.
3004 * cfglayout.c: Likewise.
3005 * cfgrtl.c: Likewise.
3006 * convert.c: Likewise.
3007 * cpphash.h: Likewise.
3008 * cpplex.c: Likewise.
3009 * cpplib.h: Likewise.
3010 * df.h: Likewise.
3011 * diagnostic.c: Likewise.
3012 * diagnostic.h: Likewise.
3013 * dwarf2.h: Likewise.
3014
d5840e09
SS
30152003-01-17 Stan Shebs <shebs@apple.com>
3016
3017 * config/darwin-protos.h: Forward-declare struct cpp_reader.
3018
e607534b
DR
30192003-01-17 Douglas B Rupp <rupp@gnat.com>
3020
3021 * config/alpha/alpha.c (alpha_need_linkage): Fix obvious
3022 mistake in last checkin.
3023
fbe5a4a6
KH
30242003-01-17 Kazu Hirata <kazu@cs.umass.edu>
3025
3026 * et-forest.c: Fix comment typos.
3027 * et-forest.h: Likewise.
3028 * except.c: Likewise.
3029 * expr.c: Likewise.
3030 * flags.h: Likewise.
3031 * flow.c: Likewise.
3032 * gcc.c: Likewise.
3033 * gcse.c: Likewise.
3034 * genattrtab.c: Likewise.
3035 * genautomata.c: Likewise.
3036 * gengtype.c: Likewise.
3037 * genrecog.c: Likewise.
3038 * global.c: Likewise.
3039 * gthr-rtems.h: Likewise.
3040
095f9093
KG
30412003-01-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3042
3043 * i386.c (x86_function_profiler): Fix format specifier.
3044
084087e1
RH
30452003-01-17 Richard Henderson <rth@redhat.com>
3046
3047 * gengtype.c (walk_type): Allow paramN_is.
3048
4a13592e
NC
30492003-01-17 Nick Clifton <nickc@redhat.com>
3050
3051 * config/i960/t-960bare (i960-c.o): Add missing newline escape.
3052
01193617
RH
30532003-01-16 Richard Henderson <rth@redhat.com>
3054
3055 * config/alpha/linux-elf.h (LIB_SPEC): Adjust inter-option spacing.
3056
f030826a
RH
30572003-01-16 Richard Henderson <rth@redhat.com>
3058
3059 * config/alpha/alpha.c (alpha_sr_alias_set): Mark GTY.
3060 (alpha_next_sequence_number): Likewise.
3061 (alpha_this_literal_sequence_number): Likewise.
3062 (alpha_this_gpdisp_sequence_number): Likewise.
3063 (struct alpha_funcs, alpha_funcs_num): Likewise.
3064 (struct alpha_links): Fix branch merge error.
3065 (alpha_need_linkage, alpha_use_linkage): Use GC for alpha_funcs.
3066
e1551d47
AO
30672003-01-17 Alexandre Oliva <aoliva@redhat.com>
3068
3069 * config/mips/mips.h: Don't use #elif. Reported by Kaveh
3070 R. Ghazi.
3071
3d042e77
KH
30722003-01-16 Kazu Hirata <kazu@cs.umass.edu>
3073
3074 * ifcvt.c: Fix comment typos.
3075 * lcm.c: Likewise.
3076 * libgcc2.c: Likewise.
3077 * local-alloc.c: Likewise.
3078 * loop.c: Likewise.
3079 * predict.c: Likewise.
3080 * ra-build.c: Likewise.
3081 * ra.c: Likewise.
3082 * ra-colorize.c: Likewise.
3083 * ra.h: Likewise.
3084 * ra-rewrite.c: Likewise.
3085 * regmove.c: Likewise.
3086 * reload.h: Likewise.
3087 * rtlanal.c: Likewise.
3088 * toplev.c: Likewise.
3089 * tree.h: Likewise.
3090 * unwind-dw2-fde-glibc.c: Likewise.
3091 * vmsdbgout.c: Likewise.
3092
c4274b22
RH
30932003-01-16 Richard Henderson <rth@redhat.com>
3094
3095 * dwarf2out.c (struct file_table): Remove.
3096 (FILE_TABLE_INCREMENT): Remove.
3097 (file_table): Make a varray; mark for GC. Update all users.
3098 (file_table_last_lookup_index): Extract from struct file_table.
3099 (output_file_names): Fix unsigned compare warnings.
3100 (add_name_attribute): Remove inline marker.
3101 (add_comp_dir_attribute): Split out from gen_compile_unit_die.
3102 (lookup_filename): Don't manage size of file_table.
3103 (init_file_table): Allocate file_table with GC.
3104 (dwarf2out_init): Don't record main_input_filename here.
3105 (dwarf2out_finish): Do it here instead.
3106
19162d0e
BK
31072003-01-16 Bruce Korb <bkorb@gnu.org>
3108
3109 * gcc/fixinc/inclhack.def(limits_ifndef): QNX needs a bypass, too.
3110
f1e2239f
KK
31112003-01-16 Kaz Kojima <kkojima@gcc.gnu.org>
3112
da8a6064
ZW
3113 * config/sh/sh.c (sh_initialize_trampoline): Emit rotrdi3_mextr
3114 instead of rotldi3_mextr.
f1e2239f 3115
cda1f765
VM
31162003-01-16 Vladimir Makarov <vmakarov@redhat.com>
3117
3118 * haifa-sched.c (move_insn): Restore moving all schedule group.
3119 (set_priorities): Restore taking SCHED_GROUP_P into account.
3120
3121 * sched-deps.c (add_dependence): Restore processing the last group
3122 insn.
3123 (remove_dependence, group_leader): Restore the functions.
3124 (set_sched_group_p): Restore adding dependencies from previous insn
3125 in the group.
3126 (compute_forward_dependences): Restore usage of group_leader.
3127
3128 * sched-ebb.c (init_ready_list): Restore taking SCHED_GROUP_P into
3129 account.
3130
3131 * sched-rgn.c (init_ready_list): Restore taking SCHED_GROUP_P into
3132 account.
3133 (can_schedule_ready_p): Ditto.
3134 (add_branch_dependences): Restore skipping over the group insns.
da8a6064 3135
200097cc
SC
31362003-01-16 Stephane Carrez <stcarrez@nerim.fr>
3137
3138 * config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Fix handling
3139 68HC12 pre/post inc/dec side effects.
3140
f411c739
SC
31412003-01-16 Stephane Carrez <stcarrez@nerim.fr>
3142
3143 * config/m68hc11/m68hc11.h (MASK_M6812): Define.
3144
08c43ea7
R
3145Thu Jan 16 21:50:25 2003 J"orn Rennecke <amylaar@onetel.net.uk>
3146
3147 * sh.md (mshflo_w_x): Fix description of operation.
3148
07488f32
ZW
31492003-01-16 Zack Weinberg <zack@codesourcery.com>
3150
3151 * config/rs6000/rs6000.h: Mention Altivec registers in
3152 commentary. Fix typo.
3153
27dc0551
DE
31542003-01-16 David Edelsohn <edelsohn@gnu.org>
3155
3156 * config/rs6000/rs6000.md (movti_string): Remove clobber.
3157 * config/rs6000/rs6000.c (rs6000_emit_move, TImode): Explicitly
3158 generate PARALLEL with clobber for TARGET_POWER.
3159
0334ef47
KG
31602003-01-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3161
3162 * ra-colorize.c (colorize_one_web): Initialize variable.
3163 * regmove.c (fixup_match_1): Likewise.
3164 * reload1.c (reload_as_needed): Likewise.
3165 * sdbout.c (SET_KNOWN_TYPE_TAG): Add cast.
3166
16f2b86a
ZD
31672003-01-16 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3168
3169 * cfgloop.c (flow_loops_find): Fix handling of abnormal edges.
3170
fc555370
KG
31712003-01-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3172
93d8c755
KG
3173 * dbxout.c (lastfile, cwd): Fix `unused' warning.
3174 * dwarf2out.c (fde_table_in_use, current_funcdef_fde,
3175 dw_cfi_oprnd1_desc, dw_cfi_oprnd2_desc, next_die_offset,
3176 is_main_source, file_table, decl_die_table_in_use,
3177 abbrev_die_table_in_use, line_info_table_in_use,
3178 separate_line_info_table_in_use, pubname_table_in_use,
3179 arange_table_in_use, ranges_table_in_use,
3180 current_function_has_inlines): Likewise.
3181 * flow.c (life_analysis): Likewise.
3182 * genemit.c (gen_insn): Likewise.
3183 * protoize.c (cplus_suffix): Likewise.
3184
0c2ca901
KG
3185 * arm.c (ROUND_UP_WORD): Renamed from ROUND_UP.
3186 * arm.h (ROUND_UP_WORD): Likewise.
3187
fc555370
KG
3188 * arm.h (CONDITIONAL_REGISTER_USAGE): Avoid signed/unsigned
3189 warning.
3190 * emit-rtl.c (gen_rtx_REG, set_mem_attributes_minus_bitpos,
3191 init_emit_once): Likewise.
3192 * flow.c (mark_regs_live_at_end, calculate_global_regs_live):
3193 Likewise.
3194 * function.c (assign_stack_temp_for_type): Likewise.
3195 * loop.c (loop_invariant_p): Likewise.
3196 * recog.c (push_operand): Likewise.
3197 * regclass.c (init_reg_sets_1): Likewise.
3198 * reload.c (update_auto_inc_notes): Likewise.
3199 * reload1.c (reload_as_needed, emit_input_reload_insns): Likewise.
3200 * stmt.c (expand_asm_operands): Likewise.
3201 * stor-layout.c (start_record_layout): Likewise.
3202
64510a4f
HB
32032003-01-16 Herman A.J. ten Brugge <hermantenbrugge@home.nl>
3204
07488f32 3205 * config/c4x/c4x.md (epilogue): Correct last patch.
64510a4f 3206
77480b0b
RH
32072003-01-15 Richard Henderson <rth@redhat.com>
3208
3209 * config/alpha/alpha.c (find_lo_sum_using_gp): Rename from find_lo_sum;
3210 also check that GP is being used.
3211 (alpha_find_lo_sum_using_gp): New.
3212 (alpha_does_function_need_gp): Use get_attr_usegp.
3213 * config/alpha/alpha-protos.h: Update.
3214 * config/alpha/alpha.md (attr usegp): New. Annotate patterns
3215 as needed.
3216
a0134312
RS
32172003-01-15 Roger Sayle <roger@eyesopen.com>
3218
3219 * gcse.c (one_cprop_pass): Change function arguments to take both
3220 cprop_jumps and bypass_jumps flags instead of just alter_jumps.
3221 (gcse_main): Update calls to one_cprop_pass, disabling bypassing.
3222 (bypass_jumps): New function to perform separate jump bypassing pass.
3223 * rtl.h (bypass_jumps): Add function prototype.
3224 * timevar.def (TV_BYPASS): New timing variable.
3225 * toplev.c (enum dump_file_index): Add new entry DFI_bypass.
3226 (dump_file): New entry for the bypass RTL dump file.
3227 (rest_of_compilation): Insert new jump bypassing optimization
3228 pass after loop.
3229 * doc/passes.texi: Document new pass.
3230
4af6a063
JDA
32312003-01-15 John David Anglin <dave@hiauly1.hia.nrc.ca>
3232
3233 * som.h (SUPPORTS_WEAK, SUPPORTS_ONE_ONLY, MAKE_DECL_ONE_ONLY,
3234 ASM_WEAKEN_LABEL, GTHREAD_USE_WEAK): Define.
3235 * pa.h (TARGET_SOM_SDEF): Define.
3236 * pa-hpux11.h (TARGET_SOM_SDEF): Define.
3237
51e13b71
SC
32382003-01-16 Stephane Carrez <stcarrez@nerim.fr>
3239
07488f32 3240 * config/m68hc11/m68hc11.c (expand_prologue): Use push/pop to
51e13b71
SC
3241 allocate 4-bytes of locals on 68HC11.
3242 (expand_epilogue): Likewise.
3243 (m68hc11_memory_move_cost): Increase cost of HI/QI soft registers.
3244
f077f169
SC
32452003-01-15 Stephane Carrez <stcarrez@nerim.fr>
3246
3247 * config/m68hc11/m68hc11.h (ASM_SPEC): Handle -m68hcs12; Pass -mshort
3248 and -mshort-double to the assembler to specify the ABI.
3249 (LINK_SPEC): Likewise.
3250 (CPP_SPEC): Pass HCS12 specific define.
3251 (MASK_M68S12): New define.
3252 (TARGET_M68S12): Likewise.
3253 (TARGET_SWITCHES): New options -m68hcs12 and -m68S12.
3254 (TARGET_VERSION): Update.
3255 * config/m68hc11/m68hc12.h (CPP_SPEC): Pass HCS12 specific define.
3256 (LINK_SPEC): Update.
3257 (ASM_SPEC): Update.
3258 * config/m68hc11/m68hc11.c (m68hc11_asm_file_start): Update.
3259 * doc/invoke.texi (M68hc1x Options): Document -m68hcs12.
3260
c0f684dc
SC
32612003-01-15 Stephane Carrez <stcarrez@nerim.fr>
3262
3263 * config/m68hc11/m68hc11.md ("return"): Use emit_jump_insn to emit
3264 the return code.
3265
6982ae15
JZ
32662003-01-15 Josef Zlomek <zlomekj@suse.cz>
3267
3268 * cfganal.c (set_edge_can_fallthru_flag): Clear the EDGE_CAN_FALLTHRU
3269 flag before setting it.
3270
8cadeff1
RS
32712003-01-15 Roger Sayle <roger@eyesopen.com>
3272
3273 * c-semantics.c (genrtl_while_stmt): Improve initial RTL generation
3274 when loop condition is known true, i.e. "while (1) { ... }".
3275 (genrtl_for_stmt): Similarly for "for" statements.
3276
03cd8aba
RS
32772003-01-15 Roger Sayle <roger@eyesopen.com>
3278
3279 * real.c (real_sqrt): Return a bool result indicating whether
3280 a floating point exception or trap should be raised.
3281 * real.h (real_sqrt): Update function prototype.
3282 * builtins.c (fold_builtin): Only fold non-trapping square
3283 roots unless we're ignoring errno and trapping math.
3284
4da78214
JDA
32852003-01-15 John David Anglin <dave.anglin@nrc.gc.ca>
3286
3287 * expr.h (emit_conditional_add): Add PARAMS to declaration.
3288 * gengtype-lex.l (malloc, realloc): Move defines after include of
3289 system.h. Remove duplicate include of system.h.
3290
9ee0a442
RS
32912003-01-15 Roger Sayle <roger@eyesopen.com>
3292
3293 PR middle-end/9009
3294 * optabs.c (expand_unop): When manipulating the FP sign bit
3295 using integer operations, account for targets with different
3296 integer and FP word orders.
3297 (expand_abs): Likewise.
3298
e3981aab
DE
32992003-01-15 David Edelsohn <edelsohn@gnu.org>
3300
3301 * config/rs6000/rs6000.c (rs6000_gen_section_name): Do not include
3302 file extension in section name.
3303
89c4b810
RE
33042003-01-15 Richard Earnshaw <rearnsha@arm.com>
3305
3306 * flow.c (find_auto_inc): Also try to generate a PRE_MODIFY with
3307 constant offset.
3308
3cd45774
RE
33092003-01-15 Richard Earnshaw <rearnsha@arm.com>
3310
3311 * arm.h (HAVE_PRE_MODIFY_DISP, HAVE_PRE_MODIFY_REG): Define.
3312 (HAVE_POST_MODIFY_DISP, HAVE_POST_MODIFY_REG): Define.
3313 (ARM_GO_IF_LEGITIMATE_ADDRESS): Handle pre/post-modify addresses.
3314 (ARM_PRINT_OPERAND_ADDRESS): Likewise.
3315
b1a6f8db
JH
3316Wed Jan 15 12:23:21 CET 2003 Jan Hubicka <jh@suse.cz>
3317
3318 PR f/9258
07488f32 3319 * global.c (struct allocno): Add no_stack_reg.
b1a6f8db
JH
3320 (global_conflicts): Set no_stack_reg.
3321 (find_reg): Use it.
3322
3323 * convert.c (convert_to_real): Fold - and abs only when profitable.
3324 * fold-const.c (fold): Fold truncates in - and abs.
3325
d18c7e59
JZ
33262003-01-15 Josef Zlomek <zlomekj@suse.cz>
3327
3328 Segher Boessenkool <segher@koffie.nl>
fbe3b30b
SB
3329
3330 * predict.c (real_inv_br_prob_base): New variable.
3331 (propagate_freq): Use multiply by reciprocal instead of
3332 division. Don't divide by 1.0 at all.
3333 (estimate_bb_frequencies): Similar.
3334
027faee7
AO
33352003-01-15 Alexandre Oliva <aoliva@redhat.com>
3336
3337 * configure.in (libgcc_visibility): Force disabled on IRIX 6 too.
3338 * configure: Rebuilt.
3339
077dab3b 33402003-01-15 Hartmut Penner <hpenner@de.ibm.com>
3c0121e4 3341
077dab3b
HP
3342 * config/s390/s390.c (s390_safe_attr_type): New function.
3343 (s390_use_dfa_pipeline_interface): New function, return true for z900.
3344 (s390_issue_rate): New function.
3345 (s390_agen_dep_p): New function.
3346 (addr_generation_dependency_p): Use 's390_safe_attr_type'.
3347 (s390_adjust_cost): Return 'cost' if new DFA is used.
3348 (s390_adjust_priority): Delete function.
3349 * config/s390/s390-protos.h: (s390_agen_dep_p): New prototype.
3350 * config/s390/s390.md (atype attribute): Attribute 'atype' default
3351 determined by 'op_type'.
3352 (type attribute): Added more type attributes.
3353 * config/s390/2064.md: New DFA description for z900 pipeline.
07488f32 3354
077dab3b 33552003-01-15 Alexandre Oliva <aoliva@redhat.com>
2b28d405 3356
acfa9d9f
AO
3357 * config/i386/i386.c (ix86_expand_vector_move): Validize constant
3358 forced to memory. Fixes PR bootstrap/9036.
3359
3c0121e4
AO
3360 * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Define so as
3361 to set $gp before the call.
3362
553eb139
RH
33632003-01-14 Richard Henderson <rth@redhat.com>
3364
3365 * config/alpha/alpha.c (alpha_expand_mov): Use correct mode
3366 for force_const_mem.
3367
dd1b7476
KG
33682003-01-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3369
3370 * genattr.c (main): Rearrange output to avoid prototype warning.
3371 * genautomata.c (transform_3): Fix ambiguous-else warning.
3372 * local-alloc.c (requires_inout): Add parentheses around
3373 assignment used as truth-value.
3374 * timevar.c: Move system includes above local includes. Include
3375 toplev.h
3376 * Makefile.in (timevar.o): Depend on toplev.h.
3377
6028880a
DC
33782003-01-14 Denis Chertykov <denisc@overta.ru>
3379
3380 * config/ip2k/ip2k.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
3381 (VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
3382
3383 * config/ip2k/ip2k.c (ip2k_attribute_table): New table of
07488f32 3384 attributes.
6028880a
DC
3385 (TARGET_ATTRIBUTE_TABLE): New macro.
3386 (valid_machine_type_attribute): Remove.
3387 (valid_machine_decl_attribute): Remove.
3388 (ip2k_handle_progmem_attribute): New function.
3389 (ip2k_handle_fndecl_attribute): New function.
3390
4a2953e4 33912003-01-10 Andrew Haley <aph@redhat.com>
a686ea5b
AH
3392
3393 * config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Rename
3394 registers to be in correct order. Add rip.
3395
4d77fda2
KH
33962003-01-14 Kazu Hirata <kazu@cs.umass.edu>
3397
3398 * config/h8300/h8300.md (*andsi3_lshiftrt_9_sb): New.
3399 (*iorsi3_and_lshiftrt_9_sb): Likewise.
3400
77f9af81
JH
3401Tue Jan 14 00:45:33 CET 2003 Jan Hubicka <jh@suse.cz>
3402
3403 * convert.c (strip_float_extensions): Look for narrowest type handling
3404 FP constants.
3405
3406 * fold-const.c (fold): Fold (double)float1 CMP (double)float2 into
3407 float1 CMP float2.
3408 * convert.c (strip_float_extensions): Make global.
3409 * tree.h (strip_float_extensions): Declare.
3410
fd371a93
GDR
34112003-01-14 Gabriel Dos Reis <gdr@integrable-solutions.net>
3412
3413 * timevar.def: define TV_NAME_LOOKUP.
3414 * timevar.c (timevar_pop): Be verbose when aborting.
3415
dcd1c2b8
AS
34162003-01-13 Andreas Schwab <schwab@suse.de>
3417
3418 * Makefile.in ($(parsedir)/gengtype-lex.c): Don't change to
3419 $(parsedir), just move the temporary file at the end.
3420 ($(parsedir)/gengtype-yacc.c): Likewise.
3421
eb4b5f93
AO
34222003-01-13 Alexandre Oliva <aoliva@redhat.com>
3423
3424 * aclocal.m4 (gcc_AC_PROG_GNAT): Don't try to prepend
3425 ${ac_tool_prefix} to ADAC or CC. Protect them from word
3426 splitting.
3427 * configure: Rebuilt.
3428
f7835768
KG
34292003-01-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3430
3431 * config/sparc/gmon-sol2.c (moncontrol, monstartup, _mcleanup,
3432 internal_mcount): Don't use PARAMS.
3433 (monstartup, _mcleanup, internal_mcount, moncontrol): Convert to
3434 ISO C style.
3435 (internal_mcount): Use __attribute__, not ATTRIBUTE_UNUSED.
3436
38a3dbbb
AS
34372003-01-13 Andreas Schwab <schwab@suse.de>
3438
3439 * config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Output type
3440 directive.
3441
98dc53e3
KH
34422003-01-13 Kazu Hirata <kazu@cs.umass.edu>
3443
3444 * config/h8300/h8300.md (*andsi3_lshift_n_sb): New.
3445 (*iorsi3_and_lshiftrt_n_sb): Likewise.
3446
e8f2b18d
MM
34472003-01-12 Mark Mitchell <mark@codesourcery.com>
3448
3449 PR c++/9264
3450 * c-lex.c (c_lex): Set the token value to error_mark_node for
3451 invalid numeric constants.
3452
70f8b89f
KG
34532003-01-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3454
3455 * c-pch.c (asm_file_startpos): Change to `long'.
3456 (pch_init): Use ftell, not ftello.
3457 (c_common_write_pch): Use ftell/fseek, not ftello/fseeko.
3458 Use `long' instead of `off_t'.
3459 (c_common_read_pch): Likewise.
3460 * ggc-common.c (gt_pch_save): Use long/ftell instead of
3461 off_t/ftello.
3462
8e37cba8
AM
34632003-01-12 Alan Modra <amodra@bigpond.net.au>
3464
3465 * expr.c (expand_expr <RDIV_EXPR>): Correct recursive call args.
3466
04f08c8e
RE
34672003-01-11 Richard Earnshaw (rearnsha@arm.com)
3468
3469 * arm-protos.h (struct cpp_reader): Add declaration.
3470
a5cf80f0
JH
3471Sat Jan 11 11:02:58 CET 2003 Jan Hubicka <jh@suse.cz>
3472
3473 PR target/9068
3474 * i386.c (output_fp_compare): Fix typo.
3475
bbfb86aa
DE
34762003-01-10 David Edelsohn <edelsohn@gnu.org>
3477
3478 * config/rs6000/rs6000.c (common_mode_defined): Mark for PCH.
3479
223b87b6
GK
34802003-01-10 Geoffrey Keating <geoffk@apple.com>
3481
3859c32a
GK
3482 * Makefile.in (parsedir): New variable.
3483 (docobjdir): New variable.
07488f32 3484 (c-parse.o, c-parse.c, c-parse.y, gengtype-lex.o, gengtype-yacc.o,
3859c32a
GK
3485 gengtype-lex.c, gengtype-yacc.c): Use parsedir.
3486 (info, cpp.info, gcc.info, gccint.info, gccinstall.info,
3487 cppinternals.info, generated-manpages, gcov.1, cpp.1, gcc.1, gfdl.7,
07488f32 3488 gpl.7, fsf-funding.7, maintainer-clean, install-info, install-man):
3859c32a
GK
3489 Use docobjdir.
3490 * objc/Make-lang.in (objc/objc-parse.c, objc/objc-parse.y,
3491 objc.maintainer-clean): Use parsedir.
3492
63af3bd1
GK
3493 * varasm.c (struct constant_descriptor_rtx): Remove unused
3494 `label' field.
3495
223b87b6
GK
3496 * toplev.c (documented_lang_options): Document -Winvalid-pch.
3497
fbadafbc
RH
34982003-01-10 Richard Henderson <rth@redhat.com>
3499
3500 * config/alpha/alpha.h (NO_PROFILE_COUNTERS): Set.
3501 (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Kill.
3502
ab5ecb01
RH
35032003-01-10 Richard Henderson <rth@redhat.com>
3504
3505 * combine.c (make_compound_operation): Use SCALAR_INT_MODE_P,
3506 not INTEGRAL_MODE_P when widening extensions.
3507
7f24e7c5
RH
35082003-01-10 Richard Henderson <rth@redhat.com>
3509
3510 * config/alpha/alpha.c (decl_has_samegp): True for !TREE_PUBLIC.
3511
6dd05d08
GK
35122003-01-10 Geoffrey Keating <geoffk@apple.com>
3513
19cc0dd4
GK
3514 * ggc-page.c (ggc_collect): Avoid overflow computing
3515 min_expand.
3516
6dd05d08
GK
3517 * Makefile.in (RANLIB_FOR_TARGET): Use RANLIB when native.
3518 (RANLIB_TEST_FOR_TARGET): Delete. Don't pass down to sub-makes.
3519 Remove calls.
3520 * mklibgcc.in: Remove uses of RANLIB_TEST_FOR_TARGET.
3521
5f1355ef
JH
3522Fri Jan 10 22:05:35 CET 2003 Jan Hubicka <jh@suse.cz>
3523
3524 * ifcvt.c (noce_try_addcc): Do not call emit_conditional_add
3525 with weird operands.
3526
0cdca92b 35272003-01-10 Dale Johannesen <dalej@apple.com>
6dd05d08
GK
3528
3529 * calls.c (load_register_parameters): Add is_sibcall, sibcall_failure
3530 parameters. Call check_sibcall_argument_overlap if indicated.
3531 (check_sibcall_argument_overlap): Add mark_stored_args_map
3532 parameter. Don't mark parameter area as clobbered if not set.
3533 (expand_call): Adjust calls to above.
3534
35352003-01-10 Kelley Cook <kelleycook@comcast.net>
6cd656d0
KC
3536
3537 * configure.in (linker read-only and read-write section mixing):
3538 Squelch some assembler warnings.
3539 * configure: Likewise.
3540
be2c2a4b
HP
35412003-01-10 Hartmut Penner <hpenner@de.ibm.com>
3542
21ff35fb 3543 * doc/invoke.texi: Document -mtune, delete -mcpu
be2c2a4b
HP
3544 option for S/390 and zSeries.
3545 * config/s390/s390.c (s390_tune_string) New variable.
3546 (s390_cpu_string) Delete variable.
3547 (override_options): Use s390_tune_string instead of
3548 s390_cpu_string.
3549 * config/s390/s390.h: (TARGET_OPTIONS) '-mtune' instead of '-mcpu'.
3550
1f450138
KH
35512003-01-10 Kazu Hirata <kazu@cs.umass.edu>
3552
3553 * config/h8300/h8300.md (*iorsi3_ashift_31): New.
3554
d330ce15
JZ
35552003-01-10 Josef Zlomek <zlomekj@suse.cz>
3556
3557 * jump.c (next_nonnote_insn_in_loop): New function.
3558 (copy_loop_headers): Use next_nonnote_insn_in_loop instead of
3559 next_nonnote_insn.
3560 (duplicate_loop_exit_test). Likewise.
3561
17211ab5
GK
35622003-01-09 Geoffrey Keating <geoffk@apple.com>
3563
3564 Merge from pch-branch:
3565
3566 2003-01-06 Geoffrey Keating <geoffk@apple.com>
3567
3568 * ggc-page.c (ggc_pch_read): Update the statistics after a PCH
3569 load.
3570
3571 2002-12-24 Geoffrey Keating <geoffk@apple.com>
3572
3573 * cpplib.c (count_registered_pragmas): New function.
3574 (save_registered_pragmas): New function.
3575 (_cpp_save_pragma_names): New function.
3576 (restore_registered_pragmas): New function.
3577 (_cpp_restore_pragma_names): New function.
3578 * cpphash.h (_cpp_save_pragma_names): Prototype.
3579 (_cpp_restore_pragma_names): Likewise.
3580 * cpppch.c (struct save_macro_item): Split from save_macro_data.
3581 (struct save_macro_data): New field 'saved_pragmas'.
3582 (save_macros): Update for changes to struct save_macro_data.
3583 (cpp_prepare_state): Call _cpp_save_pragma_names, update
3584 for changes to struct save_macro_data.
3585 (cpp_read_state): Call _cpp_restore_pragma_names, update
3586 for changes to struct save_macro_data.
3587
3588 * cpppch.c (cpp_read_state): Restore the hashtable references
3589 in the cpp_reader.
07488f32 3590
17211ab5
GK
3591 * tree.h (built_in_decls): Mark for PCH.
3592
3593 * dbxout.c (lastfile): Don't mark for PCH.
3594
3595 * ggc.h: Document PCH calls into memory managers.
3596
3597 2002-12-18 Geoffrey Keating <geoffk@apple.com>
3598
3599 * doc/invoke.texi (Precompiled Headers): Document the
3600 directory form of PCH.
3601 * cppfiles.c (validate_pch): New function.
3602 (open_file_pch): Search suitably-named directories for PCH files.
3603
3604 2002-12-14 Geoffrey Keating <geoffk@apple.com>
3605
3606 * doc/gty.texi (GTY Options): Document chain_next, chain_prev,
3607 reorder options.
3608 (Type Information): Mention that the information is also
3609 used to implement PCH.
3610 * doc/passes.texi (Passes): Improve documentation of
3611 language-specific files.
3612
3613 2002-12-11 Geoffrey Keating <geoffk@apple.com>
3614
3615 * gengtype.c (struct write_types_data): Add reorder_note_routine field.
3616 (struct walk_type_data): Add reorder_fn field.
3617 (walk_type): Process 'reorder' option.
3618 (write_types_process_field): Reorder parameters to gt_pch_note_object,
3619 call reorder_note_routine.
3620 (write_func_for_structure): Reorder parameters to gt_pch_note_object.
3621 (ggc_wtd): Update for change to struct write_types_data.
3622 (pch_wtd): Likewise.
3623 * ggc.h (gt_pch_note_object): Reorder parameters.
3624 (gt_handle_reorder): New definition.
3625 (gt_pch_note_reorder): New prototype.
3626 * ggc-common.c (struct ptr_data): Add reorder_fn.
3627 (gt_pch_note_object): Reorder parameters.
3628 (gt_pch_note_reorder): New.
3629 (gt_pch_save): Call reorder_fn.
3630 * stringpool.c (gt_pch_n_S): Update for change to gt_pch_note_object.
3631
3632 * dbxout.c (cwd): Don't mark for PCH.
3633
3634 2002-12-09 Geoffrey Keating <geoffk@apple.com>
3635
3636 * gengtype.c (finish_root_table): Fix some warnings.
3637 (write_root): Handle TYPE_STRING.
3638 * ggc.h (gt_ggc_m_S): Add prototype.
3639 * stringpool.c (gt_ggc_m_S): New function.
3640
3641 2002-11-30 Geoffrey Keating <geoffk@apple.com>
3642
3643 * dwarf2out.c (dw2_string_counter): New.
3644 (AT_string_form): Use it.
3645 (same_dw_val_p): Update for removal of hashtable.h hash tables.
3646
3647 2002-11-22 Geoffrey Keating <geoffk@apple.com>
3648
3649 * dbxout.c: Include gt-dbxout.h.
3650 (lastfile): Mark for PCH/GGC.
3651 (cwd): Likewise.
3652 (struct typeinfo): Likewise.
3653 (typevec): Likewise.
3654 (typevec_len): Likewise.
3655 (next_type_number): Likewise.
3656 (struct dbx_file): Likewise.
3657 (current_file): Likewise.
3658 (next_file_number): Likewise.
3659 (dbxout_init): Allocate typevec, struct dbx_file with GGC.
3660 (dbxout_start_source_file): Allocate struct dbx_file with GGC.
3661 (dbxout_end_source_file): Don't free struct dbx_file.
3662 (dbxout_type): Use GGC to allocate typevec.
3663 * Makefile.in (dbxout.o): Depend on gt-dbxout.h, $(GGC_H).
3664 (GTFILES): Add dbxout.c.
3665 (gt-dbxout.h): New rule.
07488f32 3666
17211ab5
GK
3667 * Makefile.in (c-pch.o): Add debug.h as dependency.
3668 * c-pch.c: Include debug.h.
3669 (pch_init): Call start_source_file to keep nesting right.
3670 (c_common_read_pch): Add orig_name parameter. Call
3671 start_source_file debug hook. Call end_source_file debug hook.
3672 * c-common.h (c_common_read_pch): Update prototype.
3673 * cpplib.h (struct cpp_callbacks): Add fourth field to read_pch
3674 callback.
3675 * cppfiles.c (struct include_file): Add new field `header_name'.
3676 (find_or_create_entry): Default it to `name'.
3677 (open_file_pch): Set it to the original header file searched for.
3678 (stack_include_file): Don't stack an empty buffer, just handle
3679 PCH files immediately. Pass header_name field to read_pch callback.
3680
3681 2002-11-19 Geoffrey Keating <geoffk@apple.com>
3682
3683 * function.c (funcdef_no): Mark to be saved in a PCH.
3684
3685 2002-11-15 Geoffrey Keating <geoffk@apple.com>
3686
3687 * ggc-page.c (ggc_pch_read): Remove unused 'bmap_size'.
3688
3689 * cpppch.c (cpp_read_state): Correct size reallocated for 'defn'.
3690
3691 2002-11-14 Geoffrey Keating <geoffk@apple.com>
3692
3693 * optabs.h (code_to_optab): Add GTY marker.
3694
3695 2002-11-13 Geoffrey Keating <geoffk@apple.com>
3696
3697 * Makefile.in (GTFILES): Add cpplib.h.
3698 * c-common.h (struct c_common_identifier): Don't skip 'node' field.
3699 * c-decl.c (build_compound_literal): Don't use var_labelno.
3700 * cpplib.h (struct cpp_hashnode): Use gengtype to mark.
3701 * dwarf2asm.c (dw2_force_const_mem): Don't use const_labelno.
3702 * varasm.c (const_labelno): Use gengtype to mark.
3703 (var_labelno): Likewise.
3704 (in_section): Likewise.
3705 (in_named_name): Likewise.
3706 (struct in_named_entry): Likewise.
3707 (in_named_htab): Likewise.
3708 (set_named_section_flags): Use GGC to allocate struct in_named_entry.
3709 (init_varasm_once): Use GGC to allocate in_named_htab.
3710 * config/darwin.c (current_pic_label_num): Mark for PCH.
3711
3712 2002-11-11 Geoffrey Keating <geoffk@apple.com>
3713
3714 * ggc-simple.c (init_ggc_pch): New stub procedure.
3715 (ggc_pch_count_object): Likewise.
3716 (ggc_pch_total_size): Likewise.
3717 (ggc_pch_this_base): Likewise.
3718 (ggc_pch_alloc_object): Likewise.
3719 (ggc_pch_prepare_write): Likewise.
3720 (ggc_pch_write_object): Likewise
3721 (ggc_pch_finish): Likewise.
3722 (ggc_pch_read): Likewise.
3723
3724 2002-11-08 Geoffrey Keating <geoffk@apple.com>
3725
3726 * c-pch.c (c_common_write_pch): Write the macro definitions after
3727 the GCed data.
3728 (c_common_read_pch): Call cpp_prepare_state. Restore the macro
3729 definitions after the GCed data.
3730 * cpplib.c (save_macros): New.
3731 (reset_ht): New.
3732 (cpp_write_pch_deps): Split out of cpp_write_pch.
3733 (cpp_write_pch_state): Split out of cpp_write_pch.
3734 (cpp_write_pch): Delete.
3735 (struct save_macro_data): Delete.
3736 (cpp_prepare_state): New.
3737 (cpp_read_state): Erase and restore initial macro definitions.
3738 * cpplib.h (struct save_macro_data): Forward-declare.
3739 (cpp_write_pch_deps): Prototype.
3740 (cpp_write_pch_state): Prototype.
3741 (cpp_write_pch): Delete prototype.
3742 (cpp_prepare_state): Prototype.
3743 (cpp_read_state): Add fourth argument.
3744
3745 2002-11-04 Geoffrey Keating <geoffk@apple.com>
3746
3747 * gengtype.c (adjust_field_rtx_def): Don't use skip on valid fields.
3748 (write_array): Remove warning.
3749
3750 * gengtype.c (contains_scalar_p): New.
3751 (finish_root_table): Add the table to all languages, even if it's
3752 empty.
3753 (write_roots): Output gt_pch_scalar_rtab.
3754 * ggc-common.c (gt_pch_save): Write out scalars.
3755 (gt_pch_restore): Read scalars back.
3756
3757 * ggc-page.c (OBJECTS_IN_PAGE): New macro.
3758 (struct page_entry): Delete pch_page field.
3759 (ggc_recalculate_in_use_p): Use OBJECTS_IN_PAGE.
3760 (clear_marks): Likewise.
3761 (sweep_pages): Likewise.
3762 (poison_pages): Likewise.
3763 (ggc_print_statistics): Likewise.
3764 (ggc_pch_read): Don't free objects read from a PCH.
3765 Properly set up in_use_p and page_tails.
3766
3767 2002-10-25 Geoffrey Keating <geoffk@apple.com>
3768
3769 * gengtype.c (struct write_types_data): New.
3770 (struct walk_type_data): Make `cookie' const; add extra
3771 prev_val item; add `orig_s' field.
3772 (walk_type): Update prev_val[3].
3773 (write_types_process_field): New.
3774 (write_func_for_structure): Take write_types_data structure.
3775 (write_types): New.
3776 (ggc_wtd): New.
3777 (pch_wtd): New.
3778 (write_types_local_process_field): New.
3779 (gc_mark_process_field): Delete.
3780 (write_local_func_for_structure): New.
3781 (gc_mark_func_name): Delete.
3782 (write_gc_types): Delete.
3783 (write_local): New.
3784 (finish_root_table): Don't include 'ggc_' in PFX.
3785 (write_root): Rename from write_root. Fill pchw field of structures.
3786 (write_array): New.
3787 (write_roots): Rename from write_gc_roots. Split out to write_array.
3788 Update to changes to other routines. Write gt_pch_cache_rtab table.
3789 (main): Write PCH walking routines.
3790 * ggc-common.c: Include toplev.h, sys/mman.h.
3791 (ggc_mark_roots): For cache hashtables, also mark the hash table
3792 and the array of entries.
3793 (saving_htab): New.
3794 (struct ptr_data): New.
3795 (POINTER_HASH): New.
3796 (gt_pch_note_object): New.
3797 (saving_htab_hash): New.
3798 (saving_htab_eq): New.
3799 (struct traversal_state): New.
3800 (call_count): New.
3801 (call_alloc): New.
3802 (compare_ptr_data): New.
3803 (relocate_ptrs): New.
3804 (write_pch_globals): New.
3805 (struct mmap_info): New.
3806 (gt_pch_save): New.
3807 (gt_pch_restore): New.
3808 * ggc-page.c (ROUND_UP_VALUE): New.
3809 (ROUND_UP): New.
3810 (struct page_entry): Add field `pch_page'.
3811 (init_ggc): Use ROUND_UP.
3812 (struct ggc_pch_data): Declare.
3813 (init_ggc_pch): New.
3814 (ggc_pch_count_object): New.
3815 (ggc_pch_total_size): New.
3816 (ggc_pch_this_base): New.
3817 (ggc_pch_alloc_object): New.
3818 (ggc_pch_prepare_write): New.
3819 (ggc_pch_write_object): New.
3820 (ggc_pch_finish): New.
3821 (ggc_pch_read): New.
3822 * ggc.h (gt_pointer_operator): New.
3823 (gt_note_pointers): New.
3824 (gt_pch_note_object): New prototype.
3825 (gt_pointer_walker): New.
3826 (struct ggc_root_tab): Use gt_pointer_walker, add `pchw' field.
3827 (LAST_GGC_ROOT_TAB): Update.
3828 (gt_pch_cache_rtab): Declare.
3829 (gt_pch_scalar_rtab): Declare.
3830 (struct ggc_cache_tab): Use gt_pointer_walker, add `pchw' field.
3831 (LAST_GGC_CACHE_TAB): Update.
3832 (gt_pch_save_stringpool): Declare.
3833 (gt_pch_restore_stringpool): Declare.
3834 (gt_pch_p_S): Declare.
3835 (gt_pch_n_S): Declare.
3836 (struct ggc_pch_data): Forward-declare.
3837 (init_ggc_pch): Declare.
3838 (ggc_pch_count_object): Declare.
3839 (ggc_pch_total_size): Declare.
3840 (ggc_pch_this_base): Declare.
3841 (ggc_pch_alloc_object): Declare.
3842 (ggc_pch_prepare_write): Declare.
3843 (ggc_pch_write_object): Declare.
3844 (ggc_pch_finish): Declare.
3845 (ggc_pch_read): Declare.
3846 (gt_pch_save): Declare.
3847 (gt_pch_restore): Declare.
3848 * fold-const.c (size_int_type_wide): Allocate size_htab using GGC.
3849 * emit-rtl.c (init_emit_once): Allocate const_int_htab,
3850 const_double_htab, mem_attrs_htab using GGC.
3851 * c-pch.c: Include ggc.h.
3852 (pch_init): Allow reading PCH file back.
3853 (c_common_write_pch): Call gt_pch_save.
3854 (c_common_read_pch): Call gt_pch_restore.
3855 * c-parse.in (init_reswords): Delete now-untrue comment.
3856 Allocate ridpointers using GGC.
3857 * c-objc-common.c (c_objc_common_finish_file): Write PCH before
3858 calling expand_deferred_fns.
3859 * c-common.h (ridpointers): Mark for GTY machinery.
3860 * Makefile.in (stringpool.o): Update dependencies.
3861 (c-pch.o): Update dependencies.
3862 (ggc-common.o): Update dependencies.
3863 * stringpool.c: Include gt-stringpool.h.
3864 (gt_pch_p_S): New.
3865 (gt_pch_n_S): New.
3866 (struct string_pool_data): New.
3867 (spd): New.
3868 (gt_pch_save_stringpool): New.
3869 (gt_pch_restore_stringpool): New.
3870 * tree.c (init_ttree): Make type_hash_table allocated using GC.
07488f32 3871
17211ab5
GK
3872 2002-10-04 Geoffrey Keating <geoffk@apple.com>
3873
3874 * gengtype.c (adjust_field_rtx_def): Don't pass size_t to printf.
3875 (output_mangled_typename): Don't pass size_t to printf.
3876
3877 * tree.h (union tree_type_symtab): Add tag to `address' field.
3878 (union tree_decl_u2): Add tag to 'i' field.
3879 * varasm.c (union rtx_const_un): Add tags to all fields.
3880 * gengtype.c (struct walk_type_data): New.
3881 (output_escaped_param): Take struct walk_type_data parameter.
3882 (write_gc_structure_fields): Delete.
3883 (walk_type): New.
3884 (write_gc_marker_routine_for_structure): Delete.
3885 (write_func_for_structure): New.
3886 (gc_mark_process_field): New.
3887 (gc_mark_func_name): New.
3888 (gc_counter): Delete.
3889 (write_gc_types): Use write_func_for_structure.
3890 (write_gc_roots): Use walk_type.
3891
3892 2002-10-02 Geoffrey Keating <geoffk@apple.com>
3893
3894 * ggc-common.c (ggc_mark_roots): Delete 'x'.
3895 (ggc_splay_dont_free): Fix warning about unused 'x'.
3896 (ggc_print_common_statistics): Remove warnings.
3897
3898 2002-10-01 Mike Stump <mrs@apple.com>
3899
07488f32
ZW
3900 * ggc-common.c (ggc_splay_alloc): Actually return the allocated area.
3901 * gengtype.c (write_gc_structure_fields): Handle param[digit]_is.
17211ab5
GK
3902
3903 2002-09-01 Geoffrey Keating <geoffk@redhat.com>
3904 Catherine Moore <clm@redhat.com>
3905
3906 * Makefile (c-pch.o): Update dependencies.
3907 (LIBCPP_OBJS): Add cpppch.o.
3908 (cpppch.o): New.
3909 * c-common.c (c_common_init): Don't call pch_init here.
3910 * c-common.h (c_common_read_pch): Update prototype.
3911 * c-lex.c (c_common_parse_file): Call pch_init here.
3912 * c-opts.c (COMMAND_LINE_OPTIONS): Add -Winvalid-pch, -fpch-deps.
3913 (c_common_decode_option): Handle them.
3914 * c-pch.c: Include c-pragma.h.
3915 (save_asm_offset): Delete.
3916 (pch_init): Move contents of save_asm_offset into here, call
3917 cpp_save_state.
3918 (c_common_write_pch): Call cpp_write_pch.
3919 (c_common_valid_pch): Warn only when -Winvalid-pch. Call
3920 cpp_valid_state.
3921 (c_common_read_pch): Add NAME parameter. Call cpp_read_state.
07488f32 3922 * cppfiles.c (stack_include_file): Update for change to
17211ab5
GK
3923 parameters of cb.read_pch.
3924 * cpphash.h (struct cpp_reader): Add `savedstate' field.
3925 * cpplib.h (struct cpp_options): Add `warn_invalid_pch' and
3926 `restore_pch_deps' fields.
3927 (struct cpp_callbacks): Add NAME parameter to `read_pch'.
3928 (cpp_save_state): Prototype.
3929 (cpp_write_pch): Prototype.
3930 (cpp_valid_state): Prototype.
3931 (cpp_read_state): Prototype.
3932 * cpppch.c: New file.
3933 * flags.h (version_flag): Remove prototype.
3934 * mkdeps.c (deps_save): New.
3935 (deps_restore): New.
3936 * mkdeps.h (deps_save): Prototype.
3937 (deps_restore): Prototype.
3938 * toplev.c (late_init_hook): Delete.
3939 (version_flag): Make static again.
3940 (compile_file): Don't call late_init_hook.
3941 * toplev.h (late_init_hook): Delete.
3942 * doc/cppopts.texi: Document -fpch-deps.
3943 * doc/invoke.texi (Warning Options): Document -Winvalid-pch.
3944
3945 2002-08-27 Geoffrey Keating <geoffk@redhat.com>
3946
3947 * c-pch.c (c_common_write_pch): Rename from c_write_pch, change
3948 callers.
3949 (c_common_valid_pch): Rename from c_valid_pch, change callers.
3950 (c_common_read_pch): Rename from c_read_pch, change callers.
3951
3952 * c-opts.c (COMMAND_LINE_OPTIONS): Allow -output-pch= to have
3953 a space between it and its argument.
3954
3955 2002-08-24 Geoffrey Keating <geoffk@redhat.com>
3956
3957 * c-pch.c: New file.
3958 * toplev.h (late_init_hook): Declare.
3959 * toplev.c (late_init_hook): Define.
3960 (version_flag): Make globally visible.
3961 (compile_file): Call late_init_hook.
3962 (init_asm_output): Make output file seekable.
3963 * gcc.c (default_compilers): Update c-header rule.
3964 * flags.h (version_flag): Declare.
3965 * cpplib.h (struct cpp_callbacks): Add 'valid_pch' and 'read_pch'
3966 fields.
3967 * cppfiles.c (struct include_file): Add 'pch' field.
3968 (INCLUDE_PCH_P): New.
3969 (open_file_pch): New.
3970 (stack_include_file): Handle PCH files specially.
3971 (find_include_file): Call open_file_pch instead of open_file.
3972 (_cpp_read_file): Explain why open_file is used instead of
3973 open_file_pch.
3974 * c-opts.c (c_common_decode_option): Correct OPT__output_pch case.
3975 * c-objc-common.c (c_objc_common_finish_file): Call c_write_pch.
3976 * c-lex.c (init_c_lex): Set valid_pch and read_pch fields
3977 in cpplib callbacks.
3978 * c-common.c (pch_file): Correct comment.
3979 (allow_pch): Define.
3980 (c_common_init): Call pch_init.
3981 * c-common.h (allow_pch): Declare.
3982 (pch_init): Declare.
3983 (c_valid_pch): Declare.
3984 (c_read_pch): Declare.
3985 (c_write_pch): Declare.
3986 * Makefile.in (c-pch.o): New.
3987 (C_AND_OBJC_OBJS): Add c-pch.o.
3988 * doc/invoke.texi (Precompiled Headers): Add index entries,
3989 complete truncated paragraph.
3990
3991 2002-08-17 Geoffrey Keating <geoffk@redhat.com>
3992
3993 * c-common.c: (pch_file): Define.
3994 * c-common.h (pch_file): Declare.
3995 * c-opts.c (COMMAND_LINE_OPTIONS): Add --output-pch=.
3996 (missing_arg): Require --output-pch= to have an argument.
3997 (c_common_decode_option): Handle --output-pch=.
3998 * gcc.c: Document new %V.
3999 (default_compilers): Handle compiling C header files.
4000 (do_spec_1): Implement %V.
4001 (main): Handle "gcc foo.h" without trying to run linker.
4002 * doc/invoke.texi (Invoking GCC): Add new menu item for PCH.
4003 (Overall Options): Document what the driver does with header files,
4004 document new -x option possibilities.
4005 (Invoking G++): More documentation for PCH.
4006 (Precompiled Headers): New.
4007
4008 2002-08-09 Geoffrey Keating <geoffk@redhat.com>
4009
4010 * ggc.h: Don't include varray.h. Rearrange functions to be more
4011 organized.
4012 (ggc_add_root): Delete.
4013 (ggc_mark_rtx): Delete.
4014 (ggc_mark_tree): Delete.
4015 (struct ggc_statistics): Remove contents.
4016 * ggc-common.c: Remove unneeded includes.
4017 (struct ggc_root): Delete.
4018 (roots): Delete.
4019 (ggc_add_root): Delete.
4020 (ggc_mark_roots): Don't mark `roots'. Call ggc_mark_stringpool.
4021 (ggc_print_common_statistics): Remove most of the contents.
4022 * Makefile.in (GGC_H): No longer uses varray.h.
4023 (ggc-common.o): Update dependencies.
4024 (c-parse.o): Add varray.h to dependencies.
4025 (c-common.o): Add varray.h.
4026 * stringpool.c (mark_ident): Use mangled name for tree marker routine.
4027 (mark_ident_hash): Rename to ggc_mark_stringpool.
4028 (init_stringpool): Don't use ggc_add_root.
4029 * c-parse.in: Include varray.h.
4030 * c-common.c: Include varray.h.
4031 * objc/Make-lang.in (objc-act.o): Add varray.h.
4032 * objc/objc-act.c: Include varray.h.
4033
4034 2002-07-25 Geoffrey Keating <geoffk@redhat.com>
4035
4036 * dwarf2out.c (dw_cfi_oprnd2_desc): Fix ISO-only function definition.
4037 (dw_cfi_oprnd1_desc): Likewise.
4038
4039 2002-07-17 Geoffrey Keating <geoffk@redhat.com>
4040
4041 * config/alpha/alpha.c (struct alpha_links): Use gengtype to mark;
4042 move out of ifdef.
4043 (alpha_links): Use gengtype to mark; move out of ifdef.
4044 (mark_alpha_links_node): Delete.
4045 (mark_alpha_links): Delete.
4046 (alpha_need_linkage): Use GGC to allocate splay tree, struct
4047 alpha_links, strings. Don't use ggc_add_root.
4048 * ggc-common.c (ggc_splay_alloc): New.
4049 (ggc_splay_dont_free): New.
4050 * ggc.h (ggc_mark_rtx): Update for changed name mangling.
4051 (ggc_mark_tree): Likewise.
4052 (splay_tree_new_ggc): New.
4053 (ggc_splay_alloc): Declare.
4054 (ggc_splay_dont_free): Declare.
4055 * dwarf2asm.c: Include gt-dwarf2asm.h.
4056 (mark_indirect_pool_entry): Delete.
4057 (mark_indirect_pool): Delete.
4058 (indirect_pool): Use gengtype to mark.
4059 (dw2_force_const_mem): Don't use ggc_add_root.
4060 * Makefile.in (dwarf2asm.o): Depend on gt-dwarf2asm.h.
4061 (GTFILES): Add SPLAY_TREE_H, dwarf2asm.c.
4062 (gt-dwarf2asm.h): Depend on s-gtype.
4063
4064 2002-07-08 Geoffrey Keating <geoffk@redhat.com>
4065
4066 * tree.h (union tree_type_symtab): Mark `die' field.
4067 * Makefile.in (dwarf2out.o): Update dependencies.
4068 * dwarf2out.c: Use GGC to allocate all structures. Convert to htab_t
4069 hash tables.
4070 (dw_cfi_oprnd1_desc): New function.
4071 (dw_cfi_oprnd2_desc): New function.
4072 (indirect_string_alloc): Delete.
4073 (debug_str_do_hash): New function.
4074 (debug_str_eq): New function.
4075 (mark_limbo_die_list): Delete.
4076 (dwarf2out_init): Don't call ggc_add_root.
4077
30028c85
VM
40782003-01-09 Vladimir Makarov <vmakarov@redhat.com>
4079
4080 The following changes are merged from itanium-sched-branch:
4081
4082 2003-01-08 David Edelsohn <edelsohn@gnu.org>
4083
4084 * doc/md.texi: Clarify assignment of units to automata description.
4085
4086 2003-01-08 Vladimir Makarov <vmakarov@redhat.com>
4087
4088 * genautomata.c (unit_decl): Remove members
4089 `the_same_automaton_unit' and
4090 `the_same_automaton_message_reported_p'.
4091 (process_unit_to_form_the_same_automaton_unit_lists,
4092 form_the_same_automaton_unit_lists_from_regexp,
4093 form_the_same_automaton_unit_lists, the_same_automaton_lists):
4094 Remove them.
4095 (annotation_message_reported_p): New global variable.
4096 (check_unit_distribution_in_reserv,
4097 check_regexp_units_distribution): New functions.
4098 (check_unit_distributions_to_automata): Rewrite it.
4099
4100 2003-01-04 Vladimir Makarov <vmakarov@redhat.com>
4101
4102 * genautomata.c (form_the_same_automaton_unit_lists_from_regexp):
4103 Use continue instead of break if cycle is too big.
4104
4105 2002-12-20 Vladimir Makarov <vmakarov@redhat.com>
4106
4107 * genautomata.c (check_unit_distributions_to_automata): Output at
4108 most one message for a unit.
4109 (process_unit_to_form_the_same_automaton_unit_lists): Check
4110 automaton of units instead of units themself.
4111
4112 * doc/md.texi: Describe the constraint about assigning unit to
4113 automata.
4114
4115 2002-12-20 Jan Hubicka <jH@suse.cz>
4116 Vladimir Makarov <vmakarov@redhat.com>
4117
4118 * genautomata.c (unit_decl): Add new members `min_occ_cycle_num'
4119 and `in_set_p'.
4120 (gen_cpu_unit): Initialize the new members.
4121 (process_regexp_cycles): Calculate minimal finish cycle too. Set
4122 up `min_occ_cycle_num'.
4123 (evaluate_max_reserv_cycles): Change the function call.
4124 (CLEAR_BIT): New macro.
4125 (states_union, state_shift): Use the mask.
4126 (initiate_excl_sets, form_reserv_sets_list): Set up `in_set_p'.
4127 (form_reservs_matter): New function.
4128 (make_automaton): Call the function and use the mask.
4129 (estimate_one_automaton_bound): Take `min_occ_cycle_num' into
4130 account.
07488f32 4131
30028c85
VM
4132 2002-12-17 Vladimir Makarov <vmakarov@redhat.com>
4133
4134 * config/ia64/itanium2.md (lfetch): Change the insn reservation.
4135
4136 2002-12-17 Vladimir Makarov <vmakarov@redhat.com>
4137
4138 * config/ia64/ia64.c (bundling): Try to insert 2 nops for M insn
4139 for Itanium.
4140
4141 2002-12-17 Vladimir Makarov <vmakarov@redhat.com>
4142
4143 * config/ia64/ia64.c (ia64_override_options): Make itanium2 as
4144 default cpu.
4145
4146 2002-12-17 Vladimir Makarov <vmakarov@redhat.com>
4147 2002-10-31 Dale Johannesen <dalej@apple.com>
4148
4149 * haifa-sched.c (find_set_reg_weight): New function.
4150 (find_insn_reg_weight): Use the new function.
4151 (schedule_block): Do sorting ready queue always
4152 after insn issue.
4153
4154 2002-11-27 Vladimir Makarov <vmakarov@redhat.com>
4155
4156 * config/ia64/ia64.c (bundling): Use MFI template instead of MLX.
4157
4158 2002-11-19 Vladimir Makarov <vmakarov@redhat.com>
4159
4160 * haifa-sched.c (choice_entry): New structure.
4161 (choice_stack, cycle_issued_insns): New variables.
4162 (max_issue): Rewrite it.
4163 (choose_ready): Set up ready_try for unknown insns too.
4164 (schedule_block): Allocate and free choice_stack. Set up
4165 and modify cycle_issued_insns.
4166
4167 * config/ia64/ia64.c (issue_nops_and_insn): Combine insn issue
4168 with and without filling the bundle.
4169 (bundling): Combine calls of issue_nops_and_insn.
07488f32 4170
30028c85
VM
4171 2002-10-17 Vladimir Makarov <vmakarov@redhat.com>
4172
4173 * config/ia64/itanium1.md: New file.
4174
4175 * config/ia64/itanium2.md: New file.
4176
4177 * config/ia64/ia64.md: Move DFA descriptions into the new files.
4178 Remove the old pipeline description.
07488f32 4179
30028c85
VM
4180 * config/ia64/ia64.c (ia64_override_options): Add aliases of
4181 itanium processor names.
07488f32 4182
30028c85
VM
4183 2002-10-16 Vladimir Makarov <vmakarov@redhat.com>
4184
4185 * config/ia64/ia64.c (bundling): Print states for Itanium2 too.
4186 (ia64_reorg): Set up queried unit codes for Itanium2 too.
4187
4188 * config/ia64/ia64.md: Add descriptions for Itanium2.
4189
4190 2002-10-08 Vladimir Makarov <vmakarov@redhat.com>
4191
4192 * config/ia64/ia64.h (processor_type): New enumeration.
4193 (ia64_tune, ia64_tune_string): New external declarations.
4194 (TARGET_OPTIONS): Add option `tune='.
4195
4196 * config/ia64/ia64.c (ia64_tune, ia64_tune_string): New global
4197 variables.
4198 (ia64_override_options): Set up `ia64_tune'.
4199 (ia64_sched_reorder2): Set up `clocks' only for Itanium.
4200 (ia64_dfa_new_cycle): Set up `add_cycles' only for Itanium.
4201 (bundling): Add nops for MM-insns only for Itanium.
4202 (ia64_reorg): Allocate and free `clocks' and `add_cycles' only for
4203 Itanium.
4204
4205 * config/ia64/ia64.md (cpu): New attribute.
4206 (DFA description): Enable it only for Itanium.
07488f32 4207
30028c85
VM
4208 2002-10-08 Vladimir Makarov <vmakarov@redhat.com>
4209 Richard Henderson <rth@redhat.com>
4210
4211 * config/ia64/ia64.h (MASK_TUNE_STOP_BITS): Rename it to
4212 MASK_EARLY_STOP_BITS.
4213 (TARGET_TUNE_STOP_BITS): Rename it to TARGET_EARLY_STOP_BITS.
4214 (TARGET_SWITCHES): Rename option `tune-stop-bits' to
4215 `early-stop-bits'.
07488f32 4216
30028c85
VM
4217 * config/ia64/ia64.c (ia64_dfa_new_cycle,
4218 final_emit_insn_group_barriers): Use TARGET_EARLY_STOP_BITS
4219 instead of TARGET_TUNE_STOP_BITS.
07488f32 4220
30028c85
VM
4221 * doc/invoke.texi: Rename option `-mtune-stop-bits' to
4222 `-mearly-stop-bits'.
4223
4224 * config/ia64/ia64.c (automata_option "v"): Comment it.
07488f32 4225
30028c85
VM
4226 2002-10-07 Vladimir Makarov <vmakarov@redhat.com>
4227
07488f32 4228 * config/ia64/ia64.h (MASK_TUNE_STOP_BITS, TARGET_TUNE_STOP_BITS):
30028c85
VM
4229 New macros.
4230 (TARGET_SWITCHES): Add entries for the new option.
07488f32 4231
30028c85
VM
4232 * config/ia64/ia64.c (dfa_stop_insn, last_scheduled_insn, rtx
4233 dfa_pre_cycle_insn, ia64_nop): Don't make them as roots for GC.
4234 (stops_p, stop_before_p, clocks_length, clocks, add_cycles): New
4235 global variables.
4236 (ia64_sched_reorder2): Set up `clocks'.
4237 (ia64_variable_issue): Set up `stops_p' and reset `stop_before_p'.
4238 (ia64_dfa_new_cycle): Set up add_cycle. Permit sorting ready
4239 queue when TARGET_TUNE_STOP_BITS.
4240 (bundling): Insert additional nops for MM-insns.
4241 (final_emit_insn_group_barriers): Add insertion of stop bits
4242 according `stops_p'.
4243 (ia64_reorg): Initiate the new varibales.
4244
4245 * doc/invoke.texi: Add description of option `-mtune-stop-bits'.
07488f32 4246
30028c85
VM
4247 2002-10-02 Vladimir Makarov <vmakarov@redhat.com>
4248
4249 * haifa-sched.c (schedule_block): Modify INSN_TICK of depended
4250 insns at the end of block insn scheduling.
4251
4252 2002-09-30 Vladimir Makarov <vmakarov@redhat.com>
4253
4254 * sched-deps.c (remove_dependence, group_leader): Remove it.
4255 (add_dependence): Add dependence to group leader to.
4256 (set_sched_group_p): Add dependence to the first insn of the
4257 schedule group too.
4258 (sched_analyze_insn): Make dependence to jump as anti-dependence.
4259 Change true dependence by anti-dependence when
4260 `reg_pending_barrier'.
4261
4262 * sched-rgn.c (init_ready_list, can_schedule_ready_p,
4263 add_branch_dependences): Ignore schedule groups.
4264
4265 * sched-ebb.c (init_ready_list): Ditto.
4266
4267 * (move_insn, set_priorities): Ditto.
4268
4269 * config/ia64/ia64.c (ia64_sched_init): Check that schedule group
4270 flag is clear after reload.
4271 (adjust_cost): Change cost only for output dependencies.
07488f32 4272
30028c85 4273 * config/ia64/ia64.md: Add more insns into bypass for MM-insns.
07488f32 4274
30028c85
VM
4275 2002-09-26 Vladimir Makarov <vmakarov@redhat.com>
4276
4277 * Makefile.in (sched-ebb.o): Add `$(TARGET_H)' to the entry.
4278
4279 * target.h (gcc_target): Add member
4280 `dependencies_evaluation_hook'.
4281
4282 * target-def.h (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK): New
4283 macro.
4284 (TARGET_SCHED): Add initiatialization of the new member.
4285
4286 * sched-ebb.c: Include `target.h'.
4287 (schedule_ebb): Call `dependencies_evaluation_hook'.
4288
4289 * sched-rgn.c (schedule_region): Call
4290 `dependencies_evaluation_hook'.
4291
4292 * config/ia64/ia64.c (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK):
4293 New macro.
4294 (ia64_dependencies_evaluation_hook): New function.
4295
4296 * doc/tm.texi (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK):
4297 Describe the new hook.
07488f32 4298
30028c85
VM
4299 2002-09-25 Vladimir Makarov <vmakarov@redhat.com>
4300
4301 * target.h (gcc_target): Add members
4302 `first_cycle_multipass_dfa_lookahead_guard' and `dfa_new_cycle'.
4303
4304 * target-def.h (TARGET_SCHED_DFA_NEW_CYCLE,
4305 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD): New
4306 macros.
4307 (TARGET_SCHED): Add initiatialization of the new members.
4308
4309 * haifa-sched.c (schedule_insn): Update last_clock_var for the 1st
4310 insn scheduling too.
4311 (choose_ready): Use `first_cycle_multipass_dfa_lookahead_guard' to
4312 initialize `ready_try'.
4313 (schedule_block): Use `dfa_new_cycle'. Sort `ready' only unless
4314 `dfa_new_cycle' says not to do it.
07488f32 4315
30028c85
VM
4316 * config/ia64/ia64.md: Add DFA Itanium 1 description for insn
4317 bundling.
4318
4319 * config/ia64/ia64.h (CPU_UNITS_QUERY): New macro.
4320
4321 * config/ia64/ia64.c: Include `hashtab.h'.
4322 (ia64_first_cycle_multipass_dfa_lookahead_guard,
4323 ia64_dfa_new_cycle, final_emit_insn_group_barriers,
4324 ia64_dfa_sched_reorder, get_free_bundle_state, free_bundle_state,
4325 initiate_bundle_states, finish_bundle_states, bundle_state_hash,
4326 bundle_state_eq_p, insert_bundle_state,
4327 initiate_bundle_state_table, finish_bundle_state_table,
4328 try_issue_nops, try_issue_insn, issue_nops_and_insn, get_max_pos,
4329 get_template, get_next_important_insn, bundling): New functions.
4330 (ia64_internal_sched_reorder): Remove it.
4331 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
4332 TARGET_SCHED_DFA_NEW_CYCLE): New macros.
4333 (ia64_safe_itanium_requires_unit0): Remove it.
4334 (group_barrier_needed_p): Place group barrier right before a real
4335 insn.
4336 (bundle, ia64_packet, NR_PACKETS, type_names, packets, packets):
4337 Remove them.
4338 (bundle_name): New variable.
4339 (_0mii_, _0mmi_, _0mfi_, _0mmf_, _0bbb_, _0mbb_, _0mib_, _0mmb_,
4340 _0mfb_, _0mlx_, _1mii_, _1mmi_, _1mfi_, _1mmf_, _1bbb_, _1mbb_,
4341 _1mib_, _1mmb_, _1mfb_, _1mlx_, pos_1, pos_2, pos_3, pos_4, pos_5,
4342 pos_6, dfa_stop_insn, last_scheduled_insn, dfa_state_size,
4343 temp_dfa_state, prev_cycle_state): New global variables.
4344 (insn_matches_slot, maybe_rotate, finish_last_head,
4345 rotate_one_bundle, rotate_one_bundles, nop_cycles_until,
4346 cycle_end_fill_slots, packet_matches_p, get_split, find_best_insn,
4347 find_best_packet, itanium_reorder, dump_current_packet,
4348 schedule_stop, gen_nop_type, ia64_emit_nops): Remove them.
4349 (sched_data, sched_ready, sched_types): Remove them.
4350 (ia64_sched_init): Initiate only `last_scheduled_insn' and call
4351 `init_insn_group_barriers'.
4352 (ia64_sched_reorder, ia64_sched_reorder2): Call
4353 ia64_dfa_sched_reorder.
4354 (ia64_variable_issue): Rewrite it.
4355 (bundle_state): New structure.
4356 (index_to_bundle_states, bundle_states_num,
4357 allocated_bundle_states_chain, free_bundle_state_chain): New
4358 global variables.
4359 (ia64_sched_finish): Add stop bits and call `bundling' after the
4360 2nd insn scheduling.
4361 (ia64_use_dfa_pipeline_interface): Return zero always.
4362 (ia64_first_cycle_multipass_dfa_lookahead): Return 6 for the 2nd
4363 insn scheduling.
4364 (ia64_init_dfa_pre_cycle_insn): Initialize `dfa_state_size',
4365 `temp_dfa_state', `prev_cycle_state', and `dfa_stop_insn'.
4366 (ia64_reorg): Add bundling insns.
4367
4368 * doc/tm.texi
4369 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
4370 TARGET_SCHED_DFA_NEW_CYCLE): Describe the new hooks.
07488f32 4371
30028c85
VM
4372 2002-09-23 Vladimir Makarov <vmakarov@redhat.com>
4373
4374 * config/ia64/ia64.md: Add Itanium1 DFA description.
4375 (itanium_class): Add `nop' and `pre_cycle'. Add
4376 define_function_unit for `nop'.
4377 (nop): Change attribute `itanium_class'.
4378 (pre_cycle): New define_insn.
4379
4380 * config/ia64/ia64-protos.h (bundling_p): New external variable.
4381 (ia64_st_address_bypass_p, ia64_ld_address_bypass_p,
4382 ia64_produce_address_p): New function prototypes.
4383
4384 * config/ia64/ia64.c (bundling_p): New global variable.
4385 (ia64_use_dfa_pipeline_interface,
4386 ia64_first_cycle_multipass_dfa_lookahead,
4387 ia64_init_dfa_pre_cycle_insn, ia64_dfa_pre_cycle_insn): New
4388 functions.
4389 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
4390 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
4391 TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
4392 TARGET_SCHED_DFA_PRE_CYCLE_INSN): New macros.
4393 (ia64_sched_init, ia64_sched_reorder, ia64_sched_reorder2,
4394 ia64_variable_issue, ia64_sched_finish): Do nothing before reload.
4395 (dfa_pre_cycle_insn): New variable.
07488f32 4396
30028c85
VM
4397 2002-09-20 Vladimir Makarov <vmakarov@redhat.com>
4398
4399 * rtl.def (FINAL_PRESENCE_SET, FINAL_ABSENCE_SET): New
4400 constructions.
4401
4402 * genattrtab.h (gen_final_presence_set, gen_final_absence_set):
4403 New function prototypes.
4404
4405 * genattrtab.c (main): Process the new constructions.
4406
4407 * genautomata.c (gen_presence_absence_set,
4408 process_presence_absence_names, process_presence_absence_patterns,
4409 add_presence_absence, check_absence_pattern_sets): Add parameter
4410 `final_p'.
4411 (unit_decl): Add new members `final_presence_list' and
4412 `final_absence_list'.
4413 (unit_pattern_rel_decl): Add new member `final_p'.
4414 (gen_final_presence_set, gen_final_absence_set): New functions.
4415 (process_decls): Use member `final_p'.
4416 (temp_reserv): New global variable.
4417 (reserv_sets_are_intersected): Add processing `final_presence_set'
4418 and `final_absence_set'.
4419 (initiate_states): Allocate `temp_reserv'.
4420 (unit_final_presence_set_table, unit_final_absence_set_table): New
4421 gloabal variables.
4422 (initiate_presence_absence_pattern_sets): Initiate them.
4423 (NDFA_to_DFA): Fix typo.
4424 (output_description): Output `final_presence_set' and
4425 `final_absence_set'.
4426
4427 * doc/md.texi (final_presence_set, final_absence_set): Describe
4428 them.
07488f32 4429
30028c85
VM
4430 2002-09-20 Vladimir Makarov <vmakarov@redhat.com>
4431
4432 * genautomata.c (transform_3): Process a missing case (nothing on
4433 unit place).
4434
4435 2002-09-20 Vladimir Makarov <vmakarov@redhat.com>
4436
4437 * rtl.def (DEFINE_QUERY_CPU_UNIT, AUTOMATA_OPTION): Change
4438 comments about queried units and the minimization.
07488f32 4439
30028c85 4440 * doc/md.texi: Ditto.
07488f32 4441
30028c85
VM
4442 * genautomata.c (create_composed_state): Return nonzero if the new
4443 state has been created.
4444 (first_cycle_unit_presence): New function.
4445 (state_is_differed): Add new parameter. Use the new function.
4446 Take queried units into account.
4447 (partition_equiv_class): Pass additional parameter to
4448 `state_is_differed'.
4449 (merge_states): Process composed states too.
4450 (build_automaton, create_automata, output_min_issue_delay_table,
4451 output_tables, output_statistics): Output more information.
4452 (output_reserved_units_table): Use function
4453 `first_cycle_unit_presence'.
4454 (output_tables): Output table of queried units even if the
4455 minimization is switched on.
4456 (write_automata): Output code for querying units even if the
4457 minimization is switched on.
07488f32 4458
30028c85
VM
4459 2002-09-19 Vladimir Makarov <vmakarov@redhat.com>
4460
4461 * rtl.def (PRESENCE_SET, ABSENCE_SET): Add comments about extended
4462 syntax of the constructions.
07488f32 4463
30028c85
VM
4464 * doc/md.texi (PRESENCE_SET, ABSENCE_SET): Add description of
4465 extended syntax of the constructions.
07488f32 4466
30028c85
VM
4467 * genautomata.c (unit_rel_decl): Rename it to
4468 `unit_pattern_rel_decl'.
4469 (pattern_set_el, pattern_reserv): New structures.
4470 (pattern_set_el_t, pattern_reserv_t): New types.
4471 (gen_presence_absence_set): New function.
4472 (process_presence_absence): Remove it.
4473 (process_presence_absence_names,
4474 process_presence_absence_patterns): New functions.
4475 (get_presence_absence_set): Remove it.
4476 (initiate_presence_absence_sets): Rename it on
4477 `initiate_presence_absence_pattern_sets'. Use new function
4478 `form_reserv_sets_list'.
4479 (form_reserv_sets_list, check_presence_pattern_sets,
4480 check_absence_pattern_sets, output_pattern_set_el_list): New
4481 functions.
4482 (unit_decl): Change types of members `presence_list' and
4483 `absence_list'.
4484 (unit_rel_decl): Rename member `names_num' to `all_names_num'.
4485 (decl): Change types of members `excl', `presence', and `absence'.
4486 (get_str_vect): Rename `par_flag' to `paren_p'. Add null element
4487 at the end of the vector.
4488 (gen_cpu_unit, gen_query_cpu_unit, gen_bypass, gen_excl_set,
4489 gen_automaton, gen_regexp_repeat, gen_regexp_allof,
4490 gen_regexp_oneof, gen_regexp_sequence): Use boolean values.
4491 (gen_presence_set, gen_absence_set): Use new function
4492 `gen_presence_absence_set'.
4493 (add_presence_absence): Process `pattern_list' instead of
4494 `source_list'.
4495 (process_decls): USe new functions
4496 `process_presence_absence_names' and
4497 `process_presence_absence_patterns'.
4498 (reserv_sets_are_intersected): Use new function
4499 `check_presence_pattern_sets'.
4500 (presence_set, absence_set): Remove them.
4501 (unit_presence_set_table, unit_absence_set_table): New global
4502 variables.
4503 (output_description): Use new function
4504 `output_pattern_set_el_list'.
4505 (generate): Use `initiate_presence_absence_pattern_sets'.
07488f32 4506
30028c85
VM
4507 2002-09-18 Vladimir Makarov <vmakarov@redhat.com>
4508
4509 * genattr.c (main): Add output of prototype of new interface
4510 function `dfa_clean_insn_cache'.
4511
4512 * genautomata.c (output_dfa_clean_insn_cache_func): New function.
4513 (DFA_CLEAN_INSN_CACHE_FUNC_NAME): New macro.
4514 (output_dfa_start_func): Use function `dfa_clean_insn_cache' in
4515 the generated code.
4516 (write_automata): Call the new function.
07488f32 4517
cb297538
JH
4518Thu Jan 9 22:47:38 CET 2003 Jan Hubicka <jh@suse.cz>
4519
17211ab5
GK
4520 * i386.md (unit, prefix_0f, memory attributes): Hanlde sseicvt
4521 correctly.
cb297538 4522
3a6e2189
PC
45232003-01-09 Paolo Carlini <pcarlini@unitus.it>
4524
4525 * doc/tm.texi (EXTRA_ADDRESS_CONSTRAINT): Fix typo.
4526
97488870
R
4527Thu Jan 9 17:26:40 2003 J"orn Rennecke <joern.rennecke@superh.com>
4528
4529 * defaults.h (EXTRA_MEMORY_CONSTRAINT): Add STR argument.
4530 (EXTRA_ADDRESS_CONSTRAINT): Likewise.
4531 (CONSTRAINT_LEN): Provide default definition.
4532 (CONST_OK_FOR_CONSTRAINT_P): Likewise.
4533 (CONST_DOUBLE_OK_FOR_CONSTRAINT_P): Likewise.
4534 (EXTRA_CONSTRAINT_STR): Likewise.
4535 (REG_CLASS_FROM_CONSTRAINT): Define.
4536 * genoutput.c (check_constraint_len, constraint_len): New functions.
4537 (validate_insn_alternatives): Check CONSTRAINT_LEN for each
4538 constraint / modifier.
4539 (gen_insn): Call check_constraint_len.
4540 * local-alloc.c (block_alloc): Update to use new macros / pass
4541 second argument to EXTRA_{MEMORY,ADDRESS}_CONSTRAINT.
4542 * ra-build.c (handle_asm_insn): Likewise.
4543 * recog.c (asm_operand_ok, preprocess_constraints): Likewise.
4544 (constrain_operands, peep2_find_free_register): Likewise.
4545 * regclass.c (record_operand_costs, record_reg_classes): Likewise.
4546 * regmove.c (find_matches): Likewise.
4547 * reload.c (push_secondary_reload, find_reloads): Likewise.
4548 (alternative_allows_memconst): Likewise.
4549 * reload1.c (maybe_fix_stack_asms): Likewise.
4550 (reload_cse_simplify_operands): Likewise.
4551 * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
4552 * doc/tm.texi (CONSTRAINT_LEN, REG_CLASS_FROM_CONSTRAINT): Document.
4553 (CONST_OK_FOR_CONSTRAINT_P): Likewise.
4554 (CONST_DOUBLE_OK_FOR_CONSTRAINT_P, EXTRA_CONSTRAINT_STR): Likewise.
4555 (EXTRA_MEMORY_CONSTRAINT, EXTRA_ADDRESS_CONSTRAINT): Add STR argument.
4556 * config/s390/s390.h (EXTRA_MEMORY_CONSTRAINT): Likewise.
e2c734c1
R
4557
4558 * sh.h (OVERRIDE_OPTIONS): Allow first scheduling pass for SH5.
4559
fc182093
KH
45602003-01-09 Kazu Hirata <kazu@cs.umass.edu>
4561
4562 * config/h8300/h8300.md (*extzv_1_r_h8300): Correct the insn
4563 length.
4564 (*extzv_1_r_h8300hs): Likewise.
4565 (*extzv_1_r_inv_h8300): Likewise.
4566 (*extzv_1_r_inv_h8300hs): Likewise.
4567
3b1c9927
KH
45682003-01-09 Kazu Hirata <kazu@cs.umass.edu>
4569
4570 * config/h8300/h8300.h (PREDICATE_CODES): New.
4571
867504e6
KH
45722003-01-09 Kazu Hirata <kazu@cs.umass.edu>
4573
4574 * config/h8300/h8300.md (*addsi3_upper): New.
4575 (*iorsi3_shift): Likewise.
4576 (two splitters): Likewise.
4577 (*addsi3_shift): Likewise.
4578 (two splitters): Likewise.
4579
4a69cf79
JZ
45802003-01-09 Josef Zlomek <zlomj9am@artax.karlin.mff.cuni.cz>
4581
4582 * Makefile.in (optabs.o): Add dependency on basic-block.h.
4583 * basic-block.h (control_flow_insn_p): Fuction was exported.
4584 * cfgbuild.c (control_flow_insn_p): Fuction was made non-static.
4585 * optabs.c (emit_libcall_block): Emit REG_LIBCALL and REG_RETVAL
4586 notes only when the region is contained in a single basic block.
4587
4c46ea23
EB
45882003-01-09 Eric Botcazou <ebotcazou@libertysurf.fr>
4589
4590 PR inline-asm/8832
4591 * tree.h (expand_asm): New prototype.
4592 * stmt.c (expand_asm): Set the MEM_VOLATILE_P flag if instructed
4593 to do so.
4594 * c-semantics (genrtl_asm_stmt): Pass the RID_VOLATILE qualifier
4595 down to expand_asm.
4596 * c-typeck.c (simple_asm_stmt): Set the RID_VOLATILE qualifier.
4597 * rtlanal.c (volatile_insn_p) [ASM_INPUT]: Test the MEM_VOLATILE_P flag.
4598 (volatile_refs_p) [ASM_INPUT]: Likewise.
4599 (side_effects_p) [ASM_INPUT]: Likewise.
4600
f56e86bd
JH
4601Thu Jan 9 12:00:36 CET 2003 Jan Hubicka <jh@suse.cz>
4602
4603 * i386.md (*mul*): FIx constraints; remove confused comment; fix
4604 athlon_decode attributes
4605 (imul/k8 optimization peep2s): New.
4606
4607 * athlon.md (athlon_ssecmp*): Handle ssecomi as well.
4608 * i386.md (type attribute): Add ssecomi.
4609 (unit, memory, prefix attributes): Handle ssecomi.
4610 (cvt?2? patterns): Fix athlon_decode attribute
4611 (comi patterns): Set attribute to ssecomi.
4612
4613 PR target/8343
4614 * m68k.md (umulsidi, mulsidi expanders): Use register operand.
4615
98c29f71
RS
46162003-01-09 Richard Sandiford <rsandifo@redhat.com>
4617
4618 * config/mips/mips.h (PREDICATE_CODES): Add ADDRESSOF for predicates
4619 that match register_operands.
4620 * config/mips/mips.c (reg_or_0_operand, true_reg_or_0_operand): Make
4621 register_operand the default case.
4622
bbb818c6
EB
46232003-01-09 Eric Botcazou <ebotcazou@libertysurf.fr>
4624
4625 PR c/8032
4626 * c-typeck.c (process_init_element) [RECORD_TYPE]: For
4627 an empty element, do not advance the pointer to unfilled
4628 fields if there are pending initializers.
4629
90961eff
AJ
46302003-01-09 Christian Cornelssen <ccorn@cs.tu-berlin.de>
4631
4632 * Makefile.in (ORDINARY_FLAGS_TO_PASS): Also pass DESTDIR.
4633 (install-gcc-tooldir, install-cpp, installdirs,
4634 install-common, install-driver, install-info, install-man,
4635 install-headers, install-include-dir, install-headers-tar,
4636 install-headers-cpio, install-headers-cp, install-mkheaders,
4637 install-collect2, uninstall): Prepend $(DESTDIR) to
4638 destination paths in all (un)installation commands.
4639 (install-driver): Rewrite $(LN) commands to support DESTDIR
4640 with "ln" as well as with "ln -s".
4641 (installdirs): Simply use mkinstalldirs.
4642 (install-libgcc, install-multilib): Also pass DESTDIR.
4643 * mklibgcc.in: Prepend $(DESTDIR) to $(libsubdir) in the
4644 installation destination variable ldir.
4645 * config/alpha/t-osf4, config/arm/t-netbsd,
4646 config/ia64/t-hpux, config/mips/t-iris5-6,
4647 config/pa/t-hpux-shlib, config/rs6000/t-aix43,
4648 config/rs6000/t-aix52, config/t-slibgcc-elf-ver,
4649 config/t-slibgcc-sld: Prepend $$(DESTDIR) to $$(slibdir)
4650 in the definition of SHLIB_INSTALL.
4651 * config/arc/t-arc (install-multilib-arc): Prepend $(DESTDIR) to
4652 $(libsubdir) in the installation commands.
4653
8b26829f
KK
46542003-01-08 Kaz Kojima <kkojima@gcc.gnu.org>
4655
4656 * config/sh/sh.h (CASE_VECTOR_MODE): Use SImode for a
4657 non-optimizing compile.
4658 (ASM_OUTPUT_ADDR_VEC_ELT): Use .long for a non-optimizing
4659 compile.
4660
fe77449a
DR
46612003-01-08 Douglas B Rupp <rupp@gnat.com>
4662
4663 * config/i386/i386.c (ix86_attribute_table): Add new attributes
4664 ms_struct and gcc_struct.
4665 (ix86_handle_struct_attribute): New function.
4666 (ix86_ms_bitfield_layout_p): Update to take new attributes
4667 into account.
4668 * doc/extend.texi: Document new attributes.
4669 * testsuite/gcc.dg/bf-ms-attrib.c: New test.
4670
98417968
DS
46712003-01-08 Danny Smith <dannysmith@users.sourceforge.net>
4672
07488f32
ZW
4673 PR optimization/8750
4674 * config/i386/i386.c (ix86_expand_prologue): Don't allow
4675 scheduling pass to move insns across __alloca call.
98417968 4676
e46e3130
DJ
46772003-01-08 Dale Johannesen <dalej@apple.com>
4678
07488f32
ZW
4679 * config/rs6000/rs6000.md: Replace *store_multiple_string
4680 with *stmsi[3-8].
e46e3130 4681
c40e5172
JS
46822003-01-08 Jeff Sturm <jsturm@one-point.com>
4683
4684 PR target/9210
4685 * config/rs6000/rs6000.c (rs6000_elf_encode_section_info):
4686 Set SYMBOL_REF_FLAG on local data sym_ref.
4687
de62b72c 46882003-01-08 Dale Johannesen <dalej@apple.com>
07488f32
ZW
4689
4690 * function.c (assign_parms): Don't set pretend_args_size if
de62b72c 4691 REG_PARM_STACK_SPACE.
07488f32 4692 config/rs6000/rs6000.c (setup_incoming_varargs): Don't set
de62b72c
DJ
4693 pretend_args_size.
4694
25839c41
NN
46952003-01-08 Nathanael Nerode <neroden@gcc.gnu.org>
4696
4697 * gcc.hlp: Delete.
4698
4bdc8610
JH
4699Thu Jan 9 00:57:15 CET 2003 Jan Hubicka <jh@suse.cz>
4700
4701 * i386.c (ix86_expand_int_addcc): Fix thinko.
4702
5b71a4e7
DE
47032003-01-08 David Edelsohn <edelsohn@gnu.org>
4704
4705 * config/rs6000/rs6000.h (FUNCTION_MODE): Always use SImode.
4706 * config/rs6000/rs6000.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Redefine
4707 as hook_bool_tree_hwi_hwi_tree_true.
4708 (rs6000_emit_allocate_stack): Use TARGET_32BIT.
4709 (rs6000_emit_epilogue): Same.
4710 (rs6000_output_mi_thunk): Re-implement as RTL.
4711 * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Call
4712 xcoffout_declare_function if any debugging enabled.
4713
2d2a50c3
CD
47142003-01-08 Chris Demetriou <cgd@broadcom.com>
4715
4716 * config.gcc (mipsisa32r2-*-elf*, mipsisa32r2el-*-elf*): New
4717 targets, to support MIPS32 Release 2 (MIPS32R2) configurations.
4718 * config/mips/mips.h (enum processor_type): Rename
4719 PROCESSOR_R4KC to PROCESSOR_4KC, PROCESSOR_R5KC to
4720 PROCESSOR_5KC, and PROCESSOR_R20KC to PROCESSOR_20KC.
4721 Add PROCESSOR_M4K.
4722 (TARGET_MIPS4KC, TARGET_MIPS5KC): Update for the renaming.
4723 (ISA_MIPS32R2): New define.
4724 (GENERATE_MULT3_SI, ISA_HAS_CONDMOVE, ISA_HAS_8CC)
4725 (ISA_HAS_MADD_MSUB, ISA_HAS_CLZ_CLO)
4726 (ISA_HAS_PREFETCH): Add support for MIPS32R2.
4727 (MIPS_ISA_DEFAULT): Likewise. Also, fix indentation.
4728 (TARGET_CPU_CPP_BUILTINS): Add support for MIPS32R2. Add new
4729 predefine __mips_isa_rev for MIPS32, MIPS32R2, and MIPS64.
4730 (ISA_HAS_ROTR_SI): Add support for MIPS32R2, and avoid if
4731 compiling MIPS16 code.
4732 (ISA_HAS_ROTR_DI): Do not use if compiling MIPS16 code, and fix
4733 comment.
4734 (ISA_HAS_SEB_SEH): New define.
4735 (ASM_SPEC, LINK_SPEC): Pass -mips32r2 to assembler and linker.
4736 * config/mips/mips.c (mips_cpu_info_table): Adjust for enum
4737 processor_type value renaming. Add support for MIPS32R2.
4738 Clean up comments, and move "sb1" entry with other MIPS64 CPU
4739 entries.
4740 (override_options): Reimplement -mipsN option handling so that
4741 it will work correctly for -mips32r2. Avoid branch-likely
4742 instructions on MIPS32R2.
4743 * config/mips/mips.md (mulsi3_mult3): Add support for MIPS32R2.
4744 (extendhisi2): Use extendhisi2_hw if ISA_HAS_SEB_SEH.
4745 (extendqisi2): Use extendqisi2_hw if ISA_HAS_SEB_SEH.
4746 (extendhisi2_hw, extendqisi2_hw): New.
4747 * config/mips/netbsd.h (TARGET_CPU_CPP_BUILTINS): Add support
4748 for MIPS32R2. Add new predefine __mips_isa_rev for MIPS32,
4749 MIPS32R2, and MIPS64.
4750 (LINK_SPEC): Pass -mips32r2 to linker.
4751 * config/mips/t-isa3264: Built -mips32r2 multilibs.
4752 * doc/invoke.texi (MIPS Options): Add -mips32r2, add support
4753 for mips32r2 in the -march description. Alphabetically sort
4754 CPU names in the -march description. Add long-missed -mips32
4755 and -mips64 to MIPS option summary.
4756
4757 * config.gcc: Update copyright years to include 2003.
4758 * config/mips/mips.c: Likewise.
4759 * config/mips/mips.h: Likewise.
4760 * config/mips/mips.md: Likewise.
4761 * config/mips/netbsd.h: Likewise.
4762 * doc/invoke.texi: Likewise.
4763
918c4fe4
AS
47642003-01-08 Andreas Schwab <schwab@suse.de>
4765
4766 * aclocal.m4 (gcc_AC_INITFINI_ARRAY): Fix spelling of cache
4767 variable.
4768 * configure: Regenerated.
4769
c5e7ce43
KH
47702003-01-08 Kazu Hirata <kazu@cs.umass.edu>
4771
4772 * config/h8300/h8300.c (output_logical_op): Replace byte/word
4773 extraction of det with b0, b1, w0, w2, etc.
4774 (compute_logical_op_length): Likewise.
4775 (compute_logical_op_cc): Likewise.
4776
eb8a8ec4
KH
47772003-01-08 Kazu Hirata <kazu@cs.umass.edu>
4778
4779 * config/h8300/h8300.h (CONSTANT_ADDRESS_P): Allow CONST and
4780 HIGH on all variants.
4781
56f15830 4782Wed Jan 8 14:06:34 CET 2003 Josef Zlomek <zlomj9am@artax.karlin.mff.cuni.cz>
07488f32 4783
56f15830
JZ
4784 * Makefile.in (PARTITION_H): New.
4785 (BASIC_BLOCK_H): Added hard-reg-set.h and $(PARTITION_H).
4786 * basic-block.h: Include hard-reg-set.h.
4787
ab57893b
RE
47882003-01-08 Richard Earnshaw <rearnsha@arm.com>
4789
4790 * arm.h (ENABLE_XF_PATTERNS): Delete.
4791 * arm.md (addxf3, subxf3, mulxf3, divxf3, modxf3, negxf2, absxf2)
4792 (sqrtxf2, floatsixf2, fix_truncxfsi2, truncxfsf2, truncxfdf2)
4793 (extendsfxf2, extenddfxf2, movxf, cmpxf, cmpxf_insn)
4794 (cmpxf_trap): Delete.
4795 (movxf_hard_insn): Remove test of ENABLE_XF_PATTERNS.
4796
7b52eede
JH
4797Wed Jan 8 12:10:57 CET 2003 Jan Hubicka <jh@suse.cz>
4798
4799 * i386.md (adddi3_carry_rex64, subdi3_carry_rex64): Name pattern.
4800 (addhi3_carry, addqi3_carry, subhi3_carry, subqi3_carry): New patterns.
4801 (add??cc): New expanders.
4802 * i386.c (expand_int_addcc): New function.
4803 * i386-protos.h (expand_int_addcc): Declare.
4804
4805 * alias.c (memory_modified_1): New static function.
4806 (memory_modified): New static varaible.
4807 (memory_modified_in_insn_p): New global function.
4808 * rtl.h (memory_modified_in_insn_p): Declare.
4809 * rtlanal.c (modified_between_p, modified_in_p): Be smart about memory
4810 references.
4811
4812 * expr.h (emit_conditional_add): Declare.
4813
74049755
JJ
48142003-01-07 Janis Johnson <janis187@us.ibm.com>
4815
4816 PR other/8947
4817 * doc/invoke.texi (-malign-double): Explain that the option breaks
4818 binary compatibility.
4819
e7edc5a0
AS
48202003-01-08 Andreas Schwab <schwab@suse.de>
4821
4822 * config.gcc (m68k-*-linux*): Don't set extra_parts and gnu_ld,
4823 should come from the generic *-*-linux* entry.
4824
9635cfad
JH
4825Tue Jan 7 22:29:56 CET 2003 Jan Hubicka <jh@suse.cz>
4826
4827 * cselib.c (cselib_current_insn_in_libcall): New static variable.
4828 (new_elt_loc_list, cselib_process_insn, cselib_init): Keep track on whether
4829 we are inside libcall.
4830 * cselib.h (elt_loc_list): Add in_libcall.
4831 * gcse.c (do_local_cprop): Do not copy propagate using insns
4832 in libcalls.
4833
3ee04299
DE
48342003-01-07 David Edelsohn <edelsohn@gnu.org>
4835
4836 * doc/tm.texi (TARGET_SCHED_VARIABLE_ISSUE): CLOBBER and USE do
4837 not normally affect to issue rate.
4838
068f5dea
JH
4839Tue Jan 7 21:46:57 CET 2003 Jan Hubicka <jh@suse.cz>
4840
4841 * genopinit.c (optabs): Add addc_optab.
4842 * ifcvt.c (noce_try_store_flag): Rename to ...
4843 (noce_try_addcc): ... this one; handle generic conditional increment.
4844 (noce_process_if_block): Update noce_try_addcc call.
4845 * optabs.c (emit_conditional_add): New.
4846 (init_obtabs): Initialize addc_optab.
4847 * optabs.h (optab_index): Add OTI_addcc.
4848 (addcc_optab): New macro.
4849 * md.texi: Document addMcc
4850
4851 PR target/8322
4852 * i386.c (ix86_init_mmx_sse_builtins): Constify arguments of loads.
4853 * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
4854 * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
4855
4856 * reload1.c (delete_output_reload): Avoid repeated attempts
4857 to delete insn.
4858
eb70d86d
AS
48592003-01-07 Andreas Schwab <schwab@suse.de>
4860
e7edc5a0
AS
4861 * configure.in: Restore CFLAGS before gcc_AC_INITFINI_ARRAY.
4862 Move --enable-initfini-array check ...
4863 * aclocal.m4 (gcc_AC_INITFINI_ARRAY): ... here. Define
4864 HAVE_INITFINI_ARRAY also when --enable-initfini-array is given.
4865 Don't AC_SUBST gcc_cv_initfinit_array. Use AC_TRY_RUN.
4866 * configure: Rebuild.
eb70d86d 4867
1afdf91c
RH
48682003-01-07 Richard Henderson <rth@redhat.com>
4869
e7edc5a0
AS
4870 * alias.c (find_base_value): Only use new_reg_base_value shortcut
4871 if the register is set once.
1afdf91c 4872
36210500 48732003-01-07 Sylvain Pion <Sylvain.Pion@mpi-sb.mpg.de>
07488f32 4874
36210500
SP
4875 * config/i386/i386.c (ix86_init_mmx_sse_builtins):
4876 __builtin_ia32_ldmxcsr and __builtin_ia32_stmxcsr are SSE, not MXX.
4877 * config/i386/i386.md (ldmxcsr, stmxcsr): SSE, not MMX.
4878
cb25b0ce
BK
48792003-01-07 Benjamin Kosnik <bkoz@redhat.com>
4880 Sunil Davasam <sunil.k.davasam@intel.com>
4881
07488f32 4882 PR libstdc++/9076
cb25b0ce
BK
4883 * unwind-dw2.c (execute_cfa_program): DW_CFA_undefined,
4884 DW_CFA_same_value, read next and ignore.
4885
94c040bd
RH
48862003-01-07 Richard Henderson <rth@redhat.com>
4887
4888 * cfganal.c (flow_call_edges_add): Don't crash on noreturn call.
4889
f6cb56fa
DB
48902003-01-07 Daniel Berlin <dberlin@dberlin.org>
4891
4892 * cfg.c: Include alloc-pool.h
4893 (edge_pool): New pool.
4894 (bb_pool): New pool.
4895 (first_deleted_edge): Remove.
4896 (first_deleted_block): Remove.
4897 (init_flow): Alloc/free the pools.
4898 (free_edge): Use pools.
4899 (alloc_block): Ditto.
4900 (expunge_block): Ditto.
4901 (cached_make_edge): Ditto.
4902
4903 * Makefile.in (cfg.o): Add alloc-pool.h dependency.
4904
49052003-01-07 Daniel Berlin <dberlin@dberlin.org>
4906
4907 * et-forest.c: Include alloc-pool.h.
4908 (struct et_forest): Add node_pool and occur_pool.
4909 (et_forest_create): Create the new pools.
4910 (et_forest_delete): Delete them.
4911 (et_forest_add_node): Allocate and free using pools.
4912 (et_forest_add_edge): Ditto.
4913 (et_forest_remove_node): Ditto.
4914 (et_forest_remove_edge): Ditto.
4915
4916 * Makefile.in (et-forest.o): Add alloc-pool.h dependency.
4917
f9ac2f95
KH
49182003-01-07 Kazu Hirata <kazu@cs.umass.edu>
4919
4920 * config/h8300/h8300.c (output_logical_op): Simplify and
4921 optimize the handling of SImode.
4922 * config/h8300/h8300.c (compute_logical_op_length): Update
4923 accordingly.
4924 * config/h8300/h8300.c (compute_logical_op_cc): Likewise.
4925
83282119
RS
49262003-01-07 Richard Sandiford <rsandifo@redhat.com>
4927
4928 * config/mips/mips.c (mips_va_arg): In the EABI code, apply the
4929 big-endian correction to indirect arguments too.
4930
59a4c851
AH
49312003-01-06 Aldy Hernandez <aldyh@redhat.com>
4932
4933 Segher Boessenkool <segher@koffie.nl>
4934
36210500
SP
4935 * config/rs6000/rs6000.c (rs6000_reg_names): Add missing registers.
4936 (alt_reg_names): Ditto, fix formatting.
4937 * config/rs6000/rs6000.h (DEBUG_REGISTER_NAMES): Fix formatting.
59a4c851 4938
7798db98
KH
49392003-01-06 Kazu Hirata <kazu@cs.umass.edu>
4940
4941 * config/h8300/h8300.c (final_prescan_insn): Constify uid.
4942 (output_logical_op): Constify intval and det.
4943 (compute_logical_length): Likewise.
4944 (compute_logical_cc): Likewise.
4945 (output_a_shift): Constify mask.
4946 (h8300_encode_label): Constify len.
4947
4705d102
KH
49482003-01-06 Kazu Hirata <kazu@cs.umass.edu>
4949
4950 * config/h8300/h8300.c (h8300_expand_prologue): Remove fsize.
4951 (h8300_expand_epilogue): Likewise.
4952
98c9a8e8
AH
49532003-01-06 Aldy Hernandez <aldyh@redhat.com>
4954
4955 Segher Boessenkool <segher@koffie.nl>
4956
36210500
SP
4957 * config/rs6000/altivec.md: Remove spaces from assembler
4958 instruction argument lists.
07488f32 4959
86143814
MH
49602003-01-07 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
4961
4962 * config/c4x/c4x.c (c4x_naked_function_p): Rename from
4963 c4x_assembler_function_p.
4964 (c4x_null_epilogue_p): Complement return value, all uses updated.
4965 (c4x_insert_attributes): Add naked.
4966 * config/c4x/c4x.md (c4x_null_epilogue_p): Changes uses.
4967 * doc/extend.texi: Update C4x function attributes.
4968
52fd80fb
RH
49692003-01-06 Richard Henderson <rth@redhat.com>
4970
4971 * config/alpha/alpha.c (alpha_encode_section_info): Adjust symbol_str
4972 properly when changing "local-ness".
4973 * config/alpha/alpha.md (movdi_er_high_g): Allow all symbols.
4974
a16b43c5
DJ
49752003-01-06 Dale Johannesen <dalej@apple.com>
4976
4977 * config/darwin-protos.h: Add prototypes for new section functions.
4978
ef8dfae6
CD
49792003-01-06 Chris Demetriou <cgd@broadcom.com>
4980
4981 * config.gcc (mipsisa32-*-elf*, mipsisa32el-*-elf*): Default ABI
4982 to EABI.
4983
44f9a8e4
ZW
49842003-01-06 Zack Weinberg <zack@codesourcery.com>
4985
4986 * hwint.h: If the current compiler has no 64-bit type at all,
4987 make HOST_WIDEST_INT 32 bits.
4988
2610198a
EC
49892003-01-06 Eric Christopher <echristo@redhat.com>
4990
4991 * config/mips/mips.md (movdf_internal2): Fix constraints.
4992
efbd757f
KH
49932003-01-06 Kazu Hirata <kazu@cs.umass.edu>
4994
4995 * config/h8300/h8300.md (*twoshifts_l16_r1): New.
4996
727b9b8c
RS
49972003-01-06 Richard Sandiford <rsandifo@redhat.com>
4998
4999 * config/mips/mips.md (leadi): Use dla rather than la.
5000
4705d102 50012003-01-06 Svein E. Seldal <Svein.Seldal@solidas.com>
cebdac46
SS
5002
5003 * config/c4x/c4x.h: Updated specs for new gas format. Fixed bug
5004 in C33_FLAG. Added proper C33 support in ASM_FILE_START macro.
5005
4705d102 50062003-01-06 Herman A.J. ten Brugge <hermantenbrugge@home.nl>
fe1e789f 5007
44f9a8e4 5008 * config/c4x/c4x.h: Remove hwint.h include and HOST_WIDE_INT_PRINT_HEX
fe1e789f
HB
5009 redefinition.
5010
dff0ea43
KH
50112003-01-05 Kazu Hirata <kazu@cs.umass.edu>
5012
5013 * config/h8300/h8300.md (*extzv_8_23): New.
5014
94e6fd3e
JDA
50152003-01-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
5016
5017 * pa64-hpux.h (JCR_SECTION_NAME): Define.
5018 (PA_INIT_FRAME_DUMMY_ASM_OP): Check EH_FRAME_SECTION_NAME instead of
5019 USE_EH_FRAME_REGISTRY when defining.
5020
cd9b5ca8
KH
50212003-01-05 Kazu Hirata <kazu@cs.umass.edu>
5022
5023 * config/h8300/h8300.c (output_a_shift): Do not output a
5024 variable shift.
5025 * config/h8300/h8300.md (two splitters): New.
5026
1ba8a9c4
RS
50272003-01-05 Richard Sandiford <rsandifo@redhat.com>
5028
5029 * config/mips/mips.md: Disable the movstrsi define_split.
5030
c7c50494
KG
50312003-01-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5032
5033 * alloc-pool.c: Don't include "libiberty.h".
5034 * config/sparc/gmon-sol2.c: Include <fcntl.h>.
5035 * convert.c (convert_to_real): Hide unused variable.
5036
83fa8d7a
KG
50372003-01-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5038
5039 * Makefile.in (gtyp-gen.h): Const-ify.
5040 * gcov-dump.c (tag_table): Likewise.
5041
871dab3e
BK
50422003-01-04 Bruce Korb <bkorb@gnu.org>
5043
5044 * fixinc/fixfixes.c(wrap_fix): the wrapper guard must be a function
5045 of *both* the file name and the fix name.
5046
90961eff 50472003-01-04 John David Anglin <dave.anglin@nrc.ca>
35d434ed
JDA
5048
5049 * config.gcc (hppa*64*-*-hpux11*): Define extra_parts. Don't use
5050 collect2.
5051 * pa-hpux11.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Undefine.
5052 (HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Define.
5053 * pa64-hpux.h (HP_INIT_ARRAY_SECTION_ASM_OP,
5054 GNU_INIT_ARRAY_SECTION_ASM_OP, HP_FINI_ARRAY_SECTION_ASM_OP,
5055 GNU_FINI_ARRAY_SECTION_ASM_OP): Define.
5056 (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Define when not using
5057 elfos.h.
5058 (EH_FRAME_IN_DATA_SECTION): Delete define.
5059 (HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Undefine.
5060 (STARTFILE_SPEC): Use crtbegin.o.
5061 (ENDFILE_SPEC): Use crtend.o.
5062 (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP, CRT_CALL_STATIC_FUNCTION,
5063 SUPPORTS_INIT_PRIORITY, PA_CXA_FINALIZE_STUB, PA_INIT_FINI_HACK,
5064 PA_INIT_FRAME_DUMMY_ASM_OP, PA_JV_REGISTERCLASSES_STUB,
5065 DTOR_LIST_BEGIN): Define.
5066 * pa.c (TARGET_ASM_CONSTRUCTOR): Define.
5067 (pa_asm_out_constructor, pa_asm_out_destructor): New functions.
5068 * som.h (SUPPORTS_INIT_PRIORITY): Delete define.
5069
b0588013
BK
50702002-12-31 Larin Hennessy <larin@science.oregonstate.edu>
5071
5072 * fixinc/fixinc.svr4: Remove references to i860, Sony NewsOS, and spur.
5073 * fixinc/inclhack.def: Remove tests for Apple A/UX, ARM/RISCiX, DG/UX,
5074 m88k-*-sysv3*, Sony NewsOS. Remove references to i860.
5075 Cleanup handling of replacement text.
5076 * fixinc/mkfixinc.sh: Remove reference to i?86-*-osf1*
5077
50782003-01-04 Bruce Korb <bkorb@gnu.org>
5079
5080 * fixinc/tests/base/math.h: removed obsolete results
5081 * fixinc/tests/base/stdlib.h: ditto
5082 * fixinc/tests/base/sys/param.h: ditto
5083 * fixinc/tests/base/sys/stat.h: ditto
5084 * fixinc/tests/base/time.h: ditto
5085 * fixinc/tests/base/X11/Intrinsic.h: removed obsolete file
5086 * fixinc/tests/base/sys/byteorder.h: ditto
5087 * fixinc/inclhack.def: Remove superfluous backslashes
5088
68ee6df6
KH
50892003-01-04 Kazu Hirata <kazu@cs.umass.edu>
5090
5091 * config/h8300/h8300-protos.h: Add prototypes for
5092 the new functions defined below.
5093 * config/h8300/h8300.c (TARGET_ASM_FUNCTION_PROLOGUE): Do not
5094 define.
5095 (dosize): Emit RTL instead of assembly code.
5096 (push): Likewise.
5097 (pop): Likewise.
5098 (h8300_output_function_prologue): Remove.
5099 (h8300_expand_prologue): New.
5100 (h8300_expand_epilogue): New.
5101 (h8300_output_function_epilogue): Do only the reset of
5102 pragma_saveall.
5103 * config/h8300/h8300.md (push_h8300): New.
5104 (push_h8300hs): Likewise.
5105 (pop_h8300): Likewise.
5106 (pop_h8300hs): Likewise.
5107 (*stm_h8300s_2): Change the name to stm_h8300s_2.
5108 (*stm_h8300s_3): Change the name to stm_h8300s_3.
5109 (*stm_h8300s_4): Change the name to stm_h8300s_4.
5110 (*ldm_h8300s_2): New.
5111 (*ldm_h8300s_3): Likewise.
5112 (*ldm_h8300s_4): Likewise.
5113 (return): Likewise.
5114 (*return_1): Likewise.
5115 (prologue): Likewise.
5116 (epilogue): Likewise.
5117 (monitor_prologue): Likewise.
5118
d3c300d2
DJ
51192003-01-03 Dale Johannesen <dalej@apple.com>
5120
5121 * config/darwin.h: (EXTRA_SECTIONS): Add machopic_symbol_stub1,
5122 machopic_picsymbol_stub1.
5123 (EXTRA_SECTION_FUNCTIONS): Ditto.
5124 * rs6000/rs6000.c: Update copyright.
5125 (machopic_output_stub): Use them. Remove an insn from stub code.
5126
6cce57b0
JM
51272003-01-02 Jason Merrill <jason@redhat.com>
5128
4e8dca1c
JM
5129 * fold-const.c (fold) [COND_EXPR]: Avoid NOP_EXPRs better.
5130
5131 * integrate.c (copy_decl_for_inlining): Don't clear the rtl for
5132 static/external decls.
2610198a 5133
6cce57b0
JM
5134 * c-common.c (finish_fname_decls): Put the DECL_STMTs inside the
5135 outermost scope.
5136 * c-decl.c (c_make_fname_decl): Push the decls there, too.
5137
e392d367
KH
51382003-01-03 Kazu Hirata <kazu@cs.umass.edu>
5139
5140 * config/h8300/h8300-protos.h: Add a prototype for
5141 h8300_current_function_interrupt_function_p.
5142 * config/h8300/h8300.c (interrupt_handler): Remove.
5143 (os_task): Likewise.
5144 (monitor): Likewise.
5145 (pragma_interrupt): New.
5146 (WORD_REG_USED): Use
5147 h8300_current_function_interrupt_function_p.
5148 (dosize): Likewise.
5149 (h8300_output_function_prologue): Likewise.
5150 Do not set interrupt_handler, os_task, monitor.
5151 (h8300_output_function_prologue): Use
5152 h8300_current_function_interrupt_function_p.
5153 Do not set interrupt_handler, os_task, monitor.
5154 (h8300_current_function_interrupt_function_p): New.
5155 (h8300_pr_interrupt): Set pragma_interrupt.
5156 (h8300_insert_attributes): Reset pragma_interrupt.
5157
b15da5b7
GP
51582003-01-03 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
5159
5160 * doc/install.texi (Configuration): Fix markup for reference to
5161 gcc/config.gcc.
5162
bf16e745
KH
51632003-01-02 Kazu Hirata <kazu@cs.umass.edu>
5164
5165 * config/h8300/h8300.md (*iorhi3_zext): Relax the condition.
5166 (*iorhi3_two_qi): Likewise.
5167 (*iorsi3_zexthi): Likewise.
5168 (*xorhi3_zextqi): Likewise.
5169 (*xorsi3_zexthi): Likewise.
5170 (*xorsi3_zextqi): Likewise.
5171
8ccf5d5f
KH
51722003-01-02 Kazu Hirata <kazu@cs.umass.edu>
5173
5174 * config/h8300/h8300.c (stack_pointer_operand): New.
5175 (const_int_gt_2_operand): Likewise.
5176 (const_int_ge_8_operand): Likewise.
5177 * config/h8300/h8300.md (a splitter): Likewise.
5178 (a peephole2): Likewise.
5179 * config/h8300/h8300-protos.h: Add prototypes for the new
5180 functions above.
5181
43c6a96a
SB
51822003-01-02 Steven Bosscher <s.bosscher@student.tudelft.nl>
5183
5184 * objc/Make-lang.in, objc/config-lang.in, objc/lang-specs.h,
5185 objc/objc-act.h: Fix copyright years.
5186
96c4e780
SB
51872003-01-02 Steven Bosscher <s.bosscher@student.tudelft.nl>
5188
5189 * doc/passes.texi: Fix documentation for -fssa-ccp
5190
8ed0a104
NB
51912003-01-02 Neil Booth <neil@daikokuya.co.uk>
5192
5193 * gccbug.in: Update for new categories.
5194
1b9f0361
KH
51952003-01-01 Kazu Hirata <kazu@cs.umass.edu>
5196
5197 * config/h8300/h8300.md: Reorder some patterns.
5198
dc5f17ec
KH
51992003-01-01 Kazu Hirata <kazu@cs.umass.edu>
5200
5201 * config/h8300/h8300.c (output_logical_op): Fix a warning.
5202
cd2801fb
NB
52032003-01-01 Neil Booth <neil@daikokuya.co.uk>
5204
5205 * config/darwin-protos.h, config/c4x/c4x-protos.h,
5206 config/cris/cris-protos.h, config/i370/i370-protos.h,
5207 config/i960/i960-protos.h, config/ia64/ia64-protos.h,
5208 config/v850/v850-protos.h: Use struct, and don't conditionally
5209 compile on GCC_C_PRAGMA_H.
5210
378b1b8e
KH
52112003-01-01 Kazu Hirata <kazu@cs.umass.edu>
5212
5213 * config/arm/arm-protos.h: Remove #ifdef GCC_C_PRAGMA_H.
5214 * config/h8300/h8300-protos.h: Likewise.
5215 * config/sh/sh-protos.h: Likewise.
5216
7106a5bc
KH
52172003-01-01 Kazu Hirata <kazu@cs.umass.edu>
5218
5219 * config/arm/arm-protos.h: Use struct cpp_reader instead of
5220 cpp_reader.
5221 * config/h8300/h8300-protos.h: Likewise.
5222 * config/sh/sh-protos.h: Likewise.
5223
231b51a1
NB
52242003-01-01 Neil Booth <neil@daikokuya.co.uk>
5225
5226 * config/arm/arm.c (arm_pr_long_calls, arm_pr_no_long_calls,
5227 arm_pr_long_calls_off): Use struct.
5228 * config/h8300/h8300.c (h8300_pr-interrupt, h8300_pr_saveall)
5229 : Similarly.
5230 Don't include cpplib.h.
5231 * config/sh/sh.c (sh_pr_interrupt, sh_pr_trapa,
5232 sh_pr_nosave_low_regs): Similarly.
5233
0f18b2b0
KH
52342003-01-01 Kazu Hirata <kazu@cs.umass.edu>
5235
5236 * config/h8300/h8300.c: Include cpplib.h.
5237
b9593599
SB
52382003-01-01 Steven Bosscher <s.bosscher@student.tudelft.nl>
5239
5240 * objc/Make-lang.in, objc/config-lang.in, objc/lang-options.h,
5241 objc/lang-specs.h, objc/objc-act.c, objc/objc-act.h,
5242 objc/objc-lang.c, objc/objc-tree.def: Replace "GNU CC" with
5243 "GCC" in the copyright header.
5244
c58b209a
NB
52452003-01-01 Neil Booth <neil@daikokuya.co.uk>
5246
5247 * c-pragma.c (c_register_pragma): New.
5248 (init_pragma): Use it.
5249 * c-pragma.h (cpp_register_pragma): Don't declare.
5250 (c_register_pragma): New.
5251 * cpplib.h: Remove #ifdef GCC_C_PRAGMA_H.
5252 * config/darwin.h (REGISTER_TARGET_PRAGMAS): Update.
5253 * config/arm/arm.h (REGISTER_TARGET_PRAGMAS): Update.
5254 * config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update.
5255 * config/h8300/h8300.h (REGISTER_TARGET_PRAGMAS): Update.
5256 * config/i370/i370.h (REGISTER_TARGET_PRAGMAS): Update.
5257 * config/i960/i960.h (REGISTER_TARGET_PRAGMAS): Update.
5258 * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Update.
5259 * config/rs6000/rs6000.h (REGISTER_TARGET_PRAGMAS): Update.
5260 * config/sh/sh.h (REGISTER_TARGET_PRAGMAS): Update.
5261 * config/v850/v850.h (REGISTER_TARGET_PRAGMAS): Update.
5262 * doc/tm.texi (REGISTER_TARGET_PRAGMAS): Update
5263
bc455f9c
KH
52642002-12-31 Kazu Hirata <kazu@cs.umass.edu>
5265
5266 * config/h8300/h8300-protos.h: Update the prototypes.
5267 * config/h8300/h8300.c (const_le_2_operand): Change to
5268 const_int_le_2_operand.
5269 (const_int_le_6_operand): Change to const_int_le_6_operand.
5270 * config/h8300/h8300.md (two peepholes): Update the function
5271 names.
5272
3b41afd9
TT
52732002-12-31 Tom Tromey <tromey@redhat.com>
5274
5275 * doc/install.texi (Testing): Fixed typo.
5276
9e56a932
KH
52772002-12-31 Kazu Hirata <kazu@cs.umass.edu>
5278
5279 * config/h8300/h8300.h (TRAMPOLINE_TEMPLATE): Remove.
5280 (TRAMPOLINE_SIZE): Support the normal mode.
5281 (INITIALIZE_TRAMPOLINE): Emit the entire trampoline.
5282
731e8b38
MM
52832002-12-31 Mark Mitchell <mark@codesourcery.com>
5284
5285 * c-common.h (pending_lang_change): Declare.
5286
147d1cd3
JQ
52872002-12-31 Jerry Quinn <jlquinn@optonline.net>
5288
5289 * gcc/doc/invoke.texi (Optimization Options): Clean up -O flag
5290 descriptions.
5291
fad893da
JQ
52922002-12-31 Jerry Quinn <jlquinn@optonline.net>
5293
5294 * gcc/doc/invoke.texi (Optimization Options): List the options
5295 enabled by each -O flag.
5296
ec5b5ef1
GP
52972002-12-31 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
5298
5299 * doc/install.texi (Configuration): Explicitly refer
5300 gcc/config.gcc for a list of cpu models.
5301
59d7c857
KH
53022002-12-31 Kazu Hirata <kazu@cs.umass.edu>
5303
5304 * config/h8300/h8300.h: Fix comment typos.
5305
5b8f5865
DE
53062002-12-30 David Edelsohn <edelsohn@gnu.org>
5307
5308 * config/rs6000/rs6000.h (WIDEST_HARDWARE_FP_SIZE): Define.
5309
582f6e6d
TT
53102002-12-30 Tom Tromey <tromey@redhat.com>
5311
5312 * doc/install.texi (Testing): Mention Jacks.
5313
f75db6bc
JM
53142002-12-30 Joseph S. Myers <jsm@polyomino.org.uk>
5315
5316 * doc/gcc.texi, doc/gccint.texi: Update last modification dates.
5317
2d75548f
KH
53182002-12-30 Kazu Hirata <kazu@cs.umass.edu>
5319
5320 * config/h8300/h8300.c (output_logical_op): Use extu.w in more
5321 cases.
5322 (compute_logical_op_length): Update to reflect the change in
5323 output_logical_op.
5324 (compute_logical_op_cc): Likewise.
5325
b351c1d9
JM
53262002-12-30 Joseph S. Myers <jsm@polyomino.org.uk>
5327
5328 * doc/service.texi: Uncomment and update FAQ link.
5329
47ab0cbb
AJ
53302002-12-30 Andreas Jaeger <aj@suse.de>
5331
5332 * unwind-dw2-fde.h (last_fde): Add unused attribute for obj.
5333
3cc3e1cd
KH
53342002-12-30 Kazu Hirata <kazu@cs.umass.edu>
5335
5336 * config/h8300/h8300.md (*addsi3_lshiftrt_16_zexthi): New.
5337
a6e8d113
KH
53382002-12-30 Kazu Hirata <kazu@cs.umass.edu>
5339
5340 * config/h8300/h8300.c (output_logical_op): Use extu.w if we
5341 are clearing the most significant byte.
5342 (compute_logical_op_length): Update to reflect the change in
5343 output_logical_op.
5344 (compute_logical_op_cc): Likewise.
5345
c85263d2
KH
53462002-12-29 Kazu Hirata <kazu@cs.umass.edu>
5347
5348 * config/h8300/h8300.md: Give internal names to anonymous
5349 insns.
5350
fbcb02cd
KH
53512002-12-29 Kazu Hirata <kazu@cs.umass.edu>
5352
5353 * config/h8300/h8300.md: Reorder some insns.
5354
2873836b
KH
53552002-12-29 Kazu Hirata <kazu@cs.umass.edu>
5356
5357 * config/h8300/h8300-protos.h: Add prototypes for
5358 const_int_qi_operand and const_int_hi_operand.
5359 * config/h8300/h8300.c (const_int_qi_operand): New.
5360 (const_int_hi_operand): Likewise.
5361 * config/h8300/h8300.md (three peepholes): New.
5362
bdefb2ab
JM
53632002-12-28 Joseph S. Myers <jsm@polyomino.org.uk>
5364
5365 * doc/cpp.texi, doc/gcc.texi, doc/gccint.texi, doc/install.texi:
5366 Use @copying.
5367
a38f87a9
JM
53682002-12-28 Joseph S. Myers <jsm@polyomino.org.uk>
5369
5370 * configure.in: Increase makeinfo version requirement to 4.[2-9].
5371 * configure: Regenerate.
5372 * doc/install.texi: Update Texinfo version requirement.
5373
c14bc6db
AJ
53742002-12-28 Andreas Jaeger <aj@suse.de>
5375
b9b21a05
AJ
5376 * config/i386/i386.c (x86_function_profiler): Mark labelno as
5377 possibly unused.
5378
c14bc6db
AJ
5379 * c-parse.in (yyprint): Use HOST_WIDE_INT_PRINT_DOUBLE_HEX for
5380 correct format.
5381
62fbd434
KH
53822002-12-27 Kazu Hirata <kazu@cs.umass.edu>
5383
5384 * config/h8300/h8300.md (*iorhi_shift_8): Change the name to
5385 *iorhi_ashift_8.
5386 (*iorhi_lshiftrt_8): New.
5387
27e3f16d
JM
53882002-12-27 Joseph S. Myers <jsm@polyomino.org.uk>
5389
5390 * doc/include/texinfo.tex: Update to version 2002-12-26.16.
5391
b09975de
GP
53922002-12-27 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
5393
5394 * doc/contrib.texi (Contributors): Add Abramo and Roberto Bagnara.
5395
f411c849
KH
53962002-12-26 Kazu Hirata <kazu@cs.umass.edu>
5397
5398 * config/h8300/h8300-protos.h: Fix comment typos.
5399 Update copyright.
5400 * config/h8300/h8300.c: Fix comment typos.
5401
b976d7a0
KH
54022002-12-26 Kazu Hirata <kazu@cs.umass.edu>
5403
5404 * config/h8300/h8300.h (IDENT_ASM_OP): End with a tab.
5405
d1f87653
KH
54062002-12-26 Kazu Hirata <kazu@cs.umass.edu>
5407
5408 * config/i386/athlon.md: Fix comment typos.
5409 * config/i386/crtdll.h: Likewise.
5410 * config/i386/djgpp.h: Likewise.
5411 * config/i386/i386-interix.h: Likewise.
5412 * config/i386/i386.c: Likewise.
5413 * config/i386/i386.h: Likewise.
5414 * config/i386/i386.md: Likewise.
5415 * config/i386/k6.md: Likewise.
5416 * config/i386/mingw32.h: Likewise.
5417 * config/i386/pentium.md: Likewise.
5418 * config/i386/sco5.h: Likewise.
5419 * config/i386/winnt.c: Likewise.
5420 * config/i386/xmmintrin.h: Likewise.
5421
ecd4a73b
JR
54222002-12-26 Jose Renau <renau@cs.uiuc.edu>
5423
5424 * ssa-dce.c (EXECUTE_IF_UNNECESSARY): Verify INSN is an
5425 INSN_P before checking to see if it is dead.
5426 (mark_all_insn_unnecessary): Similarly.
5427 (ssa_eliminate_dead_code): Similarly.
5428 * rtl.h (struct rtx_def): Update comments for in_struct usage
5429 in dead code elimination pass.
5430 (INSN_DEAD_CODE_P): Allow JUMP_INSN and CALL_INSN as well.
5431
b17bb466
AS
54322002-12-26 Andreas Schwab <schwab@suse.de>
5433
c14bc6db 5434 * config.gcc (powerpc*-*-*, rs6000-*-*): Fix assignment syntax.
b17bb466 5435
b21fb038
DE
54362002-12-25 David Edelsohn <edelsohn@gnu.org>
5437
5438 * config/rs6000/rs6000.c (rs6000_override_options): Convert to
5439 tartet_flags_explicit.
5440 * config/rs6000/rs6000.h (MASK_MULTIPLE_SET, MASK_STRING_SET): Delete.
5441 Compact target_flags bits.
5442 (TARGET_MULTIPLE_SET, TARGET_STRING_SET): Delete.
5443 (TARGET_SWITCHES): Delete references to *_SET flags.
5444
abd2dd6d
JH
5445Wed Dec 25 20:30:53 CET 2002 Jan Hubicka <jh@suse.cz>
5446
5447 * i386.md (memory attribute): Fix setcc attribute.
5448
d55d8fc7
KH
54492002-12-25 Kazu Hirata <kazu@cs.umass.edu>
5450
5451 * output.h: Fix comment typos.
5452 * predict.c: Likewise.
5453 * print-tree.c: Likewise.
5454 * profile.c: Likewise.
5455 * ra-build.c: Likewise.
5456 * ra-colorize.c: Likewise.
5457 * ra-debug.c: Likewise.
5458 * ra-rewrite.c: Likewise.
5459 * ra.c: Likewise.
5460 * ra.h: Likewise.
5461 * real.c: Likewise.
5462 * recog.c: Likewise.
5463 * reg-stack.c: Likewise.
5464 * regclass.c: Likewise.
5465
7a770d8b
KH
54662002-12-25 Kazu Hirata <kazu@cs.umass.edu>
5467
5468 * config/h8300/h8300.c (print_operand_address): Do not negate
5469 a negative number when printing one.
5470
7d6ac401
KH
54712002-12-25 Kazu Hirata <kazu@cs.umass.edu>
5472
5473 * config/h8300/h8300-protos.h: Add prototypes for
5474 output_plussi, compute_plussi_length, and compute_plussi_cc.
5475 * config/h8300/h8300.c (output_plussi): New.
5476 (compute_plussi_length): Likewise.
5477 (compute_plussi_cc): Likewise.
5478 * config/h8300/h8300.md (addsi_h8300h): Call
5479 output_plussi, compute_plussi_length, and compute_plussi_cc.
5480
871d6a01
KH
54812002-12-24 Kazu Hirata <kazu@cs.umass.edu>
5482
5483 * config/h8300/h8300.md (two peepholes): Use match_dup instead
5484 of match_operand in the new patterns.
5485
4fbf9d4a
JM
54862002-12-24 Joseph S. Myers <jsm@polyomino.org.uk>
5487
5488 * doc/include/texinfo.tex: Update to version 2002-11-25.11.
5489
8601608f
NS
54902002-12-24 Nathan Sidwell <nathan@codesourcery.com>
5491
5492 * configure.in (enable-coverage): Add SELF_COVERAGE.
5493 * profile.c (end_branch_prob): Use SELF_COVERAGE.
5494
c28b4e40
JW
54952002-12-24 Jim Wilson <wilson@redhat.com>
5496
5497 * alias.c (record_set): Handle multi-reg hard registers.
5498
14b493d6
KH
54992002-12-24 Kazu Hirata <kazu@cs.umass.edu>
5500
5501 * regmove.c: Fix comment typos.
5502 * reload.c: Likewise.
5503 * reload1.c: Likewise.
5504 * resource.c: Likewise.
5505 * rtl.def: Likewise.
5506 * rtl.h: Likewise.
5507 * rtlanal.c: Likewise.
5508 * sched-deps.c: Likewise.
5509 * sched-rgn.c: Likewise.
5510 * sibcall.c: Likewise.
5511 * simplify-rtx.c: Likewise.
5512 * ssa-ccp.c: Likewise.
5513 * ssa.c: Likewise.
5514 * stmt.c: Likewise.
5515 * stor-layout.c: Likewise.
5516 * system.h: Likewise.
5517 * tlink.c: Likewise.
5518 * toplev.c: Likewise.
5519 * tracer.c: Likewise.
5520 * tree-inline.c: Likewise.
5521 * tree.c: Likewise.
5522 * tree.h: Likewise.
5523 * unroll.c: Likewise.
5524 * varasm.c: Likewise.
5525
c9693e96
LH
55262002-12-23 Larin Hennessy <larin@science.oregonstate.edu>
5527
5528 * doc/install.texi: Remove i386-*-isc, i860-*-bsd,
5529 m68k-altos-sysv, m68k-isi-bsd, m68k-sony-bsd entries.
5530 * doc/invoke.texi: Remove AMD 29K, ARM RISC/iX, Clipper, Convex,
5531 DG/UX entries.
5532 * doc/md.texi: Remove AMD 29K entries.
5533 * doc/trouble.texi: Remove Alliant, DG/UX, Iris 4.0.5F, GAS
5534 1.38.1, NewsOS, RT PC, WE32K entries.
5535
a67ed43f
AH
55362002-12-23 Aldy Hernandez <aldyh@redhat.com>
5537
44f9a8e4
ZW
5538 PR/8763
5539 * config/rs6000/altivec.md (mulv4sf3): Rewrite to add -0.0 vector.
5540 (altivec_vspltisw_v4sf): Name pattern.
5541 (altivec_vslw_v4sf): New pattern.
a67ed43f 5542
46d40353
JM
55432002-12-23 Joseph S. Myers <jsm@polyomino.org.uk>
5544
5545 * doc/include/gcc-common.texi: Define DEVELOPMENT.
5546
8dc65b6e
MM
55472002-12-23 Mark Mitchell <mark@codesourcery.com>
5548
5549 * stor-layout.c (update_alignment_for_field): Correct handling of
5550 unnamed bitfields on PCC_BITFIELD_TYPE_MATTERS machines.
5551 * doc/tm.texi (PCC_BITFIELD_TYPE_MATTERS): Note that an unnamed
5552 bitfield does not affect alignment.
5553
7c02ae17
DE
55542002-12-23 David Edelsohn <edelsohn@gnu.org>
5555
5556 * expr.c (expand_assignment): Apply special treatment to
5557 ARRAY_TYPE.
5558
317d21e9
KH
55592002-12-23 Kazu Hirata <kazu@cs.umass.edu>
5560
5561 * config/h8300/h8300-protos.h: Update the prototype of
5562 expand_a_shift.
5563 * config/h8300/h8300.c (expand_a_shift): Change the return
5564 type to void.
5565 * config/h8300/h8300.md: Update all the uses of
5566 expand_a_shift.
5567
0c685f12
NS
55682002-12-22 Nathan Sidwell <nathan@codesourcery.com>
5569
5570 * tree.c (save_expr): Allow either side of a dyadic operand to be
5571 constant.
5572
5573 * doc/portability.texi (portability): Update portability goals.
5574
ade53a50
KH
55752002-12-23 Kazu Hirata <kazu@cs.umass.edu>
5576
5577 * config/h8300/h8300.c (output_a_shift): Remove unused code.
5578
d0ff2db5
MM
55792002-12-22 Mark Mitchell <mark@codesourcery.com>
5580
d317855e
MM
5581 * stor-layout.c (update_alignment_for_field): Guard use of
5582 ADJUST_FIELD_ALIGN with #ifdef.
5583
d0ff2db5
MM
5584 * stor-layout.c (update_alignment_for_field): Use
5585 ADJUST_FIELD_ALIGN when computing the alignment for a zero-width
5586 bitfield when PCC_BITFIELD_TYPE_MATTERS.
5587
96e13905
KH
55882002-12-22 Kazu Hirata <kazu@cs.umass.edu>
5589
5590 * genautomata.c: Fix comment typos.
5591
66b4e478
JH
5592Sun Dec 22 18:23:44 CET 2002 Jan Hubicka <jh@suse.cz>
5593
5594 * params.def (tracer-min-branch-probability-feedback): Fix default.
5595 * final.c (compute_alignments): Use profile to avoid code bloat.
5596
a7612343
KH
55972002-12-22 Kazu Hirata <kazu@cs.umass.edu>
5598
5599 * config/h8300/h8300.c (get_shift_alg): Make shift insn
5600 sequences end with a valid cc0 whenever possible.
5601
8fb52ad1
KH
56022002-12-22 Kazu Hirata <kazu@cs.umass.edu>
5603
5604 * config/h8300/h8300.md (negsf2): New.
5605 (*negsf2_h8300): Likewise.
5606 (*negsf2_h8300hs): Likewise.
5607
2a77af27
GK
56082002-12-21 Geoffrey Keating <geoffk@apple.com>
5609
5610 * integrate.c (output_inline_function): Don't hold private
5611 pointers to 'struct function' over GC calls.
5612
5040eb00
KK
56132002-12-21 Kaz kojima <kkojima@gcc.gnu.org>
5614
5615 * config/sh/lib1funcs.asm (__fpscr_values): Conditionalize with
5616 NO_FPSCR_VALUES.
5617 * config/sh/t-linux (TARGET_LIBGCC2_CFLAGS): Add -DNO_FPSCR_VALUES.
5618
5d750136
KH
56192002-12-21 Kazu Hirata <kazu@cs.umass.edu>
5620
5621 * config/h8300/h8300.md (zero_extendqisi2): Correct the
5622 length.
5623
f7e42925
KH
56242002-12-21 Kazu Hirata <kazu@cs.umass.edu>
5625
5626 * config/h8300/h8300.md (*zero_extendqihi2_h8300): Make the
5627 second alternative "#".
5628 (*zero_extendqihi2_h8300hs): Likewise.
5629 (a define_split): New.
5630
3cee1a78
KH
56312002-12-21 Kazu Hirata <kazu@cs.umass.edu>
5632
5633 * config/h8300/h8300-protos.h: Update the prototype for
5634 split_adds_subs.
5635 Add prototypes for const_le_2_operand and const_le_6_operand.
5636 * config/h8300/h8300.c (split_adds_subs): Add an argument to
5637 specify whether inc/dec should be used when possible.
5638 (const_le_2_operand): New.
5639 (const_le_6_operand): Likewise.
5640 * config/h8300/h8300.md (two peepholes): New.
5641
40b982a9
KH
56422002-12-21 Kazu Hirata <kazu@cs.umass.edu>
5643
5644 * config/fr30/fr30.md: Fix a comment typo.
5645 * config/i386/i386.c: Likewise.
5646 * config/ip2k/ip2k.h: Likewise.
5647
60954572
JW
56482002-12-20 Jim Wilson <wilson@redhat.com>
5649
5650 * config/rs6000/spe.h (__ev_subifw): Reverse arguments.
5651 (__ev_subw, __ev_subiw): New.
5652 (ev_mwlssf, ev_mwlsmf, ev_mwlssfa, ev_mwlsmfa, ev_mwlssfaaw,
5653 ev_mwlsmfaaw, ev_mwlssfanw, ev_mwlsmfanw): Delete.
5654
11f43127
JDA
56552002-12-20 John David Anglin <dave.anglin@nrc.gc.ca>
5656
5657 * pa-linux.h (TARGET_HAS_STUBS_AND_ELF_SECTIONS): Delete define.
5658 * pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete define.
5659 * pa.c (pa_function_ok_for_sibcall): Allow non indirect sibcalls on
5660 TARGET_ELF32. Add comment on sibcall issues for TARGET_64BIT.
5661
f9d2de4d
KH
56622002-12-20 Kazu Hirata <kazu@cs.umass.edu>
5663
5664 * config/h8300/h8300-protos.h: Add prototypes for
5665 incdec_operand and eqne_operator.
5666 * config/h8300/h8300.c (incdec_operand): New.
5667 (eqne_operator): Likewise.
5668 * config/h8300/h8300.h (CONST_OK_FOR_M): Likewise.
5669 (CONST_OK_FOR_O): Likewise.
5670 (CONST_OK_FOR_LETTER_P): Use CONST_OK_FOR_M and
5671 CONST_OK_FOR_O.
5672 * config/h8300/h8300.md (UNSPEC_INCDEC): New.
5673 (addhi3_incdec): New.
5674 (addsi3_incdec): Likewise.
5675 (two peepholes): Likewise.
5676
b47900aa
KH
56772002-12-20 Kazu Hirata <kazu@cs.umass.edu>
5678
5679 * config/h8300/h8300.c (dosize): Remove warnings.
5680 (print_operand): Likewise.
5681
3094247f
RH
56822002-12-20 Richard Henderson <rth@redhat.com>
5683
5684 * config/alpha/alpha.c (decl_has_samegp): New.
5685 (samegp_function_operand): Use it. Rename from
5686 current_file_function_operand.
5687 (direct_call_operand): Handle -msmall-text via symbol->jump.
5688 (tls_symbolic_operand_1): Use T for tprel64, t for smaller tprel.
5689 (tls_symbolic_operand_type): Likewise.
5690 (alpha_encode_section_info): Likewise. Handle -msmall-text.
5691 (alpha_function_ok_for_sibcall): Use decl_has_samegp.
5692 (alpha_end_function): Set symbol->jump for functions defined in
5693 the text section.
5694 * config/alpha/alpha-protos.h: Update.
5695 * config/alpha/alpha.h (MASK_SMALL_TEXT, TARGET_SMALL_TEXT): New.
5696 (TARGET_SWITCHES): Add -msmall-text and -mlarge-text.
5697 (PREDICATE_CODES): Update.
c14bc6db 5698 * config/alpha/alpha.md (call patterns): Update for
3094247f
RH
5699 samegp_function_operand rename; use !samegp reloc if
5700 TARGET_EXPLICIT_RELOCS.
5701 * doc/invoke.text: Document -msmall-text and -mlarge-text.
5702
8056c5f2
ID
57032002-12-20 Ian Dall <ian@sibyl.beware.dropbear.id.au>
5704
44f9a8e4
ZW
5705 * config/ns32k/ns32k.md (movdi): Use "l" instead of "f" to match
5706 all registers capable of holding a double float.
5707 (*rcond): change name of "reverse branch" insns to
5708 something more meaningful.
5709 (*rbgt, *rblt, *rbge, *rble): Reverse branches to handle IEEE
5710 comparisons properly.
5711 (*ffs): Change operand 0 from write to read-modify-write.
5712 (*ffsssi2): Drop constraints from define_expand.
8056c5f2 5713
44f9a8e4
ZW
5714 * config/ns32k/ns32k.h (STORE_RATIO, STORE_BY_PIECES): Avoid using
5715 MOVE_RATIO as default for store operations.
8056c5f2 5716
44f9a8e4
ZW
5717 * config/ns32k/ns32k.h (enum reg_class, REG_CLASS_NAMES): Add
5718 LONG_REGS class.
5719 (CANNOT_CHANGE_MODE_CLASS): Can't subreg LONG_REGS.
5720 (GO_IF_LEGITIMATE_ADDRESS): Remove spurious abort().
5721 * config/ns32k/ns32k.c (regclass_map): Add LONG_REGS class.
8056c5f2 5722
44f9a8e4
ZW
5723 * config/ns32k/STATUS: New File
5724 * config/ns32k/NOTES: New file.
8056c5f2 5725
1fec52be 57262002-12-20 Hartmut Penner <hpenner@de.ibm.com>
c14bc6db 5727
21ff35fb 5728 * doc/invoke.texi: Document -mzarch, -mesa, -mcpu= and -march=
1fec52be 5729 option for S/390 and zSeries.
44f9a8e4
ZW
5730 * config/s390/s390.c (s390_cpu, s390_cpu_string, s390_arch,
5731 s390_arch_string): New variables.
5732 (override_options): Checking for options and setting of
1fec52be 5733 appropriate target_flags, cpu and arch flags.
44f9a8e4
ZW
5734 * config/s390/s390.h: (processor_type): New enum.
5735 (TARGET_SWITCHES): New switches -mesa/zarch.
5736 * config/s390/s390.md: New attribute 'cpu'.
1fec52be 5737
5bdc5878
KH
57382002-12-19 Kazu Hirata <kazu@cs.umass.edu>
5739
5740 * c-pretty-print.h: Fix comment typos.
5741 * integrate.c: Likewise.
5742 * varasm.c: Likewise.
5743 * config/c4x/c4x.h: Likewise.
5744 * config/c4x/c4x.md: Likewise.
5745 * config/fr30/fr30.md: Likewise.
5746 * config/frv/frv.c: Likewise.
5747 * config/h8300/h8300.c: Likewise.
5748 * config/i386/i386.c: Likewise.
5749 * config/i386/i386.h: Likewise.
5750 * config/ia64/ia64.c: Likewise.
5751 * config/ia64/ia64.h: Likewise.
5752 * config/ip2k/ip2k.md: Likewise.
5753 * config/m68hc11/m68hc11-crt0.S: Likewise.
5754 * config/m68hc11/m68hc11.h: Likewise.
5755 * config/m68hc11/m68hc11.md: Likewise.
5756 * config/m68hc11/m68hc12.h: Likewise.
5757 * config/mcore/mcore.md: Likewise.
5758 * config/mips/mips.c: Likewise.
5759 * config/mips/mips.md: Likewise.
5760 * config/mmix/mmix-modes.def: Likewise.
5761 * config/pa/pa.c: Likewise.
5762 * config/rs6000/rs6000.c: Likewise.
5763 * config/rs6000/rs6000.h: Likewise.
5764 * config/rs6000/rs6000.md: Likewise.
5765
539dbd15
KH
57662002-12-19 Kazu Hirata <kazu@cs.umass.edu>
5767
5768 * config/h8300/h8300.md (output_a_shift): Clean up the code to
5769 output shifts using rotation.
5770
e505be85
ZD
57712002-12-20 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
5772
5773 * flow.c (allocate_reg_life_data): Reset REG_FREQ.
5774
191ff852
KH
57752002-12-19 Kazu Hirata <kazu@cs.umass.edu>
5776
5777 * config/h8300/h8300.md (pushqi_h8300): Don't push the stack
5778 pointer.
5779 (pushqi_h8300hs): Likewise.
5780 (pushhi_h8300): Likewise.
5781 (pushhi_h8300hs): Likewise.
5782
b2dfd40f
R
5783Thu Dec 19 23:44:09 2002 J"orn Rennecke <joern.rennecke@superh.com>
5784
5785 * sched-rgn.c (init_regions): Update comment.
5786
310b9b1d
DE
57872002-12-19 David Edelsohn <edelsohn@gnu.org>
5788
5789 * config/rs6000/rs6000.md (define_attr type): Remove altivec.
5790 * config/rs6000/altivec.md (movv4si_internal): Set correct instruction
5791 attributes.
5792 (movv8hi_internal,movv16qi_internal,movv4sf_internal): Same.
5793 (get_vrsave_internal,set_vrsave_internal): Same.
5794 (altivec_vspltisb,altivec_vspltish,altivec_vspltisw): Same.
5795 (absv16qi2,absv8hi2,absv4si2,absv4sf2): Same
5796 (altivec_abss_v16qi,altivec_abss_v8hi,altivec_abss_v4si): Same.
5797
e91f04de
CH
57982002-12-19 Casper S. Hornstrup <chorns@users.sourceforge.net>
5799 Danny Smith <dannysmith@users.sourceforge.net>
5800 Eric Kohl <ekohl@rz-online.de>
5801
5802 * config/i386/i386.c (ix86_handle_cdecl_attribute): Check for
5803 attributes incompatible with fastcall attribute.
5804 (ix86_handle_regparm_attribute): Likewise.
5805
5806 * config/i386/i386.c (ix86_comp_type_attributes): Check for mismatched
5807 fastcall types.
5808
5809 * config/i386/cygwin.h (TARGET_OS_CPP_BUILTINS): Add fastcall
5810 attributes.
5811 (ASM_OUTPUT_LABELREF): Define as i386_pe_output_labelref.
5812 * config/i386/i386-protos.h (i386_pe_output_labelref): Declare.
5813 * config/i386/winnt.c (i386_pe_mark_dllimport). Add __imp_ prefix in
5814 i386_pe_output_labelref rather than here.
5815 (gen_fastcall_suffix): New function. Decorates a label name with the
5816 fastcall prefix (@) and the stdcall suffix.
5817 (i386_pe_encode_section_info): Call gen_fastcall_suffix() if a symbol
5818 has a fastcall attribute.
5819 (i386_pe_output_labelref): New function. Outputs a label reference.
5820 * config/i386/i386.c (ix86_attribute_table): Accept 'fastcall' as a
5821 valid attribute.
5822 (ix86_return_pops_args): Fastcall functions pop the stack.
5823 (init_cumulative_args): Reserve registers ECX and EDX if function has
5824 fastcall attribute.
5825 (function_arg): Use registers ECX and EDX if function has fastcall
5826 attribute.
5827 * config/i386/i386.h (CUMULATIVE_ARGS): Add fastcall attribute flag.
5828 (DLL_IMPORT_EXPORT_PREFIX): Redefine as '#'.
5829 (FASTCALL_PREFIX): Define as '@'.
5830 * config/i386/mingw32.h (TARGET_OS_CPP_BUILTINS): Add fastcall
5831 attributes.
5832 * doc/extend.texi: Add documentation of fastcall attribute.
5833
61138bb6
NN
58342002-12-19 Nathanael Nerode <neroden@gcc.gnu.org>
5835
c14bc6db 5836 * configure.in: FORBUILD when build!=host changed from
61138bb6
NN
5837 ../$build-alias to ../build-$build_alias to match change made
5838 in top directory.
5839 * configure: Regenerated.
5840
039baf9e
EB
58412002-12-19 Eric Botcazou <ebotcazou@libertysurf.fr>
5842
5843 PR optimization/8988
5844 * loop.c (maybe_eliminate_biv): Kill REG_EQUAL notes mentioning
5845 the biv when eliminating.
5846
ee8acf89
DP
58472002-12-19 Devang Patel <dpatel@apple.com>
5848 * gcc.c (struct default_compiler): Recognizes input file name with
5849 .CPP extension as C++ source files
5850 * cp/lang-spec.h: Same
5851 * doc/invoke.texi: Add documentation for .CPP support.
c14bc6db 5852
598119bb
AH
58532002-12-19 Aldy Hernandez <aldyh@redhat.com>
5854
5855 PR 8553
5856 * config/rs6000/altivec.md ("absv8hi2"): Add & to clobbered
5857 registers.
5858 ("absv16qi2"): Same.
5859 ("absv4si2"): Same.
5860 ("absv4sf2"): Same.
5861 ("altivec_abss_v16qi"): Same.
5862 ("altivec_abss_v8hi"): Same.
5863 ("altivec_abss_v4si"): Same.
5864
3af97654
UW
58652002-12-19 Ulrich Weigand <uweigand@de.ibm.com>
5866
5867 * config/s390/s390.md ("*tsthiCCT", "*tsthiCCT_cconly",
5868 "*tstqiCCT", "*tstqiCCT_cconly"): New insns.
5869
e54b4cae
EB
58702002-12-19 Eric Botcazou <ebotcazou@libertysurf.fr>
5871
5872 PR target/8340
5873 * stmt.c (expand_asm_operands): Produce an error when
5874 the PIC register is clobbered.
5875
7f22efe1
DB
58762002-12-18 Daniel Berlin <dberlin@dberlin.org>
5877
5878 * Makefile.in (OBJS): Add alloc-pool.o
5879 (alloc-pool.o): New object.
5880
5881 * alloc-pool.c: New file.
5882 * alloc-pool.h: New file.
5883
f1d5271a 58842002-12-18 Loren James Rittle <ljrittle@acm.org>
5a0ba8c9
LJR
5885
5886 * gcc.c (validate_switches): Robustify against skipping past '\0'.
5887
064b6c70
GK
58882002-12-18 Geoffrey Keating <geoffk@apple.com>
5889
5890 * config.gcc: Set extra_objs in the generic Darwin rule,
5891 not in the machine-specific rules.
5892
272d0bee
KH
58932002-12-19 Kazu Hirata <kazu@cs.umass.edu>
5894
5895 * ChangeLog: Follow spelling conventions.
5896 * ChangeLog.2: Likewise.
5897 * ChangeLog.4: Likewise.
5898 * ChangeLog.5: Likewise.
5899 * cppexp.c: Likewise.
5900 * df.c: Likewise.
5901 * gcov.c: Likewise.
5902 * gengtype.c: Likewise.
5903 * reload1.c: Likewise.
5904 * sched-rgn.c: Likewise.
5905 * stmt.c: Likewise.
5906 * stor-layout.c: Likewise.
5907 * timevar.c: Likewise.
5908 * toplev.c: Likewise.
5909 * tree.h: Likewise.
5910 * varasm.c: Likewise.
5911 * config/fr30/fr30.md: Likewise.
5912 * config/i386/i386.c: Likewise.
5913 * config/ia64/ia64.c: Likewise.
5914 * config/pa/pa.c: Likewise.
5915
358ecb10
RS
59162002-12-18 Roger Sayle <roger@eyesopen.com>
5917
5918 * basic-block.h (flow_bb_inside_loop_p): Correct prototype.
5919
d486dec6
AH
59202002-12-18 Aldy Hernandez <aldyh@redhat.com>
5921
7f04df0d 5922 PR 8551
d486dec6
AH
5923 * config/rs6000/altivec.h (vec_cmplt macro): Reverse arguments in
5924 macro.
5925 (vec_cmplt C++ functions): Reverse arguments.
5926
358ecb10 59272002-12-18 Geoffrey Keating <geoffk@apple.com>
892aebc9 5928
40b4cdbf
GK
5929 * config/rs6000/t-rs6000: Move contents to t-fprules,
5930 add rules for dependencies of rs6000.o and to build rs6000-c.o
5931 * config/rs6000/t-fprules: New file from t-rs6000.
5932 * config/rs6000/t-beos: Remove soft-fp rules.
5933 * config/rs6000/t-ppccomm: Likewise.
5934 * config/rs6000/t-newas: Likewise.
5935 * config/rs6000/t-rs6000-c-rule: Delete.
5936 * config.gcc: Use t-fprules for rs6000/ ports when appropriate.
5937 Use t-rs6000 for all rs6000/ ports instead of t-rs6000-c-rule.
5938 Create generic Darwin rules.
5939
892aebc9
GK
5940 * gengenrtl.c (gencode): Delete unnecessary rtl_obstack declaration.
5941
9d303046
DE
59422002-12-18 Doug Evans <dje@sebabeach.org>
5943
5944 * m32r/m32r.c (addr24_operand): Fix arg to CONSTANT_POOL_ADDRESS_P
5945 and LIT_NAME_P.
5946 (move_src_operand): Remove compile-time warning.
5947 * m32r/m32r.h (ROUND_ADVANCE_ARG): Ditto.
5948
80d83b16
JM
59492002-12-18 Jason Merrill <jason@redhat.com>
5950
5951 * unwind-dw2-fde.c (frame_downheap): Split out from...
5952 (frame_heapsort): Here.
5953
f32ac70d
JM
59542002-12-17 Jason Merrill <jason@redhat.com>
5955
9ec22713
JM
5956 * tree.c (make_node): Don't set TREE_TYPE on 's' class nodes.
5957 (build1): Always set TREE_SIDE_EFFECTS on 's' class nodes.
5958
38540594 5959 * gcc.c (do_spec_1) ['W']: End any pending argument from the braces.
a3a0177e 5960
f32ac70d
JM
5961 * calls.c (expand_call): Don't try to be clever about expanding
5962 the return slot address.
5963
d5db5b97
KK
59642002-12-18 Kaz kojima <kkojima@gcc.gnu.org>
5965
5966 * config/sh/linux.h (NO_IMPLICIT_EXTERN_C, CPLUSPLUS_CPP_SPEC):
5967 Define.
5968
e489a31f
JM
59692002-12-17 Jason Merrill <jason@redhat.com>
5970
5971 * genmultilib: Use 'cd ./foo'.
5972
5b8f02c6
KH
59732002-12-17 Kazu Hirata <kazu@cs.umass.edu>
5974
5975 * doc/c-tree.texi: Restore deliberate spelling mistakes.
5976
c0478a66
KH
59772002-12-17 Kazu Hirata <kazu@cs.umass.edu>
5978
5979 * doc/c-tree.texi: Fix typos and follow spelling conventions.
5980 * doc/cpp.texi: Likewise.
5981 * doc/extend.texi: Likewise.
5982 * doc/gty.texi: Likewise.
5983 * doc/install.texi: Likewise.
5984 * doc/invoke.texi: Likewise.
5985 * doc/md.texi: Likewise.
5986 * doc/passes.texi: Likewise.
5987 * doc/rtl.texi: Likewise.
5988 * doc/sourcebuild.texi: Likewise.
5989 * doc/tm.texi: Likewise.
5990
3364c33b
JQ
59912002-12-17 Jerry Quinn <jlquinn@optonline.net>
5992
5993 * doc/invoke.texi: Minor spelling and grammar fixes.
5994
d65f135a
UW
59952002-12-17 Ulrich Weigand <uweigand@de.ibm.com>
5996
5997 * config/s390/s390.c (s390_output_constant_pool): Replace
5998 ASM_OUTPUT_INTERNAL_LABEL by (*targetm.asm_out.internal_label).
5999
4b207444
JH
6000Tue Dec 17 09:47:57 CET 2002 Jan Hubicka <jh@suse.cz>
6001
6002 * convert.c (convert_to_real): Disable function transformation for
6003 now.
6004
cde26509
GK
60052002-12-16 Geoffrey Keating <geoffk@apple.com>
6006
6007 * gcc.c (handle_braces): Allow '@' as a switch name.
6008
9f175208
JM
60092002-12-16 Jason Merrill <jason@redhat.com>
6010
e489a31f
JM
6011 * calls.c (expand_call): Handle CALL_EXPR_HAS_RETURN_SLOT_ADDR
6012 with special struct-return ABIs.
6013
9f175208
JM
6014 * c-semantics.c (add_scope_stmt): Abort if the end SCOPE_STMT
6015 doesn't match the begin SCOPE_STMT in partialness.
6016
7a975113
GK
60172002-12-16 Geoffrey Keating <geoffk@apple.com>
6018
c79d892f
GK
6019 * genmultilib: Create temporary files in unique subdirectory.
6020
7a975113
GK
6021 * gcc.c (validate_switches): Allow '@' as a switch name.
6022
8483c7e0
LR
60232002-12-16 Loren J. Rittle <ljrittle@acm.org>
6024
6025 * Makefile.in (gcov-iov.h): Improve portability.
6026
9ee7999f
JH
6027Mon Dec 16 23:39:19 CET 2002 Jan Hubicka <jh@suse.cz>
6028
6029 * mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Do not use qpword on API_N32/not
6030 gas
6031 * mips.md (tablejump insn): Likewise.
6032
7a04c51b
MM
60332002-12-16 Mark Mitchell <mark@codesourcery.com>
6034
6035 * doc/include/gcc-common.texi: Change version number to 3.4.
6036
27eaa708
BK
60372002-12-16 Bruce Korb <bkorb@gnu.org>
6038
6039 * fixinc/fixlib.h: add: #include <signal.h>
6040 * fixinc/fixincl.c: remove: #include <signal.h>
6041
b51dc045
R
6042Mon Dec 16 17:20:04 2002 J"orn Rennecke <joern.rennecke@superh.com>
6043
6044 * sh.h (EXTRA_CONSTRAINT_Z): New macro.
6045 (EXTRA_CONSTRAINT): Use it.
6046 * sh.md (anddi3): Use 'Z' constraint for alternative 2.
6047
4977bab6
ZW
60482002-12-15 Zack Weinberg <zack@codesourcery.com>
6049
6050 * config.gcc (need_64bit_hwint): New variable.
6051 (alpha*-*-*, x86_64-*-*, ia64-*-*, mips*-*-*, powerpc*-*-*,
6052 mmix-knuth-mmixware, rs6000*-*-*, sparc64*-*-*, s390*-*-*,
6053 sh*-*-*, hppa*64*-*-linux, parisc*64*-*-linux, hppa*64*-*-hpux11*,
6054 sparcv9-*-solaris2*, sparc*-*-solaris2.[789], ultrasparc-*-freebsd*):
6055 Set it.
6056 (powerpc*-*-darwin*): Unset it.
6057 (alpha-*-interix, alpha64-dec-*vms*, i?86-*-interix3*,
6058 i?86-*-interix*, sparc64-*-openbsd*): Remove references to
6059 deleted/nonexistent xm-*.h headers.
6060 * configure.in: AC_DEFINE NEED_64BIT_HOST_WIDE_INT if the
6061 target set need_64bit_hwint in config.gcc.
6062 * configure, config.in: Regenerate.
6063
6064 * hwint.h: Overhaul. Don't bother trying int for
6065 HOST_WIDE_INT. Do try __int64 if long is not enough. Base
6066 decision to force 64-bit HOST_WIDE_INT on
6067 NEED_64BIT_HOST_WIDE_INT, not (MAX_)LONG_TYPE_SIZE which is
6068 not visible at this point. Don't allow prior definition of
6069 any macro defined by this file.
6070
6071 * config/alpha/xm-vms.h: Don't define HOST_WIDE_INT or
6072 HOST_BITS_PER_WIDE_INT.
6073 * config/c4x/c4x.h: Adjust redefinition of
6074 HOST_WIDE_INT_PRINT_HEX to match changes to hwint.h.
6075 * config/alpha/xm-alpha-interix.h, config/alpha/xm-vms64.h,
6076 config/i386/xm-i386-interix.h: Delete file.
6077
60782002-12-14 Rodney Brown <rbrown64@csc.com.au>
6079 John David Anglin <dave@hiauly1.hia.nrc.ca>
6080
6081 * pa.c (output_millicode_call): Convert ASM_OUTPUT_INTERNAL_LABEL.
6082 * pa64-hpux.h (ASM_OUTPUT_INTERNAL_LABEL): Delete define.
6083
60842002-12-14 Zack Weinberg <zack@codesourcery.com>
6085
6086 * mkconfig.sh: Correct comment. Add copyright boilerplate.
6087
60882002-12-14 Zack Weinberg <zack@codesourcery.com>
6089
6090 * config/t-darwin, config/arm/t-pe, config/arm/t-strongarm-pe,
6091 config/c4x/t-c4x, config/i370/t-i370, config/i386/t-cygwin,
6092 config/i386/t-interix, config/i960/t-960bare, config/ia64/t-ia64,
6093 config/rs6000/t-rs6000-c-rule, config/sparc/t-sol2,
6094 config/v850/t-v850: Correct dependencies and normalize
6095 compilation commands for files that include coretypes.h and tm.h.
6096
6097 * config/sparc/gmon-sol2.c: Include tconfig.h and tsystem.h,
6098 not config.h and system.h.
6099
6100Sat Dec 14 20:43:41 CET 2002 Jan Hubicka <jh@suse.cz>
6101
6102 * i386.c (flags_reg_operand): New function.
6103 * i386.h (PREDICATE_CODES): Add flags_reg_operand.
6104 * i386.md (cmov splitter, movqicc): Use new predicate.
6105
6106Sat Dec 14 17:03:17 CET 2002 Jan Hubicka <jh@suse.cz>
6107
6108 * i386.md (movqicc splitter): Fix template.
6109
61102002-12-13 Jason Merrill <jason@redhat.com>
6111
6112 * tree.h (CALL_EXPR_HAS_RETURN_SLOT_ADDR): New macro.
6113 * calls.c (expand_call): Handle it.
6114 * tree-inline.c (struct inline_data): Remove target_exprs field.
6115 (optimize_inline_calls): Don't initialize it.
6116 (expand_call_inline): Don't modify it. Handle
6117 CALL_EXPR_HAS_RETURN_SLOT_ADDR.
6118 (declare_return_variable): Take return slot addr.
6119 * langhooks.h (copy_res_decl_for_inlining): Change target_exprs parm
6120 to return_slot_addr.
6121 * langhooks-def.h, langhooks.c: Adjust.
6122 * explow.c (maybe_set_unchanging): Don't set RTX_UNCHANGING_P for
6123 a decl with no DECL_INITIAL.
6124
6125 * expr.c (expand_expr): Don't discard the target of a call which
6126 returns in memory.
6127
61282002-12-13 Neil Booth <neil@daikokuya.co.uk>
6129
6130 * cppinit.c (path_include): Take an environment variable name.
6131 Tidy up.
6132 (init_standard_includes): Simplify environment handling, and
6133 move to ...
6134 (cpp_read_main_file): ...here as -nostdinc should not affect
6135 environment variable paths.
6136
f5f9008b
JDA
61372002-12-13 John David Anglin <dave@hiauly1.hia.nrc.ca>
6138
6139 * pa.c (output_millicode_call): Correct typo.
6140 (output_call): Likewise.
6141
a58be199
AO
6142Fri Dec 13 21:07:18 2002 Alexandre Oliva <aoliva@redhat.com>
6143
6144 * config/mn10300/mn10300.c (print_operand) <case N>: Check
6145 operand's range. Print value directly, without aid from
6146 output_address.
6147 <case U>: New.
6148 <case S>: Make sure argument to fprintf has the right type.
6149 * config/mn10300/mn10300.h (OK_FOR_T): New macro.
6150 (EXTRA_CONSTRAINT): Adjust.
6151 * config/mn10300/mn10300.md: Add new all-QImode pattern for
6152 bclr. Use %U for immediate operands of bset and bclr.
6153 (iorqi3): New expand, with insns for AM33 and mn10300.
6154
d9da94a1
R
6155Fri Dec 13 16:02:27 2002 J"orn Rennecke <joern.rennecke@superh.com>
6156
6157 * sh.c (sh_register_operand): New function.
6158 (prepare_move_operands): Use it.
6159 * sh.h (PREDICATE_CODES): Add entry for sh_register_operand.
6160 * sh.md (movsi_media, movsi_media_nofpu): Allow stores of 0.
6161 (movqi_media, movhi_media, movdi_media, movdi_media_nofpu): Likewise.
6162 (movdf_media, movdf_media_nofpu, movv4sf_i, movsf_media): Likewise.
6163 (movsf_media_nofpu, movv2hi_i, movv4hi_i, movv8qi_i): Likewise.
6164 (movv2si_i): Likewise.
6165
580fb356
JW
61662002-12-13 Jim Wilson <wilson@redhat.com>
6167
6168 * doc/extend.texi (Complex Numbers): Update info on debug info.
6169
697d8028
KH
61702002-12-13 Kazu Hirata <kazu@cs.umass.edu>
6171
6172 * config/h8300/h8300.md (addhi3_h8300): Remove the last
6173 alternative.
6174
4977bab6
ZW
61752002-12-12 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
6176
6177 * hooks.h (hook_tree_tree_bool_false): Declare
6178 hook_bool_tree_tree_false instead.
6179
dd05b1b4 61802002-12-12 Devang Patel <dpatel@apple.com>
697d8028 6181
dd05b1b4
DP
6182 * doc/invoke.texi: Document Darwin linker options, -bundle
6183 -bind_at_load, -all_load and -arch_errors_fatal
6184
24aacafb
JW
61852002-12-12 Jim Wilson <wilson@redhat.com>
6186
6187 * dbxout.c (dbxout_fptype_value): New.
6188 (dbxout_type, case COMPLEX_TYPE): Call it. Use 'R' instead of 'r'.
6189
09da1532
KH
61902002-12-12 Kazu Hirata <kazu@cs.umass.edu>
6191
6192 * c-decl.c: Fix a comment typo.
6193 * cfg.c: Likewise.
6194 * cfgcleanup.c: Likewise.
6195 * cfglayout.c: Likewise.
6196 * cfgrtl.c: Likewise.
6197 * c-typeck.c: Likewise.
6198 * dominance.c: Likewise.
6199 * dwarf2asm.c: Likewise.
6200 * dwarfout.c: Likewise.
6201 * expmed.c: Likewise.
6202 * expr.c: Likewise.
6203 * final.c: Likewise.
6204 * flow.c: Likewise.
6205 * function.c: Likewise.
6206 * gcc.c: Likewise.
6207 * genautomata.c: Likewise.
6208 * integrate.c: Likewise.
6209 * loop.c: Likewise.
6210 * loop.h: Likewise.
6211 * output.h: Likewise.
6212 * profile.c: Likewise.
6213 * ra.h: Likewise.
6214 * reload1.c: Likewise.
6215 * reload.c: Likewise.
6216 * sched-rgn.c: Likewise.
6217 * stmt.c: Likewise.
6218 * tree.h: Likewise.
6219 * vmsdbgout.c: Likewise.
6220
7930523d
KH
62212002-12-12 Kazu Hirata <kazu@cs.umass.edu>
6222
6223 * config/h8300/h8300.md: Add a new peephole2.
6224
59578c84
KH
62252002-12-12 Kazu Hirata <kazu@cs.umass.edu>
6226
6227 * config/h8300/h8300.md (a peephole2): Accept a constant
6228 that's accepted by CONST_OK_FOR_J.
6229
8cc5359b
KH
62302002-12-12 Kazu Hirata <kazu@cs.umass.edu>
6231
6232 * config/h8300/h8300.h (CONST_OK_FOR_J): New.
6233 (CONST_OK_FOR_LETTER_P): Use CONST_OK_FOR_J.
6234 * config/h8300/h8300.md (*addhi_h8300): Add a new alternative.
6235 (*addhi_h8300hs): Likewise.
6236
ec555f32
R
6237Thu Dec 12 16:24:59 2002 J"orn Rennecke <joern.rennecke@superh.com>
6238
6239 * sh.c (reg_class_from_letter): No longer const. Add 'e' entry.
6240 (sh_register_move_cost): Add clause for SImode fp-fp moves.
6241 Increase cost for moves involving multiple general purpose registers.
6242 * sh.h (OVERRIDE_OPTIONS): Set reg_class_from_letter['e'] according to
6243 TARGET_FMOVD.
6244 (HARD_REGNO_MODE_OK): Allow V2SFmode and V4SFmode in general purpose
6245 registers, and SImode in fp registers, for ! TARGET_SHMEDIA.
6246 (enum reg_class reg_class_from_letter): No longer const.
6247 (SECONDARY_OUTPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG /
6248 REGCLASS_HAS_GENERAL_REG.
6249 Handle SImode moves from/to fp registers.
6250 ! TARGET_SHMEDIA && TARGET_FMOVD.
6251 (SECONDARY_INPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG.
6252 * sh.md (movsi_ie): Add alternatives to move from / to fp regisyters.
6253
83ebfdc0
AS
62542002-12-12 Andreas Schwab <schwab@suse.de>
6255
6256 * config/ia64/ia64.c (ia64_hpux_asm_file_end): Fix typo in last
6257 change and some warnings.
6258
299c5111
KH
62592002-12-12 Kazu Hirata <kazu@cs.umass.edu>
6260
6261 * doc/md.texi (pushm): Fix a typo.
6262
852dff61
AO
62632002-12-12 Alexandre Oliva <aoliva@redhat.com>
6264
6265 * config/mips/mips.c (mips_output_conditional_branch): Support
6266 PIC-safe out-of-range branch and branch-likely.
6267 * config/mips/mips.md (attr length): PIC-safe out-of-range
6268 branches are longer.
6269 ("jump"): Support PIC-safe out-of-range-for-branch jumps. Remove
6270 unused code to support indirect jumps.
6271
4977bab6
ZW
62722002-12-11 Zack Weinberg <zack@codesourcery.com>
6273
6274 * Makefile.in (GTFILES): Add $(host_xm_file_list) and
6275 $(tm_file_list).
6276
62772002-12-11 David Edelsohn <edelsohn@gnu.org>
6278
6279 * config/rs6000/t-rs6000-c-rule: Add coretypes.h $(TM_H) dependencies.
6280
6281Wed Dec 11 15:20:45 CET 2002 Jan Hubicka <jh@suse.cz>
6282
6283 * i386.md (cmove splitters): Avoid creation of unnecesary subregs.
6284
d6567b3a
JDA
62852002-12-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
6286
6287 * pa.h (BIGGEST_ALIGNMENT): Change 32-bit value to 64 bits.
6288 (MAX_PARM_BOUNDARY, STACK_BOUNDARY): Express in terms of
6289 BIGGEST_ALIGNMENT.
6290 (PREFERRED_STACK_BOUNDARY): Express in terms of STACK_BOUNDARY.
6291 (FUNCTION_BOUNDARY): Express in terms of BITS_PER_WORD.
6292
355bd14f
KH
62932002-12-11 Kazu Hirata <kazu@cs.umass.edu>
6294
6295 * doc/invoke.texi: Correct dump file names.
6296
9a3873b4
SE
62972002-12-09 Steve Ellcey <sje@cup.hp.com>
6298
6299 * config/ia64/ia64.c (ia64_hpux_asm_file_end): Don't send stripped
6300 name to globalize_label or assemble_name.
6301
9a4816af
R
6302Wed Dec 11 20:15:19 2002 J"orn Rennecke <joern.rennecke@superh.com>
6303
6304 * sh.h (REG_CLASS_HAS_GENERAL_REG): Only true for SIBCALL_REGS
6305 if not TARGET_SHMEDIA.
6306
6307Wed Dec 11 19:05:05 2002 J"orn Rennecke <joern.rennecke@superh.com>
6308
6309 * sh.h (REG_CLASS_HAS_FP_REG): New.
6310 (REGISTER_MOVE_COST) Use it. Put body into a function and
6311 move it into:
6312 * sh.c (sh_register_move_cost).
6313 * sh-protos.h (sh_register_move_cost): Declare.
6314
6315 * sh.c (sh_expand_builtin): Abort for unexpected nop values.
6316 (sh_adjust_cost): Always return a value.
6317
70a72ca4
R
6318Wed Dec 11 18:39:52 2002 J"orn Rennecke <joern.rennecke@superh.com>
6319
6320 * sh.h (REG_CLASS_HAS_GENERAL_REG): New.
6321 (REGISTER_MOVE_COST): Use it.
6322
5d5cd66f
RH
63232002-12-11 Richard Henderson <rth@redhat.com>
6324
6325 * tree.h (MODULE_LOCAL_P): Kill.
6326 * varasm.c (default_binds_local_p_1): Use decl_visibility instead.
6327
68d0a3d2
KH
63282002-12-11 Kazu Hirata <kazu@cs.umass.edu>
6329
6330 * config/h8300/h8300.md (two define_peephole2): New.
6331
722d59a3
KH
63322002-12-11 Kazu Hirata <kazu@cs.umass.edu>
6333
6334 * config/h8300/h8300.h (CONST_OK_FOR_J): Remove.
6335 (CONST_OK_FOR_K): Likewise.
6336 (CONST_OK_FOR_M): Likewise.
6337 (CONST_OK_FOR_LETTER_P): Do not use the above macros.
6338
b3a5a50c
NB
63392002-12-11 Neil Booth <neil@daikokuya.co.uk>
6340
6341 * c-common.c (builtin_define_type_max): Handle unsigned
6342 types too.
6343
4977bab6
ZW
63442002-12-10 David Edelsohn <edelsohn@gnu.org>
6345
6346 * haifa-sched.c (rank_for_schedule): Correct style.
6347
63482002-12-10 Per Bothner <pbothner@apple.com>
6349
6350 * cpplib.h (struct cpp_hashnode): Split a non-portably-signed field
6351 directive_index into an unsigned field and a new is_directive field.
6352 * cppinit.c (mark_named_operators): Update to set new fields.
6353 * cpplex.c (_cpp_lex_direct): Now directive_field is unsigned.
6354 * cpplib.c [_cpp_handle_directive]: Test is_directive field.
6355 No longer need to subtract 1 from directive_index.
6356 (_cpp_init_directives): No longer need to add 1 to directive_index.
6357 * cpptrad.c (scan_out_logical_line): Use is_directive field.
6358
63592002-12-10 Roger Sayle <roger@eyesopen.com>
6360
6361 * builtins.c (fold_builtin): Remove -funsafe-math-optimizations
6362 check for evaluating sqrt of a constant at compile time.
6363 * simplify-rtx.c (simplify_unary_operation): Likewise.
6364
40d81ee4
JJ
63652002-12-10 Janis Johnson <janis187@us.ibm.com>
6366
6367 PR other/8882
6368 * doc/tm.texi (PUSH_ARGS): Remove misplaced line.
6369
48aec0bc 63702002-12-10 Devang Patel <dpatel@appple.com>
40d81ee4 6371
48aec0bc
DP
6372 * config/darwin.h(LINK_SPEC): Add darwin specific linker options.
6373 * doc/invoke.texi: Add new "Darwin Options" section.
4977bab6 6374
0e9f8e82
JW
63752002-12-10 Jim Wilson <wilson@redhat.com>
6376
6377 * rs6000.h (RETURN_IN_MEMORY): If ABI_V4, then TFmode is returned in
6378 memory.
6379
3e25353e
AH
63802002-12-10 Andrew Haley <aph@redhat.com>
6381
6382 * cse.c (cse_insn): Don't cse past a basic block boundary.
6383
17772b2a
JJ
63842002-12-10 Jakub Jelinek <jakub@redhat.com>
6385
6386 * config/linux.h (LIB_SPEC): If -pthread, add -lpthread even if
6387 -shared.
6388 * config/alpha/linux-elf.h (LIB_SPEC): Likewise.
6389 * config/alpha/linux.h (LIB_SPEC): Likewise.
6390 * config/arm/linux-elf.h (LIB_SPEC): Likewise.
6391 * config/pa/pa-linux.h (LIB_SPEC): Likewise.
6392 * config/sparc/linux.h (LIB_SPEC): Likewise.
6393 * config/sparc/linux64.h (LIB_SPEC): Likewise.
6394
63358530
LH
63952002-12-09 Larin Hennessy <larin@science.oregonstate.edu>
6396
6397 * doc/invoke.texi: Document UltraSparc III option.
6398
2e37b0ce
RH
63992002-12-09 Richard Henderson <rth@redhat.com>
6400
6401 * config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Define
6402 __tune_pentium2__ and __tune_pentium3__ as necessary.
6403
3a04ff64
RH
64042002-12-09 Richard Henderson <rth@redhat.com>
6405
6406 * target.h (gcc_target): Add cannot_force_const_mem.
6407 * target-def.h (TARGET_CANNOT_FORCE_CONST_MEM): New.
6408 (TARGET_INITIALIZER): Add it.
6409 * varasm.c (force_const_mem): Fail if cannot_force_const_mem.
6410 * expr.c (emit_move_insn): Be prepared for force_const_mem to fail.
6411 * reload1.c (reload): Likewise.
6412 * hooks.c (hook_bool_rtx_false): New.
6413 * hooks.h: Declare it.
6414
6415 * config/i386/i386.c (ix86_cannot_force_const_mem): New.
6416 (TARGET_CANNOT_FORCE_CONST_MEM): New.
6417 (ix86_expand_move): Remove de-const-pooling hack.
6418
a9a4005f
JH
6419Mon Dec 9 21:33:38 CET 2002 Jan Hubicka <jh@suse.cz>
6420
6421 * toplev.c (dump_file): Fix order to match reality.
6422
7ef788f0
GK
64232002-12-08 Geoffrey Keating <geoffk@apple.com>
6424
6425 * config/rs6000/rs6000.md (load_multiple): Use adjust_address_nv.
6426 (store_multiple): Likewise.
6427
3f320b7e
JDA
64282002-12-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
6429
6430 * pa/fptr.c (__canonicalize_funcptr_for_compare): Don't canonicalize
6431 function pointers in page 0.
6432
3870df96
SE
64332002-12-09 Steve Ellcey <sje@cup.hp.com>
6434
6435 * config/ia64/hpux.h (TARGET_STRUCT_ARG_REG_LITTLE_ENDIAN): Remove
6436 definition
6437 (MEMBER_TYPE_FORCES_BLK): Move.
6438 * config/ia64/ia64.c (ia64_function_arg): Use PARALLEL to pass
6439 aggregate arguments.
6440 (ia64_function_value): Use PARALLEL to return aggregate values.
6441
9ac3e73b
SE
64422002-12-09 Steve Ellcey <sje@cup.hp.com>
6443
6444 * doc/tm.texi (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
6445 * defaults.h (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
6446 * calls.c (store_unaligned_arguments_into_pseudos) Remove
6447 FUNCTION_ARG_REG_LITTLE_ENDIAN.
6448 * stmt.c (expand_return): Ditto.
6449 * expr.c (move_block_from_reg): Ditto.
6450 (copy_blkmode_from_reg): Ditto.
4977bab6 6451 * expmed.c (store_bit_field): Ditto.
9ac3e73b 6452
7f0db92a
SS
64532002-12-09 Svein E. Seldal <Svein.Seldal@solidas.com>
6454
6455 * config.gcc: Added tic4x-* target as an alias to c4x-*
6456
37c66aa6
JH
6457Sun Dec 8 14:57:39 CET 2002 Jan Hubicka <jh@suse.cz>
6458
7ef788f0
GK
6459 * i386.c (ix86_expand_int_movcc): Use force_operand instead of
6460 constructing insn directly.
37c66aa6 6461
4977bab6
ZW
64622002-12-06 Per Bothner <pbothner@apple.com>
6463
6464 * cpplib.h (struct cpp_hashnode): Change field directive_index from
6465 char to an int bit-field, for hosts where char is unsigned.
6466
64672002-12-07 Roger Sayle <roger@eyesopen.com>
6468 Richard Henderson <rth@redhat.com>
6469
6470 * real.c (ieee_extended_motorola_format,
6471 ieee_extended_intel_96_format, ieee_extended_intel_128_format,
6472 ieee_quad_format, vax_d_format, vax_g_format, i370_double_format):
6473 Provide appropriate values for new signbit field.
6474
64752002-12-07 Roger Sayle <roger@eyesopen.com>
6476
6477 * real.h (real_format): Add signbit field.
6478 * real.c (ieee_single_format, ieee_double_format,
6479 ieee_extended_motorola_format, ieee_extended_intel_96_format,
6480 ieee_extended_intel_128_format, ibm_extended_format,
6481 ieee_quad_format, vax_f_format, vax_d_format,
6482 vax_g_format, i370_single_format, i370_double_format,
6483 c4x_single_format, c4x_extended_format, real_internal_format):
6484 Provide suitable signbit value, or -1 to avoid bit twiddling.
6485
6486 * optabs.c (expand_unop): Try implementing negation of
6487 floating point modes by flipping the sign bit.
6488 (expand_abs): Try implementing abs of floating point modes
6489 by clearing the sign bit.
6490
6491Sat Dec 7 22:29:47 CET 2002 Jan Hubicka <jh@suse.cz>
6492
6493 * i386.c (ix86_expand_int_movcc): Use force_operand instead
6494 of constructing insn directly.
6495
2a598b3a
KH
64962002-12-07 Kazu Hirata <kazu@cs.umass.edu>
6497
6498 * config/h8300/h8300.md (*iorhi_shift_8): New.
6499
70899148
BS
65002002-12-06 Bernd Schmidt <bernds@redhat.com>
6501
6502 * doc/invoke.texi: Document FRV port options.
6503 * doc/md.texi: Document FRV register classes.
6504
377dfc82
GP
65052002-12-07 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
6506
6507 * doc/install.texi (Configuration): Improve description of cases
6508 where `make distclean` may fail; clarify --with-gnu-as; fix grammar.
6509
4977bab6
ZW
65102002-12-06 Per Bothner <pbothner@apple.com>
6511
6512 * cpplib.h (NODE_MACRO_ARG): New flag.
6513 (struct cpp_hashnode): Give _cpp_hashnode_value tag to value union.
6514 Remove value.operator field. Move arg_index field to value union.
6515 (directive_index): Make signed, since also used for C++ operators.
6516 * cppmacro.c (_cpp_save_parameter): Use NODE_MACRO_ARG flag to
6517 check for duplicate parameter. Set NODE_MACRO_ARG flag.
6518 Save node->value, and set node->value.arg_index.
6519 (_cpp_create_definition): For each paramater, restore node->value.
6520 (lex_expansion_token): Use NODE_MACRO_ARG flag, and moved arg_index.
6521 * cpptrad.c (scan_out_logical_line): Likewise.
6522 (scan_out_logical_line): Check for directive > 0.
6523 * cpplib.c (cpp_handle_directive): Likewise.
6524 * cpplex.c (_cpp_lex_direct): Update as value.operator is replaced
6525 by negative of directive_index.
6526 * cppinit.c (mark_named_operators): Likewise.
6527
6528 * hashtable.h (struct ht_identifier): Swap fields, for better packing.
6529
7144b2d8
DD
65302002-12-06 Dhananjay Deshpande <dhananjayd@kpit.com>
6531
6532 * gcc/config/sh/sh.c (calc_live_regs): Save fpscr only if target has
6533 FPU.
6534 (push): Generate push_fpscr.
6535 (pop): Generate pop_fpscr.
6536 * gcc/config/sh/sh.md : Add define_expand "push_fpscr", "pop_fpscr".
6537 (fpu_switch): Add alternative to push fpscr. Enable for TARGET_SH3E.
6538
aa06e8f5
R
6539Fri Dec 6 19:36:24 2002 J"orn Rennecke <joern.rennecke@superh.com>
6540
6541 * sh.c (dump_table): DImode pool constants need only 32 bit alignment.
6542 DFmode alignment depends on TARGET_FMOVD && TARGET_ALIGN_DOUBLE.
6543
0113c3c0
R
6544Fri Dec 6 19:17:49 2002 J"orn Rennecke <joern.rennecke@superh.com>
6545
6546 * sh.md (movdi_i): Name. Remove inappropriate comment.
6547
8d6b008d
R
6548Fri Dec 6 15:44:46 2002 J"orn Rennecke <joern.rennecke@superh.com>
6549 Merged from basic improvements branch (excerpt):
6550
6551 2002-11-19 Kaz Kojima <kkojima@gcc.gnu.org>
6552 * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
6553
61f6c84f
JJ
65542002-12-06 Jakub Jelinek <jakub@redhat.com>
6555
6556 * expr.c (expand_expr) <case COND_EXPR>: Never modify exp in place.
6557
4977bab6
ZW
6558Thu Dec 5 16:58:25 CET 2002 Jan Hubicka <jh@suse.cz>
6559
6560 * i386.md (dimode peep2s): Re-add "&& 1".
6561
6562Thu Dec 5 14:10:15 CET 2002 Jan Hubicka <jh@suse.cz>
6563
6564 * i386.c (ix86_expand_prologue): Add comment, do not use
6565 fast prologues for cold and normal functions.
6566
6567Thu Dec 5 00:52:37 CET 2002 Jan Hubicka <jh@suse.cz>
6568
6569 * i386.c (x86_rep_movl_optimal): New variable.
6570 (ix86_expand_movstr, ix86_expand_clrstr): Use TARGET_REP_MOVL_OPTIMAL
6571 * i386.h (TARGET_REP_MOVL_OPTIMAL): New macro.
6572
6573 * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
6574 absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
6575 neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
6576 generate unnecesary subregs.
6577
bf97847b
JDA
65782002-12-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
6579
6580 * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): Move define.
6581 * pa.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): To here.
6582
1fcfaf37
DJ
65832002-12-05 Dale Johannesen <dalej@apple.com>
6584
6585 * tree.c (unsafe_for_reeval): Consider callee child of CALL_EXPR.
6586
1a823ac1
DS
65872002-12-05 Danny Smith <dannysmith@users.sourceforge.net>
6588
6589 * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Replace with
6590 PROFILE_HOOK.
6591 * config/i386/mingw32.h (SUBTARGET_PROLOGUE): Don't undef.
6592
747db477
AH
65932002-12-05 Aldy Hernandez <aldyh@redhat.com>
6594
6595 * config/rs6000/spe.h (__ev_mwlufi): Remove.
6596 (__ev_mwlufia): Remove.
6597 (__ev_mwlumfaaw): Remove.
6598 (__ev_mwlusfaaw): Remove.
6599 (__ev_mwlumfanw): Remove.
6600 (__ev_mwlusfanw): Remove.
6601
94f09825
KH
66022002-12-05 Kazu Hirata <kazu@cs.umass.edu>
6603
6604 * config/h8300/h8300.md (*andorsi3_shift_8): New.
6605
1e5bdc40
KH
66062002-12-05 Kazu Hirata <kazu@cs.umass.edu>
6607
6608 * config/h8300/h8300.c (shift_alg_si): Optimize ashift:HI and
6609 lshiftrt:SI by 28, 29, and 30 bits when !TARGET_H8300.
6610 (get_shift_alg): Return optimal assembly instructions for the
6611 shifts mentioned above.
6612
4977bab6
ZW
6613Wed Dec 4 11:53:07 CET 2002 Jan Hubicka <jh@suse.cz>
6614
6615 * i386.c (ix86_expand_int_movcc): Force operand into register for QImode
6616 condtiional moves.
6617
b6fd51f6
KH
66182002-12-04 Kazu Hirata <kazu@cs.umass.edu>
6619
6620 * config/h8300/h8300.c (h8300_init_once): Do not use loop to
6621 implement ashiftrt:HI by 13 bits on H8S.
6622
9e1ab8c1
JDA
66232002-12-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
6624
6625 * pa/fptr.c (__canonicalize_funcptr_for_compare): New file and function.
6626 * pa.md (canonicalize_funcptr_for_compare): Output library call to
6627 canonicalize_funcptr_for_compare_libfunc on TARGET_ELF32.
6628 * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL,
6629 CTOR_LIST_BEGIN): New defines.
6630 * pa/t-linux (LIB2FUNCS_EXTRA): New define.
6631 (fptr.c): Add make rules.
6632
16823694
GK
66332002-12-04 Geoffrey Keating <geoffk@apple.com>
6634
6635 * combine.c (combine_simplify_rtx): Add new canonicalizations.
6636 * doc/md.texi (Insn Canonicalizations): Document new
6637 canonicalizations for multiply/add combinations.
6638 * config/rs6000/rs6000.md: Add and modify floating add/multiply
6639 patterns to ensure they're used whenever they can be.
6640
5ec0b66e
KH
66412002-12-04 Kazu Hirata <kazu@cs.umass.edu>
6642
6643 * config/h8300/h8300.c: Update the comments related to shifts.
6644
7fa9ed65
CD
66452002-12-04 Chris Demetriou <cgd@broadcom.com>
6646
6647 * config/mips/mips.md (get_fnaddr): Correct length attribute.
6648
6bd6fd35
KH
66492002-12-04 Kazu Hirata <kazu@cs.umass.edu>
6650
6651 * config/h8300/h8300.md (*extzv_8_8): New.
6652 (*extzv_8_16): Likewise.
6653
c246c65d
JM
66542002-12-04 Jason Merrill <jason@redhat.com>
6655
6656 PR c++/8461, c++/8625
6657 * integrate.c (copy_decl_for_inlining): Handle explicit invisible
6658 references.
6659 * tree-inline.c (initialize_inlined_parameters): Likewise.
6660
6661 * tree.c (variably_modified_type_p): Just return an error_mark_node.
6662
ae598ab9
CD
66632002-12-04 Chris Demetriou <cgd@broadcom.com>
6664
6665 * config/mips/mips.md (get_fnaddr): Avoid placing an "la"
6666 macro instruction in a branch delay slot, to avoid assembler
6667 warnings.
6668
a9b6f1e7
EB
66692002-12-04 Eric Botcazou <ebotcazou@libertysurf.fr>
6670
6671 PR c/7622
6672 * c-semantics (genrtl_scope_stmt): Do not output inlined
6673 nested functions that contain no code.
6674
a3716585
JH
6675Wed Dec 4 15:20:54 CET 2002 Jan Hubicka <jh@suse.cz>
6676
6677 * cfgrtl.c (force_nonfallthru_and_redirect): Allow abnormal edge
6678 to be forced into nonfallthru.
6679
44924a36
JT
66802002-12-03 Jason Thorpe <thorpej@wasabisystems.com>
6681
6682 * config/t-netbsd (USER_H): Set to $(EXTRA_HEADERS).
6683
3678a93e
AH
66842002-12-03 Aldy Hernandez <aldyh@redhat.com>
6685
4977bab6 6686 * config/rs6000/spe.md (*movv1di_const0): New pattern.
3678a93e 6687
6e1be6b1
RH
66882002-12-03 Richard Henderson <rth@redhat.com>
6689
6690 * libgcc-std.ver: Inherit GCC_3.3 from GCC_3.0.
6691
c47eb51b
HPN
66922002-12-03 Hans-Peter Nilsson <hp@bitrange.com>
6693
6694 * bitmap.c (bitmap_ior_and_compl, bitmap_union_of_diff):
6695 Initialize tmp.using_obstack to 0.
6696
2cff4a6e
AS
66972002-12-03 Andreas Schwab <schwab@suse.de>
6698
6699 * config/m68k/m68k.h (EH_RETURN_DATA_REGNO): Define.
6700 (EH_RETURN_STACKADJ_RTX): Define.
6701 (EH_RETURN_HANDLER_RTX): Define.
6702 (ASM_PREFERRED_EH_DATA_FORMAT): Define.
6703 * config/m68k/m68k.c (m68k_save_reg): New function. Handle eh
6704 registers and don't save fixed registers.
6705 (m68k_output_function_prologue): Use it.
6706 (use_return_insn): Likewise.
6707 (m68k_output_function_epilogue): Likewise.
6708
491a9777
KH
67092002-12-03 Kazu Hirata <kazu@cs.umass.edu>
6710
6711 * config/h8300/h8300.c (single_one_operand): Fix a warning.
6712 (single_zero_operand): Likewise.
6713
4977bab6
ZW
67142002-12-02 Nathanael Nerode <neroden@gcc.gnu.org>
6715
6716 * Makefile.in configure configure.in dummy-conditions.c fix-header.c
6717 gcov-iov.c gen-protos.c genattr.c genattrtab.c genautomata.c
6718 gencheck.c gencodes.c genconditions.c genconfig.c genconstants.c
6719 genemit.c genextract.c genflags.c gengenrtl.c gengtype-lex.l
6720 gengtype-yacc.y gengtype.c genopinit.c genoutput.c genpeep.c
6721 genpreds.c genrecog.c gensupport.c mkconfig.sh read-rtl.c
6722 scan-decls.c scan.c config/sh/sh.h doc/configfiles.texi
6723 doc/install-old.texi: Replace hconfig.h with bconfig.h.
6724 * Makefile.in: Replace HCONFIG_H with BCONFIG_H.
6725
67262002-12-02 Andrew Pinski <pinskia@physics.uc.edu>
6727
6728 * config/rs6000/rs6000.md (ffssi): Convert to expander.
6729 (ffsdi): Likewise.
6730 (cntlzw2, cntlzd2): New patterns.
6731
67322002-12-02 H.J. Lu <hjl@gnu.org>
6733
6734 * config.gcc (mips*-*-netbsd*): Remove mips/t-netbsd.
6735 (mips*-*-linux*): Remove mips/t-linux.
6736
6737Mon Dec 2 19:26:30 CET 2002 Jan Hubicka <jh@suse.cz>
6738
6739 * i386.c (ix86_expand_int_movcc): Avoid overflow.
6740
e8a68017
KH
67412002-12-02 Kazu Hirata <kazu@cs.umass.edu>
6742
6743 * config/h8300/h8300.c (dosize): Replace argument op with
6744 sign.
6745 (h8300_output_function_prologue): Update the call to dosize.
6746 (h8300_output_function_epilogue): Likewise.
6747
834572b8
BW
67482002-12-02 Bob Wilson <bob.wilson@acm.org>
6749
6750 * config/xtensa/xtensa.h: Delete ifndefs with nothing inside them.
6751
67522002-12-02 Craig Rodrigues <rodrigc@gcc.gnu.org>
9118405f
CR
6753
6754 * configure.in: Use "missing" script to generate warning if
6755 flex or bison programs not found, instead of invoking "false".
6756 * configure: Rebuilt.
6757
4ff38cd5
JH
6758Mon Dec 2 20:28:48 CET 2002 Jan Hubicka <jh@suse.cz>
6759
6760 * unroll.c (copy_loop_body): Copy CONST_OR_PURE_CALL_P.
6761
adc72fa6
JH
6762Mon Dec 2 19:42:52 CET 2002 Jan Hubicka <jh@suse.cz>
6763
6764 * i386.c (ix86_expand_int_movcc): Avoid overflow.
6765
513f31eb
KH
67662002-12-02 Kazu Hirata <kazu@cs.umass.edu>
6767
6768 * config/h8300/h8300.c (dosize): Output r7/er7 instead of sp.
6769 (push): Likewise.
6770 (pop): Likewise.
6771 (h8300_output_function_prologue): Likewise.
6772 (h8300_output_function_epilogue): Likewise.
6773
7ffc9761
R
6774Mon Dec 2 14:43:22 2002 J"orn Rennecke <joern.rennecke@superh.com>
6775
6776 * expmed.c (store_bit_field): Use int_mode_for_mode to find
6777 corresponding mode of non-integer mode, unless it is VOIDmode.
6778
0a2a0a58
KH
67792002-12-02 Kazu Hirata <kazu@cs.umass.edu>
6780
6781 * config/h8300/h8300.md (stm_h8300s_2): New.
6782 (stm_h8300s_3): Likewise.
6783 (stm_h8300s_4): Likewise.
6784 (five define_peephole2): Likewise.
6785
28432d9f
KH
67862002-12-02 Kazu Hirata <kazu@cs.umass.edu>
6787
6788 * ra-build.c: Fix a comment typo.
6789
4977bab6
ZW
6790Sun Dec 1 16:50:47 CET 2002 Jan Hubicka <jh@suse.cz>
6791
6792 * i386.c (ix86_expand_int_movcc): fix
6793 reversed BRANCH_COST test; be curefull about infinite recursion.
6794
e651d484
KH
67952002-12-01 Kazu Hirata <kazu@cs.umass.edu>
6796
6797 * config/h8300/h8300.c (h8300_output_function_prologue):
6798 Remove variable idx.
6799 (h8300_output_function_epilogue): Likewise.
6800
558bb2c4
ZW
68012002-12-01 Zack Weinberg <zack@codesourcery.com>
6802
6803 * config/frv/xm-frv.h: Delete, unnecessary.
6804
96cc06af
KH
68052002-12-01 Kazu Hirata <kazu@cs.umass.edu>
6806
6807 * config/h8300/h8300.md: Add comments for define_peephole2.
6808
c9f8536c
MM
68092002-12-01 Mark Mitchell <mark@codesourcery.com>
6810
6811 * builtin-types.def (BT_SIZE): Use size_type_node.
6812 * builtins.c (fold_builtin): Make the builtin strlen returns a
6813 size_t, not a sizetype.
6814 * c-common.c (c_sizeof_or_alignof_type): Use size_type_node, not
6815 c_size_type_node.
6816 (c_alignof_expr): Likewise.
6817 (c_common_nodes_and_builtins): Likewise.
6818 * c-common.h (CTI_C_SIZE_TYPE): Remove.
6819 (c_size_type_node): Likewise.
6820 * c-format.c (T_ST): Use size_type_node, not c_size_type_node.
6821 * tree.h (TI_SIZE_TYPE): New enumeral.
6822 (size_type_node): Likewise.
4977bab6
ZW
6823
68242002-11-30 Zack Weinberg <zack@codesourcery.com>
6825
6826 * configure.in: Don't put ${tm_file} into host_xm_file,
6827 build_xm_file, or xm_file. Do put tm-preds.h into tm_p_file.
6828 Take location of tm-preds.h into account when calculating
6829 tm_p_file_list.
6830 * configure: Regenerate.
6831 * mkconfig.sh: No need for separate TM_DEFINES and XM_DEFINES
6832 arguments. Do not provide rtx, rtvec, tree, or GTY here.
6833 Remove special case code for tm_p.h and *config.h; add new
6834 special case code for tm.h and tconfig.h. Clean up a bit.
6835
6836 * Makefile.in (tm_file, tm_file_list): New variables set from
6837 @-substitutions.
6838 (GCONFIG_H): Deleted.
6839 (GTM_H, TM_H): New.
6840 (CONFIG_H): Is now just config.h $(host_xm_file_list).
6841 (TM_P_H): Move up with the other mkconfig.sh-generated
6842 headers; don't mention tm-preds.h explicitly.
6843 (tm.h, cs-tm.h): New rule.
6844 (cs-config.h, cs-hconfig.h, cs-tconfig.h, cs-tm_p.h): Adjust
6845 invocations of mkconfig.sh for changes to that program.
6846 (mostlyclean): Delete print-rtl1.c.
6847 (clean): Delete tm.h.
6848 Update dependencies for the files listed below.
6849
6850 * mklibgcc.in: Add 'coretypes.h $(TM_H)' to libgcc2_c_dep.
6851
6852 * coretypes.h: New file.
6853 * system.h: #define malloc to xmalloc and realloc to xrealloc
6854 when FLEX_SCANNER or YYBISON is defined, independent of the
6855 value of GCC_VERSION.
6856 * alias.c, attribs.c, bb-reorder.c, bitmap.c, builtins.c,
6857 c-aux-info.c, c-common.c, c-convert.c, c-decl.c, c-dump.c,
6858 c-errors.c, c-format.c, c-lang.c, c-lex.c, c-objc-common.c,
6859 c-opts.c, c-parse.in, c-pragma.c, c-pretty-print.c,
6860 c-semantics.c, c-typeck.c, caller-save.c, calls.c, cfg.c,
6861 cfganal.c, cfgbuild.c, cfgcleanup.c, cfglayout.c, cfgloop.c,
6862 cfgrtl.c, collect2.c, combine.c, conflict.c, convert.c,
6863 cppdefault.c, cpperror.c, cppexp.c, cppfiles.c, cpphash.c,
6864 cppinit.c, cpplex.c, cpplib.c, cppmacro.c, cppmain.c,
6865 cppspec.c, cpptrad.c, crtstuff.c, cse.c, cselib.c, dbxout.c,
6866 debug.c, df.c, diagnostic.c, doloop.c, dominance.c,
6867 dummy-conditions.c, dwarf2asm.c, dwarf2out.c, dwarfout.c,
6868 emit-rtl.c, errors.c, et-forest.c, except.c, explow.c,
6869 expmed.c, expr.c, final.c, fix-header.c, flow.c, fold-const.c,
6870 function.c, gcc.c, gccspec.c, gcov-dump.c, gcov-iov.c, gcov.c,
6871 gcse.c, gen-protos.c, genattr.c, genattrtab.c, genautomata.c,
6872 gencheck.c, gencodes.c, genconditions.c, genconfig.c,
6873 genconstants.c, genemit.c, genextract.c, genflags.c,
6874 gengenrtl.c, gengtype-lex.l, gengtype-yacc.y, gengtype.c,
6875 genopinit.c, genoutput.c, genpeep.c, genpreds.c, genrecog.c,
6876 gensupport.c, ggc-common.c, ggc-none.c, ggc-page.c,
6877 ggc-simple.c, global.c, graph.c, haifa-sched.c, hashtable.c,
6878 hooks.c, ifcvt.c, integrate.c, intl.c, jump.c, langhooks.c,
6879 lcm.c, libgcc2.c, line-map.c, lists.c, local-alloc.c, loop.c,
6880 main.c, mbchar.c, mips-tdump.c, mips-tfile.c, mkdeps.c,
6881 optabs.c, params.c, predict.c, prefix.c, print-rtl.c,
6882 print-tree.c, profile.c, protoize.c, ra-build.c,
6883 ra-colorize.c, ra-debug.c, ra-rewrite.c, ra.c, read-rtl.c,
6884 real.c, recog.c, reg-stack.c, regclass.c, regmove.c,
6885 regrename.c, reload.c, reload1.c, reorg.c, resource.c,
6886 rtl-error.c, rtl.c, rtlanal.c, sbitmap.c, scan-decls.c,
6887 scan.c, sched-deps.c, sched-ebb.c, sched-rgn.c, sched-vis.c,
6888 sdbout.c, sibcall.c, simplify-rtx.c, ssa-ccp.c, ssa-dce.c,
6889 ssa.c, stmt.c, stor-layout.c, stringpool.c, timevar.c,
6890 tlink.c, toplev.c, tracer.c, tree-dump.c, tree-inline.c,
6891 tree.c, unroll.c, varasm.c, varray.c, varray.h, vmsdbgout.c,
6892 xcoffout.c, config/darwin-c.c, config/darwin.c,
6893 config/fp-bit.c, config/alpha/alpha.c, config/alpha/vms-cc.c,
6894 config/alpha/vms-ld.c, config/arc/arc.c, config/arm/arm.c,
6895 config/arm/pe.c, config/avr/avr.c, config/c4x/c4x-c.c,
6896 config/c4x/c4x.c, config/cris/cris.c, config/d30v/d30v.c,
6897 config/dsp16xx/dsp16xx.c, config/fr30/fr30.c,
6898 config/frv/frv.c, config/h8300/h8300.c, config/i370/i370-c.c,
6899 config/i370/i370.c, config/i386/i386.c, config/i386/winnt.c,
6900 config/i960/i960-c.c, config/i960/i960.c,
6901 config/ia64/ia64-c.c, config/ia64/ia64.c, config/ip2k/ip2k.c,
6902 config/m32r/m32r.c, config/m68hc11/m68hc11.c,
6903 config/m68k/m68k.c, config/m88k/m88k.c, config/mcore/mcore.c,
6904 config/mips/irix6-libc-compat.c, config/mips/mips.c,
6905 config/mmix/mmix.c, config/mn10200/mn10200.c,
6906 config/mn10300/mn10300.c, config/ns32k/ns32k.c,
6907 config/pa/pa.c, config/pdp11/pdp11.c, config/romp/romp.c,
6908 config/rs6000/rs6000-c.c, config/rs6000/rs6000.c,
6909 config/s390/s390.c, config/sh/sh.c, config/sparc/gmon-sol2.c,
6910 config/sparc/sparc.c, config/stormy16/stormy16.c,
6911 config/v850/v850-c.c, config/v850/v850.c, config/vax/vax.c,
6912 config/xtensa/xtensa.c, objc/objc-act.c, objc/objc-lang.c:
6913 Include coretypes.h and tm.h.
6914
6915 * genattrtab.c, genconditions.c, genemit.c, genextract.c,
6916 gengenrtl.c, gengtype.c, genopinit.c, genoutput.c, genpeep.c,
6917 genrecog.c: Include coretypes.h and tm.h from the file
6918 generated by this program.
6919
6920 * unwind-dw2-fde-darwin.c, unwind-dw2-fde-glibc.c,
6921 unwind-dw2-fde.c, unwind-dw2.c, unwind-sjlj.c: Include
6922 coretypes.h and tm.h, and tsystem.h when not already included.
6923 No need to include stddef.h nor stdlib.h.
6924
6925 * fixinc/fixlib.h: Include coretypes.h and tm.h. Do not
6926 include auto-host.h or ansidecl.h/
6927 * fixinc/server.h: Do not include stdio.h, unistd.h, or fixlib.h.
6928 * fixinc/procopen.c: Include server.h after fixlib.h. Do not
6929 include auto-host.h, ansidecl.h, or system.h.
6930 * fixinc/server.c: Likewise. Also, do not include signal.h,
6931 and do not redefine volatile.
6932
6933Sat Nov 30 17:16:46 CET 2002 Jan Hubicka <jh@suse.cz>
6934
6935 * i386.md (movdf_integer): Always enable in 64bit.
6936 (movdf_nointeger): Always disable in 64bit.
6937
f6318a2b
JDA
69382002-11-30 John David Anglin <dave@hiauly1.hia.nrc.ca>
6939
6940 * cfg.c (dump_flow_info): Use max_reg_num () to determine the largest
6941 pseudo register number plus 1.
6942
4977bab6
ZW
6943Fri Nov 29 20:10:56 2002 J"orn Rennecke <joern.rennecke@superh.com>
6944
6945 * expmed.c (store_bit_field): Use int_mode_for_mode to find
6946 corresponding mode of non-integer mode, unless it is VOIDmode.
6947
2402645b
HPN
69482002-11-29 Hans-Peter Nilsson <hp@bitrange.com>
6949
6950 * cpplib.c (_cpp_test_assertion): Default *value to 0.
6951
6952 * cppexp.c (num_part_mul): Initialize result.unsignedp, to 1.
6953
8ef34c0d
UW
69542002-11-29 Ulrich Weigand <uweigand@de.ibm.com>
6955
6956 * config/s390/t-crtstuff: New target makefile fragment.
6957 * config.gcc [s390-*-linux, s390x-*-linux]: Use it.
6958
b8bbda91
KH
69592002-11-29 Kazu Hirata <kazu@cs.umass.edu>
6960
6961 * config/h8300/h8300.md (movsi_h8300hs): Change the order of
6962 alternatives to correct the length when the memory operand is
6963 either pre_dec or post_inc.
6964
d23dff51
KH
69652002-11-29 Kazu Hirata <kazu@cs.umass.edu>
6966
6967 * config/h8300/h8300.md (an anonymous pattern): Give an
6968 internal name *tst_extzv_bitqi_1_n.
6969 Accept bit_operand instead of bit_memory_operand.
6970 Do not accept bit tests with the MSB.
6971 (*tst_extzv_memqi_1_n): New.
6972
4977bab6
ZW
6973Thu Nov 28 23:56:24 CET 2002 Jan Hubicka <jh@suse.cz>
6974
6975 * i386.c (ix86_expand_int_movcc): Add copy_rtx to avoid invalid RTX
6976 sharing when operand is SUBREG.
6977
6978Thu Nov 28 08:57:26 CET 2002 Jan Hubicka <jh@suse.cz>
6979
6980 * athlon.md (athlon-decodev): New reservation unit.
6981 (athlon-direct0): New reservation.
6982 (athlon-vector): New use athlon-decodev.
6983 (athlon-double, athlon-direct): Better model.
6984 (athlon_imul_k8): Use athlon-direct0.
6985 (athlon_movlpd_load): New insn reservation.
6986
3f7211f1
KH
69872002-11-28 Kazu Hirata <kazu@cs.umass.edu>
6988
6989 * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
6990 Fix a comment typo.
6991 (h8300_tiny_constant_address_p): Likewise.
6992
fcb204ce
MM
69932002-11-28 Michael Matz <matz@suse.de>
6994
6995 * doc/passes.texi: Mention the other register allocator.
6996
7957fde4
KH
69972002-11-28 Kazu Hirata <kazu@cs.umass.edu>
6998
6999 * config/h8300/h8300.md (6 new peephole2 patterns): New.
7000
17c04c5e
JJ
70012002-11-28 Jakub Jelinek <jakub@redhat.com>
7002
7003 * config.gcc (x86_64-*-linux*) [tmake_file]: Remove i386/t-crtstuff.
7004 * config/t-linux (CRTSTUFF_T_CFLAGS_S): Add $(CRTSTUFF_T_CFLAGS).
7005 * config/i386/t-linux64 (CRTSTUFF_T_CFLAGS): Define.
7006
73cc75e9
KH
70072002-11-28 Kazu Hirata <kazu@cs.umass.edu>
7008
7009 * config/h8300/h8300.c (h8300_and_costs): New.
7010 * config/h8300/h8300.h (RTX_COSTS): Use h8300_and_costs.
7011 * config/h8300/h8300-protos.h: Add a prototype for
7012 h8300_and_costs.
7013
4977bab6
ZW
7014Wed Nov 27 20:34:13 CET 2002 Jan Hubicka <jh@suse.cz>
7015
7016 * i386.c (x86_sse_partial_regs_for_cvtsd2ss): New.
7017 * i386.h (x86_sse_partial_regs_for_cvtsd2ss): Declare.
7018 (TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS): New macro.
7019 * i386.md (truncdfsf patterns and splitters): Use
7020 TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS
7021
0dbc3651
ZW
70222002-11-27 Zack Weinberg <zack@codesourcery.com>
7023
7024 * config/rs6000/rs6000.c (altivec_init_builtins): Make the
7025 pointer argument in the prototypes of the following builtins
7026 be (const TYPE *) rather than (TYPE *):
7027 + __builtin_altivec_ld_internal_4sf
7028 + __builtin_altivec_ld_internal_4si
7029 + __builtin_altivec_ld_internal_8hi
7030 + __builtin_altivec_ld_internal_16qi
7031 + __builtin_altivec_lvsl
7032 + __builtin_altivec_lvsr
7033 + __builtin_altivec_lvebx
7034 + __builtin_altivec_lvehx
7035 + __builtin_altivec_lvewx
7036 + __builtin_altivec_lvxl
7037 + __builtin_altivec_lvx
7038 + __builtin_altivec_dst
7039 + __builtin_altivec_dstt
7040 + __builtin_altivec_dstst
7041 + __builtin_altivec_dststt
7042
fe3f9515
KG
70432002-11-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7044
7045 * except.c (default_exception_section): Move variable into the
7046 scope where it is used.
7047
4e85eada
KW
70482002-11-27 Krister Walfridsson <cato@df.lth.se>
7049
7050 * config.gcc (*-*-netbsd[2-9]*, *-*-netbsdelf[2-9]*): Test for
7051 correct version.
7052
f248423a
KH
70532002-11-27 Kazu Hirata <kazu@cs.umass.edu>
7054
7055 * config/h8300/h8300.h (OK_FOR_U): Remove extra parentheses.
7056
ae557002
KH
70572002-11-27 Kazu Hirata <kazu@cs.umass.edu>
7058
7059 * config/h8300/h8300.c (h8300_shift_costs): New.
7060 * config/h8300/h8300.h (RTX_COSTS): Use h8300_shift_costs.
7061 * config/h8300/h8300-protos.h: Add a prototype for
7062 h8300_shift_costs.
7063
c9b93e1a
JW
70642002-11-27 Jim Wilson <wilson@redhat.com>
7065
0dbc3651
ZW
7066 * config/rs6000/spe.md (spu_evsplatfi, spu_evsplati): Swap operands
7067 in output template.
c9b93e1a 7068
249e6b63
CH
70692002-11-27 Casper S. Hornstrup <chorns@users.sourceforge.net>
7070
7071 * config/i386/i386.h (DLL_IMPORT_EXPORT_PREFIX): Define.
7072 * config/i386/winnt.c (i386_pe_dllexport_name_p): Use
7073 DLL_IMPORT_EXPORT_PREFIX, not '@'.
7074 (i386_pe_dllimport_name_p): Likewise.
7075 (i386_pe_mark_dllexport): Likewise.
7076 (i386_pe_mark_dllimport): Likewise.
7077 (i386_pe_encode_section_info): Likewise.
7078 (i386_pe_strip_name_encoding): Likewise.
7079
5a5c00af
RH
70802002-11-27 Richard Henderson <rth@redhat.com>
7081
7082 * mkmap-symver.awk (BEGIN): Set sawsymbol false.
7083 (nm && NF == 3): Set sawsymbol true.
7084 (END): Exit if no symbols seen.
7085 (output): Fix map syntax error if no globals for the version.
7086
1dc46545
JH
7087Wed Nov 27 14:45:46 CET 2002 Jan Hubicka <jh@suse.cz>
7088
7089 * builtins.def (DEF_C99_BUILTIN): Fix.
7090
4977bab6
ZW
70912002-11-26 Kaz Kojima <kkojima@gcc.gnu.org>
7092
7093 * config/sh/lib1funcs.asm (FUNC, ENDFUNC0, ENDFUNC): New macros.
7094 (all): Add .size and .type information.
7095
7096Tue Nov 26 22:43:50 CET 2002 Jan Hubicka <jh@suse.cz>
7097
7098 * i386.c (ix86_expand_int_movcc): Do not emit lea for short mode on
7099 partial_reg_stall target.
7100
7101Tue Nov 26 22:27:47 CET 2002 Jan Hubicka <jh@suse.cz>
7102
7103 * i386.md (movhicc): Allow general operand.
7104 (movqicc): New expander.
7105 (movqicc_noc): New pattern.
7106 * i386.c (ix86_expand_carry_flag_compare): New function.
7107 (ix86_expand_int_movcc): Optimize harder using sbb; support more
7108 HImode conversion; support QImode conditional moves
7109
7110Tue Nov 26 16:30:59 CET 2002 Jan Hubicka <jh@suse.cz>
7111
7112 * i386.c (FAST_PROLOGUE_INSN_COUNT): Set to 20.
7113 (ix86_expand_prologue): Multiply the count by amount of registers to be
7114 pushed.
7115
7116Tue Nov 26 15:55:27 CET 2002 Jan Hubicka <jh@suse.cz>
7117
7118 * i386.c (override_options): Error about wrong -mcpu on x86-64
7119 compilation.
7120
71212002-11-26 NIIBE Yutaka <gniibe@m17n.org>
7122
7123 * config/sh/linux.h (FUNCTION_PROFILER): Implemented.
7124
7125Tue Nov 26 00:14:20 CET 2002 Jan Hubicka <jh@suse.cz>
7126
7127 * i386-protos.h (x86_extended_QIreg_mentioned_p,
7128 x86_extended_reg_mentioned_p): Declare.
7129 * i386.c (extended_reg_mentioned_1): New static function.
7130 (x86_extended_QIreg_mentioned_p,
7131 x86_extended_reg_mentioned_p): New global functions.
7132 * i386.h (REX_SSE_REGNO_P): New macro.
7133 * i386.md (prefix_rex): New attribute.
7134 (length attribute): Add rex.
7135
5154b05d
AH
71362002-11-26 Andrew Haley <aph@redhat.com>
7137
7138 * unwind-sjlj.c (_Unwind_FindEnclosingFunction): Rename
7139 from_Unwind_Find_Enclosing_Function.
7140 * unwind-dw2.c (_Unwind_FindEnclosingFunction): Likewise.
7141 * config/ia64/unwind-ia64.c (_Unwind_FindEnclosingFunction): Likewise.
7142 * libgcc-std.ver (_Unwind_FindEnclosingFunction): Rename from
7143 _Unwind_Find_Enclosing_Function, export @@GCC_3.3.
7144 * unwind.h (_Unwind_FindEnclosingFunction): Add.
0dbc3651 7145
0f942cae
HP
71462002-11-26 Hartmut Penner <hpenner@de.ibm.com>
7147
0dbc3651
ZW
7148 * config/s390/s390.c (390_output_constant_pool): Set alignment
7149 before label in 64 bit mode, behind otherwise.
0f942cae 7150
25fdb4dc
RH
71512002-11-26 Richard Henderson <rth@redhat.com>
7152
7153 * c-common.c (handle_visibility_attribute): Accept "default".
7154 * tree.h (enum symbol_visibility): New.
7155 (decl_visibility): Declare.
7156 * target.h (gcc_target.visibility): Take visibility arg as integer.
7157 * varasm.c (default_assemble_visibility): Likewise.
7158 (decl_visibility): New.
7159 (maybe_assemble_visibility): Use it.
7160 * output.h (default_assemble_visibility): Update prototype.
7161 * config/rs6000/rs6000.c (rs6000_assemble_visibility): Take
7162 visibility arg as integer.
d5c4db17 7163 * doc/extend.texi: Document default visibility.
25fdb4dc 7164
920e86b8
KH
71652002-11-26 Kazu Hirata <kazu@cs.umass.edu>
7166
7167 * config/h8300/h8300.c: Adjust spacing.
7168 * config/h8300/h8300.h: Likewise.
7169
7b1bd3c5
RH
71702002-11-26 Richard Henderson <rth@redhat.com>
7171
7172 * hooks.c (hook_bool_void_false, hook_void_tree_int,
7173 hook_void_FILEptr_constcharptr): Rename so that the return
7174 type is first.
7175 (hook_int_tree_tree_1, hook_void_tree, hook_void_tree_treeptr,
7176 hook_bool_tree_false): New.
7177 * hooks.h: Update.
7178 * langhooks-def.h: Update for renames.
7179 * target-def.h: Likewise.
7180 * tree.c (default_comp_type_attributes,
0dbc3651 7181 default_set_default_type_attributes, default_insert_attributes,
7b1bd3c5
RH
7182 default_function_attribute_inlinable_p,
7183 default_ms_bitfield_layout_p): Remove.
7184 * tree.h: Update.
7185
44571d6e
JDA
71862002-11-26 John David Anglin <dave@hiauly1.hia.nrc.ca>
7187
7188 * pa-protos.h (function_value): New prototype.
7189 * pa.c (function_value): Use a PARALLEL to return small aggregates on
7190 TARGET_64BIT.
7191 * pa.h (FUNCTION_VALUE): Use function_value.
7192 * pa.md (call_value_internal_symref, call_value_internal_reg_64bit,
7193 call_value_internal_reg, sibcall_value_internal_symref,
7194 sibcall_value_internal_symref_64bit): Remove =rf constraint on return
7195 value.
7196
084a1106
JDA
71972002-11-26 John David Anglin <dave@hiauly1.hia.nrc.ca>
7198
7199 * expr.c (gen_group_rtx, emit_group_move): New functions.
7200 * expr.h (gen_group_rtx, emit_group_move): Prototype.
7201 * function.c (expand_function_start): Use gen_group_rtx to create a
7202 PARALLEL rtx to hold the return value when the real return rtx is a
7203 PARALLEL.
7204 (expand_function_end): Use emit_group_move to move the return value
7205 from a PARALLEL to the real return registers.
7206 * rtl.h (REG_FUNCTION_VALUE_P): Allow function values to be returned
7207 in PARALLELs.
7208
5d2fe493
JT
72092002-11-26 Jason Thorpe <thorpej@wasabisystems.com>
7210
7211 * config/t-libc-ok: Fix typo.
7212
13c22933
JJ
72132002-11-26 Jakub Jelinek <jakub@redhat.com>
7214
7215 * configure.in: Move AC_CANONICAL_SYSTEM and AC_ARG_PROGRAM back
7216 before AC_PROG_CC.
7217 * configure: Rebuilt.
7218
5326cd3d
NS
72192002-11-26 Nathan Sidwell <nathan@codesourcery.com>
7220
7221 * c-decl.c: (start_struct): Commonize flag setting.
7222
647d340d
JT
72232002-11-26 Jason Thorpe <thorpej@wasabisystems.com>
7224
7225 * config/rs6000/rs6000.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): New.
7226 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Use
0dbc3651 7227 RS6000_CPU_CPP_ENDIAN_BUILTINS.
647d340d
JT
7228 * config/rs6000/netbsd.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): Redefine.
7229
29742ba4
HP
72302002-11-26 Hartmut Penner <hpenner@de.ibm.com>
7231
7232 * config/s390/s390.md (literal_pool_64, literal_pool_31 ): New
7233 insns.
7234 * config/s390/s390.c (struct machine_function): Introduction of
7235 struct machine_function.
0412a4d4
HP
7236 (s390_output_symbolic_const): Use of cfun.
7237 (s390_optimize_prolog): Likewise.
7238 (s390_fixup_clobbered_return_reg): Likewise.
7239 (s390_frame_info): Likewise.
7240 (s390_emit_prologue, s390_emit_epilogue): Likewise.
7241 (s390_init_machine_status): New function.
7242 (override_options): call s390_init_machine_status.
0dbc3651 7243 * config/s390/s390-protos.h (s390_output_constant_pool): Changed
29742ba4 7244 prototype.
0dbc3651 7245
f4111593
JJ
72462002-11-26 Jakub Jelinek <jakub@redhat.com>
7247
7248 * varasm.c (output_constant_pool): For pool constants in mergeable
7249 section ensure each constant is padded to multiple of entity size.
7250
96d0f4dc
JJ
72512002-11-26 Jakub Jelinek <jakub@redhat.com>
7252
7253 * varasm.c (default_exception_section): Move to...
7254 * except.c (default_exception_section): ... here. Make
7255 .gcc_except_table read-only if it is not expected to have any
7256 dynamic relocations and linker handles it.
7257 * dwarf2out.c (default_eh_frame_section): Make .eh_frame read-only
7258 if it is not expected to have any dynamic relocations and linker
7259 handles it.
7260 * configure.in (HAVE_LD_RO_RW_SECTION_MIXING): Check what ld does
7261 when linking read-only and read-write sections together.
7262 * configure, config.in: Rebuilt.
7263 * crtstuff.c (EH_FRAME_SECTION_CONST): Define.
7264 (__EH_FRAME_BEGIN__, __FRAME_END__): Add it.
7265
4977bab6
ZW
7266Mon Nov 25 18:32:37 CET 2002 Jan Hubicka <jh@suse.cz>
7267
7268 * i386.md (pushsf_rex64): Fix typo.
7269
020a7b12
AH
72702002-11-25 Aldy Hernandez <aldyh@redhat.com>
7271
249e6b63
CH
7272 * config/rs6000/spe.h (__ev_create_sfix32_fs): Change macro into
7273 new function.
7274 (__ev_create_ufix32_fs): Same.
7275 (__ev_get_sfix32_fs_internal): New.
7276 (__ev_get_sfix32_fs): Define to use function.
7277 (__ev_get_ufix32_fs_internal): New.
7278 (__ev_get_ufix32_fs): Define to use function.
7279 (__ev_get_upper_ufix32_fs): Call __ev_get_ufix32_fs.
7280 (__ev_get_lower_ufix32_fs): Same.
7281 (__ev_get_upper_sfix32_fs): Call __ev_get_sfix32_fs.
7282 (__ev_get_lower_sfix32_fs): Same.
7283 (__ev_set_sfix32_fs_internal): New.
7284 (__ev_set_ufix32_fs_internal): New.
7285 (__ev_set_sfix32_fs): Call __ev_set_sfix32_fs_internal.
7286 (__ev_set_ufix32_fs): Call __ev_set_ufix32_fs_internal.
7287 (__ev_set_upper_sfix32_fs): Call function.
7288 (__ev_set_lower_sfix32_fs): Same.
7289 (__ev_set_upper_ufix32_fs): Same.
7290 (__ev_set_lower_ufix32_fs): Same.
020a7b12 7291
d2dff06b
DR
72922002-11-25 Douglas B Rupp <rupp@gnat.com>
7293
7294 * gcc.c (do_spec_1): Reset delete_this_arg to zero.
7295
32f0ffb3
JT
72962002-11-25 Jason Thorpe <thorpej@wasabisystems.com>
7297
7298 * config/elfos.h (HANDLE_SYSV_PRAGMA): Define as 1.
7299 * config/interix.h (HANDLE_SYSV_PRAGMA): Likewise.
7300 * config/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
7301 * config/lynx-ng.h (HANDLE_SYSV_PRAGMA): Likewise.
7302 * config/lynx.h (HANDLE_SYSV_PRAGMA): Likewise.
7303 * config/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
7304 * config/openbsd.h (HANDLE_SYSV_PRAGMA: Likewise.
7305 * config/alpha/elf.h (HANDLE_SYSV_PRAGMA): Likewise.
7306 * config/arm/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
7307 * config/cris/aout.h (HANDLE_SYSV_PRAGMA): Likewise.
7308 * config/d30v/d30v.h (HANDLE_SYSV_PRAGMA): Likewise.
7309 * config/frv/frv.h (HANDLE_SYSV_PRAGMA): Likewise.
7310 * config/i386/djgpp.h (HANDLE_SYSV_PRAGMA): Likewise.
7311 * config/i386/i386-interix.h (HANDLE_SYSV_PRAGMA): Likewise.
7312 * config/i386/vxi386.h (HANDLE_SYSV_PRAGMA): Likewise.
7313 * config/ia64/ia64.h (HANDLE_SYSV_PRAGMA): Likewise.
7314 * config/m88k/m88k.h (HANDLE_SYSV_PRAGMA): Likewise.
7315 * config/mmix/mmix.h (HANDLE_SYSV_PRAGMA): Likewise.
7316 * config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Likewise.
7317 * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Likewise.
7318 * config/sparc/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
7319 * config/sparc/vxsparc64.h (HANDLE_SYSV_PRAGMA): Likewise.
7320 * config/stormy16/stormy16.h (HANDLE_SYSV_PRAGMA): Likewise.
7321 * config/alpha/osf.h (HANDLE_SYSV_PRAGMA): Don't undef before
7322 defining.
7323 * config/i386/sco5.h (HANDLE_SYSV_PRAGMA): Likewise.
7324 * config/mips/iris5.h (HANDLE_SYSV_PRAGMA): Likewise.
7325
160f9a4c
DP
73262002-11-25 Dave Pitts <dpitts@cozx.com>
7327
7328 * gcc/fixinc/mkfixinc.sh: add i370-*-openedition to bypass fixinc list
7329
3c0f5389
KH
73302002-11-25 Kazu Hirata <kazu@cs.umass.edu>
7331
7332 * config/h8300/h8300.md (an anonymous pattern): New.
7333
83bbd9b6
RH
73342002-11-25 Richard Henderson <rth@redhat.com>
7335
7336 * alias.c (find_base_value): Use new_reg_base_value if it's live.
7337 (copying_arguments): Make boolean.
7338
7c64a860
JT
73392002-11-25 Jason Thorpe <thorpej@wasabisystems.com>
7340
7341 * gcc.c (static_spec_functions): Add if-exists-else spec
7342 function.
7343 (if_exists_else_spec_function): New function.
7344 * doc/invoke.texi: Document the if-exists-else spec function.
7345
7346 * config/netbsd-elf.h (NETBSD_STARTFILE_SPEC): For -static, use
7347 "%:if-exists-else(crtbeginT%O%s crtbegin%O%s)".
7348
a4967b8d
JT
73492002-11-25 Jason Thorpe <thorpej@wasabisystems.com>
7350
7351 * config.gcc (powerpc-*-netbsd*): Replace "svr4.h" with
7352 "netbsd.h netbsd-elf.h" in tm_file. Set tmake_file to
7353 "${tmake_file} rs6000/t-netbsd".
7354 * config/rs6000/netbsd.h: Rewrite.
7355 * config/rs6000/t-netbsd: New file.
7356
a91dce31
KH
73572002-11-25 Kazu Hirata <kazu@cs.umass.edu>
7358
7359 * config/h8300/h8300.md (an anonymous pattern): Relax the
7360 condition for the pattern.
7361
fe29a4ea
AH
73622002-11-25 Aldy Hernandez <aldyh@redhat.com>
7363
7364 * config/rs6000/rs6000.h (enum rs6000_builtins): Remove evmwlssf,
7365 evmwlsmf, evmwlssfa, evmwlsmfa, evmwlssfaaw, evmwlsmfaaw,
7366 evmwlssfanw, evmwlsmfanw.
7367
7368 * config/rs6000/rs6000.c (bdesc_2arg): Same.
7369
7370 * config/rs6000/spe.md: Same for patterns.
7371
b77f3744
CE
73722002-11-25 Christian Ehrhardt <ehrhardt@mathematik.uni-ulm.de>
7373
7374 PR c/8639
7375 * fold-const.c (extract_muldiv): Don't propagate division unless
7376 both arguments are multiples of C.
7377
5dafd282
AH
73782002-11-25 Andrew Haley <aph@redhat.com>
7379
249e6b63
CH
7380 * libgcc-std.ver (_Unwind_Find_Enclosing_Function): Add.
7381 * config/ia64/unwind-ia64.c (_Unwind_Find_Enclosing_Function): New.
7382 * unwind-sjlj.c (_Unwind_Find_Enclosing_Function): Likewise.
7383 * unwind-dw2.c (_Unwind_Find_Enclosing_Function): Likewise.
5dafd282 7384
4977bab6
ZW
7385Sun Nov 24 10:38:04 CET 2002 Jan Hubicka <jh@suse.cz>
7386
7387 * i386.c (x86_use_ffreep): New global variable.
7388 * i386.h (x86_use_frfeep): Declare
7389 (TARGET_USE_FFREEP): New macro
7390 * i386.md (movs?f*): Use freep when asked for.
7391 (push?f): Remove dead code.
7392
92d4b8a0
KH
73932002-11-24 Kazu Hirata <kazu@cs.umass.edu>
7394
7395 * config/h8300/h8300.c (h8300_init_once): Fix a typo in the
7396 target help message.
7397
1169f9e0
JT
73982002-11-24 Jason Thorpe <thorpej@wasabisystems.com>
7399
7400 * config.gcc (*-*-netbsd*1.[7-9]*, *-*-netbsd*[2-9]*): Set
7401 extra_parts to "crtbegin.o crtend.o crtbeginS.o crtendS.o
7402 crtbeginT.o".
7403 (arm*-*-netbsd*, i[34567]86-*-netbsd*, m68k*-*-netbsd*)
7404 (ns32k-*-netbsd*, sparc-*-netbsd*, vax-*-netbsd*): Set extra_parts
7405 to "" for a.out configurations.
7406 * config/t-netbsd (CRTSTUFF_T_CFLAGS): Set to "-fPIC".
7407
adde288a
JT
74082002-11-24 Jason Thorpe <thorpej@wasabisystems.com>
7409
7410 * config/alpha/netbsd.h (CPP_SUBTARGET_SPEC): Just use
0dbc3651 7411 NETBSD_CPP_SPEC directly.
adde288a
JT
7412 (SUBTARGET_EXTRA_SPECS): Remove netbsd_cpp_spec. Add
7413 netbsd_endfile_spec.
7414 (ENDFILE_SPEC): Use %(netbsd_endfile_spec).
7415
1ebe8c03
JT
74162002-11-24 Jason Thorpe <thorpej@wasabisystems.com>
7417
7418 * config/netbsd-elf.h (STARTFILE_SPEC): Rename to
7419 NETBSD_STARTFILE_SPEC.
7420 (STARTFILE_SPEC): Redefine in terms of NETBSD_STARTFILE_SPEC.
7421 (ENDFILE_SPEC): Likewise.
7422 * config/netbsd.h (LIB_SPEC, LIBGCC_SPEC): Likewise.
7423
bdabc150
AS
74242002-11-24 Andreas Schwab <schwab@suse.de>
7425
523cb499
AS
7426 * Makefile.in (install-driver): Remove versioned link before
7427 trying to create it.
7428
bdabc150
AS
7429 * config/m68k/m68k.c: Fix typo in last change defining
7430 TARGET_ASM_CAN_OUTPUT_MI_THUNK.
7431
4977bab6
ZW
74322002-11-23 H.J. Lu <hjl@gnu.org>
7433
7434 * aclocal.m4: Include ../config/accross.m4.
7435 (gcc_AC_COMPILE_CHECK_SIZEOF): Removed.
7436 (gcc_AC_C_COMPILE_ENDIAN): Removed.
7437 (gcc_AC_C_FLOAT_FORMAT): Check $ac_cv_c_bigendian
7438 instead of $ac_cv_c_compile_endian.
7439
7440 * configure.in: Replace gcc_AC_COMPILE_CHECK_SIZEOF with
7441 AC_COMPILE_CHECK_SIZEOF.
7442 Replace gcc_AC_C_COMPILE_ENDIAN with AC_C_BIGENDIAN_CROSS.
7443 * configure: Rebuild.
7444
56b8e164
KH
74452002-11-23 Kazu Hirata <kazu@cs.umass.edu>
7446
7447 * config/h8300/h8300.c (print_operand): Update the use of
7448 h8300_tiny_constant_address_p.
7449 (h8300_adjust_insn_length): Likewise.
7450 (h8300_tiny_constant_address_p): Check if the given rtx is a
7451 variable declared with __attribute__ ((tiny_data)).
7452
2bb74773
DJ
74532002-11-22 Dale Johannesen <dalej@apple.com>
7454
249e6b63 7455 * toplev.c (rest_of_compilation): Fix comments.
2bb74773 7456
199cbacc
GK
74572002-11-22 Geoffrey Keating <geoffk@apple.com>
7458
7459 * aclocal.m4 (ac_cv_func_mmap_dev_zero): Darwin does not
7460 allow mmap from /dev/zero. Don't make decisions for the host
7461 based on presence or absence of /dev/zero on the build machine.
7462 (ac_cv_func_mmap_anon): Darwin does have working MMAP_ANON.
7463 (AC_FUNC_MMAP_FILE): Darwin does have mmap of a file.
7464 * configure: Regenerate.
7465
42766f8d
DJ
74662002-11-22 Daniel Jacobowitz <drow@mvista.com>
7467
7468 * gcc.c (make_relative_prefix, split_directories)
7469 (free_split_directories): Removed.
7470
80486e06
DJ
74712002-11-22 Daniel Jacobowitz <drow@mvista.com>
7472
7473 * configure.in: Set insn=nop for DWARF-2 tests on ARM.
7474 * configure: Regenerated.
7475
41c3eb5d
KH
74762002-11-22 Kazu Hirata <kazu@cs.umass.edu>
7477
7478 * config/h8300/h8300.c (compute_a_shift_length): Fix the insn
7479 length computation when xor.l is output.
7480
4977bab6
ZW
74812002-11-21 Douglas B Rupp <rupp@gnat.com>
7482
7483 * alpha.md (movstrdi, clrstrdi): New VMS patterns.
7484 (call_vms_1, call_value_vms_1): Cleanup syntax.
7485
7486Thu Nov 21 19:20:27 CET 2002 Jan Hubicka <jh@suse.cz>
7487
7488 * athlon.md (define_atuomaton): Add athlon_load.
7489 (athlon-double): New reservation.
7490 (athlon-ieu0): New CPU unit.
7491 (athlon-load?): Use athlon_load automaton.
7492 (*_k8 reservations): New.
7493 (other insn revervations): Activate for K8.
7494
7495Thu Nov 21 15:07:42 CET 2002 Jan Hubicka <jh@suse.cz>
7496
7497 * cfgrtl.c (verify_flow_info): Accept EDGE_CAN_FALLTHRU flag.
7498
57de2c8f
JW
74992002-11-21 Jim Wilson <wilson@redhat.com>
7500
7501 * config/rs6000/rs6000.c (function_arg): Set inner mode of SPE
7502 vectors to SI.
7503
58db834b
BW
75042002-11-21 Bob Wilson <bob.wilson@acm.org>
7505
7506 * config/xtensa/xtensa-protos.h (xtensa_copy_incoming_a7): Declare.
7507 * config/xtensa/xtensa.c (struct machine_function): Add
7508 incoming_a7_copied flag.
7509 (xtensa_copy_incoming_a7): Define.
7510 (xtensa_emit_move_sequence): Use xtensa_copy_incoming_a7.
7511 * config/xtensa/xtensa.md (movdi, movsf, movdf): Ditto.
7512
c05dbe81
JH
7513Thu Nov 21 23:52:04 CET 2002 Jan Hubicka <jH@suse.cz>
7514
7515 * i386-protos.h (x86_64_sign_extended_value): Fix prototype.
7516 * i386.c (x86_64_general_operand, x86_64_szext_general_operand,
0dbc3651 7517 x86_64_nonmemory_operand, x86_64_movabs_operand,
c05dbe81
JH
7518 x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
7519 ix86_expand_int_movcc): Update call of x86_64_sign_extended_value.
7520 (local_symbolic_operand): Do not care the 64bit limits.
7521 (x86_64_sign_extended_value): Remove allow_rip support.
7522 (legitimate_pic_address_disp_p): Handle all cases allowed
7523 with RIP addressing.
7524 (legitimate_address_p): Use legitimate_pic_address_disp_p for PIC.
7525 (legitimize_pic_address): Reorganize.
7526 * i386.h (EXTRA_CONSTRAINT): Update call of x86_64_sign_extended_value.
7527
ff3afb56
JT
75282002-11-21 Jason Thorpe <thorpej@wasabisystems.com>
7529
7530 * config.gcc (arm*-*-netbsdelf*): Enable configuration.
7531 * config/arm/netbsd-elf.h: New file.
7532
57c21a42
JT
75332002-11-21 Jason Thorpe <thorpej@wasabisystems.com>
7534
7535 * config/arm/elf.h (SUBTARGET_EXTRA_SPECS): Add
7536 subtarget_asm_float_spec.
7537 (SUBTARGET_ASM_FLOAT_SPEC): Define, moving the
7538 defaults from...
7539 (ASM_SPEC): ...here. Use subtarget_asm_float_spec.
7540
3d5ee65b
NC
75412002-11-21 Nick Clifton <nickc@redhat.com>
7542
7543 * config/fr30/fr30.md (movsf_constant_store): Move code to
7544 detect 0.0 into fr30.c.
7545 * config/fr30/fr30-protos.h (fr30_const_double_is_zero):
7546 Prototype.
7547 * config/fr30/fr30.c (fr30_const_double_is_zero): New
7548 function. Return true if the rtx is 0.0.
7549
4d938a09
JT
75502002-11-21 Jason Thorpe <thorpej@wasabisystems.com>
7551
7552 * config/arm/elf.h (ASM_SPEC, LINK_SPEC): Pass -EL
7553 if -mlittle-endian is specified.
7554
1dda7ee4
RE
75552002-11-21 Richard Earnshaw <rearnsha@arm.com>
7556
7557 PR optimization/2903
7558 * arm.md (anddi_notzesidi_di): Operand 2 is inverted not operand 1.
7559 (anddi_notsesidi_di): Likewise.
7560
7c143ed2
KH
75612002-11-21 Kazu Hirata <kazu@cs.umass.edu>
7562
7563 * config/h8300/h8300.c (print_operand): Use
7564 h8300_eightbit_constant_address_p and
7565 h8300_tiny_constant_address_p.
7566 (h8300_adjust_insn_length): Likewise.
7567 * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Remove.
7568 (TINY_CONSTANT_ADDRESS_P): Likewise.
7569 (OK_FOR_U): Use eightbit_constant_address_p.
7570
b5798b2a
UW
75712002-11-21 Ulrich Weigand <uweigand@de.ibm.com>
7572
7573 * config/s390/libgcc-libc.ver: Add multilib support.
7574 * config/s390/linux.h (MULTILIB_DEFAULT): Define.
0dbc3651
ZW
7575 * config/s390/t-linux64 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
7576 MULTILIB_OSDIRNAMES, LIBGCC, INSTALL_LIBGCC,
b5798b2a
UW
7577 EXTRA_MULTILIB_PARTS): Define.
7578
c231c91e
RE
75792002-11-21 Richard Earnshaw <rearnsha@arm.com>
7580
7581 * arm.c (arm_get_frame_size): A leaf function does not need its
7582 stack padding to an aligned boundary if it has no frame.
7583 (thumb_get_frame_size): Likewise.
7584
4977bab6
ZW
7585Wed Nov 20 22:25:53 CET 2002 Jan Hubicka <jh@suse.cz>
7586
7587 * x86-64.h (MCOUNT_NAME): Fix typo in my previous patch.
7588 (override_options): Likewise.
7589
7590Wed Nov 20 19:07:17 CET 2002 Jan Hubicka <jh@suse.cz>
7591
7592 * config.gcc: Add k8 target alias support
7593 * i386.c (_cost): Declare costs for various variants of divides and
7594 multiplies.
7595 (k8_cost): New.
7596 (m_K8, m_ATHLON_K8): New macros.
7597 (x86_use_leave, x86_push_memory, x86_movx, x86_unroll_strlen,
7598 x86_cmove, x86_3dnow_a, x86_deep_branch, x86_use_fiop,
7599 x86_promote_QImode, x86_sub_esp_?, x86_add_esp_?,
7600 x86_integer_DFmode_moves, x86_partial_reg_dependency,
7601 x86_memory_mismatch_stall, x86_accumulate_outgoing_args,
7602 x86_prologue_using_move, x86_epilogue_using_move,
7603 x86_arch_always_fancy_math_387, x86_sse_partial_regs,
7604 x86_sse_typeless_stores): Set for K8
7605 (override_options): Add k8 support; fix athlon alignment;
7606 complain about non-x86-64 capable CPU being used in x86-64 compilation.
7607 (ix86_issue_rate): Set for K8.
7608 (ix86_adjust_cost, ia32_use_dfa_pipeline_interface,
7609 x86_machine_dependent_reorg): Handle K8 like
7610 * i386.h
7611 (x86_costs): Change mult_init and divide into array.
7612 (TARGET_K8, TARGET_ATHLON): New macros.
7613 (MODE_INDEX): New macro.
7614 (RTX_COST): Use new costs.
7615 (TARGET_CPU_CPP_BUILTINS): Define __k8__ and __tune_k8__.
7616 (TARGET_CPU_DEFAULT_NAMES): Add k8
7617 (TARGET_CPU_DEFAULT_k8): New constant
7618 (enum processor_type): Add PROCESSOR_K8.
7619 * i386.md (cpu attribute): Add k8.
7620
7621 * invoke.texi: Document -march=k8.
7622
7623 * i386.md (type attribute): Add leave
7624 (mode attribute): Remove unknownfp.
7625 (length_immediate, modrm, memory attributes): Handle leave correctly.
7626 (fp comparison patterns): Determine FP mode.
7627 (leave, leave_rex64): Remove special cases.
7628 * ppro.md (ppro_uops, ppro_p2): Add leave
7629 * pentiun.md (pent_pop): Handle leave too.
7630 * k6.md (k6_load): Handle leave.
7631 * athlon.md (athlon_leave, athlon_pop): Fix.
7632 (athlon_decode): Handle leave.
7633
27e58a70
SE
76342002-11-20 Steve Ellcey <sje@cup.hp.com>
7635
7636 * emit-rtl.c (gen_reg_rtx): Simplify mapping of Complex type
7637 to component type using GET_MODE_INNER.
7638 * expr.c (emit_move_insn_1): Ditto.
7639 * optabs.c (expand_binop): Ditto.
7640 (expand_unop): Ditto.
7641 (expand_complex_abs): Ditto.
7642
964b104a
DR
76432002-11-20 Douglas B Rupp <rupp@gnat.com>
7644
7645 * hwint.h (HAVE___INT64): Fix typo (was HAVE__INT64).
7646
3d4b192a
DD
76472002-11-20 DJ Delorie <dj@redhat.com>
7648
7649 * config/stormy16/stormy16.c (s16builtins,
7650 xstormy16_init_builtins, xstormy16_expand_builtin): New.
7651 * config/stormy16/stormy16.md (divmodhi4, sdivlh, udivlh): New.
7652
414d23ae
HPN
76532002-11-20 Hans-Peter Nilsson <hp@bitrange.com>
7654
7655 * Makefile.in (RUN_GEN, VALGRIND_DRIVER_DEFINES): New variables.
7656 (DRIVER_DEFINES): Add $(VALGRIND_DRIVER_DEFINES).
7657 (executing gencheck, genconfigs, genconditions, genflags,
7658 gencodes, genconstants, genemit, genrecog, genopinit, genextract,
7659 genpeep, genattr, genattrtab, genoutput, gengenrtl, genpreds,
7660 gengtype, genprotos): Prepend $(RUN_GEN).
7661 * configure.in: Move host compiler tests before --enable-checking
7662 tests.
7663 (--enable-checking=valgrind): New.
7664 * config.in, configure: Regenerate.
7665 * cppfiles.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
7666 Define as empty.
7667 (read_include_file): When doing the mmap+1 trick,
7668 valgrind-annotate the byte after the mmap:ed area as readable.
7669 (purge_cache): Remove above annotation.
7670 * gcc.c (execute) [ENABLE_VALGRIND_CHECKING]: Arrange to prepend
7671 VALGRIND_PATH -q to each command.
7672
9a0a7d5d
HPN
7673 * ggc-common.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
7674 Define as empty.
7675 (ggc_realloc): Update valgrind annotations.
7676 * ggc-page.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
7677 Define as empty.
c14bc6db 7678 (alloc_anon, free_page, ggc_alloc, poison_pages): Add machinery to
9a0a7d5d
HPN
7679 valgrind-annotate memory.
7680
3ba2436a
UW
76812002-11-20 Ulrich Weigand <uweigand@de.ibm.com>
7682
7683 * recog.c (constrain_operands): Prefer exact match over reloadable
7684 EXTRA_MEMORY_CONSTRAINT or EXTRA_ADDRESS_CONSTRAINT.
7685
7686 * reload.c (find_reloads): Always reload EXTRA_ADDRESS_CONSTRAINT
7687 operands in Pmode.
7688
a9b6f1e7 76892002-11-20 Eric Botcazou <ebotcazou@libertysurf.fr>
02a362d9
EB
7690
7691 PR c/8518
7692 * c-decl.c (duplicate_decls): Outline the second definition
7693 of an extern inline function in all cases.
7694
5354730b
RS
76952002-11-20 Richard Sandiford <rsandifo@redhat.com>
7696
7697 * stor-layout.c (place_field): Update rli->offset as well as
7698 rli->bitpos.
7699
5720520f
RS
77002002-11-20 Richard Sandiford <rsandifo@redhat.com>
7701
7702 * sched-deps.c (sched_analyze): Check HARD_REGNO_CALL_PART_CLOBBERED.
7703
4392ebd3
RS
77042002-11-20 Richard Sandiford <rsandifo@redhat.com>
7705
7706 * config/sh/sh.md (udivsi3): Don't put udivsi3_i4_media instructions
7707 into a libcall block.
7708 (divsi3): Likewise divsi3_i4_media.
7709
3748bd9e
RS
77102002-11-20 Richard Sandiford <rsandifo@redhat.com>
7711
7712 * global.c (find_reg): Check HARD_REGNO_NREGS before kicking
7713 out another register.
7714
bc02f8d3
JJ
77152002-11-20 Jakub Jelinek <jakub@redhat.com>
7716
7717 * combine.c (force_to_mode): Only replace with (not Y) if all bits in fuller_mask
7718 (not just mask) are set in C.
7719
4977bab6
ZW
77202002-11-19 Steven Bosscher <steven.bosscher@usafa.af.mil>
7721
7722 * config/mips/vr.h (DRIVER_SELF_SPECS): Change %{<mgp32} to %<mgp32.
7723
77242002-11-19 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
7725
7726 * profile.c (index_counts_file): Fix obvious mistake.
7727
77282002-11-19 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
7729
7730 * Makefile.in (profile.o): Add hashtab.h dependency.
7731 * gcov-io.h (GCOV_SUMMARY_LENGTH): New.
7732 * profile.c: Include hashtab.h.
7733 (htab_counts_index_hash, htab_counts_index_eq, htab_counts_index_del,
7734 cleanup_counts_index, index_counts_file, struct section_reference,
7735 struct da_index_entry, counts_file_name, counts_file_index): New.
7736 (get_exec_counts, init_branch_prob): Modified.
7737
77382002-11-19 Kaz Kojima <kkojima@gcc.gnu.org>
7739
7740 * config.gcc (sh*-*-linux*): Add t-slibgcc-elf-ver and t-linux
7741 to tmake_file. Remove setting gas and gnu_ld here.
7742 * config/sh/libgcc-glibc.ver: New file.
7743 * config/sh/t-linux (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
7744 (SHLIB_MAPFILES): New.
7745 * config/sh/linux.h (MD_EXEC_PREFIX): Undefine.
7746 (MD_STARTFILE_PREFIX): Likewise.
7747 (HANDLE_PRAGMA_PACK_PACK_PUSH_POP): Define.
7748 (DWARF2_UNWIND_INFO): Redefine.
7749 (ASM_PREFERRED_EH_DATA_FORMAT): Define.
7750 (LINK_EH_SPEC): Redefine.
7751 (MD_FALLBACK_FRAME_STATE_FOR): Define except for SH-media.
7752 (SH_FALLBACK_FRAME_FLOAT_STATE): Define.
7753 (SH_DWARF_FRAME_GP0, SH_DWARF_FRAME_FP0, SH_DWARF_FRAME_XD0,
7754 SH_DWARF_FRAME_BT0, SH_DWARF_FRAME_PR, SH_DWARF_FRAME_PR_MEDIA,
7755 SH_DWARF_FRAME_GBR, SH_DWARF_FRAME_MACH, SH_DWARF_FRAME_MACL,
7756 SH_DWARF_FRAME_PC, SH_DWARF_FRAME_SR, SH_DWARF_FRAME_FPUL,
7757 SH_DWARF_FRAME_FPSCR): Likewise.
7758 * config/sh/sh-protos.h (sh_set_return_address): Declare.
7759 * config/sh/sh.c (calc_live_regs): Count EH_RETURN_DATA_REGNO
7760 registers if the current function calls EH return.
7761 (sh_expand_epilogue): Handle EH stack adjustments.
7762 (sh_set_return_address): New function.
7763 * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
7764 Don't abort even if the number is mapped to -1.
7765 (EH_RETURN_DATA_REGNO): Define.
7766 (EH_RETURN_STACKADJ_RTX): Define.
7767 * config/sh/sh.md (UNSPEC_EH_RETURN): New.
7768 (eh_return): New pattern.
7769 (eh_set_ra_di, eh_set_ra_si): Likewise.
7770 Add splitter to perform EH return after reload.
7771
7772Tue Nov 19 12:52:07 2002 J"orn Rennecke <joern.rennecke@superh.com>
7773
7774 * stor-layout.c (excess_unit_span): New function.
7775 (place_field): Use it.
7776
77772002-11-19 Andreas Schwab <schwab@suse.de>
7778
7779 * unwind.h (_Unwind_GetTextRelBase): Revert last change, this is
7780 not valid in C++.
7781
77822002-11-19 Nathanael Nerode <neroden@gcc.gnu.org>
7783
7784 * configure.in, Makefile.in: Correct BUILD/HOST confusion.
7785 * configure: Regenerate.
7786
7787Tue Nov 19 00:11:44 CET 2002 Jan Hubicka <jh@suse.cz>
7788
7789 * convert.c (strip_float_extensions): New function.
7790 (convert_to_real): Optimize some cases.
7791
3bdcef4d
AJ
77922002-11-19 Andreas Jaeger <aj@suse.de>
7793
7794 * loop.c (record_giv): Initialize not_replaceable.
7795 (check_final_value): Likewise.
7796
ec5b0c68
KH
77972002-11-19 Kazu Hirata <kazu@cs.umass.edu>
7798
7799 * config/h8300/h8300.c (h8300_init_once): Replace 1 with
7800 MASK_H8300S.
7801
78022002-11-19 Vijay L. Khuspe <vijayk1@kpit.com>
39ba95b5
VK
7803
7804 * config/h8300/h8300.c (h8300_init_once): Allow -mn switch
7805 only if -mh or -ms present.
7806 (h8300_eightbit_constant_address_p): Support the normal mode.
7807 (h8300_tiny_constant_address_p): Likewise.
7808 * config/h8300/h8300.h (TARGET_NORMAL_MODE): New.
7809 (POINTER_SIZE): Add 16 bit pointer for the normal mode.
7810 (Pmode): Evaluate to HImode for the normal mode.
7811 (SIZE_TYPE): Evaluate to unsigned int for normal mode.
7812 (PTRDIFF_TYPE): Evaluate to int for the normal mode.
7813 (ASM_WORD_OP): Evaluate to word for the normal mode.
7814 * config/h8300/h8300.md (tablejump_normal_mode): New.
7815 (indirect_jump_normal_mode): New.
7816 * config/h8300/t-h8300 (MULTILIB_OPTIONS): Pass -mn option to
7817 directory.
7818 (MULTILIB_DIRNAMES): Create target dependent directory
7819 'normal'.
249e6b63 7820 (MULTILIB_EXCEPTIONS): Don't turn on -mn on H8/300.
39ba95b5
VK
7821 * doc/invoke.texi (gccoptlist): Describe the new switch -mn.
7822
efcc7037
JH
7823Tue Nov 19 23:50:56 CET 2002 Jan Hubicka <jh@suse.cz>
7824
7825 * i386.md (length_immediate): Do not refer to insn address.
7826 (jcc*, jmp patterns): Compute length explicitly.
7827
78282002-11-19 Eric Botcazou <ebotcazou@libertysurf.fr>
35f1c975
EB
7829
7830 PR c/8588
7831 * optabs.c (expand_binop): Convert CONST_INTs in shift
7832 operations too.
7833
a500466b
RS
78342002-11-19 Roger Sayle <roger@eyesopen.com>
7835
7836 * gcse.c (gcse_emit_move_after): Correct typo in REG_EQUAL note.
7837
3b161153
KH
78382002-11-19 Kazu Hirata <kazu@cs.umass.edu>
7839
7840 * config/h8300/h8300.md (an anonymous pattern): Relax the
7841 condition to accept the same operands and/or subregs.
7842
85af47b9
DJ
78432002-11-19 Daniel Jacobowitz <drow@mvista.com>
7844
7845 * config/sh/sh.c (gen_shl_and): Revert previous patch.
7846 * config/sh/sh.md (ashrdi3+1, ashrdi3+2): Predicate on
7847 reload_completed.
7848
9675a91e
KH
78492002-11-19 Kazu Hirata <kazu@cs.umass.edu>
7850
7851 * config/h8300/h8300.c (print_operand): Update the use of
7852 EIGHTBIT_CONSTANT_ADDRESS_P.
7853 (h8300_adjust_insn_length): Likewise.
7854 (h8300_eightbit_constant_address_p): Check if the given rtx is
7855 a variable with __attribute__((eightbit_data)).
7856 * config/h8300/h8300.h (OK_FOR_U): Update the use of
7857 EIGHTBIT_CONSTANT_ADDRESS_P.
7858
7b61fa4d
GP
78592002-11-19 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
7860
7861 * doc/contrib.texi (Contributors): Add self as second contact in
7862 addition to Jeff Law.
7863
50aadcbc
AJ
78642002-11-19 Andreas Jaeger <aj@suse.de>
7865
7866 * tree-inline.c: Move prototpyes of find_alloca_call_1 and
7867 find_alloca_call to right place.
7868
dc65cd60
KH
78692002-11-19 Kazu Hirata <kazu@cs.umass.edu>
7870
7871 * cppfiles.c: Fix formatting.
7872
f3226a90
JT
78732002-11-19 Jason Thorpe <thorpej@wasabisystems.com>
7874
7875 * gcc.c (The Specs Language): Document spec functions.
7876 (static_spec_functions, lookup_spec_function)
7877 (eval_spec_function, handle_spec_function)
7878 (if_exists_spec_function, alloc_args): New.
7879 (execute): Abort if processing_spec_function is true.
7880 (do_spec_1): Hand off spec to handle_spec_function if %:
7881 is encountered. If processing_spec_function is true,
7882 end any pending argument when the end of the string is reached.
7883 (main): Use alloc_args to allocate the initial argument vector.
7884 * gcc.h (struct spec_function): New.
7885 (lang_specific_spec_functions): New extern.
7886
7887 * config/netbsd-elf.h (STARTFILE_SPEC): Add if-exists(crti%O%s).
7888 (ENDFILE_SPEC): Add if-exists(crtn%O%s).
7889 * config/alpha/netbsd.h (ENDFILE_SPEC): Likewise.
3bdcef4d 7890
f3226a90
JT
7891 * doc/invoke.texi: Document spec functions.
7892
7893 * cppspec.c (lang_specific_spec_functions): New.
7894 * gccspec.c: Likewise.
7895
08c42743
SE
78962002-11-18 Steve Ellcey <sje@cup.hp.com>
7897
7898 * config/ia64/hpux_longdouble.h (FIXUNS_TRUNCTFSI2_LIBCALL): New.
7899 (FIXUNS_TRUNCTFDI2_LIBCALL): New.
7900 (fixunstfsi_libfunc): Change.
7901 (fixunstfdi_libfunc): Change.
7902 (sdiv_optab): Don't zero out SImode handler.
7903 (udiv_optab): Don't zero out SImode handler.
7904 (smod_optab): Don't zero out SImode handler.
7905 (umod_optab): Don't zero out SImode handler.
7906
8128cccf
NB
79072002-11-18 Neil Booth <neil@daikokuya.co.uk>
7908
7909 PR preprocessor/8524
7910 * cpplib.c (run_directive): Remove previous kludge to _Pragma.
7911 Add a new one in its place, which hopefully works.
7912 (skip_rest_of_line): Change test for bottom-of-context-stack.
7913
95199202
JH
7914Mon Nov 18 21:29:03 CET 2002 Jan Hubicka <jh@suse.cz>
7915
7916 * i386.md (addqi_1_slp): Fix output template.
7917 (subqi_1_slp): Fix type.
7918
c986baf6
JH
7919Sun Nov 17 00:01:28 CET 2002 Jan Hubicka <jh@suse.cz>
7920
7921 * calls.c (alloca_call_p): New global function.
7922 * tree.h (alloca_call_p): New.
7923 * tree-inline.c (inlinable_function_p): Do not inline when
7924 function calls alloca.
7925 (find_alloca_call, find_alloca_call_1): New functions.
7926
ac655495
KH
79272002-11-18 Kazu Hirata <kazu@cs.umass.edu>
7928
7929 * config/h8300/h8300.md (*andorqi3): Use bor between bld and
7930 bst. Update the insn length.
7931 (*andorhi3): Likewise.
7932 (*andorsi3): Likewise.
7933
ea4210ef
RS
79342002-11-18 Richard Sandiford <rsandifo@redhat.com>
7935
7936 * config/sh/sh-protos.h (sh_mark_label): Declare.
7937 * config/sh/sh.c (sh_mark_label): New function, taken from
7938 movdi_const, but fixing the case when the address has an addend.
7939 * config/sh/sh.md (movdi_const, movdi_const_32bit): Use it.
7940
3503150c
RS
79412002-11-18 Richard Sandiford <rsandifo@redhat.com>
7942
7943 * config/sh/sh.c (pool_node): New field: part_of_sequence_p.
7944 (add_constant): Set it.
7945 (dump_table): Don't reorder a constant if part_of_sequence_p.
7946 (machine_dependent_reorg): Assume that float constants will
7947 stay in their original order if used as a sequence.
7948
180bde4f
RS
79492002-11-18 Richard Sandiford <rsandifo@redhat.com>
7950
7951 * config/sh/sh.c (calc_live_regs): Update check for PIC liveness
7952 in compact code.
7953
e300c78c
RS
79542002-11-18 Richard Sandiford <rsandifo@redhat.com>
7955
7956 * config/sh/sh.md (initialize_trampoline): Do not force the
7957 trampoline address into R0_REGS here.
7958
4977bab6
ZW
7959Sun Nov 17 14:01:09 CET 2002 Jan Hubicka <jh@suse.cz>
7960
7961 * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
7962 absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
7963 (neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
7964 generate unnecesary subregs.
7965
ec748ec8
KH
79662002-11-17 Kazu Hirata <kazu@cs.umass.edu>
7967
7968 * df.c: Fix formatting.
7969
cf0cec73
KH
79702002-11-17 Kazu Hirata <kazu@cs.umass.edu>
7971
7972 * config/h8300/h8300.md (two anonymous patterns): Fix insn
7973 lengths.
7974
d2b2c7cd
DJ
79752002-11-17 Daniel Jacobowitz <drow@mvista.com>
7976
7977 * sh.c (gen_shl_and): Don't create a zero_extend if the operand
7978 is not an arith_reg_operand.
7979
6ddb1bc1
GS
79802002-11-17 Graham Stott <graham.stott@btinternet.com>
7981
7982 * real.c (real_to_decimal): Fix buffer overrun when buffer size
7983 is smaller than representation.
7984
5ab2f7b7
KH
79852002-11-17 Kazu Hirata <kazu@cs.umass.edu>
7986
7987 * builtins.c: Fix formatting.
7988
4977bab6
ZW
7989Sat Nov 16 16:49:58 CET 2002 Jan Hubicka <jh@suse.cz>
7990
7991 * i386.md (truncdfsf2_1_sse, truncdfsf2_1_sse_nooverlap, truncdfsf2_2,
7992 floats?dff2_i387):
7993 Work around regclass stupidity.
7994 (truncdfsf_2_1_sse splitter): Accept !TARGET_PARTIAL_SSE_REGS
7995
7996Sat Nov 16 02:17:48 CET 2002 Jan Hubicka <jh@suse.cz>
7997
7998 * i386.md (fop_df_6): New pattern.
7999 (fop_xf_4, fop_xf_5): Handle both SF and DFmode extensions.
8000 (fop_xf_6): Rewrite
8001 (fop_xf_7): Delete.
8002 (fop_tf_4, fop_tf_5): Handle both SF and DFmode extensions.
8003 (fop_tf_6): Rewrite
8004 (fop_tf_7): Delete.
8005
0d964e40
KH
80062002-11-16 Kazu Hirata <kazu@cs.umass.edu>
8007
8008 * config/h8300/h8300.md (two anonymous patterns): Fix typos.
8009
6d55e887
KH
80102002-11-16 Kazu Hirata <kazu@cs.umass.edu>
8011
8012 * config/h8300/h8300.md: Fix formatting.
8013
4d5ad877
KH
80142002-11-16 Kazu Hirata <kazu@cs.umass.edu>
8015
8016 * config/h8300/h8300.md: Replace spaces with tabs.
8017 * config/h8300/t-h8300: Remove a trailing empty line.
8018
17fa74a2
KH
80192002-11-16 Kazu Hirata <kazu@cs.umass.edu>
8020
8021 * tlink.c: Fix formatting.
8022
9caa3eb2
DE
80232002-11-16 David Edelsohn <edelsohn@gnu.org>
8024
68a7da97 8025 PR 8362
9caa3eb2
DE
8026 * config/rs6000/rs6000.c (rs6000_outout_load_multiple): New function.
8027 * config/rs6000/rs6000.md (movti_string): Remove output modifier
8028 when scratch register never needed.
8029 (ldmsi[3-8]): New patterns.
8030
476c5eb6
KH
80312002-11-16 Kazu Hirata <kazu@cs.umass.edu>
8032
8033 * hard-reg-set.h: Follow spelling conventions.
8034 * real.c: Likewise.
8035 * target.h: Likewise.
8036
5dab517f
JJ
80372002-11-16 Jakub Jelinek <jakub@redhat.com>
8038
8039 * config/i386/x86-64.h (MCOUNT_NAME): Change into string literal.
8040
7e1a450d
KH
80412002-11-16 Kazu Hirata <kazu@cs.umass.edu>
8042
8043 * optabs.c: Fix formatting.
8044
1b245ade
JH
8045Sat Nov 16 02:06:02 CET 2002 Jan Hubicka <jh@suse.cz>
8046
8047 * athlon.md, k6.md, pentium.md, ppro.md: Handle shift1, rotate1
8048 * i386.md (attribute type): Add type shift1 and rotate1.
8049 (*_slp): Rewrite to have just two operands to avoid reload problems.
8050
6368a493
KH
80512002-11-15 Kazu Hirata <kazu@cs.umass.edu>
8052
8053 * config/h8300/h8300.md (4 anonymous patterns): New.
8054
737c38d1
GK
80552002-11-15 Geoffrey Keating <geoffk@apple.com>
8056
8057 * params.def (GGC_MIN_HEAPSIZE): Fix GGC_ALWAYS_COLLECT problem.
8058 * doc/invoke.texi: Correct description of what needs to be done to
8059 force collection at every ggc_collect call.
8060
2120e3cd
UW
80612002-11-15 Ulrich Weigand <uweigand@de.ibm.com>
8062
3bdcef4d 8063 * config/s390/s390.c (optimization_options): Set
2120e3cd
UW
8064 flag_asynchronous_unwind_tables to 1 by default.
8065
18789f4e
UW
80662002-11-15 Ulrich Weigand <uweigand@de.ibm.com>
8067
8068 * config/s390/s390.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
8069
a5fa1ecd
JH
8070Fri Nov 15 14:54:19 CET 2002 Jan Hubicka <jh@suse.cz>
8071
8072 * i386-protos.h (x86_function_profiler): New function
8073 * i386.h (MCOUNT_NAME): New.
8074 (PROFILE_COUNT_REGISTER): New.
a36fc5f8 8075 (FUNCTION_PROFILER): Move offline to ...
a5fa1ecd
JH
8076 * i386.c (x86_function_profiler) ... here; fix 64bit support
8077 * beos-elf.h (FUNCTION_PROFILER): Kill.
8078 (MCOUNT_NAME): New.
8079 * freebsd-aout.h (FUNCTION_PROFILER): Kill.
8080 (MCOUNT_NAME): New.
8081 (PROFILE_COUNT_REGISTER): New.
8082 * linux.h (FUNCTION_PROFILER): Kill.
8083 (MCOUNT_NAME): New.
8084 * x86-64.h (FUNCTION_PROFILER): Kill.
8085 (MCOUNT_NAME): New.
8086 * freebsd.h (FUNCTION_PROFILER): Kill.
8087 (MCOUNT_NAME): New.
8088
1741620c
JD
80892002-11-14 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
8090
8091 * config/arm/arm.h (EXPAND_BUILTIN_VA_ARG,
8092 FUNCTION_ARG_PASS_BY_REFERENCE): Define.
8093 * config/arm/arm.c (arm_va_arg,
8094 arm_function_arg_pass_by_reference): New.
8095 * config/arm/arm-protos.h: Add prototypes.
8096
24985beb
KH
80972002-11-14 Kazu Hirata <kazu@cs.umass.edu>
8098
8099 * gthr-single.h: Fix formatting.
8100
fa7b533b
ZW
81012002-11-14 Zack Weinberg <zack@codesourcery.com>
8102
8103 * tree.c (tree_vec_elt_check_failed): New function.
8104 * tree.h (TREE_VEC_ELT_CHECK): New checking macro.
8105 (TREE_VEC_ELT): Use it.
8106
8107 * tree-inline.c (optimize_inline_calls): Don't copy a
8108 zero-length vector.
8109
9fc910d1
GDR
81102002-11-14 Gabriel Dos Reis <gdr@integrable-solutions.net>
8111
8112 * diagnostic.c (sorry): Don't repeat "sorry, unimplemented" text.
8113
7eca317a
JJ
81142002-11-14 Jakub Jelinek <jakub@redhat.com>
8115
8116 * varasm.c (output_addressed_constants) [MINUS_EXPR]: Clear reloc if
8117 both operands contain local relocations.
8118 (categorize_decl_for_section): Don't use mergeable sections if
8119 initializer has any relocations.
8120
57751dd6
KH
81212002-11-14 Kazu Hirata <kazu@cs.umass.edu>
8122
8123 * gthr-vxworks.h: Fix formatting.
8124
f702e700
JJ
81252002-11-13 Janis Johnson <janis187@us.ibm.com>
8126
8127 * doc/install.texi (Testing): Document extra Java testing.
8128 * doc/sourcebuild.texi (Test Suites): Document libgcj testing.
8129
08ec53e7
JDA
81302002-11-13 John David Anglin <dave@hiauly1.hia.nrc.ca>
8131
8132 * pa64-hpux.h (LINK_SPEC): Move "+Accept TypeMismatch" switch to the
8133 beginning of the spec.
8134 (LDD_SUFFIX, PARSE_LDD_OUTPUT): Delete.
8135 (LD_INIT_SWITCH, LD_FINI_SWITCH): Define but don't enable. Add comment
8136 regarding problems with global constructors when using GNU ld.
8137
e6179f45
KH
81382002-11-13 Kazu Hirata <kazu@cs.umass.edu>
8139
8140 * gthr-solaris.h: Fix formatting.
8141
fe83a9ce
KH
81422002-11-13 Kazu Hirata <kazu@cs.umass.edu>
8143
8144 * gthr-posix.h: Fix formatting.
8145
4977bab6 81462002-11-12 Devang Patel <dpatel@apple.com>
4977bab6
ZW
8147 * gcc.c (display_help): Two new options -Xpreprocessor and -Xassembler.
8148 (process_command): Same.
8149 * doc/invoke.texi: Info about these two new options.
8150
eed13f9b
KH
81512002-11-12 Kazu Hirata <kazu@cs.umass.edu>
8152
8153 * config/h8300/h8300.md (*andorsi3): New.
8154
e8a7b0c2
FS
81552002-11-12 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
8156
8157 * doc/install.texi (powerpc-*-linux-gnu*): Update binutils requirement.
8158
94aec8dd
KH
81592002-11-12 Kazu Hirata <kazu@cs.umass.edu>
8160
8161 * config/h8300/h8300.c (tiny_constant_address_p): Parenthesize
8162 expressions appropriately.
8163
fc98f5cb
KH
81642002-11-12 Kazu Hirata <kazu@cs.umass.edu>
8165
8166 * gthr-win32.h: Fix formatting.
8167
e27051f7
KH
81682002-11-12 Kazu Hirata <kazu@cs.umass.edu>
8169
8170 * config/h8300/h8300.c (single_one_operand): Correctly compute
8171 mask when mode is SImode.
8172 (single_zero_operand): Likewise.
8173 * config/h8300/h8300.md (two new anonymous insns): New.
8174
10bb8214
GP
81752002-11-12 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
8176
8177 * doc/contrib.texi (Contributors): Use GCJ instead of gcj to refer
8178 to that entire project.
8179
ffe11c6b
RO
81802002-11-12 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
8181
8182 * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Restore old
8183 directories.
8184
3788cc17
ZW
81852002-11-11 Zack Weinberg <zack@codesourcery.com>
8186
8187 * params.def (ggc-min-expand, ggc-min-heapsize): New parameters.
8188 * doc/invoke.texi: Document them.
8189
8190 * ggc-page.c: Include params.h. Remove definitions of
8191 GGC_MIN_EXPAND_FOR_GC, GGC_MIN_LAST_ALLOCATED. Replace
8192 GGC_POISON with ENABLE_GC_CHECKING in ifdefs, delete #define.
8193 (init_gcc): Don't set G.allocated_last_gc here.
8194 (ggc_collect): Use PARAM_VALUE (GGC_MIN_HEAPSIZE) and
8195 PARAM_VALUE (GGC_MIN_EXPAND) to decide whether or not to
8196 perform collection.
8197 * ggc-simple.c: Similarly.
8198 * Makefile.in (ggc-common.o, ggc-simple.o): Add $(PARAMS_H) to
8199 dependencies.
8200
dd697f8c
KH
82012002-11-11 Kazu Hirata <kazu@cs.umass.edu>
8202
8203 * gthr-dce.h: Fix formatting.
8204
303b90b0
FS
82052002-11-11 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
8206
8207 PR c/8467
8208 * stmt.c (tail_recursion_args): Handle DECL_MODE differing from the
8209 mode of DECL_RTL case.
8210
e8437165
JJ
82112002-11-11 Janis Johnson <janis187@us.ibm.com>
8212
8213 * doc/contrib.texi: Merge in the list from the libstdc++ web pages.
8214
12f5c45e
JH
8215Mon Nov 11 12:06:08 CET 2002 Jan Hubicka <jh@suse.cz>
8216
8217 * i386.c (construct_container): Fix handling of SSE_CLASS.
8218
f981a754
JS
82192002-11-10 Joel Sherrill <joel@gcc.gnu.org>
8220
8221 * config/m68k/t-crtstuff (crti.o): Use this...
8222 ($(T)crti.o): ... instead.
8223 (crtn.o): Use this...
8224 ($(T)crtn.o): ... instead.
8225
a9b6f1e7 82262002-11-10 Eric Botcazou <ebotcazou@libertysurf.fr>
45ed7228
EB
8227
8228 PR c/8439
8229 * recog.c (validate_replace_rtx_1) [PLUS]: Simplify only
8230 if there is something new to be simplified.
8231
2da4124d
L
82322002-11-10 H.J. Lu <hjl@gnu.org>
8233
8234 * calls.c (PUSH_ARGS_REVERSED): Define only if not defined.
8235 * expr.c (PUSH_ARGS_REVERSED): Likewise.
8236
8237 * config/i386/i386.h (PUSH_ARGS_REVERSED): Set to 1.
8238
7bb9f927
ZW
82392002-11-10 Zack Weinberg <zack@codesourcery.com>
8240
8241 * config/rs6000/sysv4.h: Define NO_IMPLICIT_EXTERN_C here...
8242 * config/rs6000/linux.h, config/rs6000/linux64.h,
8243 config/rs6000/windiss.h: ... not here.
8244
d8986082
JT
82452002-11-10 Jason Thorpe <thorpej@wasabisystems.com>
8246
8247 * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Define
8248 __ABICALLS__ if TARGET_ABICALLS.
8249
2e64c636
JH
8250Sun Nov 10 18:49:21 CET 2002 Jan Hubicka <jh@suse.cz>
8251
8252 * i386.h (MIN_UNITS_PER_WORD): Define to 8 for x86-64 libgcc.
8253
04e6db94
JM
82542002-11-10 Joseph S. Myers <jsm@polyomino.org.uk>
8255
8256 * c-decl.c (grokdeclarator): Make error for duplicate type
8257 qualifiers into a pedwarn, disabled for C99.
8258
e9986d3a
HPN
82592002-11-10 Hans-Peter Nilsson <hp@bitrange.com>
8260
8261 * config/mmix/mmix.h (FUNCTION_ARG_CALLEE_COPIES): Define the same
8262 as FUNCTION_ARG_PASS_BY_REFERENCE.
8263
4977bab6
ZW
82642002-11-09 Zack Weinberg <zack@codesourcery.com>
8265
8266 * doc/install.texi: Add *-*-vxworks* specific installation
8267 instructions.
8268
8269 * config/vxlib.c: Rewrite using generation numbers to identify
8270 valid TSD keys.
8271
8272Sat Nov 9 00:10:54 CET 2002 Jan Hubicka <jh@suse.cz>
8273
8274 * i386.c (x86_machine_dependent_reorg): Fix even more side cases.
8275
581d9404
JDA
82762002-11-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
8277
8278 * pa.h (STARTING_FRAME_OFFSET): Change offset for TARGET_64BIT to 16.
8279
8280 * config.gcc (hppa*64*-*-linux*): Shorten lines in tm_file define.
8281 (hppa*64*-*-hpux11*): Likewise. Use elfos.h with gas.
8282 * pa.c (output_millicode_call): Use symbol difference rather than
8283 $PIC_pcrel$0 when using HP assembler.
8284 * pa64-hpux.h (TARGET_GAS): Define to 1 or 0 depending on whether or
8285 not elfos.h (i.e., gas) is being used.
8286 (ASM_FILE_START, STRING_ASM_OP, TEXT_SECTION_ASM_OP,
8287 DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_COMMON,
8288 ASM_OUTPUT_ALIGNED_LOCAL, GLOBAL_ASM_OP, ASM_DECLARE_FUNCTION_NAME,
8289 ASM_OUTPUT_EXTERNAL, ASM_OUTPUT_EXTERNAL_LIBCALL,
8290 ASM_OUTPUT_INTERNAL_LABEL, ASM_GENERATE_INTERNAL_LABEL): Define when
8291 using elfos.h.
8292 (TARGET_ASM_GLOBALIZE_LABEL): Undefine when using elfos.h.
8293 (DWARF2_ASM_LINE_DEBUG_INFO): Delete.
8294 (ASM_FILE_START): Add standard .SPACE and .SUBSPA defines when not
8295 using elfos.h.
8296 (TEXT_SECTION_ASM_OP, READONLY_DATA_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
8297 BSS_SECTION_ASM_OP): New HP style defines when not using elfos.h.
8298 (TARGET_ASM_NAMED_SECTION, MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL):
8299 Don't define when not using elfos.h.
8300 (ASM_DECLARE_RESULT): Don't define.
8301 * doc/install.texi (hppa*-hp-hpux*): Remove statement that HP assembler
8302 doesn't work on hppa64-hp-hpux11.
8303 (hppa*-hp-hpux11): Update.
8304
9f689d92
JT
83052002-11-09 Jason Thorpe <thorpej@wasabisystems.com>
8306
8307 * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Don't pass -KPIC
8308 to the assembler if -mno-abicalls was specified.
8309
1c03af86
JDA
83102002-11-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
8311
8312 * pa-linux.h (PREFERRED_DEBUGGING_TYPE, DWARF2_ASM_LINE_DEBUG_INFO,
8313 ASM_OUTPUT_DEF): Delete.
8314
57800e9e
NB
83152002-11-09 Neil Booth <neil@daikokuya.co.uk>
8316
8317 * c-opts.c (COMMAND_LINE_OPTIONS): Fix -Wimplicit.
8318
4977bab6
ZW
83192002-11-08 Roger Sayle <roger@eyesopen.com>
8320
8321 * real.c (real_sqrt): Update comment with bibliographic reference.
8322
8323Fri Nov 8 13:33:58 CET 2002 Jan Hubicka <jh@suse.cz>
8324
8325 * i386.md (sse_loadss, sse2_loadsd): Fix expander.
8326
8327Fri Nov 8 13:25:41 CET 2002 Jan Hubicka <jh@suse.cz>
8328
8329 * i386.c (x86_machine_dependent_reorg): Fix handling of empty functions.
8330
8331Fri Nov 8 13:01:42 CET 2002 Jan Hubicka <jh@suse.cz>
8332
8333 * builtins.c (expand_builtin_mathfn): Handle floor/ceil/trunc/round/nearbyint
8334 (expand_builtin): Likewise.
8335 * builtins.def: Add
8336 __builtin_floor, __builtin_floorf, __builtin_floorl
8337 __builtin_ceil, __builtin_ceilf, __builtin_ceill
8338 __builtin_round, __builtin_roundf, __builtin_roundl
8339 __builtin_trunc, __builtin_truncf, __builtin_truncl
8340 __builtin_nearbyint, __builtin_nearbyintf, __builtin_nearbyintl.
8341 * genopinit.c (optabs): Initialize the new optabs.
8342 * optab.c (init_optabs): Likewise.
8343 * optabs.h (optab_index): Add OTI_floor, OTI_ceil, OTI_trunc,
8344 OTI_round, OTI_nearbyint.
8345 (floor_optab, ceil_optab, trunc_optab, round_optab, nearbyint_optab): New.
8346 * doc/md.texi: Document new named patterns.
8347 * doc/extend.texi (builtin functions) Document
8348 floor, floorf, floorl, ceil, ceilf,
8349 ceill, round, roundf, roundl, trunc,
8350 truncf, truncl, nearbyint, nearbyintf, nearbyintl.
8351
8352Fri Nov 8 11:36:11 CET 2002 Jan Hubicka <jh@suse.cz>
8353
8354 * i386.md (sse_movdfcc, sse_movsfcc): Fix typo in previous patch.
8355
489d6e8e
DJ
83562002-11-08 Dale Johannesen <dalej@apple.com>
8357
7bb9f927 8358 * dbxout.c (dbxout_type): Fix stabs info for vector types.
489d6e8e 8359
a4b1e653
NB
83602002-11-08 Neil Booth <neil@daikokuya.co.uk>
8361
8362 PR preprocessor/8497
8363 PR preprocessor/8501
8364 * cpptrad.c (scan_out_logical_line): A '#' from a macro doesn't
8365 start a directive. In assembler, #NUM is not a line directive.
8366
e6e8c772
NB
83672002-11-08 Neil Booth <neil@daikokuya.co.uk>
8368
8369 * cppmain.c (cpp_preprocess_file): Loop to pop any -included
8370 buffers.
8371
ffdf5eae
KH
83722002-11-08 Kazu Hirata <kazu@cs.umass.edu>
8373
8374 * config/h8300/h8300.md (two anonymous test insns): New.
8375
8dd3ca88
JH
8376Fri Nov 8 11:20:19 CET 2002 Jan Hubicka <jh@suse.cz>
8377
8378 * jump.c (mark_jump_label): Handle subregs of label_refs.
8379
4977bab6
ZW
8380Thu Nov 7 21:54:22 CET 2002 Jan Hubicka <jh@suse.cz>
8381
8382 * i386.md (sse_movdfcc, sse_movsfcc): Avoid overactive matching.
8383 * i386.c (ix86_expand_fp_movcc): Match the reversed cases.
8384
07cf4226
DM
83852002-11-07 David Mosberger <davidm@hpl.hp.com>
8386
7bb9f927
ZW
8387 * config/ia64/crtend.asm: Include "auto-host.h".
8388 [HAVE_INITFINI_ARRAY]: Invoke __do_global_ctors_aux via .init_array.
8389 * config/ia64/crtbegin.asm: Similarly.
8390 * config/ia64/t-ia64 (crtbegin.o): Include from current directory.
8391 (crtend.o, crtbeginS.o, crtendS.o): Likewise.
07cf4226 8392
7bb9f927
ZW
8393 * aclocal.m4 (gcc_AC_INITFINI_ARRAY): New.
8394 * configure.in: Use it if --enable-initfini-array not specified.
8395 * doc/install.texi (Configuration): Document --enable-initfini-array.
07cf4226
DM
8396 * configure, config.in: Rebuild.
8397
0977774b 83982002-11-07 Jason Thorpe <thorpej@wasabisystems.com>
7bb9f927 8399
0977774b 8400 * config/arm/arm-protos.h (arm_get_frame_size)
7bb9f927 8401 (thumb_get_frame_size): New prototypes.
0977774b 8402 * config/arm/arm.c (arm_get_frame_size)
7bb9f927
ZW
8403 (thumb_get_frame_size): New functions.
8404 (use_return_insn, arm_output_epilogue, arm_output_function_epilogue)
8405 (arm_compute_initial_elimination_offset, arm_expand_prologue): Use
0977774b
JT
8406 arm_get_frame_size.
8407 (thumb_expand_prologue, thumb_expand_epilogue): Use
8408 thumb_get_frame_size.
8409 * config/arm/arm.h (PREFERRED_STACK_BOUNDARY): Define.
8410 (machine_function): Add frame_size member.
8411 (THUMB_INITIAL_ELIMINATION_OFFSET): Use thumb_get_frame_size.
8412
84132002-11-07 Richard Earnshaw <rearnsha@arm.com>
8414
8415 * arm.c (bit_count): Make argument unsigned long. Return unsigned.
8416 Adjust code to use portable unsigned bit manipulation.
8417 (insn_flags, tune_flags): Change type to unsigned.
8418 (struct processors): Make flags unsigned long.
8419 (arm_override_options): Change type of count and current_bit_count
8420 to unsigned.
8421
74c13308
RE
84222002-11-07 Richard Earnshaw <rearnsha@arm.com>
8423
8424 * arm/elf.h (TYPE_OPERAND_FMT): Prefix type with %.
8425
e284643a
R
8426Thu Nov 7 15:50:18 2002 J"orn Rennecke <joern.rennecke@superh.com>
8427
8428 * sh.h (DWARF_FRAME_RETURN_COLUMN): Use DWARF_FRAME_REGNUM.
8429
c2905f7b
JH
8430Thu Nov 7 11:18:01 CET 2002 Jan Hubicka <jh@suse.cz>
8431
8432 * reg-stack.c (compensate_edge): Fix sanity check.
8433
3cfe49da
GK
84342002-11-05 Geoffrey Keating <geoffk@apple.com>
8435
8436 * config.gcc: Don't create crtbegin, crtend on Darwin; do create
8437 crt2.o. Rearrange t-darwin makefiles.
8438 * crtstuff.c [OBJECT_FORMAT_MACHO]: Delete.
8439 * unwind-dw2-fde-darwin.c: New.
8440 * unwind-dw2-fde-glibc.c: Correct comment.
8441 * unwind-dw2-fde.c (__register_frame_info_bases)
8442 [DWARF2_OBJECT_END_PTR_EXTENSION]: Clear fde_end.
8443 (classify_object_over_fdes): Use last_fde.
8444 (add_fdes): Likewise.
8445 (linear_search_fdes): Likewise.
8446 * unwind-dw2-fde.h (struct object)
8447 [DWARF2_OBJECT_END_PTR_EXTENSION]: Add fde_end field.
8448 (last_fde): New.
8449 * config/darwin.h (STARTFILE_SPEC): Include crt2.o not crtbegin.o.
8450 (ENDFILE_SPEC): No crtend.o.
8451 * config/t-darwin: New.
8452 * config/i386/t-darwin: Delete.
8453 * config/darwin-crt2.c: New.
8454 * config/rs6000/t-darwin: Delete contents duplicated in t-rs6000
8455 or config/t-darwin.
8456
4977bab6
ZW
84572002-11-06 Douglas B Rupp <rupp@gnat.com>
8458
8459 * config/i386/i386-interix.h (TARGET_SUBTARGET_DEFAULT): Or
8460 MASK_MS_BITFIELD_LAYOUT
8461 (SUBTARGET_OVERRIDE_OPTIONS): Warn about and turn off
8462 MS bitfields for Objective-C.
8463 (PCC_BIT_FIELD_TYPE_TEST, GROUP_BITFIELDS_BY_ALIGN): Remove
8464 defines.
8465
8466 * config/i386/i386.c (ix86_ms_bitfield_layout): New function.
8467 (TARGET_MS_BITFIELD_LAYOUT_P): Define to above function.
8468 (TARGET_USE_MS_BITFIELD_LAYOUT): Define.
8469
8470 * config/i386/i386.h (MASK_MS_BITFIELD_LAYOUT: New mask.
8471 TARGET_USE_MS_BITFIELD_LAYOUT): New macro.
8472 (TARGET_SWITCHES): Add above mask.
8473
8474 * testsuite/gcc.dg/bf-ms-layout.c: New test case.
8475 * testsuite/gcc.dg/bf-no-ms-layout.c: New test case.
8476 * testsuite/gcc.dg/i386-bitfield1.c (dg-options): Add appropriate
8477 flags for interix.
8478
8479Wed Nov 6 18:54:47 2002 Alexandre Oliva <aoliva@redhat.com>
8480
8481 * config/mips/mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output
8482 .gpword/.gpdword for ABI_N32 and ABI_64 too, if using the GNU
8483 assembler.
8484 * config/mips/mips.md (tablejump_internal3): Output .cpadd
8485 before jump on ABI_N32 too.
8486 (tablejump_internal4): Ditto on ABI_64. Increase maximum
8487 length to match.
8488
8489Wed Nov 6 17:16:48 CET 2002 Jan Hubicka <jh@.suse.cz>
8490
8491 * i386.md (negsf splitter): Accept memory operand in second register.
8492 (abssf/absdf splitters): Simplify
8493 (sse_loadss, sse_loadsd): Turn into expander.
8494
5d7e6254
DE
84952002-11-06 David Edelsohn <edelsohn@gnu.org>
8496
8497 PR target/8480
8498 * config/rs6000/rs6000.md (movdi_internal64): Discourage
8499 FPR to FPR moves.
8500
4fc6ad08
JJ
85012002-11-06 Janis Johnson <janis187@us.ibm.com>
8502
8503 * doc/contrib.texi: Merge in the list from the Java web pages.
8504
fa123c53
DB
85052002-11-06 David O'Brien <obrien@FreeBSD.org>
8506
8507 * config/sparc/freebsd: Fix typo.
8508
81e5bc3d
JDA
85092002-11-06 John David Anglin <dave@hiauly1.hia.nrc.ca>
8510
8511 * pa64-hpux.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Define.
8512
021fa809
AO
85132002-11-06 Alexandre Oliva <aoliva@redhat.com>
8514
8515 * config/mips/mips.md (call_value_multiple_internal2): Use dla for
8516 non-SImode addresses.
8517
4977bab6
ZW
8518Tue Nov 5 14:34:36 CET 2002 Jan Hubicka <jh@suse.cz>
8519
8520 * i386.md (float_truncate SSE splitter): Ensure that operand is not
8521 stack register.
8522 (float SSE splitters): Reorder conditional.
8523
e9577224
BW
85242002-11-05 Bob Wilson <bob.wilson@acm.org>
8525
8526 * config/xtensa/elf.h (LIB_SPEC): Add "-lhal".
8527
a9b11d44
JDA
85282002-11-05 John David Anglin <dave2hiauly1.hia.nrc.ca>
8529
8530 * pa64-hpux.h (LIB_SPEC): Fix p and pg options.
8531 (STARTFILE_SPEC): Remove p and pg options.
8532
5c7cd663
AH
85332002-11-05 Andrew Haley <aph@redhat.com>
8534
8535 * fold-const.c (fold): Don't transform (a0 op compound(a1,a2))
8536 to (compound(a1,a0 op a2)) if a0 or a1 have side effects.
8537
97ab1175
RS
85382002-11-05 Richard Sandiford <rsandifo@redhat.com>
8539
8540 * config/mips/mips.h (CANNOT_CHANGE_MODE_CLASS): Move comment to...
8541 * config/mips/mips.c (mips_cannot_change_mode_class): ...here.
8542
4977bab6
ZW
85432002-11-04 Zack Weinberg <zack@codesourcery.com>
8544
8545 * gthr-vxworks.h: Rewritten from scratch.
8546 * config/vxlib.c: New file.
8547 * config/t-vxworks: Add config/vxlib.c to LIB2FUNCS_EXTRA.
8548 * config/rs6000/t-vxworks: Add config/vxlib.c to
8549 LIB2FUNCS_EXTRA here too, because of clash with
8550 config/rs6000/t-ppccomm.
8551
2aff9508
DJ
85522002-11-04 Dale Johannesen <dalej@apple.com>
8553
7bb9f927
ZW
8554 * doloop.c (doloop_modify_runtime): Fix loop count computation
8555 for unrolled loops.
2aff9508
DJ
8556 * loop.c (loop_invariant_p): Support calling from unroller.
8557
e86e721f
UW
85582002-11-04 Ulrich Weigand <uweigand@de.ibm.com>
8559
8560 * config/s390/s390.c (s390_decompose_address): Use arg_pointer_rtx
8561 for comparison.
8562
cff9f8d5
AH
85632002-11-04 Aldy Hernandez <aldyh@redhat.com>
8564
8565 * hard-reg-set.h (REG_CANNOT_CHANGE_MODE_P): New.
8566
8567 * config/rs6000/rs6000.h (CLASS_CANNOT_CHANGE_MODE_P): Remove.
8568 (CLASS_CANNOT_CHANGE_MODE): Remove.
8569 (CANNOT_CHANGE_MODE_CLASS): New.
8570
8571 * config/alpha/alpha.h: Same.
8572
8573 * config/ia64/ia64.h: Same.
8574
8575 * config/mips/mips.h: Same.
8576
8577 * config/s390/s390.h: Same.
8578
8579 * config/sh/sh.h: Same.
8580
8581 * config/pa/pa64-regs.h: Same.
8582
8583 * config/sh/sh-protos.h (sh_cannot_change_mode_class): Add prototype.
7bb9f927 8584
cff9f8d5
AH
8585 * config/sh/sh.c (sh_cannot_change_mode_class): New.
8586
8587 * config/mips/mips-protos.h (mips_cannot_change_mode_class): Add
8588 prototype.
8589
8590 * config/mips/mips.c (mips_cannot_change_mode_class): New.
8591
8592 * doc/tm.texi (Register Classes): Remove
8593 CLASS_CANNOT_CHANGE_MODE and CLASS_CANNOT_CHANGE_MODE_P.
8594 Document CANNOT_CHANGE_MODE_CLASS.
8595
8596 * reload.c (push_reload): Use CANNOT_CHANGE_MODE_CLASS.
8597 (push_reload): Same.
8598
8599 * simplify-rtx.c (simplify_subreg): Same.
8600
8601 * reload1.c (choose_reload_regs): Same.
8602
8603 * recog.c (register_operand): Same.
8604
8605 * regrename.c (mode_change_ok): Change to use new
8606 CANNOT_CHANGE_MODE_CLASS infrastructure.
8607
8608 * regclass.c (cannot_change_mode_set_regs): New.
8609 Declare subregs_of_mode.
8610 (regclass): Use subregs_of_mode.
8611 Remove references to reg_changes_mode.
8612 (init_reg_sets_1): Remove class_can_change_mode and
8613 reg_changes_mode code.
8614 (invalid_mode_change_p): New.
8615 (dump_regclass): Use invalid_mode_change_p instead of
8616 class_can_change_mode.
8617 (regclass): Same.
8618 (record_operand_costs): Do not set reg_changes_mode.
8619
8620 * local-alloc.c (struct qty): Remove changes_mode field.
8621 (alloc_qty): Remove changes_mode initialization.
8622 (update_qty_class): Remove set of changes_mode.
8623 (find_free_reg): Use subregs_of_mode.
8624
8625 * global.c (find_reg): Use subregs_of_mode info.
8626
8627 * rtl.h (cannot_change_mode_set_regs): New prototype.
8628 (invalid_mode_change_p): Same.
8629 (REG_CANNOT_CHANGE_MODE_P): New macro.
8630
8631 * flow.c (mark_used_regs): Calculate subregs_of_mode. Remove
8632 REG_CHANGES_MODE.
8633 (life_analysis): Clear subregs_of_mode.
8634
8635 * combine.c (subst): Pass class to CLASS_CANNOT_CHANGE_MODE_P.
8636 Remove use of CLASS_CANNOT_CHANGE_MODE.
8637 (simplify_set): Same.
8638 (gen_lowpart_for_combine): Calculate subregs_of_mode. Remove
8639 REG_CHANGES_MODE.
7bb9f927 8640
cff9f8d5
AH
8641 * regs.h: Add extern for subregs_of_mode;
8642 Include hard-reg-set and basic-block.
8643 (REG_CHANGES_MODE): Delete.
8644
4977bab6
ZW
86452002-11-03 Roger Sayle <roger@eyesopen.com>
8646
8647 * real.c (real_sqrt): New function to calculate square roots.
8648 * real.h (real_sqrt): Add function prototype.
8649 * builtins.c (fold_builtin): Fold sqrt of constant argument.
8650 * simplify-rtx.c (simplify_unary_operation): Simplify sqrt
8651 of constant argument.
8652
2ff363e0
JDA
86532002-11-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
8654
8655 * jump.c (never_reached_warning): Don't set contains_insn until the
8656 first line note is seen.
8657
cd1d3445
DE
86582002-11-03 David Edelsohn <edelsohn@gnu.org>
8659
8660 * config/rs6000/rs6000.md (movti_string): Use string instructions.
8661
c9fe6f9f
RS
86622002-11-03 Roger Sayle <roger@eyesopen.com>
8663
8664 PR c/7128
8665 * c-typeck.c (c_expand_asm_operands): Defend against
8666 error_mark_nodes in the output argument to avoid ICE.
8667
0b40e88e
EB
86682002-11-03 Eric Botcazou <ebotcazou@libertysurf.fr>
8669
8670 PR middle-end/8408
8671 * genrecog.c (preds): Handle ADDRESSOF.
8672 (validate_pattern): Mark it as an lvalue.
8673
dff9f1b6
DE
86742002-11-02 David Edelsohn <edelsohn@gnu.org>
8675
8676 * config/rs6000/rs6000.c (rs6000_override_options): Use string
8677 instructions when optimizing for size.
8678
46eefac4
KH
86792002-11-02 Kazu Hirata <kazu@cs.umass.edu>
8680
8681 * config/h8300/h8300.h: Fix comment typos.
8682 * config/h8300/h8300.md: Likewise.
8683 * config/h8300/lib1funcs.asm: Likewise.
8684
102b60d1
GP
86852002-11-02 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
8686
8687 Revert this change:
8688
8689 *doc/install.texi (Installing GCC: Configuration): Clarify
8690 the only supported ways to configure gcc.
8691
46be79e7
KH
86922002-11-01 Kazu Hirata <kazu@cs.umass.edu>
8693
8694 * config/h8300/h8300.md (anonymous and:QI pattern): Use 'n'
8695 instead of 'O' for the constraint for the second operand.
8696
bec80a45
MM
86972002-11-01 Mark Mitchell <mark@codesourcery.com>
8698
8699 PR c++/8391
8700 * toplev.c (rest_of_compilation): Do not refuse to output code for
8701 an inline function in a local class.
8702
8df91177
DB
87032002-11-01 David O'Brien <obrien@FreeBSD.org>
8704
8705 * config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Define __arch64__.
8706 (TRANSFER_FROM_TRAMPOLINE): Reformat.
8707 Add comment.
8708
616dc555
KH
87092002-11-01 Kazu Hirata <kazu@cs.umass.edu>
8710
8711 * config/h8300/h8300.h (CAN_ELIMINATE): Simplify.
8712
25a533a0
TM
87132002-11-01 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
8714
8715 * config/h8300/h8300.h (OPTIMIZATION_OPTIONS): New.
8716
dcffbade
SE
87172002-11-01 Steve Ellcey <sje@cup.hp.com>
8718
8719 * config/ia64/ia64.h (MASK_INLINE_DIV_LAT): Remove.
8720 (MASK_INLINE_DIV_THR): Remove.
8721 (TARGET_INLINE_DIV_LAT): Remove.
8722 (TARGET_INLINE_DIV_THR): Remove.
8723 (TARGET_INLINE_DIV): Remove.
8724 (MASK_INLINE_FLOAT_DIV_LAT): New macro.
8725 (MASK_INLINE_FLOAT_DIV_THR): New macro.
8726 (MASK_INLINE_INT_DIV_LAT): New macro.
8727 (MASK_INLINE_INT_DIV_THR): New macro.
8728 (TARGET_INLINE_FLOAT_DIV_LAT): New macro.
8729 (TARGET_INLINE_FLOAT_DIV_THR): New macro.
8730 (TARGET_INLINE_INT_DIV_LAT): New macro.
8731 (TARGET_INLINE_INT_DIV_THR): New macro.
8732 (TARGET_INLINE_FLOAT_DIV): New macro.
8733 (TARGET_INLINE_INT_DIV): New macro.
8734 * config/ia64/ia64.md (divsi3): Change to use new macros.
8735 (modsi3): Ditto.
8736 (udivsi3): Ditto.
8737 (umodsi3): Ditto.
8738 (divsi3_internal): Ditto.
8739 (divdi3): Ditto.
8740 (moddi3): Ditto.
8741 (udivdi3): Ditto.
8742 (umoddi3): Ditto.
8743 (divdi3_internal_lat): Ditto.
8744 (divdi3_internal_thr): Ditto.
8745 (divsf3): Ditto.
8746 (divsf3_internal_lat): Ditto.
8747 (divsf3_internal_thr): Ditto.
8748 (divdf3): Ditto.
8749 (divdf3_internal_lat): Ditto.
8750 (divdf3_internal_thr): Ditto.
8751 (divtf3): Ditto.
8752 (divtf3_internal_lat): Ditto.
8753 (divtf3_internal_thr): Ditto.
8754 * config/ia64/ia64.c (ia64_override_options): Change
8755 to check new macros for conflicts in settings.
8756 * doc/invoke.texi (-minline-divide-min-latency): Remove.
8757 (-minline-divide-max-throughput): Remove.
8758 (-minline-float-divide-min-latency): New.
8759 (-minline-float-divide-max-throughput): New.
8760 (-minline-int-divide-min-latency): New.
8761 (-minline-int-divide-max-throughput): New.
7bb9f927 8762
d5db54a1
RE
87632002-11-01 Richard Earnshaw (rearnsha@arm.com)
8764
8765 PR target/7856
8766 * arm.c (use_return_insn): Don't use a return insn if there are
8767 saved integer regs, but LR is not one of them.
8768
075fc17a
JH
8769Fri Nov 1 10:33:15 CET 2002 Jan Hubicka <jh@suse.cz>
8770
8771 * expr.c (emit_move_insn): Use SCALAR_FLOAT_MODE_P
8772 * machmode.h (SCALAR_FLOAT_MODE_P): New macro.
8773
4977bab6
ZW
8774Thu Oct 31 18:20:50 CET 2002 Jan Hubicka <jh@suse.cz>
8775
8776 * i386.md (sse_loadss, sse_loadsd): Canonicalize; add expander
8777 (movps, movpd splitters): Use canonical form.
8778 (movv2di): Fix merge problem.
8779
8780Thu Oct 31 16:22:31 CET 2002 Jan Hubicka <jh@suse.cz>
8781
8782 * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
8783
9efb4cb6
NN
87842002-10-31 Nathanael Nerode <neroden@gcc.gnu.org>
8785
8786 PR optimization/6162
8787 * doc/md.texi: Document restriction on commutative operand
8788 specification.
8789
ce02ba25
EC
87902002-10-31 Eric Christopher <echristo@redhat.com>
8791
7bb9f927 8792 * explow.c (convert_memory_address): Use shallow_copy_rtx.
ce02ba25 8793
8efb33ec
SE
87942002-10-31 Steve Ellcey <sje@cup.hp.com>
8795
8796 * expmed.c (store_bit_field): Check FUNCTION_ARG_REG_LITTLE_ENDIAN.
8797
a543c709
SE
87982002-10-31 Steve Ellcey <sje@cup.hp.com>
8799
8800 * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Set for non-floats.
8801
cdc58a82
DJ
8802Thu Oct 31 Dale Johannesen <dalej@apple.com>
8803
8804 * config/rs6000/darwin.h: Correct formatting in previous.
8805
e381c27a
DJ
8806Thu Oct 31 Dale Johannesen <dalej@apple.com>
8807
8808 * config/rs6000/darwin.h: Enable -falign-xxx options.
8809
55ba61f3
JH
8810Thu Oct 31 18:08:00 CET 2002 Jan Hubicka <jh@suse.cz>
8811
8812 * i386.c (override_options): Set defaults for flag_omit_frame_pointer,
8813 flag_asynchronous_unwind_tables, flag_pcc_struct_return.
8814 * i386.c (optimization_options): Set flag_omit_frame_pointer,
8815 flag_asynchronous_unwind_tables, flag_pcc_struct_return to 2.
8816 Do not clear -momit-leaf-frame-pointer when profiling.
8e746279 8817 (ix86_frame_pointer_required): Frame pointer is always required when
55ba61f3
JH
8818 profiling.
8819
f7e5dfbd
JH
8820Thu Oct 31 16:09:44 CET 2002 Jan Hubicka <jh@suse.cz>
8821
8822 * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
8823
ff881d52
R
8824Thu Oct 31 12:45:55 2002 J"orn Rennecke <joern.rennecke@superh.com>
8825
8826 * sh.h (binary_logical_operator): Declare.
8827 * sh.c (binary_logical_operator): New function.
8828 * sh.md (xordi3+1): New combiner splitter pattern.
8829
e8e4c876
DB
88302002-10-31 David O'Brien <obrien@FreeBSD.org>
8831
8832 * config/sparc/freebsd.h (TRANSFER_FROM_TRAMPOLINE): Define
8833 __enable_execute_stack function.
8834
4977bab6
ZW
88352002-10-30 Zack Weinberg <zack@codesourcery.com>
8836
8837 * gthr.h, gthr-dce.h, gthr-posix.h, gthr-rtems.h,
8838 gthr-solaris.h, gthr-win32.h: Remove __gthread_key_dtor.
8839 * unwind-sjlj.c (fc_key_dtor): Delete.
8840 (fc_key_init): Adjust __gthread_key_create call to match.
8841
27bd7792
AH
88422002-10-30 Aldy Hernandez <aldyh@redhat.com>
8843
7bb9f927 8844 * c-common.c: Add GTY to vector_type_node_list.
27bd7792 8845
a02aa5b0
JDA
88462002-10-30 John David Anglin <dave@hiauly.hia.nrc.ca>
8847
8848 * pa-linux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Define.
8849 * pa-protos.h (attr_length_millicode_call, attr_length_call,
8850 pa_init_machine_status): Declare new global functions.
8851 * pa.c (void copy_fp_args, length_fp_args, get_plabel): Declare and
8852 implement new functions.
8853 (attr_length_millicode_call, attr_length_call): Implement.
8854 (total_code_bytes): Change type to long.
8855 (pa_output_function_prologue): Compute total_code_bytes on TARGET_64BIT.
8856 Reset counter if flag_function_sections.
8857 (output_deferred_plabels): Set output alignment to 3 for TARGET_64BIT.
8858 (output_cbranch): Move call to gen_label_rtx.
8859 (output_millicode_call): Rewrite adding long TARGET_64BIT call, expose
8860 delay slot in all variants, shorten pc-relative calls.
8861 (output_call): Rewrite adding long TARGET_64BIT call, improved delay
8862 slot usage and exposure, various new call variants, and shortened
8863 sequences for some variants on TARGET_PA_20.
8864 Miscellaneous format changes.
8865 * pa.h (total_code_bytes): Change type to long.
8866 (MASK_LONG_CALLS, TARGET_LONG_CALLS, TARGET_LONG_ABS_CALL,
8867 TARGET_LONG_PIC_SDIFF_CALL, TARGET_LONG_PIC_PCREL_CALL): Define.
8868 (TARGET_SWITCHES): Add "-mlong-calls" and "-mno-long-calls" options.
8869 (EXTRA_CONSTRAINT, GO_IF_LEGITIMATE_ADDRESS,
8870 LEGITIMIZE_RELOAD_ADDRESS): Don't use long floating point loads and
8871 stores on TARGET_ELF32.
8872 *pa.md (define_delay): Allow insns in delay on TARGET_PORTABLE_RUNTIME.
8873 (unnamed patterns for mulsi3, divsi3, udivsi3, modsi3, umodsi3 and
8874 canonicalize_funcptr_for_compare expanders): Calculate attribute length
8875 attr_length_millicode_call().
8876 (call_internal_symref, call_value_internal_symref): Clobber register 1.
8877 Calculate attribute length using attr_length_call().
8878 (call_internal_reg_64bit, call_value_internal_reg_64bit): Move gp load
8879 to delay slot.
8880 (sibcall, sibcall_value): Rewrite.
8881 (sibcall_internal_symref, sibcall_value_internal_symref): Clobber
8882 register 1. Use attr_length_call().
8883 (sibcall_internal_symref_64bit, sibcall_value_internal_symref_64bit):
8884 New patterns.
8885 (unamed pattern for canonicalize_funcptr_for_compare): Rewrite.
8886 * som.h (MEMBER_TYPE_FORCES_BLK): Define.
8887 * t-pa64 (TARGET_LIBGCC2_CFLAGS): Add "-mlong-calls".
8888 * doc/invoke.texi (mlong-calls): Document.
8889
9402f6fb
RS
88902002-10-30 Roger Sayle <roger@eyesopen.com>
8891
8892 * fold-const.c (fold_binary_op_with_conditional_arg): Improve
8893 handling of cases where one or both branches of the conditional
8894 have void type, i.e. throw an exception or don't return.
8895 (fold): Only apply (and undo) type conversion to the non-void
8896 branches of a COND_EXPR.
8897
9b5b7e3a
MM
88982002-10-30 Mark Mitchell <mark@codesourcery.com>
8899
8900 PR c++/8333
8901 * varasm.c (asm_output_aligned_bss): Do not call
8902 ASM_GLOBALIZE_LABEL.
8903
df7a8989
DE
89042002-10-30 David Edelsohn <edelsohn@gnu.org>
8905 Torbjorn Granlund <tege@swox.com>
8906
8907 * config/rs6000/rs6000.md (load_toc_v4_PIC_1): Use preferred form
8908 for addressibility.
8909 (load_toc_v4_PIC_1b): Same.
8910
d2d199a3
KH
89112002-10-30 Kazu Hirata <kazu@cs.umass.edu>
8912
8913 * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
8914 Truncate the addresses for H8/300 using HImode.
8915
4977bab6
ZW
8916Tue Oct 29 23:28:10 CET 2002 Jan Hubicka <jh@suse.cz>
8917
8918 * i386.md (negdf splitter): Fix construction of the constant.
8919
8920Tue Oct 29 20:47:06 CET 2002 Jan Hubicka <jh@suse.cz>
8921
8922 * i386.md (negsf, negdf): Reorganize to use vector modes
8923 for SSE variants.
8924 (abssf, absdf): Use force_reg.
8925 (movv4sf, movv2df): New splitters.
8926 * i386.h (PREDICATE_CODES): add zero_extended_scalar_load_operand
8927 * i386.c (zero_extended_scalar_load_operand
8928
8929 * i386-protos.h (ix86_expand_call): Update prototype.
8930 * i386.c (ix86_function_ok_for_sibcall): Handle 64bit
8931 (ix86_expand_call): Use r11 for indirect sibcalls.
8932 * i386.md (call, call_value, untyped_call, call_value_pop):
8933 update x86_expand_call call.
8934 (sibcall, sibcall_value): new patterns
8935 (call_rex64, call_value_rex64): Do not accept sibcalls.
8936 (sibcall_rex64, sibcall_value_rex64,
8937 sibcall_rex64_v, sibcall_value_rex64_v): New.
8938
8939Tue Oct 29 15:37:39 CET 2002 Jan Hubicka <jh@suse.cz>
8940
8941 * toplev.c (rest_of_compilation): Reorganize way reg_scan is called
8942 before final pass.
8943
33c21f5c
HPN
89442002-10-29 Hans-Peter Nilsson <hp@bitrange.com>
8945
8946 * toplev.c (rest_of_type_compilation): Return early in case of
8947 errors.
8948 (check_global_declarations): Don't call debug_hooks->global_decl
8949 in case of errors.
8950
d1445f8d
AB
89512002-10-28 Andreas Bauer <baueran@in.tum.de>
8952
8953 * doc/c-tree.texi (Tree overview): Fix typos.
8954
fc556cb9
PE
89552002-10-29 Phil Edwards <pme@gcc.gnu.org>
8956
8957 * Makefile.in (gnucompare*): Only record bad comparisons
8958 if there really was a bad comparison.
8959
f8ca7923
JH
8960Tue Oct 29 19:32:16 CET 2002 Jan Hubicka <jh@suse.cz>
8961
8962 * i386.h (CONST_DOUBLE_OK_FOR_LETTER_P): Remove 'H'
8963 * i386.md (movsf*, movdf*): Use 'C' instead of 'H'
8964 * md.texi (machine dependent constraints): Document 'C'
8965
8966 * simplify-rtx.c (simplify_subreg): Fix const_int->vector subregging.
8967
8968 * i386.c (ix86_expand_vector_move): Fix.
8969
8970 * i386.c (ix86_expand_builtin): Use sse2_maskmovdqu_rex64.
8971 * i386.md (sse2_maskmovdqu_rex64): New pattern
8972
8973 PR target/8322
8974 * xmmintrin.h (_mm_stream_pi, _mm_stream_pd): Fix cast.
8975 (ix86_init_mmx_sse_builtins): Fix type.
8976
c95d07f8
JT
89772002-10-29 Jason Thorpe <thorpej@wasabisystems.com>
8978
8979 * gthr-posix.h: Include <unistd.h> for feature tests.
8980 (sched_get_priority_max, sched_get_priority_min)
8981 (pthread_getschedparam, pthread_setschedparam): Only use
8982 if _POSIX_THREAD_PRIORITY_SCHEDULING is defined.
272d0bee 8983 (__gthread_objc_thread_set_priority): Don't treat all nonzero
c95d07f8
JT
8984 returns from sched_get_priority_max and sched_get_priority_min
8985 as an error.
8986
3950794d
KH
89872002-10-29 Kazu Hirata <kazu@cs.umass.edu>
8988
8989 * config/h8300/h8300.h (TARGET_DEFAULT): Make it
8990 MASK_QUICKCALL.
8991
803d56f5
KH
89922002-10-29 Kazu Hirata <kazu@cs.umass.edu>
8993
8994 * config/h8300/h8300.c (h8300_eightbit_constant_address_p): New.
8995 (h8300_tiny_constant_address_p): Likewise.
8996 * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Use
8997 h8300_eightbit_constant_address_p.
8998 (TINY_CONSTANT_ADDRESS_P): Use h8300_tiny_constant_address_p.
8999 * config/h8300/h8300-protos.h: Add the prototypes for the two
9000 new functions.
9001
6bb8a3f7
KH
90022002-10-29 Kazu Hirata <kazu@cs.umass.edu>
9003
9004 * reload1.c (update_eliminables): Unconditionally check if
9005 frame_pointer_needed has changed.
9006
fc8dfa20
JH
9007Tue Oct 29 15:37:39 CET 2002 Jan Hubicka <jh@suse.cz>
9008
9009 * toplev.c (rest_of_compilation): Reorganize way reg_scan is called
9010 before final pass.
9011
6e7727eb
EB
90122002-10-29 Eric Botcazou <ebotcazou@libertysurf.fr>
9013
a5163dcd 9014 PR optimization/8334
7bb9f927
ZW
9015 * expr.c (expand_expr) [PLUS]: Don't use simplify_binary_operation;
9016 check for zero operands explicitly.
6e7727eb 9017
02c6a17a
RS
90182002-10-29 Richard Sandiford <rsandifo@redhat.com>
9019
9020 * config/mips/mips.md (extv, extzv, insv): Set size of referenced
9021 memory after adjusting to BLKmode.
9022
1862869d
KH
90232002-10-29 Kazu Hirata <kazu@cs.umass.edu>
9024
9025 * config/h8300/h8300.h (MASK_*): New.
9026 (TARGET_*): Use MASK_*.
9027
4977bab6
ZW
90282002-10-28 Zack Weinberg <zack@codesourcery.com>
9029
9030 * config.gcc (*-*-vxworks, powerpc-wrs-vxworks*): New stanzas.
9031 * config/t-vxworks, config/vxworks.h, config/rs6000/t-vxworks,
9032 config/rs6000/vxworks.h: New files.
9033 * config/rs6000/sysv4.h: Rip out -mvxworks and all related code.
9034
9035 * config.gcc (alpha*-*-vxworks*, arm-*-vxworks*,
9036 i?86-wrs-vxworks*, i960-wrs-vxworks* [all],
9037 m68k-wrs-vxworks*, mips-wrs-vxworks, powerpc-wrs-vxworks*,
9038 powerpcle-wrs-vxworks*, sparc*-wrs-vxworks* [all],
9039 sparc-*-vxsim*): Delete stanzas.
9040 * gthr-vxworks.h: Rip out all substantive code and just
9041 include gthr-single.h.
9042
9043 * config/alpha/vxworks.h, config/arm/vxarm.h,
9044 config/i386/vxi386.h, config/i960/t-vxworks960,
9045 config/i960/vx960-coff.h, config/i960/vx960.h,
9046 config/m68k/t-vxworks68, config/m68k/vxm68k.h,
9047 config/mips/vxworks.h, config/rs6000/vxppc.h,
9048 config/sparc/t-vxsparc, config/sparc/t-vxsparc64,
9049 config/sparc/vxsim.h, config/sparc/vxsparc.h,
9050 config/sparc/vxsparc64.h: Delete files.
9051
ee3c755a
JT
90522002-10-28 Jason Thorpe <thorpej@wasabisystems.com>
9053
9054 * config.gcc (*-*-netbsd*): Add NETBSD_ENABLE_PTHREADS to
9055 tm_defines if pthreads are enabled.
9056 * config/netbsd.h (LIB_SPEC): Only support the -pthread option
9057 if NETBSD_ENABLE_PTHREADS is defined.
9058
423adbb9
KH
90592002-10-28 Kazu Hirata <kazu@cs.umass.edu>
9060
9061 * ChangeLog.1: Fix typos.
9062 * cse.c: Fix a comment typo.
9063 * reload1.c: Likewise.
9064
d7521977
HPN
90652002-10-27 Hans-Peter Nilsson <hp@bitrange.com>
9066
9067 * fixinc/inclhack.def (libc1_G_va_list): Correct test_text.
9068 * fixinc/tests/base/_G_config.h: New file.
9069
3eae4643
KH
90702002-10-27 Kazu Hirata <kazu@cs.umass.edu>
9071
9072 * combine.c: Fix comment formatting.
9073 * loop.c: Likewise.
9074 * real.c: Likewise.
9075 * regclass.c: Likewise.
9076 * regmove.c: Likewise.
9077 * regrename.c: Likewise.
9078 * reg-stack.c: Likewise.
9079 * reload1.c: Likewise.
9080 * reload.c: Likewise.
9081 * reload.h: Likewise.
9082 * unroll.c: Likewise.
9083
e591c83d
KH
90842002-10-27 Kazu Hirata <kazu@cs.umass.edu>
9085
9086 * reload1.c (reload): Fix a comment typo.
9087
a0ba837e
JH
9088Sun Oct 27 10:15:24 CET 2002 Jan Hubicka <jh@suse.cz>
9089
9090 * linux64.h (DEFAULT_PCC_STRUCT_RETURN): Define.
9091
cc0017a9
ZD
90922002-10-27 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
9093
9094 * Makefile.in (dwarf2out.o): Add dependendcy on hashtab.h.
9095 * dwarf2out.c: Include hashtab.h.
9096 (is_main_source): New static variable.
9097 (attr_checksum, die_checksum): Modified to handle die references.
9098 (same_loc_p, same_dw_val_p, same_attr_p, same_die_p, same_die_p_wrap,
9099 unmark_all_dies, htab_cu_hash, htab_cu_eq, htab_cu_del, check_duplicate_cu,
9100 record_comdat_symbol_number): New static functions.
9101 (output_comp_unit, compute_section_prefix, is_type_die, break_out_includes,
9102 mark_dies, unmark_dies, dwarf2out_start_source_file): Modified.
9103 * toplev.c (rest_of_decl_compilation): Call of dwarf2out_decl for type
9104 declarations added.
9105
d7af42bc
KH
91062002-10-26 Kazu Hirata <kazu@cs.umass.edu>
9107
9108 * config/h8300/h8300.c (initial_offset): Change to
9109 h8300_initial_elimination_offset.
9110 * config/h8300/h8300.h (INITIAL_ELIMINATION_OFFSET): Use
9111 h8300_initial_elimination_offset.
9112 * config/h8300/h8300-protos.h: Update the prototype.
9113
7e5037dc
HPN
91142002-10-26 Hans-Peter Nilsson <hp@bitrange.com>
9115
4b32269b
HPN
9116 * config/mmix/mmix.h (LIBCALL_VALUE): Use
9117 MMIX_RETURN_VALUE_REGNUM, not MMIX_OUTGOING_RETURN_VALUE_REGNUM.
9118 (FUNCTION_VALUE_REGNO_P): Similar, but move code to...
9119 * config/mmix/mmix.c (mmix_function_value_regno_p): New.
9120 * config/mmix/mmix-protos.h: Remove needless ifdefs on TREE_CODE
9121 and RTX_CODE.
9122 (mmix_function_value_regno_p): Declare.
9123
7e5037dc
HPN
9124 * config/mmix/mmix.md ("fixuns_truncdfdi2"): Replace unsigned_fix,
9125 invalid for floating point mode result, with fix.
9126
4977bab6
ZW
9127Fri Oct 25 00:04:21 2002 Alexandre Oliva <aoliva@redhat.com>
9128
9129 * Makefile.in (GCC_FOR_TARGET): Add -L$(objdir)/../ld.
9130 (STAGE2_FLAGS_TO_PASS): Pass GCC_FOR_TARGET.
9131 (stage1_build): Likewise.
9132
94c1e0e8
MS
91332002-10-25 Mike Stump <mrs@apple.com>
9134
da89b956 9135 Fixes gcc.dg/warn-1.c.
4977bab6
ZW
9136 * c-typeck.c (warn_for_assignment): Don't print argument number,
9137 if zero.
94c1e0e8 9138
0fb53e68
JH
9139Sat Oct 26 01:44:46 CEST 2002 Jan Hubicka <jh@suse.cz>
9140
9141 * toplev.c (dump_file_index): Add DFI_ce3.
9142 (dump_file_info): Likewise.
9143 (rest_of_compilation): Run first ifcvt pass before tracer.
9144
794186ca
SE
91452002-10-25 Steve Ellcey <sje@cup.hp.com>
9146
9147 * config/ia64/hpux.h (BITS_BIG_ENDIAN): Remove.
9148
cd60b4b8
RH
91492002-10-25 Richard Henderson <rth@redhat.com>
9150
9151 * real.c (real_to_decimal): If the >1 tens reduction loop results
9152 in a negative exponent, fall into the <1 pten computation.
9153
f3763a44
ZW
91542002-10-25 Zack Weinberg <zack@codesourcery.com>
9155
9156 PR middle-end/6994
9157 * c-objc-common.c (inline_forbidden_p): Can not inline
9158 functions containing structures or unions containing VLAs.
9159 * tree-inline.c (walk_tree): For all class 't' nodes, walk
9160 TYPE_SIZE and TYPE_SIZE_UNIT.
9161 (copy_tree_r): Copy types if they are variably modified.
9162
8c40b097
UW
91632002-10-25 Ulrich Weigand <uweigand@de.ibm.com>
9164
9165 * config/s390/s390.md: Remove old-style peepholes.
9166
522ec94e
UW
91672002-10-25 Ulrich Weigand <uweigand@de.ibm.com>
9168
9169 * config/s390/s390.c (s390_decompose_address): Do not range check the
9170 displacement if base or index is the argument pointer register.
9171
a7475ab1
HPN
91722002-10-24 Hans-Peter Nilsson <hp@bitrange.com>
9173
85c87994
HPN
9174 PR other/3337
9175 PR bootstrap/6763
9176 PR bootstrap/8122
a7475ab1
HPN
9177 * fixinc/inclhack.def (libc1_G_va_list): New fix.
9178 * fixinc/fixincl.x: Regenerate.
9179 * config/i386/linux.h: Move MD_FALLBACK_FRAME_STATE_FOR inside
9180 ifndef IN_LIBGCC2. Wrap it together with signal.h and
9181 sys/ucontext.h inclusion in ifndef USE_GNULIBC_1.
9182 * configure.in (gcc_AC_CHECK_DECLS): Check vasprintf too.
9183 * config.in, configure: Regenerate.
9184
7a360cce
IS
91852002-10-24 Igor Shevlyakov <igor@microunity.com>
9186
7bb9f927 9187 * varasm.c (struct rtx_const): Array size 16 for V16QImode.
7a360cce 9188
fcbe3b89
RH
91892002-10-24 Richard Henderson <rth@redhat.com>
9190
9191 * config/i386/i386.c (x86_output_mi_thunk): Fix x86_64 pic jump.
9192
1a86c850
KH
91932002-10-24 Kazu Hirata <kazu@cs.umass.edu>
9194
9195 * config/h8300/h8300.c (initial_offset): Simplify by using
9196 round_frame_size.
9197
de7999ba
MM
91982002-10-24 Marek Michalkiewicz <marekm@amelek.gda.pl>
9199
9200 * doc/install.texi (avr): Update required binutils version.
9201
92022002-10-24 Theodore A. Roth <troth@openavr.org>
9203
9204 * doc/install.texi: Point avr users at more up-to-date information.
9205
84817c5d
UW
92062002-10-24 Ulrich Weigand <uweigand@de.ibm.com>
9207
9208 * config/s390/s390.md (movdi, movsi, movhi, movqi): Add peepholes2
9209 to pull operands out of the literal pool where possible.
9210
d0749053
DC
92112002-10-24 Denis Chertykov <denisc@overta.ru>
9212
9213 * config/avr/avr.c (init_cumulative_args): Test fntype for zero.
9214
37d0b254
SE
92152002-10-24 Steve Ellcey <sje@cup.hp.com>
9216
9217 * expr.c (convert_move): If unsignedp is less then zero there
9218 is no equivalent code.
9219
7af907e9
ZW
92202002-10-24 Zack Weinberg <zack@codesourcery.com>
9221
9222 * tree.def: Delete mention of nonexistent ARRAY_TYPE fields.
9223
862a2d83
UW
92242002-10-24 Ulrich Weigand <uweigand@de.ibm.com>
9225
7af907e9 9226 * config/s390/s390.h: Rework comments; re-sort target macro definitions
862a2d83
UW
9227 according to the sequence they are defined in the manual.
9228 (POINTER_BOUNDARY): Remove.
9229
489eda65
KH
92302002-10-24 Kazu Hirata <kazu@cs.umass.edu>
9231
9232 * config/h8300/h8300.c (round_frame_size): Replace 8 with
9233 BITS_PER_UNIT.
9234
2ba08201
KH
92352002-10-24 Kazu Hirata <kazu@cs.umass.edu>
9236
9237 * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Make it
9238 64-bit safe.
9239 (TINY_CONSTANT_ADDRESS_P): Likewise.
9240
5f13cfc6
RH
92412002-10-24 Richard Henderson <rth@redhat.com>
9242
9243 * config/ia64/ia64.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
9244 (ia64_output_mi_thunk): Rewrite to use rtl, and to handle the
9245 vcall offset.
9246
3bd216f2
RH
92472002-10-24 Richard Henderson <rth@redhat.com>
9248
7af907e9
ZW
9249 PR opt/7944
9250 * reload.c (find_reloads_toplev): Mode of X is not important
3bd216f2
RH
9251 when simplifying subregs of constants.
9252
60bc2b4b
RS
92532002-10-24 Richard Sandiford <rsandifo@redhat.com>
9254
9255 * config.gcc (mips64vr-*-elf*, mips64vrel-*-elf*): Add
9256 MIPS_MARCH_CONTROLS_SOFT_FLOAT=1 to $tm_defines.
9257 * config/mips/mips.c (MIPS_MARCH_CONTROLS_SOFT_FLOAT): Default to 0.
9258 (override_options): Base default setting of MASK_SOFT_FLOAT on -march
9259 if MIPS_MARCH_CONTROLS_SOFT_FLOAT.
9260
5be5c8d4
RS
92612002-10-24 Richard Sandiford <rsandifo@redhat.com>
9262
9263 * optabs.c (expand_binop): Don't reuse the shift target in the
9264 middle of shift sequences.
9265
4977bab6
ZW
9266Wed Oct 23 22:48:44 CEST 2002 Jan Hubicka <jh@suse.cz>
9267
9268 * i386.md (abs splitters): Do not produce nested subregs.
9269
9270Wed Oct 23 12:42:32 CEST 2002 Jan Hubicka <jh@suse.cz>
9271
9272 * i386.md (movti_rex64): Fix constraints.
9273
9274Wed Oct 23 12:01:21 CEST 2002 Jan Hubicka <jh@suse.cz>
9275
9276 * i386.md (abssf,absdf): Use vector operands for SSE
9277 (abssf2_ifs, absdf2_ifs, absdf2_ifs_rex64 and splitters): Update for
9278 vector operand.
9279
196e1ae3
ZL
92802002-10-23 Ziemowit Laski <zlaski@apple.com>
9281
9282 * objc/objc-act.c (get_static_reference): Remove unneeded
9283 TYPE_BINFO initialization.
9284 (get_object-reference): Likewise.
9285 (build_constructor): Tighten precondition check.
9286 (finish_message_expr): Likewise.
9287
8bfb45f8
JJ
92882002-10-23 Jakub Jelinek <jakub@redhat.com>
9289
9290 * config/i386/i386.c (local_symbolic_operand): Move LABEL_REF test
9291 after CONST test.
9292
16448fd4
SE
92932002-10-23 Steve Ellcey <sje@cup.hp.com>
9294
9295 * config/ia64/ia64.c (hfa_element_mode): Don't allow 128 bit floats
9296 in HFAs.
9297
e2358068
RH
92982002-10-23 Richard Henderson <rth@redhat.com>
9299
9300 * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
9301 (alpha_output_mi_thunk_osf): Handle vcall_offset.
9302
8bcefb43
ZW
93032002-10-23 Zack Weinberg <zack@codesourcery.com>
9304
9305 * langhooks.h (struct lang_hooks_for_tree_inlining): Add
9306 var_mod_type_p.
9307 * langhooks-def.h: Default for tree_inlining.var_mod_type_p is
9308 hook_tree_bool_false.
9309
9310 * tree.c (variably_modified_type_p): Moved here from
9311 cp/tree.c. Use lang_hooks.tree_inlining.var_mod_type_p for
9312 language-specific cases. Due to this, must weaken some 'if
9313 and only if' checks to merely 'if'.
9314 * tree.h: Prototype variably_modified_type_p.
9315
9316 * tree-inline.c (walk_tree): #undef WALK_SUBTREE_TAIL at end.
9317
8e509cf9
UW
93182002-10-23 Ulrich Weigand <uweigand@de.ibm.com>
9319
9320 * config/s390/linux.h (CC1_SPEC, CC1PLUS_SPEC): Remove.
9321 * config/s390/s390.c (optimization_options): Disable -fcaller-saves.
9322
9323 * config/s390/s390-protos.h (fp_operand): Remove.
9324 * config/s390/s390.c (fp_operand): Remove.
9325 * config/s390/s390.md ("movdi"): Replace fp_operand by FP_REG_P.
9326 ("*movdi_lhi", "*movdi_lli", "*movdi_larl"): Likewise.
9327 ("movsi", "*movsi_lhi", "*movsi_lli"): Likewise.
9328 (movdi_31, movdf_31 splitters): Likewise.
8bcefb43 9329
8e509cf9
UW
9330 * config/s390/s390.h (IEEE_FLOAT): Remove.
9331 (TARGET_FLOAT_FORMAT): Define in terms of TARGET_IEEE_FLOAT.
9332 (INT_REGNO_P): Rename to ...
9333 (GENERAL_REGNO_P): ... this.
9334 (FLOAT_REGNO_P): Rename to ...
9335 (FP_REGNO_P): ... this.
9336 (ADDR_REGNO_P): New macro.
9337 (GENERAL_REG_P, ADDR_REG_P, FP_REG_P, CC_REG_P): New macros.
9338 (REGNO_OK_FOR_DATA_P, REGNO_OK_FOR_FP_P): Remove.
9339 (DATA_REG_P, FP_REG_P, ADDRESS_REG_P): Likewise.
9340 (HARD_REGNO_NREGS): Adapt to macro renaming.
9341 (HARD_REGNO_MODE_OK): Likewise.
9342
34bb030a
DE
93432002-10-23 David Edelsohn <edelsohn@gnu.org>
9344 Geoff Keating <geoffk@apple.com>
9345
9346 * config/rs6000/rs6000.c (rs6000_register_move_cost): New function.
9347 (rs6000_memory_move_cost): New function.
9348 * config/rs6000/rs6000-protos.h: Declare them.
9349 * config/rs6000/rs6000.h: Use them.
9350
1ab9ba62
UW
93512002-10-23 Ulrich Weigand <uweigand@de.ibm.com>
9352
8bcefb43 9353 * libgcc2.c (__udiv_w_sdiv): Use attribute ((always_inline)) when
1ab9ba62
UW
9354 inlining it into other libgcc2 routines.
9355 (__udivmoddi4): Likewise.
9356
4b2ece8f
NN
93572002-10-22 Nathanael Nerode <neroden@gcc.gnu.org>
9358
9359 * doc/sourcebuild.texi (Test Suites): Improve.
9360
2d173d20
SS
93612002-10-22 Stan Shebs <shebs@apple.com>
9362
9363 * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Add missing
9364 case for Darwin.
9365
43146684
JW
93662002-10-22 Jim Wilson <wilson@redhat.com>
9367
9368 * config/i386/i386.md (subdi3_1): Add call to ix86_binary_operator_ok.
9369
a00782ed
JH
9370Wed Oct 23 01:52:36 CEST 2002 Jan Hubicka <jh@suse.cz>
9371
9372 PR other/8289
9373 * xmmintrin.h: Add const to the argument of loads.
9374
9375 * i386.md (pushv2di): New pattern.
9376 PR target/6890
9377 * xmmintrin.h (_MM_TRANSPOSE4_PS): New.
9378
3961e8fe
RH
93792002-10-22 Richard Henderson <rth@redhat.com>
9380
9381 * target.h (gcc_target.asm_out): Merge output_mi_thunk and
9382 output_mi_vcall_thunk into a single hook. Add can_output_mi_thunk.
9383 * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Don't conditionalize.
9384 (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
9385 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
9386 (TARGET_ASM_OUT): Update.
9387 * hooks.c (hook_bool_tree_hwi_hwi_tree_false): New.
9388 (hook_bool_tree_hwi_hwi_tree_true): New.
9389 (default_can_output_mi_thunk_no_vcall): New.
9390 * hooks.h: Declare them.
9391 * system.h (ASM_OUTPUT_MI_THUNK): Poison.
9392
9393 * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
9394 (alpha_output_mi_thunk_osf): Add VCALL_OFFSET parameter.
9395 * config/arm/arm.c, config/cris/cris.c, config/frv/frv.c,
9396 config/i960/i960.c, config/ia64/ia64.c, config/m68k/m68k.c,
9397 config/mmix/mmix.c, config/pa/pa.c, config/sparc/sparc.c,
9398 config/stormy16/stormy16.c: Similarly.
9399
9400 * config/i386/i386.c (x86_output_mi_thunk): Merge vcall_offset code.
9401 Handle 64-bit properly. Streamline.
9402 (x86_output_mi_vcall_thunk): Remove.
9403 (x86_this_parameter): Rename from ia32_this_parameter; handle 64-bit.
9404 (x86_can_output_mi_thunk): New.
9405 (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
9406 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
9407 (override_options): Don't zap targetm.asm_out.output_mi_vcall_thunk.
9408
9409 * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Rename from
9410 output_mi_thunk; make static; always use function_section.
9411 (TARGET_ASM_OUTPUT_MI_THUNK): New.
9412 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
9413 (rs6000_ra_ever_killed): Test no_new_pseudos not
9414 targetm.asm_out.output_mi_thunk in conjunction with thunks.
9415 * config/rs6000/rs6000-protos.h: Update.
9416 * config/rs6000/sysv4.h (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
9417 * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Don't call
9418 xcoffout_declare_function when using rs6000_output_mi_thunk.
9419
8bcefb43 9420 * config/s390/s390.c (s390_output_mi_thunk): Rename from
3961e8fe
RH
9421 s390_output_mi_vcall_thunk.
9422 (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
9423 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
9424
9425 * config/vax/vax.c (vax_output_mi_thunk): Static; add vcall_offset.
9426 (TARGET_ASM_OUTPUT_MI_THUNK, TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
9427 * config/vax/vax-protos.h: Update.
9428 * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Remove.
9429
0e67d460
JH
9430Wed Oct 23 00:33:11 CEST 2002 Jan Hubicka <jh@suse,cz>
9431
9432 * i386.c (standard_sse_constant_p): Accept vector and integer zeros too.
9433 * i386.h (EXTRA_CONSTRAINT): Recognize 'C'
9434 * i386.md (movti_internal): Use 'C'
9435
9436 * xmmintrin.h (_mm_cmplt_epi*): New.
9437
d5869ca0
UW
94382002-10-22 Ulrich Weigand <uweigand@de.ibm.com>
9439
9440 * config/s390/s390.md ("*movdi_64"): Fix op_type attribute.
9441 ("*movdf_64"): Likewise.
9442 ("*lshrdi3_64"): Likewise.
9443 ("blockage"): Add length attribute.
9444 ("lit"): Likewise.
9445
680dd104
JH
9446Tue Oct 22 23:51:34 CEST 2002 Jan Hubicka <jh@suse.cz>
9447
9448 * i386.md: FIx typo.
9449 (sse2_cvtsi2sd, sse2_pslrdq): Fix template.
9450 (sse2_umulv2siv2di3): Fix predicate.
9451 (sse2_psadbw, ashrv8hi3, ashrv4si3, lshrv8hi3 lshrv4si3,
9452 lshrv2di3, ashlv8hi3, ashlv4si3, ashlv2di3): Likewise.
9453 * xmmintrin.h (_mm_mul_epu16): Rename to...
9454 (_mm_mul_epu32): This one.
9455 (_mm_cvtsi32_si128, _mm_cvtsi128_si32): New.
9456
9457 (contains_128bit_aligned_vector_p): Undo accidental checkin.
9458
3aabf9a5
EC
94592002-10-22 Eric Christopher <echristo@redhat.com>
9460
9461 * config/sparc/sparc.h: Add #error.
9462
42c78618
UW
94632002-10-22 Ulrich Weigand <uweigand@de.ibm.com>
9464
9465 * config.gcc [s390-*-linux]: Remove s390/t-linux from tmake_file.
9466 [s390x-*-linux*]: Likewise.
9467 * config/s390/t-linux: Remove.
9468 * config/s390/s390.h: Include fixdfdi.h when building libgcc2.
9469
077084dd
JH
9470Tue Oct 22 19:07:03 CEST 2002 Jan Hubicka <jh@suse.cz>
9471
9472 * i386.c (builtin_description): Add IX86_BUILTIN_PUNPCKHQDQ128.
9473 (ix86_expand_builtin): Fix MASKMOVDQU expasion.
9474 * i386.h (ix86_builtins): Add IX86_BUILTIN_PUNPCKHQDQ128.
9475 * i386.md (mmx_punpck?dq): Simplify.
9476 (sse2_pubpcklqdq): Fix.
9477 (sse2_pubpckhqdq): New.
9478 * xmmintrin.h (_mm_unpackhi_epi32): New.
9479
9480 * xmmintrin.h (_mm_cvt*, _mm_stream_pd): Fix prototypes.
9481 (_mm_shufflehi_epi16, _mm_shufflelo_epi16): Fix typo.
9482
8fe734a3
NS
94832002-10-22 Nathan Sidwell <nathan@codesourcery.com>
9484
9485 PR c++/7209
9486 * fold_const.c (fold_binary_op_with_conditional_arg): Always
9487 build compound_expr if we used save_expr.
9488
6a0a6ac4
AM
94892002-10-22 Alan Modra <amodra@bigpond.net.au>
9490
9491 * output.h (SECTION_NOTYPE): Define.
9492 * varasm.c (default_section_type_flags_1): Set SECTION_NOTYPE for
9493 init array sections.
9494 (default_elf_asm_named_section): Mind SECTION_NOTYPE.
9495 * config/arm/arm.c (arm_elf_asm_named_section): Likewise. Also
9496 merge TLS support.
9497
4977bab6
ZW
94982002-10-21 Richard Henderson <rth@redhat.com>
9499
9500 * config/i386/i386.c (ix86_function_ok_for_sibcall): Look at
9501 the function type, not the return type.
9502
5e26e5a2
RH
95032002-10-21 Richard Henderson <rth@redhat.com>
9504
9505 * real.c (sticky_rshift_significand): Return inexact, don't
9506 or it in immediately.
9507 (sub_significands): Accept incomming carry.
9508 (div_significands, rtd_divmod): Update for sub_significands change.
9509 (round_for_format): Update for sticky_rshift_significand change.
9510 (do_add): Don't involve the inexact bit in addition, do give the
9511 inexact bit as the subtraction carry-in.
9512 (encode_internal, decode_internal, real_internal_format): New.
9513 * real.h (real_internal_format): Declare.
9514
f8eef883
UW
95152002-10-21 Ulrich Weigand <uweigand@de.ibm.com>
9516
9517 * libgcc2.c: Fix __udiv_w_sdiv breakage on platforms that
9518 don't define sdiv_qrnnd.
9519
89e56fe5
KH
95202002-10-21 Kazu Hirata <kazu@cs.umass.edu>
9521
9522 * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Simplify
9523 using IN_RANGE.
9524 (TINY_CONSTANT_ADDRESS_P): Likewise.
9525
f02e1358
JH
9526Tue Oct 22 00:04:20 CEST 2002 Jan Hubicka <jh@suse.cz>
9527
9528 * i386.c (builtin_description): Add punpcklqdq and movdq2q
9529 (ix86_init_mmx_sse_builtins): Add v2di_ftype_void, di_ftype_v2di,
9530 v16qi_ftype_pchar, void_ftype_pchar_v16qi, v4si_ftype_pchar,
9531 void_ftype_pchar_v4si; Initialize __builtin_ia32_movdq2q,
9532 __builtin_ia32_loaddqa, __builtin_ia32_loaddqu, __builtin_ia32_loadd
9533 __builtin_ia32_storedqa, __builtin_ia32_storedqu, __builtin_ia32_stored
9534 __builtin_ia32_setzero128.
9535 (ix86_expand_builtin): Handle IX86_BUILTIN_CLRTI, IX86_BUILTIN_LOADDQA,
9536 IX86_BUILTIN_LOADDQU, IX86_BUILTIN_LOADD, IX86_BUILTIN_STOREDQA,
9537 IX86_BUILTIN_STOREDQU, IX86_BUILTIN_STORED, Ix86_BUILTIN_MOVQ.
9538 * i386.h (ix86_builtins): Add IX86_BUILTIN_LOADDQA, IX86_BUILTIN_LOADDQU,
9539 IX86_BUILTIN_STOREDQA, IX86_BUILTIN_STOREDQU, IX86_BUILTIN_LOADD,
9540 IX86_BUILTIN_STORED, IX86_BUILTIN_CLRTI, IX86_BUILTIN_MOVDQ2Q,
9541 IX86_BUILTIN_PUNPCKLQDQ128, Ix86_BUILTIN_MOVQ.
9542 * i386.md (sse2_punpcklqdq, sse2_movqsse2_loadd, sse2_stored,
9543 sse2_movq): New patterns.
9544 (sse2_movdqa, sse2_movdqu, sse2_movdq2q): Fix.
9545 * xmmintrin.h (_mm_load_si128, _mm_loadu_si128, _mm_loadl_epi64,
9546 _mm_store_si128, _mm_storeu_si128, _mm_storel_epi64,
9547 _mm_setzero_si128, _mm_set_epi64, _mm_set_epi32, _mm_set_epi16,
9548 _mm_set_epi8, _mm_set1_epi64, _mm_set1_epi32, _mm_set1_epi16,
9549 _mm_set1_epi8, _mm_setr_epi64, _mm_setr_epi32, _mm_setr_epi16,
9550 _mm_setr_epi8, _mm_unpacklo_epi64,_mm_set_moveq): New functions.
9551 (_mm_insert_epi16): Fix.
9552
de40e1df
DJ
95532002-10-21 Dale Johannesen <dalej@apple.com>
9554
8bcefb43 9555 * config/rs6000/rs6000.c (rs6000_reverse_condition): Handle
de40e1df
DJ
9556 unsafe math reversals correctly for RTL generation.
9557 (output_cbranch): Replace rs6000_reverse_condition call
9558 by its former definition.
9559
75d38379
JJ
95602002-10-21 Jakub Jelinek <jakub@redhat.com>
9561
9562 * config/i386/i386.c (x86_64_sign_extended_value): Add allow_rip
9563 argument. In CM_SMALL_PIC model consider SYMBOL_REFs binding locally or
9564 from constant pool or LABEL_REFs as sign extended if allow_rip.
9565 Change all +-1GB limits to +-16MB.
9566 (x86_64_general_operand, x86_64_szext_general_operand,
9567 x86_64_nonmemory_operand, x86_64_movabs_operand,
9568 x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
9569 legitimate_address_p, ix86_expand_int_movcc): Update callers.
9570 (local_symbolic_operand): Don't allow offsets bigger than +-16MB
9571 in CM_SMALL_PIC model.
9572 (legitimate_pic_address_disp_p): Don't check offsets before
9573 calling local_symbolic_operand.
9574 (legitimize_pic_address): Force offsets bigger than +-16MB into
9575 register.
9576 * config/i386/i386.h (EXTRA_CONSTRAINT, CONST_COSTS): Likewise.
9577 * config/i386/i386-protos.h (x86_64_sign_extended_value): Update
9578 prototype.
9579
9580 * configure.in: Test for @GOTNTPOFF and @INDNTPOFF on IA-32 too.
9581 Add x86-64 test. Set tls_first_minor to 14 on IA-32 and x86-64.
9582 * configure: Rebuilt.
9583 * config/i386/i386.c (x86_64_sign_extended_value): Don't allow TLS
9584 SYMBOL_REFs unless enclosed in UNSPEC. Handle UNSPEC_DTPOFF,
9585 UNSPEC_GOTNTPOFF and UNSPEC_NTPOFF.
9586 (legitimate_address_p): Allow foo@dtpoff(base) even on TARGET_64BIT
9587 -fpic.
9588 (ix86_encode_section_info): Don't ever generate TLSGD or TLSLD for
9589 non-pic code if TARGET_64BIT.
9590 (legitimize_address): Generate 64-bit TLS sequences.
9591 (output_pic_addr_const): Support x86-64 TLS operators.
9592 (i386_output_dwarf_dtprel): Output 64-bit DTPOFF as .long f@DTPOFF, 0.
9593 (print_operand_address): Use %fs instead of %gs on TARGET_64BIT.
9594 Don't append (%rip) in 64-bit TLSGD and TLSLD sequences.
9595 (output_addr_const_extra): Support x86-64 TLS operators.
9596 (maybe_get_pool_constant): Handle TARGET_64BIT -fpic.
9597 (ix86_tls_get_addr): Use __tls_get_addr on TARGET_64BIT
9598 unconditionally.
9599 * config/i386/i386.md (*tls_global_dynamic_gnu): Renamed to...
9600 (*tls_global_dynamic_32_gnu): ..., add !TARGET_64BIT.
9601 (*tls_global_dynamic_sun): Renamed to...
9602 (*tls_global_dynamic_32_sun): ..., add !TARGET_64BIT.
9603 (tls_global_dynamic): Renamed to...
9604 (tls_global_dynamic_32): ... this.
9605 (tls_global_dynamic_64, *tls_global_dynamic_64): New.
9606 (*tls_local_dynamic_base_dynamic_gnu): Renamed to...
9607 (*tls_local_dynamic_base_dynamic_32_gnu): ..., add !TARGET_64BIT.
9608 (*tls_local_dynamic_base_dynamic_sun): Renamed to...
9609 (*tls_local_dynamic_base_dynamic_32_sun): ..., add !TARGET_64BIT.
9610 (tls_local_dynamic_base_dynamic): Renamed to...
9611 (tls_local_dynamic_base_dynamic_32): ... this.
9612 (tls_local_dynamic_base_dynamic_64,
9613 *tls_local_dynamic_base_dynamic_64): New.
9614 (*tls_local_dynamic_once): Renamed to...
9615 (*tls_local_dynamic_32_once): ... this.
9616
59798a0c
UW
96172002-10-21 Ulrich Weigand <uweigand@de.ibm.com>
9618
9619 * libgcc2.c: Inline __udiv_w_sdiv when compiling __udivdi3,
9620 __divdi3, __umoddi3, or __moddi3.
9621
97d05bfd
UW
96222002-10-21 Ulrich Weigand <uweigand@de.ibm.com>
9623
9624 * c-opts.c (missing_arg): Use cl_options[opt_index].opt_code
9625 instead of just opt_index as switch expression.
9626
9627 * calls.c (store_one_arg): Change type of 'excess_align'
9628 to unsigned int.
9629
9630 * profile.c (output_gcov_string): Change type of 'temp'
9631 to size_t.
9632
5d4d885c
UW
96332002-10-21 Ulrich Weigand <uweigand@de.ibm.com>
9634
9635 * config/s390/fixdfdi.h (__fixunsdfdi, __fixdfdi): Add prototypes.
9636 (__fixunssfdi, __fixsfdi): Likewise.
9637 * config/s390/s390.c (s390_single_hi): Initialize 'value'.
9638 (s390_single_qi): Likewise.
9639 (s390_emit_epilogue): Initialize 'offset'. Remove signed vs.
9640 unsigned comparison warning.
9641 (s390_return_addr_rtx): New function.
9642 * config/s390/s390-protos.h (s390_return_addr_rtx): Declare it.
9643 * config/s390/s390.h (RETURN_ADDR_RTX): Use it.
9644 (HARD_REGNO_MODE_OK): Rewrite condition to silence warnings.
9645
3062825f
UW
96462002-10-21 Ulrich Weigand <uweigand@de.ibm.com>
9647
9648 * config/s390/s390.c (s390_output_mi_vcall_thunk): New function.
9649 (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define target hook.
9650 (s390_output_mi_thunk): Remove.
9651 (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
9652
2918c993
KH
96532002-10-21 Kazu Hirata <kazu@cs.umass.edu>
9654
9655 * config/h8300/h8300.h (N_REG_CLASSES): Parenthesize.
9656
4977bab6
ZW
96572002-10-20 Zack Weinberg <zack@codesourcery.com>
9658
9659 * config/i386/i386.c (ix86_function_ok_for_sibcall): Fix an
9660 inverted test in the conditional determining the possibility
9661 of sibcalls in PIC mode.
9662
c590b625
RH
96632002-10-20 Richard Henderson <rth@redhat.com>
9664
9665 * target.h (struct gcc_target): Line wrap.
9666
9667 * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Static.
9668 (TARGET_ASM_OUTPUT_MI_THUNK): Define here...
9669 * config/alpha/alpha.h: ... not here.
9670 * config/alpha/alpha-protos.h: Update.
9671
9672 * config/arm/arm.c, config/arm/arm.h, config/arm/arm-protos.h
9673 config/cris/cris-protos.h, config/cris/cris.c, config/cris/cris.h,
9674 config/frv/frv-protos.h, config/frv/frv.c, config/frv/frv.h,
9675 config/i386/i386-protos.h, config/i386/i386.c, config/i386/openbsd.h,
9676 config/i386/unix.h, config/i960/i960-protos.h, config/i960/i960.c,
9677 config/i960/i960.h, config/ia64/ia64-protos.h, config/ia64/ia64.c,
9678 config/ia64/ia64.h, config/m68k/linux.h, config/m68k/m68k-protos.h,
9679 config/m68k/m68k.c, config/m68k/netbsd-elf.h, config/m68k/openbsd.h,
9680 config/mmix/mmix-protos.h, config/mmix/mmix.c, config/mmix/mmix.h,
3aabf9a5 9681 config/pa/pa-protos.h, config/pa/pa.c, config/pa/pa.h,
c590b625
RH
9682 config/s390/s390-protos.h, config/s390/s390.c, config/s390/s390.h,
9683 config/sparc/openbsd.h, config/sparc/sparc-protos.h,
9684 config/sparc/sparc.c, config/sparc/sparc.h,
9685 config/stormy16/stormy16-protos.h, config/stormy16/stormy16.c,
9686 config/stormy16/stormy16.h: Similarly.
9687
9688 * config/m68k/m68k.c (m68k_output_mi_thunk): Replicate mnemonic
9689 selection logic from call patterns.
9690
16f7d029
MM
96912002-10-20 Mark Mitchell <mark@codesourcery.com>
9692
9693 * config/m68k/m68k.c (m68k_output_mi_thunk): Fix typo.
9694
ab3146fd
ZD
96952002-10-20 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
9696
9697 PR other/8202
9698 * i386.c (ix86_init_mmx_sse_builtins, ix86_expand_builtin): Define and
9699 expand __builtin_ia32_pslldqi128 and __builtin_ia32_psrldqi128.
9700 * i386.h (IX86_BUILTIN_PSLLDQI128, IX86_BUILTIN_PSRLDQI128): New.
9701 * xmmintrin.h (_mm_srli_si128, _mm_slli_si128): New.
9702
e03b7153
RS
97032002-10-20 Roger Sayle <roger@eyesopen.com>
9704
9705 PR c/761
9706 * toplev.c (flag_unsafe_profile_arcs): Remove.
9707 (flag_bounded_pointers): Remove.
9708 (flag_bounds_check): Correct comments.
9709 (lang_independent_options): Remove -funsafe-profile-arcs and
9710 -fbounded-pointers. Correct -fbounds-check comments.
9711
9712 * flags.h: Correct flag_schedule_interblock comments.
9713 (flag_bounded_pointers): Remove prototype.
9714 (flag_bounds_check): Correct comments.
9715
9716 * c-opts.c (c_common_init_options): No need to mark
9717 flag_bounds_check as unspecified.
9718 (c_common_post_options): And no need to set it from
9719 flag_bounded_pointers if its still unspecified.
9720
9721 * doc/invoke.texi: Fix some overfull hboxes in "make dvi".
9722 Document --version, -feliminate-dwarf-2-dups, -fno-sched-interblock,
9723 -fno-sched-spec, -fsched-spec-load, -fsched-spec-load-dangerous,
9724 -fsched-verbose=n, -fno-branch-count-reg and -fbounds-check.
9725
4977bab6
ZW
9726Sat Oct 19 22:02:28 2002 Alexandre Oliva <aoliva@redhat.com>
9727 Angela Marie Thomas <angela@releasedominatrix.com>
9728 Brendan Kehoe <brendan@zen.org>
9729 Nick Clifton <nickc@redhat.com>
9730 Andrew Haley <aph@redhat.com>
9731
9732 * configure.in (--with-sysroot): New. Don't inhibit libc if
9733 given. AC_SUBST TARGET_SYSTEM_ROOT, TARGET_SYSTEM_ROOT_DEFINE
9734 and CROSS_SYSTEM_HEADER_DIR.
9735 * configure: Rebuilt.
9736 * Makefile.in (CROSS_SYSTEM_HEADER_DIR): Set in configure.
9737 (TARGET_SYSTEM_ROOT): New.
9738 (DRIVER_DEFINES): Define CROSS_INCLUDE_DIR from
9739 CROSS_SYSTEM_HEADER_DIR.
9740 (install-gcc-tooldir): New target.
9741 (stmp-fixinc): Do not create $(libsubdir), but rather bail out
9742 if SYSTEM_HEADER_DIR does not exist and it's not the default
9743 sys-include directory.
9744 (deduced.h, stmp-fixproto): Quote SYSTEM_HEADER_DIR properly.
9745 (install-mkheaders): Likewise.
9746 * gcc.c (target_system_root): New variable.
9747 (add_sysrooted_prefix): New function.
9748 (process_command): Recompute run-time target_system_root from
9749 gcc_exec_prefix, keeping it unchanged if the relocated sysroot
9750 does not exist.
9751 (do_spec_1): Process 'R' spec.
9752 (main): Add md_exec_prefix to exec_prefixes regardless of
9753 startfile_prefix_spec. Use add_sysrooted_prefix for
9754 startfile_prefixes, and don't skip the default ones when cross
9755 compiling with sysroot enabled. Removed unused case of
9756 non-absolute standard_startfile_prefix.
9757 * config/interix.h: Remove the only potential, yet disabled,
9758 occurrence of non-absolute (empty) standard_startfile_prefix.
9759 * config/sh/linux.h (LIB_SPEC): Add -rpath-link in non-static
9760 linking.
9761 * config/mips/linux.h (LIB_SPEC): Define as in sh/linux.h.
9762 * doc/install.texi (--with-sysroot): Document.
9763 (--with-headers, --with-libs): Deprecate.
9764
eb0424da 97652002-10-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8bcefb43 9766 Mark Mitchell <mark@codesourcery.com>
eb0424da
MM
9767
9768 * alpha-protos.h (alpha_output_mi_thunk_osf): Update signature to
9769 match target.h.
9770 * arm-protos.h, arm.c (arm_output_mi_thunk): Likewise.
9771 * cris-protos.h, cris.c (cris_asm_output_mi_thunk): Likewise.
9772 * frv-protos.h, frv.c (frv_asm_output_mi_thunk): Likewise.
9773 * i386-protos.h, i386.c (x86_output_mi_vcall_thunk,
9774 x86_output_mi_thunk): Likewise.
9775 * i960-protos.h, i960.c (i960_output_mi_thunk): Likewise.
9776 * ia64-protos.h, ia64.c (ia64_output_mi_thunk): Likewise.
9777 * m68k-protos.h, m68k.c (m68k_output_mi_thunk): Likewise.
9778 * mmix-protos.h, mmix.c (mmix_asm_output_mi_thunk): Likewise.
9779 * rs6000-protos.h, rs6000.c (output_mi_thunk): Likewise.
9780 * s390-protos.h, s390.c (s390_output_mi_thunk): Likewise.
9781 * stormy16-protos.h, stormy16.c (xstormy16_asm_output_mi_thunk):
9782 Likewise.
9783 * vax-protos.h, vax.c (vax_output_mi_thunk): Likewise.
3aabf9a5 9784
eb0424da
MM
9785 * target.h (gcc_target): Update output_mi_thunk and
9786 output_mi_vcall_thunk to take a HOST_WIDE_INT delta and
9787 vcall_index.
9788
9789 * config/alpha/alpha.c: Replace ASM_OUTPUT_MI_THUNK with
9790 TARGET_ASM_OUTPUT_MI_THUNK in comments.
9791 * config/alpha/vms.h (ASM_OUTPUT_MI_THUNK): Don't #undef it.
9792 (TARGET_ASM_OUTPUT_MI_THUNK): #undef it.
9793 * config/frv/frv.h (DEFAULT_VTABLE_THUNKS): Remove definition.
9794 * config/i386/i386-protos.h (x86_output_mi_vcall_thunk): Update
9795 signature.
9796 * config/i386/i386.c (x86_output_mi_vcall_thunk): Likewise.
9797 * config/i386/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
9798 TARGET_ASM_OUTPUT_MI_THUNK in comments.
9799 * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Don't define.
9800 (TARGET_ASM_OUTPUT_MI_THUNK): Do define.
9801 * config/m68k/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
9802 TARGET_ASM_OUTPUT_MI_THUNK in comments.
9803 * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Remove #ifdef
9804 ASM_OUTPUT_MI_THUNK and replace with check of targetm.
9805
9806 * doc/tm.texi (TARGET_ASM_OUTPUT_MI_THUNK): Update signature.
9807 (TARGET_ASM_OUTPU_MI_VCALL_THUNK): Likewise.
3aabf9a5 9808
433d5d04
BL
98092002-10-19 Brad Lucier <lucier@math.purdue.edu>
9810
9811 * real.c (do_add): Fix 0+0 sign corner case.
9812 (do_divide): Fix Inf/0 corner case.
9813
1194ca05
JH
9814Sun Oct 20 00:31:31 CEST 2002 Jan Hubicka <jh@suse.cz>
9815
9816 * i386.c (classify_argument): Pass MMX arguments in memory
9817 (ix86_expand_builtin): Expand proper address mode for cflush.
9818 * i386.md (movdqa): Fix typo.
9819 (sse2_cflush): Accept DImode addresses.
9820
9821 * xmmintrin.h (_mm_sqrt_sd): Accept two arguments.
9822 (_mm_max_sd): Fix pasto.
9823 (_mm_storeh_pd, _mm_storel_pd): Fix.
9824
9825 * i386.c (bdesc_comi): Fix to match specification.
9826 (ix86_expand_sse_comi): Emit the comparison properly.
9827 * i386.md (sse_comi, sse2_comi, sse_ucomi, sse2_ucomi):
9828 Do not use comparison operator.
9829 (vnmaskcmp): Fix template.
9830
9831 * xmmintrin.h (_mm_cvtps_pi16): Fix.
9832
3df5d99e
SP
98332002-10-19 Sebastian Pop <s.pop@laposte.net>
9834
9835 * dependence.c : Removed.
8bcefb43 9836 * Makefile.in : Remove dependence.o.
3df5d99e 9837
822eda12
JH
9838Sat Oct 19 10:46:52 CEST 2002 Jan Hubicka <jh@suse.cz>
9839
9840 * mmintrin.h (__m64): typedef it to v2si.
9841 (_mm_cvtsi32_si64, _mm_cvtsi32_si64_mm_sll_pi16,
9842 _mm_sll_pi32, _mm_sll_pi64, _mm_slli_pi64, _mm_sra_pi16,
9843 _mm_sra_pi32, _mm_srl_pi16, _mm_srl_pi32, _mm_srl_pi64,
9844 _mm_srli_pi64, _mm_and_si64, _mm_andnot_si64,
9845 _mm_or_si64, _mm_xor_si64): Add neccesary casts.
9846 * xmmintrin.h (_mm_setzero_si64): Likewise.
9847
9848 * i386.h (ALIGN_MODE_128): Update comment; add missing modes
9849 (SSE_REG_MODE_P, MMX_REG_MODE_P): New macros.
9850
9851 PR target/7693
9852 Patch by Shawn Wagner
9853 * mmintrin.h: Replace pi64 by si64.
9854
914a7297
DE
98552002-10-18 David Edelsohn <edelsohn@gnu.org>
9856
9857 * rs6000.md (movdf_hardfloat32): Order alternatives consistently.
9858 Use length of 4 not *.
9859 (movdf_hardfloat64): Same. Support DFmode moves to/from CTR/LR.
9860 (movdf_softfloat64): Likewise.
9861 (movdi_internal32): Use length of 4 not *.
9862 (movti_power): Same.
9863 (ctrsi, ctrdi): Same.
9864
4a7510cb
ZW
98652002-10-18 Zack Weinberg <zack@codesourcery.com>
9866
9867 * c-decl.c (start_decl): Point users of the old initialized-
9868 typedef extension at __typeof__.
9869
99c57613
RH
98702002-10-18 Richard Henderson <rth@redhat.com>
9871
9872 * real.c (cmp_significand_0, rtd_divmod, ten_to_mptwo): New.
9873 (real_to_decimal): Re-implement using the logic from the
9874 gcc 3.2 etoasc. Comment heavily.
9875 (div_significands): Simplify loop startup and comparison logic.
9876
483ab821
MM
98772002-10-18 Mark Mitchell <mark@codesourcery.com>
9878
9879 * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Default to NULL.
9880 (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Likewise.
9881 (TARGET_ASM_OUT): Add them.
9882 * target.h (asm_out): Add output_mi_thunk and
9883 output_mi_vcall_thunk.
9884 * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Rename to ...
9885 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
9886 * config/arm/arm-protos.h (arm_output_mi_thunk): Declare.
9887 * config/arm/arm.c (arm_output_mi_thunk): Define.
9888 * config/arm/arm.h (ASM_OUTPUT_MI_THUNK): Rename to ...
9889 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
9890 * config/cris/cris.h (ASM_OUTPUT_MI_THUNK): Rename to ...
9891 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
9892 * config/frv/frv.h (ASM_OUTPUT_MI_THUNK): Rename to ...
9893 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
9894 * config/i386/i386-protos.h (x86_output_mi_thunk): Adjust
9895 prototype.
9896 (x86_output_mi_vcall_thunk): Declare.
9897 * config/i386/i386.c (override_options): Clear
9898 output_mi_vcall_thunk in 64-bit mode.
9899 (ix86_fntype_regparm): New function.
9900 (ix86_return_pops_args): Use it.
9901 (ia32_this_parameter): New function.
9902 (x86_output_mi_vcall_thunk): New function.
9903 (x86_output_mi_thunk): Use it
9904 * config/i386/unix.h (TARGET_ASM_OUTPUT_MI_THUNK): Adjust.
9905 (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define.
9906 * config/i960/i960-protos.h (i960_output_mi_thunk): Declare.
9907 * config/i960/i960.c (i960_output_mi_thunk): New function.
9908 * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Adjust.
9909 * config/ia64/ia64-protos.h (ia64_output_mi_thunk): Declare.
9910 * config/ia64/ia64.c (ia64_output_mi_thunk): Define.
9911 * config/ia64/ia64.h (ASM_OUTPUT_MI_THUNK): Rename to ...
9912 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
9913 * config/m68k/m68k-protos.h (m68k_output_mi_thunk): New function.
9914 * config/m68k/linux.h (ASM_OUTPUT_MI_THUNK): Rename to ...
9915 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
9916 * config/m68k/netbsd-elf.h (ASM_OUTPUT_MI_THUNK): Rename to ...
9917 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
9918 * config/mmix/mmix.h (ASM_OUTPUT_MI_THUNK): Rename to ...
9919 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
9920 * config/pa/pa.h (ASM_OUTPUT_MI_THUNK): Rename to ...
9921 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
9922 * config/rs6000/sysv4.h (ASM_OUTPUT_MI_THUNK): Rename to ...
9923 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
9924 * config/s390/s390-protos.h (s390_output_mi_thunk): Declare.
9925 * config/s390/s390.c (s390_output_mi_thunk): Define.
9926 * config/s390/s390.h (ASM_OUTPUT_MI_THUNK): Rename to ...
9927 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
9928 * config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Rename to ...
9929 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
9930 * config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Rename to ...
9931 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
9932 * config/vax/vax-protos.h (vax_output_mi_thunk): Declare.
9933 * config/vax/vax.c (vax_output_mi_thunk): Define.
9934 * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Rename to ...
9935 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
9936 * doc/tm.texi: Adjust documentation.
4a7510cb 9937
90e021a0
JT
99382002-10-18 Jason Thorpe <thorpej@wasabisystems.com>
9939
4a7510cb
ZW
9940 * config/netbsd.h (NETBSD_ENABLE_EXECUTE_STACK): Define
9941 __enable_execute_stack function.
90e021a0
JT
9942 * config/alpha/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Define
9943 as NETBSD_ENABLE_EXECUTE_STACK.
9944 * config/i386/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
9945 * config/i386/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
9946 * config/i386/netbsd64.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
9947 * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
9948 * config/sparc/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
9949
5791cc29
JT
99502002-10-18 Jason Thorpe <thorpej@wasabisystems.com>
9951
9952 * config/i386/i386.c (x86_initialize_trampoline): Emit a call
9953 to __enable_execute_stack with the address of the trampoline
9954 if TRANSFER_FROM_TRAMPOLINE is defined.
9955 * config/i386/i386.h (TARGET_64BIT): Expand to a compile-time
9956 constant if building libgcc2.
9957
4977bab6
ZW
9958Thu Oct 17 17:40:05 CEST 2002 Jan Hubicka <jh@suse.cz>
9959
9960 * i386.c (pentium4_cost): Fix according to Intel recommendations.
9961 (ix86_memory_move_cost): Fix for 64bit compilation.
9962
7b35bba3
RS
99632002-10-17 Roger Sayle <roger@eyesopen.com>
9964
9965 * doc/c-tree.texi: Update description of COND_EXPR tree nodes.
9966
b991a865
GK
99672002-10-17 Geoffrey Keating <geoffk@apple.com>
9968
9969 * config/rs6000/rs6000.h (HARD_REGNO_MODE_OK): Allow arbitrary modes
9970 in CTR/LR/MQ.
9971 * config/rs6000/rs6000.md (movcc_internal1): Support CCmode moves
9972 to/from CTR/LR/MQ.
9973 (movsf_hardfloat): Support SFmode moves to/from CTR/LR/MQ.
9974 (movsf_softfloat): Likewise.
9975
fa870451
JJ
99762002-10-17 Janis Johnson <janis187@us.ibm.com>
9977
9978 * Makefile.in (site.exp): Add ALT_CXX_UNDER_TEST and COMPAT_OPTIONS.
9979
e31c2957
JT
99802002-10-17 Jason Thorpe <thorpej@wasabisystems.com>
9981
9982 * config/alpha/alpha.c (alpha_initialize_trampoline): Use
9983 tramp, not addr, to pass the trampoline address to
9984 __enable_execute_stack.
9985
48126a97
JH
9986Thu Oct 17 18:40:47 CEST 2002 Jan Hubicka <jh@suse.cz>
9987
9988 * mmintrin.h: Guard by __MMX__
9989 * xmmintrin.h: Guard by __SSE__
9990
9991 PR other/8062
9992 * xmmintrin.h (_MM_SHUFFLE2): New macro.
9993 (_mm_load*_?d): New functions.
9994 (_mm_set*_?d): New functions.
9995 (_mm_store*_?d): New functions.
9996
2ffa9932
JH
9997Wed Oct 16 15:01:29 CEST 2002 Jan Hubicka <jh@suse.cz>
9998
9999 Really commit patch announced at Oct 14
10000 PR c/7344
10001 * predict.c (can_predict_insn_p): New function.
10002 (estimate_probability): Avoid unnecesary work.
10003 (process_note_prediction): Likewise.
10004 * toplev.c (rest_of_compilation): Account early branch prediction pass
10005 as TV_BRANCH_PROB.
10006
ccc4bdea
JH
10007 PR other/8048
10008 Found by Ian Ollmann
10009 * xmmintrin.h (_mm_shuffle_pd): Fix typo.
10010 (_mm_load?_pd): Likewise.
10011 (_mm_store?_pd): Likewise.
10012
10013 PR target/7386
10014 * i386.c (builtin_description):Drop cmpg[te]s[sd].
10015 * xmmintrin.h (__mm_cmpg[te]_s[sd]): Rewrite using
10016 swapped alternative.
10017
10018 PR opt/7630
10019 * reload1.c (reload_inner_reg_of_subreg): New argument output;
10020 (push_reload): Update call.
10021
4db83639
RS
100222002-10-17 Richard Sandiford <rsandifo@redhat.com>
10023
10024 * config.gcc (mips*-*-*): Add OBJECT_FORMAT_ELF to $tm_defines
10025 if using mips/elf.h or mips/elf64.h.
10026 * config/mips/elf.h (OBJECT_FORMAT_ELF): Remove.
10027 * config/mips/elf64.h (OBJECT_FORMAT_ELF): Remove.
10028
f9dd72da
AH
100292002-10-16 Aldy Hernandez <aldyh@redhat.com>
10030
10031 * config/rs6000/rs6000.c (function_arg): Set inner mode of V1DI to
10032 SI.
10033
63a1ff86
UW
100342002-10-16 Ulrich Weigand <uweigand@de.ibm.com>
10035
10036 * config/s390/linux.h (ASM_DOUBLE, _ASM_OUTPUT_LONG): Remove.
10037 (LPREFIX): Likewise.
10038 (ASM_COMMENT_START, LOCAL_LABEL_PREFIX, ASM_FORMAT_PRIVATE_NAME,
10039 ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT,
10040 ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGNED_BSS,
10041 TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP,
10042 GLOBAL_ASM_OP, ASM_OUTPUT_MI_THUNK): Move to s390.h.
10043
4a7510cb
ZW
10044 * config/s390/s390.h (ASM_COMMENT_START, LOCAL_LABEL_PREFIX,
10045 ASM_FORMAT_PRIVATE_NAME, ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP,
10046 ASM_OUTPUT_ALIGNED_BSS, TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
63a1ff86
UW
10047 BSS_SECTION_ASM_OP): Move from linux.h.
10048 (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
10049 Also, use ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
10050
4a7510cb 10051 * config/s390/s390.c (s390_function_profiler): Use
63a1ff86
UW
10052 ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
10053
4977bab6
ZW
100542002-10-15 Eric Christopher <echristo@redhat.com>
10055
10056 * stor-layout.c (layout_type): Call GET_MODE_BITSIZE once.
10057 * java/parse.y (obtain_incomplete_type): Make pointer
10058 ptr_mode.
10059
da6eec72
RH
100602002-10-15 Richard Henderson <rth@redhat.com>
10061
10062 * real.c (real_to_decimal): Accept BUF_SIZE and CROP_TRAILING_ZEROS
10063 as arguments. Bound DIGITS by the available buffer size.
10064 (real_to_hexadecimal): Likewise.
10065 * real.h (real_to_decimal, real_to_hexadecimal): Update prototypes.
10066 (REAL_VALUE_TO_DECIMAL): Remove.
10067 * c-common.c, c-pretty-print.c, print-rtl.c, print-tree.c,
10068 sched-vis.c, config/arc/arc.c, config/c4x/c4x.c, config/fr30/fr30.c,
4a7510cb 10069 config/i370/i370.h, config/i386/i386.c, config/i960/i960.c,
da6eec72
RH
10070 config/ip2k/ip2k.c, config/m32r/m32r.c, config/m68hc11/m68hc11.c,
10071 config/m68k/hp320.h, config/m68k/m68k.h, config/m68k/sun2o4.h,
4a7510cb 10072 config/m68k/sun3.h, config/mips/mips.c, config/ns32k/ns32k.c,
da6eec72
RH
10073 config/pdp11/pdp11.h, config/vax/vax.h: Update all callers to
10074 use real_to_decimal directly, and with the proper arguments.
10075 * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Remove.
10076
c15c18c5
JW
100772002-10-15 Jim Wilson <wilson@redhat.com>
10078
10079 * reload1.c (merge_assigned_reloads): After converting overlapping
10080 reloads to RELOAD_OTHER, abort if there are now conflicting reloads.
10081
10082 * config/i386/i386.md (adddi3_1): Add call to ix86_binary_operator_ok.
10083
74f6d071
JH
10084Tue Oct 15 22:08:35 CEST 2002 Jan Hubicka <jh@suse.cz>
10085
10086 * expr.c (do_tablejump): Fix typo in my previous commit.
10087
a2ee89d8
RS
100882002-10-15 Richard Sandiford <rsandifo@redhat.com>
10089
10090 * config/mips/vr.h (DRIVER_SELF_SPECS): Change %<mgp32 to %{<mgp32}.
10091
aee4e0db
UW
100922002-10-15 Ulrich Weigand <uweigand@de.ibm.com>
10093
10094 * config/s390/s390.c (s390_split_branches): Add return
10095 value. Add parameters TEMP_REG and TEMP_USED. Use unspec 104.
10096
10097 (find_base_register_in_addr): New function.
10098 (find_base_register_ref): New function.
10099 (replace_base_register_ref): New function.
10100
10101 (struct constant_pool): Add members pool_insn, insns, and anchor.
10102 Remove member last_insn.
10103 (s390_start_pool): Initialize them.
4a7510cb 10104 (s390_end_pool): Emit pool placeholder insn.
aee4e0db
UW
10105 (s390_add_pool_insn): New function.
10106 (s390_find_pool): Use insns bitmap instead of addresses.
10107 (s390_dump_pool): Replace placeholder insn. Emit anchor.
10108 Replace unspec 104 by local-pool-relative references.
10109 (s390_output_constant_pool): Output anchor label if required.
10110 (s390_output_symbolic_const): Handle unspec 104 and 105.
10111 (s390_add_pool): Remove, replace by ...
10112 (s390_add_constant, s390_find_constant): ... these new functions.
10113 (s390_add_anchor): New function.
10114
10115 (s390_chunkify_pool): Delete, replace by ...
4a7510cb 10116 (s390_chunkify_start, s390_chunkify_finish,
aee4e0db
UW
10117 s390_chunkify_cancel): ... these new functions.
10118 (s390_optimize_prolog): Add parameter TEMP_REGNO.
10119 Recompute register live data for special registers.
10120 (s390_fixup_clobbered_return_reg): New function.
10121 (s390_machine_dependent_reorg): Rewrite to use new
10122 s390_chunkify_... routines.
10123
10124 config/s390/s390.md ("reload_base"): Rename to ...
10125 ("reload_base_31"): ... this.
10126 ("reload_base_64"): New insn.
10127 ("reload_base2"): Remove.
10128 ("reload_anchor"): New insn.
10129 ("pool"): New insn.
10130
10131 s390.c (s390_pool_overflow): Remove.
10132 s390.h (s390_pool_overflow): Likewise.
10133 s390.md ("cjump", "icjump", "doloop_si"): Remove s390_pool_overflow.
10134
c034672a
R
10135Tue Oct 15 16:51:04 2002 J"orn Rennecke <joern.rennecke@superh.com>
10136
10137 * sh.md (movv8qi_i+2): Don't split if source is -1.
10138
b8db17af
JJ
101392002-10-15 Janis Johnson <janis187@us.ibm.com>
10140
10141 * doc/install.texi: Formatting changes for conformance to HTML 4.01.
10142
2d34c587
UW
101432002-10-15 Ulrich Weigand <uweigand@de.ibm.com>
10144
10145 PR opt/7409
10146 * loop.c (loop_regs_scan): Mark registers used for function
10147 argument passing as MAY_NOT_OPTIMIZE.
10148
4977bab6
ZW
10149Mon Oct 14 19:22:19 CEST 2002 Jan Hubicka <jh@suse.cz>
10150
10151 * gcov-io.h (gcov_info): Fix type.
10152 * profile.c (create_profiler): Fix type mismatch.
10153
1877be45
JH
10154Mon Oct 14 20:33:12 CEST 2002 Jan Hubicka <jh@suse.cz>
10155
10156 * i386.md (movv2di_internal): New pattern.
10157 (movv2df_internal, movv8hi_internal, movv16qi_internal): Fix predicate.
10158 (movv2di): New expander.
10159 * i386.c (ix86_preferred_reload_class): Return NO_REGS for vector operands.
10160
10161 * i386.c (ix86_expand_timode_binop_builtin): Delete.
10162 (builtin_description): Add SSE1 logicals; rename SSE2 logicals.
10163 (ix86_init_mmx_sse_builtins): Kill SSE1 logicals.
10164 (ix86_expand_builtin): Likewise.
10165 * i386.h (sse_andti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
4a7510cb 10166 sse_andti3,
1877be45 10167 sse_andnti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
4a7510cb 10168 sse_andnti3,
1877be45 10169 sse_orti4_df_1, sse_orti3_df_2, sse_orti3_sf_1, sse_orti3_sf_2,
4a7510cb 10170 sse_orti3,
1877be45 10171 sse_xorti4_df_1, sse_xorti3_df_2, sse_xorti3_sf_1, sse_xorti3_sf_2,
4a7510cb 10172 sse_xorti3): Kill.
1877be45
JH
10173 (sse_andv4sf3, sse_andnv4sf3, sse_orv2df3, sse_xorv2df3, sse_andv2df3,
10174 sse_andnv2df3, sse_orv2df3, sse_xorv2df3): New expanders.
10175 (*sse_andv4sf3, *sse_andnv2df3, *sse_orv4sf3, *sse_xorv4sf3, *sse_andv2df3,
10176 *sse_andnv2df3, *sse_orv2df3, *sse_xorv2df3): New patterns.
10177 (*sse_andsf3, *sse_andndf3, *sse_ordf3, *sse_xordf3, *sse_anddf3,
10178 *sse_andndf3, *sse_orv2df3, *sse_xorv2df3): New patterns.
10179
10180 * xmmintrin.h (__m128i): Define as __v2di.
10181
1877be45
JH
10182 PR c++/6419
10183 (expand_expr): Use DECL_RTL_SET_P.
10184
dbf4f1a2
RS
101852002-10-14 Roger Sayle <roger@eyesopen.com>
10186
10187 * combine.c (simplify_set): Treat MODE_CC registers like cc0.
10188
4f770e7b
RS
101892002-10-14 Roger Sayle <roger@eyesopen.com>
10190 Zack Weinberg <zack@codesourcery.com>
10191
10192 * config/i386/i386.c (k6_cost): Correct typo.
10193
a3b88570
MM
101942002-10-14 Mark Mitchell <mark@codesourcery.com>
10195
10196 PR optimization/6631
10197 * alias.c (objects_must_conflict_p): Check honor_readonly when
10198 examining TYPE_READONLY.
10199 * function.c (assign_stack_temp_for_type): Likewise.
10200
f5204e6c
FH
102012002-10-14 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
10202
10203 * config/alpha/alpha.md (extendsidi2_nofix, extendsidi2_fix):
10204 Swap zero extension arguments.
10205 (umaxhi3): Fix instruction class.
10206 PR target/7211
10207 (prefetch): Fix prefetch instructions.
10208 PR target/7238
10209 (pkwb): Fix output constraint.
10210
40e6bc7e
AO
102112002-10-14 Alexandre Oliva <aoliva@redhat.com>
10212
10213 * config/mips/mips.c (print_operand): Increase buffer size for
10214 real numbers.
10215
f4e3e618
RH
102162002-10-14 Richard Henderson <rth@redhat.com>
10217
10218 PR opt/8165
10219 * gcse.c (adjust_libcall_notes): Revert last change.
10220 * simplify-rtx.c (simplify_replace_rtx): Handle LO_SUM.
10221
3eb429b2
AH
102222002-10-14 Andrew Haley <aph@redhat.com>
10223
10224 * tree-inline.c (remap_block): All local class initialization
10225 flags go in the outermost scope.
10226 (expand_call_inline): Call java_inlining_map_static_initializers.
10227 (expand_call_inline): Call java_inlining_merge_static_initializers.
10228 * java/lang.c (merge_init_test_initialization): New.
10229 (java_inlining_merge_static_initializers): New.
10230 (inline_init_test_initialization): New.
10231 (java_inlining_map_static_initializers): New.
10232
10233 * tree-inline.c (expand_call_inline): Convert retvar to expected
10234 type.
10235
34146b94
GS
102362002-10-14 Graham Stott <graham.stott@btinternet.com>
10237
10238 * stmt.c (decl_conflicts_with_clobbers_p): Add REG_P check.
10239
3a840c93
AH
102402002-10-14 Aldy Hernandez <aldyh@redhat.com>
10241
10242 * stmt.c: Fix typo in comment.
10243
7457a126
R
10244Mon Oct 14 11:35:49 2002 J"orn Rennecke <joern.rennecke@superh.com>
10245
10246 * c-common.c (c_common_type_for_mode): Add V2HImode case.
10247 * tree.c (build_common_tree_nodes_2): Initialize
10248 unsigned_V2HI_type_node and V2HI_type_node.
10249 * tree.h (enum tree_index): Add TI_UV2HI_TYPE and TI_V2HI_TYPE.
10250 (unsigned_V2HI_type_node, V2HI_type_node): Define.
10251
0d1c5774
JJ
102522002-10-14 Jakub Jelinek <jakub@redhat.com>
10253
10254 * config/i386/i386.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP):
10255 Handle TARGET_64BIT.
10256
adadd183
RS
102572002-10-14 Richard Sandiford <rsandifo@redhat.com>
10258
10259 * config/mips/vr.h (DRIVER_SELF_SPECS): Define.
10260 * config/mips/t-vr (MULTILIB_OPTIONS): Remove mlong32.
10261 (MULTILIB_DIRNAMES): Remove long32.
10262 (MULTILIB_EXCEPTIONS): Don't build -mabi=32 -mgp32 multilibs.
10263 (MULTILIB_REDUNDANT_DIRS): Remove.
10264
db36994b
RS
102652002-10-14 Richard Sandiford <rsandifo@redhat.com>
10266
10267 * doc/tm.texi (DRIVER_SELF_SPECS): Document.
10268 * gcc.c (driver_self_specs): New variable.
10269 (do_self_spec): New function.
10270 (main): Use it to process driver_self_specs.
10271
11e5489b
RH
102722002-10-13 Richard Henderson <rth@redhat.com>
10273
4977bab6
ZW
10274 * config/i386/i386.c (ix86_function_ok_for_sibcall): Reject
10275 indirect sibcalls when regparm >= 3.
10276
10277 * config/i386/i386.c (sibcall_insn_operand): New.
10278 * config/i386/i386.h (PREDICATE_CODES): Update.
10279 * config/i386/i386-protos.h: Update.
10280 * config/i386/i386.md (sibcall_1, sibcall_value_1): Use it.
10281
11e5489b
RH
10282 * rtl.c (shallow_copy_rtx): Use memcpy for the entire node.
10283
4977bab6
ZW
102842002-10-12 Roger Sayle <roger@eyesopen.com>
10285
10286 * simplify-rtx.c (simplify_binary_operation) [ASHIFTRT]: Optimize
10287 arithmetic right shifts of ~0 during RTL simplifications.
10288
4ca1256f
NB
102892002-10-12 Neil Booth <neil@daikokuya.co.uk>
10290
10291 PR preprocessor/7862
10292 PR preprocessor/8190
10293 * gcc.c (cpp_unique_options): Don't delete .d files.
10294 Remove stray whitespace.
10295
cf860dc2
NS
102962002-10-12 Naohiko Shimizu <pshimizu@fa2.so-net.ne.jp>
10297
10298 * pdp11.h (ASM_OUTPUT_SKIP): Add preceding 0 for octal constant.
10299 (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
10300 * pdp11.c (pdp11_output_function_prologue): 0%o -> %#o.
10301 (pdp11_output_function_epilogue, output_ascii): Likewise.
10302 (output_addr_const_pdp11): Likewise.
10303 * pdp11.md (movdi): Use offsetable memory for floating store.
10304 (lshrsi3, negsi2): Delete irrelevant comment.
10305
4977bab6
ZW
103062002-10-11 Andreas Bauer <baueran@in.tum.de>
10307
10308 * config/i386/i386.c (ix86_function_ok_for_sibcall): Allow
10309 indirect calls to be sibcall optimized.
10310 * config/i386/i386.md (sibcall_1): New.
10311 (call_1): Add no-sibcalls condition.
10312 (sibcall_value_1): New.
10313 (call_value_1): Add no-sibcalls condition.
10314
103152002-10-11 Eric Christopher <echristo@redhat.com>
10316
10317 * output.h (default_valid_pointer_mode): Declare.
10318 * varasm.c (default_valid_pointer_mode): Define.
10319 * target-def.h (TARGET_VALID_POINTER_MODE): Use.
10320 * target.h: Ditto.
10321 * tree.c (build_pointer_type_for_mode): New function.
10322 (build_pointer_type): Use.
10323 (build_reference_type_for_mode): New function.
10324 (build_reference_type): Use.
10325 * tree.h: Declare new functions.
10326 * c-common.c (handle_mode_attribute): Use new functions, check
10327 for type.
10328 * stor-layout.c (layout_type): Depend on machine mode for
10329 REFERENCE_TYPE and POINTER_TYPE.
10330 * dwarf2out.c (simple_type_size_in_bits): Move upward in file.
10331 (modified_type_die): Use instead of PTR_SIZE for POINTER_TYPE
10332 and REFERENCE_TYPE.
10333 * config/mips/mips.c (mips_valid_pointer_mode): New function.
10334 (TARGET_VALID_POINTER_MODE): Use and define.
10335 * config/mips/mips-protos.h (mips_valid_pointer_mode): Declare.
10336
5dd78e9a
GK
103372002-10-11 Geoffrey Keating <geoffk@apple.com>
10338
10339 * cse.c (mention_regs): Set SUBREG_TICKED to the register number,
10340 not the address of the REG.
10341 (struct cse_reg_info): Make subreg_ticked unsigned.
10342
8eb32f94
JJ
103432002-10-11 Janis Johnson <janis187@us.ibm.com>
10344
10345 * doc/compat.texi: Add info about C++ libraries.
10346
e197b6fc
RH
103472002-10-11 Richard Henderson <rth@redhat.com>
10348
10349 PR opt/8165
10350 * gcse.c (adjust_libcall_notes): Also adjust notes for INSN.
10351
a0bed689
JDA
103522002-10-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
10353
10354 * cfganal.c (dfs_enumerate_from): Use PARAMS.
10355 * genautomata.c (output_insn_code_cases): Likewise.
10356 * real.c (real_format): Likewise.
10357 * tree.c (tree_size): Revise expressions using TREE_CODE_LENGTH to
10358 ensure value is promoted before doing subtraction.
10359
db655634
JH
10360Fri Oct 11 22:22:38 CEST 2002 Jan Hubicka <jh@suse.cz>
10361
10362 * calls.c (expand_call): Simplify noreturn call.
10363
10364 PR c/7344
10365 * cfgbuild.c (make_edges): Create edge cache when we do have
10366 large jumptable.
1877be45 10367 * expr.c (do_tablejump): Note size of maximal jumptable.
db655634
JH
10368 * function.c (prepare_function_start): Zero out size.
10369 * function.h (function): Add max_jumptable_ents.
10370
10371 * cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
10372
750afc12
R
10373Fri Oct 11 12:34:33 2002 J"orn Rennecke <joern.rennecke@superh.com>
10374
10375 * sh.md (movv8qi_i+2): For V8QI destinations, generate V4HI
10376 register for mperm_w operation.
10377
0488fa7c
JR
10378Fri Oct 11 10:56:17 2002 J"orn Rennecke <joern.rennecke@superh.com>
10379
10380 * emit-rtl.c (gen_lowpart_common): When asked to make a vector from
10381 an integer, use simplify_gen_subreg.
10382
4977bab6
ZW
103832002-10-10 Diego Novillo <dnovillo@redhat.com>
10384
10385 * calls.c (flags_from_decl_or_type): Make extern.
10386 (ECF_*): Move ...
10387 * rtl.h (ECF_*): ... here.
10388 (flags_from_decl_or_type): Declare.
10389
103902002-10-10 Roger Sayle <roger@eyesopen.com>
10391 Nathan Sidwell <nathan@codesourcery.com>
10392
10393 * fold-const.c (fold) [RSHIFT_EXPR]: Optimize arithmetic right
10394 shifts of the form -1 >> x.
10395
10396Thu Oct 10 16:52:55 CEST 2002 Jan Hubicka <jh@suse.cz>
10397
10398 * cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
10399
349e9f4b
AH
104002002-10-10 Aldy Hernandez <aldyh@redhat.com>
10401
10402 * extend.texi (Vector Extensions): Remove comment about single
10403 element vectors.
10404
7bdfd72e
KG
104052002-10-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10406
10407 * fold-const.c (size_htab_hash): Use htab_hash_pointer.
10408 * function.c (insns_for_mem_hash): Likewise.
10409 * varasm.c (STRHASH): Likewise.
10410
46081bb3
SH
104112002-10-10 Stuart Hastings <stuart@apple.com>
10412
10413 * cse.c (struct cse_reg_info): Add subreg_ticked.
10414 (SUBREG_TICKED): New.
10415 (get_cse_reg_info): Initialize SUBREG_TICKED.
10416 (mention_regs): Use it.
10417 (invalidate): Set SUBREG_TICKED.
10418 (invalidate_for_call): Likewise.
10419 (addr_affects_sp_p): Likewise.
10420
9785f1d9
JJ
104212002-10-10 Jakub Jelinek <jakub@redhat.com>
10422
10423 * config/i386/i386.md (tls_local_dynamic_base): Put pic reg
10424 into proper operand.
10425
b6878188
DC
104262002-10-10 Denis Chertykov <denisc@overta.ru>
10427
10428 * config/ip2k/ip2k.c (function_epilogue): Optimize stack
10429 deallocation.
10430 * config/ip2k/libgcc.S: Combine routines used by function
10431 epilogue.
10432
f930bfd0
JW
104332002-10-10 Jim Wilson <wilson@redhat.com>
10434
10435 * cse.c (fold_rtx): Don't perform associative optimization for DIV and
10436 UDIV.
10437
5f5d5417
DE
104382002-10-10 David Edelsohn <edelsohn@gnu.org>
10439
10440 * config/rs6000/aix52.h: New file.
10441 * config/rs6000/t-aix52: New File.
10442 * config.gcc (rs6000-ibm-aix5.1.*): New entry.
10443 (rs6000-ibm-aix[56789].*): Default to AIX 5.2.
10444
7eafc329
JH
10445Thu Oct 10 19:37:54 CEST 2002 Jan Hubicka <jh@suse.cz>
10446
10447 PR target/5610
10448 * invoke.texi (-msse-math): Kill
10449 (-msse): Add note to mfpmath=sse.
10450
b105d6da
JH
10451Thu Oct 10 17:08:30 CEST 2002 Jan Hubicka <jh@suse.cz>
10452
10453 PR target/7723
10454 * i386.c (ix86_expand_vector_move): Do not generate const0->mem moves.
10455
5febdf0d
NB
104562002-10-10 Neil Booth <neil@daikokuya.co.uk>
10457
10458 PR preprocessor/8179
10459 * gcc.c (cpp_options): Add {ansi}, move %{m*} to same location
10460 as cc1_options.
10461 (default_compilers): Pass debug options when preprocessing
10462 stdin.
10463
7db40b5f
RH
104642002-10-06 Richard Henderson <rth@redhat.com>
10465
10466 * toplev.c (rest_of_compilation): Revert opt/2960 change.
10467
4977bab6
ZW
10468Wed Oct 9 21:18:43 CEST 2002 Jan Hubicka <jh@suse.cz>
10469
10470 * i386.c (*_cost): Add branch costs.
10471 (override_options): set ix86_branch_cost.
10472 (ix86_expand_int_movcc): Use BRANCH_COST.
10473 * i386.h (costs): Add branch_cost.
10474
95f79357
ZW
104752002-10-09 Zack Weinberg <zack@codesourcery.com>
10476
10477 PR c/7353
10478 * c-decl.c (start_decl): Unconditionally issue error for
10479 'typedef foo = bar'.
10480 (finish_decl): Remove special case for TYPE_DECL with initializer.
10481
10482 * doc/extend.texi: Delete "Naming Types" section. Change all
10483 cross-references to that section to refer to "Typeof" instead.
10484 Add the useful safe-max()-macro example from "Naming Types" to
10485 "Typeof", rewritten using that extension. Add some compatibility
10486 notes to "Typeof."
10487
44a5565d
KG
104882002-10-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10489
10490 * loop.c: Revert 2002-08-15 change.
10491 (LOOP_REGNO_NREGS): Ensure type is int.
10492
a2419b96
DE
104932002-10-09 David Edelsohn <edelsohn@gnu.org>
10494
10495 * config/rs6000/rs6000.md (extenddftf2): Change to define_insn
10496 which copies first FPR and clears second.
10497 (extendsftf2): Same.
10498 (floatditf2): Fix typo.
10499 (floatsitf2): Same.
10500 (fix_trunctfdi2): Same.
10501 (fix_trunctfsi2): Same.
10502
fb7e6024
KG
105032002-10-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10504
10505 * conflict.c (arc_hash): Change return type to hashval_t.
10506 * cselib.c (get_value_hash): Likewise.
10507 * genautomata.c (automaton_decl_hash, insn_decl_hash, decl_hash,
10508 state_hash, automata_list_hash): Likewise.
10509 * read-rtl.c (def_hash): Likewise.
10510 * tree.c (type_hash_hash): Likewise.
10511
36f7e964
AH
105122002-10-08 Aldy Hernandez <aldyh@redhat.com>
10513
10514 * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Call
10515 prologue_epilogue_contains instead of using REG_MAYBE_DEAD notes.
10516
e3c62520
R
10517Wed Oct 9 15:54:49 2002 J"orn Rennecke <joern.rennecke@superh.com>
10518
10519 * sh.md (ffssi2): Fix emitted code.
10520
a3745024
UW
105212002-10-09 Ulrich Weigand <uweigand@de.ibm.com>
10522
10523 * cse.c (insn_live_p): Pass insn pattern, not full insn
10524 to may_trap_p.
10525
5cc67323
NB
105262002-10-09 Neil Booth <neil@daikokuya.co.uk>
10527
10528 * cppmacro.c (paste_tokens): Only allow / to paste with =.
10529
f5264b52
DE
105302002-10-09 David Edelsohn <edelsohn@gnu.org>
10531
10532 * config/rs6000/rs6000.md (movdf splitter): Use gen_int_mode on
10533 64-bit hosts.
10534 (movtf_internal): Reference correct displacement for second value
10535 in memory.
10536 (movtf splitter): Correct generation of constants in 64-bit mode.
10537
cef1c1ba
AM
105382002-10-09 Alan Modra <amodra@bigpond.net.au>
10539
10540 * libgcc2.c (__floatdisf): Properly cure double rounding.
10541
8d15eebc
GDR
105422002-10-09 Gabriel Dos Reis <gdr@integrable-solutions.net>
10543
10544 * c-common.c (cb_register_builtins): Define __WCHAR_MAX__.
10545 * doc/cpp.texi (Common Predefined Macros): Document.
10546
87ec8de9
GDR
105472002-10-09 Gabriel Dos Reis <gdr@integrable-solutions.net>
10548
10549 PR doc/7484
10550 * doc/invoke.texi (Option Summary): List
10551 -Wmissing-declarations as a C only option.
10552
4977bab6
ZW
105532002-10-08 Roger Sayle <roger@eyesopen.com>
10554
10555 * fold-const.c (fold) [LROTATE_EXPR, RROTATE_EXPR]: Optimize
10556 left and right rotates of ~0, i.e. integer_all_onesp (arg0).
10557 [LSHIFT_EXPR, RSHIFT_EXPR]: Optimize shifts and rotates of zero.
10558
10559Tue Oct 8 01:24:19 CEST 2002 Jan Hubicka <jh@suse.cz>
10560
10561 * i386.c (x86_sse_partial_reg_dependency, x86_sse_partial_regs,
10562 x86_sse_typeless_stores, x86_sse_load0_by_pxor): New global
10563 variables.
10564 (safe_vector_operand): Update sse_clrv4sf call.
10565 (ix86_expand_buildin): Likewise
10566 * i386.h (x86_sse_partial_reg_dependency, x86_sse_partial_regs,
10567 x86_sse_typeless_stores, x86_sse_load0_by_pxor): Declare.
10568 (TARGET_SSE_PARTIAL_REG_DEPENDENCY, TARGET_SSE_PARTIAL_REGS,
10569 TARGET_SSE_TYPELESS_STORES, TARGET_SSE_TYPELESS_LOAD0): New
10570 macros.
10571 * i386.md (movsf*, movdf*, movti, movv4sf, movv2df, movv16qi, movv8hi,
10572 movv4si): Obey the new flags.
10573 (floatsi2sf, floatdi2sf, truncatedf2sf): Emit extra load of 0 to avoid
10574 reformating penalty.
10575 (anddf, cmov patterns): Avoid reformating by first converting.
10576 (sse_cvtsd2ss): Fix predicate.
10577 (sse2_clrti): Fix mode,
10578 (sse_clrv4sf): Avoid unspec.
10579
fb7d9c35
JJ
105802002-10-08 Jakub Jelinek <jakub@redhat.com>
10581
10582 * config/sparc/t-linux64 (MULTILIB_OPTIONS): Remove
10583 mno-app-regs|mcmodel=medany.
10584 (MULTILIB_DIRNAMES, MULTILIB_OSDIRNAMES): Remove alt.
10585 (MULTILIB_EXCEPTIONS, MULTILIB_EXCLUSIONS, MULTILIB_MATCHES): Remove.
10586 (CRTSTUFF_T_CFLAGS): Define.
10587
11f3e4c7
RS
105882002-10-08 Roger Sayle <roger@eyesopen.com>
10589
10590 PR target/8087
10591 * simplify-rtx.c (avoid_constant_pool_reference): Allow constant
10592 pool references that are constructed using LO_SUM.
10593
bf52f899
NS
105942002-10-08 Nathan Sidwell <nathan@codesourcery.com>
10595
10596 * c-opts.c (c_common_decode_option): Add warn_strict_aliasing to
10597 -Wall.
10598 * c-typeck.c (build_c_cast): Use warn_strict_aliasing, tweak
10599 message.
10600 * flags.h (warn_strict_aliasing): Declare.
10601 * toplev.c (warn_strict_aliasing): Define.
10602 (lang_independent_options): Add it.
10603 * doc/invoke.texi (-Wstrict-aliasing): Document it.
10604
36624850
ZW
106052002-10-08 Zack Weinberg <zack@codesourcery.com>
10606
10607 * system.h (GCCBUGURL): Delete.
10608 * version.c (bug_report_url): New. Add commentary about
10609 modifying both these strings in modified distributions.
10610 * version.h: Declare bug_report_url.
10611
10612 * diagnostic.c, gcc.c, gcov.c: Globally replace GCCBUGURL with
10613 bug_report_url.
10614
218145d6
NC
106152002-10-08 Nick Clifton <nickc@redhat.com>
10616
10617 * config/rs6000/spe.h (__ev_set_acc_u64): Use __ev_create_u64 to
10618 convert uint64_t into __ev64_opaque__.
10619 (__ev_set_acc_s64): Likewise, but using signed types.
10620
bb02f6ed
UW
106212002-10-08 Ulrich Weigand <uweigand@de.ibm.com>
10622
10623 * config/s390/s390.md ("*doloop_si_long"): Add missing operand.
10624 ("*doloop_di_long"): Likewise.
10625
4fdbcfb2
JH
10626Tue Oct 8 16:50:10 CEST 2002 Jan Hubicka <jh@suse.cz>
10627
10628 * print-rtl.c (print_rtx): Increase buffer size for real numbers.
10629
e80f2609
RS
106302002-10-08 Richard Sandiford <rsandifo@redhat.com>
10631
10632 * config/mips/mips.md (define_attr cpu): Add r4111.
10633
36624850 106342002-10-08 Anthony Green <green@redhat.com>
4213a3b6 10635
36624850 10636 * bitmap.c (bitmap_equal_p): Clear all bitmap_head fields.
4213a3b6 10637
25009e02
MH
106382002-10-08 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
10639
10640 * config/c4x/c4x.c (c4x_print_operand): Enlarge buffer
10641 for REAL_VALUE_TO_DECIMAL output.
10642
4977bab6
ZW
106432002-10-07 Richard Henderson <rth@redhat.com>
10644
10645 * cse.c (fixed_base_plus_p): Turn FIXED_BASE_PLUS_P into a
10646 function; cleanup PLUS case by using recursion. Update all users.
10647 (NONZERO_BASE_PLUS_P): Remove.
10648 (find_comparison_args): Use rtx_addr_can_trap_p instead.
10649 (fold_rtx): Use nonzero_address_p.
10650 * rtl.h (nonzero_address_p): Declare.
10651 * rtlanal.c (rtx_varies_p): Handle ADDRESSOF.
10652 (rtx_addr_can_trap_p): Likewise.
10653 (nonzero_address_p): New.
10654 * simplify-rtx.c (NONZERO_BASE_PLUS_P): Remove.
10655 (simplify_relational_operation): Use nonzero_address_p.
10656
fcce224d
DE
106572002-10-07 David Edelsohn <edelsohn@gnu.org>
10658
10659 * config/rs6000/rs6000.c (rs6000_override_options): Set
10660 real_format_for_mode for IBM extended format, if enabled.
10661 (easy_fp_constant): Add TFmode.
10662 (rs6000_legitimize_address): Add TFmode.
10663 (rs6000_legitimate_address): Same.
10664 (function_arg_advance): TFmode uses two FPRs.
10665 (rs6000_emit_prologue): Fix warning.
10666 (rs6000_output_function_epilogue): Add TFmode.
10667 (output_toc): Add TFmode.
10668 * rs6000.h (SLOW_UNALIGNED_ACCESS): Add TFmode.
10669 (LEGITIMATE_OFFSET_ADDRESS_P): Add TFmode.
10670 * rs6000.md (movtf splitter): Load TFmode constant.
10671
dad482e6 106722002-10-07 Dale Johannesen <dalej@apple.com>
fcce224d 10673
dad482e6
DJ
10674 * rtl.h: Add NOTE_PRECONDITIONED.
10675 * unroll.c: Set it.
10676 * loop.c: Set loop_info->preconditioned from it.
10677 * doloop.c: Permit doloop treatment when loop_info->preconditoned.
10678
de3beb7c
RH
106792002-10-07 Richard Henderson <rth@redhat.com>
10680
10681 * config/i960/i960.c (i960_setup_incoming_varargs): Create a
10682 new rtx for comparing the argument pointer against zero.
10683 (i960_va_start): Similarly.
10684
87cb2a87
RH
106852002-10-07 Richard Henderson <rth@redhat.com>
10686
10687 * config/i960/i960.md (*): Use TFmode, not XFmode.
10688 * config/i960/i960.c (*): Likewise.
10689 (i960_arg_size_and_align): Remove XFmode alignment hack.
10690 (i960_round_align): Merge code from ROUND_TYPE_ALIGN.
10691 * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Use 128, not 96.
10692 (MAX_LONG_DOUBLE_TYPE_SIZE): Likewise.
10693 (DATA_ALIGNMENT, ROUND_TYPE_SIZE): Remove.
10694
5ef38d2a
RH
106952002-10-07 Richard Henderson <rth@redhat.com>
10696
10697 * config/fp-bit.c (EXTENDED_FLOAT_STUBS): Flush out all XF/TFmode
10698 entry points; use void return value and argument list.
10699
4977bab6
ZW
107002002-10-06 Andreas Bauer <baueran@in.tum.de>
10701
10702 * calls.c (expand_call): Fix function-is-volatile check.
10703
e7f9979a
NS
107042002-10-05 Naohiko Shimizu <nshimizu@keyaki.cc.u-tokai.ac.jp>
10705
10706 * t-pdp11: Add MULTILIB support for msoft-float.
10707 * pdp11.h (LEGITIMATE_CONSTANT_P): Fix soft-float case.
10708
10709 * t-pdp11: Add LIB2FUNCS_EXTRA.
36624850 10710 * pdp11.c (pdp11_output_function_prologue): Restrict offset to 16bit,
e7f9979a
NS
10711 add preceding 0 to the octal constant, rename 'fp' to 'r5', rename
10712 'fldd' to 'ldd', rename 'fstd' to 'std'.
10713 (pdp11_output_function_epilogue): Likewise.
10714 (output_move_quad): Make the comment gas compatible.
10715 (output_ascii): Add preceding 0 to the octal constant.
10716 (print_operand_address): Add pre_modify, post_modify.
10717 (output_addr_const_pdp11): Add preceding 0 to the octal constant.
10718 * pdp11.h (GO_IF_LEGITIMATE_ADDRESS) : Add 'movb' pre_modify case
36624850 10719 with the indication of Paul Koning.
e7f9979a
NS
10720 (PRINT_OPERAND): Fix floating constant.
10721 * pdp11.md (movdi): Restrict matching pattern.
10722 (movqi): Generalize the matching pattern.
10723 (movdf): Restrict matching pattern.
10724 (zero_extendqihi2): Change constant representation.
10725 (floatsidf2): Fix wrong operands.
10726 (addqi3): Fix wrong instruction name.
10727 (subqi3): Fix wrong instruction name.
10728 (andsi3, andhi3, andqi3): Simplify and fix to use 'bic'.
10729 (xorsi3): Fix wrong insn.
10730 (one_cmplqi2): Add two operand pattern.
10731 (lsrsi3): New.
10732 (negsi2): New.
10733 (call): Add register indirect case.
10734 (mod): Fix wrong subreg.
10735
a9b6f1e7 107362002-10-06 Eric Botcazou <ebotcazou@libertysurf.fr>
36624850 10737 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
4ef7870a
EB
10738
10739 PR c/7411
10740 * expr.c (expand_expr) [PLUS]: Simplify after the operands
10741 have been expanded in EXPAND_NORMAL mode.
10742
a2900460
RH
107432002-10-06 Richard Henderson <rth@redhat.com>
10744
10745 * config/rs6000/rs6000.md (load_toc_v4_PIC_2): Fix base constraint.
10746
ff025ab9
RH
107472002-10-06 Richard Henderson <rth@redhat.com>
10748
10749 PR optimization/2960
10750 * toplev.c (rest_of_compilation): Don't copy_loop_headers if
10751 optimize_size.
10752
48b80d93
AO
107532002-10-06 Alexandre Oliva <aoliva@redhat.com>
10754
10755 * config/mips/mips.h (SIZE_TYPE, PTRDIFF_TYPE): Override
10756 previously definitions.
10757
7c7c549e
FCE
107582002-10-06 Frank Ch. Eigler <fche@redhat.com>
10759
10760 * cppinit.c (init_standard_includes, parse_option): Use strncmp.
10761 * c-opts.c (find_opt): Similarly.
10762
4977bab6
ZW
10763Sat Oct 5 22:48:06 CEST 2002 Jan Hubicka <jh@suse.cz>
10764
10765 * athlon.md: rewrite to DFA.
10766 * i386 (ix86_adjust_cost): Drop memory latency code.
10767 (ia32_use_dfa_pipeline_interface): Return true for Athlon.
10768
c49d2df6
JJ
107692002-10-05 Jakub Jelinek <jakub@redhat.com>
10770
10771 * gcc.c (set_multilib_dir): Don't access *end.
10772 Use memcpy instead of strncpy. Don't write beyond malloced buffer.
10773 (print_multilib_info): Don't show paths starting with ".:".
10774 * genmultilib: Add new option, "yes" if multilibs are enabled.
10775 Update comments. If multilibs not enabled, print .:${osdirout}
10776 for each directory. If multilibs are enabled, always print
10777 ${dirout}:${osdirout}, even if the two are the same.
10778 * Makefile.in (s-mlib): Pass @enable_multilib@ to genmultilib.
10779 Pass all MULTILIB_* variables to genmultilib even if
10780 --disable-multilib but MULTILIB_OSDIRNAMES is not empty.
10781
4977bab6
ZW
107822002-10-04 Zack Weinberg <zack@codesourcery.com>
10783
10784 * gcc.c (process_command): Set .validated for -pipe. Correct
10785 grammar in comment.
10786
d758c1db
BK
107872002-10-04 Bruce Korb <bkorb@gnu.org>
10788
10789 * fixinc/inclhack.def(hpux11_abs): use format fix
10790 * fixinc/fixincl.x: regenerate
10791 * fixinc/tests/base/stdlib.h: accommodate new fix test
10792
b3dc87c5
JH
10793Sat Oct 5 19:42:45 CEST 2002 Jan Hubicka <jh@suse.cz>
10794
10795 * c-common.c (cb_register_builtins): Use really_no_inline.
10796
f7a21c70
DE
107972002-10-04 David Edelsohn <edelsohn@gnu.org>
10798
10799 * unroll.c (copy_loop_body): Remove REG_EQUAL note attached to
10800 copied instruction if the note is not loop invariant.
10801
081d6fb9
LR
108022002-10-04 Loren J. Rittle <ljrittle@acm.org>
10803
10804 * gcc/ginclude/stddef.h: Support the FreeBSD 5 typedef system.
10805
c5d3d49b
SE
108062002-10-04 Steve Ellcey <sje@cup.hp.com>
10807
10808 * doc/invoke.texi (HPPA): Add -mlinker-opt, -mgnu-ld,
10809 and -mhp-ld options to list of options. Add -mgnu-ld
10810 and -mhp-ld option descriptions.
10811
0fca111b
SE
108122002-10-04 Steve Ellcey <sje@cup.hp.com>
10813
10814 * fixinc/inclhack.def (hpux11_abs): New.
10815 (stdio_va_list): change __va_list__ to __gnuc_va_list.
10816 * fixinc/fixincl.x: Rebuild.
10817
229b303a
RS
108182002-10-04 Roger Sayle <roger@eyesopen.com>
10819
10820 * config/i386/i386.h (processor_costs): Add new fields fadd,
10821 fmul, fdiv, fabs, fchs and fsqrt to costs structure.
10822 (RTX_COSTS): Use these fields to determine the RTX costs
10823 of floating point addition/subtraction, multiplication,
10824 division, fabs, negation and square root respectively.
10825 * config/i386/i386.c (size_cost): Provide instruction sizes
10826 for these new fields.
10827 (i386_cost, i486_cost, pentium_cost, pentiumpro_cost,
10828 k6_cost, athlon_cost, pentium4_cost): Provide typical cycle
10829 counts for these new fields for all x86 processor variants.
10830
481ed21a
KG
108312002-10-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10832
6017ba03
KG
10833 * mips.c (mips_const_double_ok): Delete unused variable.
10834
481ed21a
KG
10835 * gengtype.c (rtx_next): Change type to int.
10836
635f4680
AJ
108372002-10-04 Andreas Jaeger <aj@suse.de>
10838
10839 * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Fix value.
10840
ee6ff319
RH
108412002-10-04 Richard Henderson <rth@redhat.com>
10842
10843 * real.h (SIGNIFICAND_BITS): Add one more word.
10844 (CONST_DOUBLE_FORMAT): Accomodate 6 words.
10845 * real.c (times_pten): New.
10846 (real_to_decimal, real_from_string): Use it.
10847 (sticky_rshift_significand): Use & to find modulus.
10848 (rshift_significand, lshift_significand): Likewise.
10849 (do_divide): Apply sticky bit after normalization.
10850 (real_to_decimal, real_to_hexadecimal): Fix sign of Inf and NaN.
10851
4977bab6
ZW
108522002-10-03 Andreas Bauer <baueran@in.tum.de>
10853
10854 * doc/tm.texi (FUNCTION_OK_FOR_SIBCALL): Remove.
10855 (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
10856
6d8dd940
AJ
108572002-10-03 Andreas Jaeger <aj@suse.de>
10858
10859 * gengtype.c (adjust_field_rtx_def): Cast variables of type size_t
10860 to unsigned long, adjust printf format string.
10861 (output_mangled_typename): Likewise.
10862
191fe2bb
JT
108632002-10-03 Jason Thorpe <thorpej@wasabisystems.com>
10864
10865 * config/vax/vax.c (vax_output_function_prologue): Use asm_fprintf.
10866 * config/vax/vax.h (VAX_FUNCTION_PROFILER_NAME): New.
10867 (FUNCTION_PROFILER): Rewrite to use ASM_GENERATE_INTERNAL_LABEL,
10868 assemble_name, asm_fprintf, and VAX_FUNCTION_PROFILER_NAME.
10869 (ASM_OUTPUT_MI_THUNK): Use asm_fprintf instead of REGISTER_PREFIX.
10870 (PRINT_OPERAND_PUNCT_VALID_P): Fix comment.
10871 * config/vax/elf.h (FUNCTION_PROFILER): Remove.
10872 (VAX_FUNCTION_PROFILER_NAME): Redefine as "__mcount".
10873
6397d80b
MM
108742002-10-03 Mark Mitchell <mark@codesourcery.com>
10875
10876 * doc/invoke.texi (-Wabi): Document mangling bug.
10877
69c75916
AM
108782002-10-04 Alan Modra <amodra@bigpond.net.au>
10879
10880 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Use a
10881 name for the tbtab label that depends on the function asm name.
10882 Don't output tbtab label unless optional_tbtab.
10883 (output_mi_thunk): Formatting.
10884
adf2ac37
RH
108852002-10-03 Richard Henderson <rth@redhat.com>
10886
10887 * config/m68k/m68k.h (OVERRIDE_OPTIONS): Move additional code ...
10888 * config/m68k/m68k.c (override_options): ... here.
10889 * config/m68k/m68kelf.h (OVERRIDE_OPTIONS): Remove.
10890 * config/m68k/m68kv4.h (OVERRIDE_OPTIONS): Remove.
10891 * config/m68k/linux.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
10892 * config/m68k/netbsd-elf.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
10893
a7519393
RH
108942002-10-03 Richard Henderson <rth@redhat.com>
10895
10896 * real.h (struct real_value): Use ENUM_BITFIELD.
10897
41552736
RH
108982002-10-03 Richard Henderson <rth@redhat.com>
10899
10900 * config/i960/i960.md (call, call_value): Use emit_call_insn.
10901
882affa8
SE
109022002-10-03 Steve Ellcey <sje@cup.hp.com>
10903
10904 * config/pa/pa64-hpux.h (INIT_ENVIRONMENT): New.
10905
83eb95f9
SE
109062002-10-03 Steve Ellcey <sje@cup.hp.com>
10907
10908 * config.gcc (hppa*64*-*-hpux11*): Check gnu_ld.
10909 * config/pa/pa.h (MASK_GNU_LD): New.
10910 (TARGET_GNU_LD): New.
6d8dd940 10911 * config/pa/pa64-hpux.h (LINK_SPEC): Set based
83eb95f9
SE
10912 on gnu-ld and MASK_GNU_LD.
10913 (SUBTARGET_SWITCHES): New gnu-ld & hp-ld flags.
10914
b72b1c29
JH
10915Thu Oct 3 23:35:51 CEST 2002 Jan Hubicka <jh@suse.cz>
10916
10917 * i386.c (athlon_cost): Fix the move costs.
10918
92b7a2a5
JH
10919Thu Oct 3 23:20:58 CEST 2002 Jan Hubicka <jh@suse.cz>
10920
10921 * final.c (final): Use symbol name as function name for profiling.
10922 * profile.c (get_exec_counts): Likewise.
10923 (branch_prob): Likewise.
10924
429489e5
JJ
109252002-10-03 Jakub Jelinek <jakub@redhat.com>
10926
10927 * longlong.h (__udiv_qrnnd): Remove PARAMS from prototype.
10928
5bbcd587
JJ
109292002-10-03 Jakub Jelinek <jakub@redhat.com>
10930
10931 * gcc.c (print_multi_os_directory): New variable.
10932 (option_map): Support --print-multi-os-directory.
10933 (struct prefix_list): Add os_multilib field.
10934 (multilib_os_dir): New variable.
10935 (static_specs): Add multilib_options.
10936 (find_a_file): Add multilib argument. Search in GCC or OS multilib
272d0bee 10937 subdirs if nonzero.
5bbcd587
JJ
10938 (read_specs, execute): Update callers.
10939 (find_file): Likewise. Don't prefix name with multilib_dir, instead
10940 pass 1 as multilib option.
10941 (display_help): Include --print-multi-os-directory.
10942 (add_prefix): Add os_multilib argument. Initialize pl->os_multilib.
10943 (process_command): Update callers. Handle --print-multi-os-directory.
10944 (do_spec_1) ['D']: Use multilib_os_directory if pl->os_multilib is
10945 set.
10946 (main): Update find_a_file and add_prefix callers.
10947 Handle print_multi_os_directory.
10948 (struct mdswitchstr): New.
10949 (mdswitches, n_mdswitches): New variables.
10950 (used_arg): Add MULTILIB_DEFAULT switches too if they are not
10951 present on the command line nor their mutually incompatible
10952 switches.
10953 (default_arg): Optimize.
10954 (set_multilib_dir): Compute multilib_os_dir. Initialize mdswitches
10955 array.
10956 (print_multilib_info): Only print GCC multilib dir name, not OS
10957 multilib dirname.
10958 * genmultilib: Add osdirnames parameter. Output multilib_options
10959 variable. If osdirnames is specified, output dirnames as
10960 dirname:osdirname.
10961 * mklibgcc.in: Use MULTILIB_OSDIRNAMES, --print-multi-directory
10962 and --print-multi-os-directory instead of SHLIB_SLIBDIR_SUFFIXES
10963 to compute libgcc_s soname and install path.
10964 * Makefile.in (libgcc.mk): Pass MULTILIB_OSDIRNAMES instead of
10965 SHLIB_SLIBDIR_SUFFIXES to mklibgcc.
10966 (s_mlib): Pass MULTILIB_OSDIRNAMES or nothing as last genmultilib
10967 argument.
10968
10969 * config/sparc/t-linux64 (MULTILIB_OSDIRNAMES): Set.
10970 (SHLIB_SLIBDIR_SUFFIXES): Remove.
10971 * config/sparc/linux64.h (STARTFILE_SPEC32, STARTFILE_SPEC64,
10972 ENDFILE_SPEC32, ENDFILE_SPEC64, ENDFILE_COMMON): Remove.
10973 (STARTFILE_SPEC, ENDFILE_SPEC): Don't distinguish between -m32
10974 and -m64.
10975 * config/sparc/t-sol2-64 (MULTILIB_OSDIRNAMES): Set.
10976 (SHLIB_SLIBDIR_SUFFIXES): Remove.
10977 * config/sparc/sol2-bi.h (STARTFILE_ARCH64_SPEC): Remove.
10978 (STARTFILE_ARCH_SPEC): Remove.
10979 * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Set.
10980 (SHLIB_SLIBDIR_SUFFIXES): Remove.
10981 * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Remove.
10982 * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Set.
10983 (SHLIB_SLIBDIR_SUFFIXES): Remove.
10984
c07f146f
JH
10985Thu Oct 3 21:42:20 CEST 2002 Jan Hubicka <jh@suse.cz>
10986
10987 * predict.c (choose_function_section): Avoid choice for linkonce functions.
10988
4c9c9a3d
JH
10989Thu Oct 3 15:15:00 CEST 2002 Jan Hubicka <jh@suse.cz>
10990
10991 * i386.md (lea to mul peep2): Fix condition.
6d8dd940 10992
f50df1d5
JDA
109932002-10-02 John David Anglin <dave@hiauly1.hia.nrc.ca>
10994
10995 * pa-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete macro.
10996 * pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Define.
10997
4977bab6
ZW
109982002-10-02 David Mosberger-Tang <David.Mosberger@acm.org>
10999
11000 * unwind.h (_Unwind_GetTextRelBase): Mark _C argument with
11001 attribute "unused".
11002
11003 * config/t-libunwind: Mention unwind-sjlj.c.
11004 * unwind-libunwind.c: Change #ifdef __USING_LIBUNWIND_EXCEPTIONS__
11005 to #ifndef __USING_SJLJ_EXCEPTIONS__.
11006
11007 * configure.in: Move sjlj-exceptions and --enable-libunwind-exceptions
11008 before inclusion of config.gcc, but after configuring the compiler etc.
11009 Determine default value for --enable-libunwind-exceptions based on
11010 whether the host has a libunwind library (not guaranteed to be correct,
11011 but it's a reasonable first guess and can always be overridden with an
11012 explicit --enable/disable-libunwind-exceptions.
11013 * config.gcc: For target ia64*-*-linux*, mention t-libunwind as a
11014 tmake_file when $use_libunwind_exceptions is enabled.
11015 * Makefile.in: Update comment: LIB2ADDEH is updated not just by
11016 ia64 (e.g., config/t-linux also updates it).
11017 * gcc.c (init_spec) [USE_LIBUNWIND_EXCEPTIONS]: Mention -lunwind
11018 along with the shared version of libgcc since the latter requires
11019 the former.
11020 * unwind-libunwind.c: New file.
11021 * config/t-libunwind: Ditto.
11022
110232002-10-02 Nathanael Nerode <neroden@gcc.gnu.org>
11024
11025 * config.gcc: Remove support for vax-*-vms*.
11026 * config/vax/vms.h: Remove.
11027 * config/vax/xm-vms.h: Remove.
11028 * config/vax/vax-protos.h: Remove VMS-specific code.
11029 * config/vax/vax.c: Remove VMS-specific code.
11030
d631b80a
RH
110312002-10-02 Richard Henderson <rth@redhat.com>
11032
11033 PR opt/7124
11034 * config/i386/i386.c (ix86_register_move_cost): Increase cost
11035 for secondary_memory_needed pairs.
11036
854ef390
NN
110372002-10-02 Nathanael Nerode <neroden@gcc.gnu.org>
11038
11039 * doc/vms.texi: Blow away false include file section.
11040
f963b5d9
RS
110412002-10-02 Roger Sayle <roger@eyesopen.com>
11042
11043 PR optimization/6627
11044 * toplev.c (force_align_functions_log): New global variable.
11045 * flags.h (force_align_functions_log): Add extern prototype.
11046 * varasm.c (assemble_start_function): Use it to force minimum
11047 function alignment.
11048 * config/i386/i386.h (FUNCTION_BOUNDARY): Set the correct
11049 minimum function alignment to one byte.
11050 (TARGET_PTRMEMFUNC_VBIT_LOCATION): Store the virtual bit in
11051 the least significant bit of vtable member function pointers.
11052 * tree.h (enum ptrmemfunc_vbit_where_t): Move definition to
11053 here from cp/cp-tree.h.
11054
200bcf7e
JH
11055Wed Oct 2 17:01:36 CEST 2002 Jan Hubicka <jh@suse.cz>
11056
11057 * i386.c (print_operand_address): Use RIP addressing for offsetted
11058 label refs too.
11059
88d0be17
DM
110602002-09-30 David S. Miller <davem@redhat.com>
11061
11062 PR middle-end/7151
11063 * config/sparc/sparc.md (movdi_insn_sp32_v9): Accept 'e' regs.
11064 (movdi reg/reg split): Match only on sparc32, and v9 when int regs.
11065
4977bab6
ZW
110662002-10-01 Andreas Bauer <baueran@in.tum.de>
11067
11068 * calls.c (expand_call): Remove the `no indirect check'
11069 for sibcall optimization; use function_ok_for_sibcall
11070 target hook; refine check for `function is volatile'.
11071 (FUNCTION_OK_FOR_SIBCALL): Remove the redefinition.
11072 * hooks.c (hook_tree_tree_bool_false): New.
11073 * hooks.h (hook_tree_tree_bool_false): Declare.
11074 * target-def.h (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
11075 (TARGET_INITIALIZER): Add it.
11076 * target.h (struct gcc_target): Add function_ok_for_sibcall.
11077 * config/alpha/alpha.c: (alpha_function_ok_for_sibcall): New.
11078 (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
11079 * config/alpha/alpha.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
11080 * config/arm/arm-protos.h: (arm_function_ok_for_sibcall):
11081 Remove function declaration.
11082 * config/arm/arm.c: (arm_function_ok_for_sibcall): Make
11083 function static and accept another argument of type `tree'.
11084 (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
11085 * config/arm/arm.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
11086 * config/frv/frv.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
11087 * config/i386/i386.c: (ix86_function_ok_for_sibcall): New.
11088 (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
11089 * config/i386/i386.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
11090 * config/pa/pa-linux.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
11091 (TARGET_HAS_STUBS_AND_ELF_SECTIONS): New definition.
11092 * config/pa/pa.c: (pa_function_ok_for_sibcall): New.
11093 (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
11094 * config/pa/pa.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
11095 * config/rs6000/rs6000-protos.h: (function_ok_for_sibcall):
11096 Remove function declaration.
11097 * config/rs6000/rs6000.c: (rs6000_function_ok_for_sibcall):
11098 Rename function_ok_for_sibcall to rs6000_function_ok_for_sibcall;
11099 rename first argument to `decl'; accept another argument
11100 of type `tree'; make static.
11101 (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
11102 * config/rs6000/rs6000.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
11103 * config/sh/sh.c: (sh_function_ok_for_sibcall): New.
11104 (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
11105 * config/sh/sh.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
11106 * config/sparc/sparc.c: (sparc_function_ok_for_sibcall): New.
11107 (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
11108 * config/sparc/sparc.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
11109 * config/xtensa/xtensa.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
11110
f10aac29
RS
111112002-10-01 Roger Sayle <roger@eyesopen.com>
11112
11113 * unroll.c (loop_iterations): Revert 2002-09-08 change.
11114
69bd00e6
RH
111152002-10-01 Richard Henderson <rth@redhat.com>
11116
11117 * real.c (real_to_decimal): Crop trailing zeros for DIGITS < 0.
11118 (real_to_hexadecimal): Likewise.
11119 * print-rtl.c (print_rtx): If we are linked with real.c, don't
11120 dump the XWINT fields of a floating point CONST_DOUBLE.
11121
3b5742ab
JT
111222002-10-01 Jason Thorpe <thorpej@wasabisystems.com>
11123
11124 * config/vax/elf.h (FUNCTION_PROFILER): Fix __mcount call.
11125
fd1e5d25
RH
111262002-10-01 Richard Henderson <rth@redhat.com>
11127
11128 * calls.c (precompute_register_parameters): Force non-legitimate
11129 constants into pseudos.
11130
78872ad9
NC
111312002-10-01 Nick Clifton <nickc@redhat.com>
11132
11133 * config/rs6000/spe.md (spe_evrlwi): Add missing third operand
11134 to assembler template.
11135
3c655f42
RH
111362002-10-01 Richard Henderson <rth@redhat.com>
11137
11138 * dwarf2out.c (loc_descriptor_from_tree): Relax requirement
11139 for TLS debug info to !DECL_EXTERNAL.
11140
ec20cffb 111412002-10-01 Matt Thomas <matt@3am-software.com>
ee6ff319 11142 Jason Thorpe <thorpej@wasabisystems.com>
ec20cffb
JT
11143
11144 * config.gcc (vax-*-netbsdelf*): Enable configuration.
6d8dd940 11145 * config/elfos.h (PCC_BITFIELD_TYPE_MATTERS): Define only
ec20cffb
JT
11146 if not already defined.
11147 * config/vax/elf.h: New file.
11148 * config/vax/netbsd-elf.h: New file.
11149 * config/vax/vax.c: Include "debug.h".
11150 (vax_output_function_prologue): Add dwarf2 support. Use
11151 MAIN_NAME_P when checking for VMS_TARGET stack adjust.
11152 * config/vax/vax.h (CONST_OK_FOR_LETTER_P): Add cases for
11153 'J' [0..63], 'K' [-128..127], 'L' [-32768..32767],
11154 'M' [0..255], 'N' [0..65535], and, 'O' [-63..-1].
11155 (VAX_ISTREAM_SYNC): Remove.
11156 (INITIALIZE_TRAMPOLINE): Use gen_sync_istream.
11157 (JUMP_TABLES_IN_TEXT_SECTION): Define.
11158 (ASM_OUTPUT_REG_POP): Use reg_names for the stack pointer.
11159 (ASM_OUTPUT_ADDR_VEC_ELT): Use ASM_GENERATE_INTERNAL_LABEL
11160 and assemble_name.
11161 (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
11162 (PRINT_OPERAND_PUNCT_VALID_P): Accept '|'.
11163 (PRINT_OPERAND): Output REGISTER_PREFIX for '|'.
11164 (INCOMING_RETURN_ADDR_RTX): Define.
11165 * config/vax/vax.md (VUNSPEC_BLOCKAGE)
11166 (VUNSPEC_SYNC_ISTREAM): Define.
11167 (blockage): Use VUNSPEC_BLOCKAGE.
11168 (sync_istream): New insn.
11169
111702002-10-01 Richard Henderson <rth@redhat.com>
11171
11172 * config/vax/vax.md (call_pop, *call_pop, call_value_pop)
11173 (*call_value_pop, call, call_value): Add dwarf2 EH support.
11174 (*call): New insn.
11175
73a73768
NS
111762002-10-01 Nathan Sidwell <nathan@codesourcery.com>
11177
11178 PR c/8083
11179 * c-typeck.c (build_c_cast): Warn about type punning which breaks
11180 type based aliasing.
11181
0645ba8f
MM
111822002-10-01 Mark Mitchell <mark@codesourcery.com>
11183
11184 * stor-layout.c (update_alignment_for_field): New function.
11185 (place_union_field): Use it.
11186 (place_field): Likewise.
6d8dd940 11187
f7e466a3
NS
111882002-10-01 Nathan Sidwell <nathan@codesourcery.com>
11189
73a73768 11190 PR other/8077
f7e466a3
NS
11191 * gcc.c (cc1_options): Add space on -auxbase-strip.
11192
bc9ec51b
JW
111932002-10-01 Jim Wilson <wilson@redhat.com>
11194
11195 * config/v850/v850.h (EPILOGUE_USES): Define.
11196
a646f6cc
AH
111972002-09-30 Andrew Haley <aph@redhat.com>
11198
6d8dd940 11199 * flow.c (insn_dead_p): When using non-call-exceptions, don't
a646f6cc
AH
11200 eliminate insns that may trap.
11201 * cse.c (insn_live_p): Likewise.
11202
3f7967e3
RS
112032002-10-01 Richard Sandiford <rsandifo@redhat.com>
11204
11205 * config/mips/mips.h (PROCESSOR_R4121): Rename to PROCESSOR_R4120.
11206 (TARGET_MIPS4121): Rename to TARGET_MIPS4120.
11207 * config/mips/mips.c (mips_cpu_info): Rename vr4121 to vr4120.
11208 * config/mips/mips.md: Apply same renaming here.
11209
41f9efba
RS
112102002-10-01 Richard Sandiford <rsandifo@redhat.com>
11211
11212 * config/mips/mips.c (PROCESSOR_R4320, TARGET_MIPS4320): Remove.
11213 (GENERATE_MULT3_SI): Remove use of TARGET_MIPS4320.
11214 * config/mips/mips.c (mips_cpu_info): Remove vr4320 entry.
11215 * config/mips/mips.md (define_attr cpu): Remove r4320.
11216 Remove vr4320 scheduler and uses of TARGET_MIPS4320.
11217
366356d3
RS
112182002-10-01 Richard Sandiford <rsandifo@redhat.com>
11219
11220 * config/mips/mips.c (mips16_strings): New variable.
11221 (mips_output_function_epilogue): Clear the SYMBOL_REF_FLAG of every
11222 symbol in mips16_strings. Free the list.
11223 (mips_encode_section_info): Keep track of local strings.
11224
8ab907e8
RS
112252002-10-01 Richard Sandiford <rsandifo@redhat.com>
11226
11227 * config/mips/mips.md (bunge, bltgt, bungt): New define_expands.
11228 (sordered_df, sordered_sf): Remove.
11229 * config/mips/mips.c (get_float_compare_codes): New fn.
11230 (gen_int_relational, gen_conditional_move): Use it.
11231
d12b8c85
RS
112322002-10-01 Richard Sandiford <rsandifo@redhat.com>
11233
11234 * config/mips/mips-protos.h (mips_emit_fcc_reload): Declare.
11235 * config/mips/mips.h (PREDICATE_CODES): Add fcc_register_operand.
11236 * config/mips/mips.c (fcc_register_operand): New function.
11237 (mips_emit_fcc_reload): New function, extracted from reload_incc.
11238 (override_options): Allow TFmode values in float registers
11239 if ISA_HAS_8CC.
11240 * cnfig/mips/mips.md (reload_incc): Change destination prediate
11241 to fcc_register_operand. Remove misleading source constraint.
11242 Use mips_emit_fcc_reload.
11243 (reload_outcc): Duplicate reload_incc.
11244
4977bab6
ZW
112452002-09-30 Zack Weinberg <zack@codesourcery.com>
11246
11247 * gcc.c (validate_switches): Handle all new forms of spec
11248 syntax introduced recently. Now returns a char *.
11249 (validate_all_switches): Repetitive logic broken out to...
11250 (validate_switches_from_spec): ...here.
11251 * mklibgcc.in: Don't @-flag commands to generate .oS files.
11252
7e765675
UW
112532002-09-30 Ulrich Weigand <uweigand@de.ibm.com>
11254
11255 * longlong.h: Partially synchronize with GMP-4.1 version:
11256 Use i370 definitions also for s390.
11257 Add generic definition of umul_ppmm in terms of smul_ppmm.
11258 [s390] (umul_ppmm): Remove.
11259 [s390] (smul_ppmm): Fix incorrect assembler constraints.
11260 [s390] (smul_ppmm, sdiv_qrnnd): Rename __xx to __x.
11261
89f6025d
BW
112622002-09-30 Bob Wilson <bob.wilson@acm.org>
11263
11264 * config/xtensa/xtensa.h (REG_CLASS_NAMES, REG_CLASS_CONTENTS):
11265 Add new RL_REGS register class.
11266 (PREFERRED_RELOAD_CLASS, PREFERRED_OUTPUT_RELOAD_CLASS):
ee6ff319 11267 Call xtensa_preferred_reload_class for both input and output reloads.
89f6025d
BW
11268 * config/xtensa/xtensa.c (xtensa_regno_to_class): Use new RL_REGS class.
11269 (xtensa_preferred_reload_class): Handle output reloads; use RL_REGS
11270 instead of either AR_REGS or GR_REGS classes.
11271 (xtensa_secondary_reload_class): Use new RL_REGS class.
11272 * config/xtensa/xtensa-protos.h (xtensa_preferred_reload_class): Update.
11273
7830ba7b
JDA
112742002-09-30 John David Anglin <dave@hiauly1.hia.nrc.ca>
11275
11276 * pa.c (hppa_encode_label): Don't drop '*' from function labels.
11277 (pa_strip_name_encoding): Strip '@' and '*', in that order.
11278 * pa.h (ASM_OUTPUT_LABELREF): Output user_label_prefix except when
11279 there is a '*' prefix in NAME.
11280
344b78b8
JH
11281Mon Sep 30 21:33:23 CEST 2002 Jan Hubicka <jh@suse.cz>
11282
11283 * reload.c (push_reload): Handle subregs and secondary memory.
11284 * reload1.c (gen_reload): Likewise.
11285
11286 * jump.c (reg_or_subregno): New function.
11287 * rtl.h (reg_or_subregno): Declare
11288 * unroll.c (find_splittable_givs): Handle subregs.
11289
17bbb839
MM
112902002-09-30 Mark Mitchell <mark@codesourcery.com>
11291
11292 * store-layout.c (finish_record_layout): Add free_p parameter.
11293 (layout_type): Pass it.
11294 * tree.h (finish_record_layout): Update prototype.
92e89ef0 11295
48ddd46c
JH
11296Mon Sep 30 14:57:18 CEST 2002 Jan Hubicka <jh@suse.cz>
11297
11298 * i386.h (TARGET_CPP_CPU_BUILTINS): Define __SSE_MATH__.
11299
11300 * gcse.c (cprop_jump): Check that the register has not
11301 been modified
11302 (cprop_jump): Likewise.
11303
b93a0fe6
RE
113042002-09-30 Richard Earnshaw <rearnsha@arm.com>
11305
11306 * arm.h (BASE_REG_CLASS): Always return LO_REGS for Thumb.
11307 (MODE_BASE_REG_CLASS, case Thumb): Only return BASE_REGS if we know
11308 that we have a SImode access, and only then if reload hasn't completed;
11309 for all other cases, use LO_REGS.
11310
4977bab6
ZW
113112002-09-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11312
11313 * openbsd.h: Fix typo in last change.
11314
98ee7e6c
RH
113152002-09-29 Richard Henderson <rth@redhat.com>
11316
11317 * real.c (real_from_string): Apply sign last. Tidy exponent handling.
11318
ccf7aef4
RH
113192002-09-29 Richard Henderson <rth@redhat.com>
11320
b5371c18 11321 PR c/8002
ccf7aef4
RH
11322 * combine.c (force_to_mode): Handle FLOAT_MODE destinations
11323 for CONST_INT.
11324
d454e75a
DE
113252002-09-29 David Edelsohn <edelsohn@gnu.org>
11326
11327 * real.h (ibm_extended_format): Declare.
11328 * real.c (encode_ibm_extended, decode_ibm_extended): New
11329 functions.
11330
89b06540
KG
113312002-09-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11332
11333 * darwin-protos.h (darwin_asm_output_dwarf_delta): Prototype.
11334
11335 * ia64.c (ia64_hpux_asm_file_end): Const-ify.
11336
6ca6193b
JDA
113372002-09-29 John David Anglin <dave@hiauly1.hia.nrc.ca>
11338
11339 * expmed.c (extract_bit_field): Fix bit-field extraction from SUBREGs.
11340
991b6592
KH
113412002-09-29 Kazu Hirata <kazu@cs.umass.edu>
11342
11343 * builtins.def: Fix comment formatting.
11344 * c-common.def: Likewise.
11345 * cfgcleanup.c: Likewise.
11346 * combine.c: Likewise.
11347 * gengtype.c: Likewise.
11348 * params.def: Likewise.
11349 * predict.def: Likewise.
11350 * rtl.def: Likewise.
11351 * stab.def: Likewise.
11352 * stor-layout.c: Likewise.
11353 * tree.def: Likewise.
11354 * config/darwin.c: Likewise.
11355 * config/darwin.h: Likewise.
11356 * config/dbxcoff.h: Likewise.
11357 * config/elfos.h: Likewise.
11358 * config/fp-bit.c: Likewise.
11359 * config/freebsd-spec.h: Likewise.
11360 * config/interix.h: Likewise.
11361 * config/libgloss.h: Likewise.
11362 * config/linux-aout.h: Likewise.
11363 * config/linux.h: Likewise.
11364 * config/lynx-ng.h: Likewise.
11365 * config/lynx.h: Likewise.
11366 * config/netbsd-aout.h: Likewise.
11367 * config/netbsd.h: Likewise.
11368 * config/netware.h: Likewise.
11369 * config/psos.h: Likewise.
11370 * config/ptx4.h: Likewise.
11371
43aa4e05
KH
113722002-09-28 Kazu Hirata <kazu@cs.umass.edu>
11373
11374 * ChangeLog.4: Fix typos.
11375 * ChangeLog.6: Likewise.
11376 * FSFChangeLog.10: Likewise.
11377 * genattrtab.c: Fix comment typos.
11378 * haifa-sched.c: Likewise.
11379 * real.c: Likewise.
11380 * tree.h: Likewise.
11381 * config/arm/arm.c: Likewise.
11382 * config/arm/crti.asm: Likewise.
11383 * config/arm/crtn.asm: Likewise.
11384 * config/frv/frv.c: Likewise.
11385 * config/frv/frv.md: Likewise.
11386 * config/h8300/h8300.md: Likewise.
11387 * config/i386/rtemself.h: Likewise.
11388 * config/ia64/unwind-ia64.c: Likewise.
11389 * config/ip2k/ip2k.h: Likewise.
11390 * config/m88k/m88k.c: Likewise.
11391 * config/m88k/m88k.md: Likewise.
11392 * config/mips/sr71k.md: Likewise.
11393 * config/mmix/mmix.c: Likewise.
11394 * config/rs6000/rs6000.c: Likewise.
11395 * config/sh/sh.md: Likewise.
11396
13e8651c
TR
113972002-09-26 Theodore A. Roth <troth@verinet.com>
11398
92e89ef0
ZW
11399 * config/avr/avr.c: Eliminate use of _PC_ in pc relative insns.
11400 * config/avr/avr.md: Ditto.
13e8651c 11401
57147be1
ZW
114022002-09-27 Alexander N. Kabaev <ak03@gte.com>
11403
11404 PR preprocessor/8055
11405 * cppmacro.c (stringify_arg): Do not overflow the buffer
11406 with the terminating NUL when the argument to be stringified
11407 has no tokens.
11408
5d0f3df7
RH
114092002-09-27 Richard Henderson <rth@redhat.com>
11410
11411 * unroll.c (simplify_cmp_and_jump_insns): New.
11412 (unroll_loop): Use it. Use simplify_gen_foo+force_operand
11413 instead of expand_simple_foo.
11414
3dfda826
RH
114152002-09-27 Richard Henderson <rth@redhat.com>
11416
11417 PR optimization/7520
11418 * cfganal.c (flow_active_insn_p): New.
11419 (forwarder_block_p): Use it.
11420
23b8ba81
RH
114212002-09-27 Richard Henderson <rth@redhat.com>
11422
11423 * emit-rtl.c (active_insn_p): Revert last change.
11424
dce81a1a
JJ
114252002-09-27 Jakub Jelinek <jakub@redhat.com>
11426
11427 * doc/extend.texi (tls_model): Document.
11428 * varasm.c (decl_tls_model): New.
11429 * c-common.c (handle_tls_model_attribute): New.
11430 (c_common_attribute_table): Add tls_model.
11431 * config/alpha/alpha.c (alpha_encode_section_info): Use
11432 decl_tls_model.
11433 * flags.h (enum tls_model, flag_tls_default): Move...
11434 * tree.h (enum tls_model, flag_tls_default): ...here.
11435 (decl_tls_model): New prototype.
11436 * config/ia64/ia64.c (ia64_encode_section_info): Likewise.
11437 * config/i386/i386.c (ix86_encode_section_info): Likewise.
11438 * config/i386/i386.md (tls_global_dynamic, tls_local_dynamic_base):
11439 Allow !flag_pic.
11440
0e9e1e0a
KH
114412002-09-27 Kazu Hirata <kazu@cs.umass.edu>
11442
11443 * LANGUAGES: Follow spelling conventions.
11444 * rtl.def: Likewise.
11445 * sbitmap.c: Likewise.
11446 * sched-int.h: Likewise.
11447 * sched-rgn.c: Likewise.
11448 * sibcall.c: Likewise.
11449 * simplify-rtx.c: Likewise.
11450 * ssa.c: Likewise.
11451 * stab.def: Likewise.
11452 * stmt.c: Likewise.
11453 * stor-layout.c: Likewise.
11454 * target.h: Likewise.
11455 * timevar.c: Likewise.
11456 * toplev.c: Likewise.
11457 * tree-dump.c: Likewise.
11458 * tree-inline.c: Likewise.
11459 * tree.c: Likewise.
11460 * tree.def: Likewise.
11461 * tree.h: Likewise.
11462 * unroll.c: Likewise.
11463 * varasm.c: Likewise.
11464 * vmsdbgout.c: Likewise.
11465 * treelang/treelang.texi: Likewise.
11466 * treelang/treetree.c: Likewise.
11467
b9b575e6
KH
114682002-09-27 Kazu Hirata <kazu@cs.umass.edu>
11469
11470 * config/h8300/h8300.c (compute_saved_regs): Use a macro
11471 instead of a hard register number.
11472 (get_shift_alg): Use an enumerated type instead of numbers.
11473 (h8300_shift_needs_scratch_p): Likewise.
11474
4977bab6
ZW
114752002-09-26 Kazu Hirata <kazu@cs.umass.edu>
11476
11477 * varasm.c (force_data_section): Remove.
11478 (assemble_constant_align): Likewise.
11479 * output.h: Remove corresponding prototypes.
11480
114812002-09-26 Roger Sayle <roger@eyesopen.com>
11482
11483 * stmt.c (expand_exit_loop_if_false): Expand a simple conditional
11484 jump, if the loop to exit is the top of the current nesting stack.
11485
114862002-09-26 Torbjorn Granlund <tege@swox.com>
11487
11488 * libgcc2.c (fixunsdfdi, fixunssfdi): Rewrite, avoiding `long long'
11489 arithmetic.
11490
99a32567
DM
114912002-09-26 David S. Miller <davem@redhat.com>
11492
11493 PR optimization/7335
11494 * calls.c (emit_library_call_value_1): Passing args by reference
11495 converts a CONST function into a PURE one.
11496
67cef334
DE
114972002-09-26 David Edelsohn <edelsohn@gnu.org>
11498
11499 * dbxout.c (FORCE_TEXT): Switch to current_function_decl, not
11500 text_section.
57147be1 11501 * xcoffout.h (DBX_STATIC_BLOCK_START): Remove explicit change to
67cef334
DE
11502 text section.
11503 * config/rs6000/rs6000.c (rs6000_override_options): Allow
11504 function-sections and data-sections functionality on AIX.
11505
115062002-09-26 David Edelsohn <edelsohn@gnu.org>
11507 Dale Johannesen <dalej@apple.com>
11508
11509 * config/rs6000/rs6000.c (rs6000_emit_move): Insert zero-extend
11510 in RTL for sub-word loads from memory.
11511
c2310f51
RH
115122002-09-26 Richard Henderson <rth@redhat.com>
11513
11514 PR c/7160
11515 * sched-deps.c (sched_analyze_insn): Make clobber insns depend
11516 on call insns.
11517
7847d627
RH
115182002-09-26 Richard Henderson <rth@redhat.com>
11519
11520 * emit-rtl.c (const_double_htab_eq): Remove unused variable.
11521
cde0ce6e
CL
115222002-09-26 Chris Lattner <sabre@nondot.org>
11523
11524 * ssa.c (rename_insn_1): Handle RENAME_NO_RTX correctly when
11525 handling undefined values.
11526
03a62672
RH
115272002-09-26 Richard Henderson <rth@redhat.com>
11528
5fd452e8 11529 PR opt/7520
03a62672
RH
11530 * emit-rtl.c (active_insn_p): Consider a clobber of the
11531 function return value to be active even after reload.
11532
b5a77fef
AM
115332002-09-27 Alan Modra <amodra@bigpond.net.au>
11534
11535 * doloop.c (doloop_modify_runtime <biv skips initial incr>): Adjust
11536 by absolute loop increment, not loop increment.
11537
40f03658
KH
115382002-09-26 Kazu Hirata <kazu@cs.umass.edu>
11539
11540 * c-common.h: Follow spelling conventions.
11541 * cpplex.c: Likewise.
11542 * cpplib.h: Likewise.
11543 * gthr-dce.h: Likewise.
11544 * gthr-posix.h: Likewise.
11545 * optabs.c: Likewise.
11546 * output.h: Likewise.
11547 * profile.c: Likewise.
11548 * protoize.c: Likewise.
11549 * ra-rewrite.c: Likewise.
11550 * real.c: Likewise.
11551 * recog.c: Likewise.
11552 * reg-stack.c: Likewise.
11553 * regclass.c: Likewise.
11554 * regmove.c: Likewise.
11555 * reload.c: Likewise.
11556 * reload.h: Likewise.
11557 * reload1.c: Likewise.
11558 * reorg.c: Likewise.
11559 * resource.c: Likewise.
11560 * rtl.h: Likewise.
11561 * rtlanal.c: Likewise.
11562
ee8a73d6
SE
115632002-09-26 Steve Ellcey <sje@cup.hp.com>
11564
11565 * config/ia64/ia64.c (ia64_expand_load_address): Ensure correct mode
11566 for symbol address.
11567
2eb2bbdc
EC
115682002-09-24 Eric Christopher <echristo@redhat.com>
11569
57147be1
ZW
11570 * config/mips/elf.h: Add HANDLE_SYSV_PRAGMA.
11571 * config/mips/elf64.h: Ditto.
2eb2bbdc 11572
0ab38418
EC
115732002-09-24 Eric Christopher <echristo@redhat.com>
11574
57147be1 11575 * except.c (expand_builtin_extract_return_address): Handle case
0ab38418
EC
11576 where Pmode != ptr_mode.
11577
68bb91b1
SE
115782002-09-26 Steve Ellcey <sje@cup.hp.com>
11579
11580 * config/ia64/hpux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): New
11581
5429802d
SE
115822002-09-26 Steve Ellcey <sje@cup.hp.com>
11583
11584 * config/ia64/hpux.h (TARGET_DEFAULT): Include TARGET_ILP32.
11585
855c3a2e
IS
115862002-09-26 Igor Shevlyakov <igor@microunity.com>
11587
11588 * combine.c (simplify_set): Don't call to force_to_mode if size
11589 of integer type is larger than HOST_BITS_PER_WIDE_INT.
11590
2d556baf
JJ
115912002-09-26 Janis Johnson <janis187@us.ibm.com>
11592
11593 * Makefile.in (qmtest-g++): Fix file path.
11594
1717e19e
UW
115952002-09-26 Ulrich Weigand <uweigand@de.ibm.com>
11596
0ab38418 11597 * expr.c (expand_expr) [MINUS_EXPR]: Convert A - const to
1717e19e
UW
11598 A + (-const) on RTX level, even for unsigned types.
11599
6cabe79e
UW
116002002-09-26 Ulrich Weigand <uweigand@de.ibm.com>
11601
11602 * reload.c (dup_replacements): New function.
11603 (find_reloads): Use it to duplicate replacements at the top level
11604 of match_dup operands.
11605
0855247a
MB
116062002-09-26 Miles Bader <miles@gnu.org>
11607
11608 * v850.md ("length"): Change default value to 4.
11609
6335b0aa
KH
116102002-09-26 Kazu Hirata <kazu@cs.umass.edu>
11611
11612 * ChangeLog.1: Follow spelling conventions.
11613 * ChangeLog.4: Likewise.
11614 * ChangeLog.6: Likewise.
11615 * FSFChangeLog.11: Likewise.
11616 * doc/cpp.texi: Likewise.
11617 * doc/invoke.texi: Likewise.
11618 * doc/tm.texi: Likewise.
11619
09818236
NC
116202002-09-26 Nick Clifton <nickc@redhat.com>
11621
11622 * config.gcc: Add x prefix to v850e case for handling
11623 --with-cpu=v850e.
11624
4977bab6
ZW
116252002-09-25 Zack Weinberg <zack@codesourcery.com>
11626
11627 * gcc.c (input_suffix_matches, switch_matches,
11628 mark_matching_switches, process_marked_switches,
11629 process_brace_body): New functions - split from handle_braces.
11630 (handle_braces): Rewrite; handle %{S:X;T:Y;:D} syntax; accept
11631 and ignore whitespace in more places.
11632 (specs documentation comment): Document %{S:X;T:Y;:D}.
11633 Clarify other %{...} docs.
11634 * doc/invoke.texi: Document %{S:X;T:Y;:D}. Clarify other
11635 %{...} docs.
11636
11637 * config/arm/aof.h (LINK_SPEC): Change %{ov*,*} to %{ov*}.
11638 * config/rs6000/sysv4.h: Use N-way choice spec syntax.
11639
8a3996fd
DM
116402002-09-25 David S. Miller <davem@redhat.com>
11641
11642 PR target/7842
11643 * config/sparc/sparc.c (set_extends): SImode ASHIFT does not
11644 extend.
11645
8580f7a0
RH
116462002-09-25 Richard Henderson <rth@redhat.com>
11647
11648 * emit-rtl.c (const_double_htab_eq): Distinguish integer and
11649 fp CONST_DOUBLE; use real_identical.
11650
956d9305
MM
116512002-09-25 Mark Mitchell <mark@codesourcery.com>
11652
11653 * doc/invoke.texi: Add more -Wabi examples.
11654
3ccbe819
RS
116552002-09-25 Richard Sandiford <rsandifo@redhat.com>
11656
11657 * config/mips/mips.h (TARGET_MIPS4100): Add missing bracket.
11658
4977bab6
ZW
116592002-09-24 Nathan Sidwell <nathan@codesourcery.com>
11660
11661 * profile.c (end_branch_prob): Only look for __gcov_init on
11662 weak-enabled native compilers.
11663
2106e42a
DC
116642002-09-24 Denis Chertykov <denisc@overta.ru>
11665
11666 * config/ip2k/ip2k.c (function_epilogue): Fix wrong numbers in
11667 cases of optimizing "add sp,w" to "inc sp".
11668
58e60158
AN
116692002-09-24 Adam Nemet <anemet@lnxw.com>
11670
57147be1
ZW
11671 * config/arm/arm.c (thumb_unexpanded_epilogue): Don't generate
11672 epilogue for naked functions.
58e60158 11673
59be6073 116742002-09-24 Adam Nemet <anemet@lnxw.com>
57147be1 11675 Nick Clifton <nickc@redhat.com>
59be6073
AN
11676
11677 * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Remove.
11678 (FUNCTION_PROFILER): Only invoke THUMB_FUNCTION_PROFILER if it
11679 is defined.
11680
100c7420
UW
116812002-09-24 Ulrich Weigand <uweigand@de.ibm.com>
11682
11683 * config/s390/s390.c (preferred_la_operand_p): New function.
11684 * config/s390/s390-protos.h (preferred_la_operand_p): Declare it.
11685 * config/s390/s390.md ("addaddr_esame", "*la_ccclobber"): Replace by ...
11686 ("*la_64_cc", "*la_31_cc", splitters): ... these.
11687 ("*la_31"): Deactivate for TARGET_64BIT.
11688 ("*la_31_and", "*la_31_and_cc"): New.
11689
9fc63af5
KG
116902002-09-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11691
11692 * real.h (real_value): Make `exp' explicitly signed.
11693
43a88a8c
KH
116942002-09-24 Kazu Hirata <kazu@cs.umass.edu>
11695
11696 * config/elfos.h: Follow spelling conventions.
11697 * config/alpha/alpha.h: Likewise.
11698 * config/arc/arc.h: Likewise.
11699 * config/arm/arm.md: Likewise.
11700 * config/avr/avr.h: Likewise.
11701 * config/cris/cris.md: Likewise.
11702 * config/d30v/d30v.h: Likewise.
11703 * config/frv/frv.c: Likewise.
11704 * config/frv/frv.h: Likewise.
11705 * config/h8300/h8300.c: Likewise.
11706 * config/h8300/h8300.h: Likewise.
11707 * config/h8300/h8300.md: Likewise.
11708 * config/i386/cygwin.h: Likewise.
11709 * config/i386/i386.h: Likewise.
11710 * config/i386/sysv3.h: Likewise.
11711 * config/i960/i960.h: Likewise.
11712 * config/ia64/ia64.h: Likewise.
11713 * config/ia64/ia64.md: Likewise.
11714 * config/ip2k/ip2k.h: Likewise.
11715 * config/m32r/m32r.h: Likewise.
11716 * config/m68k/m68k.h: Likewise.
11717 * config/m88k/m88k.h: Likewise.
11718 * config/mcore/mcore.c: Likewise.
11719 * config/mcore/mcore.h: Likewise.
11720 * config/mcore/mcore.md: Likewise.
11721 * config/mips/mips.h: Likewise.
11722 * config/mmix/mmix.h: Likewise.
11723 * config/mmix/mmix.md: Likewise.
11724 * config/ns32k/netbsd.h: Likewise.
11725 * config/ns32k/ns32k.h: Likewise.
11726 * config/ns32k/ns32k.md: Likewise.
11727 * config/pa/pa.h: Likewise.
11728 * config/romp/romp.h: Likewise.
11729 * config/rs6000/rs6000.h: Likewise.
11730 * config/rs6000/rs6000.md: Likewise.
11731 * config/sparc/sparc.h: Likewise.
11732 * config/stormy16/stormy-abi: Likewise.
11733 * config/stormy16/stormy16.h: Likewise.
11734 * config/vax/vax.h: Likewise.
11735
4977bab6
ZW
117362002-09-23 Kazu Hirata <kazu@cs.umass.edu>
11737
11738 * config/alpha/alpha.h: Remove commented-out macro
11739 definitions of HAVE_{POST|PRE}_{INC|DEC}REMENT.
11740 * config/avr/avr.h: Likewise.
11741 * config/d30v/d30v.h: Likewise.
11742 * config/dsp16xx/dsp16xx.h: Likewise.
11743 * config/i370/i370.h: Likewise.
11744 * config/i386/i386.h: Likewise.
11745 * config/i960/i960.h: Likewise.
11746 * config/m68k/m68k.h: Likewise.
11747 * config/m88k/m88k.h: Likewise.
11748 * config/mips/mips.h: Likewise.
11749 * config/ns32k/ns32k.h: Likewise.
11750 * config/pdp11/pdp11.h: Likewise.
11751 * config/romp/romp.h: Likewise.
11752 * config/rs6000/rs6000.h: Likewise.
11753 * config/s390/s390.h: Likewise.
11754 * config/sh/sh.h: Likewise.
11755 * config/sparc/sparc.h: Likewise.
11756 * config/stormy16/stormy16.h: Likewise.
11757 * config/vax/vax.h: Likewise.
11758
117592002-09-23 Kazu Hirata <kazu@cs.umass.edu>
11760
11761 * function.c (push_temp_slots_for_block): Remove.
11762 (push_temp_slots_for_target): Likewise.
11763 (get_target_temp_slot_level): Likewise.
11764 (set_target_temp_slot_level): Likewise.
11765 (get_first_block_beg): Likewise.
11766 * function.h: Remove corresponding prototypes.
11767
b4f94ac1
ZW
117682002-09-23 Zack Weinberg <zack@codesourcery.com>
11769
11770 * version.c (version_string): Now const char[].
11771 * version.h: Update to match.
11772
9ef1b13a
RH
117732002-09-23 Richard Henderson <rth@redhat.com>
11774
11775 * config/i386/i386.h (MASK_ACCUMULATE_OUTGOING_ARGS_SET, MASK_MMX_SET,
11776 MASK_SSE_SET, MASK_SSE2_SET, MASK_3DNOW_SET, MASK_3DNOW_A_SET): Kill.
11777 (TARGET_SWITCHES): Don't reference them.
11778 * config/i386/i386.c (override_options): Use target_flags_explicit
11779 to examine bits set by the user.
11780
ca9d6748 117812002-09-23 Dale Johannesen <dalej@apple.com>
9ef1b13a 11782
ca9d6748
DJ
11783 * dbxout.c (dbxout_parms): Set current_sym_code for params
11784 passed on stack by invisible reference.
11785
97d48e5a
RE
117862002-09-23 Richard Earnshaw <rearnsha@arm.com>
11787
11788 * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Always allocate
11789 at least one byte of space.
11790
46c83bce
MM
117912002-09-23 Mark Mitchell <mark@codesourcery.com>
11792
11793 * c-common.h (flag_abi_version): Fix typo in comment.
11794 * doc/invoke.texi (flag_abi_version): Document default value.
11795
acb5d088
HPN
117962002-09-23 Hans-Peter Nilsson <hp@axis.com>
11797
11798 * doc/extend.texi (Extended Asm): Clarify that overlap between
11799 asm-declared register variables used in an asm and the asm clobber
11800 list is not allowed.
11801 * stmt.c (decl_conflicts_with_clobbers_p): New function.
11802 (expand_asm_operands): Keep track of clobbered registers. Call
11803 decl_conflicts_with_clobbers_p for each input and output operand.
11804 If no conflicts found before, also do conflict sanity check when
11805 emitting clobbers.
11806
ddf0fc72
RH
118072002-09-23 Richard Henderson <rth@redhat.com>
11808
11809 * c-common.c (cpp_define_data_format): Remove.
11810 (cb_register_builtins): Don't define __WCHAR_BIT__, __SHRT_BIT__,
11811 __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
11812 __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
11813 * doc/cpp.texi: Don't document them either.
11814 (__SCHAR_MAX__, __SHRT_MAX__, __INT_MAX__, __LONG_MAX__,
11815 __LONG_LONG_MAX__): Document.
11816 (__TARGET_FLOAT_FORMAT__): Remove.
11817
a520ff95
RH
118182002-09-23 Richard Henderson <rth@redhat.com>
11819
11820 * real.c (do_multiply): Normalize U before addition.
11821
2d3e278d
MM
118222002-09-23 Mark Mitchell <mark@codesourcery.com>
11823
11824 * c-common.c (flag_abi_version): New variable.
11825 * c-common.h (flag_abi_version): Declare it.
11826 * c-opts.c (missing_arg): Add -fabi-version.
11827 (c_common_decode_option): Process -fabi-version.
11828 * doc/invoke.texi (-fabi-version): Document it.
11829 (-Wabi): Add information about bit-fields in unions.
b4f94ac1 11830
4977bab6
ZW
118312002-09-22 Roger Sayle <roger@eyesopen.com>
11832
11833 * expr.c (STORE_BY_PIECES_P): New target macro.
11834 (can_store_by_pieces, store_by_pieces): Use STORE_BY_PIECES_P
11835 instead of MOVE_BY_PIECES_P.
11836 * doc/tm.texi: Document this new macro.
11837
173b51b5
JT
118382002-09-22 Jason Thorpe <thorpej@wasabisystems.com>
11839
11840 * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Always pass -KPIC
11841 unless -fno-pic or -fno-PIC is specified.
11842
c219e1da
JDA
118432002-09-22 John David Anglin <dave@hiauly1.hia.nrc.ca>
11844
11845 * c-common.c (preprocessing_trad_p): Define.
11846 * pa-hiux.h, pa-hpux.h, pa-hpux7.h (CPP_PREDEFINES): Delete.
11847 (TARGET_OS_CPP_BUILTINS, SUBTARGET_SWITCHES): Define.
11848 * pa-hpux10.h (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
11849 * pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define.
11850 * pa-linux.h (CPP_PREDEFINES): Delete.
11851 (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
11852 * pa32-linux.h, pa64-linux.h (CPP_SPEC): Delete.
11853 * pa-osf.h, pa-pro-end.h, rtems.h (CPP_PREDEFINES): Delete.
11854 (TARGET_OS_CPP_BUILTINS): Define.
11855 * pa.h (MASK_SIO, TARGET_SIO, TARGET_PA_10): Define.
11856 (TARGET_SWITCHES): Reformat. Use N_() macro. Add SUBTARGET_SWITCHES.
11857 (SUBTARGET_SWITCHES): Provide default definition.
11858 (TARGET_OPTIONS): Reformat. Use N_() macro.
11859 (CPP_PA10_SPEC, CPP_PA11_SPEC, CPP_PA20_SPEC, CPP_64BIT_SPEC,
11860 CPP_CPU_DEFAULT_SPEC, CPP_64BIT_DEFAULT_SPEC, SUBTARGET_EXTRA_SPECS,
11861 EXTRA_SPECS, CPP_SPEC, CPLUSPLUS_CPP_SPEC, CPP_PREDEFINES): Delete.
11862 (TARGET_CPU_CPP_BUILTINS): Define.
11863 (TARGET_OS_CPP_BUILTINS): Define for BSD-like systems.
11864 * doc/invoke.texi (msio, mwsio): Document new hppa options.
11865 * doc/tm.texi (TARGET_CPU_CPP_BUILTINS): Document macro
11866 preprocessing_trad_p().
11867
65a824f6
JT
118682002-09-22 Jason Thorpe <thorpej@wasabisystems.com>
11869
11870 * doc/install.texi: Document behavior of --with-headers and
11871 --with-libs when arguments are omitted.
11872
cc2902df
KH
118732002-09-22 Kazu Hirata <kazu@cs.umass.edu>
11874
11875 * dbxout.c: Follow spelling conventions.
11876 * defaults.h: Likewise.
11877 * df.c: Likewise.
11878 * diagnostic.h: Likewise.
11879 * doloop.c: Likewise.
11880 * dwarf2out.c: Likewise.
11881 * dwarfout.c: Likewise.
11882 * emit-rtl.c: Likewise.
11883 * except.c: Likewise.
11884 * explow.c: Likewise.
11885 * expmed.c: Likewise.
11886 * expr.c: Likewise.
11887 * expr.h: Likewise.
11888 * flags.h: Likewise.
11889 * flow.c: Likewise.
11890 * fold-const.c: Likewise.
11891 * function.c: Likewise.
11892 * function.h: Likewise.
11893 * gcc.c: Likewise.
11894 * gcov-io.h: Likewise.
11895 * gcov.c: Likewise.
11896 * gcse.c: Likewise.
11897 * genattrtab.c: Likewise.
11898 * genconfig.c: Likewise.
11899 * genrecog.c: Likewise.
11900 * ggc-page.c: Likewise.
11901 * ggc.h: Likewise.
11902 * global.c: Likewise.
11903 * gthr-win32.h: Likewise.
11904 * integrate.c: Likewise.
11905 * jump.c: Likewise.
11906 * langhooks.c: Likewise.
11907 * langhooks.h: Likewise.
11908 * line-map.h: Likewise.
11909 * local-alloc.c: Likewise.
11910 * longlong.h: Likewise.
11911 * loop.c: Likewise.
11912 * loop.h: Likewise.
11913
ef49d42e
JH
11914Tue Aug 27 22:26:35 CEST 2002 Jan Hubicka <jh@suse.cz>
11915
11916 * i386.h (BIGGEST_FIELD_ALIGNMENT): Set proper default for x86_64.
11917
11918Tue Aug 27 20:07:01 CEST 2002 Jan Hubicka <jh@suse.cz>
11919
11920 * i386.c (overwrite_options): Set -mpreferred-stack-boundary to 128
11921 for -Os/TARGET_64BIT too.
11922
da7d8304
KH
119232002-09-21 Kazu Hirata <kazu@cs.umass.edu>
11924
11925 * ChangeLog: Follow spelling conventions.
11926 * ChangeLog.0: Likewise.
11927 * ChangeLog.1: Likewise.
11928 * ChangeLog.2: Likewise.
11929 * ChangeLog.3: Likewise.
11930 * ChangeLog.4: Likewise.
11931 * ChangeLog.5: Likewise.
11932 * ChangeLog.6: Likewise.
11933 * FSFChangeLog.10: Likewise.
11934 * FSFChangeLog.11: Likewise.
11935 * alias.c: Likewise.
11936 * basic-block.h: Likewise.
11937 * c-aux-info.c: Likewise.
11938 * c-common.c: Likewise.
11939 * c-common.h: Likewise.
11940 * c-decl.c: Likewise.
11941 * c-format.c: Likewise.
11942 * c-semantics.c: Likewise.
11943 * c-typeck.c: Likewise.
11944 * calls.c: Likewise.
11945 * cfganal.c: Likewise.
11946 * cfgloop.c: Likewise.
11947 * collect2.c: Likewise.
11948 * combine.c: Likewise.
11949 * conflict.c: Likewise.
11950 * cppexp.c: Likewise.
11951 * cppfiles.c: Likewise.
11952 * cpphash.h: Likewise.
11953 * cppinit.c: Likewise.
11954 * cpplex.c: Likewise.
11955 * cpplib.c: Likewise.
11956 * cpplib.h: Likewise.
11957 * cppmacro.c: Likewise.
11958 * cse.c: Likewise.
11959
330cc6c7
RE
119602002-09-21 Richard Earnshaw <rearnsha@arm.com>
11961
11962 * netbsd-aout.h (NETBSD_LINK_SPEC_AOUT): New, takes old definition of
11963 LINK_SPEC.
11964 (LINK_SPEC): Define to NETBSD_LINK_SPEC_AOUT.
11965 * arm/netbsd.h (SUBTARGET_EXTRA_SEPCS): Add NETBSD_LINK_SPEC_AOUT.
11966 (LINK_SPEC): Rework to use NETBSD_LINK_SPEC_AOUT).
11967
5b437e0f
RE
119682002-09-21 Richard Earnshaw <rearnsha@arm.com>
11969
9ee4fa29
RE
11970 PR opt/7930
11971 * cse.c (fold_rtx): Calculate old_cost before we fold each
5b437e0f
RE
11972 operand.
11973
2a15d344
RH
119742002-09-21 Richard Henderson <rth@redhat.com>
11975
11976 * c-common.c (cpp_define_data_format): Remove __GCC_LITTLE_ENDIAN__,
11977 __GCC_BIG_ENDIAN__, __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
11978 __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
11979 __TARGET_USES_VAX_F_FLOAT__, __TARGET_USES_VAX_D_FLOAT__,
11980 __TARGET_USES_VAX_G_FLOAT__, __TARGET_USES_VAX_H_FLOAT__.
11981 * doc/cpp.texi: Don't document them.
11982
3fdacdf9
RH
119832002-09-21 Richard Henderson <rth@redhat.com>
11984
11985 * c-common.c (builtin_define_float_constants): Use real_format
11986 to get the floating-point parameters.
11987
3dc85dfb
RH
119882002-09-21 Richard Henderson <rth@redhat.com>
11989
11990 * real.c (struct real_format): Move to real.h.
11991 (real_format_for_mode): Rename from fmt_for_mode; update all users;
11992 initialize with ieee defaults.
11993 (real_to_target_fmt, real_from_target_fmt): New.
11994 (ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
11995 ieee_extended_intel_96_format, ieee_extended_intel_128_format,
b4f94ac1 11996 ieee_quad_format, i370_single_format, i370_double_format,
3dc85dfb
RH
11997 c4x_single_format, c4x_extended_format): Rename from s/_format//.
11998 (ieee_quad_format): Fix emin.
11999 (format_for_size, init_real_once): Remove.
12000 * real.h (struct real_format): Move from real.c.
12001 (real_format_for_mode): Declare.
12002 (real_to_target_fmt, real_from_target_fmt): Declare.
12003 (ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
12004 ieee_extended_intel_96_format, ieee_extended_intel_128_format,
12005 ieee_quad_format, vax_f_format, vax_d_format, vax_g_format,
12006 i370_single_format, i370_double_format, c4x_single_format,
12007 c4x_extended_format): Declare.
12008 * toplev.c (do_compile): Don't call init_real_once.
12009
12010 * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
12011 * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Remove.
12012
12013 * config/alpha/alpha.h (TARGET_FLOAT_FORMAT): Define.
12014 * config/alpha/osf5.h (LONG_DOUBLE_TYPE_SIZE): 64, if vax mode.
12015 * config/alpha/alpha.c (override_options): Set real_format_for_mode
12016 for VAX, if enabled.
12017
12018 * config/c4x/c4x.c (c4x_override_options): Set real_format_for_mode
12019 for C4X.
12020
12021 * config/i370/i370.h (OVERRIDE_OPTIONS): New.
12022 * config/i370/i370.c (override_options): New.
12023 * config/i370/i370-protos.h: Update.
12024
12025 * config/i386/i386.c (override_options): Set real_format_for_mode
12026 for Intel 80-bit extended.
12027 * config/i386/i386.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
12028
12029 * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Mind -mlong-double-64.
12030 (OVERRIDE_OPTIONS): Move code...
12031 * config/i960/i960.c (i960_initialize): ... here. Set
12032 real_format_for_mode for Intel 80-bit extended.
12033
12034 * config/ia64/ia64.c (ia64_override_options): Set real_format_for_mode
12035 for Intel 80-bit extended, if enabled.
12036
12037 * config/m68k/m68k.c (override_options): Set real_format_for_mode
b4f94ac1 12038 for Motorola 96-bit extended.
3dc85dfb
RH
12039
12040 * config/vax/vax.h (OVERRIDE_OPTIONS): New.
12041 * config/vax/vax.c (override_options): New.
12042 * config/vax/vax-protos.h: Update.
12043
42a6388c
AM
120442002-09-21 Alan Modra <amodra@bigpond.net.au>
12045
84d7dd4a
AM
12046 * config/rs6000/rs6000.md (builtin_setjmp_receiver): Add
12047 #if TARGET_MACHO.
12048
42a6388c
AM
12049 * config/rs6000/rs6000.md (floatdisf2_internal2): Combine
12050 insns. Supply missing clobber of scratch reg.
12051
a0ab749a
KH
120522002-09-20 Kazu Hirata <kazu@cs.umass.edu>
12053
12054 * config/m32r/m32r.c: Follow spelling conventions.
12055 * config/m32r/m32r.h: Likewise.
12056 * config/m32r/m32r.md: Likewise.
12057 * config/m68k/m68k.c: Likewise.
12058 * config/m88k/m88k.c: Likewise.
12059 * config/mcore/mcore.c: Likewise.
12060 * config/mips/mips.c: Likewise.
12061 * config/mips/mips.h: Likewise.
12062 * config/mmix/mmix.c: Likewise.
12063 * config/mn10200/mn10200.c: Likewise.
12064 * config/ns32k/ns32k.h: Likewise.
12065 * config/pa/pa.c: Likewise.
12066 * config/pa/pa64-linux.h: Likewise.
12067 * config/pdp11/pdp11.h: Likewise.
12068 * config/romp/romp.c: Likewise.
12069 * config/romp/romp.h: Likewise.
12070 * config/rs6000/eabi.asm: Likewise.
12071 * config/rs6000/linux64.h: Likewise.
12072 * config/rs6000/rs6000.c: Likewise.
12073 * config/rs6000/rs6000.h: Likewise.
12074 * config/rs6000/rs6000.md: Likewise.
12075 * config/rs6000/sysv4.h: Likewise.
12076 * config/rs6000/xcoff.h: Likewise.
12077
2f0da74c
JW
120782002-09-20 Jim Wilson <wilson@redhat.com>
12079
12080 * config/v850/v850/lib1funcs.asm (__muldi3): Change r5 to r28.
12081
dea73790
JJ
120822002-09-20 Jakub Jelinek <jakub@redhat.com>
12083
12084 * config/i386/i386.md (UNSPEC_GOTNTPOFF, UNSPEC_INDNTPOFF): New.
12085 * config/i386/i386.c (legitimate_pic_address_disp_p): Handle
12086 UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF like UNSPEC_GOTTPOFF.
12087 (legitimate_address_p): Likewise.
12088 (legitimize_address): Use @gotntpoff and @indntpoff.
12089 (output_pic_addr_const): Handle UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF.
12090 (output_addr_const_extra): Likewise.
12091
a9b2f059
JW
120922002-09-20 Jim Wilson <wilson@redhat.com>
12093
12094 * combine.c (try_combine): When split an instruction pair, where the
12095 first has a sign_extend src, verify that the src and dest modes match.
12096
1f7422bd
RH
120972002-09-20 Richard Henderson <rth@redhat.com>
12098
12099 * config/mips/mips.c (dfhigh, dflow, sfhigh, sflow): Remove.
12100 (override_options): Do not initialize them.
12101 (mips_const_double_ok): Allow no fp constants except zero,
12102 and not even that for mips16.
12103 (const_float_1_operand): Use dconst1.
12104 * config/mips/mips.md (movsf, movsf_internal1, movsf_internal2,
12105 movdf, movdf_internal1, movdf_internal1a, movdf_internal2):
6d8dd940 12106 Don't allow arbitrary constants; fix predicates and C constraint.
1f7422bd 12107
56941bf2
NB
121082002-09-20 Neil Booth <neil@daikokuya.co.uk>
12109
12110 * cppmacro.c: Don't warn about function-like macros without
27eba309 12111 '(' during pre-expansion.
56941bf2 12112
66a0dfeb
JW
121132002-09-20 Jim Wilson <wilson@redhat.com>
12114
12115 * config/v850/v850.c (current_function_anonymous_args): Delete.
12116 (expand_prologue): Use current_function_args_info.anonymous_args.
12117 (expand_epilogue): Delete use of current_function_anonymous_args.
12118 * config/v850/v850.h (struct cum_arg): Add anonymous_args field.
12119 (INIT_CUMULATIVE_ARGS): Clear anonymous_args field.
12120 (current_function_anonymous_args): Delete extern declaration.
12121 (SETUP_INCOMING_VARARGS): Set anonymous_args field.
12122
97b23853
GK
121232002-09-20 Geoffrey Keating <geoffk@apple.com>
12124
f51eee6a
GK
12125 * config/rs6000/rs6000.c (rs6000_emit_prologue): Update for change
12126 to load_macho_picbase.
12127 * config/rs6000/rs6000.md: Document Darwin-specific unspec IDs.
12128 (load_macho_picbase): Take the symbol to use as a parameter.
12129 (macho_correct_pic): New insn.
12130 (builtin_setjmp_reciever): On Darwin, restore the PIC register.
12131
97b23853
GK
12132 * config/rs6000/rs6000.h (ELIMINABLE_REGS): Use
12133 RS6000_PIC_OFFSET_TABLE_REGNUM rather than hardcoding 30.
12134 (CAN_ELIMINATE): Likewise.
12135 (INITIAL_ELIMINATION_OFFSET): Likewise.
12136 (TOC_REGISTER): Likewise.
12137
46b33600
RH
121382002-09-20 Richard Henderson <rth@redhat.com>
12139
12140 * real.c (real_hash): New.
12141 * real.h: Declare it.
12142 * cse.c (canon_hash): Use it.
12143 * cselib.c (hash_rtx): Likewise.
12144 * emit-rtl.c (const_double_htab_hash): Likewise.
12145 * rtl.h (CONST_DOUBLE_REAL_VALUE): New.
12146 * varasm.c (struct rtx_const): Reduce vector size; separate
12147 integer and fp vectors.
12148 (HASHBITS): Remove.
12149 (const_hash_1): Rename from const_hash. Use real_hash. Do not
12150 take modulus MAX_HASH_TABLE.
12151 (const_hash): New. Do take modulus MAX_HASH_TABLE.
12152 (output_constant_def): Do not take modulus MAX_HASH_TABLE.
12153 (SYMHASH): Don't use HASHBITS.
12154 (decode_rtx_const): Copy only active bits from REAL_VALUE_TYPE.
12155 Fix CONST_VECTOR thinko wrt fp vectors. Fix kind comparison.
12156 (simplify_subtraction): Fix kind comparison.
12157 (const_hash_rtx): Return unsigned int. Don't use HASHBITS.
12158 Use a union to pun integer array.
12159 * config/rs6000/rs6000.c (rs6000_hash_constant): Use real_hash;
12160 only hash two words of integral CONST_DOUBLE.
12161
40ad65d0
SE
121622002-09-20 Steve Ellcey <sje@cup.hp.com>
12163
12164 * config/ia64/hpux.h (STARTFILE_SPEC): Modify.
12165 (STARTFILE_PREFIX_SPEC): New.
12166 (LINK_SPEC): Modify.
12167 (LIB_SPEC): Modify.
12168 (LIBGCC_SPEC): New.
12169
600f3392
JJ
121702002-09-20 Jakub Jelinek <jakub@redhat.com>
12171
12172 * config/i386/i386.c (legitimate_pic_address_disp_p): Allow
12173 UNSPEC_NTPOFF and UNSPEC_DTPOFF to be offsetted by constant.
12174
c1ff6200
JD
121752002-09-20 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
12176
12177 * config/arm/arm.md (sign_extract_onebit, not_signextract_onebit):
12178 Add clobber of the condition code register.
12179
60b78700
RH
121802002-09-20 Richard Henderson <rth@redhat.com>
12181
12182 * real.c (do_fix_trunc): Static.
12183 (encode_ieee_single, encode_ieee_double, encode_ieee_extended,
12184 encode_ieee_quad, encode_vax_f, encode_vax_d, encode_vax_g,
12185 encode_i370_single, encode_i370_double, encode_c4x_single,
12186 encode_c4x_extended): Add default abort case.
12187
0ee6fdb5
RH
121882002-09-20 Richard Henderson <rth@redhat.com>
12189
12190 * real.h (enum real_value_class, SIGNIFICAND_BITS, EXP_BITS,
12191 MAX_EXP, SIGSZ, SIG_MSB, struct real_value): Move from real.c.
12192 (struct realvaluetype): Remove.
12193 (REAL_VALUE_TYPE): Use struct real_value.
12194 (REAL_VALUE_TYPE_SIZE): Use SIGNIFICAND_BITS.
12195 (test_real_width): New.
12196 * real.c: Global replace struct real_value with REAL_VALUE_TYPE.
12197 (real_arithmetic): Avoid hoops for REAL_VALUE_TYPE parameters.
12198 (real_compare, real_exponent, real_ldexp, real_isinf, real_isnan,
12199 real_isneg, real_isnegzero, real_identical, exact_real_inverse,
12200 real_to_integer, real_to_integer2, real_to_decimal,
12201 real_to_hexadecimal, real_from_string, real_from_integer,
12202 real_inf, real_nan, real_2expN, real_convert, real_to_target,
12203 real_from_target): Likewise.
12204 * tree.h (struct tree_real_cst): Use real_value not realvaluetype.
12205 * gengtype-yacc.y (bitfieldopt): Accept an ID as well.
12206
66d93b5a
RH
122072002-09-20 Richard Henderson <rth@redhat.com>
12208
12209 * real.h (UNKNOWN_FLOAT_FORMAT, IEEE_FLOAT_FORMAT, VAX_FLOAT_FORMAT,
12210 IBM_FLOAT_FORMAT, C4X_FLOAT_FORMAT, TARGET_FLOAT_FORMAT): Move ...
12211 * defaults.h: ... here.
12212 * config/arm/arm.h, config/avr/avr.h, config/d30v/d30v.h,
12213 config/fr30/fr30.h, config/frv/frv.h, config/ia64/ia64.h,
12214 config/ip2k/ip2k.h, config/mips/mips.h, config/stormy16/stormy16.h,
12215 config/xtensa/xtensa.h (TARGET_FLOAT_FORMAT): Remove.
12216
6ee3db61
HPN
122172002-09-20 Hans-Peter Nilsson <hp@bitrange.com>
12218
12219 * config/mmix/mmix.md ("negdf2"): Rewrite.
12220 ("*expanded_negdf2"): New.
12221
ff076520
JW
122222002-09-19 Jim Wilson <wilson@redhat.com>
12223
12224 * combine.c (simplify_set): When optimizing a subreg src with a
12225 cc0 dest, use GET_MODE (src) for mask instead of inner_mode.
12226
307f767b
DJ
122272002-09-19 Dale Johannesen <dalej@apple.com>
12228 * combine.c (make_extraction): Don't create
12229 invalid subreg.
12230
4977bab6
ZW
122312002-09-19 Roger Sayle <roger@eyesopen.com>
12232
12233 * tree.c (integer_nonzerop): New predicate for nonzero integers.
12234 * tree.h (integer_nonzerop): Add function prototype.
12235 * stmt.c (expand_end_loop): Don't rotate the loop when there
12236 are no instructions in the test, i.e. the loop is unconditional.
12237 (expand_exit_loop_if_false): Optimize RTL generation of loop
12238 tests when the condition is always true or always false.
12239 * c-semantics.c (genrtl_do_stmt): Optimize RTL generation of
12240 do-loops when the condition is always true.
12241 (genrtl_for_stmt): Optimize RTL generation of for-loops when
12242 the for-expression is empty.
12243
122442002-09-19 Zack Weinberg <zack@codesourcery.com>
12245
12246 * gcc.c (use_pipes): New flag.
12247 (process_command): Set it. Adjust check for -pipe conflicting
12248 with -time or -save-temps.
12249 (do_spec_1): Use it. Handle %|SUFFIX, %mSUFFIX, and
12250 %<SWITCH. Drop %| (without a SUFFIX).
12251 (handle_braces): Drop %{<SWITCH}, %{^SWITCH}, %{|...}.
12252 (give_switch): Third argument eliminated.
12253 (invoke_as, @assembler_with_cpp spec): Use %|.s or %m.s
12254 depending on AS_NEEDS_DASH_FOR_PIPED_INPUT.
12255 (specs documentation comment): Update.
12256
12257 * config/netbsd-aout.h, config/openbsd.h, config/ptx4.h,
12258 config/svr4.h, config/i386/freebsd-aout.h,
12259 config/m68k/netbsd-elf.h, config/m68k/netbsd.h,
12260 config/m68k/openbsd.h, config/mips/openbsd.h,
12261 config/sparc/sparc.h: Define AS_NEEDS_DASH_FOR_PIPED_INPUT
12262 instead of putting %| into ASM_SPEC and/or ASM_FINAL_SPEC.
12263 * config/avr/avr.h: Delete do-nothing ASM_FINAL_SPEC.
12264 * config/cris/cris.h: Update comment.
12265
12266 * ada/lang-specs.h: Use %(invoke_as). Straighten out
12267 error messages. Don't use %{^SWITCH}.
12268 * ada/misc.c (gnat_decode_option): Handle -I with a
12269 separate argument.
12270
12271 * f/lang-specs.h: Use %| and %m.
12272 * java/jvspec.c: Use %m and %(invoke_as). Change all
12273 uses of %{<SWITCH} to %<SWITCH.
12274
12275 * doc/invoke.texi: Update documentation of specs.
12276 * doc/tm.texi: Document AS_NEEDS_DASH_FOR_PIPED_INPUT.
12277
cc7ab9b7
UW
122782002-09-19 Ulrich Weigand <uweigand@de.ibm.com>
12279
b4f94ac1 12280 * config/s390/s390.c (addr_generation_dependency_p): Handle SUBREG
cc7ab9b7
UW
12281 and STRICT_LOW_PART within SET_DEST.
12282 * config/s390/s390.md ("*extractqi", "*extracthi"): New insns with
12283 splitters, replacing pre-reload splitters.
b4f94ac1 12284 ("*zero_extendhisi2_31", "*zero_extendqisi2_31",
cc7ab9b7
UW
12285 "*zero_extendqihi2_31"): New insns.
12286 ("*zero_extendqihi2_64"): Do not clobber CC.
12287
4977bab6
ZW
122882002-09-18 Devang Patel <dpatel@apple.com>
12289
12290 * cp/cp-tree.h: New prototype for walk_vtables().
12291 * cp/decl.c (walk_vtables_r): New function.
12292 (struct cp_binding_level): Add new members, namespaces,
12293 names_size and vtables.
12294 (add_decl_to_level): Add decl in namespaces or vtables
12295 chain, if conditions match.
12296 (walk_vtables): New function.
12297 (walk_namespaces_r): Travers separate namespace chain
12298 for namespace decls.
12299 (wrapup_globals_for_namespace): Use names_size instead
12300 of list_length().
12301 * cp/decl2.c (finish_file): Use walk_vtables() instead of
12302 walk_globals() to walk vtable decls.
12303
b64ddb88
SE
123042002-09-19 Steve Ellcey <sje@cup.hp.com>
12305
12306 * config/ia64/hpux.h (CTORS_SECTION_ASM_OP): New.
12307 (DTORS_SECTION_ASM_OP): Ditto.
12308 (READONLY_DATA_SECTION_ASM_OP): Moved.
12309 (DATA_SECTION_ASM_OP): New.
12310 (SDATA_SECTION_ASM_OP): New.
12311 (BSS_SECTION_ASM_OP): New.
12312 (SBSS_SECTION_ASM_OP): New.
12313 (TEXT_SECTION_ASM_OP): New.
12314
9cd10576
KH
123152002-09-19 Kazu Hirata <kazu@cs.umass.edu>
12316
12317 * config/fp-bit.c: Follow spelling conventions.
12318 * config/d30v/d30v.c: Likewise.
12319 * config/d30v/d30v.h: Likewise.
12320 * config/fr30/fr30.c: Likewise.
12321 * config/fr30/fr30.h: Likewise.
12322 * config/fr30/fr30.md: Likewise.
12323 * config/frv/frv.c: Likewise.
12324 * config/frv/frv.h: Likewise.
12325 * config/h8300/h8300.c: Likewise.
12326 * config/h8300/lib1funcs.asm: Likewise.
12327 * config/i370/i370.c: Likewise.
12328 * config/i386/i386.h: Likewise.
12329 * config/i386/i386.md: Likewise.
12330 * config/i386/pentium.md: Likewise.
12331 * config/i386/winnt.c: Likewise.
12332 * config/i960/i960.c: Likewise.
12333 * config/ia64/ia64.h: Likewise.
12334 * config/ip2k/ip2k.c: Likewise.
12335 * config/ip2k/ip2k.h: Likewise.
12336 * config/ip2k/ip2k.md: Likewise.
12337 * config/ip2k/libgcc.S: Likewise.
12338
fff08fd8
SC
123392002-09-19 Stephen Clarke <stephen.clarke@superh.com>
12340
12341 * config/sh/sh.h (UNSPEC_GOTOFF_P): Define.
12342 (GOTOFF_P): Extend to allow gotoff plus constant.
12343
bf3d27e6
RH
123442002-09-18 Richard Henderson <rth@redhat.com>
12345
12346 * ifcvt.c (noce_process_if_block): Correctly detect X modified
b4f94ac1 12347 with INSN_B before COND_EARLIEST. Don't check A and B for
bf3d27e6
RH
12348 modification in condition range. Reorder INSN_B for A==B properly.
12349 (if_convert): Iterate until no matches for a block.
12350
1b1f20ca
RH
123512002-09-18 Richard Henderson <rth@redhat.com>
12352
12353 * calls.c (store_one_arg): Rename default_align to parm_align;
12354 always adjust parm_align for downward padding.
12355
724838b9
RH
123562002-09-18 Richard Henderson <rth@redhat.com>
12357
12358 * toplev.c (backend_init): Move init_real_once invocation ...
12359 (do_compile): ... here.
12360
2c67b7c6
RH
123612002-09-18 Richard Henderson <rth@redhat.com>
12362
12363 * sibcall.c (optimize_sibling_and_tail_recursive_call): Also remove
12364 RTX_UNCHANGING_P markers for successful tail-recursive replacement.
12365
15769ca3
RH
123662002-09-18 Richard Henderson <rth@redhat.com>
12367
12368 * real.c (round_for_format): Collect sticky as unsigned long, not bool.
12369
678b7733
AM
123702002-09-19 Alan Modra <amodra@bigpond.net.au>
12371
12372 * config/rs6000/rs6000.md: (floatdisf2): Rename to
12373 floatdisf2_internal1.
12374 (floatdisf2): New define_expand.
12375 (floatdisf2_internal2): Likewise.
12376
c402b6bf
RH
123772002-09-18 Richard Henderson <rth@redhat.com>
12378
b4f94ac1 12379 * real.c (sticky_rshift_significand): Collect sticky as
c402b6bf
RH
12380 unsigned long, not bool.
12381
dea09b1b
UW
123822002-09-18 Ulrich Weigand <uweigand@de.ibm.com>
12383
12384 * config/s390/s390.c (s390_address_cost): New function.
12385 config/s390/s390-protos.h (s390_address_cost): Add prototype.
12386 config/s390/s390.h (ADDRESS_COST): Call s390_address_cost.
12387 (RTX_COST): Use COSTS_N_INSNS.
12388
e4850f36
DR
123892002-09-18 Douglas Rupp <rupp@gnat.com>
12390 Donn Terry <donnte@microsoft.com>
12391
12392 * stor-layout.c (place_field): Handle alignment of whole
12393 structures when MSVC compatible bitfields are involved.
12394 Change method of computing location of MS bitfields to
12395 be compatible with #pragma pack(n).
12396
12397 * tree.h (record_layout_info): Add new field
12398 remaining_in_alignment.
12399
12400 * doc/tm.texi: (TARGET_MS_BITFIELD_LAYOUT_P): Update.
4977bab6 12401 (pragma pack): Add paragraph on MSVC bitfield packing.
e4850f36 12402
872e50d3
RE
124032002-09-18 Richard Earnshaw (reanrsha@arm.com)
12404
12405 PR optimization/7967
12406 * arm.md (ne_zeroextractsi): Add clobber of the condition code
12407 register.
12408
5e7a8ee0
KH
124092002-09-18 Kazu Hirata <kazu@cs.umass.edu>
12410
9cd10576 12411 * config/s390/s390.c: Follow spelling conventions.
5e7a8ee0
KH
12412 * config/sh/lib1funcs.asm: Likewise.
12413 * config/sh/sh.c: Likewise.
12414 * config/sh/sh.h: Likewise.
12415 * config/sparc/sparc.c: Likewise.
12416 * config/sparc/sparc.h: Likewise.
12417 * config/sparc/sparc.md: Likewise.
12418 * config/stormy16/stormy16.c: Likewise.
12419 * config/stormy16/stormy16.h: Likewise.
12420 * config/v850/v850.c: Likewise.
12421 * config/v850/v850.h: Likewise.
12422 * config/vax/vax.c: Likewise.
12423 * config/vax/vax.h: Likewise.
12424
00a892b8
NC
124252002-09-18 Nick Clifton <nickc@redhat.com>
12426
12427 * config/rs60000/rs6000.c (rs6000_emit_move): Handle V1DImode moves.
12428 * config/rs60000/rs6000.c (SPE_VECTOR_MODE): Include V1DImode.
12429 * config/rs6000/spe.md (movv1di, movv1di_internal): New patterns.
12430
4977bab6
ZW
124312002-09-17 Kazu Hirata <kazu@cs.umass.edu>
12432
12433 * function.c (max_parm_reg_num): Remove.
12434 * stmt.c (in_control_zone_p, stmt_loop_nest_empty,
12435 drop_through_at_end_p, move_cleanups_up,
12436 expand_end_case_dummy, case_index_expr_type): Likewise.
12437 * stor-layout.c (pos_from_byte): Likewise.
12438 * tree.c (chain_member_value, chain_member_purpose, listify,
12439 tree_int_cst_msb, index_type_equal): Likewise.
12440 * tree.h: Remove prototypes for unused functions.
12441
bfb53001
ZW
124422002-09-17 Zack Weinberg <zack@codesourcery.com>
12443
12444 * ABOUT-GCC-NLS: Remove reference to enquire, and out-of-date
12445 statement that the only translation is to en_UK.
12446
825dda42
KH
124472002-09-17 Kazu Hirata <kazu@cs.umass.edu>
12448
12449 * config/alpha/alpha.c: Follow spelling conventions.
12450 * config/alpha/alpha.h: Likewise.
12451 * config/alpha/alpha.md: Likewise.
12452 * config/arc/arc.h: Likewise.
12453 * config/arm/arm.c: Likewise.
12454 * config/arm/arm.h: Likewise.
12455 * config/arm/arm.md: Likewise.
12456 * config/arm/pe.c: Likewise.
12457 * config/arm/unknown-elf.h: Likewise.
12458 * config/avr/avr.c: Likewise.
12459 * config/avr/avr.h: Likewise.
12460 * config/c4x/c4x.c: Likewise.
12461 * config/cris/cris.c: Likewise.
12462 * config/cris/cris.h: Likewise.
12463
8e16ab99 124642002-09-17 Samuel Figueroa <figueroa@apple.com>
825dda42 12465
8e16ab99
SF
12466 * final.c (final_scan_insn): Use new macro ASM_OUTPUT_ALIGN_WITH_NOP.
12467 * config/sparc/sparc.h (ASM_OUTPUT_ALIGN_WITH_NOP) New macro.
12468 * doc/tm.texi (ASM_OUTPUT_ALIGN_WITH_NOP) New description.
12469
ac19be7e 124702002-09-17 Dale Johannesen <dalej@apple.com>
825dda42 12471
ac19be7e
DJ
12472 * cfgcleanup.c (try_forward_edges): Do not forward a
12473 branch to just after a loop exit before loop optimization;
12474 this interfered with doloop detection.
12475
f1acdf8b
NC
124762002-09-17 Nick Clifton <nickc@redhat.com>
12477
12478 * config/arm/arm.c (output_return_instruction): Do not
12479 writeback the stack pointer when it is being loaded.
12480 (arm_output_epilogue): Likewise.
12481
24491a09
KH
124822002-09-17 Kazu Hirata <kazu@cs.umass.edu>
12483
12484 * optabs.c (prepare_cmp_insn): Let emit_library_call_value
12485 generate a pseudo reg that receives the result of a libcall.
12486 (prepare_float_lib_cmp): Likewise.
12487
e6c247e0
SE
124882002-09-17 Steve Ellcey <sje@cup.hp.com>
12489
b4f94ac1 12490 * config/ia64/elf.h: Remove CPP_PREDEFINES.
e6c247e0 12491
1074d9d4
NP
12492Tue Sep 17 13:58:04 2002 Nicola Pero <n.pero@mi.flashnet.it>
12493
12494 Fix PR/7014 and related objc bugs:
12495 * c-typeck.c (comp_target_types): Added a reflexive argument.
12496 Pass it to ObjC when/if calling objc_comptypes(). Updated all
12497 callers to provide the appropriate reflexive argument.
12498 * objc/objc-act.c (objc_comptypes): Carefully checked and fixed
12499 typechecking for all cases of comparisons and assignments,
12500 particularly the obscure and less common ones involving protocols.
12501
256e9fd2
NC
125022002-09-17 Nick Clifton <nickc@redhat.com>
12503
12504 * machmode.def (V1DImode): New mode. A single element vector.
12505 * tree.h (TI_UV1DI_TYPE, TI_V1DI_TYPE): New tree_index enums.
12506 (unsigned_V1DI_type_node, V1D1_type_node): New type nodes.
12507 * tree.c (build_common_tree_nodes_2): Build
12508 unsigned_V1DI_type_node and V1D1_type_node.
12509 * c-common.c (c_common_type_for_mode): Return
12510 unsigned_V1DI_type_node or V1D1_type_node for V1DImode.
12511 * rtl.c (class_narrowest_): Start integer vector nodes with V1DImode.
12512
838c4534
NP
12513Tue Sep 17 13:40:13 2002 Nicola Pero <n.pero@mi.flashnet.it>
12514
12515 * doc/objc.texi (Constant string objects): Extended documentation
12516 to make clear that the constant string class ivar layout is
12517 completely fixed.
b4f94ac1 12518
07532fad
RS
125192002-09-17 Roger Sayle <roger@eyesopen.com>
12520
12521 * cfgrtl.c (flow_delete_block_noexpunge): Delete orphaned
12522 NOTE_INSN_LOOP_CONT notes when deleting basic blocks.
12523
4977bab6
ZW
125242002-09-16 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
12525
12526 * config/mips/mips.c (save_restore_insns): Remove unused variable.
12527 * gcc.c (make_relative_prefix): Likewise.
12528 * loop.c (check_final_value): Likewise.
12529 * jump.c (init_label_info): Remove return value.
12530 * cse.c (prev_insn): Move variable between #ifdef HAVE_cc0 ... #endif.
12531
125322002-09-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12533
12534 * dsp16xx.h (ASM_FORMAT_PRIVATE_NAME): Delete.
12535 (ASM_PN_FORMAT): Define.
12536
125372002-09-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12538
12539 * alpha.h, alpha/vms.h, arc.h, arm/aof.h, arm/aout.h, avr.h,
12540 c4x.h, cris.h, d30v.h, fr30.h, frv.h, h8300.h, i370.h, i386.h,
12541 i960.h, ia64.h, ip2k.h, m32r.h, m68hc11.h, m68k/3b1.h,
12542 m68k/hp320.h, m68k.h, m68k/mot3300.h, m68k/sgs.h, m68k/tower-as.h,
12543 m88k.h, mcore.h, mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h,
12544 pa.h, pdp11.h, romp.h, rs6000.h, s390/linux.h, sh.h, sparc.h,
12545 stormy16.h, v850.h, vax.h, xtensa.h (ASM_FORMAT_PRIVATE_NAME):
12546 Delete.
12547 * alpha/vms.h, h8300.h, i370.h, ia64.h, m68k/3b1.h, m68k/hp320.h,
12548 m68k/mot3300.h, m68k/sgs.h, m68k/tower-as.h, mmix.h, mn10200.h,
12549 mn10300.h, pa.h, v850.h (ASM_PN_FORMAT): Define.
12550
12551 * defaults.h (ASM_PN_FORMAT, ASM_FORMAT_PRIVATE_NAME): Define.
12552 * doc/tm.texi (ASM_FORMAT_PRIVATE_NAME): Update documentation.
12553
cb38fd88
RH
125542002-09-16 Richard Henderson <rth@redhat.com>
12555
12556 * expr.c (emit_block_move): Set memory block size as appropriate
12557 for the copy.
12558
bd055118
RH
125592002-09-16 Richard Henderson <rth@redhat.com>
12560
12561 PR fortran/3924
b4f94ac1 12562 * sdbout.c (sdbout_symbol): Don't handle offsets from a symbol.
bd055118 12563
8c317c5f
RH
125642002-09-16 Richard Henderson <rth@redhat.com>
12565
12566 * emit-rtl.c (set_mem_attributes_minus_bitpos): Adjust SIZE
12567 as well as OFFSET for BITPOS.
12568
3780101d
JG
125692002-09-16 Jeff Garzik <jgarzik@mandrakesoft.com>
12570
b4f94ac1
ZW
12571 * config.gcc: Treat winchip_c6-*|winchip2-*|c3-* as pentium-mmx.
12572 * config/i386/i386.c (processor_alias_table): Add winchip-c6,
3780101d 12573 winchip2 and c3.
b4f94ac1 12574 * doc/invoke.texi: Mention new aliases.
3780101d 12575
9dff28ab
JDA
125762002-09-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
12577
12578 * calls.c (store_one_arg): Set default alignment for BLKmode arguments
12579 to BITS_PER_UNIT when ARGS_GROW_DOWNWARD and the padding direction is
12580 downward.
12581 * function.c (pad_below): Always compile.
12582 (locate_and_pad_parm): If defined ARGS_GROW_DOWNWARD, pad argument to
12583 alignment when it is not in a register or REG_PARM_STACK_SPACE is true.
12584 Pad below when the argument is not in a register and the padding
12585 direction is downward.
12586
12587 * pa-64.h (MUST_PASS_IN_STACK): Move define to pa.h.
12588 (PAD_VARARGS_DOWN): Define.
12589 * pa.c (function_arg_padding): Revise padding directions to make them
12590 compatible with the 32 and 64-bit runtime architecture documentation.
12591 (hppa_va_arg): Add code to handle variable and size zero arguments
12592 passed by reference on TARGET_64BIT. Reformat.
12593 (function_arg): Use a PARALLEL for BLKmode and aggregates args on
12594 TARGET_64BIT. Use a DImode PARALLEL for BLKmode args 5 to 8 bytes
12595 wide when !TARGET_64BIT. Move forward check for mode==VOIDmode.
12596 Add comments.
12597 * pa.h (MAX_PARM_BOUNDARY): Correct define for TARGET_64BIT.
12598 (RETURN_IN_MEMORY): Return size zero types in memory.
12599 (FUNCTION_VALUE): Return TFmode in general registers.
12600 (MUST_PASS_IN_STACK): Define.
12601 (FUNCTION_ARG_BOUNDARY): Simplify.
12602 (FUNCTION_ARG_PASS_BY_REFERENCE): Pass variable and zero sized types
12603 by reference.
12604 (FUNCTION_ARG_CALLEE_COPIES): Define to FUNCTION_ARG_PASS_BY_REFERENCE.
12605
94313f35
RH
126062002-09-16 Richard Henderson <rth@redhat.com>
12607
12608 * real.c (do_fix_trunc): New.
12609 (real_arithmetic): Call it.
12610 * simplify-rtx.c (simplify_unary_operation): Handle FIX
12611 with a floating-point result mode.
12612
1472e41c
RH
126132002-09-16 Richard Henderson <rth@redhat.com>
12614
12615 * builtin-types.def (BT_FN_FLOAT_CONST_STRING): New.
12616 (BT_FN_DOUBLE_CONST_STRING, BT_FN_LONG_DOUBLE_CONST_STRING): New.
12617 * builtins.def (__builtin_nan, __builtin_nanf, __builtin_nanl): New.
12618 (__builtin_nans, __builtin_nansf, __builtin_nansl): New.
12619 * builtins.c (fold_builtin_nan): New.
12620 (fold_builtin): Call it.
12621 * real.c (real_nan): Parse a non-empty string.
12622 (round_for_format): Fix NaN significand truncation.
12623 * real.h (real_nan): Return bool.
12624 * doc/extend.texi: Document new builtins.
12625
f354b828
JM
126262002-09-16 Jason Merrill <jason@redhat.com>
12627 Danny Smith <dannysmith@users.sourceforge.net>
12628
12629 * config/i386/winnt.c (ix86_handle_dll_attribute): Set
12630 DECL_EXTERN and TREE_PUBLIC for dllimported variables here...
12631 (i386_pe_mark_dllimport): Not here.
12632
85341ddd
NS
126332002-09-16 Nathan Sidwell <nathan@codesourcery.com>
12634
12635 * c-semantics.c (genrtl_do_stmt): Cope with NULL cond.
12636
045572c7
GK
126372002-09-16 Geoffrey Keating <geoffk@redhat.com>
12638
12639 * config/rs6000/rs6000.c (build_mask64_2_operands): Suppress
12640 warnings about unused operands when HOST_BITS_PER_WIDE_INT is
12641 < 64.
12642 (rs6000_emit_cmove): Use real_isinf not target_isinf.
12643
d57551c7
KH
126442002-09-16 Kazu Hirata <kazu@cs.umass.edu>
12645
12646 * calls.c (emit_library_call_value_1): Don't refer to
12647 hard_libcall_value.
12648 * optabs.c (prepare_float_lib_cmp): Likewise.
12649
36a5eadd
GK
126502002-09-16 Geoffrey Keating <geoffk@apple.com>
12651
12652 * ggc-common.c (ggc_mark_rtx_children_1): Update for changed name
12653 mangling.
12654
12655 The following changes are merged from pch-branch:
12656
12657 * doc/gty.texi (GTY Options): Document %a.
12658 * gengtype.c (do_scalar_typedef): New function.
12659 (process_gc_options): Handle `length' option.
12660 (set_gc_used_type): A pointer to an array of structures doesn't
12661 qualify as a pointer to a structure.
12662 (output_escaped_param): Add `%a' escape.
12663 (write_gc_structure_fields): Allow 'desc' on array of unions.
12664 (main): Define `uint8', `jword' and `JCF_u2' as scalars; use
12665 do_scalar_typedef.
12666
12667 * gengtype.c (enum rtx_code): Make global.
12668 (rtx_format): Make global.
12669 (rtx_next): New.
12670 (gen_rtx_next): New.
12671 (write_rtx_next): New.
12672 (adjust_field_rtx_def): Skip fields marked by chain_next.
12673 (open_base_files): Delete redundant prototype.
12674 (write_enum_defn): New.
12675 (output_mangled_typename): Correct abort call.
12676 (write_gc_marker_routine_for_structure): Handle chain_next and
12677 chain_prev options.
12678 (finish_root_table): Don't output redundant \n.
12679 (main): Call gen_rtx_next, write_rtx_next, write_enum_defn.
12680 * c-tree.h (union lang_tree_node): Add chain_next option.
12681
12682 * gengtype.h (NUM_PARAM): New definition.
12683 (struct type): For TYPE_PARAM_STRUCT, allow multiple parameters.
12684 * gengtype.c (find_param_structure): New.
12685 (adjust_field_type): Handle param<n>_is option.
12686 (process_gc_options): Detect use_params option. Update callers.
12687 (set_gc_used_type): Add 'param' parameter, update callers. Handle
12688 'use_params' option.
12689 (open_base_files): Add splay-tree.h to list of files included.
12690 (output_mangled_typename): New.
12691 (write_gc_structure_fields): Update 'param' parameter to support
12692 multiple parameters. Change name mangling. Allow parameterized
12693 fields to have an apparent scalar type. Handle param<n>_is options,
12694 use_param option.
12695 (write_gc_marker_routine_for_structure): Update for change to name
12696 mangling. Better guess the output file for parameterized types.
12697 (write_gc_types): Update for change to name mangling.
12698 (write_gc_root): Update for change to name mangling. Handle (ignore)
12699 param<n>_is options.
12700 * doc/gty.texi (GTY Options): Add description of param<n>_is
12701 options, use_params option.
12702 * ggc.h (ggc_mark_rtx): Update for changed name mangling.
12703 * gengtype-lex.l: Produce token for param<n>_is.
12704 * gengtype-yacc.y: Parse param<n>_is.
12705
12706 * gengtype.c (adjust_field_tree_exp): Don't name a variable 'rindex'.
12707
12708 * rtl.c: Update comment describing rtx_format.
12709 * rtl.h (union rtunion): Separate definition and typedef.
12710 (struct rtx_def): Use gengtype to mark.
12711 * Makefile.in (gengtype.o): Also depend on rtl.def.
12712 * ggc.h (ggc_mark_rtx_children): Delete prototype.
12713 (ggc_mark_rtx): Change to alias of gengtype-generated routine.
12714 * ggc-common.c (ggc_mark_rtx_children): Delete.
12715 (ggc_mark_rtx_children_1): Delete.
12716 (gt_ggc_m_rtx_def): Delete.
12717 * gengtype.c (adjust_field_rtx_def): New.
12718 (adjust_field_type): Call adjust_field_rtx_def.
12719 (write_gc_structure_fields): Add 'default' case to switch if none
12720 is specified; remove unused code.
12721
12722 * tree.h (struct tree_exp): Update for change to meaning
12723 of special.
12724 * gengtype.c (adjust_field_tree_exp): New function.
12725 (adjust_field_type): Handle `tree_exp' special here.
12726 (write_gc_structure_fields): Don't handle `tree_exp' special here.
12727 Handle new `dot' option.
12728
12729 * gengtype.h: Make `info' a pointer-to-const.
12730 * gengtype-yacc.y (yacc_ids): Use xasprintf.
12731
12732 * gengtype.c (write_gc_structure_fields): Remove implementation
12733 of `always' option, add `default' option.
12734 * doc/gty.texi (GTY Options): Remove documentation of `always',
12735 add `default'.
12736
a7f6d760
HPN
127372002-09-16 Hans-Peter Nilsson <hp@bitrange.com>
12738
12739 * output.h: Remove #ifdef RTX_CODE and #ifdef TREE_CODE.
12740
245ff137
KG
127412002-09-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12742
7c3414b6
KG
12743 * m68hc11.md (addhi_sp): Fix uninitialized variable bug.
12744
245ff137
KG
12745 * c4x-c.c, c4x.c, darwin.c, i370-c.c, m32r.c: Include tm_p.h
12746 instead of the *-protos.h file directly.
12747 * t-c4x, t-i370, t-v850: Depend on $(TM_P_H).
12748 * darwin.c (machopic_output_stub): Move prototype ...
12749 * darwin-protos.h (machopic_output_stub): ... here.
12750 * rs6000-protos.h (machopic_output_stub): Don't declare.
12751
ac520ec9
RH
127522002-09-16 Richard Henderson <rth@redhat.com>
12753
12754 * c-common.c (builtin_define_float_constants): Emit __FOO_DENORM_MIN__.
12755
efdc7e19
RH
127562002-09-16 Richard Henderson <rth@redhat.com>
12757
12758 * real.c, real.h: Rewrite from scratch.
12759
12760 * Makefile.in (simplify-rtx.o): Depend on TREE_H.
12761 (paranoia): New target.
12762 * builtins.c (fold_builtin_inf): Use new real.h interface.
12763 * c-common.c (builtin_define_with_hex_fp_value): Likewise.
12764 * c-lex.c (interpret_float): Likewise.
12765 * emit-rtl.c (gen_lowpart_common): Likewise.
12766 * optabs.c (expand_float): Use real_2expN.
12767 * config/ia64/ia64.md (divsi3, udivsi3): Likewise.
12768 * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): New.
12769 (FLOAT_WORDS_BIG_ENDIAN): New.
12770 * cse.c (find_comparison_args): Don't pass FLOAT_STORE_FLAG_VALUE
12771 directly to REAL_VALUE_NEGATIVE.
12772 * loop.c (canonicalize_condition): Likewise.
12773 * simplify-rtx.c: Include tree.h.
12774 (simplify_unary_operation): Don't handle FIX and UNSIGNED_FIX
12775 with floating-point result modes.
12776 * toplev.c (backend_init): Call init_real_once.
12777
12778 * fold-const.c (force_fit_type): Don't call CHECK_FLOAT_VALUE.
12779 * tree.c (build_real): Likewise.
12780 * config/alpha/alpha.c, config/vax/vax.c (float_strings,
12781 float_values, inited_float_values, check_float_value): Remove.
12782 * config/alpha/alpha.h, config/m68hc11/m68hc11.h,
12783 config/m88k/m88k.h, config/vax/vax.h (CHECK_FLOAT_VALUE): Remove.
12784 * doc/tm.texi (CHECK_FLOAT_VALUE): Remove.
12785 (VAX_HALFWORD_ORDER): Remove.
12786
a41c6c53
UW
127872002-09-16 Ulrich Weigand <uweigand@de.ibm.com>
12788
12789 * config/s390/s390.c: (legitimize_la_operand): Remove, replace by ...
12790 (s390_load_address): ... this new function.
12791 (s390_decompose_address): Allow the argument pointer and all
12792 virtual registers as 'pointer' registers.
12793 (s390_expand_plus_operand): Use s390_load_address.
12794 config/s390/s390.md (movti, movdi, movdf splitters): Likewise.
12795 ("force_la_31"): New insn pattern.
12796 config/s390/s390-protos.h (legitimize_la_operand): Remove.
12797 (s390_load_address): Add prototype.
12798
12799 * config/s390/s390.c: Include "optabs.h".
12800 (s390_expand_movstr, s390_expand_clrstr, s390_expand_cmpstr): New.
b4f94ac1 12801 config/s390/s390-protos.h (s390_expand_movstr, s390_expand_clrstr,
a41c6c53
UW
12802 s390_expand_cmpstr): Add prototypes.
12803 config/s390/s390.md ("movstrdi", "movstrsi"): Call s390_expand_movstr.
12804 ("movstrdi_short"): Rename to "movstr_short_64". Change predicates
12805 for operands 0 and 1 to "memory_operand". Add type attribute.
12806 ("movstrsi_short"): Rename to "movstr_short_31". Change predicates
12807 for operands 0 and 1 to "memory_operand". Add type attribute.
12808 ("movstrdi_long", "movstrsi_long"): Remove.
12809 ("movstrdi_64"): Rename to "movstr_long_64". Add type attribute.
12810 ("movstrsi_31"): Rename to "movstr_long_31". Add type attribute.
12811 ("clrstrdi", "clrstrsi"): Call s390_expand_clrstr.
12812 ("clrstrsico"): Remove, replace by ...
12813 ("clrstr_short_64", "clrstr_short_31"): ... these new patterns.
12814 ("clrstrsi_64"): Rename to "clrstr_long_64".
12815 ("clrstrsi_31"): Rename to "clrstr_long_31".
12816 ("cmpstrdi", "cmpstrsi"): Call s390_expand_cmpstr.
12817 ("cmpstr_const"): Remove, replace by ...
12818 ("cmpstr_short_64", "cmpstr_short_31"): ... these new patterns.
12819 ("cmpstr_64"): Rename to "cmpstr_long_64".
12820 ("cmpstr_31"): Rename to "cmpstr_long_31".
12821
8d9afc4e
KH
128222002-09-16 Kazu Hirata <kazu@cs.umass.edu>
12823
12824 * ABOUT-NLS: Follow spelling conventions.
12825 * ChangeLog: Likewise.
12826 * ChangeLog.1: Likewise.
12827 * ChangeLog.2: Likewise.
12828 * ChangeLog.3: Likewise.
12829 * ChangeLog.4: Likewise.
12830 * ChangeLog.5: Likewise.
12831 * ChangeLog.6: Likewise.
12832 * FSFChangeLog.10: Likewise.
12833 * FSFChangeLog.11: Likewise.
12834 * c-common.c: Likewise.
12835 * c-lex.c: Likewise.
12836 * c-objc-common.c: Likewise.
12837 * cppexp.c: Likewise.
12838 * cppinit.c: Likewise.
12839 * cpplex.c: Likewise.
12840 * doloop.c: Likewise.
12841 * flow.c: Likewise.
12842 * function.c: Likewise.
12843 * integrate.c: Likewise.
12844 * loop.c: Likewise.
12845 * reg-stack.c: Likewise.
12846 * reload.h: Likewise.
12847 * ssa.c: Likewise.
12848
4977bab6
ZW
128492002-09-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12850
12851 * Makefile.in (vmsdbgout.o): Depend on $(TARGET_H)
12852 * vmsdbgout.c: Include "target.h".
12853
981f6289
KH
128542002-09-15 Kazu Hirata <kazu@cs.umass.edu>
12855
12856 * ChangeLog: Follow spelling conventions.
12857 * ChangeLog.0: Likewise.
12858 * ChangeLog.1: Likewise.
12859 * ChangeLog.2: Likewise.
12860 * ChangeLog.4: Likewise.
12861 * ChangeLog.6: Likewise.
12862 * config.gcc: Likewise.
12863 * dwarfout.c: Likewise.
12864 * reload1.c: Likewise.
12865 * simplify-rtx.c: Likewise.
12866 * unwind-sjlj.c: Likewise.
12867 * config/avr/avr.h: Likewise.
12868 * config/d30v/d30v.h: Likewise.
12869 * config/frv/frv.c: Likewise.
12870 * config/frv/frv.h: Likewise.
12871 * config/ip2k/ip2k.h: Likewise.
12872 * config/m88k/m88k-move.sh: Likewise.
12873 * config/stormy16/stormy16.c: Likewise.
12874 * config/stormy16/stormy16.h: Likewise.
12875 * doc/extend.texi: Likewise.
12876 * doc/interface.texi: Likewise.
12877 * doc/invoke.texi: Likewise.
12878 * doc/md.texi: Likewise.
12879 * doc/rtl.texi: Likewise.
12880 * doc/tm.texi: Likewise.
12881 * doc/trouble.texi: Likewise.
12882 * ginclude/float.h: Likewise.
12883 * treelang/treelang.texi: Likewise.
12884
8764eef7
KG
128852002-09-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12886
bb6155b5
KG
12887 * i386-protos.h (i386_pe_dllexport_name_p,
12888 i386_pe_dllimport_name_p, i386_pe_unique_section,
12889 i386_pe_declare_function_type, i386_pe_record_external_function,
12890 i386_pe_record_exported_symbol, i386_pe_asm_file_end): Add
12891 prototype.
12892 * i386/t-cygwin (winnt.o): Depend on $(TM_P_H).
12893 * i386/t-interix (winnt.o): Likewise.
12894
8764eef7
KG
12895 * v850-protos.h (v850_output_addr_const_extra): Prototype.
12896
a24f7c1a
JT
128972002-09-15 Jason Thorpe <thorpej@wasabisystems.com>
12898
12899 * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Add
12900 MIPS ABI CPP macros.
12901 (TARGET_CPU_CPP_BUILTINS): Redefine.
12902 (SUBTARGET_EXTRA_SPECS): Remove subtarget_endian_default.
12903 (SUBTARGET_ENDIAN_DEFAULT_SPEC): Remove.
12904
bd25febf
KG
129052002-09-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12906
12907 * ia64/aix.h (TARGET_OS_CPP_BUILTINS): Fix typo.
12908
05713b80
KH
129092002-09-15 Kazu Hirata <kazu@cs.umass.edu>
12910
12911 * ChangeLog: Follow spelling conventions.
12912 * ChangeLog.0: Likewise.
12913 * ChangeLog.1: Likewise.
12914 * ChangeLog.2: Likewise.
12915 * ChangeLog.3: Likewise.
12916 * ChangeLog.4: Likewise.
12917 * ChangeLog.5: Likewise.
12918 * ChangeLog.6: Likewise.
12919 * FSFChangeLog.10: Likewise.
12920 * FSFChangeLog.11: Likewise.
12921 * c-common.c: Likewise.
12922 * c-common.h: Likewise.
12923 * c-format.c: Likewise.
12924 * c-opts.c: Likewise.
12925 * cpplib.c: Likewise.
12926 * langhooks.h: Likewise.
12927 * real.c: Likewise.
12928 * reg-stack.c: Likewise.
12929 * toplev.c: Likewise.
12930 * config/arm/arm.c: Likewise.
12931 * config/arm/arm.md: Likewise.
12932 * config/arm/linux-gas.h: Likewise.
12933 * config/arm/netbsd.h: Likewise.
12934 * config/c4x/c4x.c: Likewise.
12935 * config/c4x/c4x.h: Likewise.
12936 * config/c4x/c4x.md: Likewise.
12937 * config/c4x/libgcc.S: Likewise.
12938 * config/fr30/fr30.md: Likewise.
12939 * config/frv/frv.md: Likewise.
12940 * config/ia64/ia64.md: Likewise.
12941 * config/mips/mips.h: Likewise.
12942 * config/mn10300/mn10300.c: Likewise.
12943 * config/stormy16/stormy16.c: Likewise.
12944 * config/v850/v850.md: Likewise.
12945 * doc/extend.texi: Likewise.
12946 * doc/invoke.texi: Likewise.
12947 * doc/md.texi: Likewise.
12948
b0c2b2f9
JT
129492002-09-15 Jason Thorpe <thorpej@wasabisystems.com>
12950
12951 * config/netbsd.h (LIB_SPEC): Include the appropriate pthread
12952 library if -pthread is specified.
12953
a0494c05
JT
129542002-09-15 Jason Thorpe <thorpej@wasabisystems.com>
12955
12956 * config.gcc (*-*-netbsd*): Set thread_file to 'posix'
12957 for --enable-threads=yes and --enable-threads=posix.
12958
56149abc
KH
129592002-09-15 Kazu Hirata <kazu@cs.umass.edu>
12960
12961 * config/sparc/cypress.md: Replace Sparc with SPARC.
12962 * config/sparc/freebsd.h: Likewise.
12963 * config/sparc/gmon-sol2.c: Likewise.
12964 * config/sparc/hypersparc.md: Likewise.
12965 * config/sparc/lb1spc.asm: Likewise.
12966 * config/sparc/lb1spl.asm: Likewise.
12967 * config/sparc/linux.h: Likewise.
12968 * config/sparc/linux64.h: Likewise.
12969 * config/sparc/lynx.h: Likewise.
12970 * config/sparc/sol2.h: Likewise.
12971 * config/sparc/sparc-modes.def: Likewise.
12972 * config/sparc/sparc.c: Likewise.
12973 * config/sparc/sparc.h: Likewise.
12974 * config/sparc/sparc.md: Likewise.
12975 * config/sparc/sparclet.md: Likewise.
12976 * config/sparc/supersparc.md: Likewise.
12977 * config/sparc/sysv4.h: Likewise.
12978 * config/sparc/vxsim.h: Likewise.
12979 * config/sparc/vxsparc64.h: Likewise.
12980
4977bab6
ZW
129812002-09-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12982
12983 * c-lex.c (cb_ident): Mark variable with ATTRIBUTE_UNUSED.
12984 * collect2.c (ignore_library, aix_std_libs): Move into the context
12985 where it is used.
12986 * m68hc11.c (m68hc11_autoinc_compatible_p): Delete prototype.
12987 (autoinc_mode, m68hc11_make_autoinc_notes): Add prototypes.
12988 * m88k.c (output_call): Wrap variables with macro controlling use.
12989 * rs6000.md: Likewise. Const-ify variable.
12990 * sh.h (ASM_OUTPUT_LABELREF): Likewise.
12991 * final.c (only_leaf_regs_used): Likewise.
12992 * regrename.c (maybe_mode_change): Mark parameter with
12993 ATTRIBUTE_UNUSED.
12994 * reload.c (find_valid_class): Likewise. Likewise for variable.
12995 (find_reloads_address_1): Likewise.
12996 * varasm.c (weak_finish): Wrap variable with macro controlling use.
12997
3eaf7a3c
MM
129982002-09-14 Marek Michalkiewicz <marekm@amelek.gda.pl>
12999
13000 * config/avr/avr.c (output.h): Move after inclusion of tree.h.
13001
4912a07c
KH
130022002-09-14 Kazu Hirata <kazu@cs.umass.edu>
13003
13004 * ChangeLog: Follow spelling conventions.
13005 * ChangeLog.0: Likewise.
13006 * ChangeLog.2: Likewise.
13007 * ChangeLog.3: Likewise.
13008 * ChangeLog.4: Likewise.
13009 * ChangeLog.5: Likewise.
13010 * ChangeLog.6: Likewise.
13011 * cppfiles.c: Likewise.
13012 * cppinit.c: Likewise.
13013 * cpplib.h: Likewise.
13014 * cse.c: Likewise.
13015 * debug.h: Likewise.
13016 * df.c: Likewise.
13017 * dominance.c: Likewise.
13018 * hashtable.c: Likewise.
13019 * hashtable.h: Likewise.
13020 * loop.c: Likewise.
13021 * config/arm/README-interworking: Likewise.
13022 * config/arm/arm.c: Likewise.
13023 * config/arm/arm.h: Likewise.
13024 * config/arm/arm.md: Likewise.
13025 * config/dsp16xx/dsp16xx.h: Likewise.
13026 * config/frv/frv.c: Likewise.
13027 * config/frv/frv.h: Likewise.
13028 * config/ip2k/ip2k.h: Likewise.
13029 * config/rs6000/rs6000.c: Likewise.
13030 * config/stormy16/stormy-abi: Likewise.
13031 * config/stormy16/stormy16.h: Likewise.
13032 * config/v850/v850.c: Likewise.
13033
3dc60fc7
KH
130342002-09-14 Kazu Hirata <kazu@cs.umass.edu>
13035
13036 * loop.c: Fix a comment typo.
13037
a920aefe
KH
130382002-09-14 Kazu Hirata <kazu@cs.umass.edu>
13039
13040 * config/fr30/fr30.h: Fix comment typos.
13041 * config/frv/frv.c: Likewise.
13042 * config/i386/xmmintrin.h: Likewise.
13043 * config/mips/mips.c: Likewise.
13044 * config/sh/sh.c: Likewise.
13045
88cad84b
KH
130462002-09-14 Kazu Hirata <kazu@cs.umass.edu>
13047
13048 * haifa-sched.c: Follow spelling conventions.
13049 * regclass.c: Likewise.
13050 * regrename.c: Likewise.
13051 * config/fp-bit.c: Likewise.
13052 * config/frv/frv.h: Likewise.
13053 * config/m88k/m88k.c: Likewise.
13054 * config/mcore/mcore.c: Likewise.
13055 * config/rs6000/darwin.h: Likewise.
13056 * config/rs6000/gnu.h: Likewise.
13057 * config/rs6000/linux.h: Likewise.
13058 * config/rs6000/linux64.h: Likewise.
13059 * config/rs6000/rs6000.c: Likewise.
13060 * config/rs6000/rs6000.h: Likewise.
13061 * config/sh/sh.c: Likewise.
13062 * config/sparc/sparc.c: Likewise.
13063 * config/sparc/ultra1_2.md: Likewise.
13064
f197f1cf
SC
130652002-09-14 Stephane Carrez <stcarrez@nerim.fr>
13066
13067 * config/m68hc11/m68hc11.md ("movdi_internal"): Allow any offsetable
13068 memory operand when source is 0 (K constraint).
13069 ("movsi_internal"): Likewise.
13070 ("movdf_internal"): Likewise.
13071 ("movsf_internal"): Likewise.
13072
b629ba0c
AM
130732002-09-14 Alan Modra <amodra@bigpond.net.au>
13074
13075 * config/rs6000/rs6000.c (rs6000_elf_encode_section_info): Use
13076 targetm.binds_local_p to set SYMBOL_REF_FLAG.
13077 (rs6000_xcoff_encode_section_info): Likewise.
13078 * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
13079
2e485129
TR
130802002-09-10 Theodore A. Roth <troth@verinet.com>
13081
13082 * gcc/config/avr/avr.h: Set default options for C++ for avr.
13083
4977bab6
ZW
130842002-09-13 Roger Sayle <roger@eyesopen.com>
13085
13086 * stmt.c (struct nexting): Remove unused alt_end_label field.
13087 (expand_start_loop): Delete initialization of alt_end_label.
13088 (expand_start_null_loop): Likewise.
13089 (expand_exit_loop_if_false): Delete updating of alt_end_label.
13090
907aee69
RH
130912002-09-13 Richard Henderson <rth@redhat.com>
13092
13093 * Makefile.in (toplev.o): Depend on real.h.
13094 (print-rtl.o, varasm.o, ifcvt.o): Likewise.
13095
374b0b7d
AM
130962002-09-14 Alan Modra <amodra@bigpond.net.au>
13097
13098 * doc/tm.texi (DBX_OUTPUT_NFUN): Describe.
13099 * dbxout.c (dbxout_function_end): Use DBX_OUTPUT_NFUN.
13100 * config/rs6000/linux64.h (DBX_OUTPUT_NFUN): Define.
13101
690eed2c
NS
131022002-09-13 Nathan Sidwell <nathan@codesourcery.com>
13103
13104 * ggc-common.c (ggc_mark_roots): Don't iterate NULL hash tables.
13105
32b4f6f4
SE
131062002-09-13 Steve Ellcey <sje@cup.hp.com>
13107
13108 * config.gcc (ia64*-*-aix*, ia64*-*-elf*, ia64*-*-freebsd*,
13109 ia64*-*-linux*): Set extra_parts.
13110 * config/ia64/t-aix (EXTRA_PARTS): Remove.
13111 * config/ia64/t-ia64 (EXTRA_PARTS): Remove.
13112
3db11b5c
KH
131132002-09-13 Kazu Hirata <kazu@cs.umass.edu>
13114
13115 * config/h8300/fixunssfsi.c: Replace H8/S with H8S.
13116 * config/h8300/h8300.c: Likewise.
13117 * config/h8300/h8300.h: Likewise.
13118 * config/h8300/h8300.md: Likewise.
13119 * doc/invoke.texi: Likewise.
13120
b6894857
KH
131212002-09-13 Kazu Hirata <kazu@cs.umass.edu>
13122
13123 * config/h8300/h8300.c (h8300_init_once): Fix formatting.
13124
d5909a79
RH
131252002-09-13 Richard Henderson <rth@redhat.com>
13126
13127 * config/alpha/alpha.md (attr type): Add callpal.
13128 (imb, trap, load_tp, set_tp): Use it.
13129 * config/alpha/ev4.md (ev4_callpal): New.
13130 * config/alpha/ev5.md (ev5_callpal): New.
13131 * config/alpha/ev6.md (ev6_ibr): Handle callpal.
13132 * config/alpha/alpha.c (alphaev4_insn_pipe): Handle TYPE_CALLPAL.
13133 (alphaev5_insn_pipe): Likewise.
13134
e0073fa8
AJ
131352002-09-13 Andreas Jaeger <aj@suse.de>
13136
13137 * Makefile.in (print-rtl.o): Depend on CONFIG_H.
13138
1f298625
SE
131392002-09-13 Steve Ellcey <sje@cup.hp.com>
13140
13141 * config/ia64/t-hpux (LIBGCC1_TEST, STMP_FIXPROTO,
13142 LIB2ADDEH): New, set to NULL.
13143 (SHLIB_EXT, SHLIB_LINK, SHLIB_INSTALL, SHLIB_MKMAP): New.
13144
1a7e1470
SE
131452002-09-13 Steve Ellcey <sje@cup.hp.com>
13146
13147 * config/ia64/quadlib.c (_U_Qfcmp): Make extern.
13148 (_U_Qfcnvfxt_quad_to_sgl): Remove declaration.
13149 (_U_Qfeq, _U_Qfne, _U_Qfgt, _U_Qfge, U_Qflt, U_Qfle, _U_Qfcomp):
13150 Add declarations.
13151 (_U_Qfneg): Remove.
13152
d56c04ce
DD
131532002-09-13 Dhananjay Deshpande <dhananjayd@kpit.com>
13154
13155 * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Add support
8d9afc4e
KH
13156 for H8/300, H8S aa:8 mode.
13157 (TINY_CONSTANT_ADDRESS_P): Add support for H8S aa:16 mode.
d56c04ce
DD
13158 * config/h8300/h8300.c (h8300_adjust_insn_length): Adjust length
13159 for H8/300 aa:8 mode.
13160
4456530d
HP
131612002-09-13 Hartmut Penner <hpenner@de.ibm.com>
13162
13163 * config/s390/s390.md ("trap", "conditional_trap", "*trap"): New
13164 insns.
13165
4d2d910c
RH
131662002-09-12 Richard Henderson <rth@redhat.com>
13167
13168 * Makefile.in (HOST_PRINT): Use print-rtl1.o
13169 (print-rtl.o): Don't define GENERATOR_FILE.
13170 (print-rtl1.o): Rename from $(BUILD_PREFIX_1)print-rtl.o.
13171 * print-rtl.c (print_rtx): Include CONST_DOUBLE fp decimal output
13172 unless GENERATOR_FILE.
13173
7606e68f
SS
131742002-09-12 Stan Shebs <shebs@apple.com>
13175
6ab9a3f4
SS
13176 * config/darwin.h (USER_LABEL_PREFIX): Define here...
13177 * config/i386/darwin.h: ... instead of here.
13178
7606e68f
SS
13179 * target.h (struct gcc_target): New field
13180 terminate_dw2_eh_frame_info.
13181 * target-def.h (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
13182 (TARGET_INITIALIZER): Add it.
13183 * dwarf2out.c (output_call_frame_info): Use target hook.
13184 * dwarf2asm.c (dw2_asm_output_delta): Use macro
13185 ASM_OUTPUT_DWARF_DELTA if defined.
13186 * doc/tm.texi (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Document.
13187 (ASM_OUTPUT_DWARF_DELTA): Ditto.
13188 (ASM_OUTPUT_DWARF_OFFSET): Ditto.
13189 (ASM_OUTPUT_DWARF_PCREL): Ditto.
13190 * config.gcc (i[34567]86-*-darwin*): Define extra_parts.
13191 (powerpc-*-darwin*): Ditto.
13192 * crtstuff.c [OBJECT_FORMAT_MACHO]: Update the Mach-O bits
13193 to work correctly for Darwin.
13194 * config/darwin.h (OBJECT_FORMAT_MACHO): Define.
13195 (STARTFILE_SPEC): Add crtbegin.o.
13196 (ENDFILE_SPEC): Define.
13197 (EXTRA_SECTION_FUNCTIONS): Put gcc_except_tab in data segment.
13198 (ASM_PREFERRED_EH_DATA_FORMAT): Handle more cases.
13199 (ASM_OUTPUT_DWARF_DELTA): Define.
13200 (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
13201 * config/darwin.c (darwin_asm_output_dwarf_delta): New function.
13202
20b71b17
AM
132032002-09-13 Alan Modra <amodra@bigpond.net.au>
13204
13205 * config/rs6000/rs6000.c (rs6000_emit_load_toc_table): Remove "if"
13206 nesting. Correct test for non-PowerPC64 ELF ABI_AIX.
13207 * config/rs6000/rs6000.md (load_toc_v4_PIC*): Disable when ABI_AIX.
13208
d48fd218
ZW
132092002-09-12 Zack Weinberg <zack@codesourcery.com>
13210
13211 * toplev.c: Move default definition of USER_LABEL_PREFIX...
13212 * defaults.h: ... here.
13213
92bc3c1a
RH
132142002-09-12 Richard Henderson <rth@redhat.com>
13215
13216 * vax.c: Include tree.h earlier.
13217
3f64e543
SS
132182002-09-12 Stan Shebs <shebs@apple.com>
13219
13220 * config/darwin.c (machopic_finish): Remove #if 0 chunks.
13221 (machopic_operand_p): Ditto.
13222
52bd31bb
KH
132232002-09-12 Kazu Hirata <kazu@cs.umass.edu>
13224
13225 * config/arm/arm.c (arm_compute_initial_elimination_offset):
13226 Fix a comment typo.
13227
387c9294
KH
132282002-09-12 Kazu Hirata <kazu@cs.umass.edu>
13229
13230 * toplev.c (do_abort): Fix a comment typo.
13231
e34bb004
KH
132322002-09-12 Kazu Hirata <kazu@cs.umass.edu>
13233
13234 * cselib.c: Fix comment formatting.
13235 * gengtype.c: Likewise.
13236
d0029ebd
KH
132372002-09-12 Kazu Hirata <kazu@cs.umass.edu>
13238
13239 * config/h8300/h8300.md (udivmodqi4): Do not use an expander.
13240 (udivmodhi4): Likewise.
13241
c3c637e3 132422002-09-12 Graham Stott <graham.stott@btinternet.com>
d48fd218 13243 Roger Sayle <roger@eyesopen.com>
c3c637e3
GS
13244
13245 * i386.c (any_fp_register_operand, fp_register_operand,
13246 register_and_not_any_fp_reg_operand, register_and_not_fp_reg_operand):
13247 New predicate functions.
13248 * i386-protos.h: Add their prototypes.
13249 * i386.h: Add them to PREDICATE_CODES.
13250 * i386.md ("*pushsf_rex64"+2, "*pushsf_rex64"+3, "*pushdf_integer"+1,
13251 "*pushdf_integer"+2, "*pushtf_integer"+1, "*pushtf_integer"+2,
13252 "*pushtf_integer"+3, "*pushtf_integer"+4, "*dummy_extendsfdf2"+1,
13253 "*dummy_extendsfdf2"+2, "*dummy_extendsfxf2"+1,
13254 "*dummy_extendsftf2"+1, "*dummy_extendsftf2"+2,
13255 "*dummy_extenddfxf2"+1, "*dummy_extenddftf2"+1,
13256 "*dummy_extenddftf2"+2, "*negsf2_if"+1, "*negsf2_if"+2,
13257 "*negdf2_if_rex64"+1, "*negdf2_if_rex64"+2, "*negxf2_if"+1,
13258 "*negxf2_if"+2, "*negtf2_if"+1, "*negtf2_if"+2, "*abssf2_if"+1,
13259 "*abssf2_if"+2, "*absdf2_if_rex64"+1, "*absdf2_if_rex64"+2,
13260 "*absxf2_if"+1, "*absxf2_if"+2, "*abstf2_if"+1, "*abstf2_if"+2):
13261 Use these new predicates to simplify and correct the use of
13262 FP_REG_P, ANY_FP_REG_P, FP_REGNO_P and any ANY_FP_REGNO_P.
13263
db4c55f6
JM
132642002-09-12 Jason Merrill <jason@redhat.com>
13265
236a2ac8
JM
13266 * diagnostic.c (output_add_identifier): New fn.
13267 * diagnostic.h: Declare it.
13268
db4c55f6
JM
13269 * calls.c (store_one_arg): Use size_in_bytes to determine the
13270 amount of space to push.
13271
13c0bc20
JJ
132722002-09-12 Jakub Jelinek <jakub@redhat.com>
13273
13274 * config/sparc/linux64.h (STARTFILE_SPEC32): Fix a typo.
13275
0a3bdf9d
UW
132762002-09-12 Ulrich Weigand <uweigand@de.ibm.com>
13277
13278 * config/s390/s390-modes.def (CCAPmode, CCANmode): New CC modes.
13279 * config/s390/s390.c (s390_match_ccmode_set): Support new CC modes.
13280 (s390_select_ccmode): Likewise.
13281 (s390_branch_condition_mask): Likewise.
13282 (optimization_options): Do not set flag_branch_on_count.
13283 (s390_split_branches): Handle doloop branches.
13284 (s390_chunkify_pool): Likewise.
13285 * config/s390/s390.md ("*adddi3_imm_cc", "*addsi3_imm_cc"): New insns.
13286 ("doloop_end"): New expander.
13287 ("doolop_si", "*doloop_si_long", "doloop_di", "*doloop_di_long",
13288 associated splitters): New.
13289
4977bab6
ZW
132902002-09-11 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
13291
13292 * genattrtab.c (simplify_cond): Remove unused variable(s).
13293 * global.c (record_conflicts): Likewise.
13294 * jump.c (rebuild_jump_labels): Likewise.
13295 * loop.c (scan_loop, check_final_value): Likewise.
13296 * ra-colorize.c (colorize_one_web, assign_colors): Likewise.
13297 * reload1.c (eliminate_regs_in_insn, do_input_reload): Likewise.
13298 * rtlanal.c (reg_set_p): Likewise.
13299 * stmt.c (expand_asm_operands, expand_decl): Likewise.
13300 * genautomata.c (empty_reserv): Remove.
13301 * loop.c (max_luid): Likewise.
13302 * sched-rgn.c (bitlst_table_size): Likewise.
13303
133042002-09-11 Nathan Sidwell <nathan@codesourcery.com>
13305
13306 Reimplement gcov format.
13307 * gcov-io.h: Replace.
13308 * gcov.c: Reimplement.
13309 * gcov-iov.c: New file.
13310 * gcov-dump.c: New file.
13311 * libgcc2.c (L_bb): Replace with ...
13312 (L_gcov): ... this.
13313 (struct bb_function_info, struct bb): Remove.
13314 (inhibit_libc): Never inhibit.
13315 (gcov_list, gcov_crc): New static variables.
13316 (gcov_version_mismatch): New static function.
13317 (__bb_exit_func): Renamed to ...
13318 (__gcov_exit): ... here. Made static. Reimplement.
13319 (__gcov_init_func): Rename to ...
13320 (__gcov_init): ... here. Check version, update crc.
13321 (__bb_fork_func): Rename to ...
13322 (__gcov_flush): ... here.
13323 * libgcc2.h (struct bb, __bb_exit_func, __bb_init_func,
13324 __bb_fork_func, gcov_type, __bb_find_arc_counters): Remove.
13325 * calls.c (expand_call): Call __gcov_flush.
13326 * profile.c (bb_file, last_bb_file_name): Remove.
13327 (bbg_file_name): New global variable.
13328 (output_gcov_string): Remove.
13329 (get_exec_counts): Reimplement.
13330 (branch_prob): Reimplement gcov file writing.
13331 (init_branch_prob): Create bbg_file_name, don't create
13332 bb_file_name.
13333 (end_branch_prob): Adjust. Don't remove counter file when
13334 instrumenting ourselves.
13335 (create_profiler): Adjust.
13336 * doc/gcov.texi (Gcov Data Files): Remove detailed specification,
13337 point to gcov-io.h.
13338 * Makefile.in (LANGUAGES): Add gcov-dump.
13339 (coverageexts): Remove .bb.
13340 (STAGESTUFF): Add gcov-dump.
13341 (LIB2FUNCS_ST): Replace _bb with _gcov.
13342 (profile.o): Depend on gcov-iov.h.
13343 (final.o): Don't depend on profile.h, gcov.h.
13344 (gcov.o): Depend on gcov-iov.h.
13345 (gcov-iov.o): New target.
13346 (gcov-iov): New target.
13347 (gcov-iov.h): New target.
13348 (gcov-dump.o): New target.
13349 (GCOV_DUMP_OBJS): New variable.
13350 (gcov-dump): New target.
13351 (distclean): Remove coverageexts.
13352 (stage1): Remove coverageexts.
13353
4f968d93
HP
133542002-09-11 Hartmut Penner <hpenner@de.ibm.com>
13355
13356 * fold-const.c (make_range): Only narrow to signed range if
13357 the signed range is smaller than the unsigned range.
13358
35aff10b
AM
133592002-09-12 Alan Modra <amodra@bigpond.net.au>
13360
13361 * emit-rtl.c (set_mem_size): New function.
13362 * expr.h (set_mem_size): Declare.
13363 * config/rs6000/rs6000.c (expand_block_move_mem): Exterminate.
13364 (expand_block_move): Instead, use adjust_address and
13365 replace_equiv_address to generate proper aliasing info.
13366 Move common code out of conditionals. Localize vars.
13367
a9b6f1e7 133682002-09-11 Eric Botcazou <ebotcazou@libertysurf.fr>
d48fd218 13369
874f6a6d
EB
13370 * optabs.c (expand_binop): Minor cleanup.
13371 (expand_twoval_binop): Convert CONST_INTs like in expand_binop.
13372
d1df930b
DN
133732002-09-11 Dan Nicolaescu <dann@ics.uci.edu>
13374
13375 * print-tree.c (print_node): Print the restrict qualifier.
13376
9026a957
JJ
133772002-09-11 Janis Johnson <janis187@us.ibm.com>
13378
13379 * doc/install.texi: Fix typos.
13380
3fd9d606
ZW
133812002-09-11 Zack Weinberg <zack@codesourcery.com>
13382
13383 * Makefile.in: Remove all references to s-under and underscore.c.
13384 * collect2.c, tlink.c: Change all uses of prepends_underscore
13385 to look directly at USER_LABEL_PREFIX.
13386
5b5198f7
DE
133872002-09-11 David Edelsohn <edelsohn@gnu.org>
13388
13389 * config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section): Append
13390 alignment to csect.
13391 (rs6000_xcoff_unique_section): Only set section name for public
13392 data.
13393 (rs6000_xcoff_section_type_flags): Store log2 alignment in flags.
13394 * config/rs6000/xcoff.h (TARGET_ASM_SELECT_SECTION): Remove
13395 duplicate definition.
13396
77de9af2
JDA
133972002-09-10 John David Anglin <dave@hiauly1.hia.nrc.ca>
13398
13399 * pa.md (extzv): Check predicates before emitting extzv_32.
13400 (insv): Likewise.
13401
33b679d1
UW
134022002-09-10 Ulrich Weigand <uweigand@de.ibm.com>
13403
13404 * config/s390/s390.h (MOVE_MAX): Define to correct value.
13405 (MAX_MOVE_MAX): Define.
13406 (MOVE_BY_PIECES_P): Define.
13407 (CLEAR_BY_PIECES_P): Define.
13408
bfae8040
DC
134092002-09-10 Denis Chertykov <denisc@overta.ru>
13410
13411 * config/avr/avr.md (movstrhi): Use right operands for conversion.
13412
7730c3ff
RE
134132002-09-10 Richard Earnshaw <rearnsha@arm.com>
13414
13415 PR c/7873
13416 * arm.md (insv): Use reg_or_int_operand for operand[3].
13417
5add3202
DE
134182002-09-10 David Edelsohn <edelsohn@gnu.org>
13419
13420 * rs6000.c (rs6000_assemble_visibility): Protect declaration
13421 inside macro. Correct function definition typo.
13422 (rs6000_xcoff_section_type_flags): New function.
13423 (TARGET_SECTION_TYPE_FLAGS): Remove definition.
13424 (rs6000_elf_section_type_flags): Call default_section_type_flags_1
13425 with appropriate PIC test.
13426 (rs6000_xcoff_select_section): Use decl_readonly_section_1 to
13427 determine readonly.
13428 (rs6000_binds_local_p): Combine PIC flags.
13429 * sysv4.h (TARGET_SECTION_TYPE_FLAGS): Define.
13430 * xcoff.h (TARGET_SECTION_TYPE_FLAGS): Define.
13431
4977bab6
ZW
134322002-09-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13433
13434 * h8300.md: Fix signed/unsigned warnings.
13435 * mcore.md: Likewise.
13436 * mn10300.c (mask_ok_for_mem_btst): Likewise.
13437
90389422
PB
134382002-09-09 Per Bothner <per@bothner.com>
13439
13440 * print-tree.c (print_node): In a STRING_CST, escape non-ascii
13441 characters, and only print TREE_STRING_LENGTH chars.
13442
686f3bf0
SE
134432002-09-09 Steve Ellcey <sje@cup.hp.com>
13444
13445 * config/ia64/hpux.h (TARGET_HPUX_LD): New, define true.
13446 (ASM_FILE_END) New.
13447 * config/ia64/ia64.h (TARGET_HPUX_LD): New, define false.
13448 * config/ia64/ia64-protos.h (ia64_hpux_asm_file_end): New.
13449 * config/ia64/ia64.c (ia64_asm_output_external): Create list
13450 of external functions if TARGET_HPUX_LD is true.
13451 (ia64_hpux_add_extern_decl): New, routine to put names on
13452 list of external functions.
13453 (ia64_hpux_asm_file_end): Put out declarations for external
13454 functions if and only if they are used.
13455
0c263f4e
JDA
134562002-09-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
13457
13458 * pa.md (exception_receiver, builtin_setjmp_receiver): Add blockage
13459 on TARGET_64BIT before pic register restore.
13460
e2a6476e
DE
134612002-09-09 David Edelsohn <edelsohn@gnu.org>
13462
13463 * doc/tm.texi (TARGET_HAVE_SRODATA_SECTION): New description.
13464 (TARGET_HAVE_TLS): New description.
13465
b73b1546
JJ
134662002-09-09 Janis Johnson <janis187@us.ibm.com>
13467
13468 * doc/extend.texi (Statement Exprs): Fix broken link.
13469
a9738643
DC
134702002-09-09 Denis Chertykov <denisc@overta.ru>
13471
13472 * config/avr/avr.md (movstrhi, clrstrhi): Use gen_int_mode for
13473 right conversion of operands[1].
13474
05b9aaaa
UW
134752002-09-09 Ulrich Weigand <uweigand@de.ibm.com>
13476
13477 * config/s390/s390.md ("*tmdi_reg", "*tmsi_reg"): Do not mark as
13478 commutative. Use "nonimmediate_operand" instead of "register_operand"
13479 as predicate for operand 0. Move to after the "*tmXX_mem" insns.
13480
13481 ("*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem"): Do not mark
13482 as commutative.
13483
13484 ("*anddi3_ni", "*andsi3_ni", "*iordi3_ni", "*iorsi3_ni"): Do not
13485 mark as commutative. Use "nonimmediate_operand" instead of
13486 "register_operand" as predicate for operand 1.
13487
13488 ("movstrictsi"): Fix typo in insn name.
13489
7ec70495
JH
134902002-09-09 Jan Hubicka <jh@suse.cz>
13491
13492 * i386.c (index_register_operand): New.
13493 * i386.h (predicate_codes): Add new predicate.
8e746279 13494 * i386.md (lea_general_*): Use index_register_operand
7ec70495
JH
13495 (ashift to lea splitter): Do not produce invalid leas
13496 (ashift to mov+ashift split): New.
13497
b2fc915b
NC
134982002-09-09 Nick Clifton <nickc@redhat.com>
13499
13500 * config/fr30/fr30.c (output.h): Move after inclusion of tree.h.
13501 Fix folding marks.
13502
0b0ad147 135032002-09-09 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
d48fd218 13504 J"orn Rennecke <joern.rennecke@superh.com>
0b0ad147
TM
13505
13506 * sh/sh.h (OVERRIDE_OPTIONS): align_functions is in bytes, not bits.
13507
2bcc50d0
AM
135082002-09-09 Alan Modra <amodra@bigpond.net.au>
13509
13510 * config/rs6000/rs6000.c (rs6000_binds_local_p): Return bool.
13511 (function_ok_for_sibcall): Use binds_local_p. Respect longcall
13512 attributes.
13513
4977bab6
ZW
135142002-09-08 Nathan Sidwell <nathan@codesourcery.com>
13515
13516 * basic_block.h (gcov_type): Explain why it is signed.
13517 * final.c: Don't include profile.h.
13518 (struct function_list, functions_head, functions_tail,
13519 end_final): Moved to profile.c
13520 (final): Move arc chaining code to profile.c.
13521 * function.c (prepare_function_start): Remove duplicate line.
13522 * output.h (end_final): Remove prototype.
13523 * predict.c (estimate_loops_at_level): Use gcov_type.
13524 * profile.c (struct function_list, functions_head,
13525 functions_tail): Moved from final.c
13526 (need_func_profiler): Remove.
13527 (instrument_edges): Don't set need_func_profiler.
13528 (get_exec_counts): Avoid signed/unsigned warning.
13529 (compute_checksum): Use crc32.
13530 (branch_prob): Adjust. Chain onto functions_head.
13531 (init_branch_prob): Absorb init_edge_profiler.
13532 (init_edge_profiler): Remove.
13533 (create_profiler): Moved and renamed from final.c:end_final.
13534 Emit data and constructor.
13535 (output_func_start_profiler): Remove.
13536 * profile.h (struct profile_info): checksum is unsigned.
13537 * rtl.h (output_func_start_profiler): Remove prototype.
13538 (create_profiler): Declare.
13539 * toplev.c (compile_file): Call create_profiler, if instrumenting
13540 arcs. Don't call end_final.
13541
c1b4f089
KG
135422002-09-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13543
13544 * fr30.c (fr30_print_operand): Fix bug in output of CONST_DOUBLE.
13545
b9203463
RH
135462002-09-08 Richard Henderson <rth@redhat.com>
13547
13548 * dwarf2.h (DW_OP_call_ref): Rename from DW_OP_calli.
13549 (DW_OP_GNU_push_tls_address): New.
13550 (DW_OP_lo_user): Fix.
13551 * dwarf2out.c (INTERNAL_DW_OP_tls_addr): New.
13552 (dwarf_stack_op_name): Handle it, plus other dwarf3 opcodes.
13553 (size_of_loc_descr): Likewise.
13554 (output_loc_operands): Handle INTERNAL_DW_OP_tls_addr.
13555 (add_AT_location_description): Take a dw_loc_descr_ref not an rtx.
13556 (loc_descriptor_from_tree): Handle TLS variables.
13557 (rtl_for_decl_location): Do avoid_constant_pool_reference here ...
13558 (add_location_or_const_value_attribute): ... not here. Defer
13559 to loc_descriptor_from_tree for TLS variables.
13560
13561 * config/i386/i386.h (ASM_OUTPUT_DWARF_DTPREL): New.
13562 * config/i386/i386.c (i386_output_dwarf_dtprel): New.
13563 * config/i386/i386-protos.h: Update.
13564
7df98878
RS
135652002-09-08 Roger Sayle <roger@eyesopen.com>
13566
13567 PR optimization/6405
13568 * unroll.c (loop_iterations): last_loop_insn should be the previous
13569 non-note instruction before loop->end.
13570 * loop.c (strength_reduce): The conditional jump is the last
13571 non-note instruction before loop->end (as above).
13572
f40f4c8e
RS
135732002-09-08 Roger Sayle <roger@eyesopen.com>
13574
13575 * combine.c (try_combine): Handle the case that undobuf.other_insn
13576 has been turned into a return or unconditional jump, by inserting
13577 a BARRIER if necessary.
13578 (simplify_set): Test if a condition code setter has a constant
13579 comparison at compile time, if so convert this insn to a no-op move
13580 and update/simplify the condition code user (undobuf.other_insn).
13581
e2f97e26
KW
135822002-09-08 Krister Walfridsson <cato@df.lth.se>
13583
13584 * config/arm/netbsd.h (INITIALIZE_TRAMPOLINE): Redefine.
13585 (CLEAR_INSN_CACHE): Define.
13586
4b7e68e7
KH
135872002-09-08 Kazu Hirata <kazu@cs.umass.edu>
13588
13589 * basic-block.h: Fix comment formatting.
13590 * c-common.c: Likewise.
13591 * c-common.h: Likewise.
13592 * c-lex.c: Likewise.
13593 * c-pretty-print.c: Likewise.
13594 * cfglayout.c: Likewise.
13595 * cfgloop.c: Likewise.
13596 * defaults.h: Likewise.
13597 * et-forest.c: Likewise.
13598 * explow.c: Likewise.
13599 * function.h: Likewise.
13600 * gcov.c: Likewise.
13601 * genattrtab.c: Likewise.
13602 * gengtype.c: Likewise.
13603 * ifcvt.c: Likewise.
13604 * libgcc2.c: Likewise.
13605 * loop.c: Likewise.
13606 * profile.c: Likewise.
13607 * ra-build.c: Likewise.
13608 * real.c: Likewise.
13609 * rtl.h: Likewise.
13610 * tracer.c: Likewise.
13611 * tree-inline.c: Likewise.
13612 * varasm.c: Likewise.
13613
2567406a
JH
136142002-09-08 Jan Hubicka <jh@suse.cz>
13615
13616 * emit-rtl.c (set_mem_attributes_minus_bitpos): Fix array_ref
13617 handling.
13618
a36fc5f8 13619 * loop.c (loop_givs_reduce): Emit addition after.
2567406a 13620
bd79540a
AM
136212002-09-08 Alan Modra <amodra@bigpond.net.au>
13622
13623 * varasm.c (default_assemble_visibility): Rename from
13624 assemble_visibility.
13625 * output.h: Here too.
13626 * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): And here.
13627 * config/rs6000/rs6000.c (rs6000_assemble_visibility): And here.
13628
32ff9c74
AM
136292002-09-08 Alan Modra <amodra@bigpond.net.au>
13630
13631 * reload.c (find_reloads <p constraint>): Pass operand_mode to
13632 find_reloads_address.
13633
6588987e
KH
136342002-09-08 Kazu Hirata <kazu@cs.umass.edu>
13635
13636 * config/h8300/h8300.md (udivmodqi4): Enable on H8/300.
13637 (anonymous pattern): Likewise.
13638
4977bab6
ZW
136392002-09-07 Igor Shevlyakov <igor@microunity.com>
13640
13641 * machmode.def: Add modes for half-float vectors.
13642
0100732e
SS
136432002-09-07 Scott Snyder <snyder@fnal.gov>
13644
13645 PR target/7374
13646 * config/alpha/alpha.md (abstf2): Fix typo: 'neg' for 'abs'.
13647
77043c7c
RS
136482002-09-07 Roger Sayle <roger@eyesopen.com>
13649
13650 * basic-block.h (struct loop): Remove unused cont_dominator field.
13651
5dd78220
IS
136522002-09-07 Igor Shevlyakov <igor@microunity.com>
13653
d48fd218 13654 * varasm.c (decode_rtx_const): Don't check undefined field for
5dd78220
IS
13655 CONST_VECTOR.
13656
b96a3fa3
GN
136572002-09-07 Glen Nakamura <glen@imodulo.com>
13658
7fa86a10 13659 PR opt/7814
b96a3fa3
GN
13660 * sched-deps.c (sched_analyze_insn): Make sure to add insn
13661 to reg_last->sets after flushing the dependency lists to guarantee
13662 that subsequent clobbers will be dependent on it.
13663
ad9df12f 136642002-09-07 Igor Shevlyakov <igor@microunity.com>
2567406a 13665
ad9df12f
IS
13666 * combine.c (simplify_shift_const): Calculate rotate count
13667 correctly for vector operands.
13668
54c93c30
AE
136692002-09-07 Ansgar Esztermann <ansgar@thphy.uni-duesseldorf.de>
13670
13671 * c-typeck.c (c_tree_expr_nonnegative_p): New function.
13672 (build_binary_op): Call c_tree_expr_nonnegative_p rather than
2567406a 13673 tree_expr_nonnegative_p.
54c93c30
AE
13674 (build_conditional_expr): Likewise.
13675 * c-tree.h (c_tree_expr_nonnegative_p): Declare.
13676
36eea25f
RH
136772002-09-07 Richard Henderson <rth@redhat.com>
13678
3aa4cad7
RH
13679 * builtins.def (inf, inff, infl): Mark const.
13680 (huge_val, huge_valf, huge_vall): Likewise.
13681 (BUILT_IN_GETEXP, BUILT_IN_GETMAN): Remove.
13682
36eea25f
RH
13683 * real.c (ereal_inf): Clear E before use.
13684
5c102b48
KH
136852002-09-07 Kazu Hirata <kazu@cs.umass.edu>
13686
13687 * config/h8300/h8300.md (udivmodqi4): Split the pattern into
13688 an expander and an anonymous pattern. Zero out the upper half
13689 of the dividend in the expander.
13690 (udivmodqi4): Likewise.
13691
8bd06267
KH
136922002-09-07 Kazu Hirata <kazu@cs.umass.edu>
13693
13694 * config/h8300/h8300.c: Fix formatting.
13695 * config/h8300/h8300.h: Likewise.
13696 * config/h8300/h8300.md: Likewise.
13697
39587bb9
ZD
136982002-09-07 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
13699
13700 * cfgcleanup.c (try_crossjump_to_edge): Fix updating of liveness
13701 information.
13702
34146b94 137032002-09-07 Graham Stott <graham.stott@btinternet.com>
92d9256d
GS
13704
13705 * rtlanal.c (dead_or_set_regno_p): Fix typo.
13706
93638d7a
AM
137072002-09-07 Alan Modra <amodra@bigpond.net.au>
13708
fea76d82
AM
13709 * config/rs6000/linux64.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
13710
93638d7a
AM
13711 * doc/tm.texi (TARGET_ASM_ASSEMBLE_VISIBILITY): Describe.
13712 * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
13713 (TARGET_ASM_OUT): Add the above here.
13714 * target.h (struct gcc_target): Add "visibility" field.
13715 * varasm.c (maybe_assemble_visibility): Call targetm visibility func.
13716 * config/rs6000/rs6000.c (rs6000_assemble_visibility): New function.
13717 (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
13718 (rs6000_legitimize_reload_address, first_reg_to_save): Formatting.
13719
370ce32a
ZL
137202002-09-06 Ziemowit Laski <zlaski@apple.com>
13721
13722 * c-lang.c (objc_is_id): New stub.
13723 * c-tree.h (objc_is_id): New forward declaration.
13724 * c-typeck.c (build_c_cast): Do not strip protocol
13725 qualifiers from 'id' type.
13726 * objc/objc-act.c (objc_comptypes): Correct handling
13727 of protocol qualifiers.
13728 (objc_is_id): New.
13729
942579db
JL
13730Fri Sep 6 13:10:08 2002 Jeffrey A Law (law@redhat.com)
13731
54c93c30 13732 * pentium.md (pentium-firstvboth): Fix typo.
942579db 13733
c4dfc70c
DD
137342002-09-06 Dhananjay Deshpande <dhananjayd@kpit.com>
13735
13736 * h8300.c (enum shift_alg): Move to earlier in h8300.c.
13737 (enum shift_type, enum h8_cpu): Likewise.
13738 (INL, ROT, LOP, SPC macros): Likewise.
13739 (shift_alg_qi, shift_alg_hi, shift_alg_si): Likewise. Lose
13740 const designator.
13741 (h8300_init_once): Update shift_alg_{qi,hi,si} to use more
13742 space efficient algorithms when optimize for codesize.
13743
5873a4c1
NP
13744Fri Sep 6 16:35:32 2002 Nicola Pero <n.pero@mi.flashnet.it>
13745
13746 Fix PR/1727 and long-standing failing testcase
13747 objc/formal-protocol-6.m.
13748 * objc-act.c (build_protocol_expr): If compiling for the GNU
13749 runtime, create a list of Protocol statically allocated instances
13750 if it doesn't exist, then add the Protocol object to this same
13751 list.
13752 (get_objc_string_decl): Fixed typo/bug - TREE_VALUE had been used
13753 instead of TREE_CHAIN.
13754
e30d4c82
NP
13755Fri Sep 6 16:17:33 2002 Nicola Pero <n.pero@mi.flashnet.it>
13756
13757 * objc/objc-act.c (dump_interface): Enlarged the char * buffer to
13758 10k. Fixed category dumping - print out category names with the
13759 proper syntax. Print '@end\n' and not '\n@end' at the end of the
13760 interface.
22d4398d 13761 (finish_objc): Fixed the -gen-decls option. It was printing out
e30d4c82
NP
13762 only the last class. Dump an interface declaration of all classes
13763 being compiled instead.
13764
fcd53748
JT
137652002-09-06 Jason Thorpe <thorpej@wasabisystems.com>
13766
2567406a
JH
13767 * config/arm/arm-protos.h (arm_gen_return_addr_mask): New
13768 prototype.
fcd53748
JT
13769 * config/arm/arm.c (arm_gen_return_addr_mask): New function.
13770 * config/arm/arm.h (MASK_RETURN_ADDR): Use arm_gen_return_addr_mask
13771 if not APCS26 and not Thumb or ARMv4-or-higher. Use gen_int_mode
13772 rather than GEN_INT.
13773 * config/arm/arm.md (UNSPEC_CHECK_ARCH): Define.
13774 (return_addr_mask, *check_arch2): New.
13775
96fd3851
UW
137762002-09-06 Ulrich Weigand <uweigand@de.ibm.com>
13777
2567406a 13778 * config/s390/s390.md ("*adddi3_cc", "*adddi3_cconly",
96fd3851 13779 "*adddi3_cconly2", "*adddi3_64", "*adddi3_31", "adddi3",
2567406a 13780 "*addsi3_carry1_cc", "*addsi3_carry1_cconly",
96fd3851
UW
13781 "*addsi3_carry2_cc", "*addsi3_carry2_cconly",
13782 "*addsi3_cc", "*addsi3_cconly", "*addsi3_cconly2", "addsi3",
2567406a 13783 "adddf3", "*adddf3", "*adddf3_ibm",
96fd3851
UW
13784 "addsf3", "*addsf3", "*addsf3_ibm",
13785 "muldi3", "mulsi3", "mulsidi3",
13786 "muldf3", "*muldf3", "*muldf3_ibm",
13787 "mulsf3", "*mulsf3", "*mulsf3_ibm",
13788 "*anddi3_cc", "*anddi3_cconly", "anddi3",
13789 "*andsi3_cc", "*andsi3_cconly", "andsi3",
13790 "*iordi3_cc", "*iordi3_cconly", "iordi3",
13791 "*iorsi3_cc", "*iorsi3_cconly", "iorsi3",
13792 "*xordi3_cc", "*xordi3_cconly", "xordi3",
13793 "*xorsi3_cc", "*xorsi3_cconly", "xorsi3"): Use "nonimmediate_operand"
13794 instead of "register_operand" as predicate for "%0" operand.
13795
22252625
JJ
137962002-09-06 Jakub Jelinek <jakub@redhat.com>
13797
13798 * configure.in (HAVE_AS_OFFSETABLE_LO10): Use -xarch=v9
13799 unconditionally when gcc_cv_as_flags64 checks are gone.
13800 * configure: Rebuilt.
13801
bc401279
AM
138022002-09-06 Alan Modra <amodra@bigpond.net.au>
13803
13804 * config/rs6000/rs6000.md (extzvsi_internal2): Revert most of
13805 2002-07-26 change. Comment.
13806
b3fbfc07
KG
138072002-09-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13808
13809 * frv.c (frv_unique_section, frv_select_section,
13810 frv_select_rtx_section): Delete.
13811 (frv_in_small_data_p): New.
13812 (TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_SECTION,
13813 TARGET_ASM_SELECT_RTX_SECTION): Delete.
13814 (TARGET_IN_SMALL_DATA_P): Define.
13815
41e34bab
DJ
138162002-09-05 Dale Johannesen <dalej@apple.com>
13817
13818 * reload1.c (reload): Retain only those memory clobbers
13819 added for variable-array handling.
13820
dc0ba55a
JT
138212002-09-05 Jason Thorpe <thorpej@wasabisystems.com>
13822
13823 * config/arm/arm.c (arm_return_in_memory): Implement ATPCS
2567406a 13824 return-in-memory rules.
dc0ba55a
JT
13825 * config/arm/arm.h (ARM_FLAG_ATPCS, TARGET_ATPCS): Define.
13826
dd19d142
DE
138272002-09-05 David Edelsohn <edelsohn@gnu.org>
13828
13829 * config/rs6000/xcoff.h (HOT_TEXT_SECTION_NAME): Delete.
13830 (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Delete.
13831
3717da94
JT
138322002-09-05 Jason Thorpe <thorpej@wasabisystems.com>
13833
13834 * real.c: Avoid parse error if FLOAT_WORDS_BIG_ENDIAN is
13835 not a compile-time constant for the non-IBM case.
13836 * config/arm/arm-protos.h (arm_float_words_big_endian): New
2567406a 13837 prototype.
3717da94 13838 * config/arm/arm.c (arm_float_words_big_endian): New function.
b5b620a4 13839 * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __VFP_FP__
2567406a
JH
13840 if TARGET_VFP and not TARGET_HARD_FLOAT.
13841 (ARM_FLAG_VFP, TARGET_VFP): Define.
3717da94
JT
13842 (FLOAT_WORDS_BIG_ENDIAN): Use arm_float_words_big_endian.
13843
225cee28
DE
138442002-09-05 David Edelsohn <edelsohn@gnu.org>
13845
13846 * doc/install.texi: Correct text of s390-*-linux* and s390x-*-linux*
13847 URLs. Fix AIX wording.
13848
c72bfda7
SS
138492002-09-05 Stan Shebs <shebs@apple.com>
13850
13851 * config/rs6000/rs6000.c (rs6000_override_options): Make -fpic and
13852 -fPIC equivalent on Darwin.
13853
3578cf63
R
13854Thu Sep 5 16:27:47 2002 J"orn Rennecke <joern.rennecke@superh.com>
13855
13856 * sh.c (sh_expand_builtin): Return early if encountering an
13857 error_mark for a type.
13858
7974fe63
UW
138592002-09-05 Ulrich Weigand <uweigand@de.ibm.com>
13860
13861 * config/s390/s390.c (s390_expand_plus_operand): Do not require
13862 double-word scratch register.
13863 config/s390/s390.md ("reload_indi", "reload_insi"): Adapt.
13864
2567406a 13865 ("*tmqi_ext", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem",
7974fe63
UW
13866 "*cli"): Replace s_operand by memory_operand.
13867 ("cmpstrdi", "cmpstrsi"): Replace s_operand by general_operand.
13868
f8cb5851
KH
138692002-09-05 Kazu Hirata <kazu@cs.umass.edu>
13870
13871 * config/h8300/h8300.c (asm_file_start): Add a missing
13872 semicolon.
13873
4977bab6
ZW
138742002-09-04 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
13875
13876 * c-typeck.c (build_function_call): Remove unused variable(s).
13877 (build_c_cast): Likewise.
13878 * calls.c (rtx_for_function_call): Likewise.
13879 * cfglayout.c (duplicate_insn_chain): Likewise.
13880 * cfgloop.c (flow_loop_nodes_find): Likewise.
13881 * cfgrtl.c (split_edge): Likewise.
13882 * df.c (df_ref_create): Likewise.
13883 * except.c (expand_end_catch): Likewise.
13884 * expr.c (emit_push_insn, store_constructor, expand_expr): Likewise.
13885 * function.c (emit_return_into_block): Likewise.
13886 (reposition_prologue_and_epilogue_notes): Likewise.
13887 * gengtype.c (get_file_basename, write_gc_structure_fields): Likewise.
13888 * combine.c (subst_prev_insn, need_refresh): Remove.
13889 * dwarf2out.c (primary_filename): Remove.
13890 * final.c (new_block): Remove.
13891 * gcse.c (orig_bb_count): Remove.
13892
138932002-09-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13894
13895 * dsp16xx-protos.h (dsp16xx_compare_gen): Change to bool.
13896 * dsp16xx.c (dsp16xx_compare_gen): Likewise.
13897 * dsp16xx.md: Treat dsp16xx_compare_gen as a bool. Call functions
13898 directly instead of using a function pointer.
13899
5fc0e5df
KW
139002002-09-04 Krister Walfridsson <cato@df.lth.se>
13901
13902 * config/i386/i386.h (GOT_SYMBOL_NAME): Define.
13903 * config/i386/i386.c (output_set_got): Use GOT_SYMBOL_NAME.
13904 (ix86_output_addr_diff_elt) Likewise.
13905 (x86_output_mi_thunk) Likewise.
13906 * config/i386/netbsd.h (GOT_SYMBOL_NAME): Redefine.
13907
f4b488fd
KG
139082002-09-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13909
13910 * frv.c (frv_encode_section_info): Fix error in last change.
13911
0e5dbd9b
DE
139122002-09-04 David Edelsohn <edelsohn@gnu.org>
13913
13914 * config/rs6000/rs6000.c (rs6000_flag_pic): New variable.
13915 (rs6000_elf_encode_section_info): ATTRIBUTE_UNUSED.
13916 (TARGET_BINDS_LOCAL_P): Define.
13917 (rs6000_override_options): Save original flag_pic value.
13918 (rs6000_elf_select_section): Call default_elf_select_section_1.
13919 (rs6000_elf_unique_section): Call default_unique_section_1.
13920 (rs6000_elf_in_small_data_p): New function.
13921 (rs6000_xcoff_asm_named_section): Determine storage mapping class.
13922 (rs6000_xcoff_select_section): Update based on defaults.
13923 (rs6000_xcoff_unique_section): Set to basic name if not common.
13924 (rs6000_binds_local_p): New function.
13925 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Set
13926 targetm.have_srodata_section if SDATA_EABI.
13927 (TARGET_IN_SMALL_DATA_P): Define.
13928
f57f9cb8
DJ
139292002-09-04 Dale Johannesen <dalej@apple.com>
13930
13931 * varasm.c (struct rtx_const, decode_rtx_const):
13932 Make veclo and vechi fields not share storage.
13933
ed6cc1f5
R
13934Thu Sep 5 00:34:33 2002 J"orn Rennecke <joern.rennecke@superh.com>
13935
13936 * loop.c (scan_loop): Don't mark separate insns out of a libcall
13937 for moving.
13938 (move_movables): Abort if we see the first insn of a libcall.
13939
ab5e2615
RH
139402002-09-04 Richard Henderson <rth@redhat.com>
13941
13942 * builtin-types.def (BT_FN_FLOAT): New.
13943 (BT_FN_DOUBLE, BT_FN_LONG_DOUBLE): New.
13944 * builtins.def (BUILT_IN_INF, BUILT_IN_INFF, BUILT_IN_INFL,
13945 BUILT_IN_HUGE_VAL, BUILT_IN_HUGE_VALF, BUILT_IN_HUGE_VALL): New.
13946 * builtins.c (fold_builtin_inf): New.
13947 (fold_builtin): Call it.
13948 * real.c (ereal_inf): New.
13949 * real.h: Declare it.
13950 * doc/extend.texi: Document new builtins.
13951
9beb7d20
RH
139522002-09-04 Richard Henderson <rth@redhat.com>
13953
13954 * cse.c (cse_insn): Avoid subreg games if the equivalence
13955 is already in the proper mode.
13956
29984e05
EB
139572002-09-04 Eric Botcazou <ebotcazou@multimania.com>
13958
13959 PR c/7102
13960 * optabs.c (expand_binop): Convert CONST_INTs in all cases.
13961
8d46398e
JDA
139622002-09-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
13963
13964 * pa.md (setccfp0, setccfp1): New patterns.
13965
14966b94
KG
139662002-09-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13967
13968 * frv-protos.h (frv_init_builtins, frv_expand_builtin,
13969 frv_select_section, frv_select_rtx_section,
13970 frv_encode_section_info, frv_unique_section): Delete.
13971 * frv.c: Update for target hooks.
13972 * frv.h (STRIP_NAME_ENCODING, SLOW_ZERO_EXTEND, SELECT_SECTION,
13973 SELECT_RTX_SECTION, ENCODE_SECTION_INFO, UNIQUE_SECTION,
13974 EASY_DIV_EXPR, MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): Delete.
13975
c8bf1a1a
KG
139762002-09-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13977
13978 * ip2k-protos.h (function_prologue, function_epilogue,
13979 encode_section_info): Update to match target hook specification.
13980 * ip2k.c: Wrap `MDR' code in IP2K_MD_REORG_PASS.
13981 (function_prologue, function_epilogue, encode_section_info):
13982 Update to match target hook specification.
13983 * ip2k.h (SELECT_SECTION, SELECT_RTX_SECTION, ASM_OPEN_PAREN,
13984 ASM_CLOSE_PAREN, EASY_DIV_EXPR): Delete.
13985 (NOTICE_UPDATE_CC): Cast to void.
13986 * ip2k.md: Add defaults in switch statements.
13987
0484cb35
JJ
139882002-09-04 Janis Johnson <janis187@us.ibm.com>
13989
13990 * doc/trouble.texi (Interoperation): Update information about C++ ABI
13991 issues.
13992
3e62bd08
JT
139932002-09-04 Jason Thorpe <thorpej@wasabisystems.com>
13994
13995 * config/sparc/t-netbsd64: Disable multilib for now.
13996
275b6d80
DE
139972002-09-04 David Edelsohn <edelsohn@gnu.org>
13998
13999 * target-def.h (TARGET_HAVE_SRODATA_SECTION): New macro.
14000 * target.h (gcc_target): Add have_srodata_section member.
14001 * varasm.c (section_category): Add SECCAT_SRODATA.
14002 (categorize_decl_for_section): Return SECCAT_SRODATA for sdata if
14003 READONLY_SDATA_SECTION defined.
14004 (decl_readonly_section_1): True for SECCAT_SRODATA also.
14005 (default_elf_select_section_1): Map SECCAT_SRODATA to .sdata2.
14006 (default_unique_section_1): Likewise.
14007
015b1ad1
JDA
140082002-09-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
14009
14010 * expr.c (emit_group_load): Revise to allow splitting TCmode source
14011 into DImode pieces.
14012
14013 * pa-64.h (LONG_DOUBLE_TYPE_SIZE): Define to 128.
14014 * pa64-regs.h (CLASS_CANNOT_CHANGE_MODE_P): Inhibit changes from SImode
14015 for floating-point register class.
14016 * pa.c (function_arg): Fix handling of modes wider than one word for
14017 TARGET_64BIT.
14018
b10f2187
R
14019Wed Sep 4 18:48:10 2002 J"orn Rennecke <joern.rennecke@superh.com>
14020
14021 * combine.c (make_compound_operation): Don't generate zero / sign
14022 extensions in floating point modes.
14023
478c9e72
JJ
140242002-09-04 Janis Johnson <janis187@us.ibm.com>
14025
14026 * doc/c-tree.texi: Fix overfull hboxes.
14027 * doc/cppopts.texi: Ditto.
14028 * doc/extend.texi: Ditto.
14029 * doc/gty.texi: Ditto.
14030 * doc/invoke.texi: Ditto.
14031 * doc/makefile.texi: Ditto.
14032 * doc/rtl.texi: Ditto.
14033 * doc/standards.texi: Ditto.
14034 * doc/tm.texi: Ditto.
14035
77e8a0cc
RH
140362002-09-04 Richard Henderson <rth@redhat.com>
14037
14038 * c-common.c (builtin_define_with_hex_fp_value): New.
14039 (builtin_define_float_constants): Use it. Fix H_FLOAT mant_dig.
14040
a9c60612
JJ
140412002-09-04 Janis Johnson <janis187@us.ibm.com>
14042
14043 * doc/invoke.texi (-fshort-wchar): Move to Code Generation Options.
14044 (-fpcc-struct-return, -freg-struct-return, -fshort-enums,
14045 -fshort-double, -fshort-wchar, -fpack-struct, -fleading-underscore):
14046 Warn that these options can break ABI compatibility.
14047
4b67a274
RH
140482002-09-04 Richard Henderson <rth@redhat.com>
14049
14050 * real.c (ereal_to_decimal): Add digits parameter.
14051 * real.h (REAL_VALUE_TO_DECIMAL): Remove format; add digits parameter.
14052 * c-pretty-print.c (pp_c_real_literal): Update call.
14053 * print-rtl.c (print_rtx): Likewise.
14054 * print-tree.c (print_node_brief, print_node): Likewise.
14055 * sched-vis.c (print_value): Likewise.
14056 * config/arc/arc.c (arc_print_operand): Likewise.
14057 * config/c4x/c4x.c (c4x_print_operand): Likewise.
14058 * config/i370/i370.h (PRINT_OPERAND): Likewise.
14059 * config/i386/i386.c (print_operand): Likewise.
14060 * config/i960/i960.c (i960_print_operand): Likewise.
14061 * config/ip2k/ip2k.c (asm_output_float): Likewise.
14062 * config/m32r/m32r.c (m32r_print_operand): Likewise.
14063 * config/m68hc11/m68hc11.c (print_operand): Likewise.
14064 * config/m68k/hp320.h (PRINT_OPERAND, ASM_OUTPUT_FLOAT_OPERAND,
14065 ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
2567406a 14066 * config/m68k/m68k.h (ASM_OUTPUT_FLOAT_OPERAND,
4b67a274
RH
14067 ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
14068 * config/m68k/sun2o4.h (ASM_OUTPUT_FLOAT_OPERAND,
14069 ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
14070 * config/m68k/sun3.h (ASM_OUTPUT_FLOAT_OPERAND,
14071 ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
14072 * config/mips/mips.c (print_operand): Likewise.
14073 * config/ns32k/ns32k.c (print_operand): Likewise.
14074 * config/pdp11/pdp11.h (PRINT_OPERAND): Likewise.
14075 * config/vax/vax.h (PRINT_OPERAND): Likewise.
14076 * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Update docs.
14077
01abf342
BW
140782002-09-04 Bob Wilson <bob.wilson@acm.org>
14079
14080 * config/xtensa/elf.h (TARGET_SECTION_TYPE_FLAGS): Define to
14081 xtensa_multibss_section_type_flags.
14082 * config/xtensa/xtensa.c (xtensa_multibss_section_type_flags): Define.
14083
cd42d3df
RH
140842002-09-04 Richard Henderson <rth@redhat.com>
14085
14086 * doc/install-old.texi: Don't mention enquire.
14087 * doc/sourcebuild.texi: Update float.h description.
14088
502e6d5a
R
14089Wed Sep 4 11:22:14 2002 J"orn Rennecke <joern.rennecke@superh.com>
14090
14091 * sh.md (mperm_w_little, mperm_w_big): Supply mode for zero_extract.
14092
4977bab6
ZW
140932002-09-03 Roger Sayle <roger@eyesopen.com>
14094
14095 * builtins.c (build_function_call_expr): Remove prototype, export
14096 as non-static and add a comment above function definition.
14097 (builtin_mathfn_code): New function to check for math builtins.
14098 (fold_builtin): Optimize sqrt(0.0) as 0.0, sqrt(1.0) as 1.0,
14099 exp(0.0) as 1.0, and log(1.0) as 0.0. Optimize exp(log(x)) and
14100 log(exp(x)) as x. Optimize sqrt(exp(x)) as exp(x/2.0) and
14101 log(sqrt(x)) as log(x)/2.0.
14102
14103 * tree.h: Prototype build_function_call_expr and builtin_mathfn_code
14104 in new "builtins.c" section. Place the build_range_type prototype
14105 with the other prototypes from "tree.c".
14106
14107 * fold-const.c (fold) [ABS_EXPR]: Fold fabs(sqrt(x)) as sqrt(x)
14108 and fabs(exp(x)) as exp(x). [MULT_EXPR]: Fold sqrt(x)*sqrt(y)
14109 as sqrt(x*y) and exp(x)*exp(y) as exp(x+y). [RDIV_EXPR]: Fold
14110 x/exp(y) as x*exp(-y).
14111
2cc9fb4c
DE
141122002-09-03 David Edelsohn <edelsohn@gnu.org>
14113
14114 * varasm.c (default_section_type_flags): Append _1 to name with
14115 shlib parameter. Use original name to call new function with
14116 implicit flag_pic.
14117 (decl_readonly_section): Likewise.
14118 (default_elf_select_section): Likewise.
14119 (default_unique_section): Likewise.
14120 (default_bind_local_p): Likewise.
14121 (categorize_decl_for_section): Add shlib parameter to use in place
14122 of implicit flag_pic.
14123 * output.h: Declare new functions with _1 and shlib argument.
14124
7c19f816
JJ
141252002-09-03 Janis Johnson <janis187@us.ibm.com>
14126
8c085f6f
JJ
14127 * doc/install.texi: Fix typos, formatting problems, and obvious
14128 overfull/underfull boxes.
14129
7c19f816
JJ
14130 * Makefile.in (TEXI_GCC_FILES): Add compat.texi.
14131 * doc/gcc.texi (Top): Add new chapter, Binary Compatibility, and
14132 include its file, compat.texi.
14133 * doc/compat.texi: New file with new chapter, Binary Compatibility.
14134
79ba5e3b
NB
141352002-09-03 Neil Booth <neil@daikokuya.co.uk>
14136
14137 Debian BTS Bug #157416
14138 * cpphash.h (FIRST, LAST, CUR, RLIMIT): Fix definitions.
14139 * cpplib.c (destringize_and_run): Kludge around getting
14140 tokens from in-progress macros.
14141 (_cpp_do__Pragma): Simplify.
14142
57016b47
SE
141432002-09-03 Steve Ellcey <sje@cup.hp.com>
14144
14145 * config/ia64/ia64.h (EXTRA_SPECS): Remove cpp_cpu.
14146 (CPP_CPU_SPEC): Remove.
14147 (TARGET_CPU_CPP_BUILTINS): New.
14148 * config/ia64/hpux.h (CPP_PREDEFINES): Remove.
14149 (CPP_SPEC): Remove.
14150 (TARGET_OS_CPP_BUILTINS): New.
14151 * config/ia64/linux.h (CPP_PREDEFINES): Remove.
14152 (TARGET_OS_CPP_BUILTINS): New.
14153 * config/ia64/aix.h (CPP_SPEC): Move some stuff to
14154 TARGET_OS_CPP_BUILTINS.
14155 (CPP_PREDEFINES): Remove.
14156 (CPLUSPLUS_CPP_SPEC): Remove.
14157 (TARGET_OS_CPP_BUILTINS): New.
14158
d57a4b98
RH
141592002-09-03 Richard Henderson <rth@redhat.com>
14160
14161 * Makefile.in (USER_H): Add ginclude/float.h.
14162 (FLOAT_H): Remove.
14163 (stmp-int-hdrs, install-mkheaders): Don't handle FLOAT_H.
14164 (mostlyclean): Don't remove float.h intermediate files.
14165 (distclean): Don't remove float.h.
14166 * config.gcc: Remove all float_format references.
14167 * configure.in (float_format, float_h_file): Remove.
14168
14169 * c-common.c: Include tree-inline.h.
14170 (builtin_define_with_int_value): New.
14171 (builtin_define_type_precision): Use it.
14172 (builtin_define_float_constants): New.
14173 (cb_register_builtins): Use it. Define __FLT_RADIX__ and
14174 __FLT_EVAL_METHOD__.
14175 * defaults.h (TARGET_FLT_EVAL_METHOD): New.
14176 * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): New.
14177 * config/m68k/m68k.h (TARGET_FLT_EVAL_METHOD): New.
14178 * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Mention moto 96-bit format.
14179 (TARGET_FLT_EVAL_METHOD): New.
14180
14181 * config/float-c4x.h, config/float-i128.h, config/float-i32.h,
14182 config/float-i386.h, config/float-i64.h, config/float-m68k.h,
14183 config/float-sh.h, config/float-sparc.h, config/float-vax.h: Remove.
14184 * ginclude/float.h: New.
14185
527347f0
SS
141862002-09-03 Stan Shebs <shebs@apple.com>
14187
14188 * config/darwin.h (WARN_FOUR_CHAR_CONSTANTS): Remove, never used.
14189 (DWARF2_DEBUGGING_INFO): Remove until assembler accepts Dwarf-2.
14190 (PREFERRED_DEBUGGING_TYPE): Ditto.
14191 (ASM_OUTPUT_IDENT): Remove empty definition.
14192
34c1864f
SE
141932002-09-03 Steve Ellcey <sje@cup.hp.com>
14194
14195 * config.gcc (ia64*-*-hpux*): Add ia64-c.o to c_target and
14196 cxx_target.
14197 * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Register pragma
14198 handling routine for builtin pragma.
14199 * config/ia64/ia64-protos.h (ia64_hpux_handle_builtin_pragma):
14200 Registered pragma handling routine.
14201 * ia64-c.c (ia64_hpux_handle_builtin_pragma): Ditto.
14202 (ia64_hpux_add_pragma_builtin) New subroutine used by above.
14203 If builtin pragma seen for math routine and C89 conformance is
14204 requested use different math function in order to set errno.
14205 * t-ia64 (ia64-c.o): Add new rule for new file.
14206
9b7c75b9
UW
142072002-09-03 Ulrich Weigand <uweigand@de.ibm.com>
14208
14209 * config/s390/s390.md ("movti"): Add Q->Q alternative.
14210 ("*movdi_64", "*movdi_31", "*movsi", "movhi", "movqi_64",
14211 "movqi", "*movdf_64", "*movdf_31", "*movsf"): Likewise.
2567406a
JH
14212
14213 ("*movti_ss", "*movdi_ss", "*movsi_ss", "*movdf_ss",
9b7c75b9
UW
14214 "*movsf_ss"): Remove.
14215
710ba35f
JDA
142162002-09-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
14217
14218 * pa32-regs.h (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P):
14219 Delete macros.
14220
ff970081
AD
142212002-09-03 Arati Dikey <aratid@kpit.com>
14222
14223 * h8300.c (asm_file_start): Corrected optimization comment.
14224
b50d021d
SS
142252002-09-03 Stan Shebs <shebs@apple.com>
14226
14227 * c-lang.c (recognize_objc_keyword): Remove, no longer used.
14228 * c-tree.h (recognize_objc_keyword): Remove decl.
14229 * c-typeck.c (comp_target_types): Update a comment.
14230
b808c04c
UW
142312002-09-03 Ulrich Weigand <uweigand@de.ibm.com>
14232
14233 * config/s390/s390.c (s390_decompose_address): Remove STRICT parameter
14234 and register validity checks.
14235 (general_s_operand): Adapt to s390_decompose_address interface change.
14236 (q_constraint): Likewise.
14237 (s390_expand_plus_operand): Likewise.
14238 (legitimiate_address_p): Likewise.
14239 (legitimate_la_operand_p): Likewise.
14240 (legitimize_la_operand): Likewise.
14241 (print_operand_address): Likewise.
14242 (print_operand): Likewise.
14243
ee453219
NP
14244Tue Sep 3 11:32:14 2002 Nicola Pero <n.pero@mi.flashnet.it>
14245
14246 PR objc/5956:
14247 * objc/objc-act.c (build_typed_selector_reference): Fix typo which
2567406a
JH
14248 was causing the new selector never to match the existing ones
14249 (Patch by Alexander Malmberg <alexander@malmberg.org>).
ee453219 14250
d82283d5
GS
142512002-09-03 Graham Stott <graham.stott@btinternet.com>
14252
14253 * config/i386/i386.md ("femms"): Add "memory" attr "none".
14254
142552002-09-03 Graham Stott <graham.stott@btinternet.com>
c7a009a2
GS
14256
14257 * expr.c (expand_expr): Remove extraneous comment and code.
14258
4977bab6
ZW
142592002-09-02 Nathan Sidwell <nathan@codesourcery.com>
14260
14261 * stor-layout (finish_builtin_struct): Renamed and moved from c++
14262 frontend. Take chain of fields. Allow NULL alignment type.
14263 * tree.h (finish_builtin_struct): Declare.
14264
142652002-09-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14266
14267 * config/alpha/alpha.c config/alpha/alpha.h config/alpha/alpha.md
14268 config/alpha/elf.h config/alpha/unicosmk.h config/alpha/vms.h
14269 config/arc/arc.c config/arc/arc.h config/arm/aout.h
14270 config/arm/arm.c config/arm/arm.h config/arm/arm.md
14271 config/avr/avr.h config/d30v/d30v.h config/dbxcoff.h
14272 config/dbxelf.h config/elfos.h config/fr30/fr30.h config/frv/frv.h
14273 config/i386/i386.c config/i386/i386.md config/i386/sco5.h
14274 config/ia64/ia64.h config/ip2k/ip2k.h config/m68hc11/m68hc11.md
14275 config/m68k/hp320.h config/m68k/m68k.c config/m68k/m68k.md
14276 config/m68k/mot3300.h config/m68k/sgs.h config/m68k/tower-as.h
14277 config/m88k/m88k.c config/m88k/m88k.h config/mcore/mcore-pe.h
14278 config/mcore/mcore.c config/mips/mips.c config/mips/mips.h
14279 config/ns32k/ns32k.md config/pa/pa-linux.h config/pa/pa.c
14280 config/pa/pa.h config/pa/pa.md config/romp/romp.h
14281 config/rs6000/linux64.h config/rs6000/lynx.h
14282 config/rs6000/rs6000.c config/rs6000/sysv4.h config/rs6000/xcoff.h
14283 config/s390/s390.c config/s390/s390.md config/sh/sh.c
14284 config/sparc/sparc.c config/sparc/sysv4.h
14285 config/stormy16/stormy16.h dbxout.c defaults.h dwarf2out.c
14286 dwarfout.c except.c final.c varasm.c vmsdbgout.c: Replace
14287 ASM_OUTPUT_INTERNAL_LABEL macro with a call to the target hook.
14288
14289 * doc/tm.texi: Update docs.
14290 * default.h (ASM_OUTPUT_INTERNAL_LABEL): Don't define.
14291 * system.h (ASM_OUTPUT_INTERNAL_LABEL): Poison.
14292
142932002-08-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14294
14295 * Makefile.in (sdbout.o, insn-output.o): Depend on $(TARGET_H).
14296 * arc.c (arc_internal_label): New function.
14297 (TARGET_ASM_INTERNAL_LABEL): Set.
14298 * arc.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
14299 * arm.c (arm_internal_label): New function.
14300 (TARGET_ASM_INTERNAL_LABEL): Set.
14301 * arm.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
14302 * arm/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
14303 * i370.c (i370_internal_label): New function.
14304 (TARGET_ASM_INTERNAL_LABEL): Set.
14305 * i370.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
14306 * m68k/hp320.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
14307 * m68k.c (m68k_hp320_internal_label): New function.
14308 (TARGET_ASM_INTERNAL_LABEL): Set.
14309 * m88k.c (m88k_internal_label): New function.
14310 (TARGET_ASM_INTERNAL_LABEL): Set.
14311 * m88k.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
14312 * defaults.h (ASM_OUTPUT_INTERNAL_LABEL): Set to target hook.
14313 * genoutput.c (output_prologue): Include target.h in output file.
14314 * output.h (default_internal_label): Declare.
14315 * sdbout.c: Include target.h.
14316 * target-def.h (TARGET_ASM_INTERNAL_LABEL): Set and add to
14317 TARGET_ASM_OUT.
14318 * target.h (internal_label): Add to struct gcc_target.
14319 * varasm.c (default_internal_label): New function.
14320
143212002-08-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14322
14323 * alpha.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
14324 * avr.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14325 * c4x.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14326 * cris.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14327 * d30v.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14328 * darwin.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14329 * dsp16xx.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14330 * elfos.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14331 * h8300.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14332 * i386/att.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14333 * i386/bsd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14334 * i386/i386-coff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14335 * i386/lynx-ng.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14336 * i386/lynx.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14337 * i386/sco5.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14338 * i960/i960.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14339 * m68k/3b1.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14340 * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14341 * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14342 * m68k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14343 * m68k/mot3300.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14344 * m68k/tower-as.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14345 * m88k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14346 * mcore.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14347 * mips.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14348 * mmix-protos.h (mmix_asm_output_internal_label): Likewise.
14349 * mmix.c (mmix_asm_output_internal_label): Likewise.
14350 * mmix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14351 * ns32k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14352 * pa.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14353 * pdp11.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14354 * romp.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14355 * rs6000/xcoff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14356 * sh/coff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14357 * sh/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14358 * sparc/freebsd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14359 * sparc/linux.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14360 * sparc/linux64.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14361 * sparc/netbsd-elf.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14362 * sparc/pbd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14363 * sparc/sol2.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14364 * sparc.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14365 * sparc/vxsim.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14366 * stormy16.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14367 * svr3.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14368 * vax.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14369
14370 * defaults.h (ASM_OUTPUT_INTERNAL_LABEL): Define.
14371
98c0d8d1
RH
143722002-08-31 Richard Henderson <rth@redhat.com>
14373
14374 * expr.c (block_move_libcall_safe_for_call_parm): Fix thinko.
14375
a5f3f0ab
JDA
143762002-08-31 John David Anglin <dave@hiauly1.hia.nrc.ca>
14377
14378 * pa.c (pa_globalize_label): Add ATTRIBUTE_UNUSED to prototype.
14379
38ec83b1
RH
143802002-08-30 Richard Henderson <rth@redhat.com>
14381
c9989d09 14382 PR opt/7515
38ec83b1
RH
14383 * c-objc-common.c: Include target.h.
14384 (c_cannot_inline_tree_fn): Don't auto-inline functions that
14385 don't bind locally. Factor setting DECL_UNINLINABLE.
14386 * Makefile.in (c-objc-common.o): Update.
14387
4c64396e
JJ
143882002-08-30 Janis Johnson <janis187@us.ibm.com>
14389
14390 * doc/install.texi (Configuration, Building): Fix a typo and
14391 some formatting directives.
14392
4226378a
PK
143932002-08-30 Paul Koning <pkoning@equallogic.com>
14394
14395 * doc/c-tree.texi (RDIV_EXPR): Fix typo.
14396 * doc/rtl.texi (post_modify): Remove misplaced text, remove "not
14397 implemented" note.
14398 * doc/md.texi (IP2K): Move machine-specific constraints before MIPS
14399 for alphabetic order.
14400 * doc/tm.texi (TARGET_FLOAT_FORMAT): Update description for
14401 VAX_FLOAT_FORMAT. Remove reference to HOST_FLOAT_FORMAT.
14402 (VAX_HALFWORD_ORDER): Document.
14403 (LARGEST_EXPONENT_IS_NORMAL): Remove note about being only for
14404 IEEE float format.
14405 (TARGET_SCHED_ISSUE_RATE): Reword reference to MAX_DFA_ISSUE_RATE.
14406 (ASM_OUTPUT_LABEL_REF): Fix font.
14407 (CASE_VECTOR_SHORTEN_MODE): Ditto.
14408
b8074dbe
DC
144092002-08-30 Denis Chertykov <denisc@overta.ru>
14410
14411 * config/ip2k/ip2k.c (ip2k_set_compare): Remove all const_double
14412 stuff.
14413 (ip2k_gen_unsigned_comp_branch): Handle CONST_INT and
14414 CONST_DOUBLE constants.
2567406a 14415
55f49e3d
JT
144162002-08-30 Jason Thorpe <thorpej@wasabisystems.com>
14417
14418 * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Move language-
14419 related defines to...
14420 (SUBTARGET_LANGUAGE_CPP_BUILTINS): ...here.
14421 * config/alpha/netbsd.h (SUBTARGET_LANGUAGE_CPP_BUILTINS): Redefine
14422 as a no-op.
14423
e1944073
KW
144242002-08-30 Krister Walfridsson <cato@df.lth.se>
14425
14426 * config/arm/arm.c (arm_asm_output_labelref): New function.
14427 * config/arm/arm.h (ASM_OUTPUT_LABELREF): Call arm_asm_output_labelref.
14428 * config/arm/arm-protos.h: Add prototype for arm_asm_output_labelref.
14429
6e92b3a1
RB
144302002-08-29 Rodney Brown <rbrown64@csc.com.au>
14431
14432 * doc/install.texi (Specific, alpha*-dec-osf*): Add "virtual
14433 memory exhausted" workarounds.
14434
9d533cb5
GDR
144352002-08-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
14436
14437 * diagnostic.c (fancy_abort): Don't repeat "internal error".
14438 * toplev.c (crash_signal): Likewise.
14439
1f676100
NP
14440Fri Aug 30 00:33:37 2002 Nicola Pero <n.pero@mi.flashnet.it>
14441
14442 * doc/cpp.texi (__NEXT_RUNTIME__): Extended documentation.
14443 * doc/invoke.texi (-fnext-runtime, -Wno-protocol, -Wselector):
14444 Extended, updated documentation.
14445 (-Wundeclared-selector): Documented.
14446
23532de9
JT
144472002-08-29 Jason Thorpe <thorpej@wasabisystems.com>
14448
14449 * config/chorus.h: Consistently define *_DEBUGGING_INFO with
14450 the value 1. Do not undef before defining.
14451 * config/darwin.h: Likewise.
14452 * config/dbx.h: Likewise.
14453 * config/dbxcoff.h: Likewise.
14454 * config/dbxelf.h: Likewise.
14455 * config/elfos.h: Likewise.
14456 * config/interix.h: Likewise.
14457 * config/lynx-ng.h: Likewise.
14458 * config/lynx.h: Likewise.
14459 * config/netware.h: Likewise.
14460 * config/psos.h: Likewise.
14461 * config/svr3.h: Likewise.
14462 * config/alpha/alpha.h: Likewise.
14463 * config/alpha/elf.h: Likewise.
14464 * config/alpha/vms.h: Likewise.
14465 * config/arc/arc.h: Likewise.
14466 * config/arm/aout.h: Likewise.
14467 * config/arm/coff.h: Likewise.
14468 * config/c4x/c4x.h: Likewise.
14469 * config/h8300/h8300.h: Likewise.
14470 * config/i386/cygwin.h: Likewise.
14471 * config/i386/djgpp.h: Likewise.
14472 * config/i386/gas.h: Likewise.
14473 * config/i386/gstabs.h: Likewise.
14474 * config/i386/i386-coff.h: Likewise.
14475 * config/i386/i386-interix.h: Likewise.
14476 * config/i386/sco5.h: Likewise.
14477 * config/i386/svr3dbx.h: Likewise.
14478 * config/i386/sysv3.h: Likewise.
14479 * config/i386/win32.h: Likewise.
14480 * config/i386/x86-64.h: Likewise.
14481 * config/i960/i960.h: Likewise.
14482 * config/ia64/ia64.h: Likewise.
14483 * config/ip2k/ip2k.h: Likewise.
14484 * config/m32r/m32r.h: Likewise.
14485 * config/m68k/3b1.h: Likewise.
14486 * config/m68k/3b1g.h: Likewise.
14487 * config/m68k/ccur-GAS.h: Likewise.
14488 * config/m68k/coff.h: Likewise.
14489 * config/m68k/hp2bsd.h: Likewise.
14490 * config/m68k/hp310g.h: Likewise.
14491 * config/m68k/hp320g.h: Likewise.
14492 * config/m68k/hp3bsd.h: Likewise.
14493 * config/m68k/hp3bsd44.h: Likewise.
14494 * config/m68k/linux-aout.h: Likewise.
14495 * config/m68k/m68k-aout.h: Likewise.
14496 * config/m68k/mot3300.h: Likewise.
14497 * config/m68k/netbsd.h: Likewise.
14498 * config/m68k/openbsd.h: Likewise.
14499 * config/m68k/pbb.h: Likewise.
14500 * config/m68k/plexus.h: Likewise.
14501 * config/m68k/sun2.h: Likewise.
14502 * config/m68k/sun3.h: Likewise.
14503 * config/m68k/tower-as.h: Likewise.
14504 * config/m68k/vxm68k.h: Likewise.
14505 * config/m88k/aout-dbx.h: Likewise.
14506 * config/m88k/m88k-aout.h: Likewise.
14507 * config/mcore/mcore-elf.h: Likewise.
14508 * config/mcore/mcore-pe.h: Likewise.
14509 * config/mips/elf.h: Likewise.
14510 * config/mips/elf64.h: Likewise.
14511 * config/mips/iris5gas.h: Likewise.
14512 * config/mips/iris6.h: Likewise.
14513 * config/mips/mips.h: Likewise.
14514 * config/mips/sni-gas.h: Likewise.
14515 * config/mmix/mmix.h: Likewise.
14516 * config/ns32k/netbsd.h: Likewise.
14517 * config/pa/pa64-hpux.h: Likewise.
14518 * config/romp/romp.h: Likewise.
14519 * config/rs6000/sysv4.h: Likewise.
14520 * config/rs6000/xcoff.h: Likewise.
14521 * config/sh/coff.h: Likewise.
14522 * config/sh/elf.h: Likewise.
14523 * config/sparc/linux64.h: Likewise.
14524 * config/sparc/liteelf.h: Likewise.
14525 * config/sparc/netbsd.h: Likewise.
14526 * config/sparc/openbsd.h: Likewise.
14527 * config/sparc/pbd.h: Likewise.
14528 * config/sparc/sp64-elf.h: Likewise.
14529 * config/sparc/sp86x-elf.h: Likewise.
14530 * config/sparc/sparc.h: Likewise.
14531 * config/vax/vax.h: Likewise.
14532 * config/vax/vaxv.h: Likewise.
14533
5e98fba2
DD
145342002-08-29 "Dhananjay R. Deshpande" <dhananjayd@kpit.com>
14535
14536 * h8300.c (shift_alg_hi): Various tweaks to improve performance
14537 of HImode shifts.
14538 (get_shift_alg): Corresponding changes.
14539
43852342
JDA
145402002-08-29 John David Anglin <dave@hiauly1.hia.nrc.ca>
14541
14542 * som.h (ALWAYS_STRIP_DOTDOT): Define to 1.
14543
44bb111a
RH
145442002-08-29 Richard Henderson <rth@redhat.com>
14545
14546 * expr.h (enum block_op_methods): New.
14547 (emit_block_move): Update prototype.
14548 * expr.c (block_move_libcall_safe_for_call_parm): New.
14549 (emit_block_move_via_loop): New.
14550 (emit_block_move): Use them. New argument METHOD.
14551 (emit_push_insn): Always respect the given alignment.
14552 (expand_assignment): Update call to emit_block_move.
14553 (store_expr, store_field, expand_expr): Likewise.
14554 * builtins.c (expand_builtin_apply): Likewise.
14555 (expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
14556 * function.c (expand_function_end): Likewise.
14557 * config/sh/sh.c (sh_initialize_trampoline): Likewise.
14558 * config/sparc/sparc.c (sparc_va_arg): Likewise.
14559 * calls.c (expand_call, emit_library_call_value_1): Likewise.
14560 (save_fixed_argument_area): Use emit_block_move with
14561 BLOCK_OP_CALL_PARM instead of move_by_pieces.
14562 (restore_fixed_argument_area): Likewise.
14563 (store_one_arg): Fix alignment parameter to emit_push_insn.
14564
08b3d104
JDA
145652002-08-29 John David Anglin <dave@hiauly1.hia.nrc.ca>
14566
14567 * install.texi (hppa64-hp-hpux11*): Document installation procedure.
14568
ce4e9970 145692002-08-29 Catherine Moore <clm@redhat.com>
8376061d
CM
14570
14571 * config/v850/v850.h (MULDI3_LIBCALL, UCMPDI2_LIBCALL, CMPDI2_LIBCALL,
14572 NEGDI2_LIBCALL, INIT_TARGET_OPTABS, MASK_STRICT_ALIGN): Define.
14573 (PREDICATE_CODES): Include new predicates.
14574 (RTX_COSTS): Handle UMOD and UDIV. Tune MULT for v850e.
14575 (TARGET_SWITCHES): Add strict-align.
14576 (TARGET_STRICT_ALIGN): New.
2567406a 14577 (MASK_DEFAULT, STRICT_ALIGNMENT): Redefine.
8376061d
CM
14578 * config/v850/t-v850 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
14579 Define.
14580 (LIB1ASMFUNCS): Add v850_negdi2, v850_cmpdi2, v850_ucmpdi2,
14581 v850_muldi3.
14582 * config/v850/lib1funcs.asm (L_callt_save_r2_r29, L_return_r2_r29,
14583 L_callt_save_r2_r31, L_return_r2_r31,
14584 L_save_all_interrupt): Change addi to add.
14585 (L_save_interrupt, L_return_interrupt): Rework.
14586 (__return_r31): Correct .size directive.
14587 (mulsi3, divsi3, udivsi3, umodsi3, modsi3): Tune for v850e.
14588 (v850_negdi2, v850_cmpdi2, v850_ucmpdi2, v850_muldi3):
14589 New routines.
14590 * config/v850/v850.c (expand_prologue): Call
14591 gen_callt_save_interrupt, gen_callt_restore_all_interrupt,
14592 gen_callt_return_interrupt and gen_callt_save_all_interrupt.
14593 (reg_or_int9_operand): New predicate.
14594 (reg_or_const_operand): New routine.
14595 * config/v850/v850.md (return_interrupt): Changed from
14596 restore_interrupt.
14597 (callt_save_all_interrupt): Changed from save_all_interrupt_v850e.
14598 (callt_save_interrupt): Change save sequence.
14599 (callt_return_interrupt): New.
14600 (save_interrupt): Don't use runtime function for LONG_CALLS
14601 and TARGET_PROLOG_FUNCTION.
14602 (save_all_interrupt): Likewise.
14603 (mulsi3): Use new predicate.
14604 (moviscc): Disallow some combination of constants.
14605 Fix define_split for sasf insns, so that it will not generate bad
14606 code if operand0 and operand5 are the same.
14607 * config/v850/v850-protos.h: Prototype new predicates.
14608
4977bab6
ZW
146092002-08-29 Zack Weinberg <zack@codesourcery.com>
14610
14611 * config/rs6000/rs6000.c (processor_target_table): Add 405f.
14612 * config/rs6000/rs6000.h (ASM_CPU_SPEC): Likewise.
14613
585e661a
GDR
146142002-08-28 Gabriel Dos Reis <gdr@integrable-solutions.net>
14615
14616 * c-common.c (builtin_define_type_precision): New function.
14617 (cb_register_builtins): Use it. Define __WCHAR_UNSIGNED__ is
14618 wchar_t is unsigned in C++.
14619 * doc/cpp.texi (Common Predefined Macros): Document
14620 __WCHAR_UNSIGNED__, __CHAR_BIT__, __WCHAR_BIT__, __SHRT_BIT__,
14621 __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
14622 __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
14623
bd8f9aec
SP
146242002-08-28 Sylvain Pion <pion@cs.nyu.edu>
14625
14626 * doc/invoke.texi (-Wreorder): Remove remaining pieces from the generic
14627 section. Mention that it is enabled by -Wall.
14628 (-Wall): Mention that there can be language-specific warnings as well.
14629 (-Wctor-dtor-privacy): Mention that it is enabled by default.
14630 (-Wnon-virtual-dtor): Mention that it is enabled by -Wall.
14631
58ab7171
R
14632Wed Aug 28 15:35:17 2002 J"orn Rennecke <joern.rennecke@superh.com>
14633
14634 * sh.c (calc_live_regs): Save FPSCR_REG in an interrupt handler
14635 if it is ever live.
14636
14637 * sh.c (sh_handle_interrupt_handler_attribute): Reject interrupt_handler
14638 attribute for SHCOMPACT.
14639
14640 * sh.h (OVERRIDE_OPTIONS): If align_function isn't set, set it
14641 appropriately.
14642 (FUNCTION_BOUNDARY): Specify only the minimum alignment required
14643 by the ABI.
14644
14645 * sh.h (SH5_WOULD_BE_PARTIAL_NREGS): Also handle TImode case.
14646
27f4b67e
JT
146472002-08-28 Jason Thorpe <thorpej@wasabisystems.com>
14648
14649 * config.gcc (mips*-*-netbsd*): Set target_cpu_default to
14650 "MASK_GAS|MASK_ABICALLS".
14651 * config/mips/netbsd.h (TARGET_ENDIAN_DEFAULT)
14652 (TARGET_DEFAULT): Remove.
14653 (MACHINE_TYPE): Undefine before defining.
14654 (DBX_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE): Remove.
14655
eca7f13c
MM
146562002-08-27 Mark Mitchell <mark@codesourcery.com>
14657
14658 * c-common.c (warn_abi): New variable.
14659 * c-common.h (warn_abi): Likewise.
14660 * c-opts.c (COMMAND_LINE_OPTIONS): Add -Wabi.
14661 (c_common_decode_option): Handle it.
7ee425e4 14662 * doc/invoke.texi: Document -Wabi.
2567406a 14663
ece4ce85
NP
14664Tue Aug 27 23:03:52 2002 Nicola Pero <n.pero@mi.flashnet.it>
14665
14666 * c-common.c (warn_undeclared_selector): New variable.
14667 * c-common.h (warn_undeclared_selector): Idem.
14668 * c-opts.c (c_common_decode_option): Set warn_undeclared_selector
14669 to on when -Wundeclared-selector is found.
14670 (COMMAND_LINE_OPTIONS): Added -Wundeclared-selector.
14671 * objc/objc-act.c (build_selector_expr): If
14672 warn_undeclared_selector is set, check that the selector has
14673 already been defined, and emit a warning if not.
14674
b4378319 146752002-08-27 Nick Clifton <nickc@redhat.com>
54c93c30
AE
14676 Catherine Moore <clm@redhat.com>
14677 Jim Wilson <wilson@cygnus.com>
14678
14679 * config.gcc: Add v850e-*-* target.
14680 Add --with-cpu= support for v850.
14681 * config/v850/lib1funcs.asm: Add v850e callt functions.
14682 * config/v850/v850.h: Add support for v850e target.
14683 * config/v850/v850.c: Add functions to support v850e target.
14684 * config/v850/v850-protos.h: Add prototypes for new functions in v850.c.
14685 * config/v850/v850.md: Add patterns for v850e instructions.
14686 * doc/invoke.texi: Document new v850e command line switches.
b4378319 14687
ef261fee
R
14688Tue Aug 27 18:30:47 2002 J"orn Rennecke <joern.rennecke@superh.com>
14689 Aldy Hernandez <aldyh at redhat dot com>
14690
14691 * doc/tm.texi: Applied numerous fixes to the automaton based
14692 scheduler descrition.
14693
c60ee6f5
JH
14694Tue Aug 27 19:51:05 CEST 2002 Jan Hubicka <jh@suse.cz>
14695
14696 * i386.c (classify_argument): Handle variable sized objects.
14697
1985ef90
JH
14698Tue Aug 27 19:18:16 CEST 2002 Jan Hubicka <jh@suse.cz>
14699
14700 * i386.c (ix86_expand_int_movcc): Fix RTL sharing problem
14701
7acc97e0
JH
14702Tue Aug 27 18:01:45 CEST 2002 Jan Hubicka <jh@suse.cz>
14703
14704 * libgcc2.c (__bb_exit_func): Properly write the summarized statistics.
14705
23327dae
JH
14706Tue Aug 27 18:00:11 CEST 2002 Jan Hubicka <jh@suse.cz>
14707
14708 * i386.c (classify_argument): Properly compute word size of the analyzed object.
14709
c49439f1
R
14710Tue Aug 27 14:39:09 2002 J"orn Rennecke <joern.rennecke@superh.com>
14711
14712 * sh.md (attribute type): Add types mt_group, fload, pcfload, fpul_gp,
14713 mac_gp ftrc_s and cwb. Add / Adjust definitions in individual insn
14714 accordingly.
14715 (attribute insn_class): Provide default definitions based on type.
14716 Remove all insn-specific settings.
14717 (various function units): Remove old SH4 scheduling.
14718 (branch_zero, dfp_comp, late_fp_use, any_fp_comp, any_int_load):
14719 New attributes. Set them where appropriate.
14720 (cpu unit FS): Don't define / use.
14721 (F3, load_store): New cpu units.
14722 (F01): New reservation.
14723 (all insn_reservations): Make dependent on sh4 pipeline model.
14724 Fix latencies.
14725 (nil, reg_mov, freg_mov, sh4_fpul_gp, sh4_call): New insn_reservations.
14726 (sh4_mac_gp, fp_arith_ftrc, arith3, arith3b): Likewise.
14727 (mt insn_reservation): Use type mt_group.
14728 (insn_reservation load_store): Split into sh4_load, sh4_load_si,
14729 sh4_fload and sh4_store.
14730 (insn_reservation branch_zero and branch): Replace with sh4_branch.
14731 (insn_reservation branch_far): Replace with sh4_return.
14732 (insn_reservation return_from_exp): Rename to:
14733 (sh4_return_from_exp). Change to be just d_lock*5.
14734 (insn_reservation lds_to_pr): Rename to:
14735 (sh4_lds_to_pr). Change to be just d_lock*2.
14736 (insn_reservation ldsmem_to_pr, sts_from_pr): Change to be just
14737 d_lock*2.
14738 (insn_reservation prload_mem): Rename to:
14739 (sh4_prstore_mem). Change to d_lock*2,nothing,memory.
14740 (insn_reservation fpscr_store): Rename to:
14741 (fpscr_load). Change to d_lock,nothing,F1*3.
14742 (insn_reservation fpscr_store_mem): Rename to:
14743 (fpscr_load_mem). Change to d_lock,nothing,(F1+memory),F1*2.
14744 (insn_reservation multi): Change to
14745 d_lock,(d_lock+f1_1),(f1_1|f1_2)*3,F2.
14746 (insn_reservation fp_arith): Change to issue,F01,F2.
14747 (insn_reservation fp_div: Change to issue,F01+F3,F2+F3,F3*7,F1+F3,F2.
14748 (insn_reservation dp_float): Change to issue,F01,F1+F2,F2.
14749 (insn_reservation fp_double_arith): Change to issue,F01,F1+F2,fpu*4,F2.
14750 (insn_reservation fp_double_cmp): Change to
14751 d_lock,(d_lock+F01),F1+F2,F2.
14752 (insn_reservation dp_div): Change to
14753 issue,F01+F3,F1+F2+F3,F2+F3,F3*16,F1+F3,(fpu+F3)*2,F2.
14754 * sh.c (flow_dependent_p, flow_dependent_p_1): New functions.
14755 (sh_adjust_cost, SHcompact): Differentiate between different
14756 kinds of dependencies. Drop factor of ten for superscalar.
14757 Use new instruction types. Add new exception rules.
14758
14759 * sh.md (mulhisi3, umulhisi3: Add a REG_EQUAL note.
14760
14761 * sh.md (mperm_w): Add DONE.
14762
f34fc46e
DE
147632002-08-27 David Edelsohn <edelsohn@gnu.org>
14764
14765 * longlong.h: Import current PowerPC defintion from GMP-4.1.
14766
14767 * config/rs6000/rs6000.h (MIN_UNITS_PER_WORD): Add IN_LIBGCC2 case.
14768
14769 * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Undef before define.
14770
dcb44500
R
14771Tue Aug 27 13:53:57 2002 J"orn Rennecke <joern.rennecke@superh.com>
14772
14773 * sh.h (MAX_FIXED_MODE_SIZE): Define.
14774
3ec07554
GDR
147752002-08-27 Gabriel Dos Reis <gdr@soliton.integrable-solutions.net>
14776
14777 * doc/cpp.texi (Common Predefined Macros): Don't mess with table
2567406a 14778 delimiter.
3ec07554 14779
35885eab
GDR
147802002-08-27 Gabriel Dos Reis <gdr@integrable-solutions.net>
14781
14782 * c-common.c (cpp_define_data_format): New function.
14783 (cb_register_builtins): Call it.
14784
14785 * doc/cpp.texi (Common Predefined Macros): Document
14786 __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
14787 __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
14788 __TARGET_FLOAT_FORMAT__, __TARGET_USES_VAX_F_FLOAT__,
14789 __TARGET_USES_VAX_D_FLOAT__, __TARGET_USES_VAX_G_FLOAT__,
14790 __TARGET_USES_VAX_H_FLOAT__.
14791
d632dee9
ZL
147922002-08-26 Ziemowit Laski <zlaski@apple.com>
14793
14794 * objc/objc-act.c (get_super_receiver): If inside a class method
14795 of a category, cast the receiver to 'id' before accessing the 'isa'
14796 field so that <objc/objc-class.h> is not needed. For NeXT runtime.
14797
c3cc6b78
UW
147982002-08-26 Ulrich Weigand <uweigand@de.ibm.com>
14799
2567406a 14800 * config/s390/s390-protos.h (s390_function_prologue,
c3cc6b78
UW
14801 s390_function_epilogue): Remove.
14802 config/s390/s390.c (s390_function_prologue, s390_function_epilogue,
14803 TARGET_ASM_FUNCTION_PROLOGUE, TARGET_ASM_FUNCTION_EPILOGUE): Remove.
14804
14805 config/s390/s390.c (s390_machine_dependent_recorg): New function.
14806 config/s390/s390-protos.h (s390_machine_dependent_reorg): Declare it.
14807 config/s390/s390.h (MACHINE_DEPENDENT_REORG): Call it.
14808 config/s390/s390.c (s390_split_branches, s390_chunkify_pool): Adapt
14809 to being called from MACHINE_DEPENDENT_REORG. Update regs_ever_live.
14810
2567406a 14811 config/s390/s390.c (s390_frame_info): Inline save_fprs_p. Always
c3cc6b78
UW
14812 assume BASE_REGISTER and RETURN_REGNUM need to be saved.
14813 (s390_emit_prologue): Assume RETURN_REGNUM to be saved iff
14814 function is not a leaf function. Use save_gprs and restore_gprs.
14815 (s390_emit_epilogue): Likewise.
14816 (save_gprs, restore_gprs): New functions.
14817 (struct s390_frame): Remove return_reg_saved_p member.
14818 (save_fprs_p): Remove.
14819 (s390_optimize_prolog): New function.
14820 (s390_legitimate_reload_constant): Remove now unnecessary check.
14821
14822 (s390_function_count): Remove.
14823 (s390_output_symbolic_const): Replace s390_function_count by
14824 current_function_funcdef_no.
14825 (s390_output_constant_pool): Likewise.
14826
14827 (legitimize_pic_address): Use regs_ever_live to track PIC register
14828 instead of current_function_uses_pic_offset_table.
14829 (s390_emit_prologue): Likewise.
14830 config/s390/s390.md ("call", "call_value"): Likewise.
14831
3f662186
NB
148322002-08-26 Neil Booth <neil@daikokuya.co.uk>
14833
14834 * c-opts.c (find_opt): Don't complain about wrong languages
14835 here. Return exact matches even for wrong language.
14836 (c_common_decode_option): Complain about wrong languages
14837 here.
14838
b6128b8c
SH
148392002-08-24 Stuart Hastings <stuart@apple.com>
14840
14841 * function.h (struct function): Add flag
14842 all_throwers_are_sibcalls.
14843 * except.c (set_nothrow_function_flags): Replaces
14844 nothrow_function_p. Set new flag.
14845 * except.h (set_nothrow_function_flags): Replaces
14846 nothrow_function_p.
14847 * dwarf2out.c (struct dw_fde_struct): Add flag
14848 all_throwers_are_sibcalls.
14849 (output_call_frame_info): Test it.
14850 (dwarf2out_begin_prologue) Propagate it from cfun to
14851 dw_fde_struct.
14852 * toplev.c (rest_of_compilation): Update calls to
14853 nothrow_function_p.
14854
280cf02a
ZW
148552002-08-23 Zack Weinberg <zack@codesourcery.com>
14856
14857 * ggc-page.c (compute_inverse): Short circuit calculation for
14858 object sizes larger than half a page.
14859
c6664446
DE
148602002-08-23 David Edelsohn <edelsohn@gnu.org>
14861
14862 * config/rs6000/rs6000.c (rs6000_elf_select_section): Treat
14863 DEFAULT_ABI == ABI_AIX like PIC. Test PIC & reloc for readonly
14864 default.
14865 (rs6000_elf_unique_section): Likewise.
14866
da57d233
KG
148672002-08-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14868
14869 * ns32k.c (ns32k_globalize_label): Delete.
14870 * ns32k.h (ASM_OUTPUT_LABEL, TARGET_ASM_GLOBALIZE_LABEL): Delete.
14871
56a7189a
AM
148722002-08-23 Alan Modra <amodra@bigpond.net.au>
14873
14874 * config/rs6000/rs6000.c (output_mi_thunk): Don't determine insns
14875 for loading delta with num_insns_constant_wide. Calculate
14876 delta_low, delta_high without using a conditional.
14877
d65b1d77
JM
148782002-08-22 Jason Merrill <jason@redhat.com>
14879
14880 * c-common.h (RETURN_STMT_EXPR): Rename from RETURN_EXPR.
14881 * c-common.def: Adjust.
14882 * c-dump.c (c_dump_tree): Adjust.
14883 * c-semantics.c (genrtl_return_stmt): Adjust.
14884 * c-pretty-print.c (pp_c_statement): Adjust.
14885 * tree-inline.c (copy_body_r): Adjust.
14886
8537ed68
ZW
148872002-08-22 Zack Weinberg <zack@codesourcery.com>
14888
14889 * ggc-page.c: Avoid division in ggc_set_mark.
14890 (DIV_MULT, DIV_SHIFT, OFFSET_TO_BIT, inverse_table,
14891 compute_inverse): New.
14892 (ggc_set_mark, ggc_marked_p): Use OFFSET_TO_BIT.
14893 (init_ggc): Initialize inverse_table.
14894
8567c70f
TT
148952002-08-22 Tom Tromey <tromey@redhat.com>
14896
14897 * doc/install.texi (Configuration): Document --datadir.
14898
fde59d4b
AO
148992002-08-22 Alexandre Oliva <aoliva@redhat.com>
14900
14901 * Makefile.in ($(BUILD_PREFIX_1)varray.o): Depend on $(GGC_H).
14902
44ddc79a
HPN
149032002-08-22 Hans-Peter Nilsson <hp@bitrange.com>
14904
14905 * gengtype-lex.l (ID): Allow underscore as first character.
14906
b275d088
DE
149072002-08-21 David Edelsohn <edelsohn@gnu.org>
14908
14909 * config/rs6000/rs6000.c (rs6000_xcoff_asm_globalize_label): New
14910 function.
14911 (rs6000_xcoff_asm_named_section): Rename.
14912 * config/rs6000/xcoff.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
14913
57ce46bb
TT
149142002-08-21 Tom Tromey <tromey@redhat.com>
14915
14916 For PR java/6005 and PR java/7611:
14917 * fold-const.c (fold_truthop): Use can_use_bit_fields_p.
14918 (fold): Likewise.
14919 * langhooks.c (lhd_can_use_bit_fields_p): New function.
14920 * langhooks-def.h (lhd_can_use_bit_fields_p): Declare.
14921 (LANG_HOOKS_CAN_USE_BIT_FIELDS_P): New define.
14922 (LANG_HOOKS_INITIALIZER): Use it.
14923 * langhooks.h (struct lang_hooks) [can_use_bit_fields_p]: New
14924 field.
14925
27d30956
SS
149262002-08-21 Stan Shebs <shebs@apple.com>
14927
14928 * tree.c (finish_vector_type): Fix a typo in a comment.
14929 * Makefile.in: Fix "the the" stutters in comments.
14930 * genautomata.c: Ditto.
14931 * ifcvt.c: Ditto.
14932 * regrename.c: Ditto.
14933 * config/alpha/alpha.c: Ditto.
14934 * config/alpha/vms-crt0-64.c: Ditto.
14935 * config/alpha/vms-crt0.c: Ditto.
14936 * config/alpha/vms-psxcrt0-64.c: Ditto.
14937 * config/alpha/vms-psxcrt0.c: Ditto.
14938 * config/d30v/d30v.h: Ditto.
14939 * config/fr30/fr30.h: Ditto.
14940 * config/rs6000/rs6000.c: Ditto.
14941 * config/stormy16/stormy16.h: Ditto.
14942 * doc/md.texi: Ditto.
8537ed68 14943
d873d827
JDA
149442002-08-21 John David Anglin <dave@hiauly1.hia.nrc.ca>
14945
14946 * cppinit.c (remove_dup_nonsys_dirs): Fix warning and return value.
14947
b462d4ab
JM
149482002-08-21 Joseph S. Myers <jsm@polyomino.org.uk>
14949
14950 * c-decl.c (grokdeclarator): Make invalid combinations with long,
14951 short, signed or unsigned into hard errors. Fixes PR c/4319.
14952 Also make duplicate modifiers such as "short short" into hard
14953 errors.
14954
b65d23aa 149552002-08-21 Andrew Pinski <pinskia@physics.uc.edu>
8537ed68 14956 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
b65d23aa
AP
14957
14958 * doc/tm.texi (TARGET_ASM_GLOBALIZE_LABEL): Move '@end deftypefn'
14959 to the actual end. Add '@end table' and '@table @code'.
8537ed68 14960
3823f0b2
GK
149612002-08-20 Geoffrey Keating <geoffk@redhat.com>
14962
8d25d915
GK
14963 * doc/tm.texi (Label Output): Add missing '@end deftypefn'.
14964
3823f0b2
GK
14965 * unroll.c (biv_total_increment): Don't try to compute the total
14966 increment for FP BIVs.
14967
5eb99654
KG
149682002-08-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14969
14970 * alpha.c (TARGET_ASM_GLOBALIZE_LABEL): Define for unicosmk.
14971 * alpha/elf.h (ASM_OUTPUT_EXTERNAL_LIBCALL,
14972 ASM_OUTPUT_ALIGNED_BSS): Use target hook.
14973 * alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS): Likewise.
14974 * alpha/unicosmk.h (ASM_GLOBALIZE_LABEL): Delete.
14975 * arm/aof.h (ASM_GLOBALIZE_LABEL): Likewise.
14976 (GLOBAL_ASM_OP): Define.
14977 * arm.c (aof_globalize_label): New function.
14978 (TARGET_ASM_GLOBALIZE_LABEL): Define for AOF.
14979 * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
14980 * c4x.c (c4x_globalize_label): New function.
14981 (TARGET_ASM_GLOBALIZE_LABEL): Define for c4x.
14982 * c4x.h (ASM_GLOBALIZE_LABEL): Delete.
14983 (GLOBAL_ASM_OP): Define.
14984 * cris/aout.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
14985 * darwin-protos.h (darwin_globalize_label): Declare.
14986 * darwin.c (darwin_globalize_label): New function.
14987 * darwin.h (ASM_DECLARE_CLASS_REFERENCE): Use target hook.
14988 (ASM_GLOBALIZE_LABEL): Delete.
14989 (GLOBAL_ASM_OP, TARGET_ASM_GLOBALIZE_LABEL): Define.
14990 * dsp16xx.c (asm_output_common): Use target hook.
14991 * elfos.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise.
14992 * frv.h (ASM_GLOBALIZE_LABEL): Delete.
14993 (GLOBAL_ASM_OP): Define.
14994 * i370.c (i370_globalize_label): New function.
14995 (TARGET_ASM_GLOBALIZE_LABEL): Define for i370.
14996 * i370.h (ASM_GLOBALIZE_LABEL): Delete.
14997 * i386.c (ix86_asm_file_end): Use target hook.
14998 * i386/sco5.h (ASM_GLOBALIZE_LABEL): Don't undef.
14999 (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
15000 * ia64.c (ia64_asm_output_external): Likewise.
15001 * ia64/sysv4.h: Update comment.
15002 * m32r.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
15003 * mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
15004 * mips/iris5.h (ASM_OUTPUT_WEAK_ALIAS): Use target hook.
15005 * mips/linux.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
15006 * mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Use target hook.
15007 * mmix-protos.h (mmix_asm_globalize_label): Delete.
15008 * mmix.c (mmix_asm_globalize_label): Likewise.
15009 * mmix.h (ASM_GLOBALIZE_LABEL): Likewise.
15010 (GLOBAL_ASM_OP): Define.
15011 * ns32k.c (ns32k_globalize_label): New function.
15012 * ns32k.h (TARGET_ASM_GLOBALIZE_LABEL): Define for ns32k.
15013 (ASM_GLOBALIZE_LABEL): Delete.
15014 * pa/pa-linux.h (ASM_GLOBALIZE_LABEL): Don't undef.
15015 (TARGET_ASM_GLOBALIZE_LABEL): Undefine.
15016 * pa.c (pa_globalize_label): New function.
15017 * pa.h (ASM_GLOBALIZE_LABEL): Delete.
15018 (TARGET_ASM_GLOBALIZE_LABEL): Define for pa.
15019 * rs6000/darwin.h (ASM_GLOBALIZE_LABEL): Delete.
15020 (GLOBAL_ASM_OP): Define.
15021 (TARGET_ASM_GLOBALIZE_LABEL): Undef.
15022 * rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
15023 * rs6000/xcoff.h (ASM_GLOBALIZE_LABEL): Delete.
15024 (GLOBAL_ASM_OP): Define.
15025 * v850.c (v850_output_aligned_bss): Use target hook.
15026 * vax.c (vms_globalize_label): New function.
15027 (TARGET_ASM_GLOBALIZE_LABEL): Define for vms.
15028 * vax/vms.h (ASM_GLOBALIZE_LABEL): Delete.
15029 (GLOBAL_ASM_OP): Define.
15030 * defaults.h (ASM_GLOBALIZE_LABEL): Delete.
15031 * doc/tm.texi: Update docs.
15032 * dwarf2out.c (default_eh_frame_section, output_die_symbol): Use
15033 target hook.
15034 * final.c (output_alternate_entry_point): Likewise.
15035 * hooks.c (hook_FILEptr_constcharptr_void): New function.
15036 * hooks.h (hook_FILEptr_constcharptr_void): Declare.
15037 * output.h (assemble_global): Delete.
15038 (default_globalize_label): Declare.
15039 * system.h (ASM_GLOBALIZE_LABEL): Poison.
15040 * target-def.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
15041 (TARGET_ASM_OUT): Add TARGET_ASM_GLOBALIZE_LABEL.
15042 * target.h (gcc_target): Add globalize_label member.
15043 * varasm.c (asm_output_bss, asm_output_aligned_bss,
15044 globalize_decl): Use target hook.
15045 (assemble_global): Delete.
15046 (default_globalize_label): New function.
15047
f8f28a75
KG
150482002-08-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15049
15050 * dsp16xx.h (dsp16xx_umulhi3_libcall): Delete.
15051
92b5aacd
DP
150522002-08-20 Devang Patel <dpatel@apple.com>
15053 * tree.c (get_qualified_type): Add TYPE_CONTEXT check.
8537ed68 15054
761c70aa
KG
150552002-08-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15056
15057 * arc.c (output_shift): Use stdio instead of asm_fprintf.
15058 * arm.c (thumb_output_function_prologue): Likewise.
15059 * avr.c (print_operand): Likewise.
15060 * c4x.c (c4x_print_operand): Likewise.
15061 * c4x.h (ASM_OUTPUT_INTERNAL_LABEL, TRAMPOLINE_TEMPLATE,
15062 ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Likewise.
15063 * cris.c (cris_target_asm_function_prologue,
15064 cris_asm_output_mi_thunk): Likewise.
15065 * h8300.c (print_operand): Likewise.
15066 * h8300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
15067 * ip2k.c (print_operand): Likewise. Fix format specifier.
15068 * m68hc11.c (asm_print_register, print_operand,
15069 print_operand_address): Use stdio instead of asm_fprintf.
15070 (print_operand_address): Fix format specifier.
15071 * m68hc11.h (FUNCTION_PROFILER, ASM_OUTPUT_ADDR_DIFF_ELT,
15072 ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ALIGN): Use stdio instead of
15073 asm_fprintf.
15074 * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15075 * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15076 * m68k.c (m68k_output_function_prologue,
15077 m68k_output_function_epilogue, print_operand): Likewise.
15078 * mmix.c (mmix_asm_output_mi_thunk, mmix_asm_weaken_label):
15079 Likewise. Fix format specifier.
15080 * mn10200.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
15081 * mn10300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
15082 * v850.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
15083
5ce6f47b
EC
150842002-08-15 Eric Christopher <echristo@redhat.com>
15085 Jeff Knaggs <jknaggs@redhat.com>
15086
15087 * config.gcc (mipsisa64sr71k-elf): New target.
15088 * config/mips/sr71k.md: New file.
15089 * config/mips/mips.md: Use it.
15090 (rot*): Add sr71k specifics.
15091 * config/mips/t-sr71k: New file.
15092 * config/mips/mips.h (sr71k): New cpu.
15093 (TARGET_SR71K): Use it.
15094 (TUNE_SR71K): Ditto.
15095 (GENERATE_BRANCHLIKELY): Ditto.
15096 (ISA_HAS_MULHI, ISA_HAS_MULS, ISA_HAS_MSAC, ISA_HAS_MACC,
15097 ISA_HAS_ROTR_SIISA_HAS_ROTR_DI): Ditto.
15098 * config/mips/mips.c (sr71k): New cpu.
15099 (mips_use_dfa_pipeline_interface): Use.
15100
151012002-08-15 Eric Christopher <echristo@redhat.com>
8537ed68 15102 Richard Sandiford <rsandifo@redhat.com>
5ce6f47b
EC
15103 Aldy Hernandez <aldyh@redhat.com>
15104 Graham Stott <grahams@redhat.com>
15105 Michael Meissner <meissner@redhat.com>
15106 Gavin Romig-Koch <gavin@redhat.com>
15107 Ken Raeburn <raeburn@cygnus.com>
15108 Alexandre Oliva <aoliva@redhat.com>
15109
15110 * config.gcc (mips64vr-elf): New target.
15111 * config/mips/5400.md: New file.
15112 * config/mips/5500.md: Ditto.
15113 * config/mips/mips.md: Use them.
15114 (frsqrt): New.
15115 * config/mips/mips.c (vr4111, vr4121, vr4320, vr5400, vr5500): New
15116 cpus.
15117 (mips_issue_rate): Use them.
15118 (mips_use_dfa_pipeline_interface): New function. Use for 5400 and 5500.
15119 (TARGET_SCHEDUSE_DFA_PIPELINE_INTERFACE): Define. Use above.
15120 * config/mips/mips.h (vr4111, vr4121, vr4320, vr5400, vr5500): New
15121 cpus.
15122 (TARGET_MIPSx): Use them.
15123 (TUNE_MIPSx): Ditto.
15124 (GETNATE_MULT3_SI): Ditto.
15125 (ISA_HAS_BRANCHLIKELY): Ditto.
15126 (ISA_HAS_CONDMOVE): Ditto.
15127 (ISA_HAS_NMADD_NMSUB): Ditto.
15128 (ISA_HAS_MULHI): New. Ditto.
15129 (ISA_HAS_MULS): Ditto.
15130 (ISA_HAS_MSAC): Ditto.
15131 (ISA_HAS_MACC): Ditto.
15132 (ISA_HAS_ROTR_SI): Ditto.
15133 (ISA_HAS_ROTR_DI): Ditto.
15134 (RTX_COSTS): Use.
15135
48209ce5
JDA
151362002-08-20 John David Anglin <dave@hiauly1.hia.nrc.ca>
15137
15138 * cppinit.c (remove_dup_dir): Add head_ptr argument to handle removal
15139 at head.
15140 (remove_dup_nonsys_dirs): New function.
15141 (remove_dup_dirs): Change argument head to head_ptr. Remove warnings.
15142 (merge_include_chains): Remove non-system include directories from
15143 quote and bracket include chains when they duplicate equivalent system
15144 directories.
15145 * doc/cpp.texi (-I): Update.
8537ed68
ZW
15146 * doc/cppopts.texi (-I): Update.
15147 * doc/install.texi (--with-local-prefix): Further document usage of
48209ce5
JDA
15148 this option.
15149 * doc/invoke.texi (-I): Update.
15150
4ca79136
RH
151512002-08-20 Richard Henderson <rth@redhat.com>
15152
15153 * expr.c (TARGET_MEM_FUNCTIONS): Transform to boolean.
15154 (emit_block_move): Split out subroutines.
15155 (emit_block_move_via_movstr): New.
15156 (emit_block_move_via_libcall): New. Emit bcopy via normal call also.
15157 (emit_block_move_libcall_fn): New. Construct function prototype for
15158 bcopy as well.
15159 (clear_storage): Split out subroutines.
15160 (clear_storage_via_clrstr): New.
15161 (clear_storage_via_libcall): New. Emit bzero as a normal call also.
15162 (clear_storage_libcall_fn): New. Construct function prototype for
15163 bzero as well.
15164 (emit_push_insn): Use emit_block_move.
15165 (expand_assignment): Booleanize TARGET_MEM_FUNCTIONS.
15166 (store_constructor): Likewise.
15167
9f05cef3
ZL
151682002-08-19 Ziemowit Laski <zlaski@apple.com>
15169
15170 * objc/objc-act.c (building_objc_message_expr): Rename to
15171 current_objc_message_selector.
15172
1bd5981b
ZL
151732002-08-19 Ziemowit Laski <zlaski@apple.com>
15174
15175 * objc/objc-act.c (build_ivar_chain): Remove.
15176 (objc_copy_list): Likewise.
15177 (get_class_ivars): Inline call to removed build_ivar_chain
15178 function. Save off a clean copy of ivars in the CLASS_OWN_IVARS
15179 slot; use that slot (rather than CLASS_IVARS) when accessing
15180 ivars for base classes. Call copy_list and chainon instead of
15181 objc_copy_list.
15182 (build_private_template): Call get_class_ivars instead of
15183 build_ivar_chain.
15184 (start_class): Allocate room for the CLASS_OWN_IVARS slot.
5ce6f47b 15185 (continue_class): Call get_class_ivars instead of
1bd5981b
ZL
15186 build_ivar_chain.
15187 (encode_field_decl): Check for DECL_BIT_FIELD_TYPE instead
15188 of DECL_BIT_FIELD (which may have been cleared).
15189 * objc/objc-act.h (CLASS_OWN_IVARS): New accessor macro.
15190
2bf087c0
KG
151912002-08-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15192
15193 * genautomata.c (output_translate_vect, output_state_ainsn_table,
15194 output_min_issue_delay_table): Mark variable with ATTRIBUTE_UNUSED
15195 in output file.
15196 (output_internal_min_issue_delay_func): Initialize variable in
15197 output file.
15198
3fcd079e
AO
151992002-08-19 Alexandre Oliva <aoliva@redhat.com>
15200
15201 * Makefile.in (GCC_FOR_TARGET): Prepend STAGE_CC_WRAPPER.
15202 (stage2_build, stage3_build, stage4_build): Likewise, to CC.
15203
71012d97
GK
152042002-08-19 Geoffrey Keating <geoffk@redhat.com>
15205 Steve Ellcey <sje@cup.hp.com>
15206
15207 * machmode.h (SCALAR_INT_MODE_P): New macro to test for
15208 scaler integer mode (MODE_INT or MODE_PARTIAL_INT).
15209 * explow.c (trunc_int_for_mode): Abort when the mode is not
15210 a scaler integer mode.
15211 * combine.c (expand_compound_operation): Don't expand Vector
15212 or Complex modes into shifts.
15213 (expand_field_assignment): Don't do bitwise arithmatic and
15214 shifts on Vector or Complex modes.
15215 (simplify_comparison): Don't call trunc_int_for_mode
15216 for VOIDmode.
15217 * recog.c (general_operand): Likewise.
15218 (immediate_operand): Likewise.
15219 (nonmemory_operand): Likewise.
15220
af8cb5c5
DE
152212002-08-19 David Edelsohn <edelsohn@gnu.org>
15222
15223 * config/rs6000/rs6000.c (rs6000_emit_set_const): Inline
15224 multi-instruction SImode constant. Add REG_EQUAL note.
15225 * config/rs6000/rs6000.md (movsi splitter): Use
5ce6f47b 15226 rs6000_emit_set_const.
af8cb5c5 15227
9bc146b3
KG
152282002-08-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15229
15230 * tree-inline.c (initialize_inlined_parameters): Wrap variable in
15231 the macro test controlling its use.
15232
66df2ac2
L
152332002-08-18 H.J. Lu (hjl@gnu.org)
15234
15235 * config.gcc (*-*-linux*): Set extra_parts="crtbegin.o
15236 crtbeginS.o crtbeginT.o crtend.o crtendS.o", gas=yes and
15237 gnu_ld=yes.
15238 (alpha*-*-linux*, cris-*-linux*, i370-*-linux*,
15239 i[34567]86-*-linux*, x86_64-*-linux*, mips*-*-linux*,
15240 s390-*-linux*, s390x-*-linux*, sparc-*-linux*, sparc64-*-linux*,
15241 xtensa-*-linux*): Remove setting extra_parts, gas, and gnu_ld
15242 here.
15243 (cris-*-linux*): Remove setting thread_file here.
15244
463f1b2b
NB
152452002-08-18 Neil Booth <neil@daikokuya.co.uk>
15246
15247 PR preprocessor/7602
15248 * cppinit.c (path_include): Treat the system environment
15249 variables as being cxx_aware.
15250
2984fe64
JM
152512002-08-17 Joseph S. Myers <jsm@polyomino.org.uk>
15252
15253 * c-decl.c (flexible_array_type_p): New function.
15254 (grokdeclarator, finish_struct): Use it.
15255 * doc/extend.texi: Document constraints on use of structures with
15256 flexible array members.
15257
fded6d78
RS
152582002-08-17 Richard Sandiford <rsandifo@redhat.com>
15259
15260 * config/mips/t-coff, config/mips/t-elf, config/mips/t-isa3264,
15261 config/mips/t-r3900 (MULTILIB_MATCHES): Define.
15262 * config/mips/mips.h (ASM_SPEC): Use %(endian_spec).
15263
8aa5074e
SS
152642002-08-16 Stan Shebs <shebs@apple.com>
15265
15266 * c-common.c (cb_register_builds): Define __NEXT_RUNTIME__
15267 for ObjC with -fnext-runtime.
15268 * doc/cpp.texi: Document it.
15269
f97a5bda
JJ
152702002-08-16 Janis Johnson <janis187@us.ibm.com>
15271
15272 * doc/install.texi (Final installation): Replace links to individual
15273 build status pages with a link to a common page that lists them all.
15274
d3075b6c
SP
152752002-08-16 Sylvain Pion <pion@cs.nyu.edu>
15276
15277 * doc/invoke.texi: Fix typo.
15278
fdf68669
DE
152792002-08-16 David Edelsohn <edelsohn@gnu.org>
15280
15281 * doc/install.texi (*-ibm-aix*): Explain AIX shared object versioning.
15282
152832002-08-16 Andrew Haley <aph@redhat.com>
d436bff8
AH
15284
15285 * tree-inline.c: Add includes for Java inliner.
15286 (remap_decl): Don't handle anonymous types for Java.
15287 (remap_block): Add handling for Java trees.
15288 (copy_scope_stmt): Conditionalize for non-Java use only.
15289 (copy_body_r): Handle Java trees. Add handling for
15290 LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR, Java blocks.
15291 (initialize_inlined_parameters): Handle Java trees.
15292 (declare_return_variable): Likewise.
15293 (expand_call_inline): Handle Java trees.
15294 (walk_tree): Likewise.
15295 (copy_tree_r): Don't handle SCOPE_STMTs for Java.
15296 (add_stmt_to_compound): New function.
15297
204250d2
RH
152982002-08-15 Richard Henderson <rth@redhat.com>
15299
15300 * Makefile.in (LOOSE_WARN): Remove -fno-common.
15301 (NOCOMMON_FLAG): New substitution point.
15302 (GCC_WARN_CFLAGS): Include it.
15303 * configure.in (ac_checking): Set nocommon_flag.
15304 (nocommon_flag): New substitution point.
15305
25587e40
AO
153062002-08-15 Alexandre Oliva <aoliva@redhat.com>
15307
15308 * c-tree.h (skip_evaluation): Move declaration...
15309 * c-common.h: ... here.
15310 * c-typeck.c (build_external_ref): Don't assemble_external nor
15311 mark a tree as used if skip_evaluation is set.
15312 * c-parse.in (typeof): New non-terminal to set skip_evaluation
15313 around TYPEOF.
15314 (typespec_nonreserved_nonattr): Use it.
15315
702ada3d
DR
153162002-08-15 Douglas B Rupp <rupp@gnat.com>
15317
15318 * dbxout.c (dbx_debug_hooks): Update end_prologue, end_epilogue.
15319 (xcoff_debug_hooks): Update end_prologue.
15320 * debug.c (do_nothing_debug_hooks): Update end_prologue, end_epilogue.
15321 * debug.h (end_prologue): Add file arg.
15322 (end_epilogue): Add line and file args.
15323 (dwarf2out_end_epilogue): Add line and file args.
15324 (vmsdbgout_after_prologue): Remove.
15325 * dwarf2out.c (dwarf2out_end_epilogue): Add line and file args.
15326 (dwarf2_debug_hooks): Update end_prologue.
15327 * dwarfout.c (dwarfout_end_epilogue): Add line and file args.
15328 (dwarfout_end_prologue): Add file arg.
15329 * final.c (vmsdbgout_after_prologue): Remove
15330 (final_end_function): Update end_epilogue call.
15331 (final_scan_insn): Update end_prologue call.
15332 * sdbout.c (sdbout_end_epilogue): Add line and file args.
15333 (sdbout_end_prologue): Add file arg.
15334 (sdb_debug_hooks): Update end_prologue.
15335 (sdb_begin_prologue): Update sdbout_end_prologue call.
15336 * vmsdbgout.c (vmsdbg_debug_hooks): Add vmsdbgout_end_prologue,
15337 vmsdbgout_end_function.
15338 (vmsdbgout_end_prologue): New function renamed from
15339 vmsdbgout_after_prologue. Call vmsdbgout_source_line.
15340 (vmsdbgout_end_function): New function.
15341 (vmsdbgout_end_epilogue): Add line and file args. Call
15342 vmsdbgout_source_line.
15343 (write_pclines): Write only valid line numbers.
15344 (write_srccorr): Don't write source correlation records if 0 lines.
15345 * xcoffout.c (xcoffout_end_epilogue): Add line and file args.
15346
9ef30f83
SE
153472002-08-15 Steve Ellcey <sje@cup.hp.com>
15348
15349 * gcc/unwind.h (_Unwind_Ptr): Make 64 bits on IA64 HP-UX.
15350 (_Unwind_Internal_Ptr): 32 bit version for use in
15351 read_encoded_value_with_base.
15352 * gcc/unwind-pe.h (read_encoded_value_with_base): Use
15353 _Unwind_Internal_Ptr instead of _Unwind_Ptr in order to get the
15354 right size.
15355
f7043461
KG
153562002-08-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15357
15358 * loop.c (scan_loop, move_movables, count_one_set): Cast to avoid
15359 signed/unsigned warnings.
15360
15361 * regclass.c (init_reg_sets_1, choose_hard_reg_mode,
15362 record_reg_classes): Likewise.
15363
15364 * reload.c (reload_inner_reg_of_subreg, push_reload,
15365 find_reloads_address_1): Likewise.
15366
b4d330e1
DE
153672002-08-15 David Edelsohn <edelsohn@gnu.org>
15368
15369 * rs6000.c (output_mi_thunk): Return to function section on
15370 TARGET_ELF.
15371
15372 * rs6000-c.c (rs6000_cpu_cpp_builtins): Define __PPC405__ if PPC405.
15373
61f02ff5
UW
153742002-08-15 Ulrich Weigand <uweigand@de.ibm.com>
15375
15376 * config/s390/s390.c (legitimize_address): Optimize loading
15377 of large displacements.
15378
1330f7d5
DR
153792002-08-14 Douglas B Rupp <rupp@gnat.com>
15380
15381 * config/alpha/alpha-protos.h: Update.
15382
15383 * config/alpha/alpha.c: (LINKAGE_SYMBOL_REF_P): New macro.
15384 (alpha_legitimate_address_p): Test LINKAGE_SYMBOL_REF_P.
15385 (alpha_linkage_symbol_p): New static function.
15386 (print_operand_address): Print linkage operand.
15387
15388 (alpha_funcs_num, alpha_funcs_tree, alpha_links_tree): New static
15389 variables.
15390 (reloc_kind): New enum.
15391 (struct alpha_funcs): New struct.
15392 (struct alpha_links): Add reloc_kind field. Rename links_kind field.
15393
15394 (alpha_need_linkage): Rewrite.
15395 (alpha_use_linkage): New global function.
15396 (alpha_write_linkage): Rewrite and make static.
15397 (alpha_write_one_linkage): Rewrite
15398
15399 (alpha_start_function): Remove procedure descriptor output.
15400 (alpha_end_function): Write linkages at end of each function.
15401
15402 * config/alpha/alpha.md (call_vms, call_value_vms): Rewrite.
15403 (call_vms_1, call_value_vms_1): Rewrite.
15404
15405 * config/alpha/vms.h (ASM_FILE_END): Remove.
15406
d1f1cc6a
RH
154072002-08-14 Richard Henderson <rth@redhat.com>
15408
15409 * ggc-page.c (RTL_SIZE): New.
15410 (extra_order_size_table): Add specializations for 2 and 10 rtl slots.
15411 * rtl.def (BARRIER, NOTE): Pad to 9 slots.
15412
23626154
RH
154132002-08-14 Richard Henderson <rth@redhat.com>
15414
15415 * calls.c: Include target.h.
15416 * Makefile.in (calls.o): Update.
15417
15418 * config/alpha/alpha.c (alpha_end_function): Use targetm.binds_local_p.
15419 * config/alpha/alpha.h (FUNCTION_OK_FOR_SIBCALL): Likewise.
15420
fd350d24
RH
154212002-08-14 Richard Henderson <rth@redhat.com>
15422
15423 * Makefile.in (LOOSE_WARN): Add -fno-common.
15424 * c-common.h (constant_string_class_name): Add missing extern.
15425
182d89a3
NB
154262002-08-15 Neil Booth <neil@daikokuya.co.uk>
15427
15428 PR preprocessor/7358
15429 * c-opts.c (check_deps_environment_vars): Ignore main file
15430 for SUNPRO_DEPENDENCIES.
15431 * cppfiles.c (stack_include_file): Ignore main file if
15432 appropriate.
15433 * cpplib.h (struct cpp_options): New member in deps.
15434 * doc/cppenv.texi: Update.
15435
8bfb1467
NB
154362002-08-14 Neil Booth <neil@daikokuya.co.uk>
15437
15438 PR preprocessor/7526
15439 * cpplib.c (run_directive): Kludge so _Pragma dependency works.
15440
41685063
NS
154412002-08-14 Nathan Sidwell <nathan@codesourcery.com>
15442
15443 * doc/invoke.texi (-a): Remove documentation.
15444 (-fprofile-arcs): Remove reference to -a, -ax options.
15445 * doc/gcov.texi (Gcov Data Files): Data might be merged.
15446
77893a23
GDR
154472002-08-14 Gabriel Dos Reis <gdr@nerim.net>
15448
15449 Fix PR/7566
15450 * c-semantics.c (genrtl_case_label): Don't (mis)use
5ce6f47b 15451 warning_with_decl.
77893a23 15452
260f91c2
DJ
154532002-08-14 Dale Johannesen <dalej@apple.com>
15454
8537ed68 15455 * explow.c (emit_stack_restore): Emit memory clobbers
260f91c2
DJ
15456 preceding the stack pop, to prevent the scheduler from
15457 moving refs to variable arrays below this pop.
15458 * reload1.c (reload): Preserve these clobbers for sched2.
15459 * doc/rtl.texi: Document clobber (mem:BLK (scratch)).
15460
cd79e210
NB
154612002-08-14 Neil Booth <neil@daikokuya.co.uk>
15462
15463 * c-opts.c (c_common_post_options): Correct test.
15464
3eb75a73
KG
154652002-08-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15466
15467 * m88k.h (ASM_OUTPUT_SOURCE_FILENAME): Fix incorrect argument
15468 order in call to fprintf.
15469
be3a0ce2
RO
154702002-08-14 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
15471
15472 * config/sparc/sol2.h (SUBTARGET_EXTRA_SPECS): Define.
15473
ccfc6cc8
UW
154742002-08-14 Ulrich Weigand <uweigand@de.ibm.com>
15475
5ce6f47b 15476 * reload.c (find_reloads): Handle constraint letters marked by
ccfc6cc8
UW
15477 EXTRA_ADDRESS_CONSTRAINT and EXTRA_MEMORY_CONSTRAINT.
15478 (alternative_allows_memconst): Likewise.
15479 * reload1.c (maybe_fix_stack_asms): Likewise.
5ce6f47b 15480 * recog.c (asm_operand_ok, preprocess_constraints,
ccfc6cc8
UW
15481 constrain_operands): Likewise.
15482 * regclass.c (record_operand_costs, record_reg_classes): Likewise.
15483 * local-alloc.c (block_alloc, requires_inout): Likewise.
15484 * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
15485
15486 * defaults.h (EXTRA_MEMORY_CONSTRAINT): Provide a default.
15487 (EXTRA_ADDRESS_CONSTRAINT): Likewise.
15488 * doc/tm.texi: Document these two new target macros.
15489
15490 * config/s390/s390.c (s390_expand_plus_operand): Accept already
15491 valid operands.
15492 (q_constraint): New function.
15493 config/s390/s390-protos.h (q_constraint): Declare it.
15494 config/s390/s390.h (EXTRA_CONSTRAINT): Use it.
15495 (EXTRA_MEMORY_CONSTRAINT): New macro.
15496
15497 * config/s390/s390.md: Throughout the machine description,
15498 replace all instances of the constraint combinations 'Qo'
15499 or 'oQ' with simply 'Q'.
15500
d6ee9f6f
SC
155012002-08-14 Stephane Carrez <stcarrez@nerim.fr>
15502
15503 * config/m68hc11/m68hc11.h (LINK_SPEC): Support -mrelax.
15504 * config/m68hc11/t-m68hc11-gas (LIBGCC2_DEBUG_CFLAGS): Can use -g now.
15505 (LIBGCC2_CFLAGS): Compile with -mrelax.
15506
8a0b86f5
SC
155072002-08-14 Stephane Carrez <stcarrez@nerim.fr>
15508
15509 * doc/invoke.texi: Document -minmax for 68HC12.
15510
15511 * config/m68hc11/m68hc11.md ("umaxqi3"): Use TARGET_MIN_MAX.
15512 ("uminqi3"): Likewise.
15513 ("uminhi3", "umaxhi3"): Likewise.
15514
15515 * config/m68hc11/m68hc11.h (MASK_MIN_MAX): Define.
15516 (TARGET_MIN_MAX): Define.
15517 (TARGET_SWITCHES): New option -minmax/-mnominmax.
15518
d6381f4e
SC
155192002-08-14 Stephane Carrez <stcarrez@nerim.fr>
15520
15521 * config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Build __far_trampoline.
15522 (MULTILIB_OPTIONS): Must also generate for -mlong-calls.
15523
15524 * config/m68hc11/larith.asm: Put a mode for ELF ABI flags.
15525 (ret, declare, farsym): New gas macros.
15526 (__premain, exit, abort, _cleanup, memcpy, memset, ___adddi3,
15527 ___subdi3, ___notdi2, __mulhi32, __mulsi3): Use them to use 'rtc'
15528 and declare the symbol far when compiled with -mlong-calls.
5ce6f47b 15529 (__far_trampoline): New for 68HC12 trampoline code to invoke a
d6381f4e
SC
15530 far handler using jsr/bsr.
15531
15532 * config/m68hc11/m68hc11-crt0.S: Put a mode for ELF ABI flags.
15533 (jsr): New macro to transform a 'jsr' into a 'call'.
15534
058edcdb
SC
155352002-08-14 Stephane Carrez <stcarrez@nerim.fr>
15536
15537 * doc/invoke.texi: Document -mlong-calls for 68HC12.
15538
15539 * config/m68hc11/m68hc11.h (CPP_SPEC): Pass -D__USE_RTC__ when
15540 -mlong-calls is specified.
5ce6f47b 15541 (ASM_DECLARE_FUNCTION_NAME): Define to generate .far and .interrupt
058edcdb
SC
15542 assembler directives.
15543 (TARGET_LONG_CALL, MASK_LONG_CALL): Declare.
15544 (TARGET_SWITCHES): Add -mlong-calls options.
15545 (current_function_far): Declare.
15546
15547 * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset): Take
15548 into account the page register saved on the stack.
15549 (m68hc11_override_options): Take into account -mlong-calls option.
15550 (m68hc11_asm_file_start): Put a mode for the ELF flags ABI.
15551
15552 * config/m68hc11/m68hc11.md ("*return_32bit"): Return rtc
15553 if the function is going to be in 68HC12 banked memory (-mlong-calls).
15554 ("*return_16bit"): Likewise.
15555 ("*return_void"): Likewise.
15556 ("call", "call_value"): Use call for a far function call.
15557
c79043f3
NB
155582002-08-14 Neil Booth <neil@daikokuya.co.uk>
15559
15560 * toplev.c (parse_options_and_default_flags): Don't call
15561 post_options here.
15562 (general_init): Initialize GC, pools and tree hash here,
15563 instead of lang_independent_init.
15564 (lang_independent_init): Rename backend_init.
15565 (do_compile): Call post_options hook; exit early if there
15566 have been errors after switch processing.
15567 (toplev_main): Update.
15568
6bf346d4
GDR
155692002-08-14 Gabriel Dos Reis <gdr@nerim.net>
15570
15571 * c-pretty-print.h: Guard against multiple inclusion.
15572 Robustify macros.
15573 (pp_c_attributes): Declare.
15574 * c-pretty-print.c (pp_c_attributes): New function.
15575
cbf2f479
KG
155762002-08-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15577
15578 * m68k.c (m68k_output_function_prologue,
15579 m68k_output_function_epilogue): Delete versions for DPX2/MOTOROLA
15580 and NEWS/MOTOROLA.
15581 * genattrtab.c: Remove dpx2 comment.
15582 * libgcc2.c (__enable_execute_stack): Delete versions for
15583 NeXT/__MACH__, __convex__, __sysV88__, __pyr__ and
15584 sony_news/SYSTYPE_BSD.
15585 * longlong.h: Delete code for __a29k__, _AM29K, __clipper__,
15586 __gmicro__, __i860__, __NeXT__ and __pyr__.
15587 * rtl.h: Remove convex comment.
15588 * varasm.c: Likewise.
15589
d3969c34
KG
155902002-08-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15591
15592 * c-opts.c (lang_flags): Const-ify.
15593 * ra-build.c (undef_table): Likewise.
15594 * ra.c (eliminables): Likewise.
15595
df89f8e7
GDR
155962002-08-14 Gabriel Dos Reis <gdr@nerim.net>
15597
15598 * tree.h: Guard against multiple inclusion.
15599
cf87d551
HPN
156002002-08-14 Hans-Peter Nilsson <hp@bitrange.com>
15601
15602 * reload1.c (reload_cse_simplify): Before checking
15603 REG_FUNCTION_VALUE_P, check REG_P.
15604
a43c8986
GK
156052002-08-13 Geoffrey Keating <geoffk@redhat.com>
15606
15607 * Makefile.in (attribs.o): Remove $(OBSTACK_H) dependency.
15608
29337351
NB
156092002-08-13 Neil Booth <neil@daikokuya.co.uk>
15610
15611 * c-opts.c (c_common_init_options): Extra braces needed.
15612
8202c8c4
R
15613Tue Aug 13 17:40:25 2002 J"orn Rennecke <joern.rennecke@superh.com>
15614
15615 * sh.c (sh_init_builtins): Add PARAMS to declaration.
15616 (sh_media_init_builtins, sh_expand_builtin): Likewise.
15617 (sh_expand_unop_v2sf): Use PARAMS for variable declaration.
15618 (sh_expand_binop_v2sf): Likewise.
15619 * sh-protos.h (sh_expand_unop_v2sf): Add PARAMS to declaration.
15620 (sh_expand_binop_v2sf, sh_cfun_interrupt_handler_p): Likewise.
15621 (sh_initialize_trampoline): Likewise.
15622
07893d4f
UW
156232002-08-13 Ulrich Weigand <uweigand@de.ibm.com>
15624
15625 * s390-modes.def [CCL1, CCL2, CCT1, CCT2, CCT3, CCUR, CCSR]: Declare
15626 new condition code modes.
15627 s390.c (s390_match_ccmode_set): Handle those new CC modes.
15628 (s390_select_ccmode): Likewise.
15629 (s390_branch_condition_mask): Likewise.
15630
15631 * s390-protos.h (s390_tm_ccmode): Declare.
15632 s390.c (s390_tm_ccmode): New function.
15633 (s390_match_ccmode): Allow VOIDmode as REQ_MODE.
15634
15635 * s390.md ("*cmpdi_tm2"): Rename to "*tmdi_ext".
15636 ("*cmpsi_tm2"): Rename to "*tmsi_ext".
15637 ("*cmpqi_tm2"): Rename to "*tmqi_ext".
15638
15639 ("*cmpdi_tm_reg", "*cmpdi_tm_mem", "*cmpsi_tm_reg", "*cmpsi_tm_mem",
15640 "*cmphi_tm_sub","*cmphi_cct_0", "*cmpqi_tm", "*cmpqi_tm_sub",
15641 "*cmpqi_cct_0", "*tm_0"): Remove, replace by ...
15642 ("*tmdi_reg", "*tmsi_reg", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem",
15643 "*tmqi_mem", "*tmhi_full", "*tmqi_full"): ... these new patterns.
15644
15645 ("*ltgr", "*cmpdi_ccs_0_64", "*cmpdi_ccs_0_31", "*ltr", "*icm15",
5ce6f47b 15646 "*icm15_cconly", "*cmpsi_ccs_0", "*icm3", "*cmphi_ccs_0", "*icm1",
07893d4f
UW
15647 "*cmpqi_ccs_0"): Remove, replace by ...
15648 ("*tstdi_sign", "*tstdi", "*tstdi_cconly", "*tstdi_cconly_31",
5ce6f47b 15649 "*tstsi", "*tstsi_cconly", "*tstsi_cconly2", "*tsthi", "*tsthi_cconly",
07893d4f
UW
15650 "*tstqi", "*tstqi_cconly"): ... these new patterns.
15651
15652 ("*cmpsidi_ccs"): Remove, replace by ...
15653 ("*cmpsi_ccs_sign"): ... this new pattern.
15654 ("*cmpdi_ccs_sign", "*cmpdi_ccu_zero"): New patterns.
15655
15656 ("*cmpqi_ccu_0", "*cmpqi_ccu_immed"): Remove, replace by ...
15657 ("*cli"): ... this new pattern.
15658
15659 ("*adddi3_sign", "*adddi3_zero_cc", "*adddi3_zero_cconly",
15660 "*adddi3_zero", "*adddi3_cc", "*adddi3_cconly", "*adddi3_cconly2"):
15661 New patterns.
15662 ("adddi3_64"): Rename to "*adddi3_64".
15663 ("adddi3_31"): Replace by insn and splitter "*adddi3_31".
15664 ("adddi3"): Adapt expander.
15665
15666 ("*addsi3_cc"): Allow "general_operand" for operand 2.
5ce6f47b 15667 ("*addsi3_carry1_cc", "*addsi3_carry1_cconly",
07893d4f
UW
15668 "*addsi3_carry2_cc", "*addsi3_carry2_cconly"): New patterns.
15669
15670 ("addhi3", "addqi3"): Remove, replace by ...
15671 ("*addsi3_sign", "*addsi3_sub"): ... these new patterns.
15672
15673 ("*subdi3_sign", "*subdi3_zero_cc", "*subdi3_zero_cconly",
15674 "*subdi3_zero", "*subdi3_cc", "*subdi3_cconly"): New patterns.
15675 ("subdi3"): Replace by insn and splitter "*subdi3_31".
15676 ("subdi3"): New expander.
15677
15678 ("*subsi3_borrow_cc", "*subsi3_borrow_cconly"): New patterns.
15679
15680 ("subhi3", "subqi3"): Remove, replace by ...
15681 ("*subsi3_sign", "*subsi3_sub"): ... these new patterns.
15682
15683 ("*muldi3_sign"): New pattern.
15684 ("muldi3"): Do not clobber CC.
15685 ("mulsi3"): Likewise.
15686 ("mulsi_6432"): Likewise.
15687
db62867b
DC
156882002-08-13 Denis Chertykov <denisc@overta.ru>
15689
15690 * config/avr/avr.md: Call CC_STATUS_INIT in all peepnoles
8537ed68 15691 which can change CC0.
db62867b 15692
8ba46434
R
15693Tue Aug 13 14:49:20 2002 J"orn Rennecke <joern.rennecke@superh.com>
15694
15695 * gcse.c (adjust_libcall_notes): New function.
15696 (do_local_cprop): Use it. Add fourth parameter. Changed caller.
15697
8733892f
NS
156982002-08-13 Nathan Sidwell <nathan@codesourcery.com>
15699
15700 * libgcc2.c (L_bb): Remove unneeded #includes.
15701 (__global_counters, __gthreads_active): Remove unused globals.
15702 (__bb_exit_func): Merge counts into files rather than appending.
15703 * Makefile.in (INTERNAL_CFLAGS): Move COVERAGE_FLAGS from here ...
15704 (ALL_CFLAGS): ... to here.
15705
f4769721
DC
157062002-08-13 Denis Chertykov <denisc@overta.ru>
15707
15708 * config/ip2k/ip2k.c (commands_in_file): Variable removed.
15709 (function_epilogue): Don't calculate function size.
15710 (ip2k_set_compare): Don't use lookup_const_double.
15711 (asm_file_start): Initialization of commands_in_file removed.
15712 (asm_file_end): Output of commands_in_file removed.
5ce6f47b 15713
f4769721
DC
15714 * config/ip2k/ip2k.c (CPP_PREDEFINES): Remove definition of
15715 __INT_MAX__.
15716
c31cddfd
NB
157172002-08-13 Neil Booth <neil@daikokuya.co.uk>
15718
15719 * c-opts.c (c_common_init_options): Check option array is
15720 sorted if checking enabled.
15721
f076f0ce
GDR
157222002-08-13 Gabriel Dos Reis <gdr@nerim.net>
15723
15724 * c-pretty-print.c: #include "c-tree.h".
15725 (pp_c_simple_type_specifier): Tweak.
15726 (pp_c_storage_class_specifier): New.
15727 (pp_c_function_specifier): Likewise.
15728 (pp_c_declaration_specifiers): Likewise.
15729 (pp_c_init_declarator): Likewise.
15730 (pp_c_declaration): Likewise.
15731 (pp_c_direct_declarator): Stub.
15732 (pp_c_declarator): Likewise.
15733 (pp_c_parameter_declaration): Likewise.
15734
f4ff5a69
NB
157352002-08-13 Neil Booth <neil@daikokuya.co.uk>
15736
15737 * c-opts.c (deps_seen, deps_file, deferred_count, deferred_size,
15738 handle_deferred_opts, sanitize_cpp_opts, defer_opt,
15739 struct deferred_opt): New.
15740 (COMMAND_LINE_OPTIONS): Add -M*.
15741 (missing_arg): Update.
15742 (c_common_decode_option): Handle -M*.
15743 (c_common_post_options): Handle -M*. Use sanitize_cpp_opts;
15744 don't call cpp_post_options.
15745 (c_common_finish, check_deps_environment_vars): Update.
15746 * cppfiles.c (stack_include_file, handle_missing_header): Update.
15747 * cpphash.h (CPP_PRINT_DEPS): Remove.
15748 * cppinit.c: Don't include version.h.
15749 (cpp_create_reader): Don't call deps_init. Initialize
15750 warn_long_long.
15751 (cpp_read_main_file): Init deps if necessary.
15752 (cpp_destroy): Conditionally free deps.
15753 (cpp_finish): Update.
15754 (no_tgt): Remove.
15755 (COMMAND_LINE_OPTIONS, cpp_handle_option): Remove -M*.
15756 (cpp_post_options): Rename post_options.
15757 * cpplib.h (struct cpp_options): Remove some dependency options;
15758 move others to a new structure.
15759 (cpp_post_options): Remove.
15760 (cpp_finish): Comment.
15761 * fix-header.c (read_scan_file): Don't call cpp_post_options.
15762
34116c2a
HPN
157632002-08-12 Hans-Peter Nilsson <hp@bitrange.com>
15764
15765 * config/mmix/mmix.md (define_constants): Add MMIX_rR_REGNUM.
15766 ("divdi3", "*divdi3_nonknuth", "moddi3", "*moddi3_nonknuth"): Mark
15767 MMIX_rR_REGNUM as clobbered.
15768 * config/mmix/mmix.h (MMIX_REMAINDER_REGNUM): Use MMIX_rR_REGNUM.
15769
9b32718c
GDR
157702002-08-12 Gabriel Dos Reis <gdr@nerim.net>
15771
15772 * diagnostic.h (output_formatted_scalar): Rename from
5ce6f47b 15773 output_formatted_integer.
9b32718c
GDR
15774 * diagnostic.def: Add DK_DEBUG.
15775 * diagnostic.c (output_decimal): Adjust.
15776 (output_long_decimal): Likewise.
15777 (output_unsigned_decimal): Likewise.
15778 (output_octal): Likewise.
15779 (output_long_octal): Likewise.
15780 (output_hexadecimal): Likewise.
15781 (output_long_hexadecimal): Likewise.
15782 * c-pretty-print.c (pp_c_type_specifier): New function.
15783 (pp_c_specifier_qualifier_list): Likewise.
15784 (pp_c_abstract_declarator): Likewise.
15785 (pp_c_char): Replace pp_format_integer with pp_format_scalar.
15786
032613df
DE
157872002-08-12 David Edelsohn <edelsohn@gnu.org>
15788
15789 * doc/trouble.texi (Disappointments): Add static constructor and
15790 destructor dependency information for AIX.
15791
a3737481
NB
157922002-08-12 Neil Booth <neil@daikokuya.co.uk>
15793
15794 * cpphash.h (struct printer): New from cppmain.c.
15795 (cpp_reader): New member.
15796 * cppmain.c (struct printer): Move to cpphash.h.
15797 (options, print): Remove.
15798 (account_for_newlines, print_line, maybe_print_line,
15799 cpp_preprocess_file, setup_callbacks, scan_translation_unit,
15800 scan_translation_unit_trad, cb_line_change, cb_ident,
15801 cb_define, cb_undef, cb_include, cb_file_change, dump_macro,
15802 cb_def_pragma): Make reentrant.
15803
d71f7700
KG
158042002-08-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15805
15806 * real.c (ieee_64): Always define.
15807 (ieee_113): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
15808 (dec_h): Not used yet, hide it.
15809 (emdnorm): Mark parameter in ATTRIBUTE_UNUSED. Guard label with
15810 macro controlling use.
15811 (TFbignan, TFlittlenan): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
15812
c16576e6
JH
15813Mon Aug 12 12:48:20 CEST 2002 Jan Hubicka <jh@suse.cz>
15814
15815 * i386.md (tablejump): Sign extend the operand.
15816 * i386.c (classify_argument): Fix missed case from previous patch.
15817
460bd0e3
NB
158182002-08-12 Neil Booth <neil@daikokuya.co.uk>
15819
15820 * c-common.c (STDC_0_IN_SYSTEM_HEADERS, c_common_init): Move
15821 to c-copts.c.
15822 (warn_multichar): Die.
15823 (cb_register_builtins): Export.
15824 * c-common.h (warn_multichar, preprocess_file): Remove.
15825 (cb_register_builtins): New.
15826 * c-lang.c (c_init): Remove.
15827 (LANG_HOOKS_INIT): Use c_objc_common_init.
15828 * c-lex.c (init_c_lex): Don't canonicalize filename.
15829 * c-opts.c (in_fname, STDC_0_IN_SYSTEM_HEADERS): New.
15830 (preprocess_file): Make static. Update for cpplib.
15831 (c_common_decode_option): Remove warn_multichar. Use in_fname.
15832 (c_common_post_options): Set some cpp options here.
15833 (c_common_init): Move from c-common.c.
15834 * cppinit.c (cpp_post_options): Don't canonicalize in_fname.
15835 * cpplib.h (struct cpp_options): Remove in_fname.
15836 (cpp_preprocess_file): Update.
15837 * cppmain.c (cpp_preprocess_file): Update for new prototypes.
15838
f3f268dd
KG
158392002-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15840
15841 * config.gcc (mips*-*-netbsd*): Include ${tm_file}.
15842
f0201fba
KG
158432002-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15844
15845 * i370.h (TARGET_CPU_CPP_BUILTINS): Remove spurious trailing
15846 backslash in comment preceeding macro definition.
15847 * i370/linux.h (TARGET_OS_CPP_BUILTINS): Likewise.
15848 * i370/mvs.h (TARGET_OS_CPP_BUILTINS): Likewise.
15849 * i370/oe.h (TARGET_OS_CPP_BUILTINS): Likewise.
15850
e56fc090
HPN
158512002-08-12 Hans-Peter Nilsson <hp@bitrange.com>
15852
15853 * expr.c (store_expr): In condition for checking if value is
15854 generated in TARGET, move call to expr_size last.
15855
76c3e73e
NB
158562002-08-11 Neil Booth <neil@daikokuya.co.uk>
15857
15858 * c-common.c (c_common_init): Call preprocess_file instead.
15859 (c_common_finish): Move to c-opts.c.
15860 * c-common.h (preprocess_file): new.
15861 * c-opts.c (out_fname, out_stream, deps_append, preprocess_file,
15862 check_deps_environment_vars, c_common_finish): New.
15863 (c_common_decode_option): Update for out_fname and dependencies.
15864 * cppinit.c (init_dependency_output, output_deps): Remove.
15865 (cpp_destroy): Update prototype.
15866 (cpp_add_dependency_target): New.
15867 (cpp_read_main_file): Don't overlay a buffer.
15868 (cpp_finish): Take a deps output stream and write deps to it.
15869 Return the error count.
15870 (cpp_post_options): Don't canonicalize out_fname, or do anything
15871 with dependencies.
15872 * cpplib.h (struct cpp_options): Remove out_fname and
15873 preprocess_only.
15874 (cpp_add_dependency_target): New.
15875 (cpp_destroy, cpp_finish, cpp_preprocess_file): Update.
15876 * cppmain.c (cpp_preprocess_file): Update prototype. Don't
15877 set preprocess_only. Don't handle the output stream directly.
15878
e0c32c62
KG
158792002-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15880
15881 * dsp16xx.c (print_operand): Fix format specifier.
15882 * dsp16xx.md: Avoid automatic aggregate initialization.
15883 * frv.h (REG_CLASS_FROM_LETTER): Avoid char as array index.
15884 * h8300.c (emit_a_rotate, h8300_adjust_insn_length): Avoid U
15885 integer constant modifier.
15886 * ip2k.c (ip2k_set_compare): Avoid signed/unsigned warning.
15887 * mmix-protos.h (mmix_use_simple_return): Move outside TREE_CODE
15888 guards.
15889 * sh/netbsd-elf.h (FUNCTION_PROFILER): Fix format specifier.
15890 * v850.c (v850_select_section): Mark parameter with
15891 ATTRIBUTE_UNUSED.
15892 * global.c (global_alloc): Const-ify.
15893 * ra-colorize.c (hardregset_to_string): Fix format specifier.
15894
7ae8cf75
KG
158952002-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15896
15897 * darwin-c.c (darwin_pragma_options): Const-ify.
15898 * darwin.c (machopic_non_lazy_ptr_name,
15899 machopic_validate_stub_or_non_lazy_ptr): Likewise.
15900 (machopic_indirect_data_reference): Wrap variables in macros
15901 controlling their use.
15902 (machopic_finish, update_non_lazy_ptrs, update_stubs): Const-ify.
15903 (machopic_select_section): Use parentheses around && within ||.
15904 * i386/darwin.h (ASM_OUTPUT_ALIGN): Avoid ambiguous-else.
15905
8819cab5
KG
159062002-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15907
15908 * ip2k.c (mdr_resequence_xy_yx, mdr_propagate_reg_equivs,
15909 mdr_try_move_dp_reload, ip2k_check_can_adjust_stack_ref,
15910 ip2k_adjust_stack_ref, mdr_try_move_pushes, mdr_try_propagate_clr,
15911 ip2k_xexp_not_uses_reg_for_mem, mdr_try_propagate_move,
15912 mdr_try_remove_redundant_insns, track_w_reload,
15913 mdr_try_wreg_elim): Make function static to match prototype.
15914 * mmix.c (mmix_target_asm_function_epilogue): Likewise. Mark
15915 parameter with ATTRIBUTE_UNUSED.
15916
ab2877a3
KG
159172002-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15918
15919 * arc.c (arc_init): Don't use ISO C style function definitions.
15920 * arm.c (count_insns_for_constant, thumb_far_jump_used_p,
15921 arm_get_strip_length, arm_strip_name_encoding): Likewise.
15922 * avr.h (progmem_section): Likewise.
15923 * h8300.c h8300_asm_insn_count): Likewise.
15924 * m32r.c (init_idents): Likewise.
15925 * s390.c (s390_split_branches, s390_chunkify_pool): Likewise.
15926 * sh.c (sh_cfun_interrupt_handler_p): Likewise.
15927 * xtensa.c (xtensa_build_va_list): Likewise.
15928
08767a6f
NB
159292002-08-11 Neil Booth <neil@daikokuya.co.uk>
15930
15931 * c-common.h (enum c_language_kind): Emphasize that clk_c is 0.
15932 * c-opts.c (parse_option): Rename find_opt.
15933 (set_std_c99): New function.
15934 (COMMAND_LINE_OPTIONS): Handle -remap and -o. Remove OPT_std_bad.
15935 (missing_arg): Remove OPT_std_bad. Handle -o.
15936 (c_common_decode_option): Handle input and output file names,
15937 -o and -remap. Clean up -std= handling.
15938 * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_o and OPT_remap.
15939 (cpp_handle_option): Similarly. Don't handle filenames.
15940
db01f480
JH
15941Sun Aug 11 14:43:17 CEST 2002 Jan Hubicka <jh@suse.cz>
15942
15943 * i386.c (classify_argument): Fix computing of field's offsets.
15944
a7701995
AJ
159452002-08-11 Andreas Jaeger <aj@suse.de>
15946
15947 PR target/7531:
15948 * doc/invoke.texi (i386 and x86-64 Options): Document -mcmodel.
15949
2516f236
ZL
159502002-08-10 Ziemowit Laski <zlaski@apple.com>
15951
15952 * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Replace
15953 reference to clk_objective_c with flag_objc.
15954 * config/i386/i386-interix.h (TARGET_OS_CPP_BUILTINS):
15955 Likewise.
15956 * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Likewise.
15957
f749a36b
NB
159582002-08-10 Neil Booth <neil@daikokuya.co.uk>
15959
15960 * c-opts.c (set_std_cxx98, set_std_c89): New.
15961 (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
15962 (c_common_decode_option): Handle new switches from cppinit.c.
15963 Add -std=gnu++98.
15964 * cppinit.c (set_lang): Rename cpp_set_lang. Export.
15965 (no_arg, no_num): Remove.
15966 (COMMAND_LINE_OPTIONS): Move more to c-opts.c. Drop all lang-
15967 switches apart from -lang-objc and lang-asm.
15968 (cpp_handle_option): Similarly.
15969 * cpplib.h (cpp_set_lang): New.
15970 * doc/cppopts.texi, doc/invoke.texi: Document -std=c++98,
15971 -std=gnu++98.
15972 * objc/lang-specs.h: Remove -ansi.
15973
77abb5d8
JH
15974Sat Aug 10 19:59:43 CEST 2002 Jan Hubicka <jh@suse.cz>
15975 Graham Stott
15976
15977 * cfg.c (redirect_edge_succ_nodup): Avoid overflows due to roundoff
15978 errors.
15979
fac37dc4
KG
159802002-08-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15981
d950dee3
KG
15982 * emit-rtl.c (emit_jump_insn_before, emit_call_insn_before,
15983 emit_jump_insn): Fix uninitialized variable.
15984 * gcov.c (init_line_info): Likewise.
15985 * genautomata.c (transform_3): Add braces around ambiguous
15986 else.
15987 * ifcvt.c (cond_exec_process_insns): Mark parameter with
15988 ATTRIBUTE_UNUSED.
15989 * ra-build.c (parts_to_webs_1): Fix uninitialized variable.
15990 * regrename.c (copyprop_hardreg_forward): Fix uninitialized
15991 variable.
15992
fac37dc4
KG
15993 * gengtype.c (write_gc_structure_fields): Avoid signed/unsigned
15994 warnings in output files.
15995
0f7866e7
ZL
159962002-08-09 Ziemowit Laski <zlaski@apple.com>
15997
15998 * c-common.c (flag_objc): New.
15999 * c-common.h (c_language_kind): Get rid of clk_objective_c
16000 enum value.
16001 (flag_objc): New extern declaration.
16002 * c-decl.c (implicitly_declare): Call objc_check_decl
16003 instead of maybe_objc_check_decl.
16004 (finish_decl): Likewise.
16005 (grokfield): Likewise.
16006 (finish_struct): Likewise.
16007 * c-lang.c (maybe_objc_check_decl): Rename to objc_check_decl.
16008 (maybe_objc_comptypes): Rename to objc_comptypes.
a7701995 16009 (maybe_building_objc_message_expr): Rename to
0f7866e7
ZL
16010 objc_message_selector.
16011 * c-lex.c (lex_charconst): Remove uses of clk_objective_c,
16012 replace with flag_objc as needed.
16013 * c-opts.c (c_common_init_options): Likewise.
16014 (c_common_decode_option): Likewise.
16015 * c-parse.in (init_reswords): Likewise.
16016 * c-tree.h (maybe_objc_check_decl): Rename to objc_check_decl.
16017 (maybe_objc_comptypes): Rename to objc_comptypes.
a7701995 16018 (maybe_building_objc_message_expr): Rename to
0f7866e7
ZL
16019 objc_message_selector.
16020 * c-typeck.c (comptypes): Call objc_comptypes instead of
16021 maybe_objc_comptypes, and/or objc_message_selector instead of
16022 maybe_building_objc_message_expr.
16023 (comp_target_types): Likewise.
16024 (convert_for_assignment): Likewise.
16025 (warn_for_assignment): Likewise.
16026 * cppinit.c (init_builtins): Set __OBJC__ manifest constant
16027 independently of those for other languages.
16028 * objc/objc-act.c (maybe_objc_comptypes): Delete.
16029 (maybe_objc_check_decl): Delete.
a7701995 16030 (maybe_building_objc_message_expr): Rename to
0f7866e7
ZL
16031 objc_message_selector.
16032 * objc/objc-lang.c (objc_init_options): Use clk_c instead of
16033 clk_objective_c; set flag_objc flag.
16034
c512fd7b
TM
160352002-08-09 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
16036
16037 * ifcvt.c (find_if_case_2): Test correct basic block for size.
16038
5e1bf043 160392002-08-09 Dale Johannesen <dalej@apple.com>
c512fd7b 16040
5e1bf043
DJ
16041 * config/rs6000/rs6000.md: Add sibcall patterns.
16042 * config/rs6000/rs6000.h (FUNCTION_OK_FOR_SIBCALL): Define.
16043 * config/rs6000/rs6000.c (rs6000_ra_ever_killed):
16044 Rewritten to handle sibcalls.
16045 * config/rs6000/rs6000.c (function_ok_for_sibcall): New.
16046 * config/rs6000/rs6000-protos.h (function_ok_for_sibcall): New.
16047
2043c38e
NS
160482002-08-08 Nathan Sidwell <nathan@codesourcery.com>
16049
16050 * profile.c (da_file_name): New static var.
16051 (init_branch_prob): Initialize it.
16052 (end_branch_prob): Remove da file.
16053
16054 * Makefile.in (stage1_build): Pass empty COVERAGE_FLAGS.
41685063 16055 * configure.in (coverage_flags): Default to nothing.
2043c38e
NS
16056 * configure: Rebuilt.
16057
4b7091eb
NB
160582002-08-09 Neil Booth <neil@daikokuya.co.uk>
16059
16060 * Makefile.in (c-opts.o): Update
16061 * c-opts.c: Include intl.h.
16062 (print_help): Move from cppinit.c. Remove unused options.
16063 (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
16064 (missing_arg): Complain for switches without an argument.
16065 (c_common_decode_option): Reject missing joined arguments.
16066 Handle new switches from cppinit.c.
16067 * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
16068 (cpp_handle_option): Similarly.
16069 (print_help): Moved to c-opts.c.
16070 * cpplib.h (struct cpp_options): Remove help_only.
16071 * gcc.c (cpp_unique_options): Remove -$.
16072 * doc/cppopts.texi: Undocument -h.
16073
9e20be0c
JJ
160742002-08-08 Jakub Jelinek <jakub@redhat.com>
16075
16076 * config/i386/i386.c (legitimate_constant_p): UNSPEC_TP is not
16077 legitimate constant.
16078 (legitimate_pic_operand_p): Neither pic operand.
16079 (legitimate_address_p): But legitimate address.
16080 (get_thread_pointer): Generate MEM/u instead of CONST around
16081 UNSPEC_TP.
16082 (print_operand): Remove printing of UNSPEC_TP.
16083 (print_operand_address): And print it here.
16084
7b9be5c7 160852002-08-08 Devang Patel <dpatel@apple.com>
9e20be0c 16086
a7701995
AJ
16087 * objc/objc-act.c (build_selector_translation_table): Issue warning,
16088 when -Wselector is used,if method for which selector is being
7b9be5c7 16089 created does not exist.
a7701995 16090
5615d8fd
SC
160912002-08-08 Stephen Clarke <stephen.clarke@superh.com>
16092
16093 * config/sh/sh.c (prepare_move_operands): Only call
16094 target_reg_operand if TARGET_SHMEDIA.
a7701995 16095
3b85fe5f
JJ
160962002-08-08 Jakub Jelinek <jakub@redhat.com>
16097
16098 * config/rs6000/rs6000.h, config/rs6000/aix.h,
16099 config/rs6000/darwin.h, config/rs6000/linux64.h: Revert last
16100 two patches.
16101 * config/rs6000/sysv4.h: Likewise, remove #undef ADJUST_FIELD_ALIGN.
16102
e10c79fe
LB
161032002-08-08 Lars Brinkhoff <lars@nocrew.org>
16104 Richard Henderson <rth@redhat.com>
16105
16106 * emit-rtl.c (gen_rtx_REG): After reload, only return
16107 frame_pointer_rtx or hard_frame_pointer_rtx if frame_pointer_needed.
16108
aa2a83dc
JJ
161092002-08-08 Jakub Jelinek <jakub@redhat.com>
16110
16111 * config/rs6000/rs6000-protos.h (rs6000_field_alignment): Remove.
16112 * config/rs6000/rs6000.c (rs6000_field_alignment): Move...
16113 * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): ...inline into the
16114 macro.
16115
aeaf4d25
AN
161162002-08-08 Adam Nemet <anemet@lnxw.com>
16117
16118 * config/arm/arm.c (thumb_unexpanded_epilogue): Stack the PIC
16119 register.
16120 (thumb_expand_prologue): Likewise.
16121 (thumb_output_function_prologue): Likewise.
16122 * config/arm/arm.h (THUMB_INITIAL_ELIMINATION_OFFSET): Account for
16123 the additional push of the PIC register.
16124
22aa533e
NS
161252002-08-08 Nathan Sidwell <nathan@codesourcery.com>
16126
16127 * configure.in (enable_coverage): New enable switch.
16128 * configure: Rebuilt.
16129 * Makefile.in (COVERAGE_FLAGS, coverageexts): New variables.
16130 (INTERNAL_CFLAGS): Append COVERAGE_FLAGS.
16131 (ALL_FLAGS): Reorder so INTERNAL_CFLAGS comes after CFLAGS.
16132 (mostlyclean): Remove coverage files.
16133 * doc/install.texi: Document enable_coverage.
16134
16135 * cp/Make-lang.in (c++.mostlyclean): Remove coverage files.
16136 * ada/Make-lang.in (ada.mostlyclean): Remove coverage files.
16137 * f/Make-lang.in (f.mostlyclean): Remove coverage files.
16138 * java/Make-lang.in (java.mostlyclean): Remove coverage files.
16139 * objc/Make-lang.in (objc.mostlyclean): Remove coverage files.
16140 * treelang/Make-lang.in (treelang.mostlyclean): Remove coverage
16141 files.
a7701995 16142
18bdccaa
NB
161432002-08-08 Neil Booth <neil@daikokuya.co.uk>
16144
16145 * c-opts.c (cpp_opts): New.
16146 (COMMAND_LINE_OPTIONS): Add switches from cppinit.c.
16147 (c_common_decode_options): Handle cpplib switches.
16148 (c_common_init_options): Set cpp_opts.
16149 * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
16150 (cpp_handle_option): Similarly.
16151
774b5662
DE
161522002-08-08 David Edelsohn <edelsohn@gnu.org>
16153
16154 * config/rs6000/aix.h (TARGET_ALTIVEC): Define to 0.
16155 (TARGET_ALTIVEC_ABI): Same.
16156 (TARGET_ALTIVEC_VRSAVE): Same.
16157
16158 * config/rs6000/rs6000.c (rs6000_expand_ternop_builtin): Check
16159 icode not CODE_FOR_nothing. Change switch to if.
16160
957e9e48
AM
161612002-08-08 Alan Modra <amodra@bigpond.net.au>
16162
16163 * config/rs6000/rs6000.h (ASM_CPU_SPEC): Pass -mpower4 when cpu=power4.
16164
daf06049
JJ
161652002-08-08 Jakub Jelinek <jakub@redhat.com>
16166
16167 * stor-layout.c (place_union_field): For bitfields if
16168 PCC_BITFIELD_TYPE_MATTERS and TYPE_USER_ALIGN, set record's
16169 TYPE_USER_ALIGN.
16170
043d39a6
JDA
161712002-08-07 John David Anglin <dave@hiauly1.hia.nrc.ca>
16172
16173 * pa.c (struct deferred_plabel): Constify name field.
16174
34bb92e3
NB
161752002-08-07 Neil Booth <neil@daikokuya.co.uk>
16176
16177 * cppmacro.c (_cpp_builtin_macro_text): Remove unused variable.
16178
3ec5d64d
JDA
161792002-08-07 John David Anglin <dave@hiauly1.hia.nrc.ca>
16180
16181 * configure.in (PREFIX_INCLUDE_DIR): Don't define if prefix and
16182 local_prefix are the same.
16183 * configure: Rebuilt.
16184
ad9335eb
JJ
161852002-08-07 Jakub Jelinek <jakub@redhat.com>
16186 Richard Henderson <rth@redhat.com>
16187
16188 * stor-layout.c (place_union_field): Apply ADJUST_FIELD_ALIGN
16189 to type_align when PCC_BITFIELD_TYPE_MATTERS. Only apply
16190 ADJUST_FIELD_ALIGN if not DECL_USER_ALIGN resp. TYPE_USER_ALIGN.
16191 (place_field): Likewise.
16192 * config/i386/i386.c (x86_field_alignment): Don't check
16193 DECL_USER_ALIGN here.
16194 * config/rs6000/rs6000.c (rs6000_field_alignment): New.
16195 * config/rs6000/rs6000-protos.h (rs6000_field_alignment): New
16196 prototype.
16197 * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): Define.
16198 * config/rs6000/aix.h (ADJUST_FIELD_ALIGN): Remove.
16199 * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Remove.
16200 * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Remove.
16201 * config/rs6000/sysv4.h (ADJUST_FIELD_ALIGN): Remove.
16202 * doc/tm.texi (ADJUST_FIELD_ALIGN): Update description.
16203
0b6f2917
NB
162042002-08-07 Neil Booth <neil@daikokuya.co.uk>
16205
16206 * Makefile.in (c-opts.o, c-common.o, C_AND_OBJC_OBJS): Update.
16207 * c-common.c: Don't include tree-inline.h.
16208 (c_common_init_options, c_common_post_options): Move to c-opts.c.
16209 * c-common.h (c_common_decode_option): New.
16210 * c-decl.c (c_decode_option): Remove.
16211 * c-lang.c (LANG_HOOKS_DECODE_OPTION): Use c_common_decode_option.
16212 * c-opts.c: New file.
16213 * c-tree.h (c_decode_option): Remove.
16214 * doc/passes.texi: Update.
16215 * objc/objc-act.c (objc_decode_option): Remove.
16216 * objc/objc-act.h (objc_decode_option): Remove.
16217 * objc/ojbc-lang.c (LANG_HOOKS_DECODE_OPTION): Use
16218 c_common_decode_option.
16219
e49ec17d
CD
162202002-08-07 Chris Demetriou <cgd@broadcom.com>
16221
16222 * config/mips/mips.md (sunlt_sf, suneq_sf, sunle_sf): Remove
16223 dependency on TARGET_DOUBLE_FLOAT.
16224
ac1ca451
SC
162252002-08-07 Stephen Clarke <stephen.clarke@superh.com>
16226
16227 * config/sh/lib1funcs.asm (GCC_shcompact_incoming_args): Don't
16228 overwrite callee-save registers. Fix comment.
16229
af34e51e
CD
162302002-08-06 Chris Demetriou <cgd@broadcom.com>
16231
16232 * config/mips/mips.c (override_options): Set MASK_BRANCHLIKELY
16233 in target_flags based on ISA, if it was not set on the command
16234 line. Warn if MASK_BRANCHLIKLEY is set but the ISA does not
16235 support Branch Likely instructions.
16236 * config/mips/mips.h (MASK_BRANCHLIKLEY): New macro.
16237 (TARGET_BRANCHLIKELY): Likewise.
16238 (TARGET_SWITCHES): Add -mbranch-likely and -mno-branch-likely.
16239 (GENERATE_BRANCHLIKELY): Use TARGET_BRANCHLIKELY rather than
16240 ISA_HAS_BRANCHLIKELY.
16241 (ISA_HAS_BRANCHLIKELY): Do not include MIPS16 check.
16242 * doc/invoke.texi: Document new MIPS -mbranch-likely and
16243 -mno-branch-likely options.
16244
2631af95
KG
162452002-08-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
16246
f538618e
KG
16247 * ip2k.c (ip2k_set_compare): Add missing iteration variable.
16248
2631af95
KG
16249 * Makefile.in (dummy-conditions.o): Depend on $(HCONFIG_H) not
16250 $(GCONFIG_H).
16251
1ae0ccb6
AH
162522002-08-06 Aldy Hernandez <aldyh@redhat.com>
16253
8537ed68
ZW
16254 * c-decl.c (duplicate_decls): Error out for incompatible TLS
16255 declarations.
1ae0ccb6 16256
8537ed68 16257 * testsuite/gcc.dg/tls/diag-3.c: New.
1ae0ccb6 16258
8d3e27d1 162592002-08-06 Dale Johannesen <dalej@apple.com>
db4c55f6 16260
8d3e27d1 16261 * c-common.c (fname_decl): Use line number 0 for
8537ed68 16262 __func__, to avoid confusing debuggers.
8d3e27d1 16263
8b219a76
NS
162642002-08-06 Nathan Sidwell <nathan@codesourcery.com>
16265
16266 * gcov.c: Tidy.
16267 (struct line_info, struct coverage): New structures.
16268 (gcov_file_name, gcov_file): Remove globals.
16269 (output_data): Take source file parameter. Fix memory leak. Break
16270 up into ...
16271 (init_line_info, output_line_info, make_gcov_file_name,
16272 accumulate_branch_counts): ... here.
16273 (calculate_branch_probs, function_summary): Adjust.
16274 (main): Adjust.
16275 (function_*): Remove global variables.
16276
317e98c0
NB
162772002-08-06 Neil Booth <neil@daikokuya.co.uk>
16278
16279 * dwarf2out.c: Remove unused macros.
16280
81d41e74
NB
162812002-08-06 Neil Booth <neil@daikokuya.co.uk>
16282
16283 * function.c (TRAMPOLINE_ALIGNMENT): Always defined.
16284
58551c23
NB
162852002-08-06 Neil Booth <neil@daikokuya.co.uk>
16286
16287 * cppinit.c (struct lang_flags): Rename trigraphs std.
16288 (set_lang): Update.
16289 * cpplib.h (struct cpp_options): New member std.
16290 * cppmacro.c (_cpp_builtin_macro_text): Use std.
16291 (collect_args): Flag whether to swallow a possible future
16292 comma pasted with varargs.
16293 (replace_args): Use this flag.
16294 * doc/cpp.texi: Update varargs extension documentation.
16295
daeabcd0
JJ
162962002-08-06 Jakub Jelinek <jakub@redhat.com>
16297
16298 * config/i386/mmintrin.h (__m64): Make the type 64-bit aligned.
16299
39e3a681
JJ
163002002-08-06 Jakub Jelinek <jakub@redhat.com>
16301
9812691e
JJ
16302 * config/i386/i386.c (x86_field_alignment): Apply min for all MODE_INT
16303 and MODE_CLASS_INT modes.
39e3a681 16304
609a87f3
JJ
163052002-08-06 Jakub Jelinek <jakub@redhat.com>
16306
16307 * config.gcc (*-*-linux*): Default to --enable-threads=posix if no
16308 --{enable,disable}-threads is given to configure.
16309 (alpha*-*-linux*, hppa*-*-linux*, i[34567]86-*-linux*,
16310 x86_64-*-linux*, ia64*-*-linux*, m68k-*-linux*, mips*-*-linux*,
16311 powerpc-*-linux-gnualtivec*, powerpc-*-linux*, s390-*-linux*,
16312 s390x-*-linux*, sh-*-linux*, sparc-*-linux*, sparc64-*-linux*):
16313 Remove thread_file setting here.
16314
ff4c5e7b
DE
163152002-08-06 David Edelsohn <edelsohn@gnu.org>
16316
16317 * doc/install.texi (Binaries): Update Bull Freeware URL.
16318
54f3aa9e
GP
163192002-08-06 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
16320
16321 * doc/gcc.texi (Top): Rename Index to Keyword Index.
16322
d19202ba
NS
163232002-08-05 Nathan Sidwell <nathan@codesourcery.com>
16324
16325 * gcov.c (output_data): Round to % to nearest, tweak formatting.
16326
1bed5ee3
JJ
163272002-08-05 Jakub Jelinek <jakub@redhat.com>
16328
16329 * fold-const.c (associate_trees): Only optimize NEGATE_EXPR in one
16330 of the operands into MINUS_EXPR if code is PLUS_EXPR.
16331
84512347
DR
163322002-08-05 Douglas B Rupp <rupp@gnat.com>
16333
16334 * config.gcc (i[34567]86-*-interix*): Replace interix.o with winnt.o
16335 * config/i386/i386-interix.h (TARGET_NOP_FUN_DLLIMPORT,
16336 drectve_section): Define.
16337 * config/i386/t-interix: Replace interix.o rule with winnt.o.
16338 * config/i386/interix.c: Remove.
16339
b835f6f1
GK
163402002-08-05 Geoffrey Keating <geoffk@redhat.com>
16341
16342 * attribs.c: Don't include obstack.h.
16343 * builtins.c: Likewise.
16344 * cfganal.c: Likewise.
16345 * cfgbuild.c: Likewise.
16346 * cfgcleanup.c: Likewise.
16347 * emit-rtl.c: Likewise.
16348 * loop.c: Likewise.
16349 * stmt.c: Likewise.
16350
16351 * Makefile.in (s-gtype): Re-add dependency on $(GTFILES).
16352
fd291392
GDR
163532002-08-05 Gabriel Dos Reis <gdr@nerim.net>
16354
16355 * doc/c-tree.texi (Expression trees): Document VA_ARG_EXPR
16356
054b7507
CD
163572002-08-04 Chris Demetriou <cgd@broadcom.com>
16358
16359 * doc/invoke.texi: Remove duplicated paragraph describing
16360 TARGET_SWITCHES.
16361
6d9f628e
GK
163622002-08-04 Geoffrey Keating <geoffk@redhat.com>
16363
16364 * Makefile.in (sdbout.o): Doesn't need $(OBSTACK_H).
16365 * collect2.h (permanent_obstack): Delete declaration.
16366 * collect2.c (permanent_obstack): Delete definition.
4912a07c 16367 (main): Don't initialize permanent_obstack. Use xstrdup instead.
6d9f628e
GK
16368 * expr.c: Don't include obstack.h.
16369 (permanent_obstack): Delete declaration.
16370 * function.c: Don't include obstack.h.
16371 (permanent_obstack): Delete declaration.
16372 * integrate.c: Don't include obstack.h.
16373 (function_maybepermanent_obstack): Delete declaration.
16374 * print-tree.c (debug_tree): Use x*alloc not permalloc.
16375 * sdbout.c (gen_fake_label): Use x*alloc not permalloc.
16376 * tlink.c (pfgets): Use xstrdup not permanent_obstack.
16377 * toplev.c (lang_independent_init): Rename init_obstacks to init_ttree.
16378 * tree.h: Rename init_obstacks to init_ttree. Remove declarations
16379 of permalloc, expralloc, perm_calloc.
16380 * tree.c (permanent_obstack): Delete definition.
16381 (init_ttree): Rename from init_obstacks.
16382 (permalloc): Delete.
16383 (perm_calloc): Delete.
16384 (dump_tree_statistics): Don't print information about
16385 permanent_obstack.
16386 * varasm.c (assemble_start_function): Use xstrdup instead of
16387 permalloc/strcpy.
16388 (assemble_variable): Likewise.
16389 * config/alpha/alpha.c (unicosmk_need_dex): Use xmalloc instead of
16390 permalloc.
16391 (unicosmk_add_extern): Likewise.
16392 * config/c4x/c4x.c (c4x_external_ref): Likewise.
16393 (c4x_global_label): Likewise.
16394 * config/frv/frv.c (frv_encode_section_info): Likewise.
16395 * config/i386/winnt.c (i386_pe_record_external_function): Likewise.
16396 (i386_pe_record_exported_symbol): Likewise.
16397 * config/mips/mips.c (mips_output_external): Likewise.
16398 (mips_output_external_libcall): Likewise.
16399 * config/pa/pa.c: (permanent_obstack): Delete declaration.
16400 (output_call): Use ggc_strdup instead of allocating on
16401 permanent_obstack.
16402 * config/romp/romp.c: Include ggc.h.
16403 (get_symref): Don't declare permanent_obstack, use ggc_strdup
16404 intead of permanent_obstack.
16405 * config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use concat
16406 instead of permalloc.
16407 * config/rs6000/rs6000.c (rs6000_gen_section_name): Use xmalloc
16408 instead of permalloc
16409 * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Use concat
16410 instead of permalloc.
16411 * config/vax/vax.c (vms_check_external): Use xmalloc instead of
16412 permalloc.
16413
36a05131
BS
164142002-08-04 Bernd Schmidt <bernds@redhat.com>
16415
16416 Contribute a port developed primarily by Michael Meissner,
16417 Catherine Moore, and Richard Sandiford <rsandifo@redhat.com>.
16418 * config.gcc: Add frv-elf target.
16419 * config/frv/cmovd.c: New file.
16420 * config/frv/cmovh.c: New file.
16421 * config/frv/cmovw.c: New file.
16422 * config/frv/frv-abi.h: New file.
16423 * config/frv/frv-asm.h: New file.
16424 * config/frv/frv-modes.def: New file.
16425 * config/frv/frv-protos.h: New file.
16426 * config/frv/frv.c: New file.
16427 * config/frv/frv.h: New file.
16428 * config/frv/frv.md: New file.
16429 * config/frv/frvbegin.c: New file.
16430 * config/frv/frvend.c: New file.
16431 * config/frv/lib1funcs.asm: New file.
16432 * config/frv/media.h: New file.
16433 * config/frv/modi.c: New file.
16434 * config/frv/t-frv: New file.
16435 * config/frv/uitod.c: New file.
16436 * config/frv/uitof.c: New file.
16437 * config/frv/ulltod.c: New file.
16438 * config/frv/ulltof.c: New file.
16439 * config/frv/umodi.c: New file.
16440 * config/frv/xm-frv.h: New file.
86a0cbcb
BS
16441
16442 * config/frv/media.h: Removed again.
16443
37b8715b
NS
164442002-08-04 Nathan Sidwell <nathan@codesourcery.com>
16445
16446 * gcov.c (bb_file_time): New static variable.
16447 (object_directory): May also be object file.
16448 (preserve_paths): New static variable.
16449 (print_usage): Adjust.
16450 (options): Adjust.
16451 (process_args): Adjust.
16452 (open_files): Simplify. Cope when OBJECT_DIRECTORY is an object
16453 file. Find modification date on bb file.
16454 (read_profile): Don't rewind a NULL file.
16455 (format_hwint): New static function.
16456 (function_summary): Use format_hwint.
16457 (output_data): SOURCE_FILE_NAME is never relative to
16458 OBJECT_DIRECTORY. Use format_hwint. Adjust gcov file name
16459 mangling. Adjust output format to make it more machine readable.
16460 * doc/gcov.texi: Document & clarify semantics.
a7701995 16461
d500c5d7
JM
164622002-08-04 Joseph S. Myers <jsm@polyomino.org.uk>
16463
16464 * doc/include/gcc-common.texi (version-GCC): Increase to 3.3.
16465
ea67fe71
NS
164662002-08-04 Nathan Sidwell <nathan@codesourcery.com>
16467
16468 * gcc.c (cc1_options): Pass output file as auxbase when
16469 appropriate.
16470 * profile.c (init_branch_prob): FILENAME has already had ending
16471 stripped.
16472 * final.c (end_final): Likewise.
16473 * toplev.c (aux_base_name): New global.
16474 (compile_file): Pass aux_base_name to init init_branch_prob and
16475 end_final.
16476 (independent_decode_option, case 'a'): New auxinfo options.
16477 (case 'd'): Protect against mising basename.
16478 (do_compile): Initialize aux_base_name.
16479 * toplev.h (aux_base_name): New global.
16480 * doc/invoke.texi: Adjust documentation.
16481
b23c054d
NS
164822002-08-04 Nathan Sidwell <nathan@codesourcery.com>
16483
16484 * config/i386/i386.c (x86_field_alignment): Remove duplicate test
16485 of TARGET_ALIGN_DOUBLE.
16486
04c1334c 164872002-08-04 Gabriel Dos Reis <gdr@nerim.net>
a7701995 16488
04c1334c
GDR
16489 * diagnostic.c (inform): New function.
16490 * diagnostic.h (inform): Declare.
a7701995 16491
e34eaae5
DE
164922002-08-03 David Edelsohn <edelsohn@gnu.org>
16493
16494 * config/rs6000/rs6000.md (movsi_internal1): Add nop mnemonic.
16495 (movhi_internal): Same.
16496 (movqi_internal): Same.
16497 (movdi_internal64): Same.
16498
16499 * config/rs6000/t-ppccomm (MULTILIB_MATCHES_FLOAT): Add mcpu=405.
16500
16501 * config/rs6000/xcoff.h (SKIP_ASM_OP): Define.
16502 (ASM_OUTPUT_SKIP): Use it. SIZE unsigned.
16503 (COMMON_ASM_OP): Define.
16504 (ASM_OUTPUT_ALIGNED_COMMON): Use it. SIZE unsigned.
16505 Use ALIGN parameter.
16506 (LOCAL_COMMON_ASM_OP): Define.
16507 (ASM_OUTPUT_LOCAL): Use it. SIZE unsigned.
16508
e7b489c8
RS
165092002-08-03 Roger Sayle <roger@eyesopen.com>
16510
16511 * builtins.def: Define new builtin functions exp, expf, expl,
16512 log, logf and logl (and their __builtin_* variants).
16513 * optabs.h (enum optab_index): Add new OTI_exp and OTI_log.
16514 Define exp_optab and log_optab.
16515 * optabs.c (init_optans): Initialize exp_optab and log_optab.
16516 * genopinit.c (optabs): Implement exp_optab and log_optab
16517 using exp?f2 and log?f2 patterns.
16518 * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_EXP*
16519 and BUILT_IN_LOG* using exp_optab and log_optab respectively.
16520 (expand_builtin): Ignore the new builtins (and all cos and
16521 sin variants) when not optimizing. Expand new builtins via
16522 expand_builtin_mathfn when flag_unsafe_math_optimizations.
16523
16524 * doc/extend.texi: Document new exp and log builtins.
16525 * doc/md.texi: Document new exp?f2 and log?f2 patterns
16526 (and previously undocumented cos?f2 and sin?f2 patterns).
16527
de8920be
JM
165282002-08-03 Jason Merrill <jason@redhat.com>
16529
16530 * explow.c (int_expr_size): New fn.
16531 * expr.c (expand_expr) [CONSTRUCTOR]: Use it.
16532 * expr.h: Declare it.
16533
ba462c8e
KW
165342002-08-02 Krister Walfridsson <cato@df.lth.se>
16535
16536 * Makefile.in (gengtype-lex.o, gengtype-yacc.o): Add path to
16537 gengtype-* dependencies.
16538
2017ed61
EC
165392002-08-02 Eric Christopher <echristo@redhat.com>
16540
16541 * config.gcc (mips*-*-linux*): Fix ordering of tm_file.
16542 * config/mips/mips.h (READONLY_DATA_SECTION_ASM_OP): Change
16543 #ifndef to #undef.
16544 (TARGET_MEM_FUNCTIONS): Define instead of define to 1.
16545
055dd007
DE
165462002-08-02 David Edelsohn <edelsohn@gnu.org>
16547
16548 PR optimize/7067
16549 * config/rs6000/rs6000.h (RTX_COSTS): Artificially make MULT
16550 small if optimizing for size.
16551
771a2a66
DJ
165522002-08-02 Daniel Jacobowitz <drow@mvista.com>
16553
16554 * configure.in (FORBUILD): Use $build_alias.
16555 * configure: Regenerated.
16556
ac8ab9fe
RS
165572002-08-02 Richard Sandiford <rsandifo@redhat.com>
16558
16559 * config.gcc: Don't include mips/abi64.h in $tm_file.
16560 * hard-reg-set.h (call_really_used_regs): Declare.
16561 * config/mips/abi64.h: Remove file.
16562 * config/mips/linux.h,
16563 * config/mips/iris6.h: Don't include it.
16564 * config/mips/mips-protos.h (mips_conditional_register_usage): Declare.
16565 * config/mips/mips.h (CONDITIONAL_REGISTER_USAGE): Use it.
16566 (REG_PARM_STACK_SPACE, STACK_BOUNDARY, STRICT_ARGUMENT_NAMING,
16567 FUNCTION_ARG_PASS_BY_REFERENCE, FUNCTION_ARG_PADDING,
16568 FUNCTION_ARG_CALLEE_COPIES, MUST_PASS_IN_STACK, MIPS_STACK_ALIGN):
16569 Bring across definitions from abi64.h.
16570 (GP_ARG_LAST, FP_ARG_LAST): Use MAX_ARGS_IN_REGISTERS.
16571 (BIGGEST_MAX_ARGS_IN_REGISTERS): New.
16572 (struct mips_args): Use it.
16573 * config/mips/mips.c (mips_conditional_register_usage): Define.
16574
a77a9a18
JM
165752002-08-02 Jason Merrill <jason@redhat.com>
16576
16577 * langhooks-def.h (LANG_HOOKS_EXPR_SIZE): New macro.
16578 * langhooks.c (lhd_expr_size): Define default.
16579 * langhooks.h (struct lang_hooks): Add expr_size.
16580 * explow.c (expr_size): Call it.
16581 * expr.c (store_expr): Don't copy an expression of size zero.
16582 (expand_expr) [CONSTRUCTOR]: Use expr_size to calculate how much
16583 to store.
16584 * Makefile.in (builtins.o): Depend on langhooks.h.
16585
a6be5aee
KG
165862002-08-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
16587
16588 * Makefile.in (ra-debug.o): Depend on $(TM_P_H).
16589 * ra-debug.c: Include "tm_p.h".
16590 * ra-rewrite.c (is_partly_live_1): Change return type to bool.
16591
e3e16ee3
TM
165922002-08-02 Toon Moene <toon@moene.indiv.nluug.nl>
16593
16594 * simplify-rtx.c (simplify_binary_operation): x * 1 is allowed
16595 when not honoring signalling NaNs.
16596 (simplify_ternary_operation): a == b has a definite value
16597 when not honoring NaNs.
16598
b9d8832d
JM
165992002-08-02 Jason Merrill <jason@redhat.com>
16600
16601 * gdbinit.in (pct): New macro.
16602
825abef4
SS
166032002-08-01 Stan Shebs <shebs@apple.com>
16604 Andreas Tobler <toa@pop.agri.ch>
16605
16606 * ginclude/stddef.h (_BSD_SIZE_T_DEFINED_): Define if not defined,
16607 plays nice with Darwin headers.
bf2e488f 16608 (_BSD_RUNE_T_DEFINED_): Likewise.
825abef4 16609
56da7207
ZW
166102002-08-01 Zack Weinberg <zack@codesourcery.com>
16611
16612 * c-common.c (c_common_init): -Wtraditional also implies -Wlong-long.
16613 * cppinit.c (cpp_post_options): Likewise.
16614
16615 * cppexp.c (cpp_classify_number): Suppress -Wtraditional
16616 warning about 'LL' suffix (but not 'ULL' etc) when
16617 -Wno-long-long is in effect.
16618
16619 * cppmacro.c (_cpp_builtin_macro_text) [BT_TIME, BT_DATE]:
16620 Check for failing time()/localtime(), issue a warning, and
16621 make __TIME__ and __DATE__ expand to fallback strings.
16622
16623 * doc/cpp.texi, doc/extend.texi: Document behavior of __DATE__
16624 and __TIME__ when the date and time cannot be determined.
16625
f4857b9b
AM
166262002-08-02 Alan Modra <amodra@bigpond.net.au>
16627
16628 * config/rs6000/rs6000.c (output_cbranch): Hint differently for power4.
16629
77ca7b2e
DJ
166302002-08-01 Daniel Jacobowitz <drow@mvista.com>
16631
16632 * Makefile.in ($(BUILD_PREFIX_1)ggc-none.o): Use $(GGC_H).
16633
5b552f76
CD
166342002-08-01 Chris Demetriou <cgd@broadcom.com>
16635
16636 * config.gcc (mipsisa64sb1-*-elf*): New configuration.
16637 (mipsisa64sb1el-*-elf*): Likewise.
16638 * config/mips/mips.c (mips_cpu_info_table): Add sb1.
16639 * config/mips/mips.h (processor_type): Add PROCESSOR_SB1.
16640 (TARGET_SB1, TUNE_SB1): New macros.
16641 * doc/invoke.texi: Add sb1 to documentation for MIPS -march and
16642 -mtune flags.
16643
54fbf6a1
DE
166442002-08-01 David Edelsohn <edelsohn@gnu.org>
16645
16646 * varasm.c (asm_emit_uninitialized): Return false if global BSS
16647 and ASM_EMIT_BSS not supported by target.
16648 (assemble_variable): Do not duplicate uninitialized logic.
16649 Fall through if asm_emit_uninitialized failed.
16650
3d16b407
CD
166512002-08-01 Chris Demetriou <cgd@broadcom.com>
16652
16653 * config/mips/mips.h (BRANCH_LIKELY_P): Remove unused macro.
16654
fb52d8de
AM
166552002-08-02 Alan Modra <amodra@bigpond.net.au>
16656
80926cc1
AM
16657 * config/rs6000/linux64.h (DBX_OUTPUT_BRAC): Define.
16658 (DBX_OUTPUT_LBRAC, DBX_OUTPUT_RBRAC): Define.
16659
fb52d8de
AM
16660 * config/rs6000/rs6000.c (output_toc): Don't use lshift_double when
16661 HOST_BITS_PER_WIDE_INT == 64.
16662
a4b5414c
KG
166632002-08-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
16664
16665 * df.c (df_insn_table_realloc): Change parameter to unsigned.
16666 * optabs.c (expand_binop): Make variable unsigned.
16667 * simplify-rtx.c (simplify_subreg): Likewise.
16668 * unroll.c (unroll_loop): Cast to avoid signed/unsigned warnings.
16669
a03e67c3
FS
166702002-08-01 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
16671
16672 * c-common.c (cb_register_builtins): Always define __GXX_ABI_VERSION.
16673
de273d3f
RH
166742002-08-01 Richard Henderson <rth@redhat.com>
16675
56da7207 16676 * toplev.c (parse_options_and_default_flags): Don't set
de273d3f
RH
16677 flag_reorder_blocks for -Os.
16678
16679 * config/avr/avr.c (avr_optimization_options): Remove.
16680 * config/avr/avr.h (OPTIMIZATION_OPTIONS): Remove.
16681 * config/m68hc11/m68hc11.c (m68hc11_optimization_options): Remove.
16682 * config/m68hc11/m68hc11.h (OPTIMIZATION_OPTIONS): Remove.
16683
4e4d733e
L
166842002-08-01 H.J. Lu <hjl@gnu.org>
16685 Richard Henderson <rth@redhat.com>
16686
16687 * output.h (DECL_READONLY_SECTION): Remove.
16688 (decl_readonly_section): Declare.
16689 * varasm.c (decl_readonly_section): New.
16690 (default_section_type_flags, default_select_section): Use it.
16691 * config/arm/pe.c (arm_pe_unique_section): Likewise.
16692 * config/i386/interix.c (i386_pe_unique_section): Likewise.
16693 * config/i386/winnt.c (i386_pe_unique_section): Likewise.
16694 * config/mcore/mcore.c (mcore_unique_section): Likewise.
16695 * config/mips/mips.c (mips_unique_section): Likewise.
16696
32e9b960
RH
166972002-08-01 Richard Henderson <rth@redhat.com>
16698
16699 * integrate.c (copy_rtx_and_substitute): Squash MEM_EXPR when it
16700 refers to a subroutine parameter.
16701
81e602b5
JJ
167022002-08-01 Jakub Jelinek <jakub@redhat.com>
16703
16704 * varasm.c (assemble_visibility): Strip name encoding.
16705
ac14c725
ID
167062002-08-01 Ian Dall <ian@sibyl.beware.dropbear.id.au>
16707
16708 * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE): Correct earlier patch.
16709 (RETURN_ADDR_RTX): Cannot determine return address for FRAME > 0
16710 when there is no frame pointer.
16711 (INITIAL_FRAME_POINTER_OFFSET): Count stack space for saved fp
16712 registers properly.
16713 * config/ns32k/__unorddf2.c: New file.
16714 * config/ns32k/__unordsf2.c: New file.
16715 * config/ns32k/t-ns32k: New file.
16716 * config.gcc (ns32k-*-netbsd*): Use it.
16717
17072732
AH
167182002-08-01 Aldy Hernandez <aldyh@redhat.com>
16719
16720 * config/rs6000/rs6000.h (SPU_CONST_OFFSET_OK): Change to 0xff.
16721
c288218a
NB
167222002-08-01 Neil Booth <neil@daikokuya.co.uk>
16723
16724 * c-common.c (__GXX_ABI_VERSION): Correct spelling.
16725
43bfc248
BK
167262002-08-01 Benjamin Kosnik <bkoz@redhat.com>
16727
16728 * c-common.c (cb_register_builtins): Set __GXX_ABI_VERSION__ to 102.
16729
479f2cea
RS
167302002-08-01 Richard Sandiford <rsandifo@redhat.com>
16731
16732 * config/mips/mips.md: Add [!]TARGET_MIPS16 to sgtu conditions.
16733
02280659
ZD
167342002-08-01 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
16735
16736 * gcse.c (expr_hash_table_size, n_exprs, set_hash_table_size,
16737 n_sets): Removed.
16738 (expr_hash_table, set_hash_table): Type changed to ...
16739 (struct hash_table): New type.
16740 (hash_scan_insn, hash_scan_set, hash_scan_clobber, hash_scan_call,
16741 insert_expr_in_table, insert_set_in_table, compute_hash_table,
16742 dump_hash_table, lookup_expr, lookup_set, compute_local_properties,
16743 compute_ae_gen, compute_ae_kill): Modified to pass the table explicitly.
16744 (alloc_set_hash_table, alloc_expr_hash_table): Merged to ...
16745 (alloc_hash_table): New.
16746 (free_set_hash_table, free_expr_hash_table): Merged to ...
16747 (free_hash_table): New.
16748 (compute_set_hash_table, compute_expr_hash_table): Merged to ...
16749 (compute_hash_table_work): New.
16750 (classic_gcse, one_classic_gcse_pass, compute_cprop_data,
16751 find_avail_set, one_cprop_pass, find_bypass_set, compute_pre_data,
16752 pre_edge_insert, pre_insert_copies, pre_delete, pre_gcse,
16753 one_pre_gcse_pass, compute_transpout, compute_code_hoist_vbeinout,
16754 hoist_code, one_code_hoisting_pass,
16755 trim_ld_motion_mems): Altered due to changed type of hash tables.
16756
905173eb
ZW
167572002-08-01 Zack Weinberg <zack@codesourcery.com>
16758
16759 * final.c (output_alternate_entry_point):
16760 If ASM_OUTPUT_TYPE_DIRECTIVE is defined, use it.
16761
83321d36
KG
167622002-08-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
16763
ad0f1765
KG
16764 * objc/objc-act.c (encode_complete_bitfield): Add prototype and
16765 avoid ISO C style function definition.
16766
83321d36
KG
16767 * expr.c (expand_assignment): Delete unused variable.
16768
73e42cf3
TM
167692002-08-01 Toon Moene <toon@moene.indiv.nluug.nl>
16770
16771 * c-common.c (cb_register_builtins): Set
16772 __FINITE_MATH_ONLY__ to 1 if -ffinite-math-only
16773 is given, and to 0 otherwise.
16774 * combine.c (simplify_if_then_else): HONOR_NANS
16775 implies FLOAT_MODE_P.
16776
78df51fe
NB
167772002-08-01 Neil Booth <neil@daikokuya.co.uk>
16778
16779 * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_dollar.
16780 (cpp_handle_option): Don't handle it.
16781 (print_help): Update.
16782 * doc/cppopts.texi: Update.
16783
abecfc8f
NB
167842002-08-01 Neil Booth <neil@daikokuya.co.uk>
16785
16786 * c-common.c (cb_register_builtins): If C++, define
16787 __EXCEPTIONS, __DEPRECATED and __GXX_ABI_VERSION as appropriate.
16788 * gcc.c (cpp_unique_options): Remove __GXX_ABI_VERSION.
16789cp:
16790 * lang-specs.h: Simplify in accordance with new code in
16791 c-common.c.
16792
4078b403
NB
167932002-08-01 Neil Booth <neil@daikokuya.co.uk>
16794
16795 * c-common.c: Define all C/ObjC/C++ warning and flag variables.
16796 * c-common.h: Declare all C/ObjC/C++ warning and flag variables.
16797 * c-decl.c: Move all warning and flag variables to c-common.c.
16798 * c-format.c: Move all warning variables to c-common.c.
16799 * c-tree.h: Move all warning and flag declarations to c-common.h.
16800 * objc/objc-act.c: Move all warning variables to c-common.c.
16801 (flag_warn_protocol): Rename warn_protocol.
16802
692f5611
JDA
168032002-07-31 John David Anglin <dave@hiauly1.hia.nrc.ca>
16804
16805 * pa-linux.h (GLOBAL_ASM_OP): Fix typo.
16806
c7a009a2 168072002-07-31 Graham Stott <graham.stott@btinternet.com>
480e7ded 16808
905173eb 16809 * config/stormy16/stormy16.h (BSS_SECTION_ASM_OP): Add missing
480e7ded
GS
16810 .section prefix.
16811
b069de3b
SS
168122002-07-31 Stan Shebs <shebs@apple.com>
16813
16814 * config.gcc (i[34567]86-*-darwin*): New configuration.
16815 * config/darwin.h (TARGET_ENCODE_SECTION_INFO): Undefine before
16816 defining.
16817 (TARGET_ENCODE_SECTION_INFO): Ditto.
16818 (ASM_PREFERRED_EH_DATA_FORMAT): Ditto.
16819 * config/darwin.c (machopic_indirect_data_reference): Remove
16820 setting of RTX_UNCHANGING_P.
16821 (machopic_legitimize_pic_address): Move RTX_UNCHANGING_P up so as
16822 not to be applied to sums.
16823 * config/i386/t-darwin: New file.
16824 * config/i386/darwin.h: New file.
16825 * config/i386/i386.h (TARGET_MACHO): Add default definition.
16826 * config/i386/i386.md (tablejump): Add TARGET_MACHO case.
16827 * config/i386/i386.c (output_set_got): For Mach-O, output Mach-O
16828 label and not the GOT add.
16829 (constant_address_p): For Mach-O, seeing a CONST is enough.
16830 (legitimate_pic_address_disp_p): Add a Mach-O case.
16831 (legitimate_address_p): Also test machopic_operand_p if Mach-O.
16832 (legitimize_pic_address): Use generic Mach-O code to legitimize.
16833 (output_pic_addr_const): Suppress @PLT if Mach-O, and parens
16834 if outputting a difference.
16835 (ix86_output_addr_diff_elt): Add Mach-O case.
16836 (ix86_expand_move): Similarly.
16837 (ix86_expand_call): Similarly.
16838 (current_machopic_label_num): New global.
16839 (machopic_output_stub): New function.
16840 (ix86_value_regno): New function.
16841 (ix86_function_value): Use it instead of VALUE_REGNO.
16842 (ix86_libcall_value): Ditto.
16843 * config/i386/unix.h (VALUE_REGNO): Remove.
16844
1de4ecb6
GS
168452002-07-31 Graham Stott <grahas@btinternet.com>
16846
16847 * config/rs6000/rs6000.c(rs6000_hash_constant): Fix
905173eb 16848 hash for LABEL_REF's.
1de4ecb6 16849
23368455
GS
168502002-07-31 Graham Stott <grahams@btinternet.com>
16851
16852 * config/rs6000/rs6000.c (spe_init_builtins,
16853 altivec_init_builtins, rs6000_common_init_builtins):
905173eb 16854 Replace ANSI with K&R function def.
23368455 16855
ad72b533
DE
168562002-07-31 David Edelsohn <edelsohn@gnu.org>
16857
16858 * rs6000.c (validate_condition_mode): Test flag_finite_math_only
16859 for CCFPmode.
16860
302359da
RS
168612002-07-31 Richard Sandiford <rsandifo@redhat.com>
16862
16863 * config/mips/crtn.asm: Don't use __mips16 to determine the
16864 return-address offset. Define RA to a suitable temporary
16865 register for the return address.
16866
ead0c1d5
RS
168672002-07-31 Richard Sandiford <rsandifo@redhat.com>
16868
16869 * config/mips/mips.md (eh_set_lr_si, eh_set_lr_di): Change
16870 constraints to 'd'.
16871
3fb9d48a
CD
168722002-07-30 Chris Demetriou <cgd@broadcom.com>
16873
16874 * config/mips/elf.h (STARTFILE_SPEC): Define differently if
16875 default ABI is MEABI. (Undoes incorrect change in Eric Christopher's
16876 patch on 2002-07-29.)
16877 * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
16878
072cdaed
KG
168792002-07-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
16880
506a61b1
KG
16881 * alpha.h, arc.h, arm/aout.h, avr.h, cris.h, d30v.h, dsp16xx.h,
16882 fr30.h, h8300.h, i370.h, i386/sco5.h, i386/unix.h, i960.h, ia64.h,
16883 ip2k.h, m32r.h, mcore.h, mips.h, mn10200.h, mn10300.h, ns32k.h,
16884 openbsd.h, pa/pa-linux.h, pdp11.h, romp.h, rs6000/sysv4.h,
16885 s390/linux.h, sh.h, sparc.h, stormy16.h, v850.h, vax.h, xtensa.h:
16886 (ASM_GLOBALIZE_LABEL): Delete.
16887 (GLOBAL_ASM_OP): Define.
16888
072cdaed 16889 * m68hc11.h, m68k.h, m88k.h (ASM_GLOBALIZE_LABEL): Delete.
905173eb 16890
072cdaed
KG
16891 * defaults.h (ASM_GLOBALIZE_LABEL): Provide a default.
16892 * doc/tm.texi (ASM_GLOBALIZE_LABEL): Update docs.
16893
6fd14075
GK
168942002-07-30 Geoffrey Keating <geoffk@redhat.com>
16895
16896 * doc/extend.texi (Hints implementation): Document that GCC
16897 mostly ignores `register'.
16898
2e8f2e8f
TM
168992002-07-30 Toon Moene <toon@moene.indiv.nluug.nl>
16900
16901 * flags.h: Declare flag_finite_math_only.
16902 Use it in definition of HONOR_NANS and
16903 HONOR_INFINITIES.
16904 * c-common.c (cb_register_builtins): Emit
16905 __FINITE_MATH_ONLY__ when flag_finite_math_only
16906 is set.
16907 * combine.c (simplify_if_then_else): If
16908 flag_finite_math_only is set, a == b has a
16909 definite value.
16910 * toplev.c: Initialize flag_finite_math_only.
16911 (set_flags_fast_math): Set it on -ffast-math.
16912 (flag_fast_math_set_p): Test it.
16913 * doc/invoke.texi: Document -ffinite-math-only.
16914
a538e580
RH
169152002-07-30 Richard Henderson <rth@redhat.com>
16916
16917 * ifcvt.c (noce_get_alt_condition): Use reg_overlap_mentioned_p.
16918 (noce_process_if_block): Likewise.
16919
26e20555
BS
169202002-07-30 Bernd Schmidt <bernds@redhat.com>
16921
16922 * ifcvt.c (cond_exec_process_if_block): Fix a merging error.
16923 Bail out early if false_expr is NULL and we'd crash due to this.
79cbc1f7
BS
16924 * genemit.c (gen_expand): Recognize return insns even if the return
16925 appears in a parallel.
d8088c6f
BS
16926 * libgcc2.c: Expand macro DECLARE_LIBRARY_RENAMES if it is defined.
16927 * config/fp-bit.c: Likewise.
16928 * doc/tm.texi: Document it.
905173eb 16929
0559cc77
DE
169302002-07-30 David Edelsohn <edelsohn@gnu.org>
16931 Zack Weinberg <zack@codesourcery.com>
16932
16933 * rs6000.c (rs6000_expand_unop_builtin): Check icode not
16934 CODE_FOR_nothing. Change switch to if.
16935 (rs6000_expand_binop_builtin): Same.
16936 (rs6000_expand_builtin): Expand builtin if target support enabled.
16937 (rs6000_init_builtins): Init builtin if target support enabled.
16938 (rs6000_common_init_builtins): Check icode not CODE_FOR_nothing.
16939
60b8aa94
FS
169402002-07-30 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
16941
16942 * gcc.c (cpp_unique_options): Define __GXX_ABI_VERSION, bump it to 101.
16943
714fb710
RS
169442002-07-30 Richard Sandiford <rsandifo@redhat.com>
16945
16946 * config/mips/mips.h (SUBTARGET_ASM_DEBUGGING_SPEC): Fix typo.
16947
c608a684
R
16948Tue Jul 30 18:31:31 2002 J"orn Rennecke <joern.rennecke@superh.com>
16949
16950 * sh.md (cond_delay_slot): New attribute.
16951 (cbranch delay): Use it for anulled-true case.
16952 (stuff_delay_slot): New pattern.
16953 * sh.c (print_operand, case '.'): Don't print .s / /s fore zero-length
16954 delay slot insn.
16955 (gen_far_branch): Emit stuff_delay_slot pattern.
16956
0a756401
R
16957Tue Jul 30 11:21:44 2002 J"orn Rennecke <joern.rennecke@superh.com>
16958
16959 * unroll.c (copy_loop_body): Don't copy NOTE_INSN_LOOP_CONT.
16960
68e82b83
KH
169612002-07-30 Kazu Hirata <kazu@cs.umass.edu>
16962
16963 * fold-const.c: Fix comment typos.
16964 * gcse.c: Likewise.
16965 * reload1.c: Likewise.
16966
fe6b547a
AH
169672002-07-29 Aldy Hernandez <aldyh@redhat.com>
16968
16969 * config/rs6000/rs6000.md: Disallow CCEQ compare with crnor/crnot
16970 for TARGET_SPE.
16971
7ff4a7ef
GDR
169722002-07-30 Gabriel Dos Reis <gdr@nerim.net>
16973
16974 * c-pretty-print.h (pp_c_statement): Declare.
16975 * c-pretty-print.c (pp_c_postfix_expression): #if 0 support for SRCLOC.
16976 (pp_c_statement): Define.
16977
4ad5e05d
KG
169782002-07-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
16979
16980 * alpha.h, arc.h, arm/aout.h, avr.h, c4x.h, cris.h, d30v.h,
16981 darwin.h, dsp16xx.h, fr30.h, h8300.h, i370.h, i386.h, i960.h,
16982 ip2k.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mips.h,
16983 mn10200.h, mn10300.h, ns32k.h, pa/pa-linux.h, pdp11.h, romp.h,
16984 rs6000/sysv4.h, s390/linux.h, sh.h, sparc.h, stormy16.h,
16985 v850.h, vax.h, xtensa.h (ASM_OUTPUT_LABEL): Delete definition.
16986
16987 * defaults.h (ASM_OUTPUT_LABEL): Provide a default.
16988 * doc/tm.texi (ASM_OUTPUT_LABEL): Update docs.
16989
1e6a3e1e
GDR
169902002-07-30 Gabriel Dos Reis <gdr@nerim.net>
16991
16992 * c-pretty-print.c (pp_c_primary_expression): Handle STMT_EXPR.
16993 (pp_c_postfix_expression): Handle ARROW_EXPR, FFS_EXPR,
16994 COMPOUND_LITERAL_EXPR, VA_ARG_EXPR.
16995 (pp_c_expression): Update.
16996
1dcd444b
KG
169972002-07-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
16998
16999 * alpha/vms-cc.c (preprocess_args, main): Use xstrdup and/or
17000 concat in lieu of xmalloc/strcpy/memcpy/sprintf.
17001 * alpha/vms-ld.c (main): Likewise.
17002 * dsp16xx.c (double_reg_to_memory): Likewise.
17003 * mcore.c (mcore_expand_prolog): Likewise.
17004 * cppfiles.c (read_name_map): Likewise.
17005 * gensupport.c (process_rtx, identify_predicable_attribute,
17006 alter_test_for_insn): Likewise.
17007 * vmsdbgout.c (write_rtnbeg, vmsdbgout_init): Likewise.
17008
e62f4abc
RS
170092002-07-29 Roger Sayle <roger@eyesopen.com>
17010
17011 * builtins.c (expand_builtin): Change the default behavior to
905173eb 17012 only issue an error if the builtin function doesn't have a
e62f4abc
RS
17013 fallback library call. Remove several cases handled by the
17014 new default.
17015
0cd2fb44
JDA
170162002-07-29 John David Anglin <dave@hiauly1.hia.nrc>
17017
17018 * real.c (ieee_24, ieee_53, ieee_64, ieee_113): Define only if the
17019 floating point format of the target is IEEE.
17020 * (dec_f, dec_d, dec_g, dec_h): Define only if the floating point
17021 format of the target is DEC.
17022
b642261e
RH
170232002-07-29 Richard Henderson <rth@redhat.com>
17024
17025 * unroll.c (verify_addresses): Remove.
17026 (find_splittable_givs): Never split DEST_ADDR givs.
17027
cba57c9d
GK
170282002-07-29 Geoffrey Keating <geoffk@redhat.com>
17029
17030 * doc/gty.texi (GGC Roots): Clarify that the list of syntaxes
17031 is exhaustive.
17032 (Files): Improve documentation on generated source files.
17033
17034 * doc/extend.texi (Translation implementation): Document what
17035 diagnostics look like.
17036 (Identifiers implementation): Document that there's normally no
17037 limit on identifier names.
17038 (Integers implementation): Document two's complement.
8d9afc4e 17039 (Hints implementation): Document that GCC honors 'inline', mostly.
cba57c9d
GK
17040 (Preprocessing directives implementation): Document that GCC
17041 requires the current time.
17042
76a8ecba
GDR
170432002-07-30 Gabriel Dos Reis <gdr@nerim.net>
17044
17045 * c-pretty-print.h (struct c_pretty_print_info): Add new member.
17046 (pp_initializer): New macro.
17047 (pp_c_initializer): Declare.
17048 * c-pretty-print.c (pp_c_primary_expression): HAndle TARGET_EXPR.
17049 (pp_c_initializer): Define.
17050 (pp_c_initializer_list): New function.
17051 (pp_c_postfix_expression): Handle ABS_EXPR, COMPLEX_CST,
17052 VECTOR_CST, CONSTRUCTOR.
17053 (pp_c_unary_expression): Handle CONJ_EXPR, REALPART_EXPR,
905173eb 17054 IMAGPART_EXPR.
76a8ecba
GDR
17055 (pp_c_cast_expression): Handle FLOAT_EXPR.
17056 (pp_c_assignment_expression): Handle INIT_EXPR.
17057 (pp_c_expression): Update.
17058
4307be72
NB
170592002-07-30 Neil Booth <neil@daikokuya.co.uk>
17060
17061 * objc/objc-act.c (objc_init): Return immediately if filename
17062 is NULL.
17063
6d439235
EC
170642002-07-29 Eric Christopher <echristo@redhat.com>
17065
905173eb
ZW
17066 * config/mips/elf.h: Remove ecoff.h and gofast includes.
17067 (DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO): Define unconditionally.
17068 (SDB_DEBUGGING_INFO): Undefine.
17069 (PREFERRED_DEBUGGING_TYPE): Set to DWARF2_DEBUG.
6d439235
EC
17070 (PUT_SDB_SIZE): Remove.
17071 (SUBTARGET_ASM_DEBUGGING_SPEC): Redefine.
905173eb
ZW
17072 (STARTFILE_SPEC): Add isa3264 define.
17073 * config/mips/elf64.h: Ditto. Move TARGET_MEM_FUNCTIONS from here...
17074 * config/mips/ecoff.h: Remove. and here...
17075 * config/mips/iris3.h: and here...
17076 * config/mips/sni-svr4.h: and here...
17077 * config/mips/mips.h: To here. Remove OBJECT_FORMAT_ROSE ifdefs.
6d439235
EC
17078 Add assembler -mmdebug options for non-dwarf debugging.
17079 * config/mips/r3900.h: Remove debug info defines.
905173eb
ZW
17080 * config/mips/isa32-linux.h: Remove, move functionality to config.gcc.
17081 * config/mips/isa3264.h: Ditto.
17082 * config/mips/t-isa3264: Fix up for file removal and gofast configure
17083 change.
17084 * config/mips/t-elf: Ditto.
17085 * config/mips/t-ecoff: Ditto.
17086 * config/mips/t-r3900: Ditto.
17087 * config/mips/t-iris5-6: Ditto.
17088 * config/mips/t-isa3264: Ditto.
17089 * config/mips/t-linux: Remove.
17090 * config/mips/t-netbsd: Remove.
17091 * config/mips/t-mips: New file.
17092 * config/mips/t-gofast: Ditto.
17093 * config/mips/netbsd.h: Remove unnecessary undefines.
17094 * config/mips/linux.h: Remove #include of mips.h.
17095 * config.gcc: Add mips.h include for elf targets. Remove tm_file
17096 for ecoff. Add gofast configure option for mips.
6d439235 17097
4357a6c3
CD
170982002-07-29 Chris Demetriou <cgd@broadcom.com>
17099
17100 * configure.in (mips*-*-*): Add a test to see if MIPS libgloss
17101 linker scripts use STARTUP directives consistently.
17102 * configure: Regenerate.
17103 * config.in: Regenerate.
17104 * config/mips/elf.h (STARTFILE_SPEC): Define conditionally, based
17105 on whether HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is defined.
17106 * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
17107 * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine if
17108 HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is set; the result
17109 will be the same.
17110
9a5cd606
AH
171112002-07-29 Aldy Hernandez <aldyh@redhat.com>
17112
17113 * config/rs6000/rs6000.md ("cpu"): Add ppc8540 to attribute.
17114
a23acaa6
AH
171152002-07-29 Aldy Hernandez <aldyh@redhat.com>
17116
17117 * config/rs6000/rs6000.h (RTX_COSTS): Add MULT case for 8540.
17118
10ed84db
AH
171192002-07-29 Aldy Hernandez <aldy@quesejoda.com>
17120
17121 * config/rs6000/rs6000.md: Move altivec patterns from here...
17122
17123 * config/rs6000/altivec.md: ...to here.
17124
c3021e5d
AH
171252002-07-29 Aldy Hernandez <aldyh@redhat.com>
17126
17127 * config/rs6000/spe.md ("spe_evmra"): Change to unspec.
17128
6f1087be
RH
171292002-07-29 Richard Henderson <rth@redhat.com>
17130
17131 * emit-rtl.c (set_mem_attributes_minus_bitpos): Rename from
17132 set_mem_attributes and add BITPOS argument. Subtract it from
17133 OFFSET when same is adjusted.
17134 (set_mem_attributes): New wrapper function.
17135 * expr.c (expand_assignment): Use set_mem_attributes_minus_bitpos;
17136 remove offset adjustment hack.
17137 * expr.h (set_mem_attributes_minus_bitpos): Declare.
17138
61ccbcfd
GDR
171392002-07-29 Gabriel Dos Reis <gdr@nerim.net>
17140
17141 * Makefile.in (C_OBJS): Include c-pretty-print.o
17142 (c-pretty-print.o): Add depency rule.
17143 * pretty-print.h: Add more macros.
17144 * c-pretty-print.c: New file.
17145 * c-pretty-print.h: Likewise.
17146
09101f56
AH
171472002-07-29 Aldy Hernandez <aldyh@redhat.com>
17148
17149 * config/rs6000/spe.h (__internal_ev_mwhgumian): Cast vector
17150 constants to __ev64_s32__.
17151 (__internal_ev_mwhgsmian): Same.
17152 (__internal_ev_mwhgsmfan): Same.
17153 (__internal_ev_mwhgssfan): Same.
17154 (__internal_ev_mwhgumiaa): Same.
17155 (__internal_ev_mwhgsmiaa): Same.
17156 (__internal_ev_mwhgsmfaa): Same.
17157 (__internal_ev_mwhgssfaa): Same.
17158
af673a52
DE
171592002-07-29 David Edelsohn <edelsohn@gnu.org>
17160
17161 * varasm.c (assemble_variable): Narrow test for uninitialized
17162 without BSS target support.
17163
6c208acd
NS
171642002-07-29 Nathan Sidwell <nathan@codesourcery.com>
17165
17166 * profile.c: Add file comment describing the overall algorithm and
17167 structures.
17168 (struct edge_info): Add comments.
17169 (struct bb_info): Add comments.
17170 * basic-block.h (EDGE_*): Add comments.
17171 * doc/gcov.texi (Gcov Data Files): Document bit flags.
17172
624f0d60
BW
171732002-07-29 Bob Wilson <bob.wilson@acm.org>
17174
17175 * config/xtensa/elf.h, config/xtensa/linux.h
17176 (TARGET_OS_CPP_BUILTINS): Define.
17177 (CPP_PREDEFINES): Remove.
17178 * config/xtensa/xtensa.h (TARGET_CPU_CPP_BUILTINS): Define.
17179 (CPP_SPEC): Remove.
17180
2199e5fa
ZW
171812002-07-29 Zack Weinberg <zack@codesourcery.com>
17182
17183 * gensupport.c: Include hashtab.h.
17184 (insn_elision, condition_table, hash_c_test, cmp_c_test,
17185 maybe_eval_c_test): New routines and data structures to
17186 support insn elision.
17187 (init_md_reader): Read and initialize the condition_table.
17188 (read_md_rtx): Discard insn patterns whose C test is provably
17189 always false.
17190 * gensupport.h: Declare new functions and data structures.
17191
17192 * genconditions.c, dummy-conditions.c: New files.
17193 * Makefile.in: Build genconditions; run it to construct
17194 insn-conditions.c; build that and link it into most gen*
17195 programs.
17196 (HOST_SUPPORT, HOST_EARLY_SUPPORT): New variables.
17197 (GEN): Delete, unused.
17198 (STAGESTUFF): Update.
17199
17200 * gencodes.c: (gen_insn): #define CODE_FOR_xxx equal to
17201 CODE_FOR_nothing for all elided patterns.
17202 (main): Tweaked to support this.
17203 * genflags.c (gen_proto): Emit a static inline generator
17204 function here for all elided patterns, which simply returns
17205 NULL_RTX.
17206 (gen_insn): Do not define HAVE_xxx for elided patterns.
17207 (main): Tweaked to support this. No need to forward-declare
17208 struct rtx_def.
17209 * genrecog.c: Do not bother emitting the C test if it's known
17210 to be true at compile time.
17211
6ab185d6
MS
172122002-07-29 Mike Stump <mrs@apple.com>
17213
6d439235 17214 * config.gcc (target_gtfiles): Initialize, as otherwise cross
2199e5fa 17215 compilers hosted on powerpc-apple-darwin6.0 won't even build.
6ab185d6 17216
72b075d1
RE
172172002-07-29 Richard Earnshaw <rearnsha@arm.com>
17218
17219 * arm.md (sibcall, sibcall_value): Add RETURN as part of the pattern,
17220 remove clobber of LR.
17221 (sibcall_insn, sibcall_value_insn): Update accordingly.
17222 (sibcall_epilogue): Remove debugging comment from assembler stream.
17223
f63c45ec
GDR
172242002-07-29 Gabriel Dos Reis <gdr@nerim.net>
17225
17226 * pretty-print.h: Define more macros.
17227 * diagnostic.h (output_formatted_integer): Moved from...
17228 * diagnostic.c: ... here.
17229
c27c15db
KG
172302002-07-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17231
17232 * stormy16.h (ASM_OUTPUT_SYMBOL_REF): Use ASM_OUTPUT_LABEL_REF.
17233
99086d59
ZW
172342002-07-28 Zack Weinberg <zack@codesourcery.com>
17235
17236 * defaults.h (ASM_OUTPUT_MEASURED_SIZE): Take only two
17237 arguments. Always use ".-symbol" as expression argument.
17238 * doc/tm.texi: Update to match. Document requirement for
17239 ".size symbol, .-symbol" to be acceptable to assembler.
17240
17241 * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
17242 config/arm/elf.h, config/avr/avr.h, config/cris/aout.h,
17243 config/i386/freebsd-aout.h, config/i386/sco5.h,
17244 config/ip2k/ip2k.h, config/m88k/m88k.h, config/xtensa/elf.h,
17245 config/xtensa/linux.h: Update uses of ASM_OUTPUT_MEASURED_SIZE.
17246
dd86aabf
KG
172472002-07-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17248
6fd327e9
KG
17249 * Makefile.in (gengtype-lex.c): Fix error in last change.
17250
8155cedd
KG
17251 * alpha/freebsd.h (TARGET_OS_CPP_BUILTINS): Add missing
17252 backslash.
17253
dd86aabf
KG
17254 * Makefile.in (vmsdbgout.o): Depend on function.h.
17255
17256 * vmsdbgout.c: Include function.h.
17257
d4348177
AM
172582002-07-28 Alan Modra <amodra@bigpond.net.au>
17259
17260 * prefix.c (update_path): Don't strip single `.' path components
17261 unless stripping a later `..' component. Exit loop as soon as
17262 a valid path is found.
17263
c2ef6d34
RS
172642002-07-27 Roger Sayle <roger@eyesopen.com>
17265
17266 * builtins.def [DEF_GCC_BUILTIN]: Require an explicit ATTRS
17267 argument. Mark BUILT_IN_RETURN, BUILT_IN_EH_RETURN,
17268 BUILT_IN_LONGJMP and BUILT_IN_TRAP as noreturn, the ISO C99
17269 floating point unordered comparisons (e.g. __builtin_isgreater)
17270 as const, and leave the remaining GCC_BUILTINs unchanged.
17271
17272 * c-decl.c (builtin_function): No need to explicitly mark
17273 BUILT_IN_RETURN and BUILT_IN_EH_RETURN as noreturn.
17274
52bfebf0
RS
172752002-07-27 Roger Sayle <roger@eyesopen.com>
17276
17277 * Makefile.in: rtlanal.o now depends upon real.h.
17278
17279 * flags.h [flag_signaling_nans]: New flag.
17280 [HONOR_SNANS]: New macro.
17281
17282 * toplev.c [flag_signaling_nans]: Initialize to false.
99086d59 17283 (f_options): Add processing for "-fsignaling-nans".
52bfebf0
RS
17284 (set_fast_math_flags): Clear flag_signaling_nans with -ffast-math.
17285 (process_options): flag_signaling_nans implies flag_trapping_math.
17286
17287 * c-common.c (cb_register_builtins): Define __SUPPORT_SNAN__
17288 when -fsignaling-nans. First step to implementing WG14's N965.
17289
17290 * fold-const.c (fold) [MULT_EXPR]: Conditionalize transforming
17291 1.0 * x into x, and -1.0 * x into -x on !HONOR_SNANS.
17292 [RDIV_EXPR]: Conditionalize x/1.0 into x on !HONOR_SNANS.
17293
17294 * simplify-rtx.c (simplify_relational_operation): Conditionalize
17295 transforming abs(x) < 0.0 into false on !HONOR_SNANS.
17296
17297 * rtlanal.c: #include real.c for TARGET_FLOAT_FORMAT definitions
17298 required by HONOR_SNANS. (may_trap_p): Floating point DIV, MOD,
99086d59
ZW
17299 UDIV, UMOD, GE, GT, LE, LT and COMPARE may always trap with
17300 -fsignaling_nans. EQ and NE only trap for flag_signaling_nans
52bfebf0
RS
17301 not flag_trapping_math (i.e. HONOR_SNANS but not HONOR_NANS).
17302
17303 * doc/invoke.texi: Document new -fsignaling-nans compiler option.
17304
e66f55b8
KG
173052002-07-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17306
17307 * Makefile.in (gengtype-lex.c): Work around a bug in flex.
17308 * gengtype-lex.l (YY_USE_PROTOS): Undef.
17309 (YY_DECL): Define.
17310
a3926fe1
RS
173112002-07-27 Roger Sayle <roger@eyesopen.com>
17312
17313 * doc/invoke.texi: Document that both -fno-builtin-foo and
17314 -fno-builtin are supported by the g++ front-end.
17315
ef69da62
SS
173162002-07-27 Stan Shebs <shebs@apple.com>
17317
17318 * configure.in: Rename config_gtfiles to target_gtfiles.
17319 * configure: Regenerate.
17320 * doc/gty.texi: Update reference.
17321 * config.gcc (powerpc-*-darwin*): Set target_gtfiles
17322 instead of appending to it.
17323
a4b0320c
AH
173242002-07-25 Aldy Hernandez <aldyh@redhat.com>
17325
17326 * config/rs6000/rs6000.c (function_arg_advance): SPE vararg
17327 vectors are split into two registers.
17328 (function_arg): Same.
17329
c427db5d
R
17330Thu Jul 26 23:00:13 2002 J"orn Rennecke <joern.rennecke@superh.com>
17331
17332 * pa.md (extv): Check predicates before emitting extv_32.
17333
57ac7be9
AM
173342002-07-27 Alan Modra <amodra@bigpond.net.au>
17335
17336 * config/rs6000/rs6000.c (rs6000_traceback_name): New var.
17337 (rs6000_traceback): New var.
17338 (rs6000_override_options): Set rs6000_traceback.
17339 (rs6000_output_function_epilogue): Implement traceback options.
17340 * config/rs6000/rs6000.h (TARGET_OPTIONS): Add "traceback=".
17341 (rs6000_traceback_name): Declare.
17342
17343 * config/rs6000/rs6000.c (output_profile_hook): Don't generate profile
17344 label reference when NO_PROFILE_COUNTERS.
17345
8e51619a
JM
173462002-07-26 Jason Merrill <jason@redhat.com>
17347
17348 * function.c (assign_parms): Handle frontend-directed pass by
17349 invisible reference.
17350
b41f25cf
NB
173512002-07-26 Neil Booth <neil@daikokuya.co.uk>
17352
17353 * doc/cppopts.texi: Update.
17354
c2734e05
NB
173552002-07-26 Neil Booth <neil@daikokuya.co.uk>
17356
17357 * cppmacro.c (_cpp_create_definition): Don't attempt redefinition
17358 warnings on assertions.
17359
c372b0fa
NB
173602002-07-26 Neil Booth <neil@daikokuya.co.uk>
17361
17362 * c-common.h (RID_AND, RID_AND_EQ, RID_NOT, RID_NOT_EQ,
17363 RID_OR, RID_OR_EQ, RID_XOR, RID_XOR_EQ, RID_BITAND, RID_BITOR,
17364 RID_COMPL): Remove.
17365 * c-parse.in (rid_to_yy): Similarly.
17366
558ee214
JM
173672002-07-26 Jason Merrill <jason@redhat.com>
17368
17369 * c-dump.c: Resurrect.
17370 * tree-dump.c: Move C-specific stuff to c-dump.c.
17371 * c-common.h: Declare c_dump_tree.
17372 * c-lang.c (LANG_HOOKS_TREE_DUMP_DUMP_TREE_FN): Define.
17373 * Makefile.in (C_AND_OBJC_OBJS): Add c-dump.o.
17374 (c-dump.o): New rule.
17375
ce71f754
AM
173762002-07-26 Alan Modra <amodra@bigpond.net.au>
17377
17378 * config/rs6000/rs6000.md: Enable patterns using rlwinm for
17379 PowerPC64. Replace "T" and "S" constraints with "n" when the
17380 predicate will do. Formatting fixes.
17381 (extzvsi_internal2): Use "andi.", "andis." and attr type of "compare"
17382 as for extzvsi_internal1.
17383
e179e7d7
NB
173842002-07-25 Neil Booth <neil@daikokuya.co.uk>
17385
17386 * dwarfout.c (VERSION_ASM_OP, DERIV_BEGIN_LABEL_FMT,
17387 DERIV_END_LABEL_FMT): Remove.
17388 (SL_BEGIN_LABEL_FMT, SL_END_LABEL_FMT): Move.
17389
a2056183
NB
173902002-07-25 Neil Booth <neil@daikokuya.co.uk>
17391
17392 * objc/objc-act.c (UTAG_STATICS, UTAG_PROTOCOL_LIST, USERTYPE):
17393 Remove.
17394
308c142a
SS
173952002-07-25 Stan Shebs <shebs@apple.com>
17396
17397 * config/rs6000/rs6000.c (rs6000_emit_prologue): Remove unused
17398 local var dwarfp.
17399 (output_compiler_stub): Remove unused locals.
17400 (output_call): Always initialize line number.
17401
59324685
R
17402Thu Jul 25 20:34:50 2002 J"orn Rennecke <joern.rennecke@superh.com>
17403
17404 * sh.h (LOAD_EXTEND_OP): QImode zero-extends on SHmedia.
17405 * sh.md (truncdiqi2, movqi_media): Likewise.
17406
77bbd421
NB
174072002-07-25 Neil Booth <neil@daikokuya.co.uk>
17408
17409 * gcse.c (obstack_chunk_alloc): Remove.
17410 (gcse_alloc): Fix to count allocated bytes.
17411 * collect2.c (SYMBOL__MAIN): Remove.
17412
7bad45b0
NB
174132002-07-25 Neil Booth <neil@daikokuya.co.uk>
17414
17415 * gcc.c (TARGET_EXECUTABLE_SUFFIX): Only used if
17416 HAVE_TARGET_EXECUTABLE_SUFFIX.
17417
184166b5
R
17418Thu Jul 25 18:57:50 2002 J"orn Rennecke <joern.rennecke@superh.com>
17419
17420 * rtl.h (mem_attrs): Spell out more clearly the roles of ALIGN,
17421 SIZE, EXPR and OFFSET.
17422
40cb04f1
RH
174232002-07-25 Richard Henderson <rth@redhat.com>
17424
17425 * emit-rtl.c (set_mem_attributes): Fix size and alignment thinkos
17426 in ARRAY_REF of DECL_P case.
17427
a27fb29b
RS
174282002-07-25 Richard Sandiford <rsandifo@redhat.com>
17429
17430 * doc/invoke.texi: Document -mabi=meabi, and expand on the EABI
17431 description. Document -mips32, -mips64, and the associated -march
17432 values. Describe the "mipsN" arguments to -march. Say that the
17433 -mipsN options are equivalent to -march. Reword the description
17434 of default type sizes.
17435 * toplev.h (target_flags_explicit): Declare.
17436 * toplev.c (target_flags_explicit): New var.
17437 (set_target_switch): Update target_flags_explicit.
17438 * config/mips/abi64.h (SUBTARGET_TARGET_OPTIONS): Undefine.
17439 * config/mips/elf64.h (MIPS_ISA_DEFAULT): Undefine.
17440 * config/mips/iris6.h (SUBTARGET_ASM_SPEC): -mabi=64 implies -mips3.
17441 * config/mips/isa3264.h (MIPS_ENABLE_EMBEDDED_O32): Undefine.
17442 * config/mips/mips.h (mips_cpu_info): New struct.
17443 (mips_cpu_string, mips_explicit_type_size_string): Remove.
17444 (mips_cpu_info_table, mips_arch_info, mips_tune_info): Declare.
17445 (MIPS_CPP_SET_PROCESSOR): New macro.
17446 (TARGET_CPP_BUILTINS): Declare a macro for each supported processor.
17447 Define _MIPS_ARCH and _MIPS_TUNE.
17448 (MIPS_ISA_DEFAULT): Don't provide a default value. Instead...
17449 (MIPS_CPU_STRING_DEFAULT): Set to "from-abi" if neither it nor
17450 MIPS_ISA_DEFAULT were already defined.
17451 (MULTILIB_DEFAULTS): Add MULTILIB_ABI_DEFAULT.
17452 (TARGET_OPTIONS): Remove -mcpu and -mexplicit-type-size.
17453 (ABI_NEEDS_32BIT_REGS, ABI_NEEDS_64BIT_REGS): New.
17454 (GAS_ASM_SPEC): Remove -march, -mcpu, -mgp* and -mabi rules.
17455 (ABI_GAS_ASM_SPEC): Remove.
17456 (MULTILIB_ABI_DEFAULT, ASM_ABI_DEFAULT_SPEC): New macros.
17457 (ASM_SPEC): Add -mgp32, -mgp64, -march, -mabi=eabi and -mabi=o64.
17458 Invoke %(asm_abi_default_spec) if no ABI was specified.
17459 (CC1_SPEC): Remove ISA -> register-size rules.
17460 (EXTRA_SPECS): Remove abi_gas_asm_spec. Add asm_abi_default_spec.
17461 * config/mips/mips.c (mips_arch_info, mips_tune_info): New vars.
17462 (mips_cpu_string, mips_explicit_type_size_string): Remove.
17463 (mips_cpu_info_table): New array.
17464 (mips_set_architecture, mips_set_tune): New fns.
17465 (override_options): Rework to make -mipsN equivalent to -march.
17466 Detect more erroneous cases, including those removed from CC1_SPEC.
17467 Don't change the ABI based on architecture, or vice versa.
17468 Unify logic with GAS.
17469 (mips_asm_file_start): Get architecture name from mips_arch_info.
17470 (mips_strict_matching_cpu_name_p, mips_matching_cpu_name_p): New fns.
17471 (mips_parse_cpu): Take the name of the option as argument. Handle
17472 'from-abi'. Raise an error if the option is wrong.
17473 (mips_cpu_info_from_isa): New fn.
17474
6bbdc759
RS
174752002-07-25 Richard Sandiford <rsandifo@redhat.com>
17476
17477 * config/mips/mips.md (tablejump_mips161): Use gen_rtx_LABEL_REF.
17478 (tablejump_mips162): Likewise.
17479
80a62484
R
17480Thu Jul 25 10:23:41 2002 J"orn Rennecke <joern.rennecke@superh.com>
17481
17482 * simpify-rtx.c (simplify_subreg): Don't pass MODE_CC mode to
17483 int_mode_for_mode.
17484
ea793912
GDR
174852002-07-25 Gabriel Dos Reis <gdr@nerim.net>
17486
17487 * c-common.c (c_sizeof_or_alignof_type): Take a third argument for
99086d59 17488 complaining.
ea793912
GDR
17489 * c-common.h (c_sizeof): Adjust definition.
17490 (c_alignof): Likewise.
17491 * c-tree.h (c_sizeof_nowarn): Now macro.
17492 * c-typeck.c (c_sizeof_nowarn): Remove definition.
17493
2d615444
NB
174942002-07-25 Neil Booth <neil@daikokuya.co.uk>
17495
17496 * c-decl.c (c_decode_option): No need to handle switches
17497 cpplib handles.
17498
2be2ac70
ZW
174992002-07-24 Zack Weinberg <zack@codesourcery.com>
17500
17501 * defaults.h (ASM_OUTPUT_TYPE_DIRECTIVE, ASM_OUTPUT_SIZE_DIRECTIVE,
17502 ASM_OUTPUT_MEASURED_SIZE): New default definitions of new macros.
17503 * doc/tm.texi: Document them. Also document SIZE_ASM_OP,
17504 TYPE_ASM_OP, and TYPE_OPERAND_FMT.
17505
17506 * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
17507 config/alpha/elf.h, config/arm/elf.h, config/avr/avr.h,
17508 config/cris/aout.h, config/i386/freebsd-aout.h,
17509 config/i386/sco5.h, config/ia64/ia64.c, config/ip2k/ip2k.h,
17510 config/m68k/m68kelf.h, config/m68k/m68kv4.h, config/m88k/m88k.h,
17511 config/mcore/mcore-elf.h, config/mips/elf.h, config/mips/elf64.h,
17512 config/mips/iris6.h, config/mips/linux.h, config/pa/pa-linux.h,
17513 config/pa/pa64-hpux.h, config/rs6000/sysv4.h,
17514 config/xtensa/elf.h, config/xtensa/linux.h:
17515 Use the new macros.
17516 Where possible, remove redundant definitions of SIZE_ASM_OP,
17517 TYPE_ASM_OP, and TYPE_OPERAND_FMT.
17518
518878e1
AH
175192002-07-24 Aldy Hernandez <aldyh@redhat.com>
17520
17521 * config/rs6000/eabi.h: Define TARGET_SPE_ABI, TARGET_SPE,
17522 TARGET_ISEL, and TARGET_FPRS.
99086d59 17523
518878e1
AH
17524 * doc/invoke.texi (RS/6000 and PowerPC Options): Document
17525 -mabi=spe, -mabi=no-spe, and -misel=.
17526
17527 * config/rs6000/rs6000-protos.h: Add output_isel.
17528 Move vrsave_operation prototype here.
17529
17530 * config/rs6000/rs6000.md (sminsi3): Allow pattern for TARGET_ISEL.
17531 (smaxsi3): Same.
17532 (uminsi3): Same.
17533 (umaxsi3): Same.
17534 (abssi2_nopower): Disallow when TARGET_ISEL.
17535 (*ne0): Same.
17536 (negsf2): Change to expand and rename old pattern to *negsf2.
17537 (abssf2): Change to expand and rename old pattern to *abssf2.
99086d59 17538
518878e1
AH
17539 New expanders: fix_truncsfsi2, floatunssisf2, floatsisf2,
17540 fixunssfsi2.
17541
17542 Change patterns that check for TARGET_HARD_FLOAT or
17543 TARGET_SOFT_FLOAT to also check TARGET_FPRS.
17544
17545 * config/rs6000/rs6000.c: New globals: rs6000_spe_abi,
17546 rs6000_isel, rs6000_fprs, rs6000_isel_string.
17547 (rs6000_override_options): Add 8540 case to
17548 processor_target_table.
17549 Set rs6000_isel for the 8540.
17550 Call rs6000_parse_isel_option.
17551 (enable_mask_for_builtins): New.
17552 (rs6000_parse_isel_option): New.
17553 (rs6000_parse_abi_options): Add spe and no-spe.
17554 (easy_fp_constant): Treat !TARGET_FPRS as soft-float.
17555 (rs6000_legitimize_address): Check for TARGET_FPRS when checking
17556 for TARGET_HARD_FLOAT.
17557 Add case for SPE_VECTOR_MODE.
17558 (rs6000_legitimize_reload_address): Handle SPE vector modes.
17559 (rs6000_legitimate_address): Disallow PRE_INC/PRE_DEC for SPE
17560 vector modes.
17561 Check for TARGET_FPRS when checking for TARGET_HARD_FLOAT.
17562 (rs6000_emit_move): Check for TARGET_FPRS.
17563 Add cases for SPE vector modes.
17564 (function_arg_boundary): Return 64 for SPE vector modes.
17565 (function_arg_advance): Check for TARGET_FPRS and
17566 Handle SPE vectors.
17567 (function_arg): Same.
17568 (setup_incoming_varargs): Check for TARGET_FPRS.
17569 (rs6000_va_arg): Same.
17570 (struct builtin_description): Un-constify mask field. Move up in
17571 file.
17572 (bdesc_2arg): Un-constify and add SPE builtins.
17573 (bdesc_1arg): Same.
17574 (bdesc_spe_predicates): New.
17575 (bdesc_spe_evsel): New.
17576 (rs6000_expand_unop_builtin): Add SPE 5-bit literal builtins.
17577 (rs6000_expand_binop_builtin): Same.
17578 (bdesc_2arg_spe): New.
17579 (spe_expand_builtin): New.
17580 (spe_expand_predicate_builtin): New.
17581 (spe_expand_evsel_builtin): New.
17582 (rs6000_expand_builtin): Call spe_expand_builtin for SPE.
17583 (rs6000_init_builtins): Initialize SPE builtins. Call
17584 rs6000_common_init_builtins.
17585 (altivec_init_builtins): Move all non-altivec builtin code to...
17586 (rs6000_common_init_builtins): ...here. New function.
17587 (branch_positive_comparison_operator): Allow NE code for SPE.
17588 (ccr_bit): Return correct ccr bit for SPE fp.
17589 (print_operand): Emit crnor in 'D' case for SPE.
17590 New case 't'.
17591 Add SPE code for 'y' case.
17592 (rs6000_generate_compare): Generate rtl for SPE fp.
17593 (output_cbranch): Handle SPE hard floats.
17594 (rs6000_emit_cmove): Handle isel.
17595 (rs6000_emit_int_cmove): New.
17596 (output_isel): New.
17597 (rs6000_stack_info): Adjust stack frame so GPRs are saved in
17598 64-bits for SPE.
17599 (debug_stack_info): Add SPE info.
17600 (gen_frame_mem_offset): New.
17601 (rs6000_emit_prologue): Save GPRs in 64-bits for SPE abi.
17602 Change mode of frame pointer, when saving it, to Pmode.
17603 (rs6000_emit_epilogue): Restore GPRs in 64-bits for SPE abi.
17604 Misc cleanups and use gen_frame_mem_offset when appropriate.
17605
17606 * config/rs6000/rs6000.h (processor_type): Add PROCESSOR_PPC8540.
17607 (TARGET_SPE_ABI): New.
17608 (TARGET_SPE): New.
17609 (TARGET_ISEL): New.
17610 (TARGET_FPRS): New.
17611 (FIXED_SCRATCH): New.
17612 (RTX_COSTS): Add PROCESSOR_PPC8540.
17613 (ASM_CPU_SPEC): Add case for 8540.
17614 (TARGET_OPTIONS): Add isel= case.
17615 (rs6000_spe_abi): New.
17616 (rs6000_isel): New.
17617 (rs6000_fprs): New.
17618 (rs6000_isel_string): New.
17619 (UNITS_PER_SPE_WORD): New.
17620 (LOCAL_ALIGNMENT): Adjust for SPE.
17621 (HARD_REGNO_MODE_OK): Same.
17622 (DATA_ALIGNMENT): Same.
17623 (MEMBER_TYPE_FORCES_BLK): New.
17624 (FIRST_PSEUDO_REGISTER): Set to 113.
17625 (FIXED_REGISTERS): Add SPE registers.
17626 (reg_class): Same.
17627 (REG_CLASS_NAMES): Same.
17628 (REG_CLASS_CONTENTS): Same.
17629 (REGNO_REG_CLASS): Same.
17630 (REGISTER_NAMES): Same.
17631 (DEBUG_REGISTER_NAMES): Same.
17632 (ADDITIONAL_REGISTER_NAMES): Same.
17633 (CALL_USED_REGISTERS): Same.
17634 (CALL_REALLY_USED_REGISTERS): Same.
17635 (SPE_ACC_REGNO): New.
17636 (SPEFSCR_REGNO): New.
17637 (SPE_SIMD_REGNO_P): New.
17638 (HARD_REGNO_NREGS): Adjust for SPE.
17639 (VECTOR_MODE_SUPPORTED_P): Same.
17640 (REGNO_REG_CLASS): Same.
17641 (FUNCTION_VALUE): Same.
17642 (LIBCALL_VALUE): Same.
17643 (LEGITIMATE_OFFSET_ADDRESS_P): Same.
17644 (SPE_VECTOR_MODE): New.
17645 (CONDITIONAL_REGISTER_USAGE): Disable FPRs when target does FP on
17646 the GPRs. Set FIXED_SCRATCH fixed in SPE case.
17647 (rs6000_stack): Add spe_gp_size, spe_padding_size,
17648 spe_gp_save_offset.
17649 (USE_FP_FOR_ARG_P): Check for TARGET_FPRS.
17650 (LEGITIMATE_LO_SUM_ADDRESS_P): Same.
17651 (SPE_CONST_OFFSET_OK): New.
17652 (rs6000_builtins): Add SPE builtins.
17653
17654 * testsuite/gcc.dg/ppc-spe.c: New.
99086d59 17655
518878e1
AH
17656 * config/rs6000/eabispe.h: New.
17657
17658 * config/rs6000/spe.h: New.
17659
17660 * config/rs600/spe.md: New.
17661
17662 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
17663 __SIMD__ for TARGET_SPE.
17664
17665 * config.gcc: Add powerpc-*-eabispe* case.
17666 Add spe.h to user headers for powerpc.
17667
8d1b7ba1
CD
176682002-07-24 Chris Demetriou <cgd@broadcom.com>
17669
17670 * config/mips/elf.h (STARTFILE_SPEC): Undo previous change.
17671 * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
17672 * config/mips/isa3264.h (STARTFILE_SPEC): Likewise.
17673
8ad8135a
RH
176742002-07-24 Richard Henderson <rth@redhat.com>
17675
17676 * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Use GOTO_SUBROUTINE_EXPR
17677 form when not optimizing.
17678
dc44a4d8
DM
176792002-07-24 David Mosberger <davidm@hpl.hp.com>
17680
17681 * config/ia64/ia64.c (gen_thread_pointer): Fix typo in marking
17682 thread_pointer_rtx as unchanging.
17683
c5605318
MM
176842002-07-24 Michael Matz <matz@suse.de>
17685
17686 * ra-colorize.c (INV_REG_ALLOC_ORDER): New macro.
17687 (free_reg): Use it.
17688
3ade30ea
RE
176892002-07-24 Richard Earnshaw <rearnsha@arm.com>
17690
17691 * arm.md (arm_buneq, arm_bltgt): put '\' before ';' in output
17692 pattern.
17693 (arm_buneq_reversed, arm_bltgt_reversed): Likewise.
17694 (movsicc, movsfcc, movdfcc): FAIL if UNEQ or LTGT.
17695
8a3ad737
CD
176962002-07-24 Chris Demetriou <cgd@broadcom.com>
17697
17698 * config/mips/elf.h (STARTFILE_SPEC): Never include crt0.o.
17699 * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
17700 * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine.
17701
7e51e626
JH
17702Wed Jul 24 17:59:12 CEST 2002 Jan Hubicka <jh@suse.cz>
17703
17704 * toplev.c (rest_of_compilation): Dump loops before clobbering
17705 the structure.
17706
5df533b3
JH
17707Wed Jul 24 17:23:16 CEST 2002 Jan Hubicka <jh@suse.cz>
17708
17709 * rtlanal.c (keep_with_call_p): Avoid overflow in fixed_regs.
17710
79258dce
RS
177112002-07-24 Frank van der Linden <fvdl@wasabisystems.com>
17712
17713 PR optimization/7291
17714 * config/i386/i386.c (ix86_expand_clrstr): Fix bzero alignment
17715 problem on x86_64.
17716
26ff2117
GDR
177172002-07-24 Gabriel Dos Reis <gdr@nerim.net>
17718
17719 * pretty-print.h: Add macros from cp/error.c
17720
0ba1b2ff
AM
177212002-07-24 Alan Modra <amodra@bigpond.net.au>
17722
17723 * config/rs6000/rs6000-protos.h (mask_operand_wrap): Declare.
17724 (mask64_2_operand): Declare.
17725 (build_mask64_2_operands): Declare.
17726 (and64_2_operand): Declare.
17727 (extract_MB): Declare.
17728 (extract_ME): Declare.
17729 * config/rs6000/rs6000.c (mask64_operand): Allow all ones. Remove
17730 CONST_DOUBLE code.
17731 (mask_operand_wrap): New insn predicate.
17732 (mask64_2_operand): Likewise.
17733 (and64_2_operand): Likewise.
17734 (build_mask64_2_operands): New function.
17735 (extract_MB): New function.
17736 (extract_ME): New function.
17737 (print_operand <case m,M>): Use extract_MB and extract_ME.
17738 (print_operand <case S>): Allow all ones. Remove CONST_DOUBLE support.
17739 * config/rs6000/rs6000.h (EXTRA_CONSTRAINT): Add 't'.
17740 (PREDICATE_CODES): Add and64_2_operand, mask_operand_wrap and
17741 mask64_2_operand. Remove CONST_DOUBLE from mask64_operand.
17742 * config/rs6000/rs6000.md (andsi3_internal3): New
17743 (andsi3_internal3+1): Enable split for powerpc64.
17744 (andsi3_internal3+2): New split.
17745 (andsi3_internal4): Renamed old andsi3_internal3.
17746 (andsi3_internal5): New.
17747 (andsi3_internal5+1): Enable split for powerpc64.
17748 (andsi3_internal5+2): New split.
17749 (andsi3_internal6, andsi3_internal7, andsi3_internal8): New.
17750 (anddi3): Handle 't' constraint.
17751 (anddi3+1): New split.
17752 (anddi3_internal2): Handle 't' constraint.
17753 (anddi3_internal2+1): New split.
17754 (anddi3_internal3): Handle 't' constraint.
17755 (anddi3_internal3+1): New split.
17756
097657c3
AM
177572002-07-24 Alan Modra <amodra@bigpond.net.au>
17758
17759 * config/rs6000/rs6000.md: Remove scratch reg on insns using
17760 addze and similar (plus (comparison r1 r2) r3) insns. Add
17761 missing scratch reg in one case. Formatting fixes.
17762
a69cbaac
NB
177632002-07-24 Neil Booth <neil@daikokuya.co.uk>
17764
17765 * cppexp.c (parse_defined): Mark macro used.
17766 * cpphash.h (struct cpp_macro): New member "used".
17767 (_cpp_mark_macro_used, _cpp_warn_if_unused_macro): New.
17768 (struct cpp_reader): New member.
17769 * cppinit.c (cpp_finish_options): Set first_unused_line.
17770 (cpp_finish): Warn of unused macros if requested.
17771 (OPT_TABLE): New switches.
17772 (cpp_handle_option): Handle them.
17773 * cpplib.c (do_undef): Warn if macro unused.
17774 (do_ifdef, do_ifndef): Mark macro used.
17775 * cpplib.h (struct cpp_options): New member.
17776 * cppmacro.c (_cpp_warn_if_unused_macro): New.
17777 (enter_macro_context): Mark macro used.
17778 (_cpp_create_definition): Mark macro unused; warn if unused
17779 when redefined.
17780 * cpptrad.c (scan_out_logcial_line, push_replacement_text):
17781 Mark macros used.
17782 * doc/cppopts.texi: Update.
17783
c0667597
NB
177842002-07-23 Neil Booth <neil@daikokuya.co.uk>
17785
17786 * dwarf2out.c (SECTION_ASM_OP,
17787 ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
17788 * system.h (SECTION_ASM_OP): Poison.
17789 * tree.c (FILE_FUNCTION_PREFIX_LEN): Remove.
17790 * config/alpha/alpha-interix.h, config/mips/linux.h
17791 (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
17792 * config/mmix/mmix-protos.h, config/mmix/mmix.c
17793 (mmix_asm_output_define_label_difference_symbol): Remove.
17794 * config/mmix/mmix.h
17795 (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
b841421a 17796 * doc/tm.texi: Remove documentation.
c0667597 17797
bf7cd754
R
17798Tue Jul 23 21:49:24 2002 J"orn Rennecke <joern.rennecke@superh.com>
17799
17800 * recog.c (asm_operand_ok): Allow float CONST_VECTORs for 'F'.
17801 (constrain_operands): Likewise.
17802 * regclass.c (record_reg_classes): Likewise.
17803 * reload.c (find_reloads): Likewise.
17804 * doc/md.texi: Likewise.
451f86fd
R
17805
17806 * reload.c (find_reloads_toplev): Use simplify_gen_subreg.
17807 * simplify-rtx.c (simplify_subreg): When converting to a non-int
17808 mode, try to convert to an integer mode of matching size first.
1d5fa6b4
R
17809
17810 * simplify-rtx.x (simplify_subreg): When constructing a CONST_VECTOR
17811 from individual subregs, check that each subreg has been generated
17812 sucessfully.
17813
10d6af32
NB
178142002-07-23 Neil Booth <neil@daikokuya.co.uk>
17815
17816 * genautomata.c (VLA_HWINT_SHORTEN, VLA_HWINT_LAST): Remove.
17817 * df.c (HANDLE_SUBREG, FOR_EACH_BB_IN_BITMAP_REV,
17818 FOR_EACH_BB_IN_SBITMAP): Remove.
17819 * gcse.c (NEVER_SET, FOLLOW_BACK_EDGES): Remove.
17820 * haifa-sched.c (DONE_PRIORITY, MAX_PRIORITY, TAIL_PRIORITY,
17821 LAUNCH_PRIORITY, DONE_PRIORITY_P, LOW_PRIORITY_P): Remove.
17822 * loop.c (PREFETCH_BLOACK_IN_LOOP_MIN,
17823 PREFETCH_LIMIT_TO_SIMULTANEOUS): Remove.
17824 * regrename.c (REGNO_MODE_OK_FOR_BASE_P): Remove.
17825
6aaae39a
GDR
178262002-07-23 Gabriel Dos Reis <gdr@nerim.net>
17827
17828 * pretty-print.h: New file.
17829
45e574d0
JDA
178302002-07-23 Paul Koning <pkoning@equallogic.com>
17831
17832 * real.c (REAL_WORDS_BIG_ENDIAN): Make 1 for DEC.
17833 (LARGEST_EXPONENT_IS_NORMAL): Ditto.
17834 (VAX_HALFWORD_ORDER): Define (1 for DEC VAX, 0 otherwise).
17835 (TARGET_G_FLOAT): Default to 0 if not defined.
99086d59 17836 (ieeetoe): New, common routine to convert target format floats
45e574d0
JDA
17837 to internal form.
17838 (e24toe, e53toe): Change to use ieeetoe, distinguish DEC
17839 vs. others.
17840 (e113toe): Change to use ieeetoe.
17841
178422002-07-23 Roman Lechtchinsky <rl@cs.tu-berlin.de>
17843
17844 * real.c (REAL_WORDS_BIG_ENDIAN): Make sure it is 0 for DEC and 1 for
17845 IBM.
17846 (e53toe): Assume IEEE if non of DEC, IBM and C4X is defined.
17847 (e64toe): Remove special cases for DEC and IBM. Remove support for
17848 ARM_EXTENDED_IEEE_FORMAT.
17849 (e24toe): Remove special cases for DEC.
17850 (significand_size): Simplify. Indent.
17851 (ieee_format, ieee_24, ieee_53, ieee_64, ieee_113): New.
17852 (etoieee, toieee): New.
17853 (etoe113, toe113, etoe64, toe64, etoe53, toe53, etoe24, toe24): Use
17854 etoieee and toieee for IEEE arithmetic.
17855
3764f879
GDR
178562002-07-23 Gabriel Dos Reis <gdr@nerim.net>
17857
17858 * doc/extend.texi: Say ISO C90, not ISO C89.
17859 * doc/invoke.texi: Likewise.
17860 * doc/standards.texi: Likewise.
17861
aa0f70e6
SE
178622002-07-23 Steve Ellcey <sje@cup.hp.com>
17863
17864 * gcc/explow.c (convert_memory_address): Fix conversion of CONSTs.
17865 Fix permutation of conversion and plus/mult.
17866 * gcc/builtins.c (expand_builtin_memcpy) Ensure return pointer is
17867 ptr_mode and not Pmode when POINTERS_EXTEND_UNSIGNED is defined.
17868 (expand_builtin_strncpy) Ditto.
17869 (expand_builtin_memset) Ditto.
17870
fa72b064
GDR
178712002-07-23 Gabriel Dos Reis <gdr@nerim.net>
17872
17873 Fix PR/7363:
17874 * c-common.c (c_sizeof_or_alignof_type): New function.
17875 (c_alignof): Remove definition.
17876 * c-common.h (c_sizeof, c_alignof): Define as macros.
17877 (c_sizeof_or_alignof_type): Declare.
17878 (my_friendly_assert): Moved from cp/cp-tree.h
17879 * c-typeck.c (c_sizeof): Remove definition.
17880
2b773ee2
JH
178812002-07-23 Jan Hubicka <jh@suse.cz>
17882
17883 * gcse.c (try_replace_reg): Use num_changes_pending.
17884 * recog.c (num_changes_pending): New function.
17885 (validate_replace_src): Use validate_repalce_src_group.
17886 (validate_replace_src_group): New.
17887 * recog.h (validate_repalce_src_group): New.
17888 (num_changes_pending): Likewise.
17889
a0dc500c
R
17890Tue Jul 23 12:16:58 2002 J"orn Rennecke <joern.rennecke@superh.com>
17891
17892 * calls.c (emit_library_call_value_1): If
17893 FUNCTION_ARG_PASS_BY_REFERENCE is true, pretend this is neither
17894 libcall, const call nor pure call.
17895
d22eda7b
NB
178962002-07-23 Neil Booth <neil@daikokuya.co.uk>
17897
17898 * config/m88k/m88k.h (SECTION_ASM_OP): Remove.
17899
b5e66e65
NB
179002002-07-23 Neil Booth <neil@daikokuya.co.uk>
17901
17902 * vmsdbgout.c (SECTION_ASM_OP): Remove.
17903
c3a600c0
NB
179042002-07-23 Neil Booth <neil@daikokuya.co.uk>
17905
17906 * config/i386/i386.c (AT_BP): Remove.
17907
4fa31c2a
NB
179082002-07-23 Neil Booth <neil@daikokuya.co.uk>
17909
17910 * defaults.h (obstack_chunk_alloc, obstack_chunk_free):
17911 Default definition.
17912 * gcse.c: Don't define obstack_chunk_free.
17913 * collect2.c, conflict.c, df.c, diagnostic.c, fix-header.c,
17914 flow.c, gcc.c, genattrtab.c, genautomata.c, genflags.c, gensupport.c,
17915 integrate.c, loop.c, ra.c, read-rtl.c, regrename.c, reload1.c,
17916 reorg.c, tlink.c, tree.c, config/arm/arm.c, objc/objc-act.c:
17917 Don't define obstack macros.
17918
fd576c86
SC
179192002-07-22 Stephane Carrez <stcarrez@nerim.fr>
17920
17921 PR target/6744
17922 * config/m68hc11/m68hc11.c (m68hc11_z_replacement): Also replace
17923 ASM_OPERANDS instructions.
17924
b791ff31
SC
179252002-07-22 Stephane Carrez <stcarrez@nerim.fr>
17926
17927 PR target/7361
17928 * config/m68hc11/m68hc11.c (go_if_legitimate_address_internal): Accept
17929 constant addresses only on 68HC12.
17930
4a941115
NB
179312002-07-22 Neil Booth <neil@daikokuya.co.uk>
17932
17933 * cppfiles.c (stack_include_file): Correct test of whether
17934 a dependency should be output.
17935
7488cc6d
DE
179362002-07-22 David Edelsohn <edelsohn@gnu.org>
17937
17938 * collect2.c (is_ctor_dtor): Add other possible JOINER values.
17939
b41caf7c
RE
179402002-07-22 Richard Earnshaw <rearnsha@arm.com>
17941
17942 * arm.md (movqi): If optimizing and we can create pseudos, use
17943 a ZERO_EXTEND to load from memory, then copy the result into the
17944 target.
17945 (movhi): Likewise, but only for ARMv4.
17946
492e9934
NB
179472002-07-22 Neil Booth <neil@daikokuya.co.uk>
17948
17949 * ssa-ccp.c (PHI_PARMS): Remove.
17950
f01f01a6
RS
179512002-07-22 Richard Sandiford <rsandifo@redhat.com>
17952
17953 * config/mips/mips.h (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS
17954 on big-endian targets.
17955
c2ae8aef
KG
179562002-07-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17957
17958 * hwint.h (HOST_WIDE_INT_PRINT_DEC_SPACE,
17959 HOST_WIDE_INT_PRINT_UNSIGNED_SPACE,
17960 HOST_WIDEST_INT_PRINT_DEC_SPACE, HOST_WIDEST_INT_PRINT_DEC_SPACE):
17961 New formatting macros.
17962
17963 * ra-debug.c (dump_static_insn_cost): Avoid string concatenation.
17964
eab2120d
R
17965Mon Jul 22 15:27:25 2002 J"orn Rennecke <joern.rennecke@superh.com>
17966
17967 * rtlanal.c (subreg_regno_offset): Return correct offset for
17968 big endian paradoxical subregs.
0d541696
R
17969
17970 * optabs.c (expand_vector_unop): Don't expand using sub_optab
17971 if we got the wrong mode.
bb9b3805
R
17972
17973 * hwint.c (define HOST_WIDE_INT_PRINT_DEC_C): New define.
17974 * genrecog.c (write_switch, write_cond): Use it.
17975 * genemit.c (gen_exp): Likewise.
17976
e96eb215
JJ
179772002-07-22 Jakub Jelinek <jakub@redhat.com>
17978
17979 * c-decl.c (build_compound_literal): Set decl TREE_READONLY from TYPE.
17980
cf3c4f56
JJ
179812002-07-22 Jakub Jelinek <jakub@redhat.com>
17982
17983 * c-decl.c (build_compound_literal): Defer compound literal decls
17984 until until file end to emit them only if they are actually used.
17985
533c4863
KG
179862002-07-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17987
17988 * ra-build.c (check_conflict_numbers): Hide unused function.
17989 (livethrough_conflicts_bb): Avoid automatic aggregate
17990 initialization.
17991 (parts_to_webs_1): Avoid `U' integer constant modifier.
17992 (conflicts_between_webs): Wrap a variable in the macro controlling
17993 its usage.
17994 * ra-debug.c (ra_debug_msg): Use VA_OPEN/VA_CLOSE.
17995 (dump_igraph, dump_graph_cost): Avoid string concatenation
17996 (dump_static_insn_cost): Avoid automatic aggregate
17997 initialization.
17998 * ra-rewrite.c (insert_stores): Avoid automatic aggregate
17999 initialization.
18000 (dump_cost): Avoid string concatenation
18001
8943a0b4
RH
180022002-07-21 Richard Henderson <rth@redhat.com>
18003
18004 * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Don't use
18005 GOTO_SUBROUTINE_EXPR when finally_block can be re-expanded.
18006
b1aef35b
RH
180072002-07-21 Richard Henderson <rth@redhat.com>
18008
18009 * unroll.c (find_splittable_givs): Do not split DEST_ADDR givs
18010 that are not unrolled completely.
18011
5e1afb11
RH
180122002-07-21 Richard Henderson <rth@redhat.com>
18013
18014 * loop.h (LOOP_AUTO_UNROLL): Rename from LOOP_FIRST_PASS.
18015 * loop.c (strength_reduce): Update.
18016 * toplev.c (rest_of_compilation): Do unrolling in the first
18017 loop pass, not the second.
18018
c67a1cf6
RH
180192002-07-21 Richard Henderson <rth@redhat.com>
18020
18021 * emit-rtl.c (set_mem_attributes): Preserve indirection of PARM_DECL
18022 when flag_argument_noalias == 2.
18023 * alias.c (nonoverlapping_memrefs_p): Handle that.
18024 * print-rtl.c (print_mem_expr): Likewise.
18025
b68daef4
HS
180262002-07-21 Hartmut Schirmer <hartmut.schirmer@arcor.de>
18027
18028 * libgcc2.c (__divdi3, __moddi3): Use unary minus operator
18029 instead of __negdi2 directly.
18030
060a58c5
NB
180312002-07-21 Neil Booth <neil@daikokuya.co.uk>
18032
18033 * gengenrtl.c (gencode): Don't define obstack_alloc_rtx.
18034 * function.c (SYMBOL__MAIN): Remove definition.
18035 * global.c (SET_CONFLICT, REGBITP, ALLOCNO_LIVE_P): Remove.
99086d59 18036 * predict.c (PROB_NEVER, PROB_LIKELY, PROB_UNLIKELY): Remove.
060a58c5
NB
18037 * profile.c (GCOV_INDEX_TO_BB): Remove.
18038 * sched-rgn.c (ABS_VALUE, MIN_DIFF_PRIORITY, MIN_PROB_DIFF): Remove.
18039 * simplify-rtx.c (FIXED_BASE_PLUS_P): Remove.
18040
2f8dd115
NB
180412002-07-21 Neil Booth <neil@daikokuya.co.uk>
18042
18043 * c-lex.c (GET_ENVIRONMENT): Remove.
18044 * collect2.c (GET_ENV_PATH_LIST): Remove.
18045 (prefix_from_env): Use GET_ENVIRONMENT.
18046 * cppinit.c (GET_ENV_PATH_LIST): Remove.
18047 (init_standard_includes): Use GET_ENVIRONMENT.
18048 * defaults.h (GET_ENVIRONMENT): Define here if not already.
18049 * gcc.c (GET_ENV_PATH_LIST): Remove.
18050 (make_relative_prefix, process_command): Update.
18051 * protoize.c (GET_ENV_PATH_LIST): Remove.
18052 (do_processing): Update.
18053
56508306
GDR
180542002-07-21 Gabriel Dos Reis <gdr@nerim.net>
18055
18056 * c-decl.c (build_array_declarator): Say 'ISO C90', not 'ISO C89'.
18057 (grokdeclarator): Likewise.
18058 * c-format.c (C_STD_NAME): Likewise.
18059 * c-lex.c (interpret_integer): Likewise.
18060 * c-typeck.c (build_array_ref): Likewise.
18061 * cpplex.c (_cpp_lex_direct): Likewise.
18062 * toplev.c (documented_lang_options): Likewise.
18063
e2f62855
NB
180642002-07-21 Neil Booth <neil@daikokuya.co.uk>
18065
18066 * c-format.c (T99_I, T99_UI): Remove.
18067
c89d1dfd
NB
180682002-07-21 Neil Booth <neil@daikokuya.co.uk>
18069
18070 * c-typeck.c (SAVE_SPELLING_DEPTH): Remove.
18071
46690369
JH
18072Sun Jul 21 21:36:41 CEST 2002 Jan Hubicka <jh@suse.cz>
18073
18074 * gcse.c (do_local_cprop): Do not extend lifetimes of registers set by
18075 do_local_cprop.
18076
60ffc1b8
AJ
180772002-07-21 Andreas Jaeger <aj@suse.de>
18078
99086d59 18079 * reload1.c (fixup_abnormal_edges): Remove unused variable.
60ffc1b8 18080
c05ffc49
BS
180812002-07-21 Bernd Schmidt <bernds@redhat.com>
18082
18083 Improvements for the ifcvt pass from Michael Meissner, with patches
18084 by Richard Sandiford <rsandifo@redhat.com>
18085 * basic-block.h (struct ce_if_block, ce_if_block_t): New types.
18086 * ifcvt.c (cond_exec_changed_p): New static variable.
18087 (last_active_insn): New function, renamed from last_active_insn_p
18088 and changed to return the last active insn in a basic block. All
18089 callers updated.
18090 (block_fallthru): New function.
18091 (cond_exec_process_insns): New argument CE_INFO. Pass it to
18092 IFCVT_MODIFY_INSN. All callers updated.
18093 Return false if START or END are NULL.
18094 Handle case where we're processing an insn that is already
18095 conditional.
18096
18097 (noce_process_if_block): CE_INFO argument rather than
18098 multiple args containing the involved basic blocks. All callers
18099 changed.
18100 (process_if_block, merge_if_block, find_if_block,
18101 cond_exec_process_if_block): Likewise.
18102
18103 (cond_exec_process_if_block): New arg DO_MULTIPLE_P. All callers
18104 changed.
18105 Use new function last_active_insn to simplify some code.
18106 New code to handle multiple tests.
18107 Call IFCVT_MODIFY_CANCEL in all failure cases, otherwise set
18108 cond_exec_changed_p to TRUE.
18109
18110 (process_if_block): New code to handle multiple tests.
18111 (merge_if_block): Likewise.
18112 (find_if_header): New arg PASS. Changed to return the currently
18113 processed basic block or NULL instead of true/false. All callers
18114 changed.
18115 Call IFCVT_INIT_EXTRA_FIELDS.
18116 (block_jumps_and_fallthru_p): New function.
18117 (find_if_block): Discover opportunities to convert multiple tests.
18118 Add additional debugging output.
18119 Update the ce_info structure before returning.
18120
18121 (if_convert): Run multiple passes of if-conversion.
18122 * doc/tm.texi (IFCVT_MODIFY_TESTS, IFCVT_MODIFY_INSN,
18123 IFCVT_MODIFY_FINAL, IFCVT_MODIFY_CANCEL, IFCVT_MODIFY_MULTIPLE_TESTS,
18124 IFCVT_INIT_EXTRA_FIELDS, IFCVT_EXTRA_FIELDS): Update documentation for
18125 these macros.
18126
ae860ff7
JH
18127Sun Jul 21 00:54:54 CEST 2002 Jan Hubicka <jh@suse.cz>
18128
18129 * gcse.c: Include cselib.h
18130 (constptop_register): Break out from ...
18131 (cprop_insn): ... here; kill basic_block argument.
18132 (do_local_cprop, local_cprop_pass): New functions.
18133 (one_cprop_pass): Call local_cprop_pass.
18134
0da65b89
RS
181352002-07-20 Roger Sayle <roger@eyesopen.com>
18136
18137 * simplify-rtx.c (simplify_relational_operation): Optimize
18138 abs(x) < 0.0 (and abs(x) >= 0.0 when using -ffast-math).
18139
47cc673a
MM
181402002-07-20 Michae Matz <matz@suse.de>
18141
18142 * ra-build.c: (remember_web_was_spilled): Use GENERAL_REGS.
18143
68e65275
NB
181442002-07-20 Neil Booth <neil@daikokuya.co.uk>
18145
18146 * cppexp.c (struct op): Add token pointer.
18147 (check_promotion, CHECK_PROMOTION): New.
18148 (optab): Update.
18149 (_cpp_parse_expr): Update, use token pointer of struct op.
18150 (reduce): Warn about change of sign owing to promotion.
18151 * cppinit.c (cpp_handle_option): New warning if -Wall.
18152 * cpplib.h (struct cpp_options): New member.
18153
e3485bbc
DE
181542002-07-19 David Edelsohn <edelsohn@gnu.org>
18155
18156 * config/rs6000/rs6000.md: Remove ppc630 fpcompare from single
18157 fpu list. Separate Power4 compare and delayed_compare. Correct
18158 Power4 fpcompare.
18159 (fix_truncdfsi2_internal): Restore FPR preference.
18160 * config/rs6000/t-aix43 (MULTILIB_MATCHES): Add mcpu?power3,
18161 mcpu?power4, mcpu?604e. Remove mpower, mpower2, mpowerpc.
18162
449655a6
MV
181632002-07-19 Momchil Velikov <velco@fadata.bg>
18164
18165 * reload1.c (reload_as_needed): Duplicate oldpat.
18166
8b583747
AM
181672002-07-20 Alan Modra <amodra@bigpond.net.au>
18168
18169 PR optimization/7130
18170 * loop.h (struct loop_info): Add "preconditioned".
18171 * unroll.c (unroll_loop): Set it.
18172 * doloop.c (doloop_modify_runtime): Correct count for unrolled loops.
18173
0dc36574
ZW
181742002-07-19 Zack Weinberg <zack@codesourcery.com>
18175
18176 * rtl.def (CODE_LABEL): Remove slot 8.
18177 * rtl.h (struct rtx_def): Document new uses of jump and call fields.
18178 (LABEL_ALTERNATE_NAME): Delete.
18179 (LABEL_KIND, SET_LABEL_KIND, LABEL_ALT_ENTRY_P): New.
18180 * defaults.h: Remove default for ASM_OUTPUT_ALTERNATE_LABEL_NAME.
18181
18182 * final.c (output_alternate_entry_point): New.
18183 (final_scan_insn): Use it instead of
18184 ASM_OUTPUT_ALTERNATE_LABEL_NAME. Do not consider possibility
18185 of a case label being an alternate entry point.
18186
18187 * cfgbuild.c (make_edges, find_bb_boundaries): Use LABEL_ALT_ENTRY_P.
18188 * emit-rtl.c (gen_label_rtx): Adjust call to gen_rtx_CODE_LABEL.
18189 Do not clear LABEL_NUSES (unnecessary) or LABEL_ALTERNATE_NAME
18190 (field deleted).
18191 * print-rtl.c, ra-debug.c: Update code to output CODE_LABELs.
18192
18193 * doc/rtl.texi: Document LABEL_KIND, SET_LABEL_KIND, and
18194 LABEL_ALT_ENTRY_P; not LABEL_ALTERNATE_NAME.
18195 * doc/tm.texi: Delete documentation of
18196 ASM_OUTPUT_ALTERNATE_LABEL_NAME.
18197
59267987
RO
181982002-07-19 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
18199
18200 * config/mips/iris5gas.h (DWARF2_DEBUGGING_INFO): Define.
18201 (PREFERRED_DEBUGGING_TYPE): Use DWARF2_DEBUG.
18202 (LINK_SPEC): Define.
18203 (STARTFILE_SPEC): Define.
18204 (ENDFILE_SPEC): Define.
18205
18206 * config/mips/iris6-o32.h (LINK_SPEC): Move ...
18207 * config/mips/iris6-o32-as.h (LINK_SPEC): ... here.
18208
18209 * config/mips/iris6-o32-gas.h: New file.
18210 * config.gcc (mips-sgi-irix6*o32): Use it.
18211
18212 * config/mips/t-iris5-gas: New file.
18213 * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
18214
75aef48a
NB
182152002-07-19 Neil Booth <neil@daikokuya.co.uk>
18216
18217 * cppexp.c (ALWAYS_EVAL): Remove.
18218 (optab, reduce): Always evaluate.
18219 (num_unary_op, num_binary_op, num_div_op): Issue diagnostics
18220 only if not skipping evaluation.
18221
72a5503d
MM
182222002-07-19 Marek Michalkiewicz <marekm@amelek.gda.pl>
18223
18224 * config/avr/avr.c (debug_hard_reg_set): Remove.
18225
059ba716
CD
182262002-07-19 Chris Demetriou <cgd@broadcom.com>
18227
18228 * gcc.c (cpp_options): Include "%1" (cc1_spec).
18229
544823b6
RH
182302002-07-19 Richard Henderson <rth@redhat.com>
18231
18232 * loop.c (loop_givs_rescan): Delete the REG_EQUAL note, not the insn.
18233
c35383cb
AM
182342002-07-19 Alan Modra <amodra@bigpond.net.au>
18235
18236 * prefix.c (update_path): Don't zap single `.' path components
18237 unless followed by another `.' and fix typo last patch.
18238
ad28cff7
NB
182392002-07-18 Neil Booth <neil@daikokuya.co.uk>
18240
18241 * cppexp.c (cpp_num_mul): Remove unused parameter.
18242 (UNARY, BINARY, OTHER, binary_handler): Remove.
18243 (ALWAYS_EVAL): New.
18244 (optab): Update.
18245 (reduce): Refactor to a large switch, don't use a function
18246 pointer.
18247
139b7f86
BT
182482002-07-18 Bo Thorsen <bo@berlioz.suse.de>
18249
18250 * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Define this always.
18251
e69d1422
R
18252Thu Jul 18 19:39:18 2002 J"orn Rennecke <joern.rennecke@superh.com>
18253
18254 * sh-protos.h (sh_expand_unop_v2sf): Move inside #ifdef RTX_CODE guard.
18255 (sh_expand_binop_v2sf): Likewise.
18256 * sh.c (machine_dependent_reorg): Add move for UNSPEC_MOVA.
18257 (int_gpr_dest, trunc_hi_operand): New functions.
18258 * sh.h (PREDICATE_CODES): Add any_register_operand, int_gpr_dest and
18259 trunc_hi_operand.
18260 (SPECIAL_MODE_PREDICATES, any_register_operand): Define.
18261 * sh.md (cmpeqdi_t+1): Remove comments that genrecog warns about.
18262 (adddi3_compact+1, subdi3_compact+1, ashlsi3_n+1, ashlhi3+1): Likewise.
18263 (ashrsi2_16+1, ashrsi2_31+1, lshrsi3_n+1, ashrdi3+[12]): Likewise.
18264 (and_shl_scratch+[12], zero_extendhidi2+1): Likewise.
18265 (zero_extendhisi2_media+1, extendhidi2+1, extendqidi2+1): Likewise.
18266 (extendhisi2_media+1, extendqisi2_media+1): Likewise.
18267 (movsi_media_nofpu+[12], movhi_media+1, movdi_media_nofpu+1): Likewise.
18268 (movdi_const_16bit+[12], movdf_i4+[123], reload_outdf+[2-5]): Likewise.
18269 (movsf_ie+1): Likewise.
18270 (loaddi_trunc): Use int_gpr_dest predicate.
18271 (use_sfunc_addr, indirect_jump_scratch, sibcall_compact): Add mode(s).
18272 (mova, mova_const, GOTaddr2picreg, ptrel, casesi_worker_0): Likewise.
18273 (casesi_worker_0+[12], casesi_worker): Likewise.
18274 (shcompact_preserve_incoming_args): Likewise.
18275 (mov_nop): Use any_register_operand predicate.
18276 (mperm_w0): Use trunc_hi_operand predicate.
18277
47a4976f
JDA
182782002-07-18 John David Anglin <dave@hiauly1.hia.nrc.ca>
18279
18280 * pa-linux.h (DWARF2_UNWIND_INFO): Delete define.
18281 * pa.h (EH_RETURN_DATA_REGNO): Revise TARGET_64BIT and correct
18282 numbering.
18283
f3a4e54e
JDA
182842002-07-18 John David Anglin <dave@hiauly1.hia.nrc.ca>
18285
18286 * pa.c (output_deferred_plabels): Remove unused millicode enum mulU.
18287
30484ccf
RH
182882002-07-18 Richard Henderson <rth@redhat.com>
18289
18290 PR optimization/7147
18291 * ifcvt.c (noce_get_condition): Make certain that the condition
18292 is valid at JUMP.
18293
d042370e
R
18294Thu Jul 18 13:44:51 2002 J"orn Rennecke <joern.rennecke@superh.com>
18295
18296 * sh.c (barrier_align, push): Shut up compiler warnings.
18297 (initial_elimination_offset,sh_media_init_builtins): Likewise.
18298 (reg_no_subreg_operand): Delete.
18299
61fee9b3
BT
183002002-07-17 Bo Thorsen <bo@suse.de>
18301
18302 * config/i386/linux64.h (LINK_SPEC): Remove bogus -Y option.
18303 (STARTFILE_PREFIX_SPEC): Define for NATIVE_CROSS compilations.
18304 (STARTFILE_SPEC): Remove hardcoded library paths.
18305 (ENDFILE_SPEC): Likewise.
18306
f305679f
JH
18307Thu Jul 18 09:38:59 CEST 2002 Jan Hubicka <jh@suse.cz>
18308
18309 * gcse.c (hoist_expr_reaches_here_p): Stop once expr_bb is reached.
18310
18311 * gcse.c (try_replace_reg): Do not return false positives.
18312
99bcb625
AM
183132002-07-18 Alan Modra <amodra@bigpond.net.au>
18314
f6f23ad2
AM
18315 * prefix.c: (update_path): Strip ".." components when prior dir
18316 doesn't exist. Pass correct var to UPDATE_PATH_HOST_CANONICALIZE.
18317
99bcb625
AM
18318 * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Remove 64-bit support.
18319 (ASM_OUTPUT_REG_POP): Likewise.
18320
09eeeacb
AM
183212002-07-18 Alan Modra <amodra@bigpond.net.au>
18322
18323 * config/rs6000/rs6000.c (first_reg_to_save): Remove bogus
18324 adjustments to first_reg for profiling case.
18325 (output_function_profiler): Correct lr save slot for ABI_AIX_NODESC.
18326 Disable profiling for 64 bit code on both ABI_V4 and ABI_AIX_NODESC.
18327 Save static chain reg to sp + 12 on ABI_AIX_NODESC.
18328 * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Define.
18329 (ASM_OUTPUT_REG_POP): Define.
18330 * config/rs6000/linux64.h (ASM_OUTPUT_REG_PUSH): Undef.
18331 (ASM_OUTPUT_REG_POP): Undef.
18332
74d06cf2
NB
183332002-07-17 Neil Booth <neil@daikokuya.co.uk>
18334
18335 * cpplib.c (do_sccs): Handle #sccs on all systems.
18336 * system.h (SCCS_DIRECTIVE): Poison.
18337 * config/darwin.h, config/freebsd.h, config/netbsd.h,
18338 config/ptx4.h, config/svr3.h, config/svr4.h, config/alpha/elf.h,
18339 config/arm/linux-elf.h, config/c4x/c4x.h, config/d30v/d30v.h,
18340 config/i370/i370.h, config/i386/gas.h, config/i386/sco5.h,
18341 config/i960/i960.h, config/m68hc11/m68hc11.h, config/m68k/3b1.h,
18342 config/m68k/3b1g.h, config/m68k/crds.h, config/m68k/mot3300.h,
18343 config/m68k/pbb.h, config/m88k/m88k.h, config/mips/mips.h,
18344 config/sparc/pbd.h, config/stormy16/stormy16.h, config/vax/vaxv.h:
18345 Remove all references to SCCS_DIRECTIVE.
18346 * doc/cpp.texi, doc/tm.texi: Update.
18347
61dde664
R
18348Wed Jul 17 19:23:32 2002 J"orn Rennecke <joern.rennecke@superh.com>
18349
18350 * regrename.c (maybe_mode_change): New function.
18351 (find_oldest_value_reg, copyprop_hardreg_forward_1): Use it.
18352
97f51ac4
RB
183532002-07-17 Rodney Brown <rbrown64@csc.com.au>
18354
18355 * config/i386/i386.c (ix86_expand_int_movcc): In the general case
18356 suppress addition when either ct or cf are zero.
18357
a9b6f1e7 183582002-07-17 Eric Botcazou <ebotcazou@multimania.com>
30484ccf 18359 Glen Nakamura <glen@imodulo.com>
f1a73cfe
EB
18360
18361 PR optimization/6713
18362 * loop.c (loop_givs_rescan): Explicitly delete the insn that
18363 sets a non-replaceable giv after issuing the new one.
18364
23ff0223
NB
183652002-07-17 Neil Booth <neil@daikokuya.co.uk>
18366
18367 * cppexp.c (cpp_interpret_integer, append_digit, parse_defined,
18368 eval_token): Clarify and correct use of "bool" variables.
18369 * cpplib.h (struct cpp_options): Similarly.
18370 * cppmacro.c (parse_params, _cpp_save_parameter): Ditto.
18371 * cpptrad.c (recursive_macro): Similarly.
18372
ac09192a
R
18373Wed Jul 17 17:08:06 2002 J"orn Rennecke <joern.rennecke@superh.com>
18374
d28586ab 18375 * config/sh/lib1funcs.asm (udivsi3_i4): Implement SHcompact version in
ac09192a 18376 SHmedia code.
68cef009
R
18377
18378 * sh.md (cmpgtudi_media): Remove spurious @.
701e3726
R
18379
18380 * config/sh/lib1funcs.asm (FMOVD_WORKS): Don't define for little endian.
18381 * sh.h (OVERRIDE_OPTIONS): Don't set FMOVD_BIT for little endian.
ca903bba
R
18382
18383 * config/sh/lib1funcs.asm (init_trampoline): New entry point.
18384 * sh-protos.h (sh_initialize_trampoline): Declare.
18385 * sh.c (sh_initialize_trampoline): New function.
18386 * sh.h (TRAMPOLINE_SIZE): Only 24 for TARGET_SHMEDIA32.
18387 (TRAMPOLINE_ALIGNMENT): Need cache-line alignment for TARGET_SHMEDIA.
18388 (INITIALIZE_TRAMPOLINE): Call sh_initialize_trampoline.
18389 (TRAMPOLINE_ADJUST_ADDRESS): Not needed for SHcompact.
18390 * sh.md (initialize_trampoline, double_shori): New patterns.
18391 (initialize_trampoline_compact): Likewise.
18392 (shmedia32_initialize_trampoline_big): Remove.
18393 (shmedia32_initialize_trampoline_little): Likewise.
0ac78517
R
18394
18395 * sh-protos.h (binary_float_operator): Remove declaration.
18396 (sh_expand_unop_v2sf, sh_expand_binop_v2sf): Declare.
18397 * sh.c (print_operand, case 'N'): Check against CONST0_RTX.
18398 (unary_float_operator, sh_expand_unop_v2sf): New functions.
18399 (sh_expand_binop_v2sf): Likewise.
18400 (zero_vec_operand): Delete.
18401 (SH_BLTIN_UDI): New builtin shared signature define. Renumbered
18402 all non-shared ones.
18403 (bdesc): Change all the mextr builtins to use SH_BLTIN_UDI.
18404 Enable nsb and byterev.
18405 * sh.h (CONDITIONAL_REGISTER_USAGE): Initialize DF_HI_REGS.
18406 (HARD_REGNO_MODE_OK): Allow TImode in fp regs. Allow V2SFmode
18407 in general regs.
18408 (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add DF_HI_REGS.
18409 (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise. Remove clause for
18410 immediate operands.
18411 (SECONDARY_INPUT_RELOAD_CLASS): Add clause for immediate operands.
18412 Add DF_HI_REGS.
18413 (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P): Allow
18414 lowpart fp regs - only for big endian for now.
da7d8304 18415 (LEGITIMATE_CONSTANT_P): Don't allow nonzero float vectors
0ac78517
R
18416 when FPU is in use.
18417 (EXTRA_CONTRAINT_U): Check against CONST0_RTX.
18418 (LOAD_EXTEND_OP): NIL for SImode.
18419 (REGISTER_MOVE_COST): Add DF_HI_REGS. Const for moves between
18420 general and fp registers is 4.
18421 PREDICATE_CODES: Amend binary_float_operator entry.
18422 Remove zero_vec_operand. Add unary_float_operator.
18423 * sh.md (udivsi3_i4_media): Use truncate instead of paradoxical
18424 subreg SET_DEST.
18425 (truncdisi2, truncdihi2, movv2sf): Allow memory destinations.
18426 (truncdiqi2): Do sign extension.
18427 (movsi_media, movdi_media): Allow to use r63 to an fp register.
18428 (movdf_media, movsf_media): Likewise.
18429 (movv2sf_i, movv2sf_i+1): Don't use f{ld,st}.p or SUBREGS.
18430 Collapse to one define_insn_and_split. Allow immediate sources.
18431 (addv2sf3, subv2sf3, mulv2sf3, divv2sf3): New patterns.
18432 (movv4sf_i): Allow immediate sources. Use simplify_gen_subreg.
18433 (movv4sf): Allow immediate sources.
18434 (movsf_media_nofpu+1): Don't split moves to FP registers.
18435 (unary_sf_op, binary_sf_op, mshflo_w_x, concat_v2sf): New patterns.
18436 (movv8qi_i+3): Check against CONST0_RTX.
18437 (mextr1, mextr2. mextr3. mextr4, mextr5, mextr6, mextr7): Use DImode
18438 for input and output operands. Fix argument 3 to gen_mextr_rl.
18439 (mmul23_wl, mmul01_wl, mmulsum_wq_i): s/const_vector/parallel/
18440 (msad_ubq_i, mshf4_b, mshf0_b, mshf4_l, mshf0_l, mshf4_w): Likewise.
18441 (mshf0_w, fipr, ftrv): Likewise.
18442 (mshfhi_l_di): Now insn_and_split. Can handle FP regs.
18443
e9d7b180
JD
184442002-07-17 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
18445
18446 * arm.h (ARM_NUM_INTS, ARM_NUM_REGS, ARM_NUM_REGS2): Renamed from
18447 NUM_INTS, NUM_REGS and ARM_NUM_REGS2 respectively. All uses changed.
18448 * arm.c: Similarly.
18449
8214bf98
RS
184502002-07-17 Richard Sandiford <rsandifo@redhat.com>
18451
18452 * config/mips/mips-protos.h (mips_sign_extend): Declare.
18453 * config/mips/mips.h (MASK_DEBUG_H, TARGET_DEBUG_H_MODE): Remove.
18454 (TARGET_SWITCHES): Remove debugh.
18455 (ISA_HAS_TRUNC_W): New macro.
18456 (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS if TARGET_FLOAT64.
18457 (PREDICATE_CODES): Remove se_nonimmediate_operand.
18458 * config/mips/mips.c (movdi_operand): Allow sign-extensions of
18459 any SImode move_operand.
18460 (se_nonimmediate_operand): Remove.
18461 (mips_sign_extend): New.
18462 (mips_move_2words): Use it for sign-extended source operands.
18463 (override_options): Allow integers to be put into single FPRs.
18464 (mips_secondary_reload_class): Handle integers in float registers.
18465 * config/mips/mips.md (extendsidi2): Turn into a define_expand.
18466 (fix_truncsfsi2, fix_truncdfsi2): Likewise.
18467 (fix_truncdfsi2_insn, fix_truncdfsi2_macro): New.
18468 (fix_truncsfsi2_insn, fix_truncsfsi2_macro): New.
18469 (fix_truncdfdi2): Provide only a single alternative, in which the
18470 integer is in a float register. Depend on TARGET_FLOAT64 rather
18471 than TARGET_64BIT.
18472 (fix_truncsfdi2, floatdidf2, floatdisf2): Likewise.
18473 (floatsidf2, floatsisf2): Likewise, but no TARGET_FLOAT64 dependency.
18474 (movdi_internal2): Don't allow the source operand to be sign-extended.
18475 Add alternatives for float registers.
18476 (*movdi_internal2_extend): New. Version of movdi_internal2 that
18477 allows sign-extension.
18478 (*movdi_internal2_mips16): Name the existing mips16 movdi pattern.
18479 (movsi_internal2): Rename to movsi_internal. Add alternatives for
18480 float registers. Remove TARGET_DEBUG_H_MODE test.
18481 (movhi_internal1): Rename to movhi_internal. Don't check
18482 TARGET_DEBUG_H_MODE. Fix transposed *d and *f source constraints.
18483 (movqi_internal1): Rename to movqi_internal and remove
18484 TARGET_DEBUG_H_MODE dependency.
18485 (movsi_internal1, movhi_internal2, movqi_internal2): Remove.
18486
7ab0121e
JW
184872002-07-16 Jim Wilson <wilson@redhat.com>
18488
18489 * toplev.c (lang_dependent_init): Create function context for
18490 init_expr_once.
18491
349ccf2e
HPN
184922002-07-16 Hans-Peter Nilsson <hp@axis.com>
18493
18494 * config/cris/linux.h (CRIS_LINK_SUBTARGET_SPEC): Don't
18495 --gc-sections if -r.
18496 * config/cris/cris.h: Ditto.
18497
06ec023f
RB
184982002-07-16 Rodney Brown <rbrown64@csc.com.au>
18499
18500 * config/i386/i386.c (ix86_expand_int_movcc): In the case where
18501 the comparison directly gives a mask suppress addition when cf is
18502 zero by complementing the mask.
18503
39cef914
NN
185042002-07-16 Nathanael Nerode <neroden@gcc.gnu.org>
18505
18506 * Makefile.in: Delete references to enquire.
18507 * enquire.c: Move to contrib.
18508
92c1a778
SS
185092002-07-16 Stan Shebs <shebs@apple.com>
18510
2aa9948d
SS
18511 * config/darwin.h (ASM_OUTPUT_LABEL): Move to here from
18512 config/rs6000/darwin.h.
18513 (ASM_OUTPUT_SKIP): Ditto.
18514 (TEXT_SECTION_ASM_OP): Ditto.
18515 (DATA_SECTION_ASM_OP): Ditto.
18516 (ASM_APP_ON): Define.
18517 (ASM_APP_OFF): Define.
18518 * config/rs6000/darwin.h (ASM_OUTPUT_LABEL, ASM_OUTPUT_SKIP,
18519 TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): Remove.
18520
18521 * config/darwin.c (func_name_maybe_scoped): Remove unused decl.
92c1a778
SS
18522 (machopic_function_base_name): Declare result to be const.
18523 (machopic_non_lazy_ptr_name): Ditto.
18524 (machopic_stub_name): Ditto.
2aa9948d 18525 * config/darwin-protos.h: Ditto for the prototypes.
92c1a778 18526
daaab00a
JH
18527Wed Jul 17 00:22:39 CEST 2002 Jan Hubicka <jh@suse.cz>
18528
18529 * m68hc11.c (m68hc11_reorg): Do not rebuild CFG.
18530
63c574cc
JH
18531Wed Jul 17 00:20:48 CEST 2002 Jan Hubicka <jh@suse.cz>
18532
18533 * i386.md (prefetch): Fix for 64bit mode.
18534 (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
18535
2a500b9e
JH
18536Wed Jul 17 00:19:20 CEST 2002 Jan Hubicka <jh@suse.cz>
18537
18538 * i386.h (MACHINE_DEPENDENT_REORG): New macro.
18539 * i386.c (x86_machine_dependent_reorg): New function.
18540 * i386-protos.h (x86_machine_dependent_reorg): Declare.
18541
e5faf155
ZW
185422002-07-16 Zack Weinberg <zack@codesourcery.com>
18543
18544 * builtins.c (std_expand_builtin_va_start): Remove unused
18545 first argument.
18546 (expand_builtin_va_start): Call EXPAND_BUILTIN_VA_START and
18547 std_expand_builtin_va_start with just two arguments.
18548 * expr.h: Update prototypes.
18549
18550 * alpha-protos.h, alpha.h, alpha.c, arc-protos.h, arc.h,
18551 arc.c, d30v-protos.h, d30v.h, d30v.c, i386-protos.h, i386.h,
18552 i386.c, i960-protos.h, i960.h, i960.c, m88k-protos.h, m88k.h,
18553 m88k.c, mips-protos.h, mips.h, mips.c, mn10300-protos.h,
18554 mn10300.h, mn10300.c, pa-protos.h, pa.h, pa.c,
18555 rs6000-protos.h, rs6000.h, rs6000.c, s390-protos.h, s390.h,
18556 s390.c, sh-protos.h, sh.h, sh.c, sparc-protos.h, sparc.h,
18557 sparc.c, stormy16-protos.h, stormy16.h, stormy16.c,
18558 xtensa-protos.h, xtensa.h, xtensa.c: Remove unused first
18559 argument from all implementations of EXPAND_BUILTIN_VA_START
18560 and all uses of std_expand_builtin_va_start.
18561
dbf65c2f
R
18562Tue Jul 16 19:32:58 2002 J"orn Rennecke <joern.rennecke@superh.com>
18563
18564 * regrename.c (copy_value): Don't record high part copies.
18565
6acb6d3e 185662002-07-16 Steve Ellcey <sje@cup.hp.com>
99b823ca 18567
6acb6d3e
SE
18568 * gcc/config/pa/long_double.h (FIXUNS_TRUNCTFDI2_LIBCALL): New define.
18569 (fixunstfdi_libfunc): Change to use FIXUNS_TRUNCTFDI2_LIBCALL.
18570 * gcc/config/pa/quadlib.c (_U_Qfcnvfxt_quad_to_udbl): New function.
18571
5d7c2819
ID
185722002-07-16 Ian Dall <ian@sibyl.beware.dropbear.id.au>
18573
18574 * doc/invoke.texi (NS32K Options): Document -mieee-compare option
18575
18576 * config/ns32k/ns32k.md (addsi3, *frame_addr, *stack_addr): merge
18577 into addsi3 using register class "x" and "y".
18578
18579 * config/ns32k/ns32k.md (*madddf, *maddsf, *msubdf, *msubsf):
18580 "earlyclobber" constraint modifier for some alternative.
e5faf155 18581
5d7c2819
ID
18582 * config/ns32k/ns32k.md (tstdf, tstsf, cmpdf, cmpsf, blt, ble)
18583 (*ble, *blt): Flag to indicate bCOND and sCOND should check for
18584 unordered.
18585 config/ns32k/ns32k.h (CC_UNORD): define corresponding mask.
18586
18587 * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE, MASK_IEEE_COMPARE)
18588 (TARGET_SWITCHES): Add -mieee-compare option.
18589 (OVERRIDE_OPTIONS): 32332 is a subset of
18590 32532. Don't use IEEE_COMPARE -funsafe-math-optimizations.
4977bab6 18591 (TARGET_SWITCHES): Fix description of bitfield option.
5d7c2819
ID
18592 * config/ns32k/netbsd.h (TARGET_DEFAULT): Add
18593 -mieee-compare option. Remove 32332 flag.
18594
5da4f548 185952002-07-16 Steve Ellcey <sje@cup.hp.com>
5d7c2819
ID
18596
18597 * explow.c (convert_memory_address): Remove special handling
5da4f548 18598 when POINTERS_EXTEND_UNSIGNED < 0.
5d7c2819 18599 * config/ia64.md (movsi_symbolic): New instruction for ILP32 mode.
5da4f548
SE
18600 (movedi_symbolic): Fix typo.
18601 (load_fptr): Remove mode restriction so it works for SI and DI.
18602 (load_fptr_internal1): Ditto.
18603 (load_gprel): Ditto.
18604 (load_symptr_internal1): Ditto.
18605 (call_pic): Ditto.
5d7c2819 18606 * config/ia64.c (call_operand): Modify mode check.
5da4f548
SE
18607 (ia64_expand_load_address): Handle DI and SI addresses and symbols.
18608 (ia64_expand_move): Ditto.
18609 (ia64_assemble_integer): Handle SImode function pointers.
18610 (ia64_expand_fetch_and_op): Handle SImode mem addresses.
18611 (ia64_expand_op_and_fetch): Ditto.
18612 (ia64_expand_compare_and_swap): Ditto.
18613 (ia64_expand_lock_test_and_set): Ditto.
18614 (ia64_expand_lock_release): Ditto.
18615
1575c31e
JD
186162002-07-16 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
18617
18618 * arm.c (emit_sfm): Don't set RTX_FRAME_RELATED_P on DWARF.
18619
186202002-07-16 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
18621 Richard Earnshaw <rearnsha@arm.com>
18622
e5faf155 18623 * arm.h (LEGITIMATE_PIC_OPERAND_P): Only test
1575c31e
JD
18624 CONSTANT_POOL_ADDRESS_P if a SYMBOL_REF. Simplify logic.
18625
3894f59e
RE
186262002-07-16 Richard Earnshaw <rearnsha@arm.com>
18627
18628 * arm.md (stack_tie): New insn. Use an idiom that the alias code
18629 understands to be a memory clobber.
18630 * arm.c (arm_expand_prologue): Use it.
18631
e0b89be2 186322002-07-16 Daniel Berlin <dberlin@dberlin.org>
54b2a7f8
DB
18633
18634 * ra-rewrite.c: #include reload.h, insn-config.h
18635 * ra-build.c: #include reload.h
18636 * Makefile.in: Update ra-rewrite.o, ra-build.o dependencies to
e5faf155 18637 depend on reload.h, insn-config.h.
54b2a7f8 18638
cffa2189
R
18639Tue Jul 16 11:57:45 2002 J"orn Rennecke <joern.rennecke@superh.com>
18640
18641 * expr.c (emit_move_insn_1): Handle arbitrary moves that are
18642 the same size as a word.
18643
18644 * regrename.c (find_oldest_value_reg): Take WORDS_BIG_ENDIAN /
18645 BYTES_BIG_ENDIAN into account.
18646
052c96b1
JH
18647Tue Jul 16 12:22:44 CEST 2002 Jan Hubicka <jh@suse.cz>
18648
18649 * i386.md (prefetch): Fix for 64bit mode.
18650 (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
18651
18652 * i386.md (movss, movsd): Use xorps/xorpd for Athlon.
18653
ae32926b
MM
186542002-07-16 Marek Michalkiewicz <marekm@amelek.gda.pl>
18655
18656 * hard-reg-set.h (TEST_HARD_REG_BIT): Return 1 if the bit is set.
18657
6c535c69
ZW
186582002-07-15 Zack Weinberg <zack@codesourcery.com>
18659
18660 * ginclude/varargs.h: Replace with stub which issues #error.
18661 * ginclude/stdarg.h: __builtin_stdarg_start is renamed
18662 __builtin_va_start.
18663
18664 * builtins.def (BUILT_IN_VARARGS_START): Delete.
18665 (BUILT_IN_VA_START): New.
18666 * builtins.c (expand_builtin_va_start): Eliminate first
18667 argument and code to implement pre-ISO varargs.
18668 (std_expand_builtin_va_start): Ignore first argument; it is
18669 always 1.
18670 (expand_builtin): Handle BUILT_IN_VA_START and
18671 BUILT_IN_STDARG_START identically. Delete
18672 BUILT_IN_VARARGS_START case.
18673
18674 * function.c (assign_parms): Delete hide_last_arg and all
18675 its uses.
18676 (mark_varargs): Delete function.
18677 * function.h (struct function): Delete 'varargs' bit.
18678 (current_function_varargs): Delete macro.
18679 * tree.h: Don't declare mark_varargs.
18680
18681 * c-decl.c (c_function_varargs, c_mark_varargs): Delete.
18682 (c_expand_body): Don't call mark_varargs.
18683 * c-objc-common.c: Handle BUILT_IN_VA_START and
18684 BUILT_IN_STDARG_START identically. Delete
18685 BUILT_IN_VARARGS_START case.
18686 * c-tree.h: Don't declare c_mark_varargs.
18687 * c-parse.in: Remove grammar rules for '&...' (which has been
18688 commented out since before 2.7.2) and for '...' in K+R
18689 argument declarations.
18690
18691 * builtins.c, function.c, integrate.c, sibcall.c,
18692 config/alpha/unicosmk.h, config/arc/arc.c, config/arc/arc.h,
18693 config/avr/avr.c, config/cris/cris.c, config/fr30/fr30.c,
18694 config/i960/i960.c, config/i960/i960.md, config/m32r/m32r.c,
18695 config/m32r/m32r.h, config/m88k/m88k.c, config/m88k/m88k.h,
18696 config/mips/mips.c, config/mmix/mmix.c, config/mmix/mmix.h,
18697 config/mn10300/mn10300.c, config/pa/som.h, config/s390/s390.c,
18698 config/sh/sh.c, config/sh/sh.h, config/sparc/sparc.h,
18699 config/stormy16/stormy16.c: Delete all references to
18700 current_function_varargs, and code predicated on that flag.
18701
18702 * config/alpha/alpha.c (alpha_va_start),
18703 config/arc/arc.c (arc_va_start),
18704 config/i386/i386.c (ix86_va_start),
18705 config/mips/mips.c (mips_va_start),
18706 config/mn10300/mn10300.c (mn10300_va_start),
18707 config/rs6000/rs6000.c (rs6000_va_start),
18708 config/s390/s390.c (s390_va_start),
18709 config/sh/sh.c (sh_va_start),
18710 Ignore first argument; it is always 1.
18711
18712 * config/c4x/c4x-protos.h, config/c4x/c4x.c: Delete c4x_va_start.
18713 * config/ia64/ia64-protos.h, config/ia64/ia64.c: Delete ia64_va_start.
18714 * config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c:
18715 Delete m68hc11_va_start.
18716 * config/c4x/c4x.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h:
18717 No need to define EXPAND_BUILTIN_VA_START.
18718
18719 * doc/invoke.texi, doc/sourcebuild.texi, doc/tm.texi,
18720 doc/trouble.texi: Remove references to GCC-provided <varargs.h>.
18721
6d80a854
EB
187222002-07-15 Eric Botcazou <ebotcazou@multimania.com>
18723
18724 PR optimization/7153
18725 * regmove.c (optimize_reg_copy_3): Don't optimize if the register
18726 dies in more than one insn.
18727
043cfcbe
JT
187282002-07-15 Jason Thorpe <thorpej@wasabisystems.com>
18729
18730 * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Remove.
18731
ed8d2920 187322002-07-15 Michael Matz <matz@suse.de>,
6c535c69 18733 Daniel Berlin <dberlin@dberlin.org>,
ed8d2920
MM
18734 Denis Chertykov <denisc@overta.ru>
18735
18736 Add a new register allocator.
18737
18738 * ra.c: New file.
18739 * ra.h: New file.
18740 * ra-build.c: New file.
18741 * ra-colorize.c: New file.
18742 * ra-debug.c: New file.
18743 * ra-rewrite.c: New file.
18744
18745 * Makefile.in (ra.o, ra-build.o, ra-colorize.o, ra-debug.o,
18746 (ra-rewrite.o): New .o files for libbackend.a.
18747 (GTFILES): Add basic-block.h.
18748
18749 * toplev.c (flag_new_regalloc): New.
18750 (f_options): New option "new-ra".
18751 (rest_of_compilation): Call initialize_uninitialized_subregs()
18752 only for the old allocator. If flag_new_regalloc is set, call
18753 new allocator, instead of local_alloc(), global_alloc() and
18754 friends.
18755
18756 * doc/invoke.texi: Document -fnew-ra.
18757 * basic-block.h (FOR_ALL_BB): New.
18758 * config/rs6000/rs6000.c (print_operand): Write small constants
18759 as @l+80.
18760
18761 * df.c (read_modify_subreg_p): Narrow down cases for a rmw subreg.
18762 (df_reg_table_realloc): Make size at least as large as max_reg_num().
18763 (df_insn_table_realloc): Size argument now is absolute, not relative.
18764 Changed all callers.
18765
18766 * gengtype.c (main): Add the pseudo-type "HARD_REG_SET".
18767 * regclass.c (reg_scan_mark_refs): Ignore NULL rtx's.
18768
18769 2002-06-20 Michael Matz <matz@suse.de>
18770
18771 * df.h (struct ref.id): Make unsigned.
18772 * df.c (df_bb_reg_def_chain_create): Remove unsigned cast.
18773
18774 2002-06-13 Michael Matz <matz@suse.de>
18775
18776 * df.h (DF_REF_MODE_CHANGE): New flag.
18777 * df.c (df_def_record_1, df_uses_record): Set this flag for refs
18778 involving subregs with invalid mode changes, when
18779 CLASS_CANNOT_CHANGE_MODE is defined.
18780
18781 2002-05-07 Michael Matz <matz@suse.de>
18782
18783 * reload1.c (fixup_abnormal_edges): Don't insert on NULL edge.
18784
18785 2002-05-03 Michael Matz <matz@suse.de>
18786
18787 * sbitmap.c (sbitmap_difference): Accept sbitmaps of different size.
18788
18789 Sat Feb 2 18:58:07 2002 Denis Chertykov <denisc@overta.ru>
18790
18791 * regclass.c (regclass): Work with all regs which have sets or
18792 refs.
18793 (reg_scan_mark_refs): Count regs inside (clobber ...).
18794
18795 2002-01-04 Michael Matz <matzmich@cs.tu-berlin.de>
18796
18797 * df.c (df_ref_record): Correctly calculate SUBREGs of hardregs.
18798 (df_bb_reg_def_chain_create, df_bb_reg_use_chain_create): Only
18799 add new refs.
18800 (df_bb_refs_update): Don't clear insns_modified here, ...
18801 (df_analyse): ... but here.
18802
18803 * sbitmap.c (dump_sbitmap_file): New.
18804 (debug_sbitmap): Use it.
18805
18806 * sbitmap.h (dump_sbitmap_file): Add prototype.
18807
18808 2001-08-07 Daniel Berlin <dan@cgsoftware.com>
18809
18810 * df.c (df_insn_modify): Grow the UID table if necessary, rather
18811 than assume all emits go through df_insns_modify.
18812
18813 2001-07-26 Daniel Berlin <dan@cgsoftware.com>
18814
18815 * regclass.c (reg_scan_mark_refs): When we increase REG_N_SETS,
18816 increase REG_N_REFS (like flow does), so that regclass doesn't
18817 think a reg is useless, and thus, not calculate a class, when it
18818 really should have.
18819
18820 2001-01-28 Daniel Berlin <dberlin@redhat.com>
18821
18822 * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP_REV): New macro, needed for
18823 dataflow analysis.
18824
794a292d
JJ
188252002-07-15 Jakub Jelinek <jakub@redhat.com>
18826
18827 PR middle-end/7245
18828 * config/i386/i386.c (const_int_1_31_operand): New.
18829 * config/i386/i386.h (PREDICATE_CODES): Add it.
18830 * config/i386/i386.md (ashlsi3_cmp, ashlsi3_cmp_zext, ashlhi3_cmp,
18831 ashlqi3_cmp, ashrsi3_cmp, ashrsi3_cmp_zext, ashrhi3_cmp, ashrqi3_cmp,
18832 lshrsi3_cmp, lshrsi3_cmp_zext, lshrhi3_cmp, lshrqi3_cmp): Use it.
18833
05d49501
AM
188342002-07-14 Alan Modra <amodra@bigpond.net.au>
18835
18836 PR target/7282
18837 * config/rs6000/rs6000.md (floatsidf2): Enable for POWERPC64.
18838 (floatunssidf2): Likewise.
18839 (floatsidf_ppc64): New insn_and_split.
18840 (floatunssidf_ppc64): Likewise.
18841
e89617fe
AJ
188422002-07-14 Andreas Jaeger <aj@suse.de>
18843
18844 * config.gcc (sh64): Remove unused
18845 target_requires_64bit_host_wide_int.
18846
78762e3b
RS
188472002-07-12 Roger Sayle <roger@eyesopen.com>
18848
18849 * expr.c [CLEAR_RATIO]: New macro defining the maximum number
18850 of move instructions to use when clearing memory, c.f. MOVE_RATIO.
18851 [CLEAR_BY_PIECES]: New macro, using CLEAR_RATIO, to determine
18852 whether clear_by_pieces should be used to clear storage.
18853 (clear_storage): Use CLEAR_BY_PIECES instead of MOVE_BY_PIECES.
18854
18855 * doc/tm.texi: Document these two new target macros.
18856
f7a454e9
SC
188572002-07-12 Stephane Carrez <stcarrez@nerim.fr>
18858
18859 * config/m68hc11/m68hc11.md ("zero_extendsidi2"): Use D_REG only for
18860 the scratch register.
18861 ("*movhi2_push"): Accept Z_REG because a split pattern can make use
18862 of it, forbid reload to use it.
18863
26af4041
MM
188642002-07-12 Marek Michalkiewicz <marekm@amelek.gda.pl>
18865
18866 * config/avr/avr.c (test_hard_reg_class): Fix TEST_HARD_REG_BIT
18867 usage on 64-bit hosts, return value was truncated to 32 bits.
18868
226cfe61
R
18869Fri Jul 12 00:49:36 2002 J"orn Rennecke <joern.rennecke@superh.com>
18870
18871 * simplify-rtx.c (simplify_subreg): Handle floating point
18872 CONST_DOUBLEs. When an integer subreg of a smaller mode than
18873 the element mode is requested, compute a subreg with an
18874 integer mode of the same size as the element mode first.
18875
25c25947
R
18876Thu Jul 11 22:02:57 2002 J"orn Rennecke <joern.rennecke@superh.com>
18877
18878 * combine.c (try_combine): When converting a paradoxical subreg
18879 to an extension, take LOAD_EXTEND_OP into account.
18880
789b7de5
RO
188812002-07-11 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
18882
18883 * config.gcc (mips-sgi-irix6*o32): New configuration.
18884
18885 * configure.in (libgcc_visibility): Disable for mips-sgi-irix6*o32
18886 configurations.
18887 * configure: Regenerate.
18888
18889 * config/mips/iris6-o32-as.h: New file.
18890 * config/mips/iris6-o32.h: New file.
e89617fe 18891
789b7de5
RO
18892 * config/mips/iris5gas.h (TARGET_ASM_NAMED_SECTION): Define.
18893 (NM_FLAGS): Define.
18894 (HAVE_AS_SHF_MERGE): Undefine.
18895
18896 * config/mips/t-iris5-as: New file.
18897 * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
18898
18899 * config/mips/t-iris6 (SHLIB_EXT, SHLIB_SOLINK, SHLIB_SONAME,
18900 SHLIB_NAME, SHLIB_MAP, SHLIB_OBJS, SHLIB_SLIBDIR_QUAL, SHLIB_LINK,
18901 SHLIB_INSTALL, SHLIB_MKMAP, SHLIB_MAPFILES, FPBIT, DPBIT,
18902 dp-bit.c, fp-bit.c): Move ...
18903 * config/mips/t-iris5-6: ... here.
18904 New file, shared by IRIX 5 and IRIX 6.
18905 * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix6*,
18906 mips-sgi-irix5*): Use it.
18907
18908 * config/mips/iris6.h: Remove duplicate comment.
18909
18910 * config/mips/mips.c (TARGET_ASM_UNALIGNED_DI_OP) [TARGET_IRIX5 &&
18911 !TARGET_IRIX6]: Define.
18912 (mips_asm_file_start): Don't emit mdebug.<ABI> sections on IRIX 5/6.
18913
18914 * config/mips/mips.h (ASM_DECLARE_FUNCTION_NAME): Fix comment.
18915
a18c2c5f
JDA
189162002-07-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
18917
18918 * pa.md (adddi3): Change predicate of operand 2 to adddi3_operand
18919 and delete code to force constant to register.
18920 * pa-protos.h (adddi3_operand): Add prototype.
18921 * pa.c (adddi3_operand): New function.
18922
e65a2d65
RS
189232002-07-11 Roger Sayle <roger@eyesopen.com>
18924
18925 * c-decl.c (duplicate_decls): Preserve the noreturn attribute on
18926 non-ANSI builtin functions.
18927
a06e3c40
R
18928Thu Jul 11 11:31:12 2002 J"orn Rennecke <joern.rennecke@superh.com>
18929
18930 * rtl.h (gen_rtx_CONST_VECTOR): Declare.
18931 * gengenrtl.c (special_rtx): Check for CONST_VECTOR.
18932 * emit-rtl.c (gen_rtx_CONST_VECTOR): New function.
18933 (gen_const_vector_0): Use it.
18934
47abc309
JDA
189352002-07-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
18936
18937 * pa.md (adddi3): For 32-bit targets, force constants to a register
18938 if they don't fit in an 11-bit immediate. Change insn predicate to
18939 arith11_operand. Remove comment.
18940 * pa.c (cint_ok_for_move): Fix comment.
18941 (emit_move_sequence): Don't directly split DImode constants on 32-bit
18942 targets.
18943
8ac9d31f
TJ
189442002-07-11 Tim Josling <tej@melbpc.org.au>
18945
e89617fe 18946 Remove front end hard coding from gengtype.c.
8ac9d31f
TJ
18947
18948 * Makefile.in
18949 (STAGESTUFF): add gtyp-gen.h
18950 (GTFILES): Remove front end specific files.
18951 (GTFILES_FILES_LANGS): New, from configure..
18952 (GTFILES_FILES_FILES): Likewise.
18953 (GTFILES_LANG_DIR_NAMES): Likewise.
18954 (GTFILES_SRCDIR): Likewise.
18955 (gtyp-gen.h): Build from configure information.
18956 (s-gtype): Remove command line parameters from gengtype.
18957 (gengtype.o): Remove dependency on GTFILES. Depend on gtyp-gen.h.
18958 (mostlyclean): Delete files generated by and for gengtype.
18959
18960 * c-config-lang.in: New file.
18961
18962 * configure.in (all_gtfiles_files_langs): New. Accumulate files
18963 for each language.
18964 (all_gtfiles_files_files): New. Accumulate language for each file
18965 accumulated.
18966 (gtfiles): Pick up value for C.
18967 (srcdir): AC-SUBST this variable.
18968 (all_gtfiles_files_langs): AC-SUBST this variable.
18969 (all_gtfiles_files_files): AC-SUBST this variable.
e89617fe 18970
8ac9d31f 18971 * configure: Regenerate.
e89617fe 18972
8ac9d31f
TJ
18973 * gengtype-lex.l (parse_file): Make parameter const.
18974
18975 * gengtype.c (toplevel): include gtyp-gen.h.
18976 (BASE_FILE_<language> unnamed enum): Delete.
18977 (lang_names): Delete (replaced by gtyp-gen.h)
18978 (lang_dir_names): From gtyp-gen.h, replaces lang_names; changed
18979 all references.
18980 (NUM_GT_FILES): New.
18981 (NUM_LANG_FILES): New.
18982 (srcdir_len): New.
18983 (NUM_BASE_FILES): Change calculation.
18984 (open_base_files): Change prototype to avoid warning.
18985 (startswith): Delete.
18986 (get_file_basename): Iterate through generated language list not
18987 hard coded list.
18988 (get_base_file_bitmap): Use generated list of files and languages.
18989 (close_output_files): Add prototype to rmove warning.
18990 (main): Iterate through list of generated files from gtyp-gen.h
18991 rather than command line paramaters. Ignore duplicated file
e89617fe 18992 names.
8ac9d31f
TJ
18993
18994 * gengtype.h (parse_file): Amend prototype for const parameter.
e89617fe 18995
8ac9d31f
TJ
18996 * doc/sourcebuild.texi: Document gtfiles variable.
18997
18998 * doc/gty.texi: Document changes to gtfiles variable for front
18999 ends.
19000
19001 * objc/config-lang.in (gtfiles): Add files needed for objc front
19002 end.
19003
0e603223
RS
190042002-07-10 Roger Sayle <roger@eyesopen.com>
19005
19006 PR c/2454
19007 * combine.c (nonzero_bits): LOAD_EXTEND_OP should only apply
19008 to SUBREGs of MEMs. (num_sign_bit_copies): Likewise.
19009
c5358a5d
RS
190102002-07-10 Roger Sayle <roger@eyesopen.com>
19011 Zack Weinberg <zack@codesourcery.com>
19012
19013 * builtins.def: Make the argument types of abort and exit
19014 independent of the front-end.
19015
a35f8b74
AM
190162002-07-11 Alan Modra <amodra@bigpond.net.au>
19017
19018 * config/rs6000/linux64.h (ASM_SPEC): Define.
19019
89e7058f
AH
190202002-07-10 Aldy Hernandez <aldyh@redhat.com>
19021
6c535c69
ZW
19022 * config/rs6000/rs6000.c (emit_frame_save): New.
19023 (rs6000_frame_related): Replace reg2 before reg.
19024 (rs6000_emit_prologue): Use emit_frame_save for saving gprs, fprs,
19025 and eh_return registers.
89e7058f 19026
086bbd21
TM
190272002-07-10 Toon Moene <toon@moene.indiv.nluug.nl>
19028
19029 Revert all patches for optimization of Complex .op. Real.
19030 * complex_part_zero_p: Remove
19031 * expand_cmplxdiv_straight: Replace complex_part_zero_p(x)
19032 with x.
19033 * expand_cmplxdiv_wide: Ditto.
19034 * expand_binop: Ditto.
19035
126dbce0
MM
190362002-07-10 Marek Michalkiewicz <marekm@amelek.gda.pl>
19037
19038 * config/avr/avr.md: Fix two 0x80000000 constants to make them
19039 negative also on 64-bit hosts.
19040
19041 Default to -fno-reorder-blocks when optimizing for size.
19042 * config/avr/avr-protos.h (avr_optimization_options): Declare.
19043 * config/avr/avr.c (avr_optimization_options): New function.
19044 * config/avr/avr.h (OPTIMIZATION_OPTIONS): New.
19045
19046 Optimize returning from simple functions.
19047 * config/avr/avr-protos.h (avr_simple_epilogue): Declare.
19048 * config/avr/avr.c (avr_simple_epilogue): New function.
19049 * config/avr/avr.md (return): New insn.
19050
21c318ba
DR
190512002-07-10 Douglas B Rupp <rupp@gnat.com>
19052
19053 * config/i386/i386.c (ix86_svr3_asm_out_constructor): Add
19054 HAS_INIT_SECTION to protection.
19055
537834c8
MM
190562002-07-10 Mark Mitchell <mark@codesourcery.com>
19057
19058 * doc/invoke.texi (Debugging Options): Mention that -gdwarf is
19059 deprecated.
19060
80ba02b1
R
19061Wed Jul 10 19:50:03 2002 J"orn Rennecke <joern.rennecke@superh.com>
19062
19063 * combine.c (gen_lowpart_for_combine): Handle vector modes.
19064 Supply non-VOID mode to simplify_gen_subreg.
19065
ae3aa00d
JH
19066Wed Jul 10 18:48:55 CEST 2002 Jan Hubicka <jh@suse.cz>
19067
19068 * i386.c (ix86_init_mmx_sse_builtins): Fix thinko.
19069
029f3983
JL
190702002-07-10 Jeffrey A Law <law@redhat.com>
19071
7a464913
JL
19072 * mn10200.c (expand_prologue): Create REG_MAYBE_DEAD notes
19073 as appropriate.
19074
6c535c69
ZW
19075 * mn10200.c (expand_epilogue): Fix test to determine which scratch
19076 register to use.
029f3983 19077
ff27a429
R
19078Wed Jul 10 16:06:00 2002 J"orn Rennecke <joern.rennecke@superh.com>
19079
19080 * cse.c (cse_insn): Supply proper SUBREG_BYTE to simplify_gen_subreg.
19081 Get mode from dest.
19082 If simplify_gen_subreg fails, try next equivalent.
19083
e6986399
GDR
190842002-07-09 Gabriel Dos Reis <gdr@codesourcery.com>
19085
19086 * diagnostic.h: #include location.h
19087 (location_t): Move definition to..
19088 * location.h: ... here. New file.
19089 * tree.h: #include location.h
19090 (DECL_SOURCE_LOCATION): New macro.
19091 (DECL_SOURCE_FILE): Use.
19092 (DECL_SOURCE_LINE): Likewise.
19093 (struct tree_decl): REplace filename and linenum with locus.
19094 * Makefile.in (TREE_H): add location.h
19095 (diagnostic.o): Depends on gt-location.h
19096 (gt-location.h): Depends on s-gtype
19097
7990b46f
MK
190982002-07-09 Matt Kraai <kraai@alumni.cmu.edu>
19099
19100 * config/rs6000/aix.h: Convert CPP_PREDEFINES to
19101 TARGET_OS_CPP_BUILTINS.
19102 * config/rs6000/aix31.h: Likewise.
19103 * config/rs6000/aix41.h: Likewise.
19104 * config/rs6000/aix43.h: Likewise.
19105 * config/rs6000/aix51.h: Likewise.
19106 * config/rs6000/beos.h: Likewise.
19107 * config/rs6000/darwin.h: Likewise.
19108 * config/rs6000/eabi.h: Likewise.
19109 * config/rs6000/eabisim.h: Likewise.
19110 * config/rs6000/linux.h: Likewise.
19111 * config/rs6000/linux64.h: Likewise.
19112 * config/rs6000/lynx.h: Likewise.
19113 * config/rs6000/mach.h: Likewise.
19114 * config/rs6000/rtems.h: Likewise.
19115 * config/rs6000/sysv4.h: Likewise.
19116 * config/rs6000/vxppc.h: Likewise.
efa39e99
DP
19117
191182002-07-09 Devang Patel <dpatel@apple.com>
19119 * objc/objc-act.c (adjust_type_for_id_default): Fix my previous patch.
19120 Do not allow ObjC objects as a parameter type for Objective-C methods.
19121 My previous patch restricted 'struct' also.
e89617fe 19122
cd98faa1
NB
191232002-07-09 Neil Booth <neil@daikokuya.co.uk>
19124
19125 * cpperror.c (cpp_error): Default to directive_line within
19126 directives here.
19127 * cppexp.c (cpp_interpret_integer): Only use traditional
19128 number semantics in directives.
19129 * cpplib.c (prepare_directive_trad): Don't reset pfile->line.
19130 (do_include_common): Similarly.
19131 * cpptrad.c (scan_out_logical_line): Implement accurate
19132 quoting of <> in #include.
19133 * doc/cpp.texi: Update.
19134
2ad65b0e 19135Tue Jul 9 22:37:44 2002 Stephen Clarke <stephen.clarke@superh.com>
6c535c69 19136 J"orn Rennecke <joern.rennecke@superh.com>
2ad65b0e
SC
19137
19138 * sh.c (sh_adjust_cost): Special handling of SHMEDIA code.
19139 * sh.md (attribute issues): Replace with:
19140 (attribute pipe_model). All users changed.
19141 (attribute type): Change pt / ptabs to pt_media / ptabs_media.
19142 All users changed.
19143 (function units sh5issue, sh5fds): New.
19144 (attribute is_mac_media): New.
19145 (adddi3_media, subdi3_media, divsi3_i1_media, anddi3): Add type.
19146 (andcdi3, iordi3, xordi3, ashldi3_media, lshrdi3_media): Likewise.
19147 (ashrdi3_media, negdi_media, extendsidi2, movqi_media): Likewise.
19148 (movhi_media, shori_media, movv2sf_i, jump_media): Likewise.
19149 (call_media, call_value_media, sibcall_media): Likewise.
19150 (casesi_jump_media, casesi_shift_media, casesi_load_media): Likewise.
19151 (return_media_i, addsf3_media, subsf3_media, mulsf3_media): Likewise.
19152 (mac_media, divsf3_media, floatdisf2, floatsisf2_media): Likewise.
19153 (fix_truncsfdi2, fix_truncsfsi2_media, cmpeqsf_media): Likewise.
19154 (cmpgtsf_media, cmpgesf_media, cmpunsf_media, negsf2_media): Likewise.
19155 (sqrtsf2_media, abssf2_media, adddf3_media, subdf3_media): Likewise.
19156 (muldf3_media, divdf3_media, floatdidf2, floatsidf2_media): Likewise.
19157 (fix_truncdfdi2, fix_truncdfsi2_media, cmpeqdf_media): Likewise.
19158 (cmpgtdf_media, cmpgedf_media,cmpundf_media, negdf2_media): Likewise.
19159 (sqrtdf2_media, absdf2_media, extendsfdf2_media): Likewise.
19160 (truncdfsf2_media): Likewise.
19161 (movsi_media, movsi_media_nofpu, movdi_media): Use new types.
19162 (movdi_media_nofpui, movdf_media, movdf_media_nofpu): Likewise.
19163
b6d33983
R
19164Tue Jul 9 21:39:50 2002 J"orn Rennecke <joern.rennecke@superh.com>
19165
19166 * sh.h (PREDICATE_CODES): Add general_extend_operand and inqhi_operand.
19167 * sh.c (general_extend_operand, inqhi_operand): New functions.
19168 * sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): Collapse
19169 alternatives using 'N' modifier. Add type.
19170 (adddi3z_media): Likewise. Enable generator function generation.
19171 (movdicc_false, movdicc_true, addsi3_media, subsi3_media): Use more
19172 exact predicates / constraints. Add type.
19173 (subsi3): Allow 0 for SHMEDIA.
19174 (udivsi3_i4_media): Use match_operand for input values
19175 rather than hard registers.
19176 (udivsi3 - TARGET_SHMEDIA_FPU case): Don't ferry values
19177 unnecessarily through hard registers. Keep copies of pseudo
19178 registers outside of the libcall sequence.
19179 (mulsidi3_media, umulsidi3_media): Use more exact predicates. Add type.
19180 (ashlsi3_media, ashrsi3_media, lshrsi3_media): Likewise.
19181 (zero_extendsidi2, zero_extendhidi2, zero_extendqidi2): Likewise.
19182 (extendhidi2, extendqidi2): Likewise.
19183 (andsi3_compact): Name.
19184 (andcdi3): Enable generator function generation.
19185 (zero_extendhisi2, zero_extendqisi2): Rename to
19186 (zero_extendhisi2_compact, zero_extendqisi2_compact).
19187 (extendhisi2, extendqisi2): Rename to
19188 (extendhisi2_compact, extendqisi2_compact).
19189 (rotldi3, rotldi3_mextr, rotrdi3, rotrdi3_mextr): New patterns.
19190 (loaddi_trunc, zero_extendhisi2, zero_extendhisi2_media): Likewise.
19191 (zero_extendhisi2_media+1, zero_extendqisi2): Likewise.
19192 (zero_extendqisi2_media, extendhisi2, extendhisi2_media): Likewise.
19193 (extendhisi2_media, extendhisi2_media+1, extendqisi2): Likewise.
19194 (extendqisi2_media, extendqisi2_media+1, truncdisi2): Likewise.
19195 (truncdihi2, truncdiqi2, reload_inqi, reload_inhi): Likewise.
19196 (shmedia32_initialize_trampoline_big): Likewise.
19197 (shmedia32_initialize_trampoline_little): Likewise.
19198 (nsb, nsbsi, nsbdi, ffsdi2, ffssi2, byterev): Likewise.
19199 (negdi2): Remove spurious T clobber.
19200 (zero_extendhidi2+1, extendhidi2+1, extendqidi2+1): Handle TRUNCATE.
19201 (movsi_media, movsi_media_nofpu): Remove spurious *k after b.
19202 (movdi_media, movdi_media_nofpu, pt, ptb): Likewise.
19203 (movsi_media_nofpu+2, movhi_media+1): Only do split after reload.
19204 (ic_invalidate_line_media): Write back data cache before invalidating
19205 instruction cache. Add type.
19206 (movsf_media): Sign-extend when the destination is a general
19207 purpose register. Add type.
19208 (bgt_media, bge_media, bgtu_media, bgeu_media, blt_media_i): Allow 0.
19209 (casesi_worker_0+1): Only increment ref count for proper label.
19210 (casesi_worker_0+2): Likewise.
19211
7ca0873c
MM
192122002-07-09 Mark Mitchell <mark@codesourcery.com>
19213
19214 * dwarfout.c (dwarfout_init): Warn that DWARF1 is deprecated.
19215
26b10ae0 192162002-07-09 Steve Ellcey <sje@cup.hp.com>
7ca0873c 19217
26b10ae0
SE
19218 * gcc/except.c (expand_eh_region_end_cleanup): Change exception pointer
19219 from Pmode to ptr_mode.
19220 (get_exception_pointer): Ditto.
19221 (connect_post_landing_pads): Ditto.
19222 (dw2_build_landing_pads): Ditto.
19223
0c3a2ea0
SE
192242002-07-08 Steve Ellcey <sje@cup.hp.com>
19225 * gcc/c-pragma.h (add_to_renaming_pragma_list): New function.
19226 * gcc/c-pragma.c (add_to_renaming_pragma_list): New function.
19227 (handle_pragma_redefine_extname): Change to use new function.
19228
26c34780
RS
192292002-07-08 Roger Sayle <roger@eyesopen.com>
19230
19231 * combine.c (combine_simplify_rtx): Add an explicit cast
19232 to avoid signed/unsigned comparison warning.
19233 (simplify_if_then_else): Likewise.
19234 (extended_count): Likewise.
19235 (simplify_shift_const): Likewise.
19236 (simplify_comparison): Likewise.
19237
1d4047e0
RS
192382002-07-08 Richard Sandiford <rsandifo@redhat.com>
19239
19240 * config/mips/mips.md: Add imadd type. Update scheduler description
19241 to use imadd as well as imul.
19242 (*mul_acc_si, *madsi): Change imul alternatives to imadd.
19243 (*mul_acc_di, *mul_acc_64bit_di): Likewise.
19244 (*mul_sub_si): Likewise for first alternative. Change second
19245 alternative from imul to multi.
19246
5351f1ca
NB
192472002-07-07 Neil Booth <neil@daikokuya.co.uk>
19248
19249 * c-common.c (c_common_post_options): Update prototype;
19250 don't init backends if preprocessing only.
19251 * langhooks-def.h (LANG_HOOKS_POST_OPTIONS): Update.
19252 * langhooks.h (struct lang_hooks): Update post_options to
19253 return a boolean.
19254 * toplev.c (parse_options_and_default_flags, do_compile,
19255 lang_independent_init): Update prototypes. Allow the
19256 front end to specify that there is no need to initialize
19257 the back end.
19258 (general_init): Move call to hex_init here...
19259 (toplev_main): ...from here. Pass flag for back end init
19260 suppression.
19261
c8cc4417
R
19262Sun Jul 7 20:38:38 2002 J"orn Rennecke <joern.rennecke@superh.com>
19263
19264 * sh.h (PRINT_OPERAND_PUNCT_VALID_P): Allow '\''.
19265 (PREDICATE_CODES): Add entries for equality_comparison_operator,
19266 greater_comparison_operator and less_comparison_operator.
19267 * sh.c (print_operand): Add '\'' code. Make 'o' handle
19268 more operators.
19269 (equality_comparison_operator): New function.
19270 (greater_comparison_operator, less_comparison_operator): Likewise.
19271 * sh.md (beq_media_i): Disable generator function generation.
19272 Use match_operator to handle a whole class of comparisons. Add
19273 modifier in output template to provide branch prediction. Add type.
19274 (bgt_media_i, ble_media_i): Likewise. Allow zero operands.
19275 (bne_media_i, bge_media_i, bgtu_media_i, bgeu_media_i): Delete.
19276 (blt_media_i, bleu_media_i, bltu_media_i): Likewise.
19277 (bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Allow zero operands.
19278
957ec0f9
HPN
192792002-07-07 Hans-Peter Nilsson <hp@bitrange.com>
19280
19281 Emit MMIX function prologue and epilogue as rtl.
19282 * config/mmix/mmix.md ("call"): Use mmix_get_hard_reg_initial_val,
19283 not unprototyped get_hard_reg_initial_val.
19284 ("call_value", "nonlocal_goto_receiver"): Ditto.
19285 ("return"): Make define_expand. Move real insn to...
19286 ("*expanded_return"): New pattern.
19287 ("prologue", "epilogue"): New define_expands.
19288 * config/mmix/mmix.h (MMIX_rO_REGNUM): New macro.
19289 (struct machine_function): New member in_prologue.
19290 (FIRST_PSEUDO_REGISTER): Adjust for including rO as register.
19291 (FIXED_REGISTERS, CALL_USED_REGISTERS): Ditto.
19292 (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Ditto.
19293 (MMIX_GNU_ABI_REG_ALLOC_ORDER, REG_CLASS_CONTENTS): Ditto.
19294 (REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Ditto.
19295 (LOCAL_REGNO): Define. Adjust comment.
19296 * config/mmix/mmix.c (MMIX_CFUN_NEEDS_SAVED_EH_RETURN_ADDRESS):
19297 Consider regs_ever_live[MMIX_rJ_REGNUM], not just
19298 leaf_function_p.
19299 (MMIX_OUTPUT_REGNO): Don't translate registers while outputting
19300 the prologue.
19301 (mmix_target_asm_function_prologue): Make static. Just mark that
19302 the prologue is being emitted. Move guts to...
19303 (mmix_expand_prologue): New function. Adjust for emitting
19304 prologue as rtl. For sizes, use HOST_WIDE_INT only.
19305 (mmix_target_asm_function_epilogue): Make static. Simply emit a
19306 \n. Move guts to...
19307 (mmix_expand_epilogue): New function. Adjust for emitting
19308 epilogue as rtl. For sizes, use HOST_WIDE_INT only.
19309 (mmix_target_asm_function_end_prologue): Mark that the prologue
19310 has ended.
19311 (TARGET_ASM_FUNCTION_END_PROLOGUE): Define.
19312 (mmix_conditional_register_usage): Improve comments.
19313 (mmix_local_regno): New function.
19314 (mmix_emit_sp_add, mmix_get_hard_reg_initial_val): Ditto.
19315 * config/mmix/mmix-protos.h (mmix_local_regno): Prototype.
19316 (mmix_expand_prologue, mmix_expand_epilogue): Ditto.
19317 (mmix_get_hard_reg_initial_val): Ditto.
19318
7ab5c789
AJ
193192002-07-06 Andreas Jaeger <aj@suse.de>
19320
19321 * toplev.c (set_fast_math_flags): Don't use ISO C style function
19322 definitions.
19323 * gengtype.c (open_base_files): Likewise.
19324 (close_output_files): Likewise.
19325 * tracer.c (find_best_predecessor): Likewise.
19326 (find_best_successor): Likewise.
19327 (ignore_bb_p): Likewise.
19328
df061a43
RS
193292002-07-05 Roger Sayle <roger@eyesopen.com>
19330
19331 PR c++/7099
19332 * builtin-attrs.def: Define new attribute lists for use in
19333 builtins.def.
19334 * builtins.def [DEF_BUILTIN]: Modify to take an additional
19335 ATTRS argument, an enumerated value defined in builtin-attrs.def
19336 that represents the attribute list for the builtins. Modify
19337 all builtin functions to pass an appropriate attribute list.
19338 Specify "abort", "exit", "_exit" and "_Exit" builtins here with
19339 their required noreturn attributes.
19340 * tree.h (enum_builtin_function): Ignore the additional parameter
19341 to DEF_BUILTIN.
19342 * builtins.c (built_in_names): Likewise.
19343 * c-common.c: (builtin_function_2): Replace the "int noreturn_p"
19344 argument with a tree representing the functions attribute list.
19345 Pass this "attrs" argument to builtin_function. No longer handle
19346 the noreturn_p processing manually.
19347 (built_in_attributes): Move the definitions from builtin-attrs.def
19348 before c_common_nodes_and_builtins.
19349 (c_common_nodes_and_builtins): Handle the new ATTRS parameter in
19350 DEF_BUILTIN, passing it to both builtin_function and the changed
19351 builtin_function_2.
19352
19353 * doc/extend.texi: Document __builtin_abort, __builtin_exit,
19354 __builtin__exit and __builtin__Exit.
19355
e5eb8de8
SC
193562002-07-05 Stephane Carrez <stcarrez@nerim.fr>
19357
19358 * config/m68hc11/m68hc11.md ("*movqi_68hc12"): Avoid allocating
19359 QI mode registers in soft registers.
7ab5c789 19360 ("zero_extendqihi2"): Do not take into account soft registers
e5eb8de8
SC
19361 for register allocation (use '*' constraint).
19362
4c8aed14
SC
193632002-07-05 Stephane Carrez <stcarrez@nerim.fr>
19364
19365 * config/m68hc11/m68hc11.md ("*ashlsi3"): Avoid saving y if we know
19366 it is dead.
19367 ("*ashrsi3"): Likewise.
19368 ("*lshrsi3"): Likewise.
19369
99ed68ea
VM
193702002-07-05 Vladimir Makarov <vmakarov@redhat.com>
19371
19372 * genautomata.c (output_max_insn_queue_index_def): Take latencies
19373 into account.
19374
4c8aed14 193752002-07-05 Stephane Carrez <stcarrez@nerim.fr>
581fd392
SC
19376
19377 * config/m68hc11/m68hc11.md (peephole2): New peephole2 to optimize
19378 address computation and memory moves.
19379
9833f679
MM
193802002-07-03 Mark Mitchell <mark@codesourcery.com>
19381
19382 PR c++/6706
19383 * dwarfout.c (output_reg_number): Fix warning message.
19384 (output_bound_representation): Check SAVE_EXPR_RTL is not NULL
19385 before using it.
7ab5c789 19386
81bca2f5
RO
193872002-07-05 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
19388
19389 * gcc/gcc.c (asm_debug): Move initialization ...
19390 (init_spec): ... here.
19391
17f44f02
NS
193922002-07-05 Nathan Sidwell <nathan@codesourcery.com>
19393
19394 * c-parse.in (extdef): Append ';'.
19395 (old_style_parm_decls): Append ';'.
19396
da77408f
DJ
193972002-07-04 Daniel Jacobowitz <drow@mvista.com>
19398
19399 * configure.in: Correct typos: gcc_cv_as_gdwarf2_debug_flag to
19400 gcc_cv_as_gdwarf2_flag and gcc_cv_as_gstabs_debug_flag
19401 to gcc_cv_as_gstabs_flag.
19402 * configure: Rebuilt.
19403
ec52b446
GK
194042002-07-04 Geoffrey Keating <geoffk@redhat.com>
19405
19406 * ggc.h (ggc_add_root): Document as obsolete.
19407
8721e3df
R
19408Thu Jul 4 07:58:01 2002 J"orn Rennecke <joern.rennecke@superh.com>
19409
19410 * sh.md (mshfhi_b, mshflo_b, mshfhi_l, mshflo_l, mshfhi_w): Add DONE.
19411 (mshflo_w): Likewise.
19412
3767c0fd
R
19413Thu Jul 4 07:36:29 2002 J"orn Rennecke <joern.rennecke@superh.com>
19414
19415 * simplify-rtx.c (simplify_subreg): Reduce problem of finding
19416 vector mode subregs of constants to finding integer mode
19417 subregs of constants.
19418 * cse.c (cse_insn): Use simplify_gen_subreg.
19419 * convert.c (convert_to_integer): Don't strip a NOP_EXPR
19420 From a vector mode expression of different size than the
19421 target mode.
19422
4e314d1f
EC
194232002-07-03 Eric Christopher <echristo@redhat.com>
19424
19425 * config/mips/linux.h: Add #undef for SUBTARGET_CPP_SPEC.
19426 * config/mips/mips.h: Remove deprecated -m<processor> options
19427 and cc1_cpu_spec associated.
19428 (CONSTANT_ADDRESS_P): Fix last patch.
19429 (ASM_DECLARE_FUNCTION_NAME): Declare. Fix comment.
19430 * config/mips/mips.md (bungt, bunge, sungt_df, sungt_sf, sunge_df,
19431 sunge_sf): Remove.
19432
6f0361e3
SS
194332002-07-03 Stan Shebs <shebs@apple.com>
19434
19435 * config/darwin.h (APPLE_CC): Remove, not meaningful in FSF GCC.
19436 (STRINGIFY_THIS, REALLY_STRINGIFY): Remove.
19437 (CPP_SPEC): Remove insertion of APPLE_CC definition.
19438
3129af4c
RS
194392002-07-03 Roger Sayle <roger@eyesopen.com>
19440
19441 * combine.c (struct_undo): Change types of recorded substitutions
19442 to be either "int" or "rtx", instead of "unsigned int" and "rtx".
19443 (do_SUBST_INT): Change types of the substitution from unsigned int
19444 to int, to avoid compilation warning from SUBST_INT's only caller.
19445
19446 (make_extraction): Add cast to avoid compilation warning.
19447 (force_to_mode): Remove cast to avoid compilation warning.
19448
c7375e61
EB
194492002-07-03 Eric Botcazou <ebotcazou@multimania.com>
19450 Jeff Law <law@redhat.com>
19451
19452 * i386.md (length_immediate attribute): Fix typo.
19453 (length_address attribute): Likewise.
19454 (modrm attribute): Set it to 0 for immediate call instructions.
19455 (jcc_1 pattern): Set modrm attribute to 0.
19456 (jcc_2 pattern ): Likewise.
19457 (jump pattern): Likewise.
19458 (doloop_end_internal pattern): Explicitly set length.
19459 (leave pattern): Fix typo.
19460 (leave_rex64 pattern): Likewise.
19461
61c07d3c
DE
194622002-07-03 David Edelsohn <edelsohn@gnu.org>
19463
19464 * config/rs6000/rs6000.md (fix_truncdfsi2_internal): Ignore DImode
19465 in FPR as preference.
19466 (fctiwz): Same.
19467 (floatdidf2, fix_truncdfdi2): Same.
19468 (floatdisf2, floatditf2, fix_trunctfdi2): Same.
19469 (floatditf2): Same.
19470 (floatsitf2, fix_trunctfsi2): SImode in GPR.
19471 (ctrdi): Remove FPR alternative and splitter.
19472
194732002-07-03 Will Cohen <wcohen@redhat.com>
77966be3
WC
19474
19475 * config/i386/i386.c (x86_integer_DFmode_moves): Disable for PPro.
19476
34a80643
R
19477Wed Jul 3 10:24:16 2002 J"orn Rennecke <joern.rennecke@superh.com>
19478
19479 * optabs.c (expand_vector_binop): Don't store using a SUBREG smaller
19480 than UNITS_PER_WORD, unless this is little endian and the first unit
19481 in this word. Let extract_bit_field decide how to load an element.
19482 Force arguments to matching mode.
19483 (expand_vector_unop): Likewise.
19484
19485 * simplify-rtx.c (simplify_subreg): Don't assume that all vectors
19486 consist of word_mode elements.
19487 * c-typeck.c (build_binary_op): Allow vector types for BIT_AND_EXPR,
19488 BIT_ANDTC_EXPR, BIT_IOR_EXPR and BIT_XOR_EXPR.
19489 (build_unary_op): Allow vector types for BIT_NOT_EPR.
19490 * emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg for
19491 CONST_VECTOR.
19492 * optabs.c (expand_vector_binop): Try to perform operation in
19493 smaller vector modes with same inner size. Add handling of AND, IOR
19494 and XOR. Reject expansion to inner-mode sized scalars when using
19495 OPTAB_DIRECT. Use simplify_gen_subreg on constants.
19496 (expand_vector_unop): Try to perform operation in smaller vector
19497 modes with same inner size. Add handling of one's complement.
19498 When there is no vector negate operation, try a vector subtract
19499 operation. Use simplify_gen_subreg on constants.
19500 * simplify-rtx.c (simplify_subreg): Add capability to convert vector
19501 constants into smaller vectors with same inner mode, and to
19502 integer CONST_DOUBLEs.
19503
622d3731
KG
195042002-07-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
19505
19506 * c-parse.in (parsing_iso_function_signature): New variable.
19507 (extdef_1): New, copied from...
19508 (extdef): ... here. Reset parsing_iso_function_signature.
19509 (old_style_parm_decls): Reset parsing_iso_function_signature.
19510 (old_style_parm_decls_1): New, copied from old_style_parm_decls.
19511 Warn about ISO C style function definitions.
19512 (nested_function, notype_nested_function): Reset
19513 parsing_iso_function_signature.
19514 (parmlist_2): Set parsing_iso_function_signature.
19515
19516 * doc/invoke.texi (-Wtraditional): Document new behavior.
19517
9bb46191
CD
195182002-07-02 Chris Demetriou <cgd@broadcom.com>
19519
19520 * config.gcc (mips*el-*-*): Use tm_defines to set
19521 TARGET_ENDIAN_DEFAULT, rather than including mips/little.h.
19522 * config/mips/little.h: Remove.
19523
e1c2dd26 195242002-07-02 Devang Patel <dpatel@apple.com>
c40da518 19525
c40da518 19526 * objc/objc-act.c (adjust_type_for_id_default): Do not allow an
31e25abd
CD
19527 object as parameter. Prevent something like 'NSObject' to be
19528 used as the type for a method argument.
c40da518 19529
0879540b
NB
195302002-07-03 Neil Booth <neil@daikokuya.co.uk>
19531
19532 * cpptrad.c: Update comment.
19533
b6fb43ab 195342002-07-02 Neil Booth <neil@daikokuya.co.uk>
4e314d1f 19535
b6fb43ab
NB
19536 * doc/cpp.texi: Update for traditional preprocessing changes.
19537 * goc/cppopts.texi: Similarly.
19538
c1c5187c
ZL
195392002-07-02 Ziemowit Laski <zlaski@apple.com>
19540
19541 * c-parse.in (designator): Enable designated initializers if ObjC.
19542 (objcmessageexpr): Remove references to objc_receiver_context.
19543 * objc/objc-act.h (objc_receiver_context): Remove decl.
19544 * objc/objc-act.c (objc_receiver_context): Remove.
19545 (lookup_objc_ivar): Test objc_method_context instead of
19546 objc_receiver_context.
19547
52702ae1
R
19548Tue Jul 2 18:45:45 2002 J"orn Rennecke <joern.rennecke@superh.com>
19549
19550 * sh.c (print_operand, case 'N'): Allow zero vector.
19551 (arith_reg_or_0_operand): Likewise.
19552 (zero_vec_operand): Check for CONST_VECTOR, not PARALLEL.
4e314d1f 19553 * sh.h (CONST_COSTS): 0 has 0 cost. Check OUTER_CODE for
52702ae1
R
19554 IOR, XOR, PLUS and SET and take their respective constant
19555 ranges into account.
19556 (PREDICATE_CODES, arith_reg_or_0_operand): Can be CONST_VECTOR.
19557 * sh.md (subdi3, subdi3_media): Allow zero operand.
19558 (movv8qi_i+3): Only vector that is not split is the zero vector.
19559 Fix operand 3 to simplify_subreg.
19560 (movv2si_i): Split alternative 1.
19561 (mshfhi_l_di_rev+1): New splitter.
19562
49e7b251
NB
195632002-07-02 Neil Booth <neil@daikokuya.co.uk>
19564
ba57a9c0 19565 PR preprocessor/7029
49e7b251
NB
19566 * cppinit.c (cpp_handle_option): Suppress warnings with an
19567 implicit "-w" for "-M" and "-MM".
19568 * doc/cppopts.texi: Update.
19569
a3acdc0c
RS
195702002-07-01 Roger Sayle <roger@eyesopen.com>
19571
19572 * config/sh/sh.c (sh_media_init_builtins): Change use of poisoned
19573 identifier "bzero" to "memset". Pass extra NULL_TREE argument to
19574 builtin_function.
19575
0b558962
AM
195762002-07-02 Alan Modra <amodra@bigpond.net.au>
19577
19578 * README.Portability: Fix typos.
19579
9a81c5b7
HPN
195802002-07-01 Hans-Peter Nilsson <hp@axis.com>
19581
19582 PR target/7177
19583 * config/cris/cris.h (LEGITIMIZE_RELOAD_ADDRESS): Correct number
19584 of indirections for register inside sign-extended mem part.
19585
6a2dd09a
RS
195862002-07-01 Roger Sayle <roger@eyesopen.com>
19587
19588 * tree.h: Modify builtin_function interface to take an extra
19589 argument ATTRS, which is a tree representing an attribute list.
19590
19591 * c-decl.c (builtin_function): Accept additional parameter.
19592 * objc/objc-act.c (builtin_function): Likewise.
19593 * f/com.c (builtin_function): Likewise.
19594 * java/decl.c (builtin_function): Likewise.
19595 * ada/utils.c (builtin_function): Likewise.
19596 * cp/decl.c (builtin_function): Likewise.
19597 (builtin_function_1): Likewise.
19598
19599 * c-common.c (c_common_nodes_and_builtins): Pass an additional
19600 NULL_TREE argument to builtin_function. (builtin_function_2):
19601 Likewise.
19602 * cp/call.c (build_java_interface_fn_ref): Likewise.
19603 * objc/objc-act.c (synth_module_prologue): Likewise.
19604 * java/decl.c (java_init_decl_processing): Likewise.
19605 * f/com.c (ffe_com_init_0): Likewise.
19606
19607 * config/alpha/alpha.c (alpha_init_builtins): Pass an additional
19608 NULL_TREE argument to builtin_function.
19609 * config/arm/arm.c (def_builtin): Likewise.
19610 * config/c4x/c4x.c (c4x_init_builtins): Likewise.
19611 * config/i386/i386.c (def_builtin): Likewise.
19612 * config/ia64/ia64.c (def_builtin): Likewise.
19613 * config/rs6000/rs6000.c (def_builtin): Likewise.
19614
e20569ae
ZW
196152002-07-01 Zack Weinberg <zack@codesourcery.com>
19616
19617 * config/ip2k/t-ip2k: Remove LIBGCC1, CROSS_LIBGCC1, and LIBGCC1_TEST.
19618 * config/mips/t-isa3264: Likewise.
19619 * config/mmix/t-mmix: Likewise.
19620
f1b690f1
JDA
196212002-07-01 John David Anglin <dave@hiauly1.hia.nrc.ca>
19622
19623 * emit-rtl.c (init_emit_once): Add missing cast to HOST_WIDE_INT.
19624
6bfa5aac
RS
196252002-07-01 Roger Sayle <roger@eyesopen.com>
19626
19627 PR opt/4046
19628 * fold-const.c (fold) [COND_EXPR]: Simplify A ? 0 : 1 to !A,
19629 A ? B : 0 to A && B and A ? B : 1 into !A || B if both A and
19630 B are truth values.
19631
9a5c1b9d
NN
196322002-07-01 Nathanael Nerode <neroden@gcc.gnu.org>
19633
19634 * config/mmix/t-mmix: Eliminate last reference to LIBGCC1_TEST.
19635
d3fc4dbc
MK
196362002-07-01 Matt Kraai <kraai@alumni.cmu.edu>
19637
3b2124df
MK
19638 * README.Portability (Function prototypes): Give an example of
19639 declaring and defining a function with no arguments.
19640
d3fc4dbc
MK
19641 * README.Portability (Function prototypes): Document new
19642 variable-argument function macros.
19643
c1b92d09
R
19644Mon Jul 1 19:55:17 2002 J"orn Rennecke <joern.rennecke@superh.com>
19645
19646 * sh.c (langhooks.h): Include.
19647 (sh_init_builtins, sh_media_init_builtins): New functions.
19648 (sh_expand_builtin, arith_reg_dest,and_operand): Likewise.
19649 (mextr_bit_offset, extend_reg_operand, zero_vec_operand): Likewise.
19650 (sh_rep_vec, sh_1el_vec, sh_const_vec): Likewise.
19651 (builtin_description): New struct tag.
19652 (signature_args, bdesc): New arrays.
19653 (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Undef / define.
19654 (print_operand): Add 'N' modifier.
19655 * sh.h (VECTOR_MODE_SUPPORTED_P): Add SHmedia vector modes.
19656 (EXTRA_CONSTRAINT_U, EXTRA_CONSTRAINT_W): New macros.
19657 (EXTRA_CONSTRAINT): Add 'U' and 'W' cases.
19658 (CONST_COSTS): Add special case for SHmedia AND.
19659 (PREDICATE_CODES): Add and_operand, arith_reg_dest,
19660 extend_reg_operand, extend_reg_or_0_operand, mextr_bit_offset,
19661 sh_const_vec, sh_1el_vec, sh_rep_vec, zero_vec_operand.
19662 target_operand can also be const or unspec.
19663 * sh.md (UNSPEC_INIT_TRAMP, UNSPEC_FCOSA UNSPEC_FSRRA): New constants.
19664 (UNSPEC_FSINA, UNSPEC_NSB, UNSPEC_ALLOCO): Likewise.
19665 (attribute type): Add new types.
19666 (anddi3): Add splitter.
19667 (movdi_const_16bit+1): Add code to handle vector constants and
19668 bitmasks efficiently.
19669 (shori_media): Have generator function made.
19670 (movv8qi, movv8qi_i, movv8qi_i+1, movv8qi_i+2): New patterns.
19671 (movv8qi_i+3, movv2hi, movv2hi_i, movv4hi, movv4hi_i): Likewise.
19672 (movv2si, movv2si_i, absv2si2, absv4hi2, addv2si3, addv4hi3): Likewise.
19673 (ssaddv2si3, usaddv8qi3, ssaddv4hi3, negcmpeqv8qi): Likewise.
19674 (negcmpeqv2si, negcmpeqv4hi, negcmpgtuv8qi, negcmpgtv2si): Likewise.
19675 (negcmpgtv4hi, mcmv, mcnvs_lw, mcnvs_wb, mcnvs_wub): Likewise.
19676 (mextr_rl, mextr_lr, mextr1, mextr2, mextr3, mextr4, mextr5): Likewise.
19677 (mextr6, mextr7, mmacfx_wl, mmacfx_wl_i, mmacnfx_wl): Likewise.
19678 (mmacnfx_wl_i, mulv2si3, mulv4hi3, mmulfx_l, mmulfx_w): Likewise.
19679 (mmulfxrp_w, mmulhi_wl, mmullo_wl, mmul23_wl, mmul01_wl): Likewise.
19680 (mmulsum_wq, mmulsum_wq_i, mperm_w, mperm_w_little): LIkewise.
19681 (mperm_w_big, mperm_w0, msad_ubq, msad_ubq_i, mshalds_l): Likewise.
19682 (mshalds_w, ashrv2si3, ashrv4hi3, mshards_q, mshfhi_b): Likewise.
19683 (mshflo_b, mshf4_b, mshf0_b, mshfhi_l, mshflo_l, mshf4_l): Likewsie.
19684 (mshf0_l, mshfhi_w, mshflo_w, mshf4_w, mshf0_w, mshfhi_l_di): Likewise.
19685 (mshfhi_l_di_rev, mshflo_l_di, mshflo_l_di_rev): Likewise.
19686 (mshflo_l_di_x, mshflo_l_di_x_rev, ashlv2si3, ashlv4hi3): Likewise.
19687 (lshrv2si3, lshrv4hi3, subv2si3, subv4hi3, sssubv2si3): Likewise.
19688 (ussubv8qi3, sssubv4hi3, fcosa_s, fsina_s, fipr, fsrra_s): Likewise.
19689 (ftrv): Likewise.
19690
19691 (fpu_switch+1, fpu_switch+2): Remove constraint.
19692
97ebc06f
AH
196932002-07-01 Aldy Hernandez <aldyh@redhat.com>
19694
6c535c69
ZW
19695 * tree.c (build_function_type_list): Update function comment.
19696 Rename first argument to return_type.
97ebc06f 19697
353a10d0
NB
196982002-07-01 Neil Booth <neil@daikokuya.co.uk>
19699
19700 * Makefile.in: Remove all trace of tradcpp.c, tradcpp.h,
19701 tradcif.y and related files.
19702
e34cabb3
NB
197032002-07-01 Neil Booth <neil@daikokuya.co.uk>
19704
19705 * cpptrad.c (skip_whitespace): Pass pointer to prior char.
19706
8bf3ccbb
KG
197072002-07-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
19708
19709 * mips.h (FUNCTION_ARG_REGNO_P): Fix parentheses.
19710
44eedb75 19711See ChangeLog.7 for earlier changes.
This page took 2.814123 seconds and 5 git commands to generate.