]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
locale-inst.cc: Do not include <cassert>.
[gcc.git] / gcc / ChangeLog
CommitLineData
35a3fa09
JH
1Mon Feb 17 16:16:54 CET 2003 Jan Hubicka <jh@suse.cz>
2
3 * recog.c (split_all_insns): Fix memory overflow.
4
6dc50366
KH
52003-02-17 Kazu Hirata <kazu@cs.umass.edu>
6
7 * config/h8300/h8300.md (cmpqi): Remove mode from compare.
8 (cmphi): Likewise.
9 (*cmphi_h8300): Likewise.
10 (*cmphi_h8300hs): Likewise.
11 (cmpsi): Likewise.
12 (7 peephole2): Likewise.
13
096daf41
JH
14Sun Feb 16 23:07:52 CET 2003 Jan Hubicka <jh@suse.cz>
15
16 * c-typeck.c (build_c_cast): Fold constant variables into
17 initial values.
18
35113fde
GP
192003-02-16 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
20
21 * doc/install.texi (Specific): Fix link for m68k-att-sysv.
22 (Binaries): Ditto for Sinix/Reliant Unix.
23
3a1944a6
RE
242003-02-16 Richard Earnshaw <rearnsha@arm.com>
25
26 * arm.c (arm_reload_in_hi): Ensure that the scratch register does
27 not overlap the final result register.
28
cdd4b0d4
AB
292003-02-16 Arend Bayer <arend.bayer@web.de>
30 Richard Henderson <rth@redhat.com>
31
ddb9eedd 32 PR c/8068
cdd4b0d4
AB
33 * fold-const.c (extract_muldiv_1): Rename from extract_muldiv;
34 rearrange mult arguments for less recursion.
35 (extract_muldiv): New. Prevent runaway recursion.
36
616f273a
DS
372003-02-16 Danny Smith <dannysmith@users.sourceforge.net>
38
39 * config/i386/cygwin.h (TARGET_SUBTARGET_DEFAULT): Set
40 MASK_ALIGN_DOUBLE.
41
881b2a96
RS
422003-02-15 Roger Sayle <roger@eyesopen.com>
43
44 * config/i386/i386.c (x86_ext_80387_constants): Use 80387 insns
45 to load mathematical constants on K6, Athlon, Pentium 4 and PPro.
46 (ext_80387_constants_table): Global table of 80387 special constants
47 guarded by ext_80387_constants_init flag when not initialized.
48 (init_ext_80387_constants): New function to initialize this table.
49 (standard_80387_constant_p): Extend to recognize extra 80387
50 constants, in XFmode, on processors where this is a win.
51 (standard_80387_constant_opcode): New function to return the
52 opcode associated with standard_80387_constant_p.
53 (standard_80387_constant_rtx): New function to return the XFmode
54 CONST_DOUBLE associated with standard_80387_constant_p.
55 (ix86_rtx_costs): Give the new constants the same cost as 1.0.
56
57 * config/i386/i386-protos.h (standard_80387_constant_opcode):
58 Prototype here.
59 (standard_80387_constant_rtx): Likewise.
60
61 * config/i386/i386.md (*movsf1, *movsf1_nointerunit, *movdf_nointeger,
62 *movdf_integer, *movxf_nointeger, *movtf_nointeger, *movxf_integer,
63 *movtf_integer): Simplify using new standard_80387_constant_opcode.
64
d203738b
GK
652003-02-15 Geoffrey Keating <geoffk@apple.com>
66
67 * doc/invoke.texi (Optimize Options): Correct @option syntax.
68
0b077eac
RH
692003-02-15 Richard Henderson <rth@redhat.com>
70
71 * Makefile.in (cfglayout.o): Depend on TARGET_H.
72 * cfglayout.c: Include target.h.
73 (cfg_layout_can_duplicate_bb_p): Check targetm.cannot_copy_insn_p.
74 * target-def.h (TARGET_CANNOT_COPY_INSN_P): New.
75 * target.h (struct gcc_target): Add cannot_copy_insn_p.
76
77 * config/alpha/alpha.c (alpha_cannot_copy_insn_p): New.
78 (TARGET_CANNOT_COPY_INSN_P): New.
79 (override_options): Revert 2003-02-08 hack.
80
9a71ece1
RH
812003-02-15 Richard Henderson <rth@redhat.com>
82
83 * gcse.c (bypass_block): Use BLOCK_FOR_INSN for resolving LABEL_REFs.
84 (bypass_conditional_jumps): Accept computed_jump_p insns as well.
85
b54cf83a
DE
862003-02-15 David Edelsohn <edelsohn@gnu.org>
87
88 * config/rs6000/rs6000.h (processor_type): Add PPC440.
89 * config/rs6000/rs6000.c (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
90 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
91 TARGET_SCHED_VARIABLE_ISSUE): Define.
92 (rs6000_use_dfa_pipeline_interface): New function.
93 (rs6000_multipass_dfa_lookahead): New Function.
94 (rs6000_variable_issue): New function.
95 (rs6000_adjust_cost): Add CMP and DELAYED_CR types.
96 (rs6000_issue_rate): Add PPC440.
97 * config/rs6000/rs6000.md (unspec list): Correct typo.
98 (attr "type"): Add load_ext, load_ext_u, load_ext_ux, load_u,
99 store_ux, store_u, fpload_ux, fpload_u, fpstore_ux, fpstore_u,
100 cmp, delayed_cr, mfcr, mtcr.
101 (automata_option): Set "ndfa".
102 (extendMMNN2): Update attributes.
103 (movcc_internal1): Discourage move to non-cr0. Update
104 attributes.
105 (movMM_update): Update attributes.
106 (cmpMM_internal): Update attributes.
107 (sCC CR materialization): Update attributes.
108 (branch patterns): Do not discourage non-cr0.
109 (cr logical patterns): Prefer destructive register allocation.
110 Update attributes.
111 (movesi_from_cr): Update attribute.
112 (mtcrf_operation): Update attribute.
113 (mtcrfsi): Update attribute.
114 * config/rs6000/40x.md: New file.
115 * config/rs6000/603.md: New file.
116 * config/rs6000/6xx.md: New file.
117 * config/rs6000/7450.md: New file.
118 * config/rs6000/7xx.md: New file.
119 * config/rs6000/mpc.md: New file.
120 * config/rs6000/power4.md: New file.
121 * config/rs6000/rios1.md: New file.
122 * config/rs6000/rios2.md: New file.
123 * config/rs6000/rs64.md: New file.
124 [Some DFA descriptions based on work by Michael Hayes]
125
99dc7277
RH
1262003-02-15 Richard Henderson <rth@redhat.com>
127
128 * bb-reorder.c (find_traces_1_round): Don't connect easy to copy
129 successors with multiple predecessors.
130 (connect_traces): Try harder to copy traces of length 1.
131
132 * function.h (struct function): Add computed_goto_common_label,
133 computed_goto_common_reg.
134 * function.c (free_after_compilation): Zap them.
135 * stmt.c (expand_computed_goto): Use them to produce one
136 indirect branch per function.
137
5f24e0dc
RH
1382003-02-15 Richard Henderson <rth@redhat.com>
139
140 * cfgcleanup.c: Include params.h.
141 (try_crossjump_bb): Use PARAM_MAX_CROSSJUMP_EDGES. Fix test for
142 too many outgoing edges from a block.
143 * Makefile.in (cfgcleanup.o): Depend on PARAMS_H.
144 * params.def (max-crossjump-edges): New.
145 * doc/invoke.texi: Document it.
146
9381bbc9
RH
1472003-02-15 Richard Henderson <rth@redhat.com>
148
149 * recog.c (split_all_insns): Include new blocks in life update;
150 do a global life update.
151
e898926c
DS
1522003-02-15 Danny Smith <dannysmith@users.sourceforge.net>
153
154 * config/i386/mingw32.h (LIBGCC_SPEC): Add libmingwex.a.
155 Update copyright.
156 * config/i386/cygwin.h (LIBGCC_SPEC): Add libmingwex.a for
157 -mno-cygwin case.
158
ce65116b
FH
1592003-02-14 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
160
161 PR optimization/7702
162 * reload1.c (reload_cse_simplify_set): Honor
163 CANNOT_CHANGE_MODE_CLASS.
164
fe7496dd
AO
1652003-02-14 Alexandre Oliva <aoliva@redhat.com>
166
167 * config/mn10300/mn10300.c (mn10300_wide_const_load_uses_clr): New
168 function.
169 * config/mn10300/mn10300-protos.h: Declare it.
170 * config/mn10300/mn10300.md (movdi, movdf): Use it to compute
171 attribute cc of instructions that may use clr.
172
6017c719
KH
1732003-02-14 Kazu Hirata <kazu@cs.umass.edu>
174
175 * simplify-rtx.c (simplify_binary_operation): Simplify ~y when
176 (x - (x & y)) is found.
177
9fb28a67
RO
1782003-02-14 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
179
180 * configure.in: Fix typo.
181 * configure: Regenerate.
182
60f469fa
KH
1832003-02-14 Kazu Hirata <kazu@cs.umass.edu>
184
185 * config/h8300/h8300.md (*iorsi2_and_1_lshiftrt_1): New.
186
8fd73754 1872003-02-13 Adam Nemet <anemet@lnxw.com>
60f469fa 188
ce65116b
FH
189 PR opt/2391
190 * combine.c: Fix spelling in comment.
191 (cached_nonzero_bits): New function.
192 (cached_num_sign_bit_copies): New function.
8fd73754
AN
193 (nonzero_bits_with_known): New macro.
194 (num_sign_bit_copies_with_known): New macro.
ce65116b 195 (nonzero_bits1): Rename from nonzero_bits. Add three new
8fd73754
AN
196 arguments. Change calls from nonzero_bits to
197 nonzero_bits_with_known.
ce65116b 198 (num_sign_bit_copies1): Rename from num_sign_bit_copies. Add
8fd73754
AN
199 three new arguments. Change calls from num_sign_bit_copies to
200 num_sign_bit_copies_with_known.
ce65116b
FH
201 (nonzero_bits): New macro.
202 (num_sign_bit_copies): New macro.
203 (update_table_tick): Don't traverse identical subexpression more
8fd73754 204 than once.
ce65116b 205 (get_last_value_validate): Likewise.
8fd73754 206
ddb0ae00
ZW
2072003-02-13 Zack Weinberg <zack@codesourcery.com>
208
209 * emit-rtl.c (init_emit): Use ggc_alloc for regno_reg_rtx.
210 * function.h (struct emit_status): Length of regno_pointer_align
211 and x_regno_reg_rtx as seen by gengtype is only x_reg_rtx_no,
212 not regno_pointer_align_length (i.e. length actually used, not
213 length as allocated)
214
215 * config/i386/i386.c (struct stack_local_entry): New.
216 (struct machine_function): Replace huge array with alist.
217 (assign_386_stack_local): Change to match.
218
c20b55c0
JDA
2192003-02-13 John David Anglin <dave.anglin@nrc-crnc.gc.ca>
220
221 * inclhack.def (hpux_long_double): Tighten select and add bypass
222 regexp.
223 * fixincl.x: Rebuilt.
224
ffc8f11e
JZ
2252003-02-13 Josef Zlomek <zlomekj@suse.cz>
226
227 * cfgcleanup.c (outgoing_edges_match): When there is single outgoing
228 edge and block ends with a jump insn it must be simple jump.
229
047d636f
DJ
2302003-02-13 Daniel Jacobowitz <drow@mvista.com>
231
232 * Makefile.in (PREPROCESSOR_DEFINES): Add
233 @TARGET_SYSTEM_ROOT_DEFINE@.
234 * configure.in (PREFIX_INCLUDE_DIR): Don't define if $with_sysroot
235 is specified or if building a cross compiler.
236 (TARGET_SYSTEM_ROOT_DEFINE): Add TARGET_SYSTEM_ROOT_RELOCATABLE
237 if the sysroot is under $exec_prefix.
238 * configure: Regenerated.
239 * cppdefault.h: Use native include paths if TARGET_SYSTEM_ROOT is
240 defined.
241 (struct default_include): Add add_sysroot field.
242 (cpp_SYSROOT): Declare.
243 * cppdefault.c (cpp_include_defaults): Fill in add_sysroot
244 field.
245 (cpp_SYSROOT): New variable.
246 * cppinit.c (cpp_create_reader): Initialize
247 CPP_OPTION (pfile, sysroot).
248 (init_standard_includes): Handle add_sysroot. Do not
249 add unrelocated copies of relocated directories.
250 (COMMAND_LINE_OPTIONS): Add -isysroot.
251 (cpp_handle_option): Handle -isysroot.
252 * cpplib.h (struct cpp_options): Add sysroot member.
253 * gcc.c (The Specs Language): Update description of %I.
254 (target_system_root_changed): New variable.
255 (process_command): Conditionalize make_relative_prefix call
256 on !VMS and TARGET_SYSTEM_ROOT_RELOCATABLE. Set
257 target_system_root_changed.
258 (do_spec_1): Add -isysroot to %I.
259 * doc/invoke.texi (Spec Files): Update description of %I.
260 * doc/install.texi (--with-sysroot): Update comment about
261 relocation.
262
4302db79
KH
2632003-02-13 Kazu Hirata <kazu@cs.umass.edu>
264
265 * config/h8300/h8300.md (a peephole2): New.
266
e0d9cc77 2672003-02-13 Robert Lipe <robertlipe@usa.net>
ddb0ae00 268 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
e0d9cc77
RL
269
270 * doc/install.texi (Specific): Update three SCO-related URLs.
271
9fb93b00
AS
2722003-02-13 Andreas Schwab <schwab@suse.de>
273
274 * cgraph.c (SET_NPREDECESORS): Add intermediate cast to size_t.
275 Parenthesize properly.
276 (NPREDECESORS): Parenthesize properly.
277
22ffcc6f
GDR
2782003-02-13 Gabriel Dos Reis <gdr@integrable-solutions.net>
279
280 * timevar.h (POP_TIMEVAR_AND_RETURN): New macro.
281
1fb54135
RS
2822003-02-12 Roger Sayle <roger@eyesopen.com>
283
284 * config/i386/i386.md (UNSPEC_FPATAN): New UNSPEC constant.
285 (atan2sf3, atan2df3, atan2xf3, atan2tf3): New patterns.
286
287 * reg-stack.c (subst_stack_regs_pat): Add support for binary
288 UNSPEC instructions (e.g. "fpatan").
289
19a7414e
MS
2902003-02-12 Mike Stump <mrs@apple.com>
291
292 * varray.c (element_size): Remove.
293 (uses_ggc): Remove.
294 (element): Add.
295 (varray_init): Use new interface.
296 (varray_grow): Use new interface.
297 (varray_clear): Use new interface.
298
e589cc6e
AH
2992003-02-12 Aldy Hernandez <aldyh@redhat.com>
300
ddb0ae00
ZW
301 * config/rs6000/spe.h: Add casts to the arguments of the following
302 macros: evfsabs, evfsnabs, evfsneg, evfsadd, evfssub, evfsmul,
303 evfsdiv, evfscfui, evfscfsi evfscfuf evfscfsf, evfsctui, evfsctsi,
304 evfsctuf, evfsctsf, evfsctuiz, evfsctsiz, __ev_get_upper*,
305 __ev_get_lower*, __ev_get_u32, __ev_get_s32, __ev_get_fs,
306 __ev_get_u16, __ev_get_s16.
e589cc6e 307
2bbfc542
KH
3082003-02-12 Kazu Hirata <kazu@cs.umass.edu>
309
310 * config/h8300/h8300.md (a peephole2): New.
311
e72fcfe8
JH
312Wed Feb 12 22:47:18 CET 2003 Jan Hubicka <jh@suse.cz>
313
314 * Makefile.in (CRTSTUFF_CFLAGS): Add -fno-unit-at-a-time
315 (OBJS): Add callgraph.o
316 (callgraph.o): New.
317 * c-decl.c (expand_body_1): Break out from ...
318 (expand_body): This one; change calling convention
319 (finish_function): Move some of expand_body logic here.
320 (c_expand_deferred_function): Update call of expand_body
321 (c_expand_stmt): Use c_expand_body_1.
322 * c-lang.c (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Define.
323 * c-objc-commin.c (c_objc_common_finish_file): Use callgraph code.
324 * c-tree.h (c_expand_body): Declare.
325 * callgraph.c: New file.
326 * flags.h (flag_unit_at_a_time): Declare.
327 * langhooks.h (LANG_HOOKS_CALLGRAPH_LOWER_FUNCTION,
328 LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION,
329 LANG_HOOKS_CALLGRAPH_INITIALIZER): New macros.
330 * langhooks.h (struct lang_hooks_for_callgraph): New.
331 (struct lang_hooks): Add callgraph field.
332 * toplev.c (flag_unit_at_a_time): New.
333 (lang_independent_options): Add flag_unit_at_a_time.
334 (process_options): Disable unit-at-a-time mode for frontends not
335 supporting callgraph.
336 * tree-inline.c (typedef struct inline_data): Add "decl"
337 (expand_call_inline): Update callgraph.
338 (optimize_inline_calls): Set id.decl.
339 * tree.h (cgraph_finalize_function, cgraph_finalize_compilation_unit,
340 cgraph_create_edges, dump_cgraph, cgraph_optimize, cgraph_remove_call
341 cgraph_calls_p): Declare.
342 * invoke.texi (-funit-at-a-time): Document
343
9037b0c7
AH
3442003-02-12 Aldy Hernandez <aldyh@redhat.com>
345
ddb0ae00
ZW
346 * config/rs6000/spe.h: Fix misc formatting.
347 (__ev_create_ufix32_fs): Cast ev argument.
348 (__ev_create_sfix32_fs): Same.
349 (__ev_get_sfix32_fs_internal): Cast arguments to builtins.
350 (__ev_get_ufix32_fs_internal): Same.
9037b0c7 351
55ae46b1
RM
3522003-02-12 Ranjit Mathew <rmathew@hotmail.com>
353
354 * doc/tm.texi (MODIFY_JNI_METHOD_CALL): Document.
355 * config/i386/cygwin.h (MODIFY_JNI_METHOD_CALL): New macro.
356
3963c2e0
ZW
3572003-02-12 Zack Weinberg <zack@codesourcery.com>
358
359 * cpplib.c (do_include_common): Move warnings for
360 #include_next and #import out to callers. Use early-return
361 instead of nested ifs. Don't do check_eol here.
362 (parse_include): Do check_eol here with the rest of the
363 parsing stuff.
364 (do_include_next, do_import): Now handle warnings.
365
d1a86812
GP
3662003-02-11 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
367
368 * doc/install.texi (Specific): Update AVR- and Darwin-related URLs.
369
6efcd268
JH
370Wed Feb 12 15:19:42 CET 2003 Jan Hubicka <jh@suse.cz>
371
372 * predict.c (estimate_probability): Fix roundoff error.
373
9083b5da
KH
3742003-02-12 Kazu Hirata <kazu@cs.umass.edu>
375
376 * config/h8300/h8300.md (a peephole2): Don't handle 65535.
377 (two peephole2): New.
378
86bc9b19
KH
3792003-02-12 Kazu Hirata <kazu@cs.umass.edu>
380
381 * config/h8300/h8300.md (several peephole2): Replace
382 find_regno_note with peep2_reg_dead_p.
383
ceda50e9
RH
3842003-02-11 Richard Henderson <rth@redhat.com>
385
386 * gcse.c (lookup_set): Remove unused argument PAT. Update
387 both callers.
388
886e0865
GK
3892003-02-11 Geoffrey Keating <geoffk@apple.com>
390
391 * diagnostic.c (real_abort): New.
392 (diagnostic_report_diagnostic): Call real_abort on error.
393 * diagnostic.h (diagnostic_abort_on_error): New.
394 (struct diagnostic_context): Add abort_on_error field.
395 * toplev.c (setup_core_dumping): New.
396 (decode_d_option): Handle 'H' case.
397 * doc/invoke.texi (Debugging Options): Document -dH.
398
76438597
NN
3992003-02-11 Nathanael Nerode <neroden@gcc.gnu.org>
400
401 * Makefile.in: Remove pointless setting of CXXFLAGS for dejagnu
402 which refers to obsolete directories.
403
09b568fc
RH
4042003-02-11 Richard Henderson <rth@redhat.com>
405
406 * config/alpha/linux.h (TARGET_C99_FUNCTIONS): New.
407
8b978a57
JH
408Mon Oct 21 17:07:47 CEST 2002 Jan Hubicka <jh@suse.cz>
409
410 * i386.c (contains_128bit_aligned_vector_p): New function.
411 (ix86_function_arg_boundary): Properly align vector modes.
412
a3259be8
BW
4132003-02-11 Bob Wilson <bob.wilson@acm.org>
414
415 * config/xtensa/xtensa.md (set_frame_ptr): Change rtl to set reg a7.
416 * config/xtensa/xtensa.c (xtensa_reorg): Search for UNSPECV_SET_FP
417 as a SET pattern.
418
da52a069
RS
4192003-02-11 Roger Sayle <roger@eyesopen.com>
420
421 * builtins.c: Fix failure caused by commiting wrong patch.
422
d58f6584
DJ
4232003-02-11 Dale Johannesen <dalej@apple.com>
424 * ra-build.c (compare_and_free_webs): Relax checking.
425 * config/rs6000/darwin.h (HOT_TEXT_SECTION_NAME): Define.
426 (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Define.
427
22fd5743
FH
4282003-02-11 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
429
430 PR optimization/9651
431 * rtlanal.c (may_trap_p): Handle FIX.
432
3462df62
DJ
4332003-02-11 Dave Jones <davej@codemonkey.org.uk>
434
435 * config/i386/i386.c (override_options): Define c3-2 as a 686 with SSE.
436 * doc/invoke.texi: Extra alias.
437
a693fbb9
GK
4382003-02-11 Geoffrey Keating <geoffk@apple.com>
439
440 * config/rs6000/host-darwin.c: Fix comment.
441
bb157ff4
DE
4422003-02-11 David Edelsohn <edelsohn@gnu.org>
443
444 * config/rs6000/rs6000.md (divmodsi4): Use register_operand
445 predicate for mod result.
446
16ddb599
JDA
4472003-02-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
448
449 * inclhack.def (hpux_long_double, hpux10_ctype_declarations1,
450 hpux10_ctype_declarations2, hpux_ctype_macros): New hacks.
451 * fixincl.x: Rebuilt.
452 * tests/base/stdlib.h: Update.
453 * tests/base/ctype.h: New file.
454
6f0d3566
JH
455Tue Feb 11 20:44:45 CET 2003 Jan Hubicka <jh@suse.cz>
456
457 * emit-rtl.c (emit_copy_of_insn_after): Copy insn recog cache too.
458
d0a5295a
RH
4592003-02-11 Richard Henderson <rth@redhat.com>
460
461 * config/i386/i386.c (ix86_expand_movstr): Fail if esi or edi
462 appropriated as globals.
463 (ix86_expand_clrstr): Similarly.
464 * config/i386/i386.md (cmpstrsi): Similarly.
465
9672132f
KH
4662003-02-11 Kazu Hirata <kazu@cs.umass.edu>
467
468 * config/h8300/h8300.md (a peephole2): Add a case of 255.
469
b5e01d4b
RS
4702003-02-11 Roger Sayle <roger@eyesopen.com>
471
472 * optabs.h (enum optab_index): Add new OTI_pow and OTI_atan2.
473 (pow_optab, atan2_optab): Define corresponding macros.
474 * optabs.c (init_optabs): Initialize pow_optab and atan2_optab.
475 * genopinit.c (optabs): Implement pow_optab and atan2_optab
476 using pow?f3 and atan2?f3 patterns.
477 * builtins.c (expand_errno_check): New function to update errno
478 if necessary, split out from expand_builtin_mathfn.
479 (expand_builtin_mathfn): Use expand_errno_check.
480 (expand_builtin_mathfn_2): New function to handle expanding binary
481 math functions, reusing the code in expand_errno_check.
482 (expand_builtin): Handle the pow and atan2 math built-ins,
483 BUILT_IN_{POW,POWF,POWL,ATAN2,ATAN2F,ATAN2L} via the new function
484 expand_builtin_mathfn_2.
485
486 * doc/md.texi: Document new pow?f3 and atan2?f3 patterns.
487
cb119f82
JH
488Tue Feb 11 19:03:22 MET 2003 Jan Hubicka <jh@suse.cz>
489
490 * combine.c (combine_simplify_rtx): Fix folding of
491 nested float_truncates.
492
a05566a3
KH
4932003-02-11 Kazu Hirata <kazu@cs.umass.edu>
494
495 * config/h8300/h8300.md (a peephole2): Fix a typo.
496
20ae4500
RE
4972003-02-11 Richard Earnshaw <rearnsha@arm.com>
498
499 * arm.mc (return_address_mask): Use CC_REGNUM for the condition code
500 register number.
501
717d8b71
KH
5022003-02-11 Kazu Hirata <kazu@cs.umass.edu>
503
504 * config/h8300/h8300-protos.h: Add a prototype for
505 gtuleu_operator.
506 * config/h8300/h8300.c (gtuleu_operator): New.
507 * config/h8300/h8300.h (PREDICATE_CODES): Add gtuleu_operator.
508 * config/h8300/h8300.md (a peephole2): New.
509
e36e8f52
JH
510Tue Feb 11 13:32:12 CET 2003 Jan Hubicka <jh@suse.cz>
511
512 * sched-ebb.c (schedule_ebbs): Do not verify_flow_info.
513
c728da61
JH
514Tue Feb 11 10:02:54 CET 2003 Jan Hubicka <jh@suse.cz>
515
516 * predict.c (choose_function_section): Choose sections correctly.
517
4cc0fdd2
JDA
5182003-02-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
519
520 * reload1.c (first_label_num): New.
521 (reload): Index offsets_known_at and offsets_at using difference of
522 label number and first label number. Don't use offset pointers.
523 (set_label_offsets, set_initial_label_offsets): Likewise.
524
44b1fa11
RS
5252003-02-10 Roger Sayle <roger@eyesopen.com>
526
527 * mips-tfile.c (init_file): Add missing initializers in the
528 "#ifdef __alpha" case.
529 (file_offset, max_file_offset): Declare as unsigned long.
530 (write_varray): Cast to "unsigned long" in comparisons against
531 either file_offset or max_file_offset.
532 (write_object): Likewise.
533 (read_seek): Likewise.
534 (copy_object): Likewise. Declare "ifd" as int to match its use
535 in add_ext_symbol, and avoid signed/unsigned conditional warning.
536
2948ade7 5372003-02-10 Nick Clifton <nickc@redhat.com>
3963c2e0 538 Aldy Hernandez <aldyh@redhat.com>
2948ade7 539
3963c2e0
ZW
540 * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Do not
541 override options which have been specified on the command line.
2948ade7 542
2a4e6df4
KH
5432003-02-10 Kazu Hirata <kazu@cs.umass.edu>
544
545 * config/h8300/h8300.md (abssf2): New.
546 (*abssf2_h8300): Likewise.
547 (*abssf2_h8300hs): Likewise.
548
411e2759
PE
5492003-02-10 Phil Edwards <pme@gcc.gnu.org>
550
551 * tree.c (build_tree_list): Fix parameter names in comment.
552
2b24fc41
JJ
5532003-02-10 Janis Johnson <janis187@us.ibm.com>
554
555 * config/rs6000/ppc64-fp.c: New file.
556 * config/rs6000/t-linux64 (LIB2FUNCS_EXTRA): Add ppc64-fp.c.
557
aa634f11
JZ
5582003-02-10 Josef Zlomek <zlomekj@suse.cz>
559
560 * Makefile.in (bb-reorder.o): Add dependency on $(FIBHEAP_H).
3963c2e0 561 * bb-reorder.c (make_reorder_chain): Deleted.
aa634f11
JZ
562 (make_reorder_chain_1): Deleted.
563 (find_traces): New function.
564 (rotate_loop): New function.
565 (mark_bb_visited): New function.
566 (find_traces_1_round): New function.
567 (copy_bb): New function.
568 (bb_to_key): New function.
569 (better_edge_p): New function.
570 (connect_traces): New function.
571 (copy_bb_p): New function.
572 (get_uncond_jump_length): New function.
573 (reorder_basic_blocks): Use new functions (Software Trace Cache).
574 * cfgcleanup.c (outgoing_edges_match): Enable crossjumping across loop
575 boundaries.
576
17edbda5
AH
5772003-02-10 Aldy Hernandez <aldyh@redhat.com>
578
579 * config/rs6000/rs6000.c (bdesc_2arg): Change spe_evxor to xorv2si3.
580
57116c34
DN
5812003-02-09 Dan Nicolaescu <dann@ics.uci.edu>
582
583 * tree.h (struct tree_decl): Remove unused live_range_rtl field.
3963c2e0 584 (DECL_LIVE_RANGE_RTL): Remove.
57116c34 585
4f448245
NC
5862003-02-10 Nick Clifton <nickc@redhat.com>
587
588 * config/arm/aof.h, config/arm/aout.h, config/arm/arm-modes.def,
589 config/arm/arm-protos.h, config/arm/arm.c, config/arm/arm.h,
590 config/arm/arm.md, config/arm/cirrus.md, config/arm/coff.h,
591 config/arm/conix-elf.h, config/arm/ecos-elf.h, config/arm/elf.h,
592 config/arm/freebsd.h, config/arm/linux-elf.h,
593 config/arm/linux-gas.h, config/arm/netbsd-elf.h,
594 config/arm/netbsd.h, config/arm/pe.c, config/arm/pe.h,
595 config/arm/rtems-elf.h, config/arm/semi.h, config/arm/semiaof.h,
596 config/arm/strongarm-coff.h, config/arm/strongarm-elf.h,
597 config/arm/strongarm-pe.h, config/arm/uclinux-elf.h,
598 config/arm/unknown-elf-oabi.h, config/arm/unknown-elf.h,
599 config/arm/xscale-elf.h: Replace occurances of "GNU CC" with "GCC"
600 and reformat as appropriate.
601
19190d27
KH
6022003-02-10 Kazu Hirata <kazu@cs.umass.edu>
603
604 * config/h8300/clzsi2.c: Remove.
605 * config/h8300/ctzsi2.c: Likewise.
606 * config/h8300/paritysi2.c: Likewise.
607 * config/h8300/popcountsi2.c: Likewise.
608 * config/h8300/t-h8300 (LIB2FUNCS_EXTRA): Remove clzsi2,
609 ctzsi2, paritysi2, and popcountsi2.
610
ecf92f82 6112003-02-10 Eric Botcazou <ebotcazou@libertysurf.fr>
3963c2e0 612 Christian Ehrhardt <ehrhardt@mathematik.uni-ulm.de>
ecf92f82
EB
613
614 PR c/7741
615 * c-decl.c (duplicate_decls): Discard the initializer of the
616 new decl when the types are conflicting.
617
ac5e69da
JZ
6182003-02-10 Josef Zlomek <zlomekj@suse.cz>
619
620 * Makefile.in (sreal.o): Added.
621 (predict.o): Depends on sreal.h instead of real.h.
622 * sreal.c: New file.
623 * sreal.h: New file.
624 * predict.c: Use sreal.c instead of real.c.
625
9b6b54e2
NC
6262003-02-10 Nick Clifton <nickc@redhat.com>
627
628 * Contributed support for the Cirrus EP9312 "Maverick"
629 floating point co-processor. Written by Aldy Hernandez
3963c2e0 630 <aldyh@redhat.com>.
9b6b54e2
NC
631 (config/arm/arm.c): Add Cirrus support.
632 (config/arm/arm.h): Likewise.
633 (config/arm/aout.h): Likewise.
634 (config/arm/arm.md): Likewise.
635 (config/arm/arm-protos.h): Likewise.
636 (config.gcc): Likewise.
637 (doc/invoke.texi): Describe new -mcpu value and new
638 -mcirrus-fix-invalid-insns switch,
639 (cirrus.md): New file.
640
949824fe
JH
641Mon Feb 10 11:40:18 CET 2003 Jan Hubicka <jh@suse.cz>
642
643 * combine.c (combine_simplify_rtx): Simplify using
644 (float_truncate (float x)) is (float x)
645 (float_extend (float_extend x)) is (float_extend x).
646
546ff777
AM
6472003-02-10 Alan Modra <amodra@bigpond.net.au>
648
649 * calls.c (try_to_integrate): Tidy stack_usage_map access.
650 (emit_library_call_value_1): Likewise. Formatting.
651 (store_one_arg): Likewise.
652
626098f9 6532003-02-09 Nick Clifton <nickc@redhat.com>
3963c2e0 654 Aldy Hernandez <aldyh@redhat.com>
626098f9 655
3963c2e0
ZW
656 * config/rs6000/spe.md: spe_evlhhesplat, spe_evlhhossplat,
657 spe_evlhhousplat, spe_evlwhsplat, spe_evlwwsplat, spe_evldd,
658 spe_evldh, spe_evldw, spe_evlwhe, spe_evlwhos, spe_evlwhou,
659 spe_evstdd, spe_evstdh, spe_evstdw, spe_evstdwx, spe_evstwhe,
660 spe_evstwho, spe_evstwwe, spe_evstwwo: Fix syntax to match newest
661 docs. Add range test for immediate value.
626098f9
AH
662
6632003-02-09 Aldy Hernandez <aldyh@redhat.com>
664
3963c2e0
ZW
665 Rename spe_evxor to xorv2si3.
666 (xorv4hi3): New.
667 (xorv1di3): New.
626098f9 668
8d23a2c8 6692003-02-10 Glen Nakamura <glen@imodulo.com>
3963c2e0 670
8d23a2c8
GN
671 * doc/extend.texi (C++98 Thread-Local Edits): Add missing @item
672 tag.
673
fdc4b40b
JH
674Mon Feb 10 00:29:17 CET 2003 Jan Hubicka <jh@suse.cz>
675
676 * i386.c (vector_move_operand): New predicate.
677 (ix86_expand_vector_move): Be happy about 0.
678 * i386.h (PREDICATE_CODES): Add sse-move_operand.
679 * i386.md (mov*_internal): Add 'C' alternative.
680
35c28a13
JH
681Sun Feb 9 23:58:33 CET 2003 Jan Hubicka <jh@suse.cz>
682
683 * i386.md (floathi*): Deal with SSE.
684
852c8ba1
JH
685Sun Feb 9 23:54:59 CET 2003 Jan Hubicka <jh@suse.cz>
686
687 * simplify-rtx.c (simplify_unary_operation,
688 simplify_binary_operation): Deal with vector modes
689 (simplify_ternary_operation): Deal with no-op VEC_MERGE.
690
2382b79f
RS
6912002-02-09 Richard Sandiford <rsandifo@redhat.com>
692
693 * toplev.c (rest_of_compilation): Recompute register usage after
694 split_all_insns.
695
8275b011
RH
6962003-02-09 Richard Henderson <rth@redhat.com>
697
698 * libgcc-std.ver (__clztf2): New.
699 (__ctztf2, __popcounttf2, __paritytf2): New.
700 * libgcc2.c (__clzSI2, __clzDI2, __ctzSI2, __ctzDI2, __popcountSI2,
701 __popcountDI2, __paritySI2, __parityDI2): Use UWmode and UDWmode;
702 adjust code to match the different type sizes.
703 * libgcc2.h (__clzSI2, __ctzSI2, __popcountSI2, __paritySI2,
704 __clzDI2, __ctzDI2, __popcountDI2, __parityDI2): New macros.
705
706 * optabs.c (init_integral_libfuncs): Don't hard-code SImode and
707 TImode; select word_mode and twice that.
708 (init_floating_libfuncs): Don't hard-code SFmode and TFmode;
709 select the modes from float, double, and long double.
710 (init_optabs): Remove duplicate initializations.
711
794aca5d
WB
7122003-02-09 Wolfgang Bangerth <bangerth@ticam.utexas.edu>
713
714 * doc/install.texi: Squeeze and streamline section on
715 testing and regression checking.
716
d9deed68
JH
717Sun Feb 9 13:33:34 CET 2003 Jan Hubicka <jh@suse.cz>
718
719 * i386.md (ahi?v*3): Set third operand type to TImode.
720 * i386.c (ix86_expand_binop_builtin): Extend operand when needed.
721
722 * simplify-rtx.c (simplify_subreg): Fix conversion from vector into
723 integer mode.
724
725 * rtl.def (VEC_MERGE, VEC_SELECT, VEC_CONCAT, VEC_DUPLICATE):
726 Change code so they are arithmetic expressions now.
727 * simplify-rtx.c (simplify_unary_operation, simplify_binary_operation,
728 simplify_ternary_operation): Deal with VEC_* expressions.
729
730 * i386.md (vmaskcmp, pinsrw, movd patterns): Fix RTL representation.
731
83fd323c
JH
732Sat Feb 8 00:21:22 CET 2003 Jan Hubicka <jh@suse.cz>
733
734 * cfgrtl.c (verify_flow_info): Use control_flow_insn_p.
735 * reload1.c (fixup_abnormal_edges): Split basic blocks when EH edges
736 possibly got duplicated.
737
4ee7aa60
RH
7382003-02-08 Richard Henderson <rth@redhat.com>
739
740 * config/alpha/alpha.c (override_options): Turn off explicit
741 relocs until post-peep2 code duplication resolved.
742
c117dddc
KH
7432003-02-08 Kazu Hirata <kazu@cs.umass.edu>
744
745 * optabs.c (expand_unop): Widen clz properly when clz is done
746 via libcall.
747
8aa063fb
KH
7482003-02-08 Kazu Hirata <kazu@cs.umass.edu>
749
750 * config/h8300/clzsi2.c: Replace "GNU CC" with "GCC".
751 * config/h8300/crti.asm: Likewise.
752 * config/h8300/crtn.asm: Likewise.
753 * config/h8300/ctzsi2.c: Likewise.
754 * config/h8300/fixunssfsi.c: Likewise.
755 * config/h8300/h8300-protos.h: Likewise.
756 * config/h8300/h8300.c: Likewise.
757 * config/h8300/h8300.h: Likewise.
758 * config/h8300/h8300.md: Likewise.
759 * config/h8300/paritysi2.c: Likewise.
760 * config/h8300/popcountsi2.c: Likewise.
761 * config/h8300/rtems.h: Likewise.
762
01a132bb
ZD
7632003-02-08 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
764
765 * doc/invoke.texi: Documentation for my previous commit.
766 * doc/passes.texi: Ditto.
767
617b465c
ZD
7682003-02-08 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
769
770 * cfgloop.h (fix_loop_placement, can_duplicate_loop_p,
771 duplicate_loop_to_header_edge, loopify, remove_path, split_loop_bb):
772 Declare.
773 (DLTHE_FLAG_UPDATE_FREQ): New.
774 * cfgloopmanip.c (duplicate_loop, duplicate_subloops, copy_loops_to,
775 loop_redirect_edge, loop_delete_branch_edge, copy_bbs, remove_bbs,
776 rpe_enum_p, find_branch, alp_enum_p, add_loop, fix_loop_placements,
777 fix_bb_placement, fix_bb_placements, place_new_loop,
778 scale_loop_frequencies, scale_bbs_frequencies, record_exit_edges):
779 New static functions.
780 (fix_loop_placement, can_duplicate_loop_p,
781 duplicate_loop_to_header_edge, loopify, remove_path, split_loop_bb):
782 New functions.
783
784 * cfgloop.h (loop_optimizer_init, loop_optimizer_finalize,
785 unswitch_loops): Declare.
786 * loop-init.c: New file.
787 * loop-unswitch.c: New file.
788 * Makefile.in (loop-init.o, loop-unswitch.o): New.
789 * params.def (PARAM_MAX_UNSWITCH_INSNS, PARAM_MAX_UNSWITCH_LEVEL): New.
790 * toplev.c (DFI_loop2): New dump.
791 (flag_unswitch_loops): New.
792 (lang_independent_options): Add it.
793 (rest_of_compilation): Call new loop optimizer.
794 (parse_options_and_default_flags): Turn flag_unswitch_loops on with -O3.
795
3bd03194
KH
7962003-02-08 Kazu Hirata <kazu@cs.umass.edu>
797
798 * config/h8300/clzsi2.c: New.
799 * config/h8300/ctzsi2.c: Likewise.
800 * config/h8300/paritysi2.c: Likewise.
801 * config/h8300/popcountsi2.c: Likewise.
802 * config/h8300/t-h8300 (LIB2FUNCS_EXTRA): Add above files.
803
d865b122
DE
8042003-02-07 David Edelsohn <edelsohn@gnu.org>
805
806 * config/rs6000/rs6000.h (CLZ_DEFINED_VALUE_AT_ZERO): Define.
807 * config/rs6000/rs6000.md (clzsi2): Rename from cntlzw2.
94993909 808 (ctzsi2): New pattern.
d865b122
DE
809 (ffssi2): Use clz instead of unspec.
810 (clzdi2): Rename from cntlzd2.
94993909 811 (ctzdi2): New pattern.
d865b122
DE
812 (ffsdi2): Use clz instead of unspec.
813
8f37dd98
LR
8142003-02-07 Loren James Rittle <ljrittle@acm.org>
815
816 * config/alpha/freebsd.h (LINK_SPEC): Weaken error to notice.
817 * config/ia64/freebsd.h (LINK_SPEC): Likewise.
818 * config/sparc/freebsd.h (LINK_SPEC): Likewise.
819 * config/i386/freebsd.h (LINK_SPEC): Add clause to mirror other arches.
820
83205b9b
WB
8212003-02-07 Wolfgang Bangerth <bangerth@ticam.utexas.edu>
822
823 * doc/trouble.texi: Document pitfalls of two-stage name lookup.
824
710ee3ed
RH
8252003-02-07 Richard Henderson <rth@redhat.com>
826
827 PR 9226
3963c2e0
ZW
828 * gcse.c (local_cprop_find_used_regs): New.
829 (local_cprop_pass): Use it.
710ee3ed 830
3ef879d2
FF
8312003-02-07 Fred Fish <fnf@intrinsity.com>
832
833 * mips-tfile.c (parse_def): Parenthesize assignments to fix
3963c2e0 834 precedence bugs.
3ef879d2 835
a0f0e963 8362003-02-07 Segher Boessenkool <segher@koffie.nl>
3ef879d2 837
3963c2e0 838 * genoutput.c (output_get_insn_name): Handle NOOP_MOVE_INSN_CODE.
a0f0e963 839
46847aa6
RS
8402003-02-07 Roger Sayle <roger@eyesopen.com>
841
842 * builtin-types.def (BT_FN_FLOAT_FLOAT_FLOAT): New built-in type.
843 (BT_FN_LONG_DOUBLE_LONG_DOUBLE_LONG_DOUBLE): Likewise.
844 (BT_FN_DOUBLE_DOUBLE_DOUBLE): Likewise.
845 * builtins.def: Define pow, powf, powl, atan2, atan2f and atan2l
846 builtin functions (and their __builtin_* variants).
847 * builtins.c (mathfn_built_in): Handle missing log{,f,l} cases.
848 (expand_builtin): Don't expand log{,f,l}, pow{,f,l} or atan2{,f,l}
849 when not optimizing.
850
851 * doc/extend.texi: Document new pow and atan2 builtins, and
852 their float and long double variants. Realphabetize builtins.
853
c48d6750
JH
854Fri Feb 7 23:24:28 CET 2003 Jan Hubicka <jh@suse.cz>
855
856 * i386.md (sse2_nandv2di3): Fix.
857
5e062767
DS
8582003-03-07 Danny Smith <dannysmith@users.sourceforge.net>
859
860 * config/i386/i386.h (MS_AGGREGATE_RETURN): New define.
861 * config/i386/cygwin.h (MS_AGGREGATE_RETURN): Override default
862 definition.
863 * config/i386/i386.h (ix86_return_in_memory): Return aggregate
864 types of up to 8 bytes via registers if MS_AGGREGATE_RETURN.
865
3f755ed0
JH
866Fri Feb 7 22:22:40 CET 2003 Jan Hubicka <jh@suse.cz>
867
868 * i386.md (movdi_rex64_1): Fix mmx<->int move opcode.
869
0816bcd2
DB
8702003-02-07 Daniel Berlin <dberlin@dberlin.org>
871
872 * cfg.c (dump_flow_info): Add back accidently deleted line.
873
7bf0a593
AP
8742003-02-07 Andrey Petrov <petrov@netbsd.org>
875
876 * optabs.c (expand_float): Search wider integer modes first.
877
01e4596e
BW
8782003-02-07 Bob Wilson <bob.wilson@acm.org>
879
880 * config/xtensa/xtensa.h (LIBGCC2_WORDS_BIG_ENDIAN): Set this
881 based on preprocessor flag.
882
fbef91d8
RS
8832003-02-07 Roger Sayle <roger@eyesopen.com>
884 Richard Henderson <rth@redhat.com>
885
886 * gcse.c (implicit_sets): New.
887 (compute_hash_table_work): Include them in hash table.
888 (find_implicit_sets, fis_get_condition): New.
889 (one_cprop_pass): Allocate and free implicit_sets; call
890 find_implicit_sets before building hash table.
891
6713831e
JT
8922003-02-07 Jason Thorpe <thorpej@wasabisystems.com>
893
894 * config/t-netbsd (USER_H): Revert previous change.
895
10d2dbe2
GG
8962003-02-07 Gabor Greif <ggreif@lucent.com>
897
898 * doc/c-tree.texi (Namespaces): Fix typo.
899
d1d3c9a6
JH
900Fri Feb 7 02:18:57 CET 2003 Jan Hubicka <jh@suse.cz>
901
902 * regrename.c (do_replace, find_oldest_value_reg,
903 copyprop_hardreg_forward_1): Update register attributes.
904
1b1f249d
VM
9052003-02-06 Vladimir Makarov <vmakarov@redhat.com>
906
907 * genautomata.c (VLA_PTR_CREATE, VLA_PTR_EXPAND, VLA_PTR_ADD,
908 VLA_HWINT_CREATE, VLA_HWINT_EXPAND, VLA_HWINT_ADD): Use temporay
909 variables starting with underscore.
910 (struct unit_usage): New structure.
911 (unit_usages, cycle_alt_unit_usages): New global variables.
912 (check_unit_distribution_in_reserv): Remove it.
913 (store_alt_unit_usage): New function.
914 (check_regexp_units_distribution): Rewrite it.
915
90330d31
JDA
9162003-02-06 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
917
918 * config.gcc (hppa*-*-linux*): Set MASK_NO_SPACE_REGS in
919 target_cpu_default.
920 * pa.c (attr_length_call): Add 8 to call length (long indirect PA 1.X)
921 if not MASK_NO_SPACE_REGS.
922 (output_call): Adjust return pointer, don't load new space register
923 into %sr0, and use %sr4 for call if TARGET_NO_SPACE_REGS is true.
924 (pa_asm_output_mi_thunk): Don't load new space register into %sr0 if
925 TARGET_NO_SPACE_REGS is true.
926 * pa.md (return_external_pic): Add TARGET_NO_SPACE_REGS to insn
927 conditions.
928 (epilogue): Always use return_internal if TARGET_NO_SPACE_REGS is true.
929 (interspace_jump): Add new pattern for when TARGET_NO_SPACE_REGS is
930 true. Use bve when TARGET_64BIT is true.
931
d1164330
RH
9322003-02-06 Richard Henderson <rth@redhat.com>
933
934 * combine.c (nonzero_bits): Fix double break.
935
5fbf0217 9362003-02-06 Eric Botcazou <ebotcazou@libertysurf.fr>
3963c2e0 937 Richard Henderson <rth@redhat.com>
5fbf0217
EB
938
939 PR c/9530
940 * config/i386/i386.c (ix86_function_ok_for_sibcall): Forbid sibcalls
941 from functions that return a float to functions that don't.
942
8f62128d
JH
943Thu Feb 6 00:18:38 CET 2003 Jan Hubicka <jh@suse.cz>
944
945 * i386.c (x86_inter_unit_moves): New variable.
946 (ix86_secondary_memory_needed): Fix 64bit case, honor
947 TARGET_INTER_UNIT_MOVES
948 * i386.h (x86_inter_unit_moves): Declare.
949 (TARGET_INTER_UNIT_MOVES): New macro.
950 * i386.md (movsi_1): Cleanup constraints; disable
951 when not doing inter-unit moves.
952 (movsi_1_nointernunit): New.
953 (movdi_1_rex64): Fix constraints; deal with SSE->GPR moves.
954 (movdi_1_rex64_nointerunit): New.
955 (mivsf_1): disable when not doing inter-unit moves.
956 (movsf_1_nointerunit): New.
957
958 * basic-block.h (inside_basic_block_p): Declare.
959 * cfgbuild.c (inside_basic_block_p): Make global.
960 * haifa-sched.c (unlink_other_notes0: Deal with NOT_INSN_BASIC_BLOCK.
961 * scheudle-ebb.c (schedule_ebb): Return last basic block of trace;
962 update CFG.
963 (fix_basic_block_boundaries, add_missing_bbs): New.
964 (rank): Use profile.
965 (scheudle_ebbs): Rely on CFG; update coments.
966
476d9098
GK
9672003-02-05 Geoffrey Keating <geoffk@apple.com>
968
969 * Makefile.in (host_hook_obj): New.
970 (OBJS): Add $(host_hook_obj).
971 (host_default.o): New rule.
972 * config.gcc (host_hook_obj): New, default to host-default.o.
973 (powerpc-*-darwin*): Use host-darwin.o.
974 (out_host_hook_obj): New.
975 * configure: Regenerate.
976 * configure.in: Print information about out_host_hook_obj, substitute
977 into output files.
978 * host-default.c: New file.
979 * hosthooks.h: New file.
980 * toplev.c (general_init): Call host_hooks.extra_signals.
981 * config/rs6000/host-darwin.c: New file.
982 * config/rs6000/x-darwin: New file.
983 * doc/hostconfig.texi: Add documentation for new host hook.
984 Rearrange existing documentation.
985
69bd9368
RS
9862003-02-05 Roger Sayle <roger@eyesopen.com>
987
988 * dwarf2out.c (mem_loc_descriptor): Replace ASM_SIMPLIFY_DWARF_ADDR
989 with *targetm.delegitimize_address.
990 (rtl_for_decl_location): Likewise.
991 * dwarfout.c (output_mem_loc_descriptor): Likewise. Include target.h.
992 * Makefile.in (dwarf2out.c, dwarfout.c): Depend upon $(TARGET_H)
993
994 * config/i386/i386.h (ASM_SIMPLIFY_DWARF_ADDR): Remove definition.
995 * config/i386/i386-protos.h (i386_simplify_dwarf_addr): Remove
996 prototype.
997 * config/i386/i386.c (ix86_delegitimize_address): Renamed from
998 i386_simplify_dwarf_addr. Made static. Prototyped.
999 (TARGET_DELEGITIMIZE_ADDRESS): Update definition from
1000 i386_simplify_dwarf_addr to ix86_delegitimize_address.
1001 (ix86_find_base_term): Likewise.
1002 (maybe_get_pool_constant): Likewise.
1003
1004 * config/s390/s390.h (ASM_SIMPLIFY_DWARF_ADDR): Remove definition.
1005 * config/s390/s390-protos.h (s390_simplify_dwarf_addr): Remove
1006 prototype.
1007 * config/s390/s390.c (s390_delegitimize_address): Renamed from
1008 s390_simplify_dwarf_addr. Made static. Prototyped.
1009 (TARGET_DELEGITIMIZE_ADDRESS): Define as s390_delegitimize_address.
1010
7127fd58
RH
10112003-02-05 Richard Henderson <rth@redhat.com>
1012
8dde7a2c 1013 PR c/8602
3963c2e0
ZW
1014 * integrate.c (output_inline_function): Reset input_filename
1015 and lineno from the decl before rest_of_compilation.
7127fd58 1016
7dba8395
RH
10172003-02-05 Richard Henderson <rth@redhat.com>
1018
1019 * defaults.h (CLZ_DEFINED_VALUE_AT_ZERO): New.
1020 (CTZ_DEFINED_VALUE_AT_ZERO): New.
1021 * doc/rtl.texi, doc/tm.texi: Document them.
1022
1023 * combine.c (nonzero_bits) [CLZ, CTZ]: Handle the definedness
1024 of the value at zero properly.
1025 * fold-const.c (tree_expr_nonnegative_p): Likewise.
1026 * simplify-rtx.c (simplify_unary_operation): Likewise.
1027
1028 * config/alpha/alpha.h (CLZ_DEFINED_VALUE_AT_ZERO): New.
1029 (CTZ_DEFINED_VALUE_AT_ZERO): New.
1030
1031 * config/arm/arm.c (TARGET_INIT_BUILTINS): Remove.
1032 (TARGET_EXPAND_BUILTIN): Remove.
1033 (def_builtin, arm_init_builtins, arm_expand_builtin): Remove.
1034 * config/arm/arm.h (CLZ_DEFINED_VALUE_AT_ZERO): New.
1035 (enum arm_builtins): Remove.
1036 * config/arm/arm.md (UNSPEC_CLZ): Remove.
1037 (clzsi2): Rename from clz; use clz instead of unspec.
1038 (ctzsi2): New.
1039 * config/arm/arm-protos.h: Update.
1040
8d705469
JH
1041Wed Feb 5 23:12:57 CET 2003 Jan Hubicka <jh@suse.cz>
1042
1043 * i386-protos.h (x86_emit_floatuns): Declare.
1044 * i386.c (x86_emit_floatuns): New global function.
1045 * i386.md (floatunssisf2, floatunsdisf2,
1046 floatunsdidf2): New patterns.
1047
bc810602
ZD
10482003-01-25 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1049
1050 * cfgloopmanip.c (force_single_succ_latches): Fix missindentation.
1051
07938cec
HB
10522003-02-05 Hans Boehm <Hans.Boehm@hp.com>
1053
1054 * config/ia64/unwind-ia64.c: include coretypes.h, tm.h to get
1055 config/ia64/linux.h
1056
ca9398d1
RS
10572002-02-05 Roger Sayle <roger@eyesopen.com>
1058
1059 * cfgloop.h (flow_bb_inside_loop_p): Correct prototype again.
1060
4f6ae35d
JJ
10612003-02-05 Jakub Jelinek <jakub@redhat.com>
1062
1063 PR optimization/8555
1064 * config/i386/i386.md (sse_mov?fcc split): Handle op2 == op3 case
1065 instead of aborting.
1066
8acfdd43
RH
10672003-02-04 Richard Henderson <rth@redhat.com>
1068
1069 * config/i386/i386.md (UNSPEC_BSF): Remove.
1070 (ffssi2): Split into cmove and no_cmove insns and splitters;
1071 lose pentium float trick for now.
1072 (ffssi_1): Add * to name; use CTZ instead of UNSPEC.
1073 (ctzsi2, clzsi2, bsr): New.
1074
c407570a
RH
10752003-02-04 Richard Henderson <rth@redhat.com>
1076
1077 * config/ia64/ia64.c (rtx_needs_barrier): Handle POPCOUNT,
1078 UNSPEC_GETF_EXP; remove UNSPEC_POPCNT.
1079 * config/ia64/ia64.md (UNSPEC_POPCNT): Remove.
1080 (ffsdi2): Use popcount instead of unspec.
1081 (popcountdi2): Rename from *popcnt.
1082 (ctzdi2, clzdi2, getf_exp_tf): New.
1083
4b3cf522
KH
10842003-02-04 Kazu Hirata <kazu@cs.umass.edu>
1085
1086 * genconfig.c (main): Generate CC0_P.
1087 * rtl.h (CC0_P): Remove.
1088
dfff898c
RH
10892003-02-04 Richard Henderson <rth@redhat.com>
1090
1091 * libgcc2.h, libgcc2.c (__ffsSI2): New.
1092 (__ffsDI2): Rename from __ffsdi2.
1093 * mklibgcc.in (lib2funcs): Add _ffssi2.
1094
0c9ed856
RH
10952003-02-04 Richard Henderson <rth@redhat.com>
1096
1097 * libgcc2.c (__paritysi2, __paritydi2): Replace last two reduction
1098 rounds with a "bit table" lookup.
1099
9537511b
UW
11002003-02-04 Ulrich Weigand <uweigand@de.ibm.com>
1101
1102 * reload.c (find_reloads): Do not use the mode specified in the insn
3ef879d2 1103 pattern as reload mode for address operands. Do not generate optional
9537511b
UW
1104 reloads for operands where a mandatory reload was already pushed.
1105
1efd0b97
RH
11062003-02-04 Richard Henderson <rth@redhat.com>
1107
1108 * longlong.h [alpha] (count_leading_zeros, count_trailing_zeros): Use
1109 builtins instead of inline assembly.
1110
087fc75a 11112003-02-04 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
3ef879d2 1112
087fc75a
FH
1113 PR c/9376
1114 * libgcc2.c (__subvdi3): Fix typo.
1115
f0f0d98e
JH
1116Tue Feb 4 21:46:05 CET 2003 Jan Hubicka <jh@suse.cz>
1117
1118 * i386.md (movti_rex64): Fix constraint.
1119
09f26fb5
JH
1120Tue Feb 4 18:40:42 CET 2003 Jan Hubicka <jh@suse.cz>
1121
1122 * i386.md (vector push splitters): Fix typo in resolving conflict.
1123
ff6e2d3e
RB
11242003-02-04 Rodney Brown <rbrown64@csc.com.au>
1125
1126 * config/i386/i386.c (x86_function_profiler): Fix typo in format.
1127
9e80ada7
PE
11282003-02-04 Phil Edwards <pme@gcc.gnu.org>
1129
1130 * doc/install.texi (*-*-linux-gnu): Mention glibc requirements
1131 for recent libstdc++. Remove formatting cruft.
1132
79c758fb
JJ
11332003-02-04 Jakub Jelinek <jakub@redhat.com>
1134
1135 * dwarf2out.c (dwarf2out_finish): Add AT_comp_dir
1136 attribute even if input file name is absolute, but one of the
1137 includes is relative.
1138
b3a8389d
JM
11392003-02-04 Joseph S. Myers <jsm@polyomino.org.uk>
1140
1141 * doc/gcc.texi, doc/gccint.texi, doc/gcov.texi,
1142 doc/include/fdl.texi, doc/invoke.texi: Update to GFDL 1.2.
1143 * doc/install.texi: Update copyright dates. Update to GFDL 1.2.
1144
dabb3f04
RH
11452003-02-03 Richard Henderson <rth@redhat.com>
1146
1147 * libgcc2.c (__ffsdi2, __clzsi2, __clzdi2, __ctzsi2, __ctzdi2,
1148 __popcountsi2, __popcountdi2, __paritysi2, __paritydi2): Change
1149 return type to "int". Shuffle declarations and undef int trap.
1150 * libgcc2.h: Remove their declarations.
1151 * optabs.c (expand_unop): Force outmode to int for bitops.
1152
985d0d50
BW
11532003-02-03 Bob Wilson <bob.wilson@acm.org>
1154
1155 * config/xtensa/xtensa.c (order_regs_for_local_alloc): Order the
1156 coprocessor registers before floating-point registers.
1157 * config/xtensa/xtensa.h (REG_ALLOC_ORDER): Adjust register numbers
1158 to account for a previously removed register.
1159 (SPEC_REG_FIRST, SPEC_REG_LAST, SPEC_REG_NUM, COUNT_REGISTER_REGNUM):
1160 Delete unused macros.
1161
7f0e57bd
JH
1162Mon Feb 3 21:19:11 CET 2003 Jan Hubicka <jh@suse.cz>
1163
1164 * i386.c (ix86_expand_store_builtin): Always force op1 to register.
1165 (mov*_internal): Fix predicates; require one of operands to not be
1166 memory.
1167 (SSE?MMX move expanders): Fix predicates; force one of operands to
1168 register.
1169 (SSE/MMX push patterns): Reorganize; fix x86-64 code generation.
1170 (movups/movupd/movdqu patterns): Force one of operands to not be
1171 memory.
1172
7daebb7a
RS
11732002-02-03 Roger Sayle <roger@eyesopen.com>
1174
1175 * hooks.c (hook_rtx_rtx_identity): Generic hook function that
1176 takes a single rtx and returns it unmodified.
1177 * hooks.h (hook_rtx_rtx_identity): Prototype here.
ff6e2d3e 1178 * target.h (struct gcc_target): Add "delegitimize_address"
7daebb7a
RS
1179 field to target structure.
1180 * target-def.h (TARGET_DELEGITIMIZE_ADDRESS): Provide default
1181 for delegitimize_address target using hook_rtx_rtx_identity.
1182 (TARGET_INITIALIZER): Initialize delegitimize_address field
1183 using TARGET_DELEGITIMIZE_ADDRESS macro.
1184 * simplify-rtx.c (avoid_constant_pool_reference): Handle float
1185 extensions of constant pool references. Use delegitimize_address
1186 to undo the obfuscation of "-fpic".
1187 * Makefile.in (simplify-rtx.o): Add dependency on target.h.
1188
1189 * config/i386/i386.c (TARGET_DELEGITIMIZE_ADDRESS): Define as
1190 i386_simplify_dwarf_addr.
1191 (ix86_find_base_term): Simplify using i386_simplify_dwarf_addr.
1192 (maybe_get_pool_constant): Likewise.
1193
84520a20
JH
1194Mon Feb 3 16:01:17 CET 2003 Jan Hubicka <jh@suse.cz>
1195
1196 * i386.c (ix86_expand_int_movcc): Fix setcc sign bit case.
1197
035b2a34
JH
1198Mon Feb 3 01:30:11 CET 2003 Jan Hubicka <jh@suse.cz>
1199
1200 * regclass.c (cannot_change_mode_set_regs): Correct argument order.
1201
1f143d5a
KG
12022003-02-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1203
1204 * mips/_tilib.c: Don't include tsystem.h or defaults.h. Don't
1205 define LIBGCC2_WORDS_BIG_ENDIAN. Include coretypes.h and tm.h.
1206
4b550d9f
AS
12072003-02-02 Andreas Schwab <schwab@suse.de>
1208
1209 * varasm.c (asm_output_aligned_bss): Declare as possibly unused.
1210
0732a089
RE
12112003-02-02 Richard Earnshaw <rearnsha@arm.com>
1212
1213 * arm.md (sibcall_epilogue): Set the "conds" to "clob".
1214 (epilogue_insns): Likewise.
1215
f269f54f
JDA
12162003-02-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1217
1218 * doc/install.texi (hppa*-hp-hpux11*): Update installation notes.
1219
611ad29e
JDA
12202003-02-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1221
1222 * pa-protos.h (attr_length_millicode_call): Remove second argument.
1223 (attr_length_indirect_call, attr_length_indirect_call,
1224 attr_length_save_restore_dltp): New prototypes.
1225 * pa.c (attr_length_millicode_call): Remove second argument. Check
1226 INSN_ADDRESSES_SET_P in distance calculation.
1227 (output_millicode_call): Check INSN_ADDRESSES_SET_P before using
1228 INSN_ADDRESSES.
1229 (attr_length_call): Check INSN_ADDRESSES_SET_P in distance calculation.
1230 (output_call): Check INSN_ADDRESSES_SET_P before using INSN_ADDRESSES.
1231 Call attr_length_call directly.
1232 (attr_length_indirect_call, output_indirect_call,
1233 attr_length_save_restore_dltp): New functions.
1234 * pa.md (attr_length_millicode_call): Drop second argument from all
1235 patterns.
1236 (return_internal_pic): Delete.
1237 (return_external_pic): Remove use of PIC register and pic operand and
1238 flag checks.
1239 (epilogue): Use return_internal for both normal and pic code.
1240 (call, call_value): Emit new 32-bit pic patterns for symref and
1241 indirect calls. Remove uses for arg pointer and pic register.
1242 (call_symref_pic, call_symref_pic_post_reload, call_reg_pic,
1243 call_reg_pic_post_reload, call_val_symref_pic,
1244 call_val_symref_pic_post_reload, call_val_reg_pic,
1245 call_val_reg_pic_post_reload): New pre and post reload insn patterns.
1246 Implement define_split and define_peephole2 patterns for pre reload
1247 patterns.
1248 (call_symref_64bit, call_internal_reg_64bit, call_value_symref_64bit,
1249 call_value_internal_reg_64bit): Shorten names.
1250 (all call patterns): Explicitly indicate registers used and clobbered.
1251 Use attr_length_indirect_call and attr_length_save_restore_dltp for
1252 attribute length calculation. Move code generation for indirect calls
1253 to output_indirect_call.
1254 (sibcall, sibcall_value): Don't restore PIC register.
1255 (exception_receiver, builtin_setjmp_receiver): Add blockage after PIC
1256 register retore.
1257
8cacda7c
GP
12582003-02-02 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
1259
1260 * doc/install.texi (Testing): Simplify and compress instructions
1261 concerning Dejagnu.
1262
cbc158bb
JDA
12632003-02-01 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1264
1265 * collect2.c (pexecute_pid): Rename to pid.
1266 (collect_wait, collect_execute, scan_prog_file, scan_libraries): Use
1267 pid.
1268
dcef1843
GK
12692003-02-01 Geoffrey Keating <geoffk@apple.com>
1270
1271 * doc/extend.texi (Function Attributes): Remove documentation
1272 for PowerPC Windows NT function attributes..
1273
5d7bed9d
DJ
12742003-02-01 Daniel Jacobowitz <drow@mvista.com>
1275
1276 * dwarf2out.c (gen_type_die): Check for typedefs before calling
1277 for TYPE_MAIN_VARIANT.
1278
53585c36
RH
12792003-02-01 Richard Henderson <rth@redhat.com>
1280
1281 * libgcc2.c: Include auto-host.h.
1282 (ATTRIBUTE_HIDDEN): New.
1283 (__clz_tab): Don't declare here for clz and ctz.
1284 (__clzsi2, __clzdi2): Use count_leading_zeros.
1285 (__ctzsi2, __ctzdi2): Use count_trailing_zeros.
1286 (__popcount_tab): Mark ATTRIBUTE_HIDDEN.
1287 (__paritysi2, __paritydi2): Use shifts instead of __popcount_tab.
1288 * longlong.h (__clz_tab): Mark ATTRIBUTE_HIDDEN.
1289
bc8a6d63
RH
12902003-02-01 Richard Henderson <rth@redhat.com>
1291
1292 * config/i386/i386.md (addsi_1_zext splitter): Add TARGET_64BIT
1293 to the conditional.
1294 (ashlsi3_1_zext splitter): Likewise.
1295
2928cd7a
RH
12962003-02-01 Richard Henderson <rth@redhat.com>
1297
1298 * optabs.c (expand_unop): Use word_mode for outmode of bit scaners.
1299 * libgcc2.c (__ffsdi2, __clzsi2, __clzdi2, __ctzsi2, __ctzdi2,
1300 __popcountsi2, __popcountdi2, __paritysi2 __paritydi2): Change
1301 return type to Wtype.
1302
1303 * libgcc-std.ver (GCC_3.4): Fix inheritance.
1304
1305 * config/i386/i386.md (ffssi2): Use nonimmediate_operand for
1306 expander input constraint.
1307
13082003-02-01 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
1309
ff6e2d3e
RB
1310 * optabs.h (optab_index): Add OTI_clz, OTI_ctz, OTI_popcount and
1311 OTI_parity.
1312 (clz_optab, ctz_optab, popcount_optab, parity_optab): New.
1313 * optabs.c (widen_clz, expand_parity): New.
1314 (expand_unop): Handle clz and parity. Hardcode SImode as outmode
1315 for libcalls to clz, ctz, popcount, and parity.
1316 (init_optabs): Init clz_optab, ctz_optab, popcount_optab and
1317 parity_optab, and set up libfunc handlers.
1318 * libgcc2.c (__clzsi2, __clzdi2, __ctzsi2, __ctzdi2,
1319 __popcountsi2, __popcountdi2, __paritysi2 __paritydi2,
1320 __popcount_tab): New.
1321 * libgcc2.h: Declare them.
1322 * libgcc-std.ver (GCC_3.4): Add new functions from libgcc2.c.
1323 * genopinit.c (optabs): Add clz_optab, ctz_optab, popcount_optab
1324 and parity_optab.
1325 * builtin-types.def (BT_FN_INT_LONG, BT_FN_INT_LONGLONG): New.
1326 * builtins.def (BUILT_IN_CLZ, BUILT_IN_CTZ, BUILT_IN_POPCOUNT,
1327 BUILT_IN_PARITY, BUILT_IN_FFSL, BUILT_IN_CLZL, BUILT_IN_CTZL,
1328 BUILT_IN_POPCOUNTL, BUILT_IN_PARITYL, BUILT_IN_FFSLL,
1329 BUILT_IN_CLZLL, BUILT_IN_CTZLL, BUILT_IN_POPCOUNTLL,
1330 BUILT_IN_PARITYLL): New.
1331 * builtins.c (expand_builtin_unop): Rename from expand_builtin_ffs
1332 and add optab argument.
1333 (expand_builtin): Expand BUILT_IN_{FFS,CLZ,POPCOUNT,PARITY}*.
1334 * tree.def (CLZ_EXPR, CTZ_EXPR, POPCOUNT_EXPR, PARITY_EXPR): New.
1335 * expr.c (expand_expr): Handle them.
1336 * fold-const.c (tree_expr_nonnegative_p): Likewise.
1337 * rtl.def (CLZ, CTZ, POPCOUNT, PARITY): New.
1338 * reload1.c (eliminate_regs): Handle them.
1339 (elimination_effects): Likewise.
1340 * function.c (instantiate_virtual_regs_1): Likewise
1341 * genattrtab.c (check_attr_value): Likewise.
1342 * simplify-rtx.c (simplify_unary_operation): Likewise.
1343 * c-common.c (c_common_truthvalue_conversion): Handle POPCOUNT_EXPR.
1344 * combine.c (combine_simplify_rtx): Handle POPCOUNT and PARITY.
1345 (nonzero_bits): Handle CLZ, CTZ, POPCOUNT and PARITY.
1346 * config/alpha/alpha.md (clzdi2, ctzdi2, popcountdi2): New.
1347 * config/arm/arm.c (arm_init_builtins): Rename __builtin_clz to
1348 __builtin_arm_clz.
1349 * Makefile.in (LIB2FUNCS_1, LIB2FUNCS_2): Move...
1350 * mklibgcc.in (lib2funcs): ...here and merge. Add new members.
1351 * doc/extend.texi (Other Builtins): Add new builtins.
1352 * doc/md.texi (Standard Names): Add new patterns.
2928cd7a 1353
112f7223
UW
13542003-02-01 Ulrich Weigand <uweigand@de.ibm.com>
1355
1356 * reload.c: Revert 2003-01-31 change.
1357
434c87d4
JH
1358Sat Feb 1 14:14:40 CET 2003 Jan Hubicka <jh@suse.cz>
1359
1360 * combine.c (combine_simplify_rtx): Use reversed_comparison_code_parts.
1361
271bd540
RS
13622003-02-01 Richard Sandiford <rsandifo@redhat.com>
1363
1364 * flags.h (flag_volatile): Remove declaration.
1365 (flag_volatile_global, flag_volatile_static): Likewise.
1366 * c-typeck.c (build_indirect_ref): Don't check flag_volatile.
1367 * toplev.c (flag_volatile): Remove definition.
1368 (flag_volatile_global, flag_volatile_static): Likewise.
1369 (f_options): Remove corresponding entries here.
1370 * varasm.c (make_decl_rtl): Don't check flag_volatile_global
1371 or flag_volatile_static.
1372 * doc/invoke.texi: Remove documentation of -fvolatile,
1373 -fvolatile-global and -fvolatile-static.
1374
17e6098e
JDA
13752003-01-31 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1376
1377 * pa.c (pa_output_function_prologue, pa_output_function_epilogue): Move
1378 updating of total_code_bytes from prologue to epilogue.
1379
2f278625
UW
13802003-01-31 Ulrich Weigand <uweigand@de.ibm.com>
1381
1382 * reload.c (find_reloads): Do not use the mode specified in the insn
1383 pattern as reload mode for address operands. Do not generate optional
1384 reloads for operands where a mandatory reload was already pushed.
1385 Generate optional reloads only in the final pass though find_reloads.
1386 (have_replacement_p): New function.
1387
05c425a9
GP
13882003-01-31 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
1389
1390 * doc/install.texi (Testing): Remove a reference to our obsolete
1391 /testresults web pages and strip redundant information concerning
1392 test results.
1393 (Binaries): Refer to Microsoft Windows instead of listing all
1394 possible variants.
1395
b0c42aed
JH
1396Sat Feb 1 00:28:30 CET 2003 Jan Hubicka <jh@suse.cz>
1397
1398 * loop.c (emit_prefetch_instructions): Do conversion at right place in
1399 RTL chain.
1400
1401 * combine.c (simplify_set): Reverse order of ragumetns to
1402 REG_CANNOT_CHANGE_MODE_P
1403 * df.c (df_def_record_1): Likewise.
1404 * recog.c (register_operand): Likewise.
1405 * simplify-rtx.c (simplify_subreg): Likewise.
1406 * hard-reg-set.h (REG_CANNOT_CHANGE_MODE_P): Update use of
1407 CANNOT_CHANGE_MODE_CLASS.
1408 * regclass.c (cannot_change_mode_set_regs, invalid_mode_change_p):
1409 Likewise.
1410 * reload.c (push_reload): Likewise.
1411 * alpha.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
1412 * ia64.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
1413 * mips.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
1414 * mips-protos.h (mips_cannot_change_mode_class): Update prototype.
1415 * mips.c (mips_cannot_change_mode_class): Update.
1416 * pa64-regs.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
1417 * rs6000.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
1418 * s390.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
1419 * sh.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
1420 * sh-protos.h (sh_cannot_change_mode_class): Update prototype.
1421 * sh.c (sh_cannot_change_mode_class): Update.
1422 * i386.h (CANNOT_CHANGE_MODE_CLASS): New.
1423 * tm.texi (CANNOT_CHANGE_MODE_CLASS): Update documentation.
1424
1f61a15d
GK
14252003-01-31 Geoffrey Keating <geoffk@apple.com>
1426
1427 * config/darwin.h (LINK_COMMAND_SPEC): Update for Nathan's recent
1428 change to LINK_COMMAND_SPEC in gcc.c.
1429
7c712dcc
LR
14302003-01-31 Jan Hubicka <jh@suse.cz>
1431
1432 PR c/9506
1433 * i386.c (override_options): Use DEFAULT_PCC_STRUCT_RETURN.
1434
e137391e
JDA
14352003-01-31 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1436
1437 * pa32-regs.h (REGNO_REG_CLASS, REG_CLASS_FROM_LETTER): Delete
1438 duplicated code.
1439
1824b90d
NS
14402003-01-31 Nathan Sidwell <nathan@codesourcery.com>
1441
1442 * tree.h (TYPE_BINFO_SIZE, TYPE_BINFO_SIZE_UNIT): Remove.
1443 (BINFO_ELTS): New #define.
1444 * stor-layout.c (finalize_record_size): Don't set them.
1445 * cp/cp-tree.h (BINFO_SUBVTT_INDEX, BINFO_VPTR_INDEX,
1446 BINFO_PRIMARY_BASE_OF): Use BINFO_ELTS.
1447 (BINFO_LANG_ELTS): New #define.
1448 * cp/tree.c (make_binfo): Use BINFO_LANG_ELTS.
1449 * java/class.c (make_class): Use BINFO_ELTS.
1450 (set_super_info): Likewse.
1451 (add_interface_do): Likewise.
1452 * objc/objc-act.c (start_class): Use BINFO_ELTS.
1453
8f9a402c
DS
14542003-01-31 Danny Smith <dannysmith@users.sourceforge.net>
1455
1456 * timevar.c (getrusage): Don't ever declare if not HAVE_GETRUSAGE.
1457 (times): Don't ever declare if not HAVE_TIMES.
1458 (clock): Don't ever declare if not HAVE_CLOCK.
1459
cdd1f01b
RH
14602003-01-30 Richard Henderson <rth@redhat.com>
1461
1462 * flow.c (update_life_info): Zap life info after cleanup_cfg.
1463 (regno_uninitialized): Use correct live at function entry set.
1464 (regno_clobbered_at_setjmp): Likewise.
1465
1466 * expr.c (store_expr): Promote all MEM intermediates to regs.
1467
6bc82793
KH
14682003-01-30 Kazu Hirata <kazu@cs.umass.edu>
1469
1470 * config/arm/arm.c: Fix comment typos.
1471 * config/arm/arm.h: Likewise.
1472 * config/arm/netbsd-elf.h: Likewise.
1473 * config/arm/netbsd.h: Likewise.
1474
f099d360
GK
14752003-01-30 Geoffrey Keating <geoffk@apple.com>
1476
1477 * gengtype.c (struct walk_type_data): Add needs_cast_p.
1478 (walk_type): Set needs_cast_p in walk_type_data.
1479 (write_types_process_field): Supply casts when required to suppress
1480 warnings.
1481 (write_root): Cast gt_pch_n_S to suppress warning.
1482 * Makefile.in: Remove -Wno-error from gtype-desc.o and c-decl.o.
f099d360
GK
1483 * config/rs6000/rs6000.c (print_operand): Mask off high bits only
1484 when they might exist.
1485 * config/rs6000/t-rs6000: Remove -Wno-error from varasm.o,
1486 insn-conditions.o, and rs6000.o.
1487
52895e1a
RH
14882003-01-30 Richard Henderson <rth@redhat.com>
1489
1490 * ggc-page.c (G.context_depth_allocations): New.
1491 (G.context_depth_collections): New.
1492 (alloc_page): Set G.context_depth_allocations.
1493 (ggc_collect): Set G.context_depth_collections.
1494 (ggc_push_context): Limit to HOST_BITS_PER_LONG contexts.
1495 (ggc_pop_context): Early exit for no allocations or collections.
1496
c35c7e52
RH
14972003-01-30 Richard Henderson <rth@redhat.com>
1498
1499 * tree-inline.c (walk_tree): Streamline duplicate hash table lookup.
1500
e43dd89d
RE
15012003-01-30 Richard Earnshaw <rearnsha@arm.com>
1502
1503 * arm.c (arm_compute_initial_elimination_offset): If optimizing for
1504 size, the link register is always saved if any other register is
1505 saved.
1506
87a902e4
KH
15072003-01-30 Kazu Hirata <kazu@cs.umass.edu>
1508
1509 * config/h8300/h8300-protos.h: Update the prototype for
1510 compute_plussi_cc.
1511 (cpp_reader): Declare before it is used.
1512 * config/h8300/h8300.c (compute_plussi_cc): Change the return
1513 type to int.
1514 * config/h8300/h8300.md (monitor_prologue): Call abort() if we
1515 see an unknown H8 variant.
1516
15172003-01-30 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
0186a143 1518
ff6e2d3e 1519 PR target/9316
0186a143
RC
1520 * config/rs6000/rtems.h: Add CPP_OS_DEFAULT_SPEC.
1521 * config/rs6000/sysv4.h: Add CPP_OS_RTEMS_SPEC.
1522 * config/rs6000/t-rtems: New file. multilib variants to match OS.
1523 * config.gcc (powerpc-*-rtems*): Use rs6000/t-rtems instead of
1524 rs6000/t-ppcgas so we get the desired multilibs.
1525
f55d7103
NC
15262003-01-30 Nick Clifton <nickc@redhat.com>
1527
1528 * config/arm/arm.c (arm_output_epilogue): Update stack pointer
1529 when popping saved IP register off the stack.
1530
b6d08ca1
KH
15312003-01-30 Kazu Hirata <kazu@cs.umass.edu>
1532
1533 * config/rs6000/aix43.h: Fix comment typos.
1534 * config/rs6000/aix51.h: Likewise.
1535 * config/rs6000/aix52.h: Likewise.
1536 * config/rs6000/altivec.h: Likewise.
1537 * config/rs6000/rs6000.c: Likewise.
1538 * config/rs6000/rs6000.h: Likewise.
1539 * config/rs6000/rs6000.md: Likewise.
1540 * config/rs6000/spe.md: Likewise.
1541
14d22dd6
MM
15422003-01-29 Mark Mitchell <mark@codesourcery.com>
1543
1544 * c-common.c (builtin_define_float_constants): Define
1545 __<TYPE>_HAS_INFINITY__ and __<TYPE>_HAS_QUIET_NAN__.
1546
825db093
KH
15472003-01-30 Kazu Hirata <kazu@cs.umass.edu>
1548
1549 * config/sh/lib1funcs.asm: Fix comment typos.
1550 * config/sh/linux.h: Likewise.
1551 * config/sh/sh.c: Likewise.
1552 * config/sh/sh.md: Likewise.
1553
f1d5271a
LR
15542003-01-30 Loren James Rittle <ljrittle@acm.org>
1555
1556 * objc/Make-lang.in (objc-parse.y): Find c-parse.in in $(srcdir).
1557
266a9ef1
AO
15582003-01-30 Alexandre Oliva <aoliva@redhat.com>
1559
1560 * config/fp-bit.h (__make_dp): Declare if TMODES.
1561
0889116d
KH
15622003-01-29 Kazu Hirata <kazu@cs.umass.edu>
1563
1564 * config/h8300/h8300.h (PREDICATE_CODES): Add entries for
1565 general_operand_src and general_operand_dst.
1566
c8c99a68
DE
15672003-01-29 David Edelsohn <edelsohn@gnu.org>
1568
1569 * config/rs6000/rs6000.c (function_arg_pass_by_reference):
1570 Return true for variable sized types.
1571 (rs6000_va_arg): Handle variable sized types passed by reference
1572 on non-SVR4 ABI.
1573
ccf4d512
RE
15742003-01-29 Richard Earnshaw <rearnsha@arm.com>
1575
1576 * arm.c (arm_legtimize_address): New function.
1577 * arm-protos.h (arm_legtimize_address): Add prototype.
1578 * arm.h (ARM_LEGITIMIZE_ADDRESS): Use arm_legitimize_address.
1579 (LEGITIMIZE_ADDRESS, THUMB_LEGITIMIZE_ADDRESS): Wrap with
1580 do ... while (0)
1581
0889116d 15822003-01-29 Joel Sherrill <joel@OARcorp.com>
0680c8fb 1583
7429b411 1584 PR bootstrap/9296
0680c8fb 1585 * gthr-rtems.h: Define __GTHREAD_MUTEX_INIT. Apparently no code
7429b411 1586 depended on it being defined until now.
0680c8fb 1587
7429b411 15882003-01-29 Joel Sherrill <joel@OARcorp.com>
c934274a 1589
7429b411 1590 PR target/9295
c934274a
JS
1591 * config/mips/rtems.h: Predefine __USE_INIT_FINI__ so generic
1592 RTEMS code knows which C++ initialization style the toolset
7429b411 1593 configuration is using.
c934274a 1594
0889116d 15952003-01-29 Joel Sherrill <joel@OARcorp.com>
2e327e6e 1596
7429b411 1597 PR bootstrap/9293
ff6e2d3e 1598 * config/m68k/t-crtstuff: Replace spaces with tabs, add
2e327e6e 1599 $(MULTILIB_CFLAGS) as compiler option and multilib crtbegin/end.o.
2e327e6e 1600
0889116d 16012003-01-29 Joel Sherrill <joel@OARcorp.com>
64abe03e 1602
7429b411 1603 PR bootstrap/9292
64abe03e
JS
1604 * config.gcc (hppa1.1-rtems): Did not include t-rtems nor enable
1605 RTEMS threads.
1606 * config/pa/rtems.h (LIB_SPEC): Use -N when linking.
64abe03e 1607
2f12fb2b
NC
16082003-01-29 Nick Clifton <nickc@redhat.com>
1609
1610 * Makefile.in (c-parse.o): Locate source file in $(parsedir)
1611 not $(srcdir).
1612
cf0150b9
AH
16132003-01-29 Andrew Haley <aph@redhat.com>
1614
1615 * tree-inline.c (walk_tree): Add CHAR_TYPE.
1616
9b74f3ea
JH
1617Wed Jan 29 10:26:12 CET 2003 Jan Hubicka <jh@suse.cz>
1618
1619 * i386.md (subdi3_carry_rex64): Fix typo.
1620
e150159c
SS
16212003-01-28 Stan Shebs <shebs@apple.com>
1622
1623 * coretypes.h (cpp_reader): Forward declare struct.
1624 * c-pragma.h (cpp_reader): Remove forward declaration.
1625 * hashtable.h (cpp_reader): Likewise.
1626 * scan.h (cpp_reader): Likewise.
1627 * tree.h (cpp_reader): Likewise.
1628 * config/darwin-protos.h (cpp_reader): Likewise.
1629 * config/arm/arm-protos.h (cpp_reader): Likewise.
1630 * config/rs6000/rs6000-protos.h: Remove GCC_CPPLIB_H ifdef, use
1631 struct cpp_reader in prototypes.
1632
53b50ac1
CC
16332003-01-28 Christian Cornelssen <ccorn@cs.tu-berlin.de>
1634
1635 * doc/install.texi: Add documentation for installation into
1636 tooldirs and with DESTDIR.
1637
021aa6ed
RH
16382003-01-28 Richard Henderson <rth@redhat.com>
1639
1640 * config.gcc (ia64*-*-aix*): Remove.
1641 * config/ia64/aix.h, config/ia64/t-aix: Remove file.
1642 * config/ia64/unwind-aix.c: Remove file.
1643
c1c1d123
AS
16442003-01-28 Andreas Schwab <schwab@suse.de>
1645
ff6e2d3e
RB
1646 * config/m68k/m68k.md (tablejump+2): Don't sign extend an address
1647 register.
1648 * config/m68k/apollo68.h (ASM_RETURN_CASE_JUMP): Likewise.
1649 * config/m68k/coff.h (ASM_RETURN_CASE_JUMP): Likewise.
1650 * config/m68k/linux.h (ASM_RETURN_CASE_JUMP): Likewise.
1651 * config/m68k/m68kelf.h (ASM_RETURN_CASE_JUMP): Likewise.
1652 * config/m68k/mot3300.h (ASM_RETURN_CASE_JUMP): Likewise.
1653 * config/m68k/netbsd-elf.h (ASM_RETURN_CASE_JUMP): Likewise.
1654 * config/m68k/pbb.h (ASM_RETURN_CASE_JUMP): Likewise.
c1c1d123 1655
6d09ef27
RS
16562003-01-28 Richard Sandiford <rsandifo@redhat.com>
1657
1658 * combine.c (nonzero_bits): Fix check for negative divide operands.
1659
1e1bd14e
RH
16602003-01-28 Richard Henderson <rth@redhat.com>
1661
1662 * config/ia64/ia64.c (ia64_rwreloc_section_type_flags): New.
1663 * config/ia64/hpux.h (TARGET_SECTION_TYPE_FLAGS): New.
1664
e37135f7
RH
16652003-01-28 Richard Henderson <rth@redhat.com>
1666
1667 * cse.c (find_best_addr): Kill !ADDRESS_COST code.
1668
75642f32
RH
1669 * config/cris/cris.c (cris_address_cost): Make static.
1670 (TARGET_RTX_COSTS, TARGET_ADDRESS_COST): New.
1671 * config/cris/cris.h (ADDRESS_COST): Remove.
1672 * config/cris/cris-protos.h: Update.
1673
e37135f7 16742003-01-23 Mike Stump <mrs@apple.com>
1f80c9ef
MS
1675
1676 * regclass.c (init_reg_autoinc): New function.
1677 (regclass): Move initialization of forbidden_inc_dec_class from
1678 here...
1679 (init_regs): to here. Avoids reinitialization for each function,
1680 saving compilation time.
1681
9fbd3e41
JM
16822003-01-28 Jason Merrill <jason@redhat.com>
1683
1684 * cpplib.h (struct cpp_options): Add warn_deprecated field.
1685 * cppinit.c (cpp_create_reader): Turn it on by default.
1686 * c-opts.c (c_common_decode_option): Set it.
1687 * cpplib.c (do_pragma_once): Only complain about #pragma once
1688 if warn_deprecated is set.
1689
fe352c29 16902003-01-28 Dale Johannesen <dalej@apple.com>
9fbd3e41 1691
1e1bd14e
RH
1692 * emit-rtl.c (const_double_htab_hash): Use mode in the hash.
1693 * loop.c (scan_loop): Move movables on -Os rich-register targets.
1694 * config/rs6000/rs6000.md (sibcall*): Use match_operand for LR.
fe352c29 1695
dcefdf67
RH
16962003-01-28 Richard Henderson <rth@redhat.com>
1697
1698 * target.h (targetm.address_cost): New.
1699 * target-def.h (TARGET_ADDRESS_COST): New.
1700 (TARGET_RTX_COSTS): Uncomment. Oops.
1701 * cse.c (address_cost): Use new target hook.
1702 (default_address_cost): New.
1703 * output.h (default_address_cost): Declare.
1704 * hooks.c (hook_int_rtx_0): New.
1705 * hooks.h (hook_int_rtx_0): Declare.
1706 * loop.c (combine_givs_p): Remove if 0 code.
1707 * system.h (ADDRESS_COST): Poison.
1708
1709 * config/alpha/alpha.c, config/alpha/alpha.h, config/d30v/d30v.c,
1710 config/d30v/d30v.h, config/ia64/ia64.c, config/ia64/ia64.h,
1711 config/m32r/m32r.c, config/m32r/m32r.h, config/mcore/mcore.c,
1712 config/mcore/mcore.h, config/mmix/mmix.c, config/mmix/mmix.h,
1713 config/rs6000/rs6000.c, config/rs6000/rs6000.h, config/sparc/sparc.c,
1714 config/sparc/sparc.h, config/v850/v850.c, config/v850/v850.h,
1715 config/xtensa/xtensa.c, config/xtensa/xtensa.h
1716 (TARGET_ADDRESS_COST): Define as hook_int_rtx_0.
1717 (ADDRESS_COST): Remove.
1718
1719 * config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h,
1720 config/avr/avr-protos.h, config/avr/avr.c, config/avr/avr.h,
1721 config/c4x/c4x-protos.h, config/c4x/c4x.c, config/c4x/c4x.h,
1722 config/dsp16xx/dsp16xx-protos.h, config/dsp16xx/dsp16xx.c,
1723 config/dsp16xx/dsp16xx.h, config/i386/i386-protos.h,
1724 config/i386/i386.c, config/i386/i386.h, config/i960/i960-protos.h,
1725 config/i960/i960.c, config/i960/i960.h, config/ip2k/ip2k-protos.h,
1726 config/ip2k/ip2k.c, config/ip2k/ip2k.h, config/mips/mips-protos.h,
ff6e2d3e 1727 config/mips/mips.c, config/mips/mips.h,
dcefdf67 1728 config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c,
ff6e2d3e 1729 config/m68hc11/m68hc11.h, config/ns32k/ns32k-protos.h,
dcefdf67
RH
1730 config/ns32k/ns32k.c, config/ns32k/ns32k.h, config/pa/pa-protos.h,
1731 config/pa/pa.c, config/pa/pa.h, config/s390/s390-protos.h,
1732 config/s390/s390.c, config/s390/s390.h, config/vax/vax-protos.h,
1733 config/vax/vax.c, config/vax/vax.h
1734 (foo_address_cost): Make static.
1735 (TARGET_ADDRESS_COST): New.
1736 (ADDRESS_COST): Remove.
1737
1738 * config/arm/arm.h, config/arm/arm.c, config/m88k/m88k.h,
1739 config/m88k/m88k.c, config/romp/romp.h, config/romp/romp.c,
1740 config/sh/sh.c, config/sh/sh.h, config/stormy16/stormy16.c,
1741 config/stormy16/stormy16.h
1742 (ADDRESS_COST): Move code ...
1743 (foo_address_cost): ... here.
1744 (TARGET_ADDRESS_COST): New.
1745
1746 * config/m32r/m32r.c (m32r_address_cost): Remove.
1747 * config/m32r/m32r-protos.h: Update.
1748
1749 * config/mmix/mmix.c (mmix_address_cost): Remove.
1750 * config/mmix/mmix-protos.h: Update.
1751
1752 * config/mn10300/mn10300.c (mn10300_address_cost_1): Rename from
1753 mn10300_address_cost; move unsig allocation ...
1754 (mn10300_address_cost): ... here.
1755 (TARGET_ADDRESS_COST): New.
1756 * config/mn10300/mn10300-protos.h: Update.
1757 * config/mn10300/mn10300.h (ADDRESS_COST): Remove.
1758
75642f32
RH
1759 * doc/tm.texi: Update.
1760
58fb7809
VM
17612003-01-28 Vladimir Makarov <vmakarov@redhat.com>
1762
1763 * haifa-sched.c (schedule_insn): Return necessary cycle advance
1764 after issuing the insn.
1765 (rank_for_schedule): Make a insn with /S the highest priority
1766 insn.
1767 (move_insn): Ignore schedule groups. Clear SCHED_GROUP_P.
1768 (choose_ready): Check SCHED_GROUP_P.
1769 (schedule_block): Advance cycle after issuing insn if it is
1770 necessary. Don't reorder insns if there is an insn with /S.
1771 (set_priorities): Ignore schedule groups.
1772
1773 * sched-deps.c (remove_dependence, group_leader): Remove the
1774 functions.
1775 (add_dependence): Ignore schedule groups.
1776 (set_sched_group_p): Don't make copy of dependencies from previous
1777 insn of the schedule group. Add anti-dependency to the previous
1778 insn of the schedule group.
1779 (compute_forward_dependences): Ignore schedule groups.
1780
1781 * sched-ebb.c (init_ready_list): Ignore schedule groups.
1782
1783 * sched-rgn.c (init_ready_list): Ditto.
1784 (can_schedule_ready_p): Ditto.
ff6e2d3e 1785
371c988b
VM
17862003-01-28 Vladimir Makarov <vmakarov@redhat.com>
1787
1788 * config/i386/i386.md (*movsi_1): Use movdqa to move one xmm
1789 register to another one.
1790
40cdfd5a
RH
17912003-01-28 Richard Henderson <rth@redhat.com>
1792
1793 * calls.c (default_must_pass_in_stack): Fix typo in !type case.
1794
a77b7e32
RS
17952003-01-28 Roger Sayle <roger@eyesopen.com>
1796
1797 * cse.c (cse_insn): Avoid redundant REG_EQUAL notes.
1798
3620944c
RS
17992003-01-28 Richard Sandiford <rsandifo@redhat.com>
1800
1801 * config/sh/sh.h (CLASS_MAX_NREGS): If TARGET_SHMEDIA, and the given
1802 class contains a floating-point register, return the size of the
1803 mode in half words.
1804
e6e81735
JH
1805Tue Jan 28 12:15:13 CET 2003 Jan Hubicka <jh@suse.cz>
1806
1807 * i386.c (ix86_carry_flag_operator): New predicate.
1808 (fcmov_operator): Fix whitespace.
1809 (ix86_expand_carry_flag_compare): Deal with floating point.
1810 (ix86_expand_int_movcc): Deal with fp; update insn expansion
1811 (ix86_expand_int_addcc): Likewise.
1812 (ix86_expand_strlensi_unroll_1): likewsie.
1813 * i386.h (PREDICATE_CODES): Add ix86_carry_flag_operator.
1814 * i386.md (add?i_carry_rex64): Use new predicate.
1815 (sub?i3_carry_rex64): Likewise.
1816 (x86_mov?icc_0_m1*): Likewise.
1817
43196589
AS
18182003-01-28 Andreas Schwab <schwab@suse.de>
1819
32214c32
AS
1820 * cfgloopmanip.c (create_preheader): Initialize src to avoid
1821 warning.
1822
1823 * expmed.c (emit_store_flag): Fix cast to avoid sign
1824 comparison warning.
1825
43196589
AS
1826 * combine.c (force_to_mode): Add cast to fix warning when
1827 STORE_FLAG_VALUE is negative.
1828
3c50106f
RH
18292003-01-27 Richard Henderson <rth@redhat.com>
1830
1831 * Makefile.in (cse.o): Depend on TARGET_H.
1832 * cse.c (rtx_cost): Use targetm.rtx_costs.
1833 * system.h (CONST_COSTS RTX_COSTS DEFAULT_RTX_COSTS): Poison.
1834 * doc/tm.texi: Update.
ff6e2d3e 1835
3c50106f
RH
1836 * target.h (targetm.rtx_costs): New.
1837 * target-def.h (TARGET_RTX_COSTS): New.
1838 * hooks.c (hook_bool_rtx_int_int_intp_false): New.
1839 * hooks.h: Update.
1840
1841 * config/alpha/alpha.c (alpha_rtx_cost_data): New.
1842 (alpha_rtx_costs, TARGET_RTX_COSTS): New.
1843 * config/alpha/alpha.h (PROCESSOR_MAX): New.
1844 (CONST_COSTS, RTX_COSTS): Remove.
1845
1846 * config/arc/arc.c, config/arc/arc.h, config/c4x/c4x.c,
1847 config/c4x/c4x.h, config/cris/cris.c, config/cris/cris.h,
1848 config/d30v/d30v.c, config/d30v/d30v.h, config/dsp16xx/dsp16xx.c,
1849 config/dsp16xx/dsp16xx.h, config/frv/frv.c, config/frv/frv.h,
1850 config/h8300/h8300.c, config/h8300/h8300.h, config/i370/i370.c,
1851 config/i370/i370.h, config/i386/i386.c, config/i386/i386.h,
1852 config/i960/i960.c, config/i960/i960.h, config/ia64/ia64.c,
1853 config/ia64/ia64.h, config/m32r/m32r.c, config/m32r/m32r.h,
1854 config/m68k/m68k.c, config/m68k/m68k.h, config/m88k/m88k.c,
1855 config/m88k/m88k.h, config/mcore/mcore.c, config/mcore/mcore.h,
1856 config/mips/mips.c, config/mips/mips.h, config/mn10200/mn10200.c,
1857 config/mn10200/mn10200.h, config/mn10300/mn10300.c,
1858 config/mn10300/mn10300.h, config/ns32k/ns32k.c, config/ns32k/ns32k.h,
1859 config/pa/pa.c, config/pa/pa.h, config/pdp11/pdp11.c,
1860 config/pdp11/pdp11.h, config/romp/romp.c, config/romp/romp.h,
1861 config/rs6000/rs6000.c, config/rs6000/rs6000.h, config/s390/s390.c,
1862 config/s390/s390.h, config/sh/sh.c, config/sh/sh.h,
1863 config/stormy16/stormy16.c, config/stormy16/stormy16.h,
1864 config/v850/v850.c, config/v850/v850.h,
1865 config/xtensa/xtensa.c, config/xtensa/xtensa.h
1866 (CONST_COSTS, RTX_COSTS): Move code ...
1867 (foo_rtx_costs, TARGET_RTX_COSTS): ... here.
1868
1869 * config/arm/arm.c (arm_rtx_costs_1): Rename from arm_rtx_costs.
1870 (arm_rtx_costs, TARGET_RTX_COSTS): New.
1871 * config/arm/arm-protos.h: Update.
1872 * config/arm/arm.h (DEFAULT_RTX_COSTS): Remove.
1873
1874 * config/avr/avr.h (CONST_COSTS): Move code ...
1875 * config/avr/avr.c (avr_rtx_costs): ... here.
1876 (default_rtx_costs): Make static.
1877 * config/avr/avr-protos.h: Update.
1878
1879 * config/h8300/h8300.c (const_costs): Make static.
1880 (h8300_and_costs, h8300_shift_costs): Likewise.
1881 * config/h8300/h8300-protos.h: Update.
1882
1883 * config/ip2k/ip2k.h (DEFAULT_RTX_COSTS): Remove.
1884 (CONST_COSTS): Move code ...
1885 * config/ip2k/ip2k.c (ip2k_rtx_costs): ... here. Rename from
1886 default_rtx_costs; update for signature change.
1887 * config/ip2k/ip2k-protos.h: Update.
1888
1889 * config/m68hc11/m68hc11.h (RTX_COSTS): Remove.
1890 (CONST_COSTS): Move code ...
1891 * config/m68hc11/m68hc11.c (m68hc11_rtx_costs): ... here.
1892 (TARGET_RTX_COSTS): New.
1893 (m68hc11_rtx_costs_1): Rename from m68hc11_rtx_costs; make static.
1894 * config/m68hc11/m68hc11-protos.h: Update.
1895
1896 * config/m68k/m68k.c (const_int_cost): Make static.
1897 * config/m68k/m68k-protos.h: Update.
1898
1899 * config/mcore/mcore.c (mcore_const_costs): Make static.
1900 (mcore_and_cost, mcore_ior_cost): Likewise.
1901 * config/mcore/mcore-protos.h: Update.
1902
1903 * config/mmix/mmix.c (mmix_rtx_costs, TARGET_RTX_COSTS): New.
1904 (mmix_rtx_cost_recalculated): Remove.
1905 * config/mmix/mmix.h (DEFAULT_RTX_COSTS): Remove.
1906 * config/mmix/mmix-protos.h: Update.
1907
1908 * config/sh/sh.c (shiftcosts): Make static.
1909 (addsubcosts, andcosts, multcosts): Likewise.
1910 * config/sh/sh-protos.h: Update.
1911
1912 * config/sparc/sparc.c (TARGET_RTX_COSTS): New.
1913 (sparc_rtx_costs): Make static; update for change in signature.
1914 * config/sparc/sparc.h (RTX_COSTS_CASES, RTX_COSTS): Remove.
1915 * config/sparc/sparc-protos.h: Update.
1916
1917 * config/v850/v850.c (const_costs): Make static.
1918 * config/v850/v850-protos.h: Update.
1919
1920 * config/vax/vax.h (RTX_COSTS): Remove.
1921 (CONST_COSTS): Move code ...
1922 * config/vax/vax.c (vax_rtx_costs_1): ... here; rename
1923 from vax_rtx_cost.
1924 (vax_rtx_costs, TARGET_RTX_COSTS): New.
1925
b9962e0a
RH
19262003-01-27 Richard Henderson <rth@redhat.com>
1927
1928 * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Remove. Really.
5ca98980 1929 * config/vax/vax-protos.h: Update. Really.
b9962e0a 1930
8a381273
AO
19312003-01-28 Alexandre Oliva <aoliva@redhat.com>
1932
1933 * config/mips/mips.h (UNITS_PER_HWFPVALUE): Renamed from...
1934 (UNITS_PER_FPVALUE): Defined as the width of a long double, or
1935 zero if no hardware floating point.
1936 (LONG_DUBLE_TYPE_SIZE): Set to 128 on N32 and N64.
1937 (MAX_FIXED_MODE_SIZE): Define to LONG_DOUBLE_TYPE_SIZE.
1938 (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define.
1939 (BIGGEST_ALIGNMENT): Same as LONG_DOUBLE_TYPE_SIZE.
1940 (FUNCTION_VALUE_REGNO_P): Set for FP_RETURN+2 on N32 and N64.
1941 * config/mips/mips.c (mips_arg_info): Pass TFmode values in
1942 even FP registers on N32 and N64.
1943 (mips_setup_incoming_varargs): Use UNITS_PER_HWFPVALUE.
1944 (mips_va_start): Adjust alignment of ARG_POINTER_REGNUM.
1945 (mips_va_arg): Use UNITS_PER_HWFPVALUE. Impose additional
1946 even-register-like alignment to 128-bit arguments.
1947 (save_restore_insns): Use UNITS_PER_HWFPVALUE.
1948 (mips_function_value): Likewise. Return TFmode in $f0 and $f2
1949 on N32 or N64.
1950 * config/mips/_tilib.c (__negti2, __ashlti3, __lshrti3): New.
1951 * config/mips/t-iris6 (LIB2FUNCS_EXTRA): Add _tilib.c.
1952 (TPBIT): Set to tp-bit.c.
1953 (tp-bit.c): Create out of fp-bit.c.
1954
820e01be
GDR
19552003-01-28 Gabriel Dos Reis <gdr@integrable-solutions.net>
1956
1957 * c-parse.in: Remove '%expect 32' directive in objc mode.
1958
23af32e6
NS
19592003-01-27 Nathan Sidwell <nathan@codesourcery.com>
1960
1961 * Makefile.in (LIB2FUNCS_ST): Remove _gcov.
1962 (LIBGCOV): New variable.
1963 (libgcc.mk): Add LIBGCOV.
1964 (LIBGCC_DEPS): Add libgcov.c.
1965 (libgcov.a): New target.
1966 (clean): Remove libgcov.a.
1967 (install-libgcc): Do libgcov too.
1968 (stage1-start, stage2-start, stage3-start, stage4-start): Deal
1969 with libgcov.a.
1970 * libgcc2.c (L_gcov): Move into ...
1971 * libgcov.c: ... here. New file.
1972 * mklibgcc.in: Add libgcov rules.
1973 * gcc.c (LINK_COMMAND_SPEC): Add -lgcov when profiling.
1974
1975 * doc/invoke.texi (profile-arcs, test-coverage): Update and
1976 clarify.
ff6e2d3e 1977
23af32e6
NS
1978 * profile.c (index_counts_file): Remove duplicate check for open file.
1979
9fe42917 19802003-01-27 Jerry Quinn <jlquinn@optonline.net>
d4463dfc
JQ
1981
1982 * gcc/doc/invoke.texi (Optimization Options): Group together
1983 optional and experimental flags. Move trapv and bounds-check
95fcd0ab 1984 out of this section. Group floating point flags together.
d4463dfc
JQ
1985 (Code Gen Options): Move trapv and bounds-check to here.
1986
244d05fb
JZ
19872003-01-27 Josef Zlomek <zlomekj@suse.cz>
1988
1989 * gcse.c (constprop_register): Check NEXT_INSN (insn) != NULL.
1990
c552c146
RE
19912003-01-27 Richard Earnshaw <rearnsha@arm.com>
1992
1993 PR optimization/9090
1994 * function.c (purge_addressof_1): After pushing an addressed register
1995 onto the stack, simplify the result.
1996
90a21764
VR
19972003-01-27 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
1998
1999 * doc/extend.texi: Fix typo.
2000
9a376494
VR
20012003-01-27 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
2002
2003 * doc/cppopts.texi: Fix typo.
2004 * doc/objc.texi: Likewise.
2005 * doc/passes.texi: Likewise.
2006
f004e5f3
AO
20072003-01-27 Alexandre Oliva <aoliva@redhat.com>
2008
2009 * real.c (ibm_extended_format): Add 53 to minimum exponent.
2010 (encode_ibm_extended): Adjust.
2011
58c60e52
GDR
20122003-01-26 Gabriel Dos Reis <gdr@soliton.integrable-solutions.net>
2013
2014 * timevar.def (TV_OVERLOAD, TV_TEMPLATE_INSTANTIATION): New
2015 timevar_id enumerations.
2016
e869aa39
KH
20172003-01-26 Kazu Hirata <kazu@cs.umass.edu>
2018
2019 * combine.c: Fix formatting.
2020
74fb4811
KH
20212003-01-26 Kazu Hirata <kazu@cs.umass.edu>
2022
2023 * doc/gccint.texi: Update the copyright.
2024
3bcf1b13
KH
20252003-01-26 Kazu Hirata <kazu@cs.umass.edu>
2026
2027 * doc/cpp.texi: Fix typos.
2028 * doc/extend.texi: Likewise.
2029 * doc/gty.texi: Likewise.
2030 * doc/install.texi: Likewise.
2031 * doc/passes.texi: Likewise.
2032 * doc/rtl.texi: Likewise.
2033 * doc/tm.texi: Likewise.
2034
9e4f94de
KH
20352003-01-26 Kazu Hirata <kazu@cs.umass.edu>
2036
2037 * config/ia64/fde-glibc.c: Fix comment typos.
2038 * config/ia64/hpux.h: Likewise.
2039 * config/ia64/ia64.c: Likewise.
2040 * config/ia64/ia64.h: Likewise.
2041 * config/ia64/unwind-ia64.c: Likewise.
2042
4aae8a9a
KH
20432003-01-26 Kazu Hirata <kazu@cs.umass.edu>
2044
2045 * config/i386/i386-modes.def: Fix comment typos.
2046 * config/i386/i386.c: Likewise.
2047 * config/i386/i386.md: Likewise.
2048
35d8c8e2
SB
20492003-01-26 Steven Bosscher <s.bosscher@student.tudelft.nl>
2050
2051 * config/avr/avr.h, config/cris/aout.h, config/elfos.h,
2052 config/i386/freebsd-aout.h, config/mips/iris6.h: Undefine
2053 ASM_FINISH_DECLARE_OBJECT before defining it.
2054 * toplev.c (rest_of_decl_compilation): Don't define
2055 ASM_FINISH_DECLARE_OBJECT. Only use it if it is defined.
2056 (rest_of_type_compilation): Don't ATTRIBUTE_UNUSED function
2057 parameters for DWARF2 targets because they _are_ used.
2058
ea976606
AO
20592003-01-26 Alexandre Oliva <aoliva@redhat.com>
2060
b44cf3d9
AO
2061 * fp-bit.h: Define macros for TFmode floating-point constants
2062 in IBM-extended TFmode types.
2063 (TMODES): Define if __LDBL_MANT_DIG__ has the newly-supported
2064 widths.
2065 * config/fp-bit.c (pack_d, unpack_d): Support IBM-extended
2066 TFmode type.
2067
ea976606
AO
2068 * config/fp-bit.h: Define macros for TFmode floating-point
2069 constants in IEEE quad TFmode type. Declare functions according
2070 to L_ macros.
2071 (TMODES): Define if __LDBL_MANT_DIG__ is 113.
2072 (TFtype, TItype, UTItype): Define if TMODES is defined.
2073 (MAX_UDI_INT, MAX_DI_INT, BITS_PER_DI): Likewise.
2074 (F_T_BITOFF, D_T_BITOFF): Define.
2075 (IMPLICIT_1, IMPLICIT_2): Cast constants to types that are
2076 guaranteed to be wide enough.
2077 * config/fp-bit.c: Check for L_ macros for tf functions.
2078 (__thenan_tf): New.
2079 (nan): Adjust.
2080 (pack_d, unpack_d): Support IEEE 854 quad type.
2081 (_fpmul_parts): Support TFmode. Compute exponent adjustment
2082 from FRAC_NBITS, FRAC_BITS and NGARDS.
2083 (usi_to_float): Cast constants to be shifted to fractype
2084 instead of assuming long long is wide enough.
2085 (sf_to_tf, df_to_tf, __make_tp, tf_to_df, tf_to_sf): New.
2086
fd7fd61e
AJ
20872003-01-26 Andreas Jaeger <aj@suse.de>
2088
2089 * df.c: Remove prototype of unused function df_regno_rtl_debug.
2090
8ae91fc0
AO
20912003-01-26 Alexandre Oliva <aoliva@redhat.com>
2092
88e83acb
AO
2093 * Makefile.in (FPBIT_FUNCS): Added _sf_to_tf.
2094 (DBBIT_FUNCS): Added _df_to_tf.
2095 (TPBIT_FUNCS): New.
2096 (libgcc.mk): Pass TPBIT and TPBIT_FUNCS down.
2097 (LIBGCC_DEPS): Added TPBIT.
2098 * mklibgcc.in: Support TPBIT and TPBIT_FUNCS.
2099
2cd622c3
AO
2100 * optabs.c (expand_binop) <add, sub>: Return xtarget if we haven't
2101 been able to move the result to target.
2102
8ae91fc0
AO
2103 * expr.c (emit_group_store): Initialize dst with CONST0_RTX
2104 for the appropriate mode.
2105
c3297561
AO
2106 * calls.c (emit_library_call_value_1): Handle return values
2107 in a PARALLEL.
2108
187515f5
AO
2109 * rtl.c (get_mode_alignment): Moved to...
2110 * stor-layout.c: ... here.
2111
6ebd2ef4
AO
2112 * print-rtl.c (print_rtx): Don't print MEM details in
2113 GENERATOR_FILEs.
2114
7890e8f3
MH
21152003-01-26 Michael Hayes <mph@paradise.net.nz>
2116
2117 * df.h: Update comments, tidy formatting.
2118 (DF_FORWARD, DF_REVERSE, DF_UNION, DF_INTERSECTION): Rename from FORWARD,
2119 REVERSE, UNION, INTERSECTION. All uses updated.
2120 (OLD_DF_INTERFACE): Remove.
2121 (struct insn_info): Remove commented out insn field.
2122 * df.c: Update comments, tidy formatting.
2123 (df_def_table_realloc): Remove.
2124
2125
b820d2b8
AM
21262003-01-26 Alan Modra <amodra@bigpond.net.au>
2127
2128 * calls.c (save_fixed_argument_area): Tidy.
2129 (restore_fixed_argument_area): Tidy. Set alignment of stack_area.
2130 (expand_call): Comment typo fixes. Don't init low_to_save. Start
2131 call chain loop at 1 if !try_tail_call. Formatting.
2132 (emit_library_call_value_1): Don't init low_to_save or high_to_save.
2133 Use save_fixed_argument_area and restore_fixed_argument_area.
2134
42510de4
MH
21352003-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
2136
2137 * df.c (df_uses_record): Handle CC0.
2138
acf9fa5f
UW
21392003-01-25 Ulrich Weigand <uweigand@de.ibm.com>
2140
1e1bd14e
RH
2141 * reload.c (maybe_memory_address_p): New function.
2142 (find_reloads_address): Use it instead of memory_address_p.
acf9fa5f 2143
5a09edba
KK
21442003-01-25 Kaz Kojima <kkojima@gcc.gnu.org>
2145
2146 * final.c (shorten_branches): Align the address of code label
1e1bd14e 2147 when computing initial lengths and addresses.
5a09edba 2148
f5818c0c
KH
21492003-01-25 Kazu Hirata <kazu@cs.umass.edu>
2150
2151 * config/m68hc11/m68hc11.md: Fix a comment typo.
2152
21ff35fb
AJ
21532003-01-25 Andreas Jaeger <aj@suse.de>
2154
2155 * config/i386/i386.c (x86_output_mi_thunk): Correct test for
2156 TARGET_MACHO.
2157
7821bfc7
RS
21582003-01-25 Roger Sayle <roger@eyesopen.com>
2159
2160 * gcse.c (bypass_last_basic_block): New global variable.
2161 (bypass_block): Use redirect_edge_and_branch_force to redirect
2162 fall-through edges. Use bypass_last_basic_block to determine
2163 which blocks have valid PRE information.
2164 (bypass_conditional_jumps): Initialize bypass_last_basic_block.
2165
5f0bea72
JH
2166Sat Jan 25 22:31:59 CET 2003 Jan Hubicka <jh@suse.cz>
2167
2168 * gcse.c (local_cprop_pass): Update reg_sets table when needed.
2169
1649d92f
JH
2170Sat Jan 25 21:04:33 CET 2003 Jan Hubicka <jh@suse.cz>
2171 Eric Botcazou <ebotcazou@libertysurf.fr>
2172 PR opt/8492
2173 * gcse.c (one_cprop_pass): Delete unreachable blocks.
2174
6ca86a1a
RH
21752003-01-25 Richard Henderson <rth@redhat.com>
2176
2177 * config/ia64/ia64.c (ia64_rwreloc_select_rtx_section): Rename
2178 from ia64_aix_select_rtx_section.
2179 (ia64_rwreloc_select_section): Simlarly; use default*_1 function
2180 instead of saving and restoring flag_pic.
2181 (ia64_rwreloc_unique_section): Similarly.
2182 * config/ia64/aix.h (TARGET_ASM_SELECT_SECTION,
2183 TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_RTX_SECTION): Update.
2184 * config/ia64/hpux.h (TARGET_ASM_SELECT_SECTION,
2185 TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_RTX_SECTION): New.
2186
aa2fb4dd
KH
21872003-01-25 Kazu Hirata <kazu@cs.umass.edu>
2188
2189 * config/h8300/h8300.c (h8300_shift_needs_scratch_p): Update a
2190 comment.
2191
1125849a
RH
21922002-01-25 Richard Henderson <rth@redhat.com>
2193
2194 * config/m68k/m68k-none.h (ASM_SPEC): Adjust inter-option spacing.
2195
3900a23b
KC
21962002-01-25 Kelley Cook <kelleycook@comcast.net>
2197
2198 * ggc-simple.c (debug_ggc_tree): Add PTR cast.
2199
72e42e26
SB
22002003-01-25 Segher Boessenkool <segher@koffie.nl>
2201
2202 * bitmap.h (BITMAP_WORD): New typedef: fundamental storage
2203 type for bitmaps. Use unsigned long.
2204 (nBITMAP_WORD_BITS): New macro.
2205 (BITMAP_WORD_BITS): New macro.
2206 (rest of file): Use it.
2207 * bitmap.c: Use it.
2208
8324663f
RH
22092003-01-25 Richard Henderson <rth@redhat.com>
2210
2211 2002-02-19 Robert Lipe <robertlipe@usa.net>
2212 * config/i386/t-sco5gas: (CRTSTUFF_T_CFLAGS_S): Delete -mcoff.
2213
2adc9b0f
RS
22142002-01-25 Roger Sayle <roger@eyesopen.com>
2215
2216 * builtins.c (purge_builtin_constant_p): Scan insn stream
2217 sequentially rather than by basic block.
2218 * function.c (purge_addressof): Simplify test with INSN_P.
2219
ad487c38
KH
22202003-01-25 Kazu Hirata <kazu@cs.umass.edu>
2221
8324663f 2222 * combine.c (simplify_comparison, case AND): Remove a redundant test.
ad487c38 2223
07d9b20d
RS
22242002-01-25 Roger Sayle <roger@eyesopen.com>
2225
2226 * function.h (struct function): New field calls_constant_p.
2227 (current_function_calls_constant_p): New macro for above.
2228 * function.c (prepare_function_start): Initialize calls_eh_return
2229 and calls_constant_p.
2230 * builtins.c (expand_builtin_constant_p): Set calls_constant_p.
2231 * toplev.c (rest_of_compilation): Only call purge_builtin_constant_p
2232 when the current_function_calls_constant_p.
2233 * integrate.c (expand_inline_function): Set calls_constant_p if
2234 the function being inlined has calls_constant_p set.
2235
41559112
RS
22362002-01-25 Roger Sayle <roger@eyesopen.com>
2237
2238 * cse.c (fold_rtx): Instantiate CONSTANT_P_RTX to 0 when not
2239 optimizing, even if flag_gcse is true.
2240 * toplev.c (rest_of_compilation): purge_builtin_constant_p
2241 only needs to be called when "optimize > 0 && flag_gcse".
2242
9bb231fd
RS
22432003-01-25 Roger Sayle <roger@eyesopen.com>
2244
2245 * stmt.c (emit_case_bit_tests): New routine to implement suitable
2246 switch statements using the equivalent of "if ((1<<x) & cst) ... ".
2247 (case_bit_test_cmp): New comparison function for "qsort" to order
2248 case_bit_tests by decreasing number of destination nodes.
2249 (lshift_cheap_p): New function to determine if "1 << x" is cheap.
2250 (expand_end_case_type): Use emit_case_bit_tests to implement
2251 suitable switch statments.
2252 (CASE_USE_BIT_TESTS): New target macro to disable the above.
2253 * Makefile.in (stmt.o): Add dependency on optab.h.
2254 * doc/tm.texi (CASE_USE_BIT_TESTS): Document new target macro.
2255
a073323c
AS
22562003-01-23 Andreas Schwab <schwab@suse.de>
2257
2258 * config/ia64/crtend.asm [HAVE_INITFINI_ARRAY]: Make
2259 __do_global_ctors_aux hidden global and don't put it in
2260 .init_array.
2261 * config/ia64/crtbegin.asm [HAVE_INITFINI_ARRAY]: Put it here
2262 instead so that it comes first.
2263
36ddc6b0
JH
2264Sat Jan 25 16:11:22 CET 2003 Jan Hubicka <jh@suse.cz>
2265
2266 * df.c (read_modify_subreg_p): When osize == UNITS_PER_WORD,
2267 subreg is read/modify.
2268
26771da7
JH
2269Sat Jan 25 15:55:08 CET 2003 Jan Hubicka <jh@suse.cz>
2270
2271 * i386.c (ix86_expand_movstr, ix86_expand_clrstr): Consistently
2272 do libcall for large blocks.
2273 * i386.md (comi patterns): Set type to ssecomi.
2274 (sse2_unpck?pd): Fix mode of vec_select.
2275
2276 * cse.c: Include except.h
2277 (cse_set_around_loop): Do not create new basic blocks.
2278 * Makefile.in (cse.o): Add dependnecy on except.h
2279
27a6aa72
JH
2280Sat Jan 25 12:05:17 CET 2003 Jan Hubicka <jh@suse.cz>
2281
2282 * builtins.c (fold_trunc_transparent_mathfn): New function.
2283 (fold_builtin): Use it.
2284 * convert.c (convert_to_real): Re-enable code to convert
2285 math functions; add support for floor familly functions.
2286
cd68f4e4
ZD
22872003-01-25 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2288
2289 * Makefile.in (cfgloop.o, cfgloopanal.o, cfgloopmanip.o): Add
2290 dependencies on coretypes.h and $(TM_H).
2291
67945f2e
JH
2292Sat Jan 25 11:10:03 CET 2003 Jan Hubicka <jh@suse.cz>
2293
2294 * builtins.c (fold_trunc_transparent_mathfn): Undo accidental commit.
2295
095fa594
SH
22962002-01-24 Stuart Hastings <stuart@apple.com>
2297
08f0414b 2298 * config/i386/i386.c (x86_output_mi_thunk): Add Darwin/x86 support.
095fa594 2299
1e4c04e0
MH
23002003-01-25 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
2301
2302 * config/c4x/c4x.md (UNSPEC_BU): New constants.
2303 (UNSPEC_RPTS, UNSPEC_LSH, UNSPEC_CMPHI, UNSPEC_RCPF): Likewise.
2304 (UNSPEC_RND, UNSPEC_RPTB_FILL, UNSPEC_LOADHF_INT): Likewise.
2305 (UNSPEC_STOREHF_INT, UNSPEC_RSQRF, UNSPEC_LOADQF_INT): Likewise.
2306 (UNSPEC_STOREQF_INT, UNSPEC_LDIV, UNSPEC_PUSH_ST): Likewise.
2307 (UNSPEC_POP_ST, UNSPEC_PUSH_DP, UNSPEC_POP_DP): Likewise.
2308 (UNSPEC_POPQI, UNSPEC_POPQF, UNSPEC_ANDN_ST): Likewise.
2309 (UNSPEC_RPTB_INIT, UNSPEC_TOIEEE, UNSPEC_FRIEEE): Likewise.
2310
a560d4d4
JH
2311Fri Jan 24 23:44:12 CET 2003 Jan Hubicka <jh@suse.cz>
2312
08f0414b 2313 * emit-rtl.c (reg_attrs_htab): New static variable.
a560d4d4
JH
2314 (reg_attrs_htab_hash, reg_attrs_htab_eq, get_reg_attrs): New static
2315 functions.
2316 (reg_rtx): Do not maintain regno_decl.
2317 (gen_rtx_REG_offset, set_reg_attrs_from_mem, set_delc_rtx,
2318 set_mem_attrs_from_reg): New global function.
2319 (init_emit): Do not initialize regno_decl.
2320 (init_emit_once): initialize reg_attrs_htab.
2321 * final.c (alter_subreg): Do not replace REG by SUBREG.
2322 (gen_mem_expr_from_op): Improve output.
2323 (output_asm_operands): Likewise.
2324 * function.c (assign_params): Do not set REGNO_DECL.
2325 * function.h (struct function): Kill regno_decl.
2326 (REGNO_DECL): Kill.
2327 * gengtype.c (adjust_field_rtx_def): Handle new field of reg.
2328 * print_rtl.c (print_rtx): Output REG information.
2329 * regclass.c (reg_scan_mark_refs): Update attrs.
2330 * reload1.c (alter_reg): Likewise.
2331 * simplify_rtx.c (simplify_subreg): Likewise.
2332 * stmt.c (expand_decl): Likewise.
2333 * rtl.def (REG): Add new field.
2334 * rtl.h (struct reg_attrs): New.
2335 (rtunion_def): At rtreg.
2336 (X0MEMATTR): Add checking.
2337 (X0REGATTR, REG_ATTRS, REG_EXPR, REG_OFFSET): New macro.
2338 (set_reg_attrs_from_mem, set_mem_attrs_from_reg, gen_rtx_REG_offset):
2339 Declare.
2340 * tree.h (SET_DECL_RTL): Call set_decl_rtl.
2341
1d0ea52e
BW
23422003-01-24 Bob Wilson <bob.wilson@acm.org>
2343
2344 * config/xtensa/xtensa.c: Remove unused include of machmode.h.
2345 (xtensa_emit_call, print_operand): Fix printf format strings
2346 to avoid compile warnings.
2347 (xtensa_function_prologue, xtensa_function_epilogue): Change type
2348 of "size" argument to HOST_WIDE_INT to fix compile warnings.
2349 * config/xtensa/xtensa-protos.h
2350 (xtensa_function_prologue, xtensa_function_epilogue): Ditto.
2351
272f51a3
JH
2352Fri Jan 24 23:03:32 CET 2003 Jan Hubicka <jh@suse.cz>
2353
2354 * builtins.c (DEF_BUILTIN): Accept 10 arguments.
2355 (implicit_built_in_decls): New global array.
2356 (mathfn_built_in): New global function.
2357 (fold_trunc_transparent_mathfn): New static function
2358 (expand_builtin_strstr, expand_bultin_strchr,
2359 expand_builtin_strpbrk, expand_builtin_strcpy,
2360 expand_builtin_strncpy, expand_bultin_strcmp,
2361 expand_bultin_strncat, expand_builtin_fputs): Use
2362 implicint_built_in_decls.
2363 (fold_builtin): Fold floor/trunc/round/ceil/nearbyint.
2364 * builtins.def: Fix comments.
2365 (DEF_GCC_BUILTIN, DEF_FALLBACK_BUILTIN, DEF_EXT_FALLBACK_BUILTIN,
2366 DEF_LIB_BUILTIN, DEF_LIB_ALWAYS_BUILTIN, DEF_EXT_LIB_BUILTIN,
2367 DEF_C99_BULTIN, DEF_FRONT_END_LIB_BUILTIN,
2368 DEF_EXT_FRONT_END_LIB_BUILTIN): Pass implicit as needed.
2369 (DEF_C99_C90RES_BULTIN): New.
2370 (*f, *l builtins): Update.
2371 * c-common.c (DEF_BUILTIN): Initialize implicit array.
2372 (c_expand_builtin_printf, c_expand_builtin_fprintf): Update.
2373 * convert.c (strip_float_extensions): New global function.
2374 * tree.h (DEF_BUILTIN): Accept 10 arguments.
2375 (implicit_built_in_decls, mathfn_built_in, strip_float_extension):
2376 Declare.
2377 * java/builtins.c (define_builtin): Handle implicit.
2378 (DEF_BUILTIN): Update.
2379 * tm.texi (TARGET_C99_FUNCTIONS): Document.
2380 * defaults.h (TARGET_C99_FUNCTIONS): Default to 0.
2381 * config/linux.h (TARGET_C99_FUNCTIONS): Default to 1
2382 when using glibc2.
2383
1f37a5b2
BW
23842003-01-24 Bob Wilson <bob.wilson@acm.org>
2385
2386 * config.gcc (xtensa-*-elf*): Removed assignments to with_newlib,
2387 extra_parts, and fixincludes. Add xtensa/t-elf tmake_file.
2388 (xtensa-*-linux*): Add xtensa/t-linux tmake_file.
2389 * config/xtensa/crti.asm: New file.
2390 * config/xtensa/crtn.asm: New file.
2391 * config/xtensa/t-elf: New file.
2392 * config/xtensa/t-linux: New file.
2393 * config/xtensa/t-xtensa: Add rules for crti.o and crtn.o.
2394 Move various CFLAGS settings to new t-elf file.
2395
84f5e1b1
RH
23962003-01-24 Richard Henderson <rth@redhat.com>
2397
2398 PR optimization/4382
2399 * tree-inline.c (find_builtin_longjmp_call_1): New.
2400 (find_builtin_longjmp_call): New.
2401 (inlinable_function_p): Use it.
2402
09b2e78d
ZD
24032003-01-24 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2404
2405 * config/i386/i386-protos.h (function_arg_pass_by_reference): Declare.
2406 * config/i386/i386.h (FUNCTION_ARG_PASS_BY_REFERENCE): Use it.
2407 * config/i386/i386.c (function_arg_pass_by_reference): New.
2408 (ix86_va_arg): Support arguments passed by reference.
2409
3d436d2a
ZD
24102003-01-24 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2411
2412 * cfgloopanal.c: New file.
2413 * cfgloopmanip.c: New file.
2414 * Makefile.in (cfgloopanal.o, cfgloopmanip.o): New.
2415 (toplev.o, loop.o, doloop.o, unroll.o, cfgloop.o, predict.o,
2416 cfglayout.o): Add dependency on cfgloop.h.
2417 (cfgloop.o): Add flags.h dependency.
2418 * basic-block.h (BB_IRREDUCIBLE_LOOP, BB_SUPERBLOCK): New flags.
2419 (VLS_EXPECT_PREHEADERS, VLS_EXPECT_SIMPLE_LATCHES): Removed.
2420 (struct loop, struct loops, flow_loops_find, flow_loops_update,
2421 flow_loops_free, flow_loops_dump, flow_loop_dump,
2422 flow_loop_scan, flow_loop_tree_node_add, flow_loop_tree_node_remove,
2423 LOOP_TREE,,LOOP_PRE_HEADER, LOOP_ENTRY_EDGES, LOOP_EXIT_EDGES,
2424 LOOP_ALL, flow_loop_outside_edge_p, flow_loop_nested_p,
2425 flow_bb_inside_loop_p, get_loop_body, loop_preheader_edge,
2426 loop_latch_edge, add_bb_to_loop, remove_bb_from_loops,
2427 find_common_loop, verify_loop_structure): Declarations moved to ...
2428 * cfgloop.h: New file.
2429 * bb-reorder.c (reorder_basic_blocks): Modified.
2430 * cfglayout.c: Include cfgloop.h.
2431 (cleanup_unconditional_jumps, cfg_layout_redirect_edge,
2432 cfg_layout_duplicate_bb, cfg_layout_initialize): Update loop structure.
2433 (break_superblocks): New static function.
2434 (cfg_layout_finalize): Use it.
2435 (cfg_layout_split_block): New function.
2436 * cfglayout.h (struct reorder_block_def): Add copy and duplicated
2437 fields.
2438 (cfg_layout_initialize, cfg_layout_redirect_edge): Declaration
2439 changed.
2440 (cfg_layout_split_block): Declare.
2441 * cfgloop.c: Include cfgloop.h and flags.h.
2442 (flow_loop_dump, flow_loops_free, flow_loop_exit_edges_find,
2443 get_loop_body): Avoid signed versus unsigned comparison warnings.
2444 (make_forwarder_block, flow_loops_find, loop_preheader_edge,
2445 loop_latch_edge): Modified.
2446 (verify_loop_structure): Modified to use flags stored in loop structure;
2447 check irreducible loops.
2448 (cancel_loop, cancel_loop_tree): New functions.
2449 (estimate_probability): Use loop analysis code for predictions.
2450 (estimate_loops_at_level): Avoid signed versus unsigned comparison
2451 warnings.
2452 * doloop.c: Include cfgloop.h.
2453 * loop.c: Include cfgloop.h.
2454 * predict.c: Include cfgloop.h.
2455 * toplev.c: Include cfgloop.h.
2456 * unroll.c: Include cfgloop.h.
2457 * tracer.c (tracer): Modified.
2458
a38b3eea
KH
24592003-01-24 Kazu Hirata <kazu@cs.umass.edu>
2460
2461 * config/h8300/h8300.c (get_shift_alg): Fix a typo.
2462
fd3cd001
UW
24632003-01-24 Ulrich Weigand <uweigand@de.ibm.com>
2464
2465 * configure.in (HAVE_AS_TLS): Add s390-*-* and s390x-*-* cases.
2466 * configure: Regenerate.
2467
2468 * config/s390/s390-protos.h (tls_symbolic_operand): Add prototype.
2469 (tls_symbolic_reference_mentioned_p): Add prototype.
2470 (s390_tls_get_offset): Add prototype.
2471 (emit_pic_move): Remove prototype, replace by ...
2472 (emit_symbolic_move): .. this new prototype.
2473
2474 * config/s390/s390.c (TARGET_HAVE_TLS): Conditionally define.
2475 (tls_model_chars): New global variable.
2476 (s390_encode_section_info): Encode TLS model.
2477 Use targetm.binds_local_p to check for local symbols.
2478 (s390_strip_name_encoding): New function.
2479 (TARGET_STRIP_NAME_ENCODING): Define.
2480
2481 (get_thread_pointer): New function.
21ff35fb 2482 (legitimize_tls_address): New function.
fd3cd001
UW
2483 (legitimize_address): Call it.
2484 (emit_pic_move): Remove, replace by ...
2485 (emit_symbolic_move): ... this new function.
2486
2487 (larl_operand): Handle TLS operands.
2488 (legitimate_constant_p): Likewise.
2489 (s390_decompose_address): Likewise.
2490 (s390_cannot_force_const_mem): New function.
2491 (TARGET_CANNOT_FORCE_CONST_MEM): Define.
2492
2493 (s390_output_symbolic_const): Handle TLS unspecs.
2494 (print_operand): New code 'J'.
2495 (machine_function): Add struct member 'some_ld_name'.
2496 (get_some_local_dynamic_name, get_some_local_dynamic_name_1): New.
2497
2498 (enum s390_builtin): New type.
2499 (code_for_builtin_64, code_for_builtin_31): New global variables.
2500 (s390_init_builtins, s390_expand_builtin): New functions.
2501 (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Define.
2502
2503 * config/s390/s390.h (TLS_SYMBOLIC_CONST): New macro.
2504 (ASM_OUTPUT_LABELREF): Define.
2505 (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Handle TLS constants.
2506
2507 * config/s390/s390.md: Define TLS UNSPEC constants.
2508 ("movdi", "movsi"): Handle TLS operands.
2509 ("get_tp_64", "get_tp_31", "set_tp_64", "set_tp_31"): New insns.
2510 ("*tls_load_64", "*tls_load_31"): New insns.
2511 ("call_value_tls", "call_value_tls_exp"): New expanders.
21ff35fb 2512 ("brasl_tls", "bras_tls", "basr_tls_64", "basr_tls_31",
fd3cd001
UW
2513 "bas_tls_64", "bas_tls_31"): New insns.
2514
01f4962d
NS
25152003-01-24 Nathan Sidwell <nathan@codesourcery.com>
2516
2517 * config/rs6000/rs6000.c (rs6000_parse_abi_options): Make sure
2518 spe ABI is configured, if requested.
2519
70b91854
VR
25202003-01-24 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
2521
2522 * doc/passes.texi: Fix typo.
2523
b8089d8d
AS
25242003-01-24 Andreas Schwab <schwab@suse.de>
2525
2526 * stor-layout.c (excess_unit_span): Only define if used.
2527
38df970e
JQ
25282003-01-24 Jerry Quinn <jlquinn@optonline.net>
2529
2530 * gcc/doc/invoke.texi (Optimization Options): List -O levels
2531 for each optimization flag.
2532
dff23a65
KH
25332003-01-24 Kazu Hirata <kazu@cs.umass.edu>
2534
2535 * config/h8300/h8300.md (*andsi3_ashift_n_lower): New.
2536
05739753
VR
25372003-01-24 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
2538
2539 * doc/bugreport.texi: Use @command instead of @code for commands.
2540 * doc/collect2.texi: Likewise.
2541 * doc/headerdirs.texi: Likewise.
2542 * doc/invoke.texi: Likewise.
2543 * doc/standards.texi: Likewise.
2544 * doc/tm.texi: Likewise.
2545 * doc/trouble.texi: Likewise.
2546
06bea5aa
NC
25472003-01-24 Nick Clifton <nickc@redhat.com>
2548
2549 * config/arm/arm.c (use_return_insn): Do not use a single return
2550 instruction for interrupt handelrs which have to create a stack
2551 frame.
2552 (arm_expand_prologue): Do not pre-bias the return address of
2553 interrupt handlers which create a stack frame.
2554
25552003-01-24 Nick Clifton <nickc@redhat.com>
2556
2557 * Add sh2e support:
2558
2559 2002-08-12 Alexandre Oliva <aoliva@redhat.com>
2560
2561 * config/sh/sh.c (output_branch) [TARGET_SH2E]: Handle
2562 med_cbranches. Fix logic in short_cbranches.
2563
2564 2002-04-03 Alexandre Oliva <aoliva@redhat.com>
2565
2566 * config/sh/sh.md (delay for cbranch): Don't annul delay
2567 slots on SH2e.
2568 * config/sh/sh.c (sh_insn_length_adjustment): Add 2 for
2569 cbranch with unfilled delay slot on SH2e.
2570 (output_branch): Fill with a nop the delay slot of a
2571 branch that required a delay slot but didn't get one.
2572
2573 2002-04-02 Alexandre Oliva <aoliva@redhat.com>
2574
2575 * doc/invoke.texi (SH options): Document -m2e.
2576 * config/sh/crt1.asm: Add __SH2E__ Next to __SH3E__.
2577 * config/sh/lib1funcs.asm: Likewise.
2578 * config/sh/sh.c: Replace all uses of TARGET_SH3E with SH2E.
2579 * config/sh/sh.h (CPP_SPEC): Define __SH2E__ for -m2e, and
2580 not __sh1__.
2581 (CONDITIONAL_REGISTER_USAGE): Don't disable FP regs from
2582 SH2E up.
2583 (SH3E_BIT): Renamed to...
2584 (SH_E_BIT): ... this. Replace all uses.
2585 (TARGET_SH2E): Define from SH_E_BIT and TARGET_SH2.
2586 Replace all uses of TARGET_SH3E with TARGET_SH2E.
2587 (TARGET_SWITCHES): Added 2e.
2588 (OVERRIDE_OPTIONS): Set sh_cpu for SH2E.
2589 (processor_type): Added PROCESSOR_SH2E.
2590 * config/sh/sh.md: Replace all uses of TARGET_SH3E with
2591 TARGET_SH2E, except in sqrtsf2_i.
2592 (attribute cpu): Added sh2e.
2593 * config/sh/t-sh (MULTILIB_OPTIONS): Replace m3e with m2e.
2594 (MULTILIB_MATCHES): Use m2e multilib for m3e.
2595 * config.gcc: Add sh2e target support.
2596
65ca2d60
PE
25972003-01-24 Phil Edwards <pme@gcc.gnu.org>
2598
2599 Rename -W to -Wextra.
2600 * c-decl.c: Update comments.
2601 * c-typeck.c: Likewise.
2602 * flags.h: Likewise.
2603 * function.c: Likewise.
2604 * stmt.c: Likewise.
2605 * toplev.c: Update comments.
2606 (W_options): Add 'extra'.
2607 (display_help): Remove '-W'.
2608 (decode_W_option): Special warn_uninitialized treatment in the case
2609 of -Wextra.
2610 * doc/invoke.texi: Update with new entries.
2611
3de9c088
RH
26122003-01-23 Richard Henderson <rth@redhat.com>
2613
8324663f
RH
2614 * ifcvt.c (noce_process_if_block): Re-add check vs X being changed
2615 in no-else-block case. Add commentary.
3de9c088 2616
49691411
KG
26172003-01-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2618
b4862477
KG
2619 * configure.in: Revert last change.
2620
26212003-01-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2622
2623 * configure.in: Don't include ansidecl.h in tconfig.h.
49691411
KG
2624 * gcov-io.h (PARAMS, ATTRIBUTE_UNUSED: Define if IN_LIBGCC2.
2625 * unwind-dw2-fde.h (last_fde): Use __attribute__, not
2626 ATTRIBUTE_UNUSED.
2627
2628 * configure: Regenerate.
2629
c4db7ecb
FS
26302003-01-23 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
2631
2632 PR java/6748
2633 * config/rs6000/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Don't destroy
2634 regs->nip. Fix rt_sigreturn frame layout. Add support for newer
2635 kernels.
2636
fc69c47c
KG
26372003-01-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2638
2639 * cpplex.c (cpp_interpret_charconst): Squelch warning with cast.
2640
adbe6dfd
UW
26412003-01-23 Ulrich Weigand <uweigand@de.ibm.com>
2642
2643 * genattrtab.c (write_attr_get): Mark 'insn' paramter
2644 as ATTRIBUTE_UNUSED.
2645
76a318e9
RE
26462003-01-23 Richard Earnshaw <rearnsha@arm.com>
2647
2648 * arm.c (thumb_base_register_rtx_p): New function.
2649 (thumb_index_register_rtx_p): New function.
2650 (thumb_legitimate_address_p): New function.
2651 (thumb_legitimate_offset_p): New function.
2652 * arm.h (REG_STRICT_P): Define according to setting of REG_OK_STRICT.
8891b787 2653 (ARM_GO_IF_LEGITIMATE_ADDRESS): Use REG_STRICT_P to avoid duplicate
76a318e9
RE
2654 definitions.
2655 (THUMB_GO_IF_LEGITIMATE_ADDRESS): Use thumb_legitimate_address_p.
2656 (THUMB_LEGITIMATE_OFFSET): Delte.
2657 (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Use thumb_legitimate_offset.
2658 * arm-protos.h (thumb_legitimate_address_p): Add prototype.
2659 (thumb_legitimate_offset_p): Likewise.
2660
9a600d0c
AS
26612003-01-23 Andreas Schwab <schwab@suse.de>
2662
2663 * unwind.h (_Unwind_GetTextRelBase): Mark parameter as unused.
2664
2d110c0a
KG
26652003-01-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2666
2667 * fixinc/Makefile.in (FL_LIST): Revert last change.
2668
2d1d9215
VR
26692003-01-23 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
2670
2671 PR other/7341
2672 * invoke.texi (ftest-coverage): Fix broken cross-reference.
2673 Change @code to @command for gcov command.
2674
2675 * gcc.texi: Adjust title of gcov section.
2676 Adjust copyright.
2677 * gcov.texi: Likewise.
2678
34ee7f82
RS
26792003-01-22 Roger Sayle <roger@eyesopen.com>
2680
2681 PR optimization/8423
2682 * cse.c (fold_rtx): Only eliminate a CONSTANT_P_RTX to 1 when
2683 its argument is constant, or 0 if !flag_gcse.
2684 * simplify-rtx.c (simplify_rtx): Convert CONSTANT_P_RTX to 1
2685 if it's argument is constant.
2686 * gcse.c (want_to_gcse_p): Ignore CONSTANT_P_RTX nodes.
2687 (hash_scan_set): Don't record CONSTANT_P_RTX expressions.
2688 (do_local_cprop): Don't propagate CONSTANT_P_RTX constants.
2689 * builtins.c (purge_builtin_constant_p): New function to force
2690 instantiation of any remaining CONSTANT_P_RTX nodes.
2691 * rtl.h (purge_builtin_constant_p): Prototype here.
2692 * toplev.c (rest_of_compilation): Invoke purge_builtin_constant_p
2693 pass after GCSE and before loop.
2694 (flag_gcse): No longer static.
2695 * flags.h (flag_gcse): Prototype here.
2696
bab0b43b
UW
26972003-01-22 Ulrich Weigand <uweigand@de.ibm.com>
2698
2699 * config/s390/s390.h (HARD_REGNO_MODE_OK): Fix warning regression
2700 introduced by last change.
2701
7e657a61
AS
27022003-01-22 Andreas Schwab <schwab@suse.de>
2703
2704 * ra-rewrite.c (rewrite_program2): Initialize bb to avoid warning.
2705
75a3503b
KH
27062003-01-22 Kazu Hirata <kazu@cs.umass.edu>
2707
2708 * config/h8300/h8300.c (h8300_shift_needs_scratch_p): Don't
2709 request a scratch reg on H8S when the shift count is 8.
2710
4888ec5d
UW
27112003-01-22 Ulrich Weigand <uweigand@de.ibm.com>
2712
2713 * config/s390/s390-protos.h (preferred_la_operand_p):
2714 Remove second parameter.
2715 * config/s390/s390.c (preferred_la_operand_p): Likewise.
2716 * config/s390/s390.h (FRAME_REGNO_P, FRAME_REG_P): New macros.
2717 (HARD_REGNO_MODE_OK): Use FRAME_REGNO_P.
2718 * config/s390/s390.md ("*la_cc_64", "*la_cc_31", splitters): Remove.
2719 Add peepholes to transform ADD to LOAD ADDRESS.
2720
6b990f6b
RE
27212003-01-22 Richard Earnshaw <rearnsha@arm.com>
2722
2723 * arm.c (arm_address_register_rtx_p): New function.
2724 (arm_legitimate_address_p): New function.
2725 (arm_legitimate_index_p): New function.
2726 (legitimize_pic_address): Use arm_legitimate_index_p.
2727 * arm-protos.h (arm_legtimate_address_p): Add prototype.
2728 * arm.h (ARM_GO_IF_LEGITIMATE_INDEX): Delete.
2729 (ARM_GO_IF_LEGITIMATE_ADDRESS): Call arm_legitimate_address_p.
2730
f0bf1270
HP
27312003-01-22 Hartmut Penner <hpenner@de.ibm.com>
2732
2733 * config/s390/s390.md (floatdfdi2): Insn has type 'itof'.
2734 * config/s390/2064.md (define_bypass): Correct 'Load' and
2735 'Load-address' bypass values.
21ff35fb 2736
fcb6a0f5
AS
27372003-01-22 Andreas Schwab <schwab@suse.de>
2738
2739 * config/ia64/t-ia64 (insn-attrtab.o-warn): Define as -Wno-error.
2740
c24b8026
ZW
27412003-01-21 Zack Weinberg <zack@codesourcery.com>
2742
2743 * genautomata.c (output_internal_insn_latency_func,
2744 output_print_reservation_func): Short circuit when there is no
2745 automaton to generate code for.
2746
38afe605
KG
27472003-01-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2748
2749 * Makefile.in (ssa-ccp.o): Depend on coretypes.h $(TM_H).
2750 (df.o): Delete duplicate dependency on coretypes.h $(TM_H).
2751
d24652ee
GK
27522003-01-21 Geoffrey Keating <geoffk@apple.com>
2753
2754 * config/rs6000/rs6000.md: Remove warning.
2755 (builtin_setjmp_receiver): Likewise.
2756 * config/darwin.c (update_stubs): Slightly improve terrible hack
2757 with identifiers. Add comment pointing out problems with it.
2758 (update_non_lazy_ptrs): Likewise.
2759
1c99d804
RH
27602003-01-21 Richard Henderson <rth@redhat.com>
2761
2762 * dwarf2out.c (lookup_filename): Fix printf format warning.
2763 * system.h (fread_unlocked, fwrite_unlocked): Undef.
2764
2765 * fixinc/Makefile.in (FL_LIST): Add $($@-warn) hook.
2766 (fixincl.o-warn, gnu-regex.o-warn): New.
2767 * fixinc/fixfixes.c (FIX_PROC_HEAD): Mark parameters unused.
2768 * fixinc/fixtests.c (TEST_FOR_FIX_PROC_HEAD): Likewise.
2769 * fixinc/fixincl.c (process): Fix printf format warning.
2770
f0b886ab
UW
27712003-01-21 Ulrich Weigand <uweigand@de.ibm.com>
2772
2773 * dwarf2out (output_file_names): Don't crash if called
2774 with empty file_table.
2775
490c57bb
ZW
27762003-01-21 Zack Weinberg <zack@codesourcery.com>
2777
2778 * genautomata.c (output_internal_insn_latency_func): Add
2779 missing break statement to generated code.
2780
100e3acb
RS
27812003-01-21 Roger Sayle <roger@eyesopen.com>
2782
2783 * stmt.c (same_case_target_p): New function to determine whether
2784 two case labels branch to the same target. Split out from...
2785 (group_case_nodes): ... here. Use same_case_target_p instead.
2786 (strip_default_case_nodes): Remove explicit case nodes
2787 that branch to the default destination.
2788 (expand_end_case_type): Call strip_default_case_nodes after
2789 group_case_nodes, to simplify the case-list before we count it.
2790 Only generate table_label RTX when actually needed. Try to share
2791 thiscase->exit_label and thiscase->data.case_stmt.default_label
2792 when a switch has no explicit default case. Simplify test for
2793 constant index.
2794
e8e8c1e5
KH
27952003-01-21 Kazu Hirata <kazu@cs.umass.edu>
2796
2797 * config/h8300/h8300.md (*negsf2_h8300): Use \\t instead of
2798 \t.
2799 (*negsf2_h8300hs): Likewise.
2800 (*addsi3_lshiftrt_16_zexthi): Likewise.
2801 (*iorhi3_lshiftrt_8): Likewise.
2802
044b4de3
UW
28032003-01-21 Ulrich Weigand <uweigand@de.ibm.com>
2804
2805 * dwarf2out.c (fde_table_in_use): Mark GTY.
2806 (dwarf2out_cfi_label_num): New variable, marked GTY.
2807 (dwarf2out_cfi_label): Use it instead of static label_num.
2808 * emit-rtl.c (label_num): Mark GTY.
2809
cfedf91b
KH
28102003-01-21 Kazu Hirata <kazu@cs.umass.edu>
2811
2812 * config/h8300/h8300.c (output_plussi): Support H8/300.
2813 (compute_plussi_length): Likewise.
2814 (compute_plussi_cc): Likewise.
2815 * config/h8300/h8300.md (addsi_h8300): Use output_plussi to
2816 output assembly instructions.
2817
dd859b8a
KG
28182003-01-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2819
1f5b3282
KG
2820 * calls.c (fix_unsafe_tree): Prototype.
2821
dd859b8a
KG
2822 * Makefile.in (GCC_WARN_CFLAGS): Add $(WERROR) $($@-warn)
2823 (gtype-desc.o-warn, c-decl.o-warn, varasm.o-warn, gcc.o-warn,
2824 insn-conditions.o-warn, out_object_file, gengtype-yacc.o-warn,
2825 c-parse.o-warn): Add -Wno-error.
2826 (STAGE2_FLAGS_TO_PASS): Add WERROR="@WERROR@".
2827
2828 * configure.in (--enable-werror): Add new flag.
2829 * doc/install.texi (--enable-werror): Document.
2830 * configure: Regenerate.
2831
2832 * objc/Make-lang.in (objc/objc-parse.o-warn): Add -Wno-error.
2833
4f9365e2
AS
28342003-01-21 Andreas Schwab <schwab@suse.de>
2835
2836 * genautomata.c (output_internal_insn_latency_func): Fix missing
2837 close paren in output.
2838
a543eb5e
ZW
28392003-01-21 Zack Weinberg <zack@codesourcery.com>
2840
2841 * genautomata.c: Space savings in generated code:
2842 (output_dfa_insn_code_func): Split out the table-enlargement
2843 path to an out-of-line static function, dfa_insn_code_enlarge.
2844 (output_internal_insn_latency_func): Use a lookup table for the
2845 default latencies.
2846 (output_print_reservation_func): Use a lookup table for the
2847 strings.
2848
292e35a3
CE
28492003-01-21 Christian Ehrhardt <ehrhardt@mathematik.uni-ulm.de>
2850
2851 PR opt/7507
2852 * calls.c (fix_unsafe_tree): Split out from ...
2853 (expand_call): ... here. Use it on the function address too.
2854
d8d0f5af
RH
28552003-01-20 Richard Henderson <rth@redhat.com>
2856
2857 * expr.h (default_must_pass_in_stack): Move decl outside ifdef.
2858
5b50aa9d
RH
28592003-01-20 Richard Henderson <rth@redhat.com>
2860
515e1c9f 2861 PR opt/7154
5b50aa9d
RH
2862 * stmt.c (expand_asm_operands): Validize memory operands.
2863
7a174a15
RH
28642003-01-20 Richard Henderson <rth@redhat.com>
2865
2866 PR opt/8848
2867 * ifcvt.c (noce_process_if_block): Correct arguments to
2868 modified_between_p for no-else-block case.
2869
9ac7ebba
KH
28702003-01-20 Kazu Hirata <kazu@cs.umass.edu>
2871
2872 * config/h8300/h8300.c (const_costs): Remove a warning.
2873 (output_plussi): Likewise.
2874 (compute_plussi_length): Likewise.
2875 (compute_plussi_cc): Likewise.
2876
309c52b5
KH
28772003-01-20 Kazu Hirata <kazu@cs.umass.edu>
2878
2879 * config/h8300/h8300.md (addsi_h8300): Remove the last
2880 alternative.
2881
b30686ec
KH
28822003-01-20 Kazu Hirata <kazu@cs.umass.edu>
2883
2884 * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
2885
87608693
KG
28862003-01-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2887
2888 * system.h (__NO_STRING_INLINES): Define.
2889
475c8250
JDA
28902003-01-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2891
2892 * ifcvt.c (noce_emit_store_flag): Don't emit store flag if mode of x
2893 is not a scalar int mode.
2894
dbaff908
RS
28952003-01-20 Roger Sayle <roger@eyesopen.com>
2896
2897 * cse.c (cse_insn): Avoid RTL sharing when updating the RETVAL
2898 insn's notes following a substitution inside a libcall.
2899
da8a6064
ZW
29002003-01-20 Zack Weinberg <zack@codesourcery.com>
2901
2902 * configure.in: Check for system-provided 'uchar' type.
a12b5bd9 2903 * configure, config.in: Regenerate.
da8a6064
ZW
2904 * cpphash.h: Only typedef 'uchar' if the system doesn't.
2905
a4b1b92a
RH
29062003-01-20 Richard Henderson <rth@redhat.com>
2907
2908 * expr.h (MUST_PASS_IN_STACK): Move implementation...
2909 * calls.c (default_must_pass_in_stack): ... here.
2910
d530b07f
VM
29112003-01-20 Vladimir Makarov <vmakarov@redhat.com>
2912
da8a6064
ZW
2913 * genattrtab.h (INSN_ALTS_FUNC_NAME): Move it from genautomata.c.
2914
d530b07f
VM
2915 * genautomata.c (INSN_ALTS_FUNC_NAME): Move it into genattrtab.h.
2916
2917 * genattr.c (main): Output default definition of AUTOMATON_ALTS.
2918 Wrap up definition of `insn_alts'.
2919
2920 * genattrtab.c (main): Wrap up `insn_alts'.
2921
351df804
KG
29222003-01-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2923
2924 * collect2.c (ldgetname): Check HAVE_DECL_LDGETNAME before
2925 prototyping.
2926 * configure.in: Check for <ldfcn.h> and ldgetname() prototype.
da8a6064 2927
351df804
KG
2928 * config.in, configure: Regenerate.
2929
e3289412
NC
29302003-01-20 Nick Clifton <nickc@redhat.com>
2931
2932 * config/arm/arm.md (sibcall_epilogue): Add an
2933 UNSPEC_PROLOGUE_USE to prevent the link register from being
2934 considered dead.
2935
5794139a
JH
2936Mon Jan 20 14:36:23 CET 2003 Jan Hubicka <jh@suse.cz>
2937
2938 * i386.md (SSE cmov splitter): Handle memory operand in operand 5.
2939
0a18ddf9
AS
29402003-01-20 Andreas Schwab <schwab@suse.de>
2941
2942 * system.h: Don't declare strsignal if the decl test hasn't been
2943 run yet.
2944
d99c740f
KH
29452003-01-20 Kazu Hirata <kazu@cs.umass.edu>
2946
2947 * config/h8300/h8300.c (notice_update_cc): Don't assume that
2948 recog_data.operands[0] is always associated with cc0.
2949
825c5408
DE
29502003-01-19 David Edelsohn <edelsohn@gnu.org>
2951
2952 * collect2.c (ldgetname): Expand declaration to prototype.
2953 * read-rtl.c (atoll): Add prototype.
da3e0142 2954 * system.h (strsignal): Also declare if no declaration found.
825c5408 2955
3bd6d4c4
AO
29562003-01-19 Alexandre Oliva <aoliva@redhat.com>
2957
2958 * config.gcc (mips64*-*-linux*): Added.
2959 * config/mips/linux64.h, config/mips/t-linux64: New file.
2960 * config/mips/iris6.h (MIPS_TFMODE_FORMAT): Define.
2961 * config/mips/mips.c (override_options): Use it.
2962 * config/mips/mips.h (TARGET_SWITCHES): Added...
2963 (SUBTARGET_TARGET_SWITCHES): New, empty by default.
2964 * Makefile.in (SPECS): New.
2965 (STAGESTUFF, specs, mostlyclean, install-common): Use it.
2966 * gcc.c (process_command): Move self-spec processing past spec
2967 file loading.
2968 * doc/tm.texi (DRIVER_SELF_SPECS): Document the change.
2969 * doc/fragments.texi (MULTILIB_EXTRA_OPTS): Document need for
2970 CRTSTUFF_T_CFLAGS.
2971 (SPECS): Document.
2972 * doc/invoke.texi (-mabi-fake-default): Document.
2973
e9f13564
SC
29742003-01-19 Stephane Carrez <stcarrez@nerim.fr>
2975
2976 * config/m68hc11/m68hc11.c (stack_push_word, stack_pop_word,
2977 z_reg, z_reg_qi): Declare static and GTY().
2978 (da_reg): Remove.
2979 (create_regs_rtx): Don't create da_reg.
2980 ("gt-m68hc11.h"): Include for GTY roots.
2981 * config/m68hc11/m68hc11.h (ix_reg, iy_reg, d_reg): Declare extern
2982 and GTY() here.
2983 (m68hc11_compare_op0, m68hc11_compare_op1): Likewise.
2984 (m68hc11_soft_tmp_reg): Likewise.
2985 * config/m68hc11/m68hc11-protos.h: Remove above declarations.
2986
32dd366d
KH
29872003-01-18 Kazu Hirata <kazu@cs.umass.edu>
2988
2989 * basic-block.h: Fix comment formatting.
2990 * calls.c: Likewise.
2991 * combine.c: Likewise.
2992 * convert.c: Likewise.
2993 * gcov.c: Likewise.
2994 * haifa-sched.c: Likewise.
2995 * libgcc2.c: Likewise.
2996 * loop.c: Likewise.
2997 * profile.c: Likewise.
2998 * system.h: Likewise.
2999
bc3cb712
RS
30002003-01-18 Roger Sayle <roger@eyesopen.com>
3001
3002 * config/pa/pa.md (muldi3): Avoid invalid sharing of SUBREG RTXs.
3003
25e42e9d
KG
30042003-01-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3005
3006 * ra-build.c (undef_to_size_word): Avoid `switch' warning.
3007
6f9c81f5
DJ
30082003-01-17 Dale Johannesen <dalej@apple.com>
3009
da8a6064 3010 * config/rs6000/rs6000.md (*floatsidf2_internal): Add earlyclobbers.
6f9c81f5
DJ
3011 (*floatunssidf2_internal): Ditto.
3012
95bd1dd7
KH
30132003-01-17 Kazu Hirata <kazu@cs.umass.edu>
3014
3015 * alias.c: Fix comment typos.
3016 * basic-block.h: Likewise.
3017 * c-common.c: Likewise.
3018 * c-common.h: Likewise.
3019 * c-decl.c: Likewise.
3020 * c-opts.c: Likewise.
3021 * c-pragma.c: Likewise.
3022 * c-pretty-print.h: Likewise.
3023 * cfg.c: Likewise.
3024 * cfganal.c: Likewise.
3025 * cfgbuild.c: Likewise.
3026 * cfgcleanup.c: Likewise.
3027 * cfglayout.c: Likewise.
3028 * cfgrtl.c: Likewise.
3029 * convert.c: Likewise.
3030 * cpphash.h: Likewise.
3031 * cpplex.c: Likewise.
3032 * cpplib.h: Likewise.
3033 * df.h: Likewise.
3034 * diagnostic.c: Likewise.
3035 * diagnostic.h: Likewise.
3036 * dwarf2.h: Likewise.
3037
d5840e09
SS
30382003-01-17 Stan Shebs <shebs@apple.com>
3039
3040 * config/darwin-protos.h: Forward-declare struct cpp_reader.
3041
e607534b
DR
30422003-01-17 Douglas B Rupp <rupp@gnat.com>
3043
3044 * config/alpha/alpha.c (alpha_need_linkage): Fix obvious
3045 mistake in last checkin.
3046
fbe5a4a6
KH
30472003-01-17 Kazu Hirata <kazu@cs.umass.edu>
3048
3049 * et-forest.c: Fix comment typos.
3050 * et-forest.h: Likewise.
3051 * except.c: Likewise.
3052 * expr.c: Likewise.
3053 * flags.h: Likewise.
3054 * flow.c: Likewise.
3055 * gcc.c: Likewise.
3056 * gcse.c: Likewise.
3057 * genattrtab.c: Likewise.
3058 * genautomata.c: Likewise.
3059 * gengtype.c: Likewise.
3060 * genrecog.c: Likewise.
3061 * global.c: Likewise.
3062 * gthr-rtems.h: Likewise.
3063
095f9093
KG
30642003-01-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3065
3066 * i386.c (x86_function_profiler): Fix format specifier.
3067
084087e1
RH
30682003-01-17 Richard Henderson <rth@redhat.com>
3069
3070 * gengtype.c (walk_type): Allow paramN_is.
3071
4a13592e
NC
30722003-01-17 Nick Clifton <nickc@redhat.com>
3073
3074 * config/i960/t-960bare (i960-c.o): Add missing newline escape.
3075
01193617
RH
30762003-01-16 Richard Henderson <rth@redhat.com>
3077
3078 * config/alpha/linux-elf.h (LIB_SPEC): Adjust inter-option spacing.
3079
f030826a
RH
30802003-01-16 Richard Henderson <rth@redhat.com>
3081
3082 * config/alpha/alpha.c (alpha_sr_alias_set): Mark GTY.
3083 (alpha_next_sequence_number): Likewise.
3084 (alpha_this_literal_sequence_number): Likewise.
3085 (alpha_this_gpdisp_sequence_number): Likewise.
3086 (struct alpha_funcs, alpha_funcs_num): Likewise.
3087 (struct alpha_links): Fix branch merge error.
3088 (alpha_need_linkage, alpha_use_linkage): Use GC for alpha_funcs.
3089
e1551d47
AO
30902003-01-17 Alexandre Oliva <aoliva@redhat.com>
3091
3092 * config/mips/mips.h: Don't use #elif. Reported by Kaveh
3093 R. Ghazi.
3094
3d042e77
KH
30952003-01-16 Kazu Hirata <kazu@cs.umass.edu>
3096
3097 * ifcvt.c: Fix comment typos.
3098 * lcm.c: Likewise.
3099 * libgcc2.c: Likewise.
3100 * local-alloc.c: Likewise.
3101 * loop.c: Likewise.
3102 * predict.c: Likewise.
3103 * ra-build.c: Likewise.
3104 * ra.c: Likewise.
3105 * ra-colorize.c: Likewise.
3106 * ra.h: Likewise.
3107 * ra-rewrite.c: Likewise.
3108 * regmove.c: Likewise.
3109 * reload.h: Likewise.
3110 * rtlanal.c: Likewise.
3111 * toplev.c: Likewise.
3112 * tree.h: Likewise.
3113 * unwind-dw2-fde-glibc.c: Likewise.
3114 * vmsdbgout.c: Likewise.
3115
c4274b22
RH
31162003-01-16 Richard Henderson <rth@redhat.com>
3117
3118 * dwarf2out.c (struct file_table): Remove.
3119 (FILE_TABLE_INCREMENT): Remove.
3120 (file_table): Make a varray; mark for GC. Update all users.
3121 (file_table_last_lookup_index): Extract from struct file_table.
3122 (output_file_names): Fix unsigned compare warnings.
3123 (add_name_attribute): Remove inline marker.
3124 (add_comp_dir_attribute): Split out from gen_compile_unit_die.
3125 (lookup_filename): Don't manage size of file_table.
3126 (init_file_table): Allocate file_table with GC.
3127 (dwarf2out_init): Don't record main_input_filename here.
3128 (dwarf2out_finish): Do it here instead.
3129
19162d0e
BK
31302003-01-16 Bruce Korb <bkorb@gnu.org>
3131
3132 * gcc/fixinc/inclhack.def(limits_ifndef): QNX needs a bypass, too.
3133
f1e2239f
KK
31342003-01-16 Kaz Kojima <kkojima@gcc.gnu.org>
3135
da8a6064
ZW
3136 * config/sh/sh.c (sh_initialize_trampoline): Emit rotrdi3_mextr
3137 instead of rotldi3_mextr.
f1e2239f 3138
cda1f765
VM
31392003-01-16 Vladimir Makarov <vmakarov@redhat.com>
3140
3141 * haifa-sched.c (move_insn): Restore moving all schedule group.
3142 (set_priorities): Restore taking SCHED_GROUP_P into account.
3143
3144 * sched-deps.c (add_dependence): Restore processing the last group
3145 insn.
3146 (remove_dependence, group_leader): Restore the functions.
3147 (set_sched_group_p): Restore adding dependencies from previous insn
3148 in the group.
3149 (compute_forward_dependences): Restore usage of group_leader.
3150
3151 * sched-ebb.c (init_ready_list): Restore taking SCHED_GROUP_P into
3152 account.
3153
3154 * sched-rgn.c (init_ready_list): Restore taking SCHED_GROUP_P into
3155 account.
3156 (can_schedule_ready_p): Ditto.
3157 (add_branch_dependences): Restore skipping over the group insns.
da8a6064 3158
200097cc
SC
31592003-01-16 Stephane Carrez <stcarrez@nerim.fr>
3160
3161 * config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Fix handling
3162 68HC12 pre/post inc/dec side effects.
3163
f411c739
SC
31642003-01-16 Stephane Carrez <stcarrez@nerim.fr>
3165
3166 * config/m68hc11/m68hc11.h (MASK_M6812): Define.
3167
08c43ea7
R
3168Thu Jan 16 21:50:25 2003 J"orn Rennecke <amylaar@onetel.net.uk>
3169
3170 * sh.md (mshflo_w_x): Fix description of operation.
3171
07488f32
ZW
31722003-01-16 Zack Weinberg <zack@codesourcery.com>
3173
3174 * config/rs6000/rs6000.h: Mention Altivec registers in
3175 commentary. Fix typo.
3176
27dc0551
DE
31772003-01-16 David Edelsohn <edelsohn@gnu.org>
3178
3179 * config/rs6000/rs6000.md (movti_string): Remove clobber.
3180 * config/rs6000/rs6000.c (rs6000_emit_move, TImode): Explicitly
3181 generate PARALLEL with clobber for TARGET_POWER.
3182
0334ef47
KG
31832003-01-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3184
3185 * ra-colorize.c (colorize_one_web): Initialize variable.
3186 * regmove.c (fixup_match_1): Likewise.
3187 * reload1.c (reload_as_needed): Likewise.
3188 * sdbout.c (SET_KNOWN_TYPE_TAG): Add cast.
3189
16f2b86a
ZD
31902003-01-16 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3191
3192 * cfgloop.c (flow_loops_find): Fix handling of abnormal edges.
3193
fc555370
KG
31942003-01-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3195
93d8c755
KG
3196 * dbxout.c (lastfile, cwd): Fix `unused' warning.
3197 * dwarf2out.c (fde_table_in_use, current_funcdef_fde,
3198 dw_cfi_oprnd1_desc, dw_cfi_oprnd2_desc, next_die_offset,
3199 is_main_source, file_table, decl_die_table_in_use,
3200 abbrev_die_table_in_use, line_info_table_in_use,
3201 separate_line_info_table_in_use, pubname_table_in_use,
3202 arange_table_in_use, ranges_table_in_use,
3203 current_function_has_inlines): Likewise.
3204 * flow.c (life_analysis): Likewise.
3205 * genemit.c (gen_insn): Likewise.
3206 * protoize.c (cplus_suffix): Likewise.
3207
0c2ca901
KG
3208 * arm.c (ROUND_UP_WORD): Renamed from ROUND_UP.
3209 * arm.h (ROUND_UP_WORD): Likewise.
3210
fc555370
KG
3211 * arm.h (CONDITIONAL_REGISTER_USAGE): Avoid signed/unsigned
3212 warning.
3213 * emit-rtl.c (gen_rtx_REG, set_mem_attributes_minus_bitpos,
3214 init_emit_once): Likewise.
3215 * flow.c (mark_regs_live_at_end, calculate_global_regs_live):
3216 Likewise.
3217 * function.c (assign_stack_temp_for_type): Likewise.
3218 * loop.c (loop_invariant_p): Likewise.
3219 * recog.c (push_operand): Likewise.
3220 * regclass.c (init_reg_sets_1): Likewise.
3221 * reload.c (update_auto_inc_notes): Likewise.
3222 * reload1.c (reload_as_needed, emit_input_reload_insns): Likewise.
3223 * stmt.c (expand_asm_operands): Likewise.
3224 * stor-layout.c (start_record_layout): Likewise.
3225
64510a4f
HB
32262003-01-16 Herman A.J. ten Brugge <hermantenbrugge@home.nl>
3227
07488f32 3228 * config/c4x/c4x.md (epilogue): Correct last patch.
64510a4f 3229
77480b0b
RH
32302003-01-15 Richard Henderson <rth@redhat.com>
3231
3232 * config/alpha/alpha.c (find_lo_sum_using_gp): Rename from find_lo_sum;
3233 also check that GP is being used.
3234 (alpha_find_lo_sum_using_gp): New.
3235 (alpha_does_function_need_gp): Use get_attr_usegp.
3236 * config/alpha/alpha-protos.h: Update.
3237 * config/alpha/alpha.md (attr usegp): New. Annotate patterns
3238 as needed.
3239
a0134312
RS
32402003-01-15 Roger Sayle <roger@eyesopen.com>
3241
3242 * gcse.c (one_cprop_pass): Change function arguments to take both
3243 cprop_jumps and bypass_jumps flags instead of just alter_jumps.
3244 (gcse_main): Update calls to one_cprop_pass, disabling bypassing.
3245 (bypass_jumps): New function to perform separate jump bypassing pass.
3246 * rtl.h (bypass_jumps): Add function prototype.
3247 * timevar.def (TV_BYPASS): New timing variable.
3248 * toplev.c (enum dump_file_index): Add new entry DFI_bypass.
3249 (dump_file): New entry for the bypass RTL dump file.
3250 (rest_of_compilation): Insert new jump bypassing optimization
3251 pass after loop.
3252 * doc/passes.texi: Document new pass.
3253
4af6a063
JDA
32542003-01-15 John David Anglin <dave@hiauly1.hia.nrc.ca>
3255
3256 * som.h (SUPPORTS_WEAK, SUPPORTS_ONE_ONLY, MAKE_DECL_ONE_ONLY,
3257 ASM_WEAKEN_LABEL, GTHREAD_USE_WEAK): Define.
3258 * pa.h (TARGET_SOM_SDEF): Define.
3259 * pa-hpux11.h (TARGET_SOM_SDEF): Define.
3260
51e13b71
SC
32612003-01-16 Stephane Carrez <stcarrez@nerim.fr>
3262
07488f32 3263 * config/m68hc11/m68hc11.c (expand_prologue): Use push/pop to
51e13b71
SC
3264 allocate 4-bytes of locals on 68HC11.
3265 (expand_epilogue): Likewise.
3266 (m68hc11_memory_move_cost): Increase cost of HI/QI soft registers.
3267
f077f169
SC
32682003-01-15 Stephane Carrez <stcarrez@nerim.fr>
3269
3270 * config/m68hc11/m68hc11.h (ASM_SPEC): Handle -m68hcs12; Pass -mshort
3271 and -mshort-double to the assembler to specify the ABI.
3272 (LINK_SPEC): Likewise.
3273 (CPP_SPEC): Pass HCS12 specific define.
3274 (MASK_M68S12): New define.
3275 (TARGET_M68S12): Likewise.
3276 (TARGET_SWITCHES): New options -m68hcs12 and -m68S12.
3277 (TARGET_VERSION): Update.
3278 * config/m68hc11/m68hc12.h (CPP_SPEC): Pass HCS12 specific define.
3279 (LINK_SPEC): Update.
3280 (ASM_SPEC): Update.
3281 * config/m68hc11/m68hc11.c (m68hc11_asm_file_start): Update.
3282 * doc/invoke.texi (M68hc1x Options): Document -m68hcs12.
3283
c0f684dc
SC
32842003-01-15 Stephane Carrez <stcarrez@nerim.fr>
3285
3286 * config/m68hc11/m68hc11.md ("return"): Use emit_jump_insn to emit
3287 the return code.
3288
6982ae15
JZ
32892003-01-15 Josef Zlomek <zlomekj@suse.cz>
3290
3291 * cfganal.c (set_edge_can_fallthru_flag): Clear the EDGE_CAN_FALLTHRU
3292 flag before setting it.
3293
8cadeff1
RS
32942003-01-15 Roger Sayle <roger@eyesopen.com>
3295
3296 * c-semantics.c (genrtl_while_stmt): Improve initial RTL generation
3297 when loop condition is known true, i.e. "while (1) { ... }".
3298 (genrtl_for_stmt): Similarly for "for" statements.
3299
03cd8aba
RS
33002003-01-15 Roger Sayle <roger@eyesopen.com>
3301
3302 * real.c (real_sqrt): Return a bool result indicating whether
3303 a floating point exception or trap should be raised.
3304 * real.h (real_sqrt): Update function prototype.
3305 * builtins.c (fold_builtin): Only fold non-trapping square
3306 roots unless we're ignoring errno and trapping math.
3307
4da78214
JDA
33082003-01-15 John David Anglin <dave.anglin@nrc.gc.ca>
3309
3310 * expr.h (emit_conditional_add): Add PARAMS to declaration.
3311 * gengtype-lex.l (malloc, realloc): Move defines after include of
3312 system.h. Remove duplicate include of system.h.
3313
9ee0a442
RS
33142003-01-15 Roger Sayle <roger@eyesopen.com>
3315
3316 PR middle-end/9009
3317 * optabs.c (expand_unop): When manipulating the FP sign bit
3318 using integer operations, account for targets with different
3319 integer and FP word orders.
3320 (expand_abs): Likewise.
3321
e3981aab
DE
33222003-01-15 David Edelsohn <edelsohn@gnu.org>
3323
3324 * config/rs6000/rs6000.c (rs6000_gen_section_name): Do not include
3325 file extension in section name.
3326
89c4b810
RE
33272003-01-15 Richard Earnshaw <rearnsha@arm.com>
3328
3329 * flow.c (find_auto_inc): Also try to generate a PRE_MODIFY with
3330 constant offset.
3331
3cd45774
RE
33322003-01-15 Richard Earnshaw <rearnsha@arm.com>
3333
3334 * arm.h (HAVE_PRE_MODIFY_DISP, HAVE_PRE_MODIFY_REG): Define.
3335 (HAVE_POST_MODIFY_DISP, HAVE_POST_MODIFY_REG): Define.
3336 (ARM_GO_IF_LEGITIMATE_ADDRESS): Handle pre/post-modify addresses.
3337 (ARM_PRINT_OPERAND_ADDRESS): Likewise.
3338
b1a6f8db
JH
3339Wed Jan 15 12:23:21 CET 2003 Jan Hubicka <jh@suse.cz>
3340
3341 PR f/9258
07488f32 3342 * global.c (struct allocno): Add no_stack_reg.
b1a6f8db
JH
3343 (global_conflicts): Set no_stack_reg.
3344 (find_reg): Use it.
3345
3346 * convert.c (convert_to_real): Fold - and abs only when profitable.
3347 * fold-const.c (fold): Fold truncates in - and abs.
3348
d18c7e59
JZ
33492003-01-15 Josef Zlomek <zlomekj@suse.cz>
3350
3351 Segher Boessenkool <segher@koffie.nl>
fbe3b30b
SB
3352
3353 * predict.c (real_inv_br_prob_base): New variable.
3354 (propagate_freq): Use multiply by reciprocal instead of
3355 division. Don't divide by 1.0 at all.
3356 (estimate_bb_frequencies): Similar.
3357
027faee7
AO
33582003-01-15 Alexandre Oliva <aoliva@redhat.com>
3359
3360 * configure.in (libgcc_visibility): Force disabled on IRIX 6 too.
3361 * configure: Rebuilt.
3362
077dab3b 33632003-01-15 Hartmut Penner <hpenner@de.ibm.com>
3c0121e4 3364
077dab3b
HP
3365 * config/s390/s390.c (s390_safe_attr_type): New function.
3366 (s390_use_dfa_pipeline_interface): New function, return true for z900.
3367 (s390_issue_rate): New function.
3368 (s390_agen_dep_p): New function.
3369 (addr_generation_dependency_p): Use 's390_safe_attr_type'.
3370 (s390_adjust_cost): Return 'cost' if new DFA is used.
3371 (s390_adjust_priority): Delete function.
3372 * config/s390/s390-protos.h: (s390_agen_dep_p): New prototype.
3373 * config/s390/s390.md (atype attribute): Attribute 'atype' default
3374 determined by 'op_type'.
3375 (type attribute): Added more type attributes.
3376 * config/s390/2064.md: New DFA description for z900 pipeline.
07488f32 3377
077dab3b 33782003-01-15 Alexandre Oliva <aoliva@redhat.com>
2b28d405 3379
acfa9d9f
AO
3380 * config/i386/i386.c (ix86_expand_vector_move): Validize constant
3381 forced to memory. Fixes PR bootstrap/9036.
3382
3c0121e4
AO
3383 * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Define so as
3384 to set $gp before the call.
3385
553eb139
RH
33862003-01-14 Richard Henderson <rth@redhat.com>
3387
3388 * config/alpha/alpha.c (alpha_expand_mov): Use correct mode
3389 for force_const_mem.
3390
dd1b7476
KG
33912003-01-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3392
3393 * genattr.c (main): Rearrange output to avoid prototype warning.
3394 * genautomata.c (transform_3): Fix ambiguous-else warning.
3395 * local-alloc.c (requires_inout): Add parentheses around
3396 assignment used as truth-value.
3397 * timevar.c: Move system includes above local includes. Include
3398 toplev.h
3399 * Makefile.in (timevar.o): Depend on toplev.h.
3400
6028880a
DC
34012003-01-14 Denis Chertykov <denisc@overta.ru>
3402
3403 * config/ip2k/ip2k.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
3404 (VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
3405
3406 * config/ip2k/ip2k.c (ip2k_attribute_table): New table of
07488f32 3407 attributes.
6028880a
DC
3408 (TARGET_ATTRIBUTE_TABLE): New macro.
3409 (valid_machine_type_attribute): Remove.
3410 (valid_machine_decl_attribute): Remove.
3411 (ip2k_handle_progmem_attribute): New function.
3412 (ip2k_handle_fndecl_attribute): New function.
3413
4a2953e4 34142003-01-10 Andrew Haley <aph@redhat.com>
a686ea5b
AH
3415
3416 * config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Rename
3417 registers to be in correct order. Add rip.
3418
4d77fda2
KH
34192003-01-14 Kazu Hirata <kazu@cs.umass.edu>
3420
3421 * config/h8300/h8300.md (*andsi3_lshiftrt_9_sb): New.
3422 (*iorsi3_and_lshiftrt_9_sb): Likewise.
3423
77f9af81
JH
3424Tue Jan 14 00:45:33 CET 2003 Jan Hubicka <jh@suse.cz>
3425
3426 * convert.c (strip_float_extensions): Look for narrowest type handling
3427 FP constants.
3428
3429 * fold-const.c (fold): Fold (double)float1 CMP (double)float2 into
3430 float1 CMP float2.
3431 * convert.c (strip_float_extensions): Make global.
3432 * tree.h (strip_float_extensions): Declare.
3433
fd371a93
GDR
34342003-01-14 Gabriel Dos Reis <gdr@integrable-solutions.net>
3435
3436 * timevar.def: define TV_NAME_LOOKUP.
3437 * timevar.c (timevar_pop): Be verbose when aborting.
3438
dcd1c2b8
AS
34392003-01-13 Andreas Schwab <schwab@suse.de>
3440
3441 * Makefile.in ($(parsedir)/gengtype-lex.c): Don't change to
3442 $(parsedir), just move the temporary file at the end.
3443 ($(parsedir)/gengtype-yacc.c): Likewise.
3444
eb4b5f93
AO
34452003-01-13 Alexandre Oliva <aoliva@redhat.com>
3446
3447 * aclocal.m4 (gcc_AC_PROG_GNAT): Don't try to prepend
3448 ${ac_tool_prefix} to ADAC or CC. Protect them from word
3449 splitting.
3450 * configure: Rebuilt.
3451
f7835768
KG
34522003-01-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3453
3454 * config/sparc/gmon-sol2.c (moncontrol, monstartup, _mcleanup,
3455 internal_mcount): Don't use PARAMS.
3456 (monstartup, _mcleanup, internal_mcount, moncontrol): Convert to
3457 ISO C style.
3458 (internal_mcount): Use __attribute__, not ATTRIBUTE_UNUSED.
3459
38a3dbbb
AS
34602003-01-13 Andreas Schwab <schwab@suse.de>
3461
3462 * config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Output type
3463 directive.
3464
98dc53e3
KH
34652003-01-13 Kazu Hirata <kazu@cs.umass.edu>
3466
3467 * config/h8300/h8300.md (*andsi3_lshift_n_sb): New.
3468 (*iorsi3_and_lshiftrt_n_sb): Likewise.
3469
e8f2b18d
MM
34702003-01-12 Mark Mitchell <mark@codesourcery.com>
3471
3472 PR c++/9264
3473 * c-lex.c (c_lex): Set the token value to error_mark_node for
3474 invalid numeric constants.
3475
70f8b89f
KG
34762003-01-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3477
3478 * c-pch.c (asm_file_startpos): Change to `long'.
3479 (pch_init): Use ftell, not ftello.
3480 (c_common_write_pch): Use ftell/fseek, not ftello/fseeko.
3481 Use `long' instead of `off_t'.
3482 (c_common_read_pch): Likewise.
3483 * ggc-common.c (gt_pch_save): Use long/ftell instead of
3484 off_t/ftello.
3485
8e37cba8
AM
34862003-01-12 Alan Modra <amodra@bigpond.net.au>
3487
3488 * expr.c (expand_expr <RDIV_EXPR>): Correct recursive call args.
3489
04f08c8e
RE
34902003-01-11 Richard Earnshaw (rearnsha@arm.com)
3491
3492 * arm-protos.h (struct cpp_reader): Add declaration.
3493
a5cf80f0
JH
3494Sat Jan 11 11:02:58 CET 2003 Jan Hubicka <jh@suse.cz>
3495
3496 PR target/9068
3497 * i386.c (output_fp_compare): Fix typo.
3498
bbfb86aa
DE
34992003-01-10 David Edelsohn <edelsohn@gnu.org>
3500
3501 * config/rs6000/rs6000.c (common_mode_defined): Mark for PCH.
3502
223b87b6
GK
35032003-01-10 Geoffrey Keating <geoffk@apple.com>
3504
3859c32a
GK
3505 * Makefile.in (parsedir): New variable.
3506 (docobjdir): New variable.
07488f32 3507 (c-parse.o, c-parse.c, c-parse.y, gengtype-lex.o, gengtype-yacc.o,
3859c32a
GK
3508 gengtype-lex.c, gengtype-yacc.c): Use parsedir.
3509 (info, cpp.info, gcc.info, gccint.info, gccinstall.info,
3510 cppinternals.info, generated-manpages, gcov.1, cpp.1, gcc.1, gfdl.7,
07488f32 3511 gpl.7, fsf-funding.7, maintainer-clean, install-info, install-man):
3859c32a
GK
3512 Use docobjdir.
3513 * objc/Make-lang.in (objc/objc-parse.c, objc/objc-parse.y,
3514 objc.maintainer-clean): Use parsedir.
3515
63af3bd1
GK
3516 * varasm.c (struct constant_descriptor_rtx): Remove unused
3517 `label' field.
3518
223b87b6
GK
3519 * toplev.c (documented_lang_options): Document -Winvalid-pch.
3520
fbadafbc
RH
35212003-01-10 Richard Henderson <rth@redhat.com>
3522
3523 * config/alpha/alpha.h (NO_PROFILE_COUNTERS): Set.
3524 (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Kill.
3525
ab5ecb01
RH
35262003-01-10 Richard Henderson <rth@redhat.com>
3527
3528 * combine.c (make_compound_operation): Use SCALAR_INT_MODE_P,
3529 not INTEGRAL_MODE_P when widening extensions.
3530
7f24e7c5
RH
35312003-01-10 Richard Henderson <rth@redhat.com>
3532
3533 * config/alpha/alpha.c (decl_has_samegp): True for !TREE_PUBLIC.
3534
6dd05d08
GK
35352003-01-10 Geoffrey Keating <geoffk@apple.com>
3536
19cc0dd4
GK
3537 * ggc-page.c (ggc_collect): Avoid overflow computing
3538 min_expand.
3539
6dd05d08
GK
3540 * Makefile.in (RANLIB_FOR_TARGET): Use RANLIB when native.
3541 (RANLIB_TEST_FOR_TARGET): Delete. Don't pass down to sub-makes.
3542 Remove calls.
3543 * mklibgcc.in: Remove uses of RANLIB_TEST_FOR_TARGET.
3544
5f1355ef
JH
3545Fri Jan 10 22:05:35 CET 2003 Jan Hubicka <jh@suse.cz>
3546
3547 * ifcvt.c (noce_try_addcc): Do not call emit_conditional_add
3548 with weird operands.
3549
0cdca92b 35502003-01-10 Dale Johannesen <dalej@apple.com>
6dd05d08
GK
3551
3552 * calls.c (load_register_parameters): Add is_sibcall, sibcall_failure
3553 parameters. Call check_sibcall_argument_overlap if indicated.
3554 (check_sibcall_argument_overlap): Add mark_stored_args_map
3555 parameter. Don't mark parameter area as clobbered if not set.
3556 (expand_call): Adjust calls to above.
3557
35582003-01-10 Kelley Cook <kelleycook@comcast.net>
6cd656d0
KC
3559
3560 * configure.in (linker read-only and read-write section mixing):
3561 Squelch some assembler warnings.
3562 * configure: Likewise.
3563
be2c2a4b
HP
35642003-01-10 Hartmut Penner <hpenner@de.ibm.com>
3565
21ff35fb 3566 * doc/invoke.texi: Document -mtune, delete -mcpu
be2c2a4b
HP
3567 option for S/390 and zSeries.
3568 * config/s390/s390.c (s390_tune_string) New variable.
3569 (s390_cpu_string) Delete variable.
3570 (override_options): Use s390_tune_string instead of
3571 s390_cpu_string.
3572 * config/s390/s390.h: (TARGET_OPTIONS) '-mtune' instead of '-mcpu'.
3573
1f450138
KH
35742003-01-10 Kazu Hirata <kazu@cs.umass.edu>
3575
3576 * config/h8300/h8300.md (*iorsi3_ashift_31): New.
3577
d330ce15
JZ
35782003-01-10 Josef Zlomek <zlomekj@suse.cz>
3579
3580 * jump.c (next_nonnote_insn_in_loop): New function.
3581 (copy_loop_headers): Use next_nonnote_insn_in_loop instead of
3582 next_nonnote_insn.
3583 (duplicate_loop_exit_test). Likewise.
3584
17211ab5
GK
35852003-01-09 Geoffrey Keating <geoffk@apple.com>
3586
3587 Merge from pch-branch:
3588
3589 2003-01-06 Geoffrey Keating <geoffk@apple.com>
3590
3591 * ggc-page.c (ggc_pch_read): Update the statistics after a PCH
3592 load.
3593
3594 2002-12-24 Geoffrey Keating <geoffk@apple.com>
3595
3596 * cpplib.c (count_registered_pragmas): New function.
3597 (save_registered_pragmas): New function.
3598 (_cpp_save_pragma_names): New function.
3599 (restore_registered_pragmas): New function.
3600 (_cpp_restore_pragma_names): New function.
3601 * cpphash.h (_cpp_save_pragma_names): Prototype.
3602 (_cpp_restore_pragma_names): Likewise.
3603 * cpppch.c (struct save_macro_item): Split from save_macro_data.
3604 (struct save_macro_data): New field 'saved_pragmas'.
3605 (save_macros): Update for changes to struct save_macro_data.
3606 (cpp_prepare_state): Call _cpp_save_pragma_names, update
3607 for changes to struct save_macro_data.
3608 (cpp_read_state): Call _cpp_restore_pragma_names, update
3609 for changes to struct save_macro_data.
3610
3611 * cpppch.c (cpp_read_state): Restore the hashtable references
3612 in the cpp_reader.
07488f32 3613
17211ab5
GK
3614 * tree.h (built_in_decls): Mark for PCH.
3615
3616 * dbxout.c (lastfile): Don't mark for PCH.
3617
3618 * ggc.h: Document PCH calls into memory managers.
3619
3620 2002-12-18 Geoffrey Keating <geoffk@apple.com>
3621
3622 * doc/invoke.texi (Precompiled Headers): Document the
3623 directory form of PCH.
3624 * cppfiles.c (validate_pch): New function.
3625 (open_file_pch): Search suitably-named directories for PCH files.
3626
3627 2002-12-14 Geoffrey Keating <geoffk@apple.com>
3628
3629 * doc/gty.texi (GTY Options): Document chain_next, chain_prev,
3630 reorder options.
3631 (Type Information): Mention that the information is also
3632 used to implement PCH.
3633 * doc/passes.texi (Passes): Improve documentation of
3634 language-specific files.
3635
3636 2002-12-11 Geoffrey Keating <geoffk@apple.com>
3637
3638 * gengtype.c (struct write_types_data): Add reorder_note_routine field.
3639 (struct walk_type_data): Add reorder_fn field.
3640 (walk_type): Process 'reorder' option.
3641 (write_types_process_field): Reorder parameters to gt_pch_note_object,
3642 call reorder_note_routine.
3643 (write_func_for_structure): Reorder parameters to gt_pch_note_object.
3644 (ggc_wtd): Update for change to struct write_types_data.
3645 (pch_wtd): Likewise.
3646 * ggc.h (gt_pch_note_object): Reorder parameters.
3647 (gt_handle_reorder): New definition.
3648 (gt_pch_note_reorder): New prototype.
3649 * ggc-common.c (struct ptr_data): Add reorder_fn.
3650 (gt_pch_note_object): Reorder parameters.
3651 (gt_pch_note_reorder): New.
3652 (gt_pch_save): Call reorder_fn.
3653 * stringpool.c (gt_pch_n_S): Update for change to gt_pch_note_object.
3654
3655 * dbxout.c (cwd): Don't mark for PCH.
3656
3657 2002-12-09 Geoffrey Keating <geoffk@apple.com>
3658
3659 * gengtype.c (finish_root_table): Fix some warnings.
3660 (write_root): Handle TYPE_STRING.
3661 * ggc.h (gt_ggc_m_S): Add prototype.
3662 * stringpool.c (gt_ggc_m_S): New function.
3663
3664 2002-11-30 Geoffrey Keating <geoffk@apple.com>
3665
3666 * dwarf2out.c (dw2_string_counter): New.
3667 (AT_string_form): Use it.
3668 (same_dw_val_p): Update for removal of hashtable.h hash tables.
3669
3670 2002-11-22 Geoffrey Keating <geoffk@apple.com>
3671
3672 * dbxout.c: Include gt-dbxout.h.
3673 (lastfile): Mark for PCH/GGC.
3674 (cwd): Likewise.
3675 (struct typeinfo): Likewise.
3676 (typevec): Likewise.
3677 (typevec_len): Likewise.
3678 (next_type_number): Likewise.
3679 (struct dbx_file): Likewise.
3680 (current_file): Likewise.
3681 (next_file_number): Likewise.
3682 (dbxout_init): Allocate typevec, struct dbx_file with GGC.
3683 (dbxout_start_source_file): Allocate struct dbx_file with GGC.
3684 (dbxout_end_source_file): Don't free struct dbx_file.
3685 (dbxout_type): Use GGC to allocate typevec.
3686 * Makefile.in (dbxout.o): Depend on gt-dbxout.h, $(GGC_H).
3687 (GTFILES): Add dbxout.c.
3688 (gt-dbxout.h): New rule.
07488f32 3689
17211ab5
GK
3690 * Makefile.in (c-pch.o): Add debug.h as dependency.
3691 * c-pch.c: Include debug.h.
3692 (pch_init): Call start_source_file to keep nesting right.
3693 (c_common_read_pch): Add orig_name parameter. Call
3694 start_source_file debug hook. Call end_source_file debug hook.
3695 * c-common.h (c_common_read_pch): Update prototype.
3696 * cpplib.h (struct cpp_callbacks): Add fourth field to read_pch
3697 callback.
3698 * cppfiles.c (struct include_file): Add new field `header_name'.
3699 (find_or_create_entry): Default it to `name'.
3700 (open_file_pch): Set it to the original header file searched for.
3701 (stack_include_file): Don't stack an empty buffer, just handle
3702 PCH files immediately. Pass header_name field to read_pch callback.
3703
3704 2002-11-19 Geoffrey Keating <geoffk@apple.com>
3705
3706 * function.c (funcdef_no): Mark to be saved in a PCH.
3707
3708 2002-11-15 Geoffrey Keating <geoffk@apple.com>
3709
3710 * ggc-page.c (ggc_pch_read): Remove unused 'bmap_size'.
3711
3712 * cpppch.c (cpp_read_state): Correct size reallocated for 'defn'.
3713
3714 2002-11-14 Geoffrey Keating <geoffk@apple.com>
3715
3716 * optabs.h (code_to_optab): Add GTY marker.
3717
3718 2002-11-13 Geoffrey Keating <geoffk@apple.com>
3719
3720 * Makefile.in (GTFILES): Add cpplib.h.
3721 * c-common.h (struct c_common_identifier): Don't skip 'node' field.
3722 * c-decl.c (build_compound_literal): Don't use var_labelno.
3723 * cpplib.h (struct cpp_hashnode): Use gengtype to mark.
3724 * dwarf2asm.c (dw2_force_const_mem): Don't use const_labelno.
3725 * varasm.c (const_labelno): Use gengtype to mark.
3726 (var_labelno): Likewise.
3727 (in_section): Likewise.
3728 (in_named_name): Likewise.
3729 (struct in_named_entry): Likewise.
3730 (in_named_htab): Likewise.
3731 (set_named_section_flags): Use GGC to allocate struct in_named_entry.
3732 (init_varasm_once): Use GGC to allocate in_named_htab.
3733 * config/darwin.c (current_pic_label_num): Mark for PCH.
3734
3735 2002-11-11 Geoffrey Keating <geoffk@apple.com>
3736
3737 * ggc-simple.c (init_ggc_pch): New stub procedure.
3738 (ggc_pch_count_object): Likewise.
3739 (ggc_pch_total_size): Likewise.
3740 (ggc_pch_this_base): Likewise.
3741 (ggc_pch_alloc_object): Likewise.
3742 (ggc_pch_prepare_write): Likewise.
3743 (ggc_pch_write_object): Likewise
3744 (ggc_pch_finish): Likewise.
3745 (ggc_pch_read): Likewise.
3746
3747 2002-11-08 Geoffrey Keating <geoffk@apple.com>
3748
3749 * c-pch.c (c_common_write_pch): Write the macro definitions after
3750 the GCed data.
3751 (c_common_read_pch): Call cpp_prepare_state. Restore the macro
3752 definitions after the GCed data.
3753 * cpplib.c (save_macros): New.
3754 (reset_ht): New.
3755 (cpp_write_pch_deps): Split out of cpp_write_pch.
3756 (cpp_write_pch_state): Split out of cpp_write_pch.
3757 (cpp_write_pch): Delete.
3758 (struct save_macro_data): Delete.
3759 (cpp_prepare_state): New.
3760 (cpp_read_state): Erase and restore initial macro definitions.
3761 * cpplib.h (struct save_macro_data): Forward-declare.
3762 (cpp_write_pch_deps): Prototype.
3763 (cpp_write_pch_state): Prototype.
3764 (cpp_write_pch): Delete prototype.
3765 (cpp_prepare_state): Prototype.
3766 (cpp_read_state): Add fourth argument.
3767
3768 2002-11-04 Geoffrey Keating <geoffk@apple.com>
3769
3770 * gengtype.c (adjust_field_rtx_def): Don't use skip on valid fields.
3771 (write_array): Remove warning.
3772
3773 * gengtype.c (contains_scalar_p): New.
3774 (finish_root_table): Add the table to all languages, even if it's
3775 empty.
3776 (write_roots): Output gt_pch_scalar_rtab.
3777 * ggc-common.c (gt_pch_save): Write out scalars.
3778 (gt_pch_restore): Read scalars back.
3779
3780 * ggc-page.c (OBJECTS_IN_PAGE): New macro.
3781 (struct page_entry): Delete pch_page field.
3782 (ggc_recalculate_in_use_p): Use OBJECTS_IN_PAGE.
3783 (clear_marks): Likewise.
3784 (sweep_pages): Likewise.
3785 (poison_pages): Likewise.
3786 (ggc_print_statistics): Likewise.
3787 (ggc_pch_read): Don't free objects read from a PCH.
3788 Properly set up in_use_p and page_tails.
3789
3790 2002-10-25 Geoffrey Keating <geoffk@apple.com>
3791
3792 * gengtype.c (struct write_types_data): New.
3793 (struct walk_type_data): Make `cookie' const; add extra
3794 prev_val item; add `orig_s' field.
3795 (walk_type): Update prev_val[3].
3796 (write_types_process_field): New.
3797 (write_func_for_structure): Take write_types_data structure.
3798 (write_types): New.
3799 (ggc_wtd): New.
3800 (pch_wtd): New.
3801 (write_types_local_process_field): New.
3802 (gc_mark_process_field): Delete.
3803 (write_local_func_for_structure): New.
3804 (gc_mark_func_name): Delete.
3805 (write_gc_types): Delete.
3806 (write_local): New.
3807 (finish_root_table): Don't include 'ggc_' in PFX.
3808 (write_root): Rename from write_root. Fill pchw field of structures.
3809 (write_array): New.
3810 (write_roots): Rename from write_gc_roots. Split out to write_array.
3811 Update to changes to other routines. Write gt_pch_cache_rtab table.
3812 (main): Write PCH walking routines.
3813 * ggc-common.c: Include toplev.h, sys/mman.h.
3814 (ggc_mark_roots): For cache hashtables, also mark the hash table
3815 and the array of entries.
3816 (saving_htab): New.
3817 (struct ptr_data): New.
3818 (POINTER_HASH): New.
3819 (gt_pch_note_object): New.
3820 (saving_htab_hash): New.
3821 (saving_htab_eq): New.
3822 (struct traversal_state): New.
3823 (call_count): New.
3824 (call_alloc): New.
3825 (compare_ptr_data): New.
3826 (relocate_ptrs): New.
3827 (write_pch_globals): New.
3828 (struct mmap_info): New.
3829 (gt_pch_save): New.
3830 (gt_pch_restore): New.
3831 * ggc-page.c (ROUND_UP_VALUE): New.
3832 (ROUND_UP): New.
3833 (struct page_entry): Add field `pch_page'.
3834 (init_ggc): Use ROUND_UP.
3835 (struct ggc_pch_data): Declare.
3836 (init_ggc_pch): New.
3837 (ggc_pch_count_object): New.
3838 (ggc_pch_total_size): New.
3839 (ggc_pch_this_base): New.
3840 (ggc_pch_alloc_object): New.
3841 (ggc_pch_prepare_write): New.
3842 (ggc_pch_write_object): New.
3843 (ggc_pch_finish): New.
3844 (ggc_pch_read): New.
3845 * ggc.h (gt_pointer_operator): New.
3846 (gt_note_pointers): New.
3847 (gt_pch_note_object): New prototype.
3848 (gt_pointer_walker): New.
3849 (struct ggc_root_tab): Use gt_pointer_walker, add `pchw' field.
3850 (LAST_GGC_ROOT_TAB): Update.
3851 (gt_pch_cache_rtab): Declare.
3852 (gt_pch_scalar_rtab): Declare.
3853 (struct ggc_cache_tab): Use gt_pointer_walker, add `pchw' field.
3854 (LAST_GGC_CACHE_TAB): Update.
3855 (gt_pch_save_stringpool): Declare.
3856 (gt_pch_restore_stringpool): Declare.
3857 (gt_pch_p_S): Declare.
3858 (gt_pch_n_S): Declare.
3859 (struct ggc_pch_data): Forward-declare.
3860 (init_ggc_pch): Declare.
3861 (ggc_pch_count_object): Declare.
3862 (ggc_pch_total_size): Declare.
3863 (ggc_pch_this_base): Declare.
3864 (ggc_pch_alloc_object): Declare.
3865 (ggc_pch_prepare_write): Declare.
3866 (ggc_pch_write_object): Declare.
3867 (ggc_pch_finish): Declare.
3868 (ggc_pch_read): Declare.
3869 (gt_pch_save): Declare.
3870 (gt_pch_restore): Declare.
3871 * fold-const.c (size_int_type_wide): Allocate size_htab using GGC.
3872 * emit-rtl.c (init_emit_once): Allocate const_int_htab,
3873 const_double_htab, mem_attrs_htab using GGC.
3874 * c-pch.c: Include ggc.h.
3875 (pch_init): Allow reading PCH file back.
3876 (c_common_write_pch): Call gt_pch_save.
3877 (c_common_read_pch): Call gt_pch_restore.
3878 * c-parse.in (init_reswords): Delete now-untrue comment.
3879 Allocate ridpointers using GGC.
3880 * c-objc-common.c (c_objc_common_finish_file): Write PCH before
3881 calling expand_deferred_fns.
3882 * c-common.h (ridpointers): Mark for GTY machinery.
3883 * Makefile.in (stringpool.o): Update dependencies.
3884 (c-pch.o): Update dependencies.
3885 (ggc-common.o): Update dependencies.
3886 * stringpool.c: Include gt-stringpool.h.
3887 (gt_pch_p_S): New.
3888 (gt_pch_n_S): New.
3889 (struct string_pool_data): New.
3890 (spd): New.
3891 (gt_pch_save_stringpool): New.
3892 (gt_pch_restore_stringpool): New.
3893 * tree.c (init_ttree): Make type_hash_table allocated using GC.
07488f32 3894
17211ab5
GK
3895 2002-10-04 Geoffrey Keating <geoffk@apple.com>
3896
3897 * gengtype.c (adjust_field_rtx_def): Don't pass size_t to printf.
3898 (output_mangled_typename): Don't pass size_t to printf.
3899
3900 * tree.h (union tree_type_symtab): Add tag to `address' field.
3901 (union tree_decl_u2): Add tag to 'i' field.
3902 * varasm.c (union rtx_const_un): Add tags to all fields.
3903 * gengtype.c (struct walk_type_data): New.
3904 (output_escaped_param): Take struct walk_type_data parameter.
3905 (write_gc_structure_fields): Delete.
3906 (walk_type): New.
3907 (write_gc_marker_routine_for_structure): Delete.
3908 (write_func_for_structure): New.
3909 (gc_mark_process_field): New.
3910 (gc_mark_func_name): New.
3911 (gc_counter): Delete.
3912 (write_gc_types): Use write_func_for_structure.
3913 (write_gc_roots): Use walk_type.
3914
3915 2002-10-02 Geoffrey Keating <geoffk@apple.com>
3916
3917 * ggc-common.c (ggc_mark_roots): Delete 'x'.
3918 (ggc_splay_dont_free): Fix warning about unused 'x'.
3919 (ggc_print_common_statistics): Remove warnings.
3920
3921 2002-10-01 Mike Stump <mrs@apple.com>
3922
07488f32
ZW
3923 * ggc-common.c (ggc_splay_alloc): Actually return the allocated area.
3924 * gengtype.c (write_gc_structure_fields): Handle param[digit]_is.
17211ab5
GK
3925
3926 2002-09-01 Geoffrey Keating <geoffk@redhat.com>
3927 Catherine Moore <clm@redhat.com>
3928
3929 * Makefile (c-pch.o): Update dependencies.
3930 (LIBCPP_OBJS): Add cpppch.o.
3931 (cpppch.o): New.
3932 * c-common.c (c_common_init): Don't call pch_init here.
3933 * c-common.h (c_common_read_pch): Update prototype.
3934 * c-lex.c (c_common_parse_file): Call pch_init here.
3935 * c-opts.c (COMMAND_LINE_OPTIONS): Add -Winvalid-pch, -fpch-deps.
3936 (c_common_decode_option): Handle them.
3937 * c-pch.c: Include c-pragma.h.
3938 (save_asm_offset): Delete.
3939 (pch_init): Move contents of save_asm_offset into here, call
3940 cpp_save_state.
3941 (c_common_write_pch): Call cpp_write_pch.
3942 (c_common_valid_pch): Warn only when -Winvalid-pch. Call
3943 cpp_valid_state.
3944 (c_common_read_pch): Add NAME parameter. Call cpp_read_state.
07488f32 3945 * cppfiles.c (stack_include_file): Update for change to
17211ab5
GK
3946 parameters of cb.read_pch.
3947 * cpphash.h (struct cpp_reader): Add `savedstate' field.
3948 * cpplib.h (struct cpp_options): Add `warn_invalid_pch' and
3949 `restore_pch_deps' fields.
3950 (struct cpp_callbacks): Add NAME parameter to `read_pch'.
3951 (cpp_save_state): Prototype.
3952 (cpp_write_pch): Prototype.
3953 (cpp_valid_state): Prototype.
3954 (cpp_read_state): Prototype.
3955 * cpppch.c: New file.
3956 * flags.h (version_flag): Remove prototype.
3957 * mkdeps.c (deps_save): New.
3958 (deps_restore): New.
3959 * mkdeps.h (deps_save): Prototype.
3960 (deps_restore): Prototype.
3961 * toplev.c (late_init_hook): Delete.
3962 (version_flag): Make static again.
3963 (compile_file): Don't call late_init_hook.
3964 * toplev.h (late_init_hook): Delete.
3965 * doc/cppopts.texi: Document -fpch-deps.
3966 * doc/invoke.texi (Warning Options): Document -Winvalid-pch.
3967
3968 2002-08-27 Geoffrey Keating <geoffk@redhat.com>
3969
3970 * c-pch.c (c_common_write_pch): Rename from c_write_pch, change
3971 callers.
3972 (c_common_valid_pch): Rename from c_valid_pch, change callers.
3973 (c_common_read_pch): Rename from c_read_pch, change callers.
3974
3975 * c-opts.c (COMMAND_LINE_OPTIONS): Allow -output-pch= to have
3976 a space between it and its argument.
3977
3978 2002-08-24 Geoffrey Keating <geoffk@redhat.com>
3979
3980 * c-pch.c: New file.
3981 * toplev.h (late_init_hook): Declare.
3982 * toplev.c (late_init_hook): Define.
3983 (version_flag): Make globally visible.
3984 (compile_file): Call late_init_hook.
3985 (init_asm_output): Make output file seekable.
3986 * gcc.c (default_compilers): Update c-header rule.
3987 * flags.h (version_flag): Declare.
3988 * cpplib.h (struct cpp_callbacks): Add 'valid_pch' and 'read_pch'
3989 fields.
3990 * cppfiles.c (struct include_file): Add 'pch' field.
3991 (INCLUDE_PCH_P): New.
3992 (open_file_pch): New.
3993 (stack_include_file): Handle PCH files specially.
3994 (find_include_file): Call open_file_pch instead of open_file.
3995 (_cpp_read_file): Explain why open_file is used instead of
3996 open_file_pch.
3997 * c-opts.c (c_common_decode_option): Correct OPT__output_pch case.
3998 * c-objc-common.c (c_objc_common_finish_file): Call c_write_pch.
3999 * c-lex.c (init_c_lex): Set valid_pch and read_pch fields
4000 in cpplib callbacks.
4001 * c-common.c (pch_file): Correct comment.
4002 (allow_pch): Define.
4003 (c_common_init): Call pch_init.
4004 * c-common.h (allow_pch): Declare.
4005 (pch_init): Declare.
4006 (c_valid_pch): Declare.
4007 (c_read_pch): Declare.
4008 (c_write_pch): Declare.
4009 * Makefile.in (c-pch.o): New.
4010 (C_AND_OBJC_OBJS): Add c-pch.o.
4011 * doc/invoke.texi (Precompiled Headers): Add index entries,
4012 complete truncated paragraph.
4013
4014 2002-08-17 Geoffrey Keating <geoffk@redhat.com>
4015
4016 * c-common.c: (pch_file): Define.
4017 * c-common.h (pch_file): Declare.
4018 * c-opts.c (COMMAND_LINE_OPTIONS): Add --output-pch=.
4019 (missing_arg): Require --output-pch= to have an argument.
4020 (c_common_decode_option): Handle --output-pch=.
4021 * gcc.c: Document new %V.
4022 (default_compilers): Handle compiling C header files.
4023 (do_spec_1): Implement %V.
4024 (main): Handle "gcc foo.h" without trying to run linker.
4025 * doc/invoke.texi (Invoking GCC): Add new menu item for PCH.
4026 (Overall Options): Document what the driver does with header files,
4027 document new -x option possibilities.
4028 (Invoking G++): More documentation for PCH.
4029 (Precompiled Headers): New.
4030
4031 2002-08-09 Geoffrey Keating <geoffk@redhat.com>
4032
4033 * ggc.h: Don't include varray.h. Rearrange functions to be more
4034 organized.
4035 (ggc_add_root): Delete.
4036 (ggc_mark_rtx): Delete.
4037 (ggc_mark_tree): Delete.
4038 (struct ggc_statistics): Remove contents.
4039 * ggc-common.c: Remove unneeded includes.
4040 (struct ggc_root): Delete.
4041 (roots): Delete.
4042 (ggc_add_root): Delete.
4043 (ggc_mark_roots): Don't mark `roots'. Call ggc_mark_stringpool.
4044 (ggc_print_common_statistics): Remove most of the contents.
4045 * Makefile.in (GGC_H): No longer uses varray.h.
4046 (ggc-common.o): Update dependencies.
4047 (c-parse.o): Add varray.h to dependencies.
4048 (c-common.o): Add varray.h.
4049 * stringpool.c (mark_ident): Use mangled name for tree marker routine.
4050 (mark_ident_hash): Rename to ggc_mark_stringpool.
4051 (init_stringpool): Don't use ggc_add_root.
4052 * c-parse.in: Include varray.h.
4053 * c-common.c: Include varray.h.
4054 * objc/Make-lang.in (objc-act.o): Add varray.h.
4055 * objc/objc-act.c: Include varray.h.
4056
4057 2002-07-25 Geoffrey Keating <geoffk@redhat.com>
4058
4059 * dwarf2out.c (dw_cfi_oprnd2_desc): Fix ISO-only function definition.
4060 (dw_cfi_oprnd1_desc): Likewise.
4061
4062 2002-07-17 Geoffrey Keating <geoffk@redhat.com>
4063
4064 * config/alpha/alpha.c (struct alpha_links): Use gengtype to mark;
4065 move out of ifdef.
4066 (alpha_links): Use gengtype to mark; move out of ifdef.
4067 (mark_alpha_links_node): Delete.
4068 (mark_alpha_links): Delete.
4069 (alpha_need_linkage): Use GGC to allocate splay tree, struct
4070 alpha_links, strings. Don't use ggc_add_root.
4071 * ggc-common.c (ggc_splay_alloc): New.
4072 (ggc_splay_dont_free): New.
4073 * ggc.h (ggc_mark_rtx): Update for changed name mangling.
4074 (ggc_mark_tree): Likewise.
4075 (splay_tree_new_ggc): New.
4076 (ggc_splay_alloc): Declare.
4077 (ggc_splay_dont_free): Declare.
4078 * dwarf2asm.c: Include gt-dwarf2asm.h.
4079 (mark_indirect_pool_entry): Delete.
4080 (mark_indirect_pool): Delete.
4081 (indirect_pool): Use gengtype to mark.
4082 (dw2_force_const_mem): Don't use ggc_add_root.
4083 * Makefile.in (dwarf2asm.o): Depend on gt-dwarf2asm.h.
4084 (GTFILES): Add SPLAY_TREE_H, dwarf2asm.c.
4085 (gt-dwarf2asm.h): Depend on s-gtype.
4086
4087 2002-07-08 Geoffrey Keating <geoffk@redhat.com>
4088
4089 * tree.h (union tree_type_symtab): Mark `die' field.
4090 * Makefile.in (dwarf2out.o): Update dependencies.
4091 * dwarf2out.c: Use GGC to allocate all structures. Convert to htab_t
4092 hash tables.
4093 (dw_cfi_oprnd1_desc): New function.
4094 (dw_cfi_oprnd2_desc): New function.
4095 (indirect_string_alloc): Delete.
4096 (debug_str_do_hash): New function.
4097 (debug_str_eq): New function.
4098 (mark_limbo_die_list): Delete.
4099 (dwarf2out_init): Don't call ggc_add_root.
4100
30028c85
VM
41012003-01-09 Vladimir Makarov <vmakarov@redhat.com>
4102
4103 The following changes are merged from itanium-sched-branch:
4104
4105 2003-01-08 David Edelsohn <edelsohn@gnu.org>
4106
4107 * doc/md.texi: Clarify assignment of units to automata description.
4108
4109 2003-01-08 Vladimir Makarov <vmakarov@redhat.com>
4110
4111 * genautomata.c (unit_decl): Remove members
4112 `the_same_automaton_unit' and
4113 `the_same_automaton_message_reported_p'.
4114 (process_unit_to_form_the_same_automaton_unit_lists,
4115 form_the_same_automaton_unit_lists_from_regexp,
4116 form_the_same_automaton_unit_lists, the_same_automaton_lists):
4117 Remove them.
4118 (annotation_message_reported_p): New global variable.
4119 (check_unit_distribution_in_reserv,
4120 check_regexp_units_distribution): New functions.
4121 (check_unit_distributions_to_automata): Rewrite it.
4122
4123 2003-01-04 Vladimir Makarov <vmakarov@redhat.com>
4124
4125 * genautomata.c (form_the_same_automaton_unit_lists_from_regexp):
4126 Use continue instead of break if cycle is too big.
4127
4128 2002-12-20 Vladimir Makarov <vmakarov@redhat.com>
4129
4130 * genautomata.c (check_unit_distributions_to_automata): Output at
4131 most one message for a unit.
4132 (process_unit_to_form_the_same_automaton_unit_lists): Check
4133 automaton of units instead of units themself.
4134
4135 * doc/md.texi: Describe the constraint about assigning unit to
4136 automata.
4137
4138 2002-12-20 Jan Hubicka <jH@suse.cz>
4139 Vladimir Makarov <vmakarov@redhat.com>
4140
4141 * genautomata.c (unit_decl): Add new members `min_occ_cycle_num'
4142 and `in_set_p'.
4143 (gen_cpu_unit): Initialize the new members.
4144 (process_regexp_cycles): Calculate minimal finish cycle too. Set
4145 up `min_occ_cycle_num'.
4146 (evaluate_max_reserv_cycles): Change the function call.
4147 (CLEAR_BIT): New macro.
4148 (states_union, state_shift): Use the mask.
4149 (initiate_excl_sets, form_reserv_sets_list): Set up `in_set_p'.
4150 (form_reservs_matter): New function.
4151 (make_automaton): Call the function and use the mask.
4152 (estimate_one_automaton_bound): Take `min_occ_cycle_num' into
4153 account.
07488f32 4154
30028c85
VM
4155 2002-12-17 Vladimir Makarov <vmakarov@redhat.com>
4156
4157 * config/ia64/itanium2.md (lfetch): Change the insn reservation.
4158
4159 2002-12-17 Vladimir Makarov <vmakarov@redhat.com>
4160
4161 * config/ia64/ia64.c (bundling): Try to insert 2 nops for M insn
4162 for Itanium.
4163
4164 2002-12-17 Vladimir Makarov <vmakarov@redhat.com>
4165
4166 * config/ia64/ia64.c (ia64_override_options): Make itanium2 as
4167 default cpu.
4168
4169 2002-12-17 Vladimir Makarov <vmakarov@redhat.com>
4170 2002-10-31 Dale Johannesen <dalej@apple.com>
4171
4172 * haifa-sched.c (find_set_reg_weight): New function.
4173 (find_insn_reg_weight): Use the new function.
4174 (schedule_block): Do sorting ready queue always
4175 after insn issue.
4176
4177 2002-11-27 Vladimir Makarov <vmakarov@redhat.com>
4178
4179 * config/ia64/ia64.c (bundling): Use MFI template instead of MLX.
4180
4181 2002-11-19 Vladimir Makarov <vmakarov@redhat.com>
4182
4183 * haifa-sched.c (choice_entry): New structure.
4184 (choice_stack, cycle_issued_insns): New variables.
4185 (max_issue): Rewrite it.
4186 (choose_ready): Set up ready_try for unknown insns too.
4187 (schedule_block): Allocate and free choice_stack. Set up
4188 and modify cycle_issued_insns.
4189
4190 * config/ia64/ia64.c (issue_nops_and_insn): Combine insn issue
4191 with and without filling the bundle.
4192 (bundling): Combine calls of issue_nops_and_insn.
07488f32 4193
30028c85
VM
4194 2002-10-17 Vladimir Makarov <vmakarov@redhat.com>
4195
4196 * config/ia64/itanium1.md: New file.
4197
4198 * config/ia64/itanium2.md: New file.
4199
4200 * config/ia64/ia64.md: Move DFA descriptions into the new files.
4201 Remove the old pipeline description.
07488f32 4202
30028c85
VM
4203 * config/ia64/ia64.c (ia64_override_options): Add aliases of
4204 itanium processor names.
07488f32 4205
30028c85
VM
4206 2002-10-16 Vladimir Makarov <vmakarov@redhat.com>
4207
4208 * config/ia64/ia64.c (bundling): Print states for Itanium2 too.
4209 (ia64_reorg): Set up queried unit codes for Itanium2 too.
4210
4211 * config/ia64/ia64.md: Add descriptions for Itanium2.
4212
4213 2002-10-08 Vladimir Makarov <vmakarov@redhat.com>
4214
4215 * config/ia64/ia64.h (processor_type): New enumeration.
4216 (ia64_tune, ia64_tune_string): New external declarations.
4217 (TARGET_OPTIONS): Add option `tune='.
4218
4219 * config/ia64/ia64.c (ia64_tune, ia64_tune_string): New global
4220 variables.
4221 (ia64_override_options): Set up `ia64_tune'.
4222 (ia64_sched_reorder2): Set up `clocks' only for Itanium.
4223 (ia64_dfa_new_cycle): Set up `add_cycles' only for Itanium.
4224 (bundling): Add nops for MM-insns only for Itanium.
4225 (ia64_reorg): Allocate and free `clocks' and `add_cycles' only for
4226 Itanium.
4227
4228 * config/ia64/ia64.md (cpu): New attribute.
4229 (DFA description): Enable it only for Itanium.
07488f32 4230
30028c85
VM
4231 2002-10-08 Vladimir Makarov <vmakarov@redhat.com>
4232 Richard Henderson <rth@redhat.com>
4233
4234 * config/ia64/ia64.h (MASK_TUNE_STOP_BITS): Rename it to
4235 MASK_EARLY_STOP_BITS.
4236 (TARGET_TUNE_STOP_BITS): Rename it to TARGET_EARLY_STOP_BITS.
4237 (TARGET_SWITCHES): Rename option `tune-stop-bits' to
4238 `early-stop-bits'.
07488f32 4239
30028c85
VM
4240 * config/ia64/ia64.c (ia64_dfa_new_cycle,
4241 final_emit_insn_group_barriers): Use TARGET_EARLY_STOP_BITS
4242 instead of TARGET_TUNE_STOP_BITS.
07488f32 4243
30028c85
VM
4244 * doc/invoke.texi: Rename option `-mtune-stop-bits' to
4245 `-mearly-stop-bits'.
4246
4247 * config/ia64/ia64.c (automata_option "v"): Comment it.
07488f32 4248
30028c85
VM
4249 2002-10-07 Vladimir Makarov <vmakarov@redhat.com>
4250
07488f32 4251 * config/ia64/ia64.h (MASK_TUNE_STOP_BITS, TARGET_TUNE_STOP_BITS):
30028c85
VM
4252 New macros.
4253 (TARGET_SWITCHES): Add entries for the new option.
07488f32 4254
30028c85
VM
4255 * config/ia64/ia64.c (dfa_stop_insn, last_scheduled_insn, rtx
4256 dfa_pre_cycle_insn, ia64_nop): Don't make them as roots for GC.
4257 (stops_p, stop_before_p, clocks_length, clocks, add_cycles): New
4258 global variables.
4259 (ia64_sched_reorder2): Set up `clocks'.
4260 (ia64_variable_issue): Set up `stops_p' and reset `stop_before_p'.
4261 (ia64_dfa_new_cycle): Set up add_cycle. Permit sorting ready
4262 queue when TARGET_TUNE_STOP_BITS.
4263 (bundling): Insert additional nops for MM-insns.
4264 (final_emit_insn_group_barriers): Add insertion of stop bits
4265 according `stops_p'.
4266 (ia64_reorg): Initiate the new varibales.
4267
4268 * doc/invoke.texi: Add description of option `-mtune-stop-bits'.
07488f32 4269
30028c85
VM
4270 2002-10-02 Vladimir Makarov <vmakarov@redhat.com>
4271
4272 * haifa-sched.c (schedule_block): Modify INSN_TICK of depended
4273 insns at the end of block insn scheduling.
4274
4275 2002-09-30 Vladimir Makarov <vmakarov@redhat.com>
4276
4277 * sched-deps.c (remove_dependence, group_leader): Remove it.
4278 (add_dependence): Add dependence to group leader to.
4279 (set_sched_group_p): Add dependence to the first insn of the
4280 schedule group too.
4281 (sched_analyze_insn): Make dependence to jump as anti-dependence.
4282 Change true dependence by anti-dependence when
4283 `reg_pending_barrier'.
4284
4285 * sched-rgn.c (init_ready_list, can_schedule_ready_p,
4286 add_branch_dependences): Ignore schedule groups.
4287
4288 * sched-ebb.c (init_ready_list): Ditto.
4289
4290 * (move_insn, set_priorities): Ditto.
4291
4292 * config/ia64/ia64.c (ia64_sched_init): Check that schedule group
4293 flag is clear after reload.
4294 (adjust_cost): Change cost only for output dependencies.
07488f32 4295
30028c85 4296 * config/ia64/ia64.md: Add more insns into bypass for MM-insns.
07488f32 4297
30028c85
VM
4298 2002-09-26 Vladimir Makarov <vmakarov@redhat.com>
4299
4300 * Makefile.in (sched-ebb.o): Add `$(TARGET_H)' to the entry.
4301
4302 * target.h (gcc_target): Add member
4303 `dependencies_evaluation_hook'.
4304
4305 * target-def.h (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK): New
4306 macro.
4307 (TARGET_SCHED): Add initiatialization of the new member.
4308
4309 * sched-ebb.c: Include `target.h'.
4310 (schedule_ebb): Call `dependencies_evaluation_hook'.
4311
4312 * sched-rgn.c (schedule_region): Call
4313 `dependencies_evaluation_hook'.
4314
4315 * config/ia64/ia64.c (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK):
4316 New macro.
4317 (ia64_dependencies_evaluation_hook): New function.
4318
4319 * doc/tm.texi (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK):
4320 Describe the new hook.
07488f32 4321
30028c85
VM
4322 2002-09-25 Vladimir Makarov <vmakarov@redhat.com>
4323
4324 * target.h (gcc_target): Add members
4325 `first_cycle_multipass_dfa_lookahead_guard' and `dfa_new_cycle'.
4326
4327 * target-def.h (TARGET_SCHED_DFA_NEW_CYCLE,
4328 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD): New
4329 macros.
4330 (TARGET_SCHED): Add initiatialization of the new members.
4331
4332 * haifa-sched.c (schedule_insn): Update last_clock_var for the 1st
4333 insn scheduling too.
4334 (choose_ready): Use `first_cycle_multipass_dfa_lookahead_guard' to
4335 initialize `ready_try'.
4336 (schedule_block): Use `dfa_new_cycle'. Sort `ready' only unless
4337 `dfa_new_cycle' says not to do it.
07488f32 4338
30028c85
VM
4339 * config/ia64/ia64.md: Add DFA Itanium 1 description for insn
4340 bundling.
4341
4342 * config/ia64/ia64.h (CPU_UNITS_QUERY): New macro.
4343
4344 * config/ia64/ia64.c: Include `hashtab.h'.
4345 (ia64_first_cycle_multipass_dfa_lookahead_guard,
4346 ia64_dfa_new_cycle, final_emit_insn_group_barriers,
4347 ia64_dfa_sched_reorder, get_free_bundle_state, free_bundle_state,
4348 initiate_bundle_states, finish_bundle_states, bundle_state_hash,
4349 bundle_state_eq_p, insert_bundle_state,
4350 initiate_bundle_state_table, finish_bundle_state_table,
4351 try_issue_nops, try_issue_insn, issue_nops_and_insn, get_max_pos,
4352 get_template, get_next_important_insn, bundling): New functions.
4353 (ia64_internal_sched_reorder): Remove it.
4354 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
4355 TARGET_SCHED_DFA_NEW_CYCLE): New macros.
4356 (ia64_safe_itanium_requires_unit0): Remove it.
4357 (group_barrier_needed_p): Place group barrier right before a real
4358 insn.
4359 (bundle, ia64_packet, NR_PACKETS, type_names, packets, packets):
4360 Remove them.
4361 (bundle_name): New variable.
4362 (_0mii_, _0mmi_, _0mfi_, _0mmf_, _0bbb_, _0mbb_, _0mib_, _0mmb_,
4363 _0mfb_, _0mlx_, _1mii_, _1mmi_, _1mfi_, _1mmf_, _1bbb_, _1mbb_,
4364 _1mib_, _1mmb_, _1mfb_, _1mlx_, pos_1, pos_2, pos_3, pos_4, pos_5,
4365 pos_6, dfa_stop_insn, last_scheduled_insn, dfa_state_size,
4366 temp_dfa_state, prev_cycle_state): New global variables.
4367 (insn_matches_slot, maybe_rotate, finish_last_head,
4368 rotate_one_bundle, rotate_one_bundles, nop_cycles_until,
4369 cycle_end_fill_slots, packet_matches_p, get_split, find_best_insn,
4370 find_best_packet, itanium_reorder, dump_current_packet,
4371 schedule_stop, gen_nop_type, ia64_emit_nops): Remove them.
4372 (sched_data, sched_ready, sched_types): Remove them.
4373 (ia64_sched_init): Initiate only `last_scheduled_insn' and call
4374 `init_insn_group_barriers'.
4375 (ia64_sched_reorder, ia64_sched_reorder2): Call
4376 ia64_dfa_sched_reorder.
4377 (ia64_variable_issue): Rewrite it.
4378 (bundle_state): New structure.
4379 (index_to_bundle_states, bundle_states_num,
4380 allocated_bundle_states_chain, free_bundle_state_chain): New
4381 global variables.
4382 (ia64_sched_finish): Add stop bits and call `bundling' after the
4383 2nd insn scheduling.
4384 (ia64_use_dfa_pipeline_interface): Return zero always.
4385 (ia64_first_cycle_multipass_dfa_lookahead): Return 6 for the 2nd
4386 insn scheduling.
4387 (ia64_init_dfa_pre_cycle_insn): Initialize `dfa_state_size',
4388 `temp_dfa_state', `prev_cycle_state', and `dfa_stop_insn'.
4389 (ia64_reorg): Add bundling insns.
4390
4391 * doc/tm.texi
4392 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
4393 TARGET_SCHED_DFA_NEW_CYCLE): Describe the new hooks.
07488f32 4394
30028c85
VM
4395 2002-09-23 Vladimir Makarov <vmakarov@redhat.com>
4396
4397 * config/ia64/ia64.md: Add Itanium1 DFA description.
4398 (itanium_class): Add `nop' and `pre_cycle'. Add
4399 define_function_unit for `nop'.
4400 (nop): Change attribute `itanium_class'.
4401 (pre_cycle): New define_insn.
4402
4403 * config/ia64/ia64-protos.h (bundling_p): New external variable.
4404 (ia64_st_address_bypass_p, ia64_ld_address_bypass_p,
4405 ia64_produce_address_p): New function prototypes.
4406
4407 * config/ia64/ia64.c (bundling_p): New global variable.
4408 (ia64_use_dfa_pipeline_interface,
4409 ia64_first_cycle_multipass_dfa_lookahead,
4410 ia64_init_dfa_pre_cycle_insn, ia64_dfa_pre_cycle_insn): New
4411 functions.
4412 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
4413 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
4414 TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
4415 TARGET_SCHED_DFA_PRE_CYCLE_INSN): New macros.
4416 (ia64_sched_init, ia64_sched_reorder, ia64_sched_reorder2,
4417 ia64_variable_issue, ia64_sched_finish): Do nothing before reload.
4418 (dfa_pre_cycle_insn): New variable.
07488f32 4419
30028c85
VM
4420 2002-09-20 Vladimir Makarov <vmakarov@redhat.com>
4421
4422 * rtl.def (FINAL_PRESENCE_SET, FINAL_ABSENCE_SET): New
4423 constructions.
4424
4425 * genattrtab.h (gen_final_presence_set, gen_final_absence_set):
4426 New function prototypes.
4427
4428 * genattrtab.c (main): Process the new constructions.
4429
4430 * genautomata.c (gen_presence_absence_set,
4431 process_presence_absence_names, process_presence_absence_patterns,
4432 add_presence_absence, check_absence_pattern_sets): Add parameter
4433 `final_p'.
4434 (unit_decl): Add new members `final_presence_list' and
4435 `final_absence_list'.
4436 (unit_pattern_rel_decl): Add new member `final_p'.
4437 (gen_final_presence_set, gen_final_absence_set): New functions.
4438 (process_decls): Use member `final_p'.
4439 (temp_reserv): New global variable.
4440 (reserv_sets_are_intersected): Add processing `final_presence_set'
4441 and `final_absence_set'.
4442 (initiate_states): Allocate `temp_reserv'.
4443 (unit_final_presence_set_table, unit_final_absence_set_table): New
4444 gloabal variables.
4445 (initiate_presence_absence_pattern_sets): Initiate them.
4446 (NDFA_to_DFA): Fix typo.
4447 (output_description): Output `final_presence_set' and
4448 `final_absence_set'.
4449
4450 * doc/md.texi (final_presence_set, final_absence_set): Describe
4451 them.
07488f32 4452
30028c85
VM
4453 2002-09-20 Vladimir Makarov <vmakarov@redhat.com>
4454
4455 * genautomata.c (transform_3): Process a missing case (nothing on
4456 unit place).
4457
4458 2002-09-20 Vladimir Makarov <vmakarov@redhat.com>
4459
4460 * rtl.def (DEFINE_QUERY_CPU_UNIT, AUTOMATA_OPTION): Change
4461 comments about queried units and the minimization.
07488f32 4462
30028c85 4463 * doc/md.texi: Ditto.
07488f32 4464
30028c85
VM
4465 * genautomata.c (create_composed_state): Return nonzero if the new
4466 state has been created.
4467 (first_cycle_unit_presence): New function.
4468 (state_is_differed): Add new parameter. Use the new function.
4469 Take queried units into account.
4470 (partition_equiv_class): Pass additional parameter to
4471 `state_is_differed'.
4472 (merge_states): Process composed states too.
4473 (build_automaton, create_automata, output_min_issue_delay_table,
4474 output_tables, output_statistics): Output more information.
4475 (output_reserved_units_table): Use function
4476 `first_cycle_unit_presence'.
4477 (output_tables): Output table of queried units even if the
4478 minimization is switched on.
4479 (write_automata): Output code for querying units even if the
4480 minimization is switched on.
07488f32 4481
30028c85
VM
4482 2002-09-19 Vladimir Makarov <vmakarov@redhat.com>
4483
4484 * rtl.def (PRESENCE_SET, ABSENCE_SET): Add comments about extended
4485 syntax of the constructions.
07488f32 4486
30028c85
VM
4487 * doc/md.texi (PRESENCE_SET, ABSENCE_SET): Add description of
4488 extended syntax of the constructions.
07488f32 4489
30028c85
VM
4490 * genautomata.c (unit_rel_decl): Rename it to
4491 `unit_pattern_rel_decl'.
4492 (pattern_set_el, pattern_reserv): New structures.
4493 (pattern_set_el_t, pattern_reserv_t): New types.
4494 (gen_presence_absence_set): New function.
4495 (process_presence_absence): Remove it.
4496 (process_presence_absence_names,
4497 process_presence_absence_patterns): New functions.
4498 (get_presence_absence_set): Remove it.
4499 (initiate_presence_absence_sets): Rename it on
4500 `initiate_presence_absence_pattern_sets'. Use new function
4501 `form_reserv_sets_list'.
4502 (form_reserv_sets_list, check_presence_pattern_sets,
4503 check_absence_pattern_sets, output_pattern_set_el_list): New
4504 functions.
4505 (unit_decl): Change types of members `presence_list' and
4506 `absence_list'.
4507 (unit_rel_decl): Rename member `names_num' to `all_names_num'.
4508 (decl): Change types of members `excl', `presence', and `absence'.
4509 (get_str_vect): Rename `par_flag' to `paren_p'. Add null element
4510 at the end of the vector.
4511 (gen_cpu_unit, gen_query_cpu_unit, gen_bypass, gen_excl_set,
4512 gen_automaton, gen_regexp_repeat, gen_regexp_allof,
4513 gen_regexp_oneof, gen_regexp_sequence): Use boolean values.
4514 (gen_presence_set, gen_absence_set): Use new function
4515 `gen_presence_absence_set'.
4516 (add_presence_absence): Process `pattern_list' instead of
4517 `source_list'.
4518 (process_decls): USe new functions
4519 `process_presence_absence_names' and
4520 `process_presence_absence_patterns'.
4521 (reserv_sets_are_intersected): Use new function
4522 `check_presence_pattern_sets'.
4523 (presence_set, absence_set): Remove them.
4524 (unit_presence_set_table, unit_absence_set_table): New global
4525 variables.
4526 (output_description): Use new function
4527 `output_pattern_set_el_list'.
4528 (generate): Use `initiate_presence_absence_pattern_sets'.
07488f32 4529
30028c85
VM
4530 2002-09-18 Vladimir Makarov <vmakarov@redhat.com>
4531
4532 * genattr.c (main): Add output of prototype of new interface
4533 function `dfa_clean_insn_cache'.
4534
4535 * genautomata.c (output_dfa_clean_insn_cache_func): New function.
4536 (DFA_CLEAN_INSN_CACHE_FUNC_NAME): New macro.
4537 (output_dfa_start_func): Use function `dfa_clean_insn_cache' in
4538 the generated code.
4539 (write_automata): Call the new function.
07488f32 4540
cb297538
JH
4541Thu Jan 9 22:47:38 CET 2003 Jan Hubicka <jh@suse.cz>
4542
17211ab5
GK
4543 * i386.md (unit, prefix_0f, memory attributes): Hanlde sseicvt
4544 correctly.
cb297538 4545
3a6e2189
PC
45462003-01-09 Paolo Carlini <pcarlini@unitus.it>
4547
4548 * doc/tm.texi (EXTRA_ADDRESS_CONSTRAINT): Fix typo.
4549
97488870
R
4550Thu Jan 9 17:26:40 2003 J"orn Rennecke <joern.rennecke@superh.com>
4551
4552 * defaults.h (EXTRA_MEMORY_CONSTRAINT): Add STR argument.
4553 (EXTRA_ADDRESS_CONSTRAINT): Likewise.
4554 (CONSTRAINT_LEN): Provide default definition.
4555 (CONST_OK_FOR_CONSTRAINT_P): Likewise.
4556 (CONST_DOUBLE_OK_FOR_CONSTRAINT_P): Likewise.
4557 (EXTRA_CONSTRAINT_STR): Likewise.
4558 (REG_CLASS_FROM_CONSTRAINT): Define.
4559 * genoutput.c (check_constraint_len, constraint_len): New functions.
4560 (validate_insn_alternatives): Check CONSTRAINT_LEN for each
4561 constraint / modifier.
4562 (gen_insn): Call check_constraint_len.
4563 * local-alloc.c (block_alloc): Update to use new macros / pass
4564 second argument to EXTRA_{MEMORY,ADDRESS}_CONSTRAINT.
4565 * ra-build.c (handle_asm_insn): Likewise.
4566 * recog.c (asm_operand_ok, preprocess_constraints): Likewise.
4567 (constrain_operands, peep2_find_free_register): Likewise.
4568 * regclass.c (record_operand_costs, record_reg_classes): Likewise.
4569 * regmove.c (find_matches): Likewise.
4570 * reload.c (push_secondary_reload, find_reloads): Likewise.
4571 (alternative_allows_memconst): Likewise.
4572 * reload1.c (maybe_fix_stack_asms): Likewise.
4573 (reload_cse_simplify_operands): Likewise.
4574 * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
4575 * doc/tm.texi (CONSTRAINT_LEN, REG_CLASS_FROM_CONSTRAINT): Document.
4576 (CONST_OK_FOR_CONSTRAINT_P): Likewise.
4577 (CONST_DOUBLE_OK_FOR_CONSTRAINT_P, EXTRA_CONSTRAINT_STR): Likewise.
4578 (EXTRA_MEMORY_CONSTRAINT, EXTRA_ADDRESS_CONSTRAINT): Add STR argument.
4579 * config/s390/s390.h (EXTRA_MEMORY_CONSTRAINT): Likewise.
e2c734c1
R
4580
4581 * sh.h (OVERRIDE_OPTIONS): Allow first scheduling pass for SH5.
4582
fc182093
KH
45832003-01-09 Kazu Hirata <kazu@cs.umass.edu>
4584
4585 * config/h8300/h8300.md (*extzv_1_r_h8300): Correct the insn
4586 length.
4587 (*extzv_1_r_h8300hs): Likewise.
4588 (*extzv_1_r_inv_h8300): Likewise.
4589 (*extzv_1_r_inv_h8300hs): Likewise.
4590
3b1c9927
KH
45912003-01-09 Kazu Hirata <kazu@cs.umass.edu>
4592
4593 * config/h8300/h8300.h (PREDICATE_CODES): New.
4594
867504e6
KH
45952003-01-09 Kazu Hirata <kazu@cs.umass.edu>
4596
4597 * config/h8300/h8300.md (*addsi3_upper): New.
4598 (*iorsi3_shift): Likewise.
4599 (two splitters): Likewise.
4600 (*addsi3_shift): Likewise.
4601 (two splitters): Likewise.
4602
4a69cf79
JZ
46032003-01-09 Josef Zlomek <zlomj9am@artax.karlin.mff.cuni.cz>
4604
4605 * Makefile.in (optabs.o): Add dependency on basic-block.h.
4606 * basic-block.h (control_flow_insn_p): Fuction was exported.
4607 * cfgbuild.c (control_flow_insn_p): Fuction was made non-static.
4608 * optabs.c (emit_libcall_block): Emit REG_LIBCALL and REG_RETVAL
4609 notes only when the region is contained in a single basic block.
4610
4c46ea23
EB
46112003-01-09 Eric Botcazou <ebotcazou@libertysurf.fr>
4612
4613 PR inline-asm/8832
4614 * tree.h (expand_asm): New prototype.
4615 * stmt.c (expand_asm): Set the MEM_VOLATILE_P flag if instructed
4616 to do so.
4617 * c-semantics (genrtl_asm_stmt): Pass the RID_VOLATILE qualifier
4618 down to expand_asm.
4619 * c-typeck.c (simple_asm_stmt): Set the RID_VOLATILE qualifier.
4620 * rtlanal.c (volatile_insn_p) [ASM_INPUT]: Test the MEM_VOLATILE_P flag.
4621 (volatile_refs_p) [ASM_INPUT]: Likewise.
4622 (side_effects_p) [ASM_INPUT]: Likewise.
4623
f56e86bd
JH
4624Thu Jan 9 12:00:36 CET 2003 Jan Hubicka <jh@suse.cz>
4625
4626 * i386.md (*mul*): FIx constraints; remove confused comment; fix
4627 athlon_decode attributes
4628 (imul/k8 optimization peep2s): New.
4629
4630 * athlon.md (athlon_ssecmp*): Handle ssecomi as well.
4631 * i386.md (type attribute): Add ssecomi.
4632 (unit, memory, prefix attributes): Handle ssecomi.
4633 (cvt?2? patterns): Fix athlon_decode attribute
4634 (comi patterns): Set attribute to ssecomi.
4635
4636 PR target/8343
4637 * m68k.md (umulsidi, mulsidi expanders): Use register operand.
4638
98c29f71
RS
46392003-01-09 Richard Sandiford <rsandifo@redhat.com>
4640
4641 * config/mips/mips.h (PREDICATE_CODES): Add ADDRESSOF for predicates
4642 that match register_operands.
4643 * config/mips/mips.c (reg_or_0_operand, true_reg_or_0_operand): Make
4644 register_operand the default case.
4645
bbb818c6
EB
46462003-01-09 Eric Botcazou <ebotcazou@libertysurf.fr>
4647
4648 PR c/8032
4649 * c-typeck.c (process_init_element) [RECORD_TYPE]: For
4650 an empty element, do not advance the pointer to unfilled
4651 fields if there are pending initializers.
4652
90961eff
AJ
46532003-01-09 Christian Cornelssen <ccorn@cs.tu-berlin.de>
4654
4655 * Makefile.in (ORDINARY_FLAGS_TO_PASS): Also pass DESTDIR.
4656 (install-gcc-tooldir, install-cpp, installdirs,
4657 install-common, install-driver, install-info, install-man,
4658 install-headers, install-include-dir, install-headers-tar,
4659 install-headers-cpio, install-headers-cp, install-mkheaders,
4660 install-collect2, uninstall): Prepend $(DESTDIR) to
4661 destination paths in all (un)installation commands.
4662 (install-driver): Rewrite $(LN) commands to support DESTDIR
4663 with "ln" as well as with "ln -s".
4664 (installdirs): Simply use mkinstalldirs.
4665 (install-libgcc, install-multilib): Also pass DESTDIR.
4666 * mklibgcc.in: Prepend $(DESTDIR) to $(libsubdir) in the
4667 installation destination variable ldir.
4668 * config/alpha/t-osf4, config/arm/t-netbsd,
4669 config/ia64/t-hpux, config/mips/t-iris5-6,
4670 config/pa/t-hpux-shlib, config/rs6000/t-aix43,
4671 config/rs6000/t-aix52, config/t-slibgcc-elf-ver,
4672 config/t-slibgcc-sld: Prepend $$(DESTDIR) to $$(slibdir)
4673 in the definition of SHLIB_INSTALL.
4674 * config/arc/t-arc (install-multilib-arc): Prepend $(DESTDIR) to
4675 $(libsubdir) in the installation commands.
4676
8b26829f
KK
46772003-01-08 Kaz Kojima <kkojima@gcc.gnu.org>
4678
4679 * config/sh/sh.h (CASE_VECTOR_MODE): Use SImode for a
4680 non-optimizing compile.
4681 (ASM_OUTPUT_ADDR_VEC_ELT): Use .long for a non-optimizing
4682 compile.
4683
fe77449a
DR
46842003-01-08 Douglas B Rupp <rupp@gnat.com>
4685
4686 * config/i386/i386.c (ix86_attribute_table): Add new attributes
4687 ms_struct and gcc_struct.
4688 (ix86_handle_struct_attribute): New function.
4689 (ix86_ms_bitfield_layout_p): Update to take new attributes
4690 into account.
4691 * doc/extend.texi: Document new attributes.
4692 * testsuite/gcc.dg/bf-ms-attrib.c: New test.
4693
98417968
DS
46942003-01-08 Danny Smith <dannysmith@users.sourceforge.net>
4695
07488f32
ZW
4696 PR optimization/8750
4697 * config/i386/i386.c (ix86_expand_prologue): Don't allow
4698 scheduling pass to move insns across __alloca call.
98417968 4699
e46e3130
DJ
47002003-01-08 Dale Johannesen <dalej@apple.com>
4701
07488f32
ZW
4702 * config/rs6000/rs6000.md: Replace *store_multiple_string
4703 with *stmsi[3-8].
e46e3130 4704
c40e5172
JS
47052003-01-08 Jeff Sturm <jsturm@one-point.com>
4706
4707 PR target/9210
4708 * config/rs6000/rs6000.c (rs6000_elf_encode_section_info):
4709 Set SYMBOL_REF_FLAG on local data sym_ref.
4710
de62b72c 47112003-01-08 Dale Johannesen <dalej@apple.com>
07488f32
ZW
4712
4713 * function.c (assign_parms): Don't set pretend_args_size if
de62b72c 4714 REG_PARM_STACK_SPACE.
07488f32 4715 config/rs6000/rs6000.c (setup_incoming_varargs): Don't set
de62b72c
DJ
4716 pretend_args_size.
4717
25839c41
NN
47182003-01-08 Nathanael Nerode <neroden@gcc.gnu.org>
4719
4720 * gcc.hlp: Delete.
4721
4bdc8610
JH
4722Thu Jan 9 00:57:15 CET 2003 Jan Hubicka <jh@suse.cz>
4723
4724 * i386.c (ix86_expand_int_addcc): Fix thinko.
4725
5b71a4e7
DE
47262003-01-08 David Edelsohn <edelsohn@gnu.org>
4727
4728 * config/rs6000/rs6000.h (FUNCTION_MODE): Always use SImode.
4729 * config/rs6000/rs6000.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Redefine
4730 as hook_bool_tree_hwi_hwi_tree_true.
4731 (rs6000_emit_allocate_stack): Use TARGET_32BIT.
4732 (rs6000_emit_epilogue): Same.
4733 (rs6000_output_mi_thunk): Re-implement as RTL.
4734 * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Call
4735 xcoffout_declare_function if any debugging enabled.
4736
2d2a50c3
CD
47372003-01-08 Chris Demetriou <cgd@broadcom.com>
4738
4739 * config.gcc (mipsisa32r2-*-elf*, mipsisa32r2el-*-elf*): New
4740 targets, to support MIPS32 Release 2 (MIPS32R2) configurations.
4741 * config/mips/mips.h (enum processor_type): Rename
4742 PROCESSOR_R4KC to PROCESSOR_4KC, PROCESSOR_R5KC to
4743 PROCESSOR_5KC, and PROCESSOR_R20KC to PROCESSOR_20KC.
4744 Add PROCESSOR_M4K.
4745 (TARGET_MIPS4KC, TARGET_MIPS5KC): Update for the renaming.
4746 (ISA_MIPS32R2): New define.
4747 (GENERATE_MULT3_SI, ISA_HAS_CONDMOVE, ISA_HAS_8CC)
4748 (ISA_HAS_MADD_MSUB, ISA_HAS_CLZ_CLO)
4749 (ISA_HAS_PREFETCH): Add support for MIPS32R2.
4750 (MIPS_ISA_DEFAULT): Likewise. Also, fix indentation.
4751 (TARGET_CPU_CPP_BUILTINS): Add support for MIPS32R2. Add new
4752 predefine __mips_isa_rev for MIPS32, MIPS32R2, and MIPS64.
4753 (ISA_HAS_ROTR_SI): Add support for MIPS32R2, and avoid if
4754 compiling MIPS16 code.
4755 (ISA_HAS_ROTR_DI): Do not use if compiling MIPS16 code, and fix
4756 comment.
4757 (ISA_HAS_SEB_SEH): New define.
4758 (ASM_SPEC, LINK_SPEC): Pass -mips32r2 to assembler and linker.
4759 * config/mips/mips.c (mips_cpu_info_table): Adjust for enum
4760 processor_type value renaming. Add support for MIPS32R2.
4761 Clean up comments, and move "sb1" entry with other MIPS64 CPU
4762 entries.
4763 (override_options): Reimplement -mipsN option handling so that
4764 it will work correctly for -mips32r2. Avoid branch-likely
4765 instructions on MIPS32R2.
4766 * config/mips/mips.md (mulsi3_mult3): Add support for MIPS32R2.
4767 (extendhisi2): Use extendhisi2_hw if ISA_HAS_SEB_SEH.
4768 (extendqisi2): Use extendqisi2_hw if ISA_HAS_SEB_SEH.
4769 (extendhisi2_hw, extendqisi2_hw): New.
4770 * config/mips/netbsd.h (TARGET_CPU_CPP_BUILTINS): Add support
4771 for MIPS32R2. Add new predefine __mips_isa_rev for MIPS32,
4772 MIPS32R2, and MIPS64.
4773 (LINK_SPEC): Pass -mips32r2 to linker.
4774 * config/mips/t-isa3264: Built -mips32r2 multilibs.
4775 * doc/invoke.texi (MIPS Options): Add -mips32r2, add support
4776 for mips32r2 in the -march description. Alphabetically sort
4777 CPU names in the -march description. Add long-missed -mips32
4778 and -mips64 to MIPS option summary.
4779
4780 * config.gcc: Update copyright years to include 2003.
4781 * config/mips/mips.c: Likewise.
4782 * config/mips/mips.h: Likewise.
4783 * config/mips/mips.md: Likewise.
4784 * config/mips/netbsd.h: Likewise.
4785 * doc/invoke.texi: Likewise.
4786
918c4fe4
AS
47872003-01-08 Andreas Schwab <schwab@suse.de>
4788
4789 * aclocal.m4 (gcc_AC_INITFINI_ARRAY): Fix spelling of cache
4790 variable.
4791 * configure: Regenerated.
4792
c5e7ce43
KH
47932003-01-08 Kazu Hirata <kazu@cs.umass.edu>
4794
4795 * config/h8300/h8300.c (output_logical_op): Replace byte/word
4796 extraction of det with b0, b1, w0, w2, etc.
4797 (compute_logical_op_length): Likewise.
4798 (compute_logical_op_cc): Likewise.
4799
eb8a8ec4
KH
48002003-01-08 Kazu Hirata <kazu@cs.umass.edu>
4801
4802 * config/h8300/h8300.h (CONSTANT_ADDRESS_P): Allow CONST and
4803 HIGH on all variants.
4804
56f15830 4805Wed Jan 8 14:06:34 CET 2003 Josef Zlomek <zlomj9am@artax.karlin.mff.cuni.cz>
07488f32 4806
56f15830
JZ
4807 * Makefile.in (PARTITION_H): New.
4808 (BASIC_BLOCK_H): Added hard-reg-set.h and $(PARTITION_H).
4809 * basic-block.h: Include hard-reg-set.h.
4810
ab57893b
RE
48112003-01-08 Richard Earnshaw <rearnsha@arm.com>
4812
4813 * arm.h (ENABLE_XF_PATTERNS): Delete.
4814 * arm.md (addxf3, subxf3, mulxf3, divxf3, modxf3, negxf2, absxf2)
4815 (sqrtxf2, floatsixf2, fix_truncxfsi2, truncxfsf2, truncxfdf2)
4816 (extendsfxf2, extenddfxf2, movxf, cmpxf, cmpxf_insn)
4817 (cmpxf_trap): Delete.
4818 (movxf_hard_insn): Remove test of ENABLE_XF_PATTERNS.
4819
7b52eede
JH
4820Wed Jan 8 12:10:57 CET 2003 Jan Hubicka <jh@suse.cz>
4821
4822 * i386.md (adddi3_carry_rex64, subdi3_carry_rex64): Name pattern.
4823 (addhi3_carry, addqi3_carry, subhi3_carry, subqi3_carry): New patterns.
4824 (add??cc): New expanders.
4825 * i386.c (expand_int_addcc): New function.
4826 * i386-protos.h (expand_int_addcc): Declare.
4827
4828 * alias.c (memory_modified_1): New static function.
4829 (memory_modified): New static varaible.
4830 (memory_modified_in_insn_p): New global function.
4831 * rtl.h (memory_modified_in_insn_p): Declare.
4832 * rtlanal.c (modified_between_p, modified_in_p): Be smart about memory
4833 references.
4834
4835 * expr.h (emit_conditional_add): Declare.
4836
74049755
JJ
48372003-01-07 Janis Johnson <janis187@us.ibm.com>
4838
4839 PR other/8947
4840 * doc/invoke.texi (-malign-double): Explain that the option breaks
4841 binary compatibility.
4842
e7edc5a0
AS
48432003-01-08 Andreas Schwab <schwab@suse.de>
4844
4845 * config.gcc (m68k-*-linux*): Don't set extra_parts and gnu_ld,
4846 should come from the generic *-*-linux* entry.
4847
9635cfad
JH
4848Tue Jan 7 22:29:56 CET 2003 Jan Hubicka <jh@suse.cz>
4849
4850 * cselib.c (cselib_current_insn_in_libcall): New static variable.
4851 (new_elt_loc_list, cselib_process_insn, cselib_init): Keep track on whether
4852 we are inside libcall.
4853 * cselib.h (elt_loc_list): Add in_libcall.
4854 * gcse.c (do_local_cprop): Do not copy propagate using insns
4855 in libcalls.
4856
3ee04299
DE
48572003-01-07 David Edelsohn <edelsohn@gnu.org>
4858
4859 * doc/tm.texi (TARGET_SCHED_VARIABLE_ISSUE): CLOBBER and USE do
4860 not normally affect to issue rate.
4861
068f5dea
JH
4862Tue Jan 7 21:46:57 CET 2003 Jan Hubicka <jh@suse.cz>
4863
4864 * genopinit.c (optabs): Add addc_optab.
4865 * ifcvt.c (noce_try_store_flag): Rename to ...
4866 (noce_try_addcc): ... this one; handle generic conditional increment.
4867 (noce_process_if_block): Update noce_try_addcc call.
4868 * optabs.c (emit_conditional_add): New.
4869 (init_obtabs): Initialize addc_optab.
4870 * optabs.h (optab_index): Add OTI_addcc.
4871 (addcc_optab): New macro.
4872 * md.texi: Document addMcc
4873
4874 PR target/8322
4875 * i386.c (ix86_init_mmx_sse_builtins): Constify arguments of loads.
4876 * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
4877 * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
4878
4879 * reload1.c (delete_output_reload): Avoid repeated attempts
4880 to delete insn.
4881
eb70d86d
AS
48822003-01-07 Andreas Schwab <schwab@suse.de>
4883
e7edc5a0
AS
4884 * configure.in: Restore CFLAGS before gcc_AC_INITFINI_ARRAY.
4885 Move --enable-initfini-array check ...
4886 * aclocal.m4 (gcc_AC_INITFINI_ARRAY): ... here. Define
4887 HAVE_INITFINI_ARRAY also when --enable-initfini-array is given.
4888 Don't AC_SUBST gcc_cv_initfinit_array. Use AC_TRY_RUN.
4889 * configure: Rebuild.
eb70d86d 4890
1afdf91c
RH
48912003-01-07 Richard Henderson <rth@redhat.com>
4892
e7edc5a0
AS
4893 * alias.c (find_base_value): Only use new_reg_base_value shortcut
4894 if the register is set once.
1afdf91c 4895
36210500 48962003-01-07 Sylvain Pion <Sylvain.Pion@mpi-sb.mpg.de>
07488f32 4897
36210500
SP
4898 * config/i386/i386.c (ix86_init_mmx_sse_builtins):
4899 __builtin_ia32_ldmxcsr and __builtin_ia32_stmxcsr are SSE, not MXX.
4900 * config/i386/i386.md (ldmxcsr, stmxcsr): SSE, not MMX.
4901
cb25b0ce
BK
49022003-01-07 Benjamin Kosnik <bkoz@redhat.com>
4903 Sunil Davasam <sunil.k.davasam@intel.com>
4904
07488f32 4905 PR libstdc++/9076
cb25b0ce
BK
4906 * unwind-dw2.c (execute_cfa_program): DW_CFA_undefined,
4907 DW_CFA_same_value, read next and ignore.
4908
94c040bd
RH
49092003-01-07 Richard Henderson <rth@redhat.com>
4910
4911 * cfganal.c (flow_call_edges_add): Don't crash on noreturn call.
4912
f6cb56fa
DB
49132003-01-07 Daniel Berlin <dberlin@dberlin.org>
4914
4915 * cfg.c: Include alloc-pool.h
4916 (edge_pool): New pool.
4917 (bb_pool): New pool.
4918 (first_deleted_edge): Remove.
4919 (first_deleted_block): Remove.
4920 (init_flow): Alloc/free the pools.
4921 (free_edge): Use pools.
4922 (alloc_block): Ditto.
4923 (expunge_block): Ditto.
4924 (cached_make_edge): Ditto.
4925
4926 * Makefile.in (cfg.o): Add alloc-pool.h dependency.
4927
49282003-01-07 Daniel Berlin <dberlin@dberlin.org>
4929
4930 * et-forest.c: Include alloc-pool.h.
4931 (struct et_forest): Add node_pool and occur_pool.
4932 (et_forest_create): Create the new pools.
4933 (et_forest_delete): Delete them.
4934 (et_forest_add_node): Allocate and free using pools.
4935 (et_forest_add_edge): Ditto.
4936 (et_forest_remove_node): Ditto.
4937 (et_forest_remove_edge): Ditto.
4938
4939 * Makefile.in (et-forest.o): Add alloc-pool.h dependency.
4940
f9ac2f95
KH
49412003-01-07 Kazu Hirata <kazu@cs.umass.edu>
4942
4943 * config/h8300/h8300.c (output_logical_op): Simplify and
4944 optimize the handling of SImode.
4945 * config/h8300/h8300.c (compute_logical_op_length): Update
4946 accordingly.
4947 * config/h8300/h8300.c (compute_logical_op_cc): Likewise.
4948
83282119
RS
49492003-01-07 Richard Sandiford <rsandifo@redhat.com>
4950
4951 * config/mips/mips.c (mips_va_arg): In the EABI code, apply the
4952 big-endian correction to indirect arguments too.
4953
59a4c851
AH
49542003-01-06 Aldy Hernandez <aldyh@redhat.com>
4955
4956 Segher Boessenkool <segher@koffie.nl>
4957
36210500
SP
4958 * config/rs6000/rs6000.c (rs6000_reg_names): Add missing registers.
4959 (alt_reg_names): Ditto, fix formatting.
4960 * config/rs6000/rs6000.h (DEBUG_REGISTER_NAMES): Fix formatting.
59a4c851 4961
7798db98
KH
49622003-01-06 Kazu Hirata <kazu@cs.umass.edu>
4963
4964 * config/h8300/h8300.c (final_prescan_insn): Constify uid.
4965 (output_logical_op): Constify intval and det.
4966 (compute_logical_length): Likewise.
4967 (compute_logical_cc): Likewise.
4968 (output_a_shift): Constify mask.
4969 (h8300_encode_label): Constify len.
4970
4705d102
KH
49712003-01-06 Kazu Hirata <kazu@cs.umass.edu>
4972
4973 * config/h8300/h8300.c (h8300_expand_prologue): Remove fsize.
4974 (h8300_expand_epilogue): Likewise.
4975
98c9a8e8
AH
49762003-01-06 Aldy Hernandez <aldyh@redhat.com>
4977
4978 Segher Boessenkool <segher@koffie.nl>
4979
36210500
SP
4980 * config/rs6000/altivec.md: Remove spaces from assembler
4981 instruction argument lists.
07488f32 4982
86143814
MH
49832003-01-07 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
4984
4985 * config/c4x/c4x.c (c4x_naked_function_p): Rename from
4986 c4x_assembler_function_p.
4987 (c4x_null_epilogue_p): Complement return value, all uses updated.
4988 (c4x_insert_attributes): Add naked.
4989 * config/c4x/c4x.md (c4x_null_epilogue_p): Changes uses.
4990 * doc/extend.texi: Update C4x function attributes.
4991
52fd80fb
RH
49922003-01-06 Richard Henderson <rth@redhat.com>
4993
4994 * config/alpha/alpha.c (alpha_encode_section_info): Adjust symbol_str
4995 properly when changing "local-ness".
4996 * config/alpha/alpha.md (movdi_er_high_g): Allow all symbols.
4997
a16b43c5
DJ
49982003-01-06 Dale Johannesen <dalej@apple.com>
4999
5000 * config/darwin-protos.h: Add prototypes for new section functions.
5001
ef8dfae6
CD
50022003-01-06 Chris Demetriou <cgd@broadcom.com>
5003
5004 * config.gcc (mipsisa32-*-elf*, mipsisa32el-*-elf*): Default ABI
5005 to EABI.
5006
44f9a8e4
ZW
50072003-01-06 Zack Weinberg <zack@codesourcery.com>
5008
5009 * hwint.h: If the current compiler has no 64-bit type at all,
5010 make HOST_WIDEST_INT 32 bits.
5011
2610198a
EC
50122003-01-06 Eric Christopher <echristo@redhat.com>
5013
5014 * config/mips/mips.md (movdf_internal2): Fix constraints.
5015
efbd757f
KH
50162003-01-06 Kazu Hirata <kazu@cs.umass.edu>
5017
5018 * config/h8300/h8300.md (*twoshifts_l16_r1): New.
5019
727b9b8c
RS
50202003-01-06 Richard Sandiford <rsandifo@redhat.com>
5021
5022 * config/mips/mips.md (leadi): Use dla rather than la.
5023
4705d102 50242003-01-06 Svein E. Seldal <Svein.Seldal@solidas.com>
cebdac46
SS
5025
5026 * config/c4x/c4x.h: Updated specs for new gas format. Fixed bug
5027 in C33_FLAG. Added proper C33 support in ASM_FILE_START macro.
5028
4705d102 50292003-01-06 Herman A.J. ten Brugge <hermantenbrugge@home.nl>
fe1e789f 5030
44f9a8e4 5031 * config/c4x/c4x.h: Remove hwint.h include and HOST_WIDE_INT_PRINT_HEX
fe1e789f
HB
5032 redefinition.
5033
dff0ea43
KH
50342003-01-05 Kazu Hirata <kazu@cs.umass.edu>
5035
5036 * config/h8300/h8300.md (*extzv_8_23): New.
5037
94e6fd3e
JDA
50382003-01-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
5039
5040 * pa64-hpux.h (JCR_SECTION_NAME): Define.
5041 (PA_INIT_FRAME_DUMMY_ASM_OP): Check EH_FRAME_SECTION_NAME instead of
5042 USE_EH_FRAME_REGISTRY when defining.
5043
cd9b5ca8
KH
50442003-01-05 Kazu Hirata <kazu@cs.umass.edu>
5045
5046 * config/h8300/h8300.c (output_a_shift): Do not output a
5047 variable shift.
5048 * config/h8300/h8300.md (two splitters): New.
5049
1ba8a9c4
RS
50502003-01-05 Richard Sandiford <rsandifo@redhat.com>
5051
5052 * config/mips/mips.md: Disable the movstrsi define_split.
5053
c7c50494
KG
50542003-01-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5055
5056 * alloc-pool.c: Don't include "libiberty.h".
5057 * config/sparc/gmon-sol2.c: Include <fcntl.h>.
5058 * convert.c (convert_to_real): Hide unused variable.
5059
83fa8d7a
KG
50602003-01-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5061
5062 * Makefile.in (gtyp-gen.h): Const-ify.
5063 * gcov-dump.c (tag_table): Likewise.
5064
871dab3e
BK
50652003-01-04 Bruce Korb <bkorb@gnu.org>
5066
5067 * fixinc/fixfixes.c(wrap_fix): the wrapper guard must be a function
5068 of *both* the file name and the fix name.
5069
90961eff 50702003-01-04 John David Anglin <dave.anglin@nrc.ca>
35d434ed
JDA
5071
5072 * config.gcc (hppa*64*-*-hpux11*): Define extra_parts. Don't use
5073 collect2.
5074 * pa-hpux11.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Undefine.
5075 (HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Define.
5076 * pa64-hpux.h (HP_INIT_ARRAY_SECTION_ASM_OP,
5077 GNU_INIT_ARRAY_SECTION_ASM_OP, HP_FINI_ARRAY_SECTION_ASM_OP,
5078 GNU_FINI_ARRAY_SECTION_ASM_OP): Define.
5079 (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Define when not using
5080 elfos.h.
5081 (EH_FRAME_IN_DATA_SECTION): Delete define.
5082 (HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Undefine.
5083 (STARTFILE_SPEC): Use crtbegin.o.
5084 (ENDFILE_SPEC): Use crtend.o.
5085 (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP, CRT_CALL_STATIC_FUNCTION,
5086 SUPPORTS_INIT_PRIORITY, PA_CXA_FINALIZE_STUB, PA_INIT_FINI_HACK,
5087 PA_INIT_FRAME_DUMMY_ASM_OP, PA_JV_REGISTERCLASSES_STUB,
5088 DTOR_LIST_BEGIN): Define.
5089 * pa.c (TARGET_ASM_CONSTRUCTOR): Define.
5090 (pa_asm_out_constructor, pa_asm_out_destructor): New functions.
5091 * som.h (SUPPORTS_INIT_PRIORITY): Delete define.
5092
b0588013
BK
50932002-12-31 Larin Hennessy <larin@science.oregonstate.edu>
5094
5095 * fixinc/fixinc.svr4: Remove references to i860, Sony NewsOS, and spur.
5096 * fixinc/inclhack.def: Remove tests for Apple A/UX, ARM/RISCiX, DG/UX,
5097 m88k-*-sysv3*, Sony NewsOS. Remove references to i860.
5098 Cleanup handling of replacement text.
5099 * fixinc/mkfixinc.sh: Remove reference to i?86-*-osf1*
5100
51012003-01-04 Bruce Korb <bkorb@gnu.org>
5102
5103 * fixinc/tests/base/math.h: removed obsolete results
5104 * fixinc/tests/base/stdlib.h: ditto
5105 * fixinc/tests/base/sys/param.h: ditto
5106 * fixinc/tests/base/sys/stat.h: ditto
5107 * fixinc/tests/base/time.h: ditto
5108 * fixinc/tests/base/X11/Intrinsic.h: removed obsolete file
5109 * fixinc/tests/base/sys/byteorder.h: ditto
5110 * fixinc/inclhack.def: Remove superfluous backslashes
5111
68ee6df6
KH
51122003-01-04 Kazu Hirata <kazu@cs.umass.edu>
5113
5114 * config/h8300/h8300-protos.h: Add prototypes for
5115 the new functions defined below.
5116 * config/h8300/h8300.c (TARGET_ASM_FUNCTION_PROLOGUE): Do not
5117 define.
5118 (dosize): Emit RTL instead of assembly code.
5119 (push): Likewise.
5120 (pop): Likewise.
5121 (h8300_output_function_prologue): Remove.
5122 (h8300_expand_prologue): New.
5123 (h8300_expand_epilogue): New.
5124 (h8300_output_function_epilogue): Do only the reset of
5125 pragma_saveall.
5126 * config/h8300/h8300.md (push_h8300): New.
5127 (push_h8300hs): Likewise.
5128 (pop_h8300): Likewise.
5129 (pop_h8300hs): Likewise.
5130 (*stm_h8300s_2): Change the name to stm_h8300s_2.
5131 (*stm_h8300s_3): Change the name to stm_h8300s_3.
5132 (*stm_h8300s_4): Change the name to stm_h8300s_4.
5133 (*ldm_h8300s_2): New.
5134 (*ldm_h8300s_3): Likewise.
5135 (*ldm_h8300s_4): Likewise.
5136 (return): Likewise.
5137 (*return_1): Likewise.
5138 (prologue): Likewise.
5139 (epilogue): Likewise.
5140 (monitor_prologue): Likewise.
5141
d3c300d2
DJ
51422003-01-03 Dale Johannesen <dalej@apple.com>
5143
5144 * config/darwin.h: (EXTRA_SECTIONS): Add machopic_symbol_stub1,
5145 machopic_picsymbol_stub1.
5146 (EXTRA_SECTION_FUNCTIONS): Ditto.
5147 * rs6000/rs6000.c: Update copyright.
5148 (machopic_output_stub): Use them. Remove an insn from stub code.
5149
6cce57b0
JM
51502003-01-02 Jason Merrill <jason@redhat.com>
5151
4e8dca1c
JM
5152 * fold-const.c (fold) [COND_EXPR]: Avoid NOP_EXPRs better.
5153
5154 * integrate.c (copy_decl_for_inlining): Don't clear the rtl for
5155 static/external decls.
2610198a 5156
6cce57b0
JM
5157 * c-common.c (finish_fname_decls): Put the DECL_STMTs inside the
5158 outermost scope.
5159 * c-decl.c (c_make_fname_decl): Push the decls there, too.
5160
e392d367
KH
51612003-01-03 Kazu Hirata <kazu@cs.umass.edu>
5162
5163 * config/h8300/h8300-protos.h: Add a prototype for
5164 h8300_current_function_interrupt_function_p.
5165 * config/h8300/h8300.c (interrupt_handler): Remove.
5166 (os_task): Likewise.
5167 (monitor): Likewise.
5168 (pragma_interrupt): New.
5169 (WORD_REG_USED): Use
5170 h8300_current_function_interrupt_function_p.
5171 (dosize): Likewise.
5172 (h8300_output_function_prologue): Likewise.
5173 Do not set interrupt_handler, os_task, monitor.
5174 (h8300_output_function_prologue): Use
5175 h8300_current_function_interrupt_function_p.
5176 Do not set interrupt_handler, os_task, monitor.
5177 (h8300_current_function_interrupt_function_p): New.
5178 (h8300_pr_interrupt): Set pragma_interrupt.
5179 (h8300_insert_attributes): Reset pragma_interrupt.
5180
b15da5b7
GP
51812003-01-03 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
5182
5183 * doc/install.texi (Configuration): Fix markup for reference to
5184 gcc/config.gcc.
5185
bf16e745
KH
51862003-01-02 Kazu Hirata <kazu@cs.umass.edu>
5187
5188 * config/h8300/h8300.md (*iorhi3_zext): Relax the condition.
5189 (*iorhi3_two_qi): Likewise.
5190 (*iorsi3_zexthi): Likewise.
5191 (*xorhi3_zextqi): Likewise.
5192 (*xorsi3_zexthi): Likewise.
5193 (*xorsi3_zextqi): Likewise.
5194
8ccf5d5f
KH
51952003-01-02 Kazu Hirata <kazu@cs.umass.edu>
5196
5197 * config/h8300/h8300.c (stack_pointer_operand): New.
5198 (const_int_gt_2_operand): Likewise.
5199 (const_int_ge_8_operand): Likewise.
5200 * config/h8300/h8300.md (a splitter): Likewise.
5201 (a peephole2): Likewise.
5202 * config/h8300/h8300-protos.h: Add prototypes for the new
5203 functions above.
5204
43c6a96a
SB
52052003-01-02 Steven Bosscher <s.bosscher@student.tudelft.nl>
5206
5207 * objc/Make-lang.in, objc/config-lang.in, objc/lang-specs.h,
5208 objc/objc-act.h: Fix copyright years.
5209
96c4e780
SB
52102003-01-02 Steven Bosscher <s.bosscher@student.tudelft.nl>
5211
5212 * doc/passes.texi: Fix documentation for -fssa-ccp
5213
8ed0a104
NB
52142003-01-02 Neil Booth <neil@daikokuya.co.uk>
5215
5216 * gccbug.in: Update for new categories.
5217
1b9f0361
KH
52182003-01-01 Kazu Hirata <kazu@cs.umass.edu>
5219
5220 * config/h8300/h8300.md: Reorder some patterns.
5221
dc5f17ec
KH
52222003-01-01 Kazu Hirata <kazu@cs.umass.edu>
5223
5224 * config/h8300/h8300.c (output_logical_op): Fix a warning.
5225
cd2801fb
NB
52262003-01-01 Neil Booth <neil@daikokuya.co.uk>
5227
5228 * config/darwin-protos.h, config/c4x/c4x-protos.h,
5229 config/cris/cris-protos.h, config/i370/i370-protos.h,
5230 config/i960/i960-protos.h, config/ia64/ia64-protos.h,
5231 config/v850/v850-protos.h: Use struct, and don't conditionally
5232 compile on GCC_C_PRAGMA_H.
5233
378b1b8e
KH
52342003-01-01 Kazu Hirata <kazu@cs.umass.edu>
5235
5236 * config/arm/arm-protos.h: Remove #ifdef GCC_C_PRAGMA_H.
5237 * config/h8300/h8300-protos.h: Likewise.
5238 * config/sh/sh-protos.h: Likewise.
5239
7106a5bc
KH
52402003-01-01 Kazu Hirata <kazu@cs.umass.edu>
5241
5242 * config/arm/arm-protos.h: Use struct cpp_reader instead of
5243 cpp_reader.
5244 * config/h8300/h8300-protos.h: Likewise.
5245 * config/sh/sh-protos.h: Likewise.
5246
231b51a1
NB
52472003-01-01 Neil Booth <neil@daikokuya.co.uk>
5248
5249 * config/arm/arm.c (arm_pr_long_calls, arm_pr_no_long_calls,
5250 arm_pr_long_calls_off): Use struct.
5251 * config/h8300/h8300.c (h8300_pr-interrupt, h8300_pr_saveall)
5252 : Similarly.
5253 Don't include cpplib.h.
5254 * config/sh/sh.c (sh_pr_interrupt, sh_pr_trapa,
5255 sh_pr_nosave_low_regs): Similarly.
5256
0f18b2b0
KH
52572003-01-01 Kazu Hirata <kazu@cs.umass.edu>
5258
5259 * config/h8300/h8300.c: Include cpplib.h.
5260
b9593599
SB
52612003-01-01 Steven Bosscher <s.bosscher@student.tudelft.nl>
5262
5263 * objc/Make-lang.in, objc/config-lang.in, objc/lang-options.h,
5264 objc/lang-specs.h, objc/objc-act.c, objc/objc-act.h,
5265 objc/objc-lang.c, objc/objc-tree.def: Replace "GNU CC" with
5266 "GCC" in the copyright header.
5267
c58b209a
NB
52682003-01-01 Neil Booth <neil@daikokuya.co.uk>
5269
5270 * c-pragma.c (c_register_pragma): New.
5271 (init_pragma): Use it.
5272 * c-pragma.h (cpp_register_pragma): Don't declare.
5273 (c_register_pragma): New.
5274 * cpplib.h: Remove #ifdef GCC_C_PRAGMA_H.
5275 * config/darwin.h (REGISTER_TARGET_PRAGMAS): Update.
5276 * config/arm/arm.h (REGISTER_TARGET_PRAGMAS): Update.
5277 * config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update.
5278 * config/h8300/h8300.h (REGISTER_TARGET_PRAGMAS): Update.
5279 * config/i370/i370.h (REGISTER_TARGET_PRAGMAS): Update.
5280 * config/i960/i960.h (REGISTER_TARGET_PRAGMAS): Update.
5281 * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Update.
5282 * config/rs6000/rs6000.h (REGISTER_TARGET_PRAGMAS): Update.
5283 * config/sh/sh.h (REGISTER_TARGET_PRAGMAS): Update.
5284 * config/v850/v850.h (REGISTER_TARGET_PRAGMAS): Update.
5285 * doc/tm.texi (REGISTER_TARGET_PRAGMAS): Update
5286
bc455f9c
KH
52872002-12-31 Kazu Hirata <kazu@cs.umass.edu>
5288
5289 * config/h8300/h8300-protos.h: Update the prototypes.
5290 * config/h8300/h8300.c (const_le_2_operand): Change to
5291 const_int_le_2_operand.
5292 (const_int_le_6_operand): Change to const_int_le_6_operand.
5293 * config/h8300/h8300.md (two peepholes): Update the function
5294 names.
5295
3b41afd9
TT
52962002-12-31 Tom Tromey <tromey@redhat.com>
5297
5298 * doc/install.texi (Testing): Fixed typo.
5299
9e56a932
KH
53002002-12-31 Kazu Hirata <kazu@cs.umass.edu>
5301
5302 * config/h8300/h8300.h (TRAMPOLINE_TEMPLATE): Remove.
5303 (TRAMPOLINE_SIZE): Support the normal mode.
5304 (INITIALIZE_TRAMPOLINE): Emit the entire trampoline.
5305
731e8b38
MM
53062002-12-31 Mark Mitchell <mark@codesourcery.com>
5307
5308 * c-common.h (pending_lang_change): Declare.
5309
147d1cd3
JQ
53102002-12-31 Jerry Quinn <jlquinn@optonline.net>
5311
5312 * gcc/doc/invoke.texi (Optimization Options): Clean up -O flag
5313 descriptions.
5314
fad893da
JQ
53152002-12-31 Jerry Quinn <jlquinn@optonline.net>
5316
5317 * gcc/doc/invoke.texi (Optimization Options): List the options
5318 enabled by each -O flag.
5319
ec5b5ef1
GP
53202002-12-31 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
5321
5322 * doc/install.texi (Configuration): Explicitly refer
5323 gcc/config.gcc for a list of cpu models.
5324
59d7c857
KH
53252002-12-31 Kazu Hirata <kazu@cs.umass.edu>
5326
5327 * config/h8300/h8300.h: Fix comment typos.
5328
5b8f5865
DE
53292002-12-30 David Edelsohn <edelsohn@gnu.org>
5330
5331 * config/rs6000/rs6000.h (WIDEST_HARDWARE_FP_SIZE): Define.
5332
582f6e6d
TT
53332002-12-30 Tom Tromey <tromey@redhat.com>
5334
5335 * doc/install.texi (Testing): Mention Jacks.
5336
f75db6bc
JM
53372002-12-30 Joseph S. Myers <jsm@polyomino.org.uk>
5338
5339 * doc/gcc.texi, doc/gccint.texi: Update last modification dates.
5340
2d75548f
KH
53412002-12-30 Kazu Hirata <kazu@cs.umass.edu>
5342
5343 * config/h8300/h8300.c (output_logical_op): Use extu.w in more
5344 cases.
5345 (compute_logical_op_length): Update to reflect the change in
5346 output_logical_op.
5347 (compute_logical_op_cc): Likewise.
5348
b351c1d9
JM
53492002-12-30 Joseph S. Myers <jsm@polyomino.org.uk>
5350
5351 * doc/service.texi: Uncomment and update FAQ link.
5352
47ab0cbb
AJ
53532002-12-30 Andreas Jaeger <aj@suse.de>
5354
5355 * unwind-dw2-fde.h (last_fde): Add unused attribute for obj.
5356
3cc3e1cd
KH
53572002-12-30 Kazu Hirata <kazu@cs.umass.edu>
5358
5359 * config/h8300/h8300.md (*addsi3_lshiftrt_16_zexthi): New.
5360
a6e8d113
KH
53612002-12-30 Kazu Hirata <kazu@cs.umass.edu>
5362
5363 * config/h8300/h8300.c (output_logical_op): Use extu.w if we
5364 are clearing the most significant byte.
5365 (compute_logical_op_length): Update to reflect the change in
5366 output_logical_op.
5367 (compute_logical_op_cc): Likewise.
5368
c85263d2
KH
53692002-12-29 Kazu Hirata <kazu@cs.umass.edu>
5370
5371 * config/h8300/h8300.md: Give internal names to anonymous
5372 insns.
5373
fbcb02cd
KH
53742002-12-29 Kazu Hirata <kazu@cs.umass.edu>
5375
5376 * config/h8300/h8300.md: Reorder some insns.
5377
2873836b
KH
53782002-12-29 Kazu Hirata <kazu@cs.umass.edu>
5379
5380 * config/h8300/h8300-protos.h: Add prototypes for
5381 const_int_qi_operand and const_int_hi_operand.
5382 * config/h8300/h8300.c (const_int_qi_operand): New.
5383 (const_int_hi_operand): Likewise.
5384 * config/h8300/h8300.md (three peepholes): New.
5385
bdefb2ab
JM
53862002-12-28 Joseph S. Myers <jsm@polyomino.org.uk>
5387
5388 * doc/cpp.texi, doc/gcc.texi, doc/gccint.texi, doc/install.texi:
5389 Use @copying.
5390
a38f87a9
JM
53912002-12-28 Joseph S. Myers <jsm@polyomino.org.uk>
5392
5393 * configure.in: Increase makeinfo version requirement to 4.[2-9].
5394 * configure: Regenerate.
5395 * doc/install.texi: Update Texinfo version requirement.
5396
c14bc6db
AJ
53972002-12-28 Andreas Jaeger <aj@suse.de>
5398
b9b21a05
AJ
5399 * config/i386/i386.c (x86_function_profiler): Mark labelno as
5400 possibly unused.
5401
c14bc6db
AJ
5402 * c-parse.in (yyprint): Use HOST_WIDE_INT_PRINT_DOUBLE_HEX for
5403 correct format.
5404
62fbd434
KH
54052002-12-27 Kazu Hirata <kazu@cs.umass.edu>
5406
5407 * config/h8300/h8300.md (*iorhi_shift_8): Change the name to
5408 *iorhi_ashift_8.
5409 (*iorhi_lshiftrt_8): New.
5410
27e3f16d
JM
54112002-12-27 Joseph S. Myers <jsm@polyomino.org.uk>
5412
5413 * doc/include/texinfo.tex: Update to version 2002-12-26.16.
5414
b09975de
GP
54152002-12-27 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
5416
5417 * doc/contrib.texi (Contributors): Add Abramo and Roberto Bagnara.
5418
f411c849
KH
54192002-12-26 Kazu Hirata <kazu@cs.umass.edu>
5420
5421 * config/h8300/h8300-protos.h: Fix comment typos.
5422 Update copyright.
5423 * config/h8300/h8300.c: Fix comment typos.
5424
b976d7a0
KH
54252002-12-26 Kazu Hirata <kazu@cs.umass.edu>
5426
5427 * config/h8300/h8300.h (IDENT_ASM_OP): End with a tab.
5428
d1f87653
KH
54292002-12-26 Kazu Hirata <kazu@cs.umass.edu>
5430
5431 * config/i386/athlon.md: Fix comment typos.
5432 * config/i386/crtdll.h: Likewise.
5433 * config/i386/djgpp.h: Likewise.
5434 * config/i386/i386-interix.h: Likewise.
5435 * config/i386/i386.c: Likewise.
5436 * config/i386/i386.h: Likewise.
5437 * config/i386/i386.md: Likewise.
5438 * config/i386/k6.md: Likewise.
5439 * config/i386/mingw32.h: Likewise.
5440 * config/i386/pentium.md: Likewise.
5441 * config/i386/sco5.h: Likewise.
5442 * config/i386/winnt.c: Likewise.
5443 * config/i386/xmmintrin.h: Likewise.
5444
ecd4a73b
JR
54452002-12-26 Jose Renau <renau@cs.uiuc.edu>
5446
5447 * ssa-dce.c (EXECUTE_IF_UNNECESSARY): Verify INSN is an
5448 INSN_P before checking to see if it is dead.
5449 (mark_all_insn_unnecessary): Similarly.
5450 (ssa_eliminate_dead_code): Similarly.
5451 * rtl.h (struct rtx_def): Update comments for in_struct usage
5452 in dead code elimination pass.
5453 (INSN_DEAD_CODE_P): Allow JUMP_INSN and CALL_INSN as well.
5454
b17bb466
AS
54552002-12-26 Andreas Schwab <schwab@suse.de>
5456
c14bc6db 5457 * config.gcc (powerpc*-*-*, rs6000-*-*): Fix assignment syntax.
b17bb466 5458
b21fb038
DE
54592002-12-25 David Edelsohn <edelsohn@gnu.org>
5460
5461 * config/rs6000/rs6000.c (rs6000_override_options): Convert to
5462 tartet_flags_explicit.
5463 * config/rs6000/rs6000.h (MASK_MULTIPLE_SET, MASK_STRING_SET): Delete.
5464 Compact target_flags bits.
5465 (TARGET_MULTIPLE_SET, TARGET_STRING_SET): Delete.
5466 (TARGET_SWITCHES): Delete references to *_SET flags.
5467
abd2dd6d
JH
5468Wed Dec 25 20:30:53 CET 2002 Jan Hubicka <jh@suse.cz>
5469
5470 * i386.md (memory attribute): Fix setcc attribute.
5471
d55d8fc7
KH
54722002-12-25 Kazu Hirata <kazu@cs.umass.edu>
5473
5474 * output.h: Fix comment typos.
5475 * predict.c: Likewise.
5476 * print-tree.c: Likewise.
5477 * profile.c: Likewise.
5478 * ra-build.c: Likewise.
5479 * ra-colorize.c: Likewise.
5480 * ra-debug.c: Likewise.
5481 * ra-rewrite.c: Likewise.
5482 * ra.c: Likewise.
5483 * ra.h: Likewise.
5484 * real.c: Likewise.
5485 * recog.c: Likewise.
5486 * reg-stack.c: Likewise.
5487 * regclass.c: Likewise.
5488
7a770d8b
KH
54892002-12-25 Kazu Hirata <kazu@cs.umass.edu>
5490
5491 * config/h8300/h8300.c (print_operand_address): Do not negate
5492 a negative number when printing one.
5493
7d6ac401
KH
54942002-12-25 Kazu Hirata <kazu@cs.umass.edu>
5495
5496 * config/h8300/h8300-protos.h: Add prototypes for
5497 output_plussi, compute_plussi_length, and compute_plussi_cc.
5498 * config/h8300/h8300.c (output_plussi): New.
5499 (compute_plussi_length): Likewise.
5500 (compute_plussi_cc): Likewise.
5501 * config/h8300/h8300.md (addsi_h8300h): Call
5502 output_plussi, compute_plussi_length, and compute_plussi_cc.
5503
871d6a01
KH
55042002-12-24 Kazu Hirata <kazu@cs.umass.edu>
5505
5506 * config/h8300/h8300.md (two peepholes): Use match_dup instead
5507 of match_operand in the new patterns.
5508
4fbf9d4a
JM
55092002-12-24 Joseph S. Myers <jsm@polyomino.org.uk>
5510
5511 * doc/include/texinfo.tex: Update to version 2002-11-25.11.
5512
8601608f
NS
55132002-12-24 Nathan Sidwell <nathan@codesourcery.com>
5514
5515 * configure.in (enable-coverage): Add SELF_COVERAGE.
5516 * profile.c (end_branch_prob): Use SELF_COVERAGE.
5517
c28b4e40
JW
55182002-12-24 Jim Wilson <wilson@redhat.com>
5519
5520 * alias.c (record_set): Handle multi-reg hard registers.
5521
14b493d6
KH
55222002-12-24 Kazu Hirata <kazu@cs.umass.edu>
5523
5524 * regmove.c: Fix comment typos.
5525 * reload.c: Likewise.
5526 * reload1.c: Likewise.
5527 * resource.c: Likewise.
5528 * rtl.def: Likewise.
5529 * rtl.h: Likewise.
5530 * rtlanal.c: Likewise.
5531 * sched-deps.c: Likewise.
5532 * sched-rgn.c: Likewise.
5533 * sibcall.c: Likewise.
5534 * simplify-rtx.c: Likewise.
5535 * ssa-ccp.c: Likewise.
5536 * ssa.c: Likewise.
5537 * stmt.c: Likewise.
5538 * stor-layout.c: Likewise.
5539 * system.h: Likewise.
5540 * tlink.c: Likewise.
5541 * toplev.c: Likewise.
5542 * tracer.c: Likewise.
5543 * tree-inline.c: Likewise.
5544 * tree.c: Likewise.
5545 * tree.h: Likewise.
5546 * unroll.c: Likewise.
5547 * varasm.c: Likewise.
5548
c9693e96
LH
55492002-12-23 Larin Hennessy <larin@science.oregonstate.edu>
5550
5551 * doc/install.texi: Remove i386-*-isc, i860-*-bsd,
5552 m68k-altos-sysv, m68k-isi-bsd, m68k-sony-bsd entries.
5553 * doc/invoke.texi: Remove AMD 29K, ARM RISC/iX, Clipper, Convex,
5554 DG/UX entries.
5555 * doc/md.texi: Remove AMD 29K entries.
5556 * doc/trouble.texi: Remove Alliant, DG/UX, Iris 4.0.5F, GAS
5557 1.38.1, NewsOS, RT PC, WE32K entries.
5558
a67ed43f
AH
55592002-12-23 Aldy Hernandez <aldyh@redhat.com>
5560
44f9a8e4
ZW
5561 PR/8763
5562 * config/rs6000/altivec.md (mulv4sf3): Rewrite to add -0.0 vector.
5563 (altivec_vspltisw_v4sf): Name pattern.
5564 (altivec_vslw_v4sf): New pattern.
a67ed43f 5565
46d40353
JM
55662002-12-23 Joseph S. Myers <jsm@polyomino.org.uk>
5567
5568 * doc/include/gcc-common.texi: Define DEVELOPMENT.
5569
8dc65b6e
MM
55702002-12-23 Mark Mitchell <mark@codesourcery.com>
5571
5572 * stor-layout.c (update_alignment_for_field): Correct handling of
5573 unnamed bitfields on PCC_BITFIELD_TYPE_MATTERS machines.
5574 * doc/tm.texi (PCC_BITFIELD_TYPE_MATTERS): Note that an unnamed
5575 bitfield does not affect alignment.
5576
7c02ae17
DE
55772002-12-23 David Edelsohn <edelsohn@gnu.org>
5578
5579 * expr.c (expand_assignment): Apply special treatment to
5580 ARRAY_TYPE.
5581
317d21e9
KH
55822002-12-23 Kazu Hirata <kazu@cs.umass.edu>
5583
5584 * config/h8300/h8300-protos.h: Update the prototype of
5585 expand_a_shift.
5586 * config/h8300/h8300.c (expand_a_shift): Change the return
5587 type to void.
5588 * config/h8300/h8300.md: Update all the uses of
5589 expand_a_shift.
5590
0c685f12
NS
55912002-12-22 Nathan Sidwell <nathan@codesourcery.com>
5592
5593 * tree.c (save_expr): Allow either side of a dyadic operand to be
5594 constant.
5595
5596 * doc/portability.texi (portability): Update portability goals.
5597
ade53a50
KH
55982002-12-23 Kazu Hirata <kazu@cs.umass.edu>
5599
5600 * config/h8300/h8300.c (output_a_shift): Remove unused code.
5601
d0ff2db5
MM
56022002-12-22 Mark Mitchell <mark@codesourcery.com>
5603
d317855e
MM
5604 * stor-layout.c (update_alignment_for_field): Guard use of
5605 ADJUST_FIELD_ALIGN with #ifdef.
5606
d0ff2db5
MM
5607 * stor-layout.c (update_alignment_for_field): Use
5608 ADJUST_FIELD_ALIGN when computing the alignment for a zero-width
5609 bitfield when PCC_BITFIELD_TYPE_MATTERS.
5610
96e13905
KH
56112002-12-22 Kazu Hirata <kazu@cs.umass.edu>
5612
5613 * genautomata.c: Fix comment typos.
5614
66b4e478
JH
5615Sun Dec 22 18:23:44 CET 2002 Jan Hubicka <jh@suse.cz>
5616
5617 * params.def (tracer-min-branch-probability-feedback): Fix default.
5618 * final.c (compute_alignments): Use profile to avoid code bloat.
5619
a7612343
KH
56202002-12-22 Kazu Hirata <kazu@cs.umass.edu>
5621
5622 * config/h8300/h8300.c (get_shift_alg): Make shift insn
5623 sequences end with a valid cc0 whenever possible.
5624
8fb52ad1
KH
56252002-12-22 Kazu Hirata <kazu@cs.umass.edu>
5626
5627 * config/h8300/h8300.md (negsf2): New.
5628 (*negsf2_h8300): Likewise.
5629 (*negsf2_h8300hs): Likewise.
5630
2a77af27
GK
56312002-12-21 Geoffrey Keating <geoffk@apple.com>
5632
5633 * integrate.c (output_inline_function): Don't hold private
5634 pointers to 'struct function' over GC calls.
5635
5040eb00
KK
56362002-12-21 Kaz kojima <kkojima@gcc.gnu.org>
5637
5638 * config/sh/lib1funcs.asm (__fpscr_values): Conditionalize with
5639 NO_FPSCR_VALUES.
5640 * config/sh/t-linux (TARGET_LIBGCC2_CFLAGS): Add -DNO_FPSCR_VALUES.
5641
5d750136
KH
56422002-12-21 Kazu Hirata <kazu@cs.umass.edu>
5643
5644 * config/h8300/h8300.md (zero_extendqisi2): Correct the
5645 length.
5646
f7e42925
KH
56472002-12-21 Kazu Hirata <kazu@cs.umass.edu>
5648
5649 * config/h8300/h8300.md (*zero_extendqihi2_h8300): Make the
5650 second alternative "#".
5651 (*zero_extendqihi2_h8300hs): Likewise.
5652 (a define_split): New.
5653
3cee1a78
KH
56542002-12-21 Kazu Hirata <kazu@cs.umass.edu>
5655
5656 * config/h8300/h8300-protos.h: Update the prototype for
5657 split_adds_subs.
5658 Add prototypes for const_le_2_operand and const_le_6_operand.
5659 * config/h8300/h8300.c (split_adds_subs): Add an argument to
5660 specify whether inc/dec should be used when possible.
5661 (const_le_2_operand): New.
5662 (const_le_6_operand): Likewise.
5663 * config/h8300/h8300.md (two peepholes): New.
5664
40b982a9
KH
56652002-12-21 Kazu Hirata <kazu@cs.umass.edu>
5666
5667 * config/fr30/fr30.md: Fix a comment typo.
5668 * config/i386/i386.c: Likewise.
5669 * config/ip2k/ip2k.h: Likewise.
5670
60954572
JW
56712002-12-20 Jim Wilson <wilson@redhat.com>
5672
5673 * config/rs6000/spe.h (__ev_subifw): Reverse arguments.
5674 (__ev_subw, __ev_subiw): New.
5675 (ev_mwlssf, ev_mwlsmf, ev_mwlssfa, ev_mwlsmfa, ev_mwlssfaaw,
5676 ev_mwlsmfaaw, ev_mwlssfanw, ev_mwlsmfanw): Delete.
5677
11f43127
JDA
56782002-12-20 John David Anglin <dave.anglin@nrc.gc.ca>
5679
5680 * pa-linux.h (TARGET_HAS_STUBS_AND_ELF_SECTIONS): Delete define.
5681 * pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete define.
5682 * pa.c (pa_function_ok_for_sibcall): Allow non indirect sibcalls on
5683 TARGET_ELF32. Add comment on sibcall issues for TARGET_64BIT.
5684
f9d2de4d
KH
56852002-12-20 Kazu Hirata <kazu@cs.umass.edu>
5686
5687 * config/h8300/h8300-protos.h: Add prototypes for
5688 incdec_operand and eqne_operator.
5689 * config/h8300/h8300.c (incdec_operand): New.
5690 (eqne_operator): Likewise.
5691 * config/h8300/h8300.h (CONST_OK_FOR_M): Likewise.
5692 (CONST_OK_FOR_O): Likewise.
5693 (CONST_OK_FOR_LETTER_P): Use CONST_OK_FOR_M and
5694 CONST_OK_FOR_O.
5695 * config/h8300/h8300.md (UNSPEC_INCDEC): New.
5696 (addhi3_incdec): New.
5697 (addsi3_incdec): Likewise.
5698 (two peepholes): Likewise.
5699
b47900aa
KH
57002002-12-20 Kazu Hirata <kazu@cs.umass.edu>
5701
5702 * config/h8300/h8300.c (dosize): Remove warnings.
5703 (print_operand): Likewise.
5704
3094247f
RH
57052002-12-20 Richard Henderson <rth@redhat.com>
5706
5707 * config/alpha/alpha.c (decl_has_samegp): New.
5708 (samegp_function_operand): Use it. Rename from
5709 current_file_function_operand.
5710 (direct_call_operand): Handle -msmall-text via symbol->jump.
5711 (tls_symbolic_operand_1): Use T for tprel64, t for smaller tprel.
5712 (tls_symbolic_operand_type): Likewise.
5713 (alpha_encode_section_info): Likewise. Handle -msmall-text.
5714 (alpha_function_ok_for_sibcall): Use decl_has_samegp.
5715 (alpha_end_function): Set symbol->jump for functions defined in
5716 the text section.
5717 * config/alpha/alpha-protos.h: Update.
5718 * config/alpha/alpha.h (MASK_SMALL_TEXT, TARGET_SMALL_TEXT): New.
5719 (TARGET_SWITCHES): Add -msmall-text and -mlarge-text.
5720 (PREDICATE_CODES): Update.
c14bc6db 5721 * config/alpha/alpha.md (call patterns): Update for
3094247f
RH
5722 samegp_function_operand rename; use !samegp reloc if
5723 TARGET_EXPLICIT_RELOCS.
5724 * doc/invoke.text: Document -msmall-text and -mlarge-text.
5725
8056c5f2
ID
57262002-12-20 Ian Dall <ian@sibyl.beware.dropbear.id.au>
5727
44f9a8e4
ZW
5728 * config/ns32k/ns32k.md (movdi): Use "l" instead of "f" to match
5729 all registers capable of holding a double float.
5730 (*rcond): change name of "reverse branch" insns to
5731 something more meaningful.
5732 (*rbgt, *rblt, *rbge, *rble): Reverse branches to handle IEEE
5733 comparisons properly.
5734 (*ffs): Change operand 0 from write to read-modify-write.
5735 (*ffsssi2): Drop constraints from define_expand.
8056c5f2 5736
44f9a8e4
ZW
5737 * config/ns32k/ns32k.h (STORE_RATIO, STORE_BY_PIECES): Avoid using
5738 MOVE_RATIO as default for store operations.
8056c5f2 5739
44f9a8e4
ZW
5740 * config/ns32k/ns32k.h (enum reg_class, REG_CLASS_NAMES): Add
5741 LONG_REGS class.
5742 (CANNOT_CHANGE_MODE_CLASS): Can't subreg LONG_REGS.
5743 (GO_IF_LEGITIMATE_ADDRESS): Remove spurious abort().
5744 * config/ns32k/ns32k.c (regclass_map): Add LONG_REGS class.
8056c5f2 5745
44f9a8e4
ZW
5746 * config/ns32k/STATUS: New File
5747 * config/ns32k/NOTES: New file.
8056c5f2 5748
1fec52be 57492002-12-20 Hartmut Penner <hpenner@de.ibm.com>
c14bc6db 5750
21ff35fb 5751 * doc/invoke.texi: Document -mzarch, -mesa, -mcpu= and -march=
1fec52be 5752 option for S/390 and zSeries.
44f9a8e4
ZW
5753 * config/s390/s390.c (s390_cpu, s390_cpu_string, s390_arch,
5754 s390_arch_string): New variables.
5755 (override_options): Checking for options and setting of
1fec52be 5756 appropriate target_flags, cpu and arch flags.
44f9a8e4
ZW
5757 * config/s390/s390.h: (processor_type): New enum.
5758 (TARGET_SWITCHES): New switches -mesa/zarch.
5759 * config/s390/s390.md: New attribute 'cpu'.
1fec52be 5760
5bdc5878
KH
57612002-12-19 Kazu Hirata <kazu@cs.umass.edu>
5762
5763 * c-pretty-print.h: Fix comment typos.
5764 * integrate.c: Likewise.
5765 * varasm.c: Likewise.
5766 * config/c4x/c4x.h: Likewise.
5767 * config/c4x/c4x.md: Likewise.
5768 * config/fr30/fr30.md: Likewise.
5769 * config/frv/frv.c: Likewise.
5770 * config/h8300/h8300.c: Likewise.
5771 * config/i386/i386.c: Likewise.
5772 * config/i386/i386.h: Likewise.
5773 * config/ia64/ia64.c: Likewise.
5774 * config/ia64/ia64.h: Likewise.
5775 * config/ip2k/ip2k.md: Likewise.
5776 * config/m68hc11/m68hc11-crt0.S: Likewise.
5777 * config/m68hc11/m68hc11.h: Likewise.
5778 * config/m68hc11/m68hc11.md: Likewise.
5779 * config/m68hc11/m68hc12.h: Likewise.
5780 * config/mcore/mcore.md: Likewise.
5781 * config/mips/mips.c: Likewise.
5782 * config/mips/mips.md: Likewise.
5783 * config/mmix/mmix-modes.def: Likewise.
5784 * config/pa/pa.c: Likewise.
5785 * config/rs6000/rs6000.c: Likewise.
5786 * config/rs6000/rs6000.h: Likewise.
5787 * config/rs6000/rs6000.md: Likewise.
5788
539dbd15
KH
57892002-12-19 Kazu Hirata <kazu@cs.umass.edu>
5790
5791 * config/h8300/h8300.md (output_a_shift): Clean up the code to
5792 output shifts using rotation.
5793
e505be85
ZD
57942002-12-20 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
5795
5796 * flow.c (allocate_reg_life_data): Reset REG_FREQ.
5797
191ff852
KH
57982002-12-19 Kazu Hirata <kazu@cs.umass.edu>
5799
5800 * config/h8300/h8300.md (pushqi_h8300): Don't push the stack
5801 pointer.
5802 (pushqi_h8300hs): Likewise.
5803 (pushhi_h8300): Likewise.
5804 (pushhi_h8300hs): Likewise.
5805
b2dfd40f
R
5806Thu Dec 19 23:44:09 2002 J"orn Rennecke <joern.rennecke@superh.com>
5807
5808 * sched-rgn.c (init_regions): Update comment.
5809
310b9b1d
DE
58102002-12-19 David Edelsohn <edelsohn@gnu.org>
5811
5812 * config/rs6000/rs6000.md (define_attr type): Remove altivec.
5813 * config/rs6000/altivec.md (movv4si_internal): Set correct instruction
5814 attributes.
5815 (movv8hi_internal,movv16qi_internal,movv4sf_internal): Same.
5816 (get_vrsave_internal,set_vrsave_internal): Same.
5817 (altivec_vspltisb,altivec_vspltish,altivec_vspltisw): Same.
5818 (absv16qi2,absv8hi2,absv4si2,absv4sf2): Same
5819 (altivec_abss_v16qi,altivec_abss_v8hi,altivec_abss_v4si): Same.
5820
e91f04de
CH
58212002-12-19 Casper S. Hornstrup <chorns@users.sourceforge.net>
5822 Danny Smith <dannysmith@users.sourceforge.net>
5823 Eric Kohl <ekohl@rz-online.de>
5824
5825 * config/i386/i386.c (ix86_handle_cdecl_attribute): Check for
5826 attributes incompatible with fastcall attribute.
5827 (ix86_handle_regparm_attribute): Likewise.
5828
5829 * config/i386/i386.c (ix86_comp_type_attributes): Check for mismatched
5830 fastcall types.
5831
5832 * config/i386/cygwin.h (TARGET_OS_CPP_BUILTINS): Add fastcall
5833 attributes.
5834 (ASM_OUTPUT_LABELREF): Define as i386_pe_output_labelref.
5835 * config/i386/i386-protos.h (i386_pe_output_labelref): Declare.
5836 * config/i386/winnt.c (i386_pe_mark_dllimport). Add __imp_ prefix in
5837 i386_pe_output_labelref rather than here.
5838 (gen_fastcall_suffix): New function. Decorates a label name with the
5839 fastcall prefix (@) and the stdcall suffix.
5840 (i386_pe_encode_section_info): Call gen_fastcall_suffix() if a symbol
5841 has a fastcall attribute.
5842 (i386_pe_output_labelref): New function. Outputs a label reference.
5843 * config/i386/i386.c (ix86_attribute_table): Accept 'fastcall' as a
5844 valid attribute.
5845 (ix86_return_pops_args): Fastcall functions pop the stack.
5846 (init_cumulative_args): Reserve registers ECX and EDX if function has
5847 fastcall attribute.
5848 (function_arg): Use registers ECX and EDX if function has fastcall
5849 attribute.
5850 * config/i386/i386.h (CUMULATIVE_ARGS): Add fastcall attribute flag.
5851 (DLL_IMPORT_EXPORT_PREFIX): Redefine as '#'.
5852 (FASTCALL_PREFIX): Define as '@'.
5853 * config/i386/mingw32.h (TARGET_OS_CPP_BUILTINS): Add fastcall
5854 attributes.
5855 * doc/extend.texi: Add documentation of fastcall attribute.
5856
61138bb6
NN
58572002-12-19 Nathanael Nerode <neroden@gcc.gnu.org>
5858
c14bc6db 5859 * configure.in: FORBUILD when build!=host changed from
61138bb6
NN
5860 ../$build-alias to ../build-$build_alias to match change made
5861 in top directory.
5862 * configure: Regenerated.
5863
039baf9e
EB
58642002-12-19 Eric Botcazou <ebotcazou@libertysurf.fr>
5865
5866 PR optimization/8988
5867 * loop.c (maybe_eliminate_biv): Kill REG_EQUAL notes mentioning
5868 the biv when eliminating.
5869
ee8acf89
DP
58702002-12-19 Devang Patel <dpatel@apple.com>
5871 * gcc.c (struct default_compiler): Recognizes input file name with
5872 .CPP extension as C++ source files
5873 * cp/lang-spec.h: Same
5874 * doc/invoke.texi: Add documentation for .CPP support.
c14bc6db 5875
598119bb
AH
58762002-12-19 Aldy Hernandez <aldyh@redhat.com>
5877
5878 PR 8553
5879 * config/rs6000/altivec.md ("absv8hi2"): Add & to clobbered
5880 registers.
5881 ("absv16qi2"): Same.
5882 ("absv4si2"): Same.
5883 ("absv4sf2"): Same.
5884 ("altivec_abss_v16qi"): Same.
5885 ("altivec_abss_v8hi"): Same.
5886 ("altivec_abss_v4si"): Same.
5887
3af97654
UW
58882002-12-19 Ulrich Weigand <uweigand@de.ibm.com>
5889
5890 * config/s390/s390.md ("*tsthiCCT", "*tsthiCCT_cconly",
5891 "*tstqiCCT", "*tstqiCCT_cconly"): New insns.
5892
e54b4cae
EB
58932002-12-19 Eric Botcazou <ebotcazou@libertysurf.fr>
5894
5895 PR target/8340
5896 * stmt.c (expand_asm_operands): Produce an error when
5897 the PIC register is clobbered.
5898
7f22efe1
DB
58992002-12-18 Daniel Berlin <dberlin@dberlin.org>
5900
5901 * Makefile.in (OBJS): Add alloc-pool.o
5902 (alloc-pool.o): New object.
5903
5904 * alloc-pool.c: New file.
5905 * alloc-pool.h: New file.
5906
f1d5271a 59072002-12-18 Loren James Rittle <ljrittle@acm.org>
5a0ba8c9
LJR
5908
5909 * gcc.c (validate_switches): Robustify against skipping past '\0'.
5910
064b6c70
GK
59112002-12-18 Geoffrey Keating <geoffk@apple.com>
5912
5913 * config.gcc: Set extra_objs in the generic Darwin rule,
5914 not in the machine-specific rules.
5915
272d0bee
KH
59162002-12-19 Kazu Hirata <kazu@cs.umass.edu>
5917
5918 * ChangeLog: Follow spelling conventions.
5919 * ChangeLog.2: Likewise.
5920 * ChangeLog.4: Likewise.
5921 * ChangeLog.5: Likewise.
5922 * cppexp.c: Likewise.
5923 * df.c: Likewise.
5924 * gcov.c: Likewise.
5925 * gengtype.c: Likewise.
5926 * reload1.c: Likewise.
5927 * sched-rgn.c: Likewise.
5928 * stmt.c: Likewise.
5929 * stor-layout.c: Likewise.
5930 * timevar.c: Likewise.
5931 * toplev.c: Likewise.
5932 * tree.h: Likewise.
5933 * varasm.c: Likewise.
5934 * config/fr30/fr30.md: Likewise.
5935 * config/i386/i386.c: Likewise.
5936 * config/ia64/ia64.c: Likewise.
5937 * config/pa/pa.c: Likewise.
5938
358ecb10
RS
59392002-12-18 Roger Sayle <roger@eyesopen.com>
5940
5941 * basic-block.h (flow_bb_inside_loop_p): Correct prototype.
5942
d486dec6
AH
59432002-12-18 Aldy Hernandez <aldyh@redhat.com>
5944
7f04df0d 5945 PR 8551
d486dec6
AH
5946 * config/rs6000/altivec.h (vec_cmplt macro): Reverse arguments in
5947 macro.
5948 (vec_cmplt C++ functions): Reverse arguments.
5949
358ecb10 59502002-12-18 Geoffrey Keating <geoffk@apple.com>
892aebc9 5951
40b4cdbf
GK
5952 * config/rs6000/t-rs6000: Move contents to t-fprules,
5953 add rules for dependencies of rs6000.o and to build rs6000-c.o
5954 * config/rs6000/t-fprules: New file from t-rs6000.
5955 * config/rs6000/t-beos: Remove soft-fp rules.
5956 * config/rs6000/t-ppccomm: Likewise.
5957 * config/rs6000/t-newas: Likewise.
5958 * config/rs6000/t-rs6000-c-rule: Delete.
5959 * config.gcc: Use t-fprules for rs6000/ ports when appropriate.
5960 Use t-rs6000 for all rs6000/ ports instead of t-rs6000-c-rule.
5961 Create generic Darwin rules.
5962
892aebc9
GK
5963 * gengenrtl.c (gencode): Delete unnecessary rtl_obstack declaration.
5964
9d303046
DE
59652002-12-18 Doug Evans <dje@sebabeach.org>
5966
5967 * m32r/m32r.c (addr24_operand): Fix arg to CONSTANT_POOL_ADDRESS_P
5968 and LIT_NAME_P.
5969 (move_src_operand): Remove compile-time warning.
5970 * m32r/m32r.h (ROUND_ADVANCE_ARG): Ditto.
5971
80d83b16
JM
59722002-12-18 Jason Merrill <jason@redhat.com>
5973
5974 * unwind-dw2-fde.c (frame_downheap): Split out from...
5975 (frame_heapsort): Here.
5976
f32ac70d
JM
59772002-12-17 Jason Merrill <jason@redhat.com>
5978
9ec22713
JM
5979 * tree.c (make_node): Don't set TREE_TYPE on 's' class nodes.
5980 (build1): Always set TREE_SIDE_EFFECTS on 's' class nodes.
5981
38540594 5982 * gcc.c (do_spec_1) ['W']: End any pending argument from the braces.
a3a0177e 5983
f32ac70d
JM
5984 * calls.c (expand_call): Don't try to be clever about expanding
5985 the return slot address.
5986
d5db5b97
KK
59872002-12-18 Kaz kojima <kkojima@gcc.gnu.org>
5988
5989 * config/sh/linux.h (NO_IMPLICIT_EXTERN_C, CPLUSPLUS_CPP_SPEC):
5990 Define.
5991
e489a31f
JM
59922002-12-17 Jason Merrill <jason@redhat.com>
5993
5994 * genmultilib: Use 'cd ./foo'.
5995
5b8f02c6
KH
59962002-12-17 Kazu Hirata <kazu@cs.umass.edu>
5997
5998 * doc/c-tree.texi: Restore deliberate spelling mistakes.
5999
c0478a66
KH
60002002-12-17 Kazu Hirata <kazu@cs.umass.edu>
6001
6002 * doc/c-tree.texi: Fix typos and follow spelling conventions.
6003 * doc/cpp.texi: Likewise.
6004 * doc/extend.texi: Likewise.
6005 * doc/gty.texi: Likewise.
6006 * doc/install.texi: Likewise.
6007 * doc/invoke.texi: Likewise.
6008 * doc/md.texi: Likewise.
6009 * doc/passes.texi: Likewise.
6010 * doc/rtl.texi: Likewise.
6011 * doc/sourcebuild.texi: Likewise.
6012 * doc/tm.texi: Likewise.
6013
3364c33b
JQ
60142002-12-17 Jerry Quinn <jlquinn@optonline.net>
6015
6016 * doc/invoke.texi: Minor spelling and grammar fixes.
6017
d65f135a
UW
60182002-12-17 Ulrich Weigand <uweigand@de.ibm.com>
6019
6020 * config/s390/s390.c (s390_output_constant_pool): Replace
6021 ASM_OUTPUT_INTERNAL_LABEL by (*targetm.asm_out.internal_label).
6022
4b207444
JH
6023Tue Dec 17 09:47:57 CET 2002 Jan Hubicka <jh@suse.cz>
6024
6025 * convert.c (convert_to_real): Disable function transformation for
6026 now.
6027
cde26509
GK
60282002-12-16 Geoffrey Keating <geoffk@apple.com>
6029
6030 * gcc.c (handle_braces): Allow '@' as a switch name.
6031
9f175208
JM
60322002-12-16 Jason Merrill <jason@redhat.com>
6033
e489a31f
JM
6034 * calls.c (expand_call): Handle CALL_EXPR_HAS_RETURN_SLOT_ADDR
6035 with special struct-return ABIs.
6036
9f175208
JM
6037 * c-semantics.c (add_scope_stmt): Abort if the end SCOPE_STMT
6038 doesn't match the begin SCOPE_STMT in partialness.
6039
7a975113
GK
60402002-12-16 Geoffrey Keating <geoffk@apple.com>
6041
c79d892f
GK
6042 * genmultilib: Create temporary files in unique subdirectory.
6043
7a975113
GK
6044 * gcc.c (validate_switches): Allow '@' as a switch name.
6045
8483c7e0
LR
60462002-12-16 Loren J. Rittle <ljrittle@acm.org>
6047
6048 * Makefile.in (gcov-iov.h): Improve portability.
6049
9ee7999f
JH
6050Mon Dec 16 23:39:19 CET 2002 Jan Hubicka <jh@suse.cz>
6051
6052 * mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Do not use qpword on API_N32/not
6053 gas
6054 * mips.md (tablejump insn): Likewise.
6055
7a04c51b
MM
60562002-12-16 Mark Mitchell <mark@codesourcery.com>
6057
6058 * doc/include/gcc-common.texi: Change version number to 3.4.
6059
27eaa708
BK
60602002-12-16 Bruce Korb <bkorb@gnu.org>
6061
6062 * fixinc/fixlib.h: add: #include <signal.h>
6063 * fixinc/fixincl.c: remove: #include <signal.h>
6064
b51dc045
R
6065Mon Dec 16 17:20:04 2002 J"orn Rennecke <joern.rennecke@superh.com>
6066
6067 * sh.h (EXTRA_CONSTRAINT_Z): New macro.
6068 (EXTRA_CONSTRAINT): Use it.
6069 * sh.md (anddi3): Use 'Z' constraint for alternative 2.
6070
4977bab6
ZW
60712002-12-15 Zack Weinberg <zack@codesourcery.com>
6072
6073 * config.gcc (need_64bit_hwint): New variable.
6074 (alpha*-*-*, x86_64-*-*, ia64-*-*, mips*-*-*, powerpc*-*-*,
6075 mmix-knuth-mmixware, rs6000*-*-*, sparc64*-*-*, s390*-*-*,
6076 sh*-*-*, hppa*64*-*-linux, parisc*64*-*-linux, hppa*64*-*-hpux11*,
6077 sparcv9-*-solaris2*, sparc*-*-solaris2.[789], ultrasparc-*-freebsd*):
6078 Set it.
6079 (powerpc*-*-darwin*): Unset it.
6080 (alpha-*-interix, alpha64-dec-*vms*, i?86-*-interix3*,
6081 i?86-*-interix*, sparc64-*-openbsd*): Remove references to
6082 deleted/nonexistent xm-*.h headers.
6083 * configure.in: AC_DEFINE NEED_64BIT_HOST_WIDE_INT if the
6084 target set need_64bit_hwint in config.gcc.
6085 * configure, config.in: Regenerate.
6086
6087 * hwint.h: Overhaul. Don't bother trying int for
6088 HOST_WIDE_INT. Do try __int64 if long is not enough. Base
6089 decision to force 64-bit HOST_WIDE_INT on
6090 NEED_64BIT_HOST_WIDE_INT, not (MAX_)LONG_TYPE_SIZE which is
6091 not visible at this point. Don't allow prior definition of
6092 any macro defined by this file.
6093
6094 * config/alpha/xm-vms.h: Don't define HOST_WIDE_INT or
6095 HOST_BITS_PER_WIDE_INT.
6096 * config/c4x/c4x.h: Adjust redefinition of
6097 HOST_WIDE_INT_PRINT_HEX to match changes to hwint.h.
6098 * config/alpha/xm-alpha-interix.h, config/alpha/xm-vms64.h,
6099 config/i386/xm-i386-interix.h: Delete file.
6100
61012002-12-14 Rodney Brown <rbrown64@csc.com.au>
6102 John David Anglin <dave@hiauly1.hia.nrc.ca>
6103
6104 * pa.c (output_millicode_call): Convert ASM_OUTPUT_INTERNAL_LABEL.
6105 * pa64-hpux.h (ASM_OUTPUT_INTERNAL_LABEL): Delete define.
6106
61072002-12-14 Zack Weinberg <zack@codesourcery.com>
6108
6109 * mkconfig.sh: Correct comment. Add copyright boilerplate.
6110
61112002-12-14 Zack Weinberg <zack@codesourcery.com>
6112
6113 * config/t-darwin, config/arm/t-pe, config/arm/t-strongarm-pe,
6114 config/c4x/t-c4x, config/i370/t-i370, config/i386/t-cygwin,
6115 config/i386/t-interix, config/i960/t-960bare, config/ia64/t-ia64,
6116 config/rs6000/t-rs6000-c-rule, config/sparc/t-sol2,
6117 config/v850/t-v850: Correct dependencies and normalize
6118 compilation commands for files that include coretypes.h and tm.h.
6119
6120 * config/sparc/gmon-sol2.c: Include tconfig.h and tsystem.h,
6121 not config.h and system.h.
6122
6123Sat Dec 14 20:43:41 CET 2002 Jan Hubicka <jh@suse.cz>
6124
6125 * i386.c (flags_reg_operand): New function.
6126 * i386.h (PREDICATE_CODES): Add flags_reg_operand.
6127 * i386.md (cmov splitter, movqicc): Use new predicate.
6128
6129Sat Dec 14 17:03:17 CET 2002 Jan Hubicka <jh@suse.cz>
6130
6131 * i386.md (movqicc splitter): Fix template.
6132
61332002-12-13 Jason Merrill <jason@redhat.com>
6134
6135 * tree.h (CALL_EXPR_HAS_RETURN_SLOT_ADDR): New macro.
6136 * calls.c (expand_call): Handle it.
6137 * tree-inline.c (struct inline_data): Remove target_exprs field.
6138 (optimize_inline_calls): Don't initialize it.
6139 (expand_call_inline): Don't modify it. Handle
6140 CALL_EXPR_HAS_RETURN_SLOT_ADDR.
6141 (declare_return_variable): Take return slot addr.
6142 * langhooks.h (copy_res_decl_for_inlining): Change target_exprs parm
6143 to return_slot_addr.
6144 * langhooks-def.h, langhooks.c: Adjust.
6145 * explow.c (maybe_set_unchanging): Don't set RTX_UNCHANGING_P for
6146 a decl with no DECL_INITIAL.
6147
6148 * expr.c (expand_expr): Don't discard the target of a call which
6149 returns in memory.
6150
61512002-12-13 Neil Booth <neil@daikokuya.co.uk>
6152
6153 * cppinit.c (path_include): Take an environment variable name.
6154 Tidy up.
6155 (init_standard_includes): Simplify environment handling, and
6156 move to ...
6157 (cpp_read_main_file): ...here as -nostdinc should not affect
6158 environment variable paths.
6159
f5f9008b
JDA
61602002-12-13 John David Anglin <dave@hiauly1.hia.nrc.ca>
6161
6162 * pa.c (output_millicode_call): Correct typo.
6163 (output_call): Likewise.
6164
a58be199
AO
6165Fri Dec 13 21:07:18 2002 Alexandre Oliva <aoliva@redhat.com>
6166
6167 * config/mn10300/mn10300.c (print_operand) <case N>: Check
6168 operand's range. Print value directly, without aid from
6169 output_address.
6170 <case U>: New.
6171 <case S>: Make sure argument to fprintf has the right type.
6172 * config/mn10300/mn10300.h (OK_FOR_T): New macro.
6173 (EXTRA_CONSTRAINT): Adjust.
6174 * config/mn10300/mn10300.md: Add new all-QImode pattern for
6175 bclr. Use %U for immediate operands of bset and bclr.
6176 (iorqi3): New expand, with insns for AM33 and mn10300.
6177
d9da94a1
R
6178Fri Dec 13 16:02:27 2002 J"orn Rennecke <joern.rennecke@superh.com>
6179
6180 * sh.c (sh_register_operand): New function.
6181 (prepare_move_operands): Use it.
6182 * sh.h (PREDICATE_CODES): Add entry for sh_register_operand.
6183 * sh.md (movsi_media, movsi_media_nofpu): Allow stores of 0.
6184 (movqi_media, movhi_media, movdi_media, movdi_media_nofpu): Likewise.
6185 (movdf_media, movdf_media_nofpu, movv4sf_i, movsf_media): Likewise.
6186 (movsf_media_nofpu, movv2hi_i, movv4hi_i, movv8qi_i): Likewise.
6187 (movv2si_i): Likewise.
6188
580fb356
JW
61892002-12-13 Jim Wilson <wilson@redhat.com>
6190
6191 * doc/extend.texi (Complex Numbers): Update info on debug info.
6192
697d8028
KH
61932002-12-13 Kazu Hirata <kazu@cs.umass.edu>
6194
6195 * config/h8300/h8300.md (addhi3_h8300): Remove the last
6196 alternative.
6197
4977bab6
ZW
61982002-12-12 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
6199
6200 * hooks.h (hook_tree_tree_bool_false): Declare
6201 hook_bool_tree_tree_false instead.
6202
dd05b1b4 62032002-12-12 Devang Patel <dpatel@apple.com>
697d8028 6204
dd05b1b4
DP
6205 * doc/invoke.texi: Document Darwin linker options, -bundle
6206 -bind_at_load, -all_load and -arch_errors_fatal
6207
24aacafb
JW
62082002-12-12 Jim Wilson <wilson@redhat.com>
6209
6210 * dbxout.c (dbxout_fptype_value): New.
6211 (dbxout_type, case COMPLEX_TYPE): Call it. Use 'R' instead of 'r'.
6212
09da1532
KH
62132002-12-12 Kazu Hirata <kazu@cs.umass.edu>
6214
6215 * c-decl.c: Fix a comment typo.
6216 * cfg.c: Likewise.
6217 * cfgcleanup.c: Likewise.
6218 * cfglayout.c: Likewise.
6219 * cfgrtl.c: Likewise.
6220 * c-typeck.c: Likewise.
6221 * dominance.c: Likewise.
6222 * dwarf2asm.c: Likewise.
6223 * dwarfout.c: Likewise.
6224 * expmed.c: Likewise.
6225 * expr.c: Likewise.
6226 * final.c: Likewise.
6227 * flow.c: Likewise.
6228 * function.c: Likewise.
6229 * gcc.c: Likewise.
6230 * genautomata.c: Likewise.
6231 * integrate.c: Likewise.
6232 * loop.c: Likewise.
6233 * loop.h: Likewise.
6234 * output.h: Likewise.
6235 * profile.c: Likewise.
6236 * ra.h: Likewise.
6237 * reload1.c: Likewise.
6238 * reload.c: Likewise.
6239 * sched-rgn.c: Likewise.
6240 * stmt.c: Likewise.
6241 * tree.h: Likewise.
6242 * vmsdbgout.c: Likewise.
6243
7930523d
KH
62442002-12-12 Kazu Hirata <kazu@cs.umass.edu>
6245
6246 * config/h8300/h8300.md: Add a new peephole2.
6247
59578c84
KH
62482002-12-12 Kazu Hirata <kazu@cs.umass.edu>
6249
6250 * config/h8300/h8300.md (a peephole2): Accept a constant
6251 that's accepted by CONST_OK_FOR_J.
6252
8cc5359b
KH
62532002-12-12 Kazu Hirata <kazu@cs.umass.edu>
6254
6255 * config/h8300/h8300.h (CONST_OK_FOR_J): New.
6256 (CONST_OK_FOR_LETTER_P): Use CONST_OK_FOR_J.
6257 * config/h8300/h8300.md (*addhi_h8300): Add a new alternative.
6258 (*addhi_h8300hs): Likewise.
6259
ec555f32
R
6260Thu Dec 12 16:24:59 2002 J"orn Rennecke <joern.rennecke@superh.com>
6261
6262 * sh.c (reg_class_from_letter): No longer const. Add 'e' entry.
6263 (sh_register_move_cost): Add clause for SImode fp-fp moves.
6264 Increase cost for moves involving multiple general purpose registers.
6265 * sh.h (OVERRIDE_OPTIONS): Set reg_class_from_letter['e'] according to
6266 TARGET_FMOVD.
6267 (HARD_REGNO_MODE_OK): Allow V2SFmode and V4SFmode in general purpose
6268 registers, and SImode in fp registers, for ! TARGET_SHMEDIA.
6269 (enum reg_class reg_class_from_letter): No longer const.
6270 (SECONDARY_OUTPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG /
6271 REGCLASS_HAS_GENERAL_REG.
6272 Handle SImode moves from/to fp registers.
6273 ! TARGET_SHMEDIA && TARGET_FMOVD.
6274 (SECONDARY_INPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG.
6275 * sh.md (movsi_ie): Add alternatives to move from / to fp regisyters.
6276
83ebfdc0
AS
62772002-12-12 Andreas Schwab <schwab@suse.de>
6278
6279 * config/ia64/ia64.c (ia64_hpux_asm_file_end): Fix typo in last
6280 change and some warnings.
6281
299c5111
KH
62822002-12-12 Kazu Hirata <kazu@cs.umass.edu>
6283
6284 * doc/md.texi (pushm): Fix a typo.
6285
852dff61
AO
62862002-12-12 Alexandre Oliva <aoliva@redhat.com>
6287
6288 * config/mips/mips.c (mips_output_conditional_branch): Support
6289 PIC-safe out-of-range branch and branch-likely.
6290 * config/mips/mips.md (attr length): PIC-safe out-of-range
6291 branches are longer.
6292 ("jump"): Support PIC-safe out-of-range-for-branch jumps. Remove
6293 unused code to support indirect jumps.
6294
4977bab6
ZW
62952002-12-11 Zack Weinberg <zack@codesourcery.com>
6296
6297 * Makefile.in (GTFILES): Add $(host_xm_file_list) and
6298 $(tm_file_list).
6299
63002002-12-11 David Edelsohn <edelsohn@gnu.org>
6301
6302 * config/rs6000/t-rs6000-c-rule: Add coretypes.h $(TM_H) dependencies.
6303
6304Wed Dec 11 15:20:45 CET 2002 Jan Hubicka <jh@suse.cz>
6305
6306 * i386.md (cmove splitters): Avoid creation of unnecesary subregs.
6307
d6567b3a
JDA
63082002-12-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
6309
6310 * pa.h (BIGGEST_ALIGNMENT): Change 32-bit value to 64 bits.
6311 (MAX_PARM_BOUNDARY, STACK_BOUNDARY): Express in terms of
6312 BIGGEST_ALIGNMENT.
6313 (PREFERRED_STACK_BOUNDARY): Express in terms of STACK_BOUNDARY.
6314 (FUNCTION_BOUNDARY): Express in terms of BITS_PER_WORD.
6315
355bd14f
KH
63162002-12-11 Kazu Hirata <kazu@cs.umass.edu>
6317
6318 * doc/invoke.texi: Correct dump file names.
6319
9a3873b4
SE
63202002-12-09 Steve Ellcey <sje@cup.hp.com>
6321
6322 * config/ia64/ia64.c (ia64_hpux_asm_file_end): Don't send stripped
6323 name to globalize_label or assemble_name.
6324
9a4816af
R
6325Wed Dec 11 20:15:19 2002 J"orn Rennecke <joern.rennecke@superh.com>
6326
6327 * sh.h (REG_CLASS_HAS_GENERAL_REG): Only true for SIBCALL_REGS
6328 if not TARGET_SHMEDIA.
6329
6330Wed Dec 11 19:05:05 2002 J"orn Rennecke <joern.rennecke@superh.com>
6331
6332 * sh.h (REG_CLASS_HAS_FP_REG): New.
6333 (REGISTER_MOVE_COST) Use it. Put body into a function and
6334 move it into:
6335 * sh.c (sh_register_move_cost).
6336 * sh-protos.h (sh_register_move_cost): Declare.
6337
6338 * sh.c (sh_expand_builtin): Abort for unexpected nop values.
6339 (sh_adjust_cost): Always return a value.
6340
70a72ca4
R
6341Wed Dec 11 18:39:52 2002 J"orn Rennecke <joern.rennecke@superh.com>
6342
6343 * sh.h (REG_CLASS_HAS_GENERAL_REG): New.
6344 (REGISTER_MOVE_COST): Use it.
6345
5d5cd66f
RH
63462002-12-11 Richard Henderson <rth@redhat.com>
6347
6348 * tree.h (MODULE_LOCAL_P): Kill.
6349 * varasm.c (default_binds_local_p_1): Use decl_visibility instead.
6350
68d0a3d2
KH
63512002-12-11 Kazu Hirata <kazu@cs.umass.edu>
6352
6353 * config/h8300/h8300.md (two define_peephole2): New.
6354
722d59a3
KH
63552002-12-11 Kazu Hirata <kazu@cs.umass.edu>
6356
6357 * config/h8300/h8300.h (CONST_OK_FOR_J): Remove.
6358 (CONST_OK_FOR_K): Likewise.
6359 (CONST_OK_FOR_M): Likewise.
6360 (CONST_OK_FOR_LETTER_P): Do not use the above macros.
6361
b3a5a50c
NB
63622002-12-11 Neil Booth <neil@daikokuya.co.uk>
6363
6364 * c-common.c (builtin_define_type_max): Handle unsigned
6365 types too.
6366
4977bab6
ZW
63672002-12-10 David Edelsohn <edelsohn@gnu.org>
6368
6369 * haifa-sched.c (rank_for_schedule): Correct style.
6370
63712002-12-10 Per Bothner <pbothner@apple.com>
6372
6373 * cpplib.h (struct cpp_hashnode): Split a non-portably-signed field
6374 directive_index into an unsigned field and a new is_directive field.
6375 * cppinit.c (mark_named_operators): Update to set new fields.
6376 * cpplex.c (_cpp_lex_direct): Now directive_field is unsigned.
6377 * cpplib.c [_cpp_handle_directive]: Test is_directive field.
6378 No longer need to subtract 1 from directive_index.
6379 (_cpp_init_directives): No longer need to add 1 to directive_index.
6380 * cpptrad.c (scan_out_logical_line): Use is_directive field.
6381
63822002-12-10 Roger Sayle <roger@eyesopen.com>
6383
6384 * builtins.c (fold_builtin): Remove -funsafe-math-optimizations
6385 check for evaluating sqrt of a constant at compile time.
6386 * simplify-rtx.c (simplify_unary_operation): Likewise.
6387
40d81ee4
JJ
63882002-12-10 Janis Johnson <janis187@us.ibm.com>
6389
6390 PR other/8882
6391 * doc/tm.texi (PUSH_ARGS): Remove misplaced line.
6392
48aec0bc 63932002-12-10 Devang Patel <dpatel@appple.com>
40d81ee4 6394
48aec0bc
DP
6395 * config/darwin.h(LINK_SPEC): Add darwin specific linker options.
6396 * doc/invoke.texi: Add new "Darwin Options" section.
4977bab6 6397
0e9f8e82
JW
63982002-12-10 Jim Wilson <wilson@redhat.com>
6399
6400 * rs6000.h (RETURN_IN_MEMORY): If ABI_V4, then TFmode is returned in
6401 memory.
6402
3e25353e
AH
64032002-12-10 Andrew Haley <aph@redhat.com>
6404
6405 * cse.c (cse_insn): Don't cse past a basic block boundary.
6406
17772b2a
JJ
64072002-12-10 Jakub Jelinek <jakub@redhat.com>
6408
6409 * config/linux.h (LIB_SPEC): If -pthread, add -lpthread even if
6410 -shared.
6411 * config/alpha/linux-elf.h (LIB_SPEC): Likewise.
6412 * config/alpha/linux.h (LIB_SPEC): Likewise.
6413 * config/arm/linux-elf.h (LIB_SPEC): Likewise.
6414 * config/pa/pa-linux.h (LIB_SPEC): Likewise.
6415 * config/sparc/linux.h (LIB_SPEC): Likewise.
6416 * config/sparc/linux64.h (LIB_SPEC): Likewise.
6417
63358530
LH
64182002-12-09 Larin Hennessy <larin@science.oregonstate.edu>
6419
6420 * doc/invoke.texi: Document UltraSparc III option.
6421
2e37b0ce
RH
64222002-12-09 Richard Henderson <rth@redhat.com>
6423
6424 * config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Define
6425 __tune_pentium2__ and __tune_pentium3__ as necessary.
6426
3a04ff64
RH
64272002-12-09 Richard Henderson <rth@redhat.com>
6428
6429 * target.h (gcc_target): Add cannot_force_const_mem.
6430 * target-def.h (TARGET_CANNOT_FORCE_CONST_MEM): New.
6431 (TARGET_INITIALIZER): Add it.
6432 * varasm.c (force_const_mem): Fail if cannot_force_const_mem.
6433 * expr.c (emit_move_insn): Be prepared for force_const_mem to fail.
6434 * reload1.c (reload): Likewise.
6435 * hooks.c (hook_bool_rtx_false): New.
6436 * hooks.h: Declare it.
6437
6438 * config/i386/i386.c (ix86_cannot_force_const_mem): New.
6439 (TARGET_CANNOT_FORCE_CONST_MEM): New.
6440 (ix86_expand_move): Remove de-const-pooling hack.
6441
a9a4005f
JH
6442Mon Dec 9 21:33:38 CET 2002 Jan Hubicka <jh@suse.cz>
6443
6444 * toplev.c (dump_file): Fix order to match reality.
6445
7ef788f0
GK
64462002-12-08 Geoffrey Keating <geoffk@apple.com>
6447
6448 * config/rs6000/rs6000.md (load_multiple): Use adjust_address_nv.
6449 (store_multiple): Likewise.
6450
3f320b7e
JDA
64512002-12-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
6452
6453 * pa/fptr.c (__canonicalize_funcptr_for_compare): Don't canonicalize
6454 function pointers in page 0.
6455
3870df96
SE
64562002-12-09 Steve Ellcey <sje@cup.hp.com>
6457
6458 * config/ia64/hpux.h (TARGET_STRUCT_ARG_REG_LITTLE_ENDIAN): Remove
6459 definition
6460 (MEMBER_TYPE_FORCES_BLK): Move.
6461 * config/ia64/ia64.c (ia64_function_arg): Use PARALLEL to pass
6462 aggregate arguments.
6463 (ia64_function_value): Use PARALLEL to return aggregate values.
6464
9ac3e73b
SE
64652002-12-09 Steve Ellcey <sje@cup.hp.com>
6466
6467 * doc/tm.texi (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
6468 * defaults.h (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
6469 * calls.c (store_unaligned_arguments_into_pseudos) Remove
6470 FUNCTION_ARG_REG_LITTLE_ENDIAN.
6471 * stmt.c (expand_return): Ditto.
6472 * expr.c (move_block_from_reg): Ditto.
6473 (copy_blkmode_from_reg): Ditto.
4977bab6 6474 * expmed.c (store_bit_field): Ditto.
9ac3e73b 6475
7f0db92a
SS
64762002-12-09 Svein E. Seldal <Svein.Seldal@solidas.com>
6477
6478 * config.gcc: Added tic4x-* target as an alias to c4x-*
6479
37c66aa6
JH
6480Sun Dec 8 14:57:39 CET 2002 Jan Hubicka <jh@suse.cz>
6481
7ef788f0
GK
6482 * i386.c (ix86_expand_int_movcc): Use force_operand instead of
6483 constructing insn directly.
37c66aa6 6484
4977bab6
ZW
64852002-12-06 Per Bothner <pbothner@apple.com>
6486
6487 * cpplib.h (struct cpp_hashnode): Change field directive_index from
6488 char to an int bit-field, for hosts where char is unsigned.
6489
64902002-12-07 Roger Sayle <roger@eyesopen.com>
6491 Richard Henderson <rth@redhat.com>
6492
6493 * real.c (ieee_extended_motorola_format,
6494 ieee_extended_intel_96_format, ieee_extended_intel_128_format,
6495 ieee_quad_format, vax_d_format, vax_g_format, i370_double_format):
6496 Provide appropriate values for new signbit field.
6497
64982002-12-07 Roger Sayle <roger@eyesopen.com>
6499
6500 * real.h (real_format): Add signbit field.
6501 * real.c (ieee_single_format, ieee_double_format,
6502 ieee_extended_motorola_format, ieee_extended_intel_96_format,
6503 ieee_extended_intel_128_format, ibm_extended_format,
6504 ieee_quad_format, vax_f_format, vax_d_format,
6505 vax_g_format, i370_single_format, i370_double_format,
6506 c4x_single_format, c4x_extended_format, real_internal_format):
6507 Provide suitable signbit value, or -1 to avoid bit twiddling.
6508
6509 * optabs.c (expand_unop): Try implementing negation of
6510 floating point modes by flipping the sign bit.
6511 (expand_abs): Try implementing abs of floating point modes
6512 by clearing the sign bit.
6513
6514Sat Dec 7 22:29:47 CET 2002 Jan Hubicka <jh@suse.cz>
6515
6516 * i386.c (ix86_expand_int_movcc): Use force_operand instead
6517 of constructing insn directly.
6518
2a598b3a
KH
65192002-12-07 Kazu Hirata <kazu@cs.umass.edu>
6520
6521 * config/h8300/h8300.md (*iorhi_shift_8): New.
6522
70899148
BS
65232002-12-06 Bernd Schmidt <bernds@redhat.com>
6524
6525 * doc/invoke.texi: Document FRV port options.
6526 * doc/md.texi: Document FRV register classes.
6527
377dfc82
GP
65282002-12-07 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
6529
6530 * doc/install.texi (Configuration): Improve description of cases
6531 where `make distclean` may fail; clarify --with-gnu-as; fix grammar.
6532
4977bab6
ZW
65332002-12-06 Per Bothner <pbothner@apple.com>
6534
6535 * cpplib.h (NODE_MACRO_ARG): New flag.
6536 (struct cpp_hashnode): Give _cpp_hashnode_value tag to value union.
6537 Remove value.operator field. Move arg_index field to value union.
6538 (directive_index): Make signed, since also used for C++ operators.
6539 * cppmacro.c (_cpp_save_parameter): Use NODE_MACRO_ARG flag to
6540 check for duplicate parameter. Set NODE_MACRO_ARG flag.
6541 Save node->value, and set node->value.arg_index.
6542 (_cpp_create_definition): For each paramater, restore node->value.
6543 (lex_expansion_token): Use NODE_MACRO_ARG flag, and moved arg_index.
6544 * cpptrad.c (scan_out_logical_line): Likewise.
6545 (scan_out_logical_line): Check for directive > 0.
6546 * cpplib.c (cpp_handle_directive): Likewise.
6547 * cpplex.c (_cpp_lex_direct): Update as value.operator is replaced
6548 by negative of directive_index.
6549 * cppinit.c (mark_named_operators): Likewise.
6550
6551 * hashtable.h (struct ht_identifier): Swap fields, for better packing.
6552
7144b2d8
DD
65532002-12-06 Dhananjay Deshpande <dhananjayd@kpit.com>
6554
6555 * gcc/config/sh/sh.c (calc_live_regs): Save fpscr only if target has
6556 FPU.
6557 (push): Generate push_fpscr.
6558 (pop): Generate pop_fpscr.
6559 * gcc/config/sh/sh.md : Add define_expand "push_fpscr", "pop_fpscr".
6560 (fpu_switch): Add alternative to push fpscr. Enable for TARGET_SH3E.
6561
aa06e8f5
R
6562Fri Dec 6 19:36:24 2002 J"orn Rennecke <joern.rennecke@superh.com>
6563
6564 * sh.c (dump_table): DImode pool constants need only 32 bit alignment.
6565 DFmode alignment depends on TARGET_FMOVD && TARGET_ALIGN_DOUBLE.
6566
0113c3c0
R
6567Fri Dec 6 19:17:49 2002 J"orn Rennecke <joern.rennecke@superh.com>
6568
6569 * sh.md (movdi_i): Name. Remove inappropriate comment.
6570
8d6b008d
R
6571Fri Dec 6 15:44:46 2002 J"orn Rennecke <joern.rennecke@superh.com>
6572 Merged from basic improvements branch (excerpt):
6573
6574 2002-11-19 Kaz Kojima <kkojima@gcc.gnu.org>
6575 * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
6576
61f6c84f
JJ
65772002-12-06 Jakub Jelinek <jakub@redhat.com>
6578
6579 * expr.c (expand_expr) <case COND_EXPR>: Never modify exp in place.
6580
4977bab6
ZW
6581Thu Dec 5 16:58:25 CET 2002 Jan Hubicka <jh@suse.cz>
6582
6583 * i386.md (dimode peep2s): Re-add "&& 1".
6584
6585Thu Dec 5 14:10:15 CET 2002 Jan Hubicka <jh@suse.cz>
6586
6587 * i386.c (ix86_expand_prologue): Add comment, do not use
6588 fast prologues for cold and normal functions.
6589
6590Thu Dec 5 00:52:37 CET 2002 Jan Hubicka <jh@suse.cz>
6591
6592 * i386.c (x86_rep_movl_optimal): New variable.
6593 (ix86_expand_movstr, ix86_expand_clrstr): Use TARGET_REP_MOVL_OPTIMAL
6594 * i386.h (TARGET_REP_MOVL_OPTIMAL): New macro.
6595
6596 * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
6597 absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
6598 neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
6599 generate unnecesary subregs.
6600
bf97847b
JDA
66012002-12-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
6602
6603 * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): Move define.
6604 * pa.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): To here.
6605
1fcfaf37
DJ
66062002-12-05 Dale Johannesen <dalej@apple.com>
6607
6608 * tree.c (unsafe_for_reeval): Consider callee child of CALL_EXPR.
6609
1a823ac1
DS
66102002-12-05 Danny Smith <dannysmith@users.sourceforge.net>
6611
6612 * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Replace with
6613 PROFILE_HOOK.
6614 * config/i386/mingw32.h (SUBTARGET_PROLOGUE): Don't undef.
6615
747db477
AH
66162002-12-05 Aldy Hernandez <aldyh@redhat.com>
6617
6618 * config/rs6000/spe.h (__ev_mwlufi): Remove.
6619 (__ev_mwlufia): Remove.
6620 (__ev_mwlumfaaw): Remove.
6621 (__ev_mwlusfaaw): Remove.
6622 (__ev_mwlumfanw): Remove.
6623 (__ev_mwlusfanw): Remove.
6624
94f09825
KH
66252002-12-05 Kazu Hirata <kazu@cs.umass.edu>
6626
6627 * config/h8300/h8300.md (*andorsi3_shift_8): New.
6628
1e5bdc40
KH
66292002-12-05 Kazu Hirata <kazu@cs.umass.edu>
6630
6631 * config/h8300/h8300.c (shift_alg_si): Optimize ashift:HI and
6632 lshiftrt:SI by 28, 29, and 30 bits when !TARGET_H8300.
6633 (get_shift_alg): Return optimal assembly instructions for the
6634 shifts mentioned above.
6635
4977bab6
ZW
6636Wed Dec 4 11:53:07 CET 2002 Jan Hubicka <jh@suse.cz>
6637
6638 * i386.c (ix86_expand_int_movcc): Force operand into register for QImode
6639 condtiional moves.
6640
b6fd51f6
KH
66412002-12-04 Kazu Hirata <kazu@cs.umass.edu>
6642
6643 * config/h8300/h8300.c (h8300_init_once): Do not use loop to
6644 implement ashiftrt:HI by 13 bits on H8S.
6645
9e1ab8c1
JDA
66462002-12-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
6647
6648 * pa/fptr.c (__canonicalize_funcptr_for_compare): New file and function.
6649 * pa.md (canonicalize_funcptr_for_compare): Output library call to
6650 canonicalize_funcptr_for_compare_libfunc on TARGET_ELF32.
6651 * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL,
6652 CTOR_LIST_BEGIN): New defines.
6653 * pa/t-linux (LIB2FUNCS_EXTRA): New define.
6654 (fptr.c): Add make rules.
6655
16823694
GK
66562002-12-04 Geoffrey Keating <geoffk@apple.com>
6657
6658 * combine.c (combine_simplify_rtx): Add new canonicalizations.
6659 * doc/md.texi (Insn Canonicalizations): Document new
6660 canonicalizations for multiply/add combinations.
6661 * config/rs6000/rs6000.md: Add and modify floating add/multiply
6662 patterns to ensure they're used whenever they can be.
6663
5ec0b66e
KH
66642002-12-04 Kazu Hirata <kazu@cs.umass.edu>
6665
6666 * config/h8300/h8300.c: Update the comments related to shifts.
6667
7fa9ed65
CD
66682002-12-04 Chris Demetriou <cgd@broadcom.com>
6669
6670 * config/mips/mips.md (get_fnaddr): Correct length attribute.
6671
6bd6fd35
KH
66722002-12-04 Kazu Hirata <kazu@cs.umass.edu>
6673
6674 * config/h8300/h8300.md (*extzv_8_8): New.
6675 (*extzv_8_16): Likewise.
6676
c246c65d
JM
66772002-12-04 Jason Merrill <jason@redhat.com>
6678
6679 PR c++/8461, c++/8625
6680 * integrate.c (copy_decl_for_inlining): Handle explicit invisible
6681 references.
6682 * tree-inline.c (initialize_inlined_parameters): Likewise.
6683
6684 * tree.c (variably_modified_type_p): Just return an error_mark_node.
6685
ae598ab9
CD
66862002-12-04 Chris Demetriou <cgd@broadcom.com>
6687
6688 * config/mips/mips.md (get_fnaddr): Avoid placing an "la"
6689 macro instruction in a branch delay slot, to avoid assembler
6690 warnings.
6691
a9b6f1e7
EB
66922002-12-04 Eric Botcazou <ebotcazou@libertysurf.fr>
6693
6694 PR c/7622
6695 * c-semantics (genrtl_scope_stmt): Do not output inlined
6696 nested functions that contain no code.
6697
a3716585
JH
6698Wed Dec 4 15:20:54 CET 2002 Jan Hubicka <jh@suse.cz>
6699
6700 * cfgrtl.c (force_nonfallthru_and_redirect): Allow abnormal edge
6701 to be forced into nonfallthru.
6702
44924a36
JT
67032002-12-03 Jason Thorpe <thorpej@wasabisystems.com>
6704
6705 * config/t-netbsd (USER_H): Set to $(EXTRA_HEADERS).
6706
3678a93e
AH
67072002-12-03 Aldy Hernandez <aldyh@redhat.com>
6708
4977bab6 6709 * config/rs6000/spe.md (*movv1di_const0): New pattern.
3678a93e 6710
6e1be6b1
RH
67112002-12-03 Richard Henderson <rth@redhat.com>
6712
6713 * libgcc-std.ver: Inherit GCC_3.3 from GCC_3.0.
6714
c47eb51b
HPN
67152002-12-03 Hans-Peter Nilsson <hp@bitrange.com>
6716
6717 * bitmap.c (bitmap_ior_and_compl, bitmap_union_of_diff):
6718 Initialize tmp.using_obstack to 0.
6719
2cff4a6e
AS
67202002-12-03 Andreas Schwab <schwab@suse.de>
6721
6722 * config/m68k/m68k.h (EH_RETURN_DATA_REGNO): Define.
6723 (EH_RETURN_STACKADJ_RTX): Define.
6724 (EH_RETURN_HANDLER_RTX): Define.
6725 (ASM_PREFERRED_EH_DATA_FORMAT): Define.
6726 * config/m68k/m68k.c (m68k_save_reg): New function. Handle eh
6727 registers and don't save fixed registers.
6728 (m68k_output_function_prologue): Use it.
6729 (use_return_insn): Likewise.
6730 (m68k_output_function_epilogue): Likewise.
6731
491a9777
KH
67322002-12-03 Kazu Hirata <kazu@cs.umass.edu>
6733
6734 * config/h8300/h8300.c (single_one_operand): Fix a warning.
6735 (single_zero_operand): Likewise.
6736
4977bab6
ZW
67372002-12-02 Nathanael Nerode <neroden@gcc.gnu.org>
6738
6739 * Makefile.in configure configure.in dummy-conditions.c fix-header.c
6740 gcov-iov.c gen-protos.c genattr.c genattrtab.c genautomata.c
6741 gencheck.c gencodes.c genconditions.c genconfig.c genconstants.c
6742 genemit.c genextract.c genflags.c gengenrtl.c gengtype-lex.l
6743 gengtype-yacc.y gengtype.c genopinit.c genoutput.c genpeep.c
6744 genpreds.c genrecog.c gensupport.c mkconfig.sh read-rtl.c
6745 scan-decls.c scan.c config/sh/sh.h doc/configfiles.texi
6746 doc/install-old.texi: Replace hconfig.h with bconfig.h.
6747 * Makefile.in: Replace HCONFIG_H with BCONFIG_H.
6748
67492002-12-02 Andrew Pinski <pinskia@physics.uc.edu>
6750
6751 * config/rs6000/rs6000.md (ffssi): Convert to expander.
6752 (ffsdi): Likewise.
6753 (cntlzw2, cntlzd2): New patterns.
6754
67552002-12-02 H.J. Lu <hjl@gnu.org>
6756
6757 * config.gcc (mips*-*-netbsd*): Remove mips/t-netbsd.
6758 (mips*-*-linux*): Remove mips/t-linux.
6759
6760Mon Dec 2 19:26:30 CET 2002 Jan Hubicka <jh@suse.cz>
6761
6762 * i386.c (ix86_expand_int_movcc): Avoid overflow.
6763
e8a68017
KH
67642002-12-02 Kazu Hirata <kazu@cs.umass.edu>
6765
6766 * config/h8300/h8300.c (dosize): Replace argument op with
6767 sign.
6768 (h8300_output_function_prologue): Update the call to dosize.
6769 (h8300_output_function_epilogue): Likewise.
6770
834572b8
BW
67712002-12-02 Bob Wilson <bob.wilson@acm.org>
6772
6773 * config/xtensa/xtensa.h: Delete ifndefs with nothing inside them.
6774
67752002-12-02 Craig Rodrigues <rodrigc@gcc.gnu.org>
9118405f
CR
6776
6777 * configure.in: Use "missing" script to generate warning if
6778 flex or bison programs not found, instead of invoking "false".
6779 * configure: Rebuilt.
6780
4ff38cd5
JH
6781Mon Dec 2 20:28:48 CET 2002 Jan Hubicka <jh@suse.cz>
6782
6783 * unroll.c (copy_loop_body): Copy CONST_OR_PURE_CALL_P.
6784
adc72fa6
JH
6785Mon Dec 2 19:42:52 CET 2002 Jan Hubicka <jh@suse.cz>
6786
6787 * i386.c (ix86_expand_int_movcc): Avoid overflow.
6788
513f31eb
KH
67892002-12-02 Kazu Hirata <kazu@cs.umass.edu>
6790
6791 * config/h8300/h8300.c (dosize): Output r7/er7 instead of sp.
6792 (push): Likewise.
6793 (pop): Likewise.
6794 (h8300_output_function_prologue): Likewise.
6795 (h8300_output_function_epilogue): Likewise.
6796
7ffc9761
R
6797Mon Dec 2 14:43:22 2002 J"orn Rennecke <joern.rennecke@superh.com>
6798
6799 * expmed.c (store_bit_field): Use int_mode_for_mode to find
6800 corresponding mode of non-integer mode, unless it is VOIDmode.
6801
0a2a0a58
KH
68022002-12-02 Kazu Hirata <kazu@cs.umass.edu>
6803
6804 * config/h8300/h8300.md (stm_h8300s_2): New.
6805 (stm_h8300s_3): Likewise.
6806 (stm_h8300s_4): Likewise.
6807 (five define_peephole2): Likewise.
6808
28432d9f
KH
68092002-12-02 Kazu Hirata <kazu@cs.umass.edu>
6810
6811 * ra-build.c: Fix a comment typo.
6812
4977bab6
ZW
6813Sun Dec 1 16:50:47 CET 2002 Jan Hubicka <jh@suse.cz>
6814
6815 * i386.c (ix86_expand_int_movcc): fix
6816 reversed BRANCH_COST test; be curefull about infinite recursion.
6817
e651d484
KH
68182002-12-01 Kazu Hirata <kazu@cs.umass.edu>
6819
6820 * config/h8300/h8300.c (h8300_output_function_prologue):
6821 Remove variable idx.
6822 (h8300_output_function_epilogue): Likewise.
6823
558bb2c4
ZW
68242002-12-01 Zack Weinberg <zack@codesourcery.com>
6825
6826 * config/frv/xm-frv.h: Delete, unnecessary.
6827
96cc06af
KH
68282002-12-01 Kazu Hirata <kazu@cs.umass.edu>
6829
6830 * config/h8300/h8300.md: Add comments for define_peephole2.
6831
c9f8536c
MM
68322002-12-01 Mark Mitchell <mark@codesourcery.com>
6833
6834 * builtin-types.def (BT_SIZE): Use size_type_node.
6835 * builtins.c (fold_builtin): Make the builtin strlen returns a
6836 size_t, not a sizetype.
6837 * c-common.c (c_sizeof_or_alignof_type): Use size_type_node, not
6838 c_size_type_node.
6839 (c_alignof_expr): Likewise.
6840 (c_common_nodes_and_builtins): Likewise.
6841 * c-common.h (CTI_C_SIZE_TYPE): Remove.
6842 (c_size_type_node): Likewise.
6843 * c-format.c (T_ST): Use size_type_node, not c_size_type_node.
6844 * tree.h (TI_SIZE_TYPE): New enumeral.
6845 (size_type_node): Likewise.
4977bab6
ZW
6846
68472002-11-30 Zack Weinberg <zack@codesourcery.com>
6848
6849 * configure.in: Don't put ${tm_file} into host_xm_file,
6850 build_xm_file, or xm_file. Do put tm-preds.h into tm_p_file.
6851 Take location of tm-preds.h into account when calculating
6852 tm_p_file_list.
6853 * configure: Regenerate.
6854 * mkconfig.sh: No need for separate TM_DEFINES and XM_DEFINES
6855 arguments. Do not provide rtx, rtvec, tree, or GTY here.
6856 Remove special case code for tm_p.h and *config.h; add new
6857 special case code for tm.h and tconfig.h. Clean up a bit.
6858
6859 * Makefile.in (tm_file, tm_file_list): New variables set from
6860 @-substitutions.
6861 (GCONFIG_H): Deleted.
6862 (GTM_H, TM_H): New.
6863 (CONFIG_H): Is now just config.h $(host_xm_file_list).
6864 (TM_P_H): Move up with the other mkconfig.sh-generated
6865 headers; don't mention tm-preds.h explicitly.
6866 (tm.h, cs-tm.h): New rule.
6867 (cs-config.h, cs-hconfig.h, cs-tconfig.h, cs-tm_p.h): Adjust
6868 invocations of mkconfig.sh for changes to that program.
6869 (mostlyclean): Delete print-rtl1.c.
6870 (clean): Delete tm.h.
6871 Update dependencies for the files listed below.
6872
6873 * mklibgcc.in: Add 'coretypes.h $(TM_H)' to libgcc2_c_dep.
6874
6875 * coretypes.h: New file.
6876 * system.h: #define malloc to xmalloc and realloc to xrealloc
6877 when FLEX_SCANNER or YYBISON is defined, independent of the
6878 value of GCC_VERSION.
6879 * alias.c, attribs.c, bb-reorder.c, bitmap.c, builtins.c,
6880 c-aux-info.c, c-common.c, c-convert.c, c-decl.c, c-dump.c,
6881 c-errors.c, c-format.c, c-lang.c, c-lex.c, c-objc-common.c,
6882 c-opts.c, c-parse.in, c-pragma.c, c-pretty-print.c,
6883 c-semantics.c, c-typeck.c, caller-save.c, calls.c, cfg.c,
6884 cfganal.c, cfgbuild.c, cfgcleanup.c, cfglayout.c, cfgloop.c,
6885 cfgrtl.c, collect2.c, combine.c, conflict.c, convert.c,
6886 cppdefault.c, cpperror.c, cppexp.c, cppfiles.c, cpphash.c,
6887 cppinit.c, cpplex.c, cpplib.c, cppmacro.c, cppmain.c,
6888 cppspec.c, cpptrad.c, crtstuff.c, cse.c, cselib.c, dbxout.c,
6889 debug.c, df.c, diagnostic.c, doloop.c, dominance.c,
6890 dummy-conditions.c, dwarf2asm.c, dwarf2out.c, dwarfout.c,
6891 emit-rtl.c, errors.c, et-forest.c, except.c, explow.c,
6892 expmed.c, expr.c, final.c, fix-header.c, flow.c, fold-const.c,
6893 function.c, gcc.c, gccspec.c, gcov-dump.c, gcov-iov.c, gcov.c,
6894 gcse.c, gen-protos.c, genattr.c, genattrtab.c, genautomata.c,
6895 gencheck.c, gencodes.c, genconditions.c, genconfig.c,
6896 genconstants.c, genemit.c, genextract.c, genflags.c,
6897 gengenrtl.c, gengtype-lex.l, gengtype-yacc.y, gengtype.c,
6898 genopinit.c, genoutput.c, genpeep.c, genpreds.c, genrecog.c,
6899 gensupport.c, ggc-common.c, ggc-none.c, ggc-page.c,
6900 ggc-simple.c, global.c, graph.c, haifa-sched.c, hashtable.c,
6901 hooks.c, ifcvt.c, integrate.c, intl.c, jump.c, langhooks.c,
6902 lcm.c, libgcc2.c, line-map.c, lists.c, local-alloc.c, loop.c,
6903 main.c, mbchar.c, mips-tdump.c, mips-tfile.c, mkdeps.c,
6904 optabs.c, params.c, predict.c, prefix.c, print-rtl.c,
6905 print-tree.c, profile.c, protoize.c, ra-build.c,
6906 ra-colorize.c, ra-debug.c, ra-rewrite.c, ra.c, read-rtl.c,
6907 real.c, recog.c, reg-stack.c, regclass.c, regmove.c,
6908 regrename.c, reload.c, reload1.c, reorg.c, resource.c,
6909 rtl-error.c, rtl.c, rtlanal.c, sbitmap.c, scan-decls.c,
6910 scan.c, sched-deps.c, sched-ebb.c, sched-rgn.c, sched-vis.c,
6911 sdbout.c, sibcall.c, simplify-rtx.c, ssa-ccp.c, ssa-dce.c,
6912 ssa.c, stmt.c, stor-layout.c, stringpool.c, timevar.c,
6913 tlink.c, toplev.c, tracer.c, tree-dump.c, tree-inline.c,
6914 tree.c, unroll.c, varasm.c, varray.c, varray.h, vmsdbgout.c,
6915 xcoffout.c, config/darwin-c.c, config/darwin.c,
6916 config/fp-bit.c, config/alpha/alpha.c, config/alpha/vms-cc.c,
6917 config/alpha/vms-ld.c, config/arc/arc.c, config/arm/arm.c,
6918 config/arm/pe.c, config/avr/avr.c, config/c4x/c4x-c.c,
6919 config/c4x/c4x.c, config/cris/cris.c, config/d30v/d30v.c,
6920 config/dsp16xx/dsp16xx.c, config/fr30/fr30.c,
6921 config/frv/frv.c, config/h8300/h8300.c, config/i370/i370-c.c,
6922 config/i370/i370.c, config/i386/i386.c, config/i386/winnt.c,
6923 config/i960/i960-c.c, config/i960/i960.c,
6924 config/ia64/ia64-c.c, config/ia64/ia64.c, config/ip2k/ip2k.c,
6925 config/m32r/m32r.c, config/m68hc11/m68hc11.c,
6926 config/m68k/m68k.c, config/m88k/m88k.c, config/mcore/mcore.c,
6927 config/mips/irix6-libc-compat.c, config/mips/mips.c,
6928 config/mmix/mmix.c, config/mn10200/mn10200.c,
6929 config/mn10300/mn10300.c, config/ns32k/ns32k.c,
6930 config/pa/pa.c, config/pdp11/pdp11.c, config/romp/romp.c,
6931 config/rs6000/rs6000-c.c, config/rs6000/rs6000.c,
6932 config/s390/s390.c, config/sh/sh.c, config/sparc/gmon-sol2.c,
6933 config/sparc/sparc.c, config/stormy16/stormy16.c,
6934 config/v850/v850-c.c, config/v850/v850.c, config/vax/vax.c,
6935 config/xtensa/xtensa.c, objc/objc-act.c, objc/objc-lang.c:
6936 Include coretypes.h and tm.h.
6937
6938 * genattrtab.c, genconditions.c, genemit.c, genextract.c,
6939 gengenrtl.c, gengtype.c, genopinit.c, genoutput.c, genpeep.c,
6940 genrecog.c: Include coretypes.h and tm.h from the file
6941 generated by this program.
6942
6943 * unwind-dw2-fde-darwin.c, unwind-dw2-fde-glibc.c,
6944 unwind-dw2-fde.c, unwind-dw2.c, unwind-sjlj.c: Include
6945 coretypes.h and tm.h, and tsystem.h when not already included.
6946 No need to include stddef.h nor stdlib.h.
6947
6948 * fixinc/fixlib.h: Include coretypes.h and tm.h. Do not
6949 include auto-host.h or ansidecl.h/
6950 * fixinc/server.h: Do not include stdio.h, unistd.h, or fixlib.h.
6951 * fixinc/procopen.c: Include server.h after fixlib.h. Do not
6952 include auto-host.h, ansidecl.h, or system.h.
6953 * fixinc/server.c: Likewise. Also, do not include signal.h,
6954 and do not redefine volatile.
6955
6956Sat Nov 30 17:16:46 CET 2002 Jan Hubicka <jh@suse.cz>
6957
6958 * i386.md (movdf_integer): Always enable in 64bit.
6959 (movdf_nointeger): Always disable in 64bit.
6960
f6318a2b
JDA
69612002-11-30 John David Anglin <dave@hiauly1.hia.nrc.ca>
6962
6963 * cfg.c (dump_flow_info): Use max_reg_num () to determine the largest
6964 pseudo register number plus 1.
6965
4977bab6
ZW
6966Fri Nov 29 20:10:56 2002 J"orn Rennecke <joern.rennecke@superh.com>
6967
6968 * expmed.c (store_bit_field): Use int_mode_for_mode to find
6969 corresponding mode of non-integer mode, unless it is VOIDmode.
6970
2402645b
HPN
69712002-11-29 Hans-Peter Nilsson <hp@bitrange.com>
6972
6973 * cpplib.c (_cpp_test_assertion): Default *value to 0.
6974
6975 * cppexp.c (num_part_mul): Initialize result.unsignedp, to 1.
6976
8ef34c0d
UW
69772002-11-29 Ulrich Weigand <uweigand@de.ibm.com>
6978
6979 * config/s390/t-crtstuff: New target makefile fragment.
6980 * config.gcc [s390-*-linux, s390x-*-linux]: Use it.
6981
b8bbda91
KH
69822002-11-29 Kazu Hirata <kazu@cs.umass.edu>
6983
6984 * config/h8300/h8300.md (movsi_h8300hs): Change the order of
6985 alternatives to correct the length when the memory operand is
6986 either pre_dec or post_inc.
6987
d23dff51
KH
69882002-11-29 Kazu Hirata <kazu@cs.umass.edu>
6989
6990 * config/h8300/h8300.md (an anonymous pattern): Give an
6991 internal name *tst_extzv_bitqi_1_n.
6992 Accept bit_operand instead of bit_memory_operand.
6993 Do not accept bit tests with the MSB.
6994 (*tst_extzv_memqi_1_n): New.
6995
4977bab6
ZW
6996Thu Nov 28 23:56:24 CET 2002 Jan Hubicka <jh@suse.cz>
6997
6998 * i386.c (ix86_expand_int_movcc): Add copy_rtx to avoid invalid RTX
6999 sharing when operand is SUBREG.
7000
7001Thu Nov 28 08:57:26 CET 2002 Jan Hubicka <jh@suse.cz>
7002
7003 * athlon.md (athlon-decodev): New reservation unit.
7004 (athlon-direct0): New reservation.
7005 (athlon-vector): New use athlon-decodev.
7006 (athlon-double, athlon-direct): Better model.
7007 (athlon_imul_k8): Use athlon-direct0.
7008 (athlon_movlpd_load): New insn reservation.
7009
3f7211f1
KH
70102002-11-28 Kazu Hirata <kazu@cs.umass.edu>
7011
7012 * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
7013 Fix a comment typo.
7014 (h8300_tiny_constant_address_p): Likewise.
7015
fcb204ce
MM
70162002-11-28 Michael Matz <matz@suse.de>
7017
7018 * doc/passes.texi: Mention the other register allocator.
7019
7957fde4
KH
70202002-11-28 Kazu Hirata <kazu@cs.umass.edu>
7021
7022 * config/h8300/h8300.md (6 new peephole2 patterns): New.
7023
17c04c5e
JJ
70242002-11-28 Jakub Jelinek <jakub@redhat.com>
7025
7026 * config.gcc (x86_64-*-linux*) [tmake_file]: Remove i386/t-crtstuff.
7027 * config/t-linux (CRTSTUFF_T_CFLAGS_S): Add $(CRTSTUFF_T_CFLAGS).
7028 * config/i386/t-linux64 (CRTSTUFF_T_CFLAGS): Define.
7029
73cc75e9
KH
70302002-11-28 Kazu Hirata <kazu@cs.umass.edu>
7031
7032 * config/h8300/h8300.c (h8300_and_costs): New.
7033 * config/h8300/h8300.h (RTX_COSTS): Use h8300_and_costs.
7034 * config/h8300/h8300-protos.h: Add a prototype for
7035 h8300_and_costs.
7036
4977bab6
ZW
7037Wed Nov 27 20:34:13 CET 2002 Jan Hubicka <jh@suse.cz>
7038
7039 * i386.c (x86_sse_partial_regs_for_cvtsd2ss): New.
7040 * i386.h (x86_sse_partial_regs_for_cvtsd2ss): Declare.
7041 (TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS): New macro.
7042 * i386.md (truncdfsf patterns and splitters): Use
7043 TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS
7044
0dbc3651
ZW
70452002-11-27 Zack Weinberg <zack@codesourcery.com>
7046
7047 * config/rs6000/rs6000.c (altivec_init_builtins): Make the
7048 pointer argument in the prototypes of the following builtins
7049 be (const TYPE *) rather than (TYPE *):
7050 + __builtin_altivec_ld_internal_4sf
7051 + __builtin_altivec_ld_internal_4si
7052 + __builtin_altivec_ld_internal_8hi
7053 + __builtin_altivec_ld_internal_16qi
7054 + __builtin_altivec_lvsl
7055 + __builtin_altivec_lvsr
7056 + __builtin_altivec_lvebx
7057 + __builtin_altivec_lvehx
7058 + __builtin_altivec_lvewx
7059 + __builtin_altivec_lvxl
7060 + __builtin_altivec_lvx
7061 + __builtin_altivec_dst
7062 + __builtin_altivec_dstt
7063 + __builtin_altivec_dstst
7064 + __builtin_altivec_dststt
7065
fe3f9515
KG
70662002-11-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7067
7068 * except.c (default_exception_section): Move variable into the
7069 scope where it is used.
7070
4e85eada
KW
70712002-11-27 Krister Walfridsson <cato@df.lth.se>
7072
7073 * config.gcc (*-*-netbsd[2-9]*, *-*-netbsdelf[2-9]*): Test for
7074 correct version.
7075
f248423a
KH
70762002-11-27 Kazu Hirata <kazu@cs.umass.edu>
7077
7078 * config/h8300/h8300.h (OK_FOR_U): Remove extra parentheses.
7079
ae557002
KH
70802002-11-27 Kazu Hirata <kazu@cs.umass.edu>
7081
7082 * config/h8300/h8300.c (h8300_shift_costs): New.
7083 * config/h8300/h8300.h (RTX_COSTS): Use h8300_shift_costs.
7084 * config/h8300/h8300-protos.h: Add a prototype for
7085 h8300_shift_costs.
7086
c9b93e1a
JW
70872002-11-27 Jim Wilson <wilson@redhat.com>
7088
0dbc3651
ZW
7089 * config/rs6000/spe.md (spu_evsplatfi, spu_evsplati): Swap operands
7090 in output template.
c9b93e1a 7091
249e6b63
CH
70922002-11-27 Casper S. Hornstrup <chorns@users.sourceforge.net>
7093
7094 * config/i386/i386.h (DLL_IMPORT_EXPORT_PREFIX): Define.
7095 * config/i386/winnt.c (i386_pe_dllexport_name_p): Use
7096 DLL_IMPORT_EXPORT_PREFIX, not '@'.
7097 (i386_pe_dllimport_name_p): Likewise.
7098 (i386_pe_mark_dllexport): Likewise.
7099 (i386_pe_mark_dllimport): Likewise.
7100 (i386_pe_encode_section_info): Likewise.
7101 (i386_pe_strip_name_encoding): Likewise.
7102
5a5c00af
RH
71032002-11-27 Richard Henderson <rth@redhat.com>
7104
7105 * mkmap-symver.awk (BEGIN): Set sawsymbol false.
7106 (nm && NF == 3): Set sawsymbol true.
7107 (END): Exit if no symbols seen.
7108 (output): Fix map syntax error if no globals for the version.
7109
1dc46545
JH
7110Wed Nov 27 14:45:46 CET 2002 Jan Hubicka <jh@suse.cz>
7111
7112 * builtins.def (DEF_C99_BUILTIN): Fix.
7113
4977bab6
ZW
71142002-11-26 Kaz Kojima <kkojima@gcc.gnu.org>
7115
7116 * config/sh/lib1funcs.asm (FUNC, ENDFUNC0, ENDFUNC): New macros.
7117 (all): Add .size and .type information.
7118
7119Tue Nov 26 22:43:50 CET 2002 Jan Hubicka <jh@suse.cz>
7120
7121 * i386.c (ix86_expand_int_movcc): Do not emit lea for short mode on
7122 partial_reg_stall target.
7123
7124Tue Nov 26 22:27:47 CET 2002 Jan Hubicka <jh@suse.cz>
7125
7126 * i386.md (movhicc): Allow general operand.
7127 (movqicc): New expander.
7128 (movqicc_noc): New pattern.
7129 * i386.c (ix86_expand_carry_flag_compare): New function.
7130 (ix86_expand_int_movcc): Optimize harder using sbb; support more
7131 HImode conversion; support QImode conditional moves
7132
7133Tue Nov 26 16:30:59 CET 2002 Jan Hubicka <jh@suse.cz>
7134
7135 * i386.c (FAST_PROLOGUE_INSN_COUNT): Set to 20.
7136 (ix86_expand_prologue): Multiply the count by amount of registers to be
7137 pushed.
7138
7139Tue Nov 26 15:55:27 CET 2002 Jan Hubicka <jh@suse.cz>
7140
7141 * i386.c (override_options): Error about wrong -mcpu on x86-64
7142 compilation.
7143
71442002-11-26 NIIBE Yutaka <gniibe@m17n.org>
7145
7146 * config/sh/linux.h (FUNCTION_PROFILER): Implemented.
7147
7148Tue Nov 26 00:14:20 CET 2002 Jan Hubicka <jh@suse.cz>
7149
7150 * i386-protos.h (x86_extended_QIreg_mentioned_p,
7151 x86_extended_reg_mentioned_p): Declare.
7152 * i386.c (extended_reg_mentioned_1): New static function.
7153 (x86_extended_QIreg_mentioned_p,
7154 x86_extended_reg_mentioned_p): New global functions.
7155 * i386.h (REX_SSE_REGNO_P): New macro.
7156 * i386.md (prefix_rex): New attribute.
7157 (length attribute): Add rex.
7158
5154b05d
AH
71592002-11-26 Andrew Haley <aph@redhat.com>
7160
7161 * unwind-sjlj.c (_Unwind_FindEnclosingFunction): Rename
7162 from_Unwind_Find_Enclosing_Function.
7163 * unwind-dw2.c (_Unwind_FindEnclosingFunction): Likewise.
7164 * config/ia64/unwind-ia64.c (_Unwind_FindEnclosingFunction): Likewise.
7165 * libgcc-std.ver (_Unwind_FindEnclosingFunction): Rename from
7166 _Unwind_Find_Enclosing_Function, export @@GCC_3.3.
7167 * unwind.h (_Unwind_FindEnclosingFunction): Add.
0dbc3651 7168
0f942cae
HP
71692002-11-26 Hartmut Penner <hpenner@de.ibm.com>
7170
0dbc3651
ZW
7171 * config/s390/s390.c (390_output_constant_pool): Set alignment
7172 before label in 64 bit mode, behind otherwise.
0f942cae 7173
25fdb4dc
RH
71742002-11-26 Richard Henderson <rth@redhat.com>
7175
7176 * c-common.c (handle_visibility_attribute): Accept "default".
7177 * tree.h (enum symbol_visibility): New.
7178 (decl_visibility): Declare.
7179 * target.h (gcc_target.visibility): Take visibility arg as integer.
7180 * varasm.c (default_assemble_visibility): Likewise.
7181 (decl_visibility): New.
7182 (maybe_assemble_visibility): Use it.
7183 * output.h (default_assemble_visibility): Update prototype.
7184 * config/rs6000/rs6000.c (rs6000_assemble_visibility): Take
7185 visibility arg as integer.
d5c4db17 7186 * doc/extend.texi: Document default visibility.
25fdb4dc 7187
920e86b8
KH
71882002-11-26 Kazu Hirata <kazu@cs.umass.edu>
7189
7190 * config/h8300/h8300.c: Adjust spacing.
7191 * config/h8300/h8300.h: Likewise.
7192
7b1bd3c5
RH
71932002-11-26 Richard Henderson <rth@redhat.com>
7194
7195 * hooks.c (hook_bool_void_false, hook_void_tree_int,
7196 hook_void_FILEptr_constcharptr): Rename so that the return
7197 type is first.
7198 (hook_int_tree_tree_1, hook_void_tree, hook_void_tree_treeptr,
7199 hook_bool_tree_false): New.
7200 * hooks.h: Update.
7201 * langhooks-def.h: Update for renames.
7202 * target-def.h: Likewise.
7203 * tree.c (default_comp_type_attributes,
0dbc3651 7204 default_set_default_type_attributes, default_insert_attributes,
7b1bd3c5
RH
7205 default_function_attribute_inlinable_p,
7206 default_ms_bitfield_layout_p): Remove.
7207 * tree.h: Update.
7208
44571d6e
JDA
72092002-11-26 John David Anglin <dave@hiauly1.hia.nrc.ca>
7210
7211 * pa-protos.h (function_value): New prototype.
7212 * pa.c (function_value): Use a PARALLEL to return small aggregates on
7213 TARGET_64BIT.
7214 * pa.h (FUNCTION_VALUE): Use function_value.
7215 * pa.md (call_value_internal_symref, call_value_internal_reg_64bit,
7216 call_value_internal_reg, sibcall_value_internal_symref,
7217 sibcall_value_internal_symref_64bit): Remove =rf constraint on return
7218 value.
7219
084a1106
JDA
72202002-11-26 John David Anglin <dave@hiauly1.hia.nrc.ca>
7221
7222 * expr.c (gen_group_rtx, emit_group_move): New functions.
7223 * expr.h (gen_group_rtx, emit_group_move): Prototype.
7224 * function.c (expand_function_start): Use gen_group_rtx to create a
7225 PARALLEL rtx to hold the return value when the real return rtx is a
7226 PARALLEL.
7227 (expand_function_end): Use emit_group_move to move the return value
7228 from a PARALLEL to the real return registers.
7229 * rtl.h (REG_FUNCTION_VALUE_P): Allow function values to be returned
7230 in PARALLELs.
7231
5d2fe493
JT
72322002-11-26 Jason Thorpe <thorpej@wasabisystems.com>
7233
7234 * config/t-libc-ok: Fix typo.
7235
13c22933
JJ
72362002-11-26 Jakub Jelinek <jakub@redhat.com>
7237
7238 * configure.in: Move AC_CANONICAL_SYSTEM and AC_ARG_PROGRAM back
7239 before AC_PROG_CC.
7240 * configure: Rebuilt.
7241
5326cd3d
NS
72422002-11-26 Nathan Sidwell <nathan@codesourcery.com>
7243
7244 * c-decl.c: (start_struct): Commonize flag setting.
7245
647d340d
JT
72462002-11-26 Jason Thorpe <thorpej@wasabisystems.com>
7247
7248 * config/rs6000/rs6000.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): New.
7249 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Use
0dbc3651 7250 RS6000_CPU_CPP_ENDIAN_BUILTINS.
647d340d
JT
7251 * config/rs6000/netbsd.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): Redefine.
7252
29742ba4
HP
72532002-11-26 Hartmut Penner <hpenner@de.ibm.com>
7254
7255 * config/s390/s390.md (literal_pool_64, literal_pool_31 ): New
7256 insns.
7257 * config/s390/s390.c (struct machine_function): Introduction of
7258 struct machine_function.
0412a4d4
HP
7259 (s390_output_symbolic_const): Use of cfun.
7260 (s390_optimize_prolog): Likewise.
7261 (s390_fixup_clobbered_return_reg): Likewise.
7262 (s390_frame_info): Likewise.
7263 (s390_emit_prologue, s390_emit_epilogue): Likewise.
7264 (s390_init_machine_status): New function.
7265 (override_options): call s390_init_machine_status.
0dbc3651 7266 * config/s390/s390-protos.h (s390_output_constant_pool): Changed
29742ba4 7267 prototype.
0dbc3651 7268
f4111593
JJ
72692002-11-26 Jakub Jelinek <jakub@redhat.com>
7270
7271 * varasm.c (output_constant_pool): For pool constants in mergeable
7272 section ensure each constant is padded to multiple of entity size.
7273
96d0f4dc
JJ
72742002-11-26 Jakub Jelinek <jakub@redhat.com>
7275
7276 * varasm.c (default_exception_section): Move to...
7277 * except.c (default_exception_section): ... here. Make
7278 .gcc_except_table read-only if it is not expected to have any
7279 dynamic relocations and linker handles it.
7280 * dwarf2out.c (default_eh_frame_section): Make .eh_frame read-only
7281 if it is not expected to have any dynamic relocations and linker
7282 handles it.
7283 * configure.in (HAVE_LD_RO_RW_SECTION_MIXING): Check what ld does
7284 when linking read-only and read-write sections together.
7285 * configure, config.in: Rebuilt.
7286 * crtstuff.c (EH_FRAME_SECTION_CONST): Define.
7287 (__EH_FRAME_BEGIN__, __FRAME_END__): Add it.
7288
4977bab6
ZW
7289Mon Nov 25 18:32:37 CET 2002 Jan Hubicka <jh@suse.cz>
7290
7291 * i386.md (pushsf_rex64): Fix typo.
7292
020a7b12
AH
72932002-11-25 Aldy Hernandez <aldyh@redhat.com>
7294
249e6b63
CH
7295 * config/rs6000/spe.h (__ev_create_sfix32_fs): Change macro into
7296 new function.
7297 (__ev_create_ufix32_fs): Same.
7298 (__ev_get_sfix32_fs_internal): New.
7299 (__ev_get_sfix32_fs): Define to use function.
7300 (__ev_get_ufix32_fs_internal): New.
7301 (__ev_get_ufix32_fs): Define to use function.
7302 (__ev_get_upper_ufix32_fs): Call __ev_get_ufix32_fs.
7303 (__ev_get_lower_ufix32_fs): Same.
7304 (__ev_get_upper_sfix32_fs): Call __ev_get_sfix32_fs.
7305 (__ev_get_lower_sfix32_fs): Same.
7306 (__ev_set_sfix32_fs_internal): New.
7307 (__ev_set_ufix32_fs_internal): New.
7308 (__ev_set_sfix32_fs): Call __ev_set_sfix32_fs_internal.
7309 (__ev_set_ufix32_fs): Call __ev_set_ufix32_fs_internal.
7310 (__ev_set_upper_sfix32_fs): Call function.
7311 (__ev_set_lower_sfix32_fs): Same.
7312 (__ev_set_upper_ufix32_fs): Same.
7313 (__ev_set_lower_ufix32_fs): Same.
020a7b12 7314
d2dff06b
DR
73152002-11-25 Douglas B Rupp <rupp@gnat.com>
7316
7317 * gcc.c (do_spec_1): Reset delete_this_arg to zero.
7318
32f0ffb3
JT
73192002-11-25 Jason Thorpe <thorpej@wasabisystems.com>
7320
7321 * config/elfos.h (HANDLE_SYSV_PRAGMA): Define as 1.
7322 * config/interix.h (HANDLE_SYSV_PRAGMA): Likewise.
7323 * config/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
7324 * config/lynx-ng.h (HANDLE_SYSV_PRAGMA): Likewise.
7325 * config/lynx.h (HANDLE_SYSV_PRAGMA): Likewise.
7326 * config/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
7327 * config/openbsd.h (HANDLE_SYSV_PRAGMA: Likewise.
7328 * config/alpha/elf.h (HANDLE_SYSV_PRAGMA): Likewise.
7329 * config/arm/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
7330 * config/cris/aout.h (HANDLE_SYSV_PRAGMA): Likewise.
7331 * config/d30v/d30v.h (HANDLE_SYSV_PRAGMA): Likewise.
7332 * config/frv/frv.h (HANDLE_SYSV_PRAGMA): Likewise.
7333 * config/i386/djgpp.h (HANDLE_SYSV_PRAGMA): Likewise.
7334 * config/i386/i386-interix.h (HANDLE_SYSV_PRAGMA): Likewise.
7335 * config/i386/vxi386.h (HANDLE_SYSV_PRAGMA): Likewise.
7336 * config/ia64/ia64.h (HANDLE_SYSV_PRAGMA): Likewise.
7337 * config/m88k/m88k.h (HANDLE_SYSV_PRAGMA): Likewise.
7338 * config/mmix/mmix.h (HANDLE_SYSV_PRAGMA): Likewise.
7339 * config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Likewise.
7340 * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Likewise.
7341 * config/sparc/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
7342 * config/sparc/vxsparc64.h (HANDLE_SYSV_PRAGMA): Likewise.
7343 * config/stormy16/stormy16.h (HANDLE_SYSV_PRAGMA): Likewise.
7344 * config/alpha/osf.h (HANDLE_SYSV_PRAGMA): Don't undef before
7345 defining.
7346 * config/i386/sco5.h (HANDLE_SYSV_PRAGMA): Likewise.
7347 * config/mips/iris5.h (HANDLE_SYSV_PRAGMA): Likewise.
7348
160f9a4c
DP
73492002-11-25 Dave Pitts <dpitts@cozx.com>
7350
7351 * gcc/fixinc/mkfixinc.sh: add i370-*-openedition to bypass fixinc list
7352
3c0f5389
KH
73532002-11-25 Kazu Hirata <kazu@cs.umass.edu>
7354
7355 * config/h8300/h8300.md (an anonymous pattern): New.
7356
83bbd9b6
RH
73572002-11-25 Richard Henderson <rth@redhat.com>
7358
7359 * alias.c (find_base_value): Use new_reg_base_value if it's live.
7360 (copying_arguments): Make boolean.
7361
7c64a860
JT
73622002-11-25 Jason Thorpe <thorpej@wasabisystems.com>
7363
7364 * gcc.c (static_spec_functions): Add if-exists-else spec
7365 function.
7366 (if_exists_else_spec_function): New function.
7367 * doc/invoke.texi: Document the if-exists-else spec function.
7368
7369 * config/netbsd-elf.h (NETBSD_STARTFILE_SPEC): For -static, use
7370 "%:if-exists-else(crtbeginT%O%s crtbegin%O%s)".
7371
a4967b8d
JT
73722002-11-25 Jason Thorpe <thorpej@wasabisystems.com>
7373
7374 * config.gcc (powerpc-*-netbsd*): Replace "svr4.h" with
7375 "netbsd.h netbsd-elf.h" in tm_file. Set tmake_file to
7376 "${tmake_file} rs6000/t-netbsd".
7377 * config/rs6000/netbsd.h: Rewrite.
7378 * config/rs6000/t-netbsd: New file.
7379
a91dce31
KH
73802002-11-25 Kazu Hirata <kazu@cs.umass.edu>
7381
7382 * config/h8300/h8300.md (an anonymous pattern): Relax the
7383 condition for the pattern.
7384
fe29a4ea
AH
73852002-11-25 Aldy Hernandez <aldyh@redhat.com>
7386
7387 * config/rs6000/rs6000.h (enum rs6000_builtins): Remove evmwlssf,
7388 evmwlsmf, evmwlssfa, evmwlsmfa, evmwlssfaaw, evmwlsmfaaw,
7389 evmwlssfanw, evmwlsmfanw.
7390
7391 * config/rs6000/rs6000.c (bdesc_2arg): Same.
7392
7393 * config/rs6000/spe.md: Same for patterns.
7394
b77f3744
CE
73952002-11-25 Christian Ehrhardt <ehrhardt@mathematik.uni-ulm.de>
7396
7397 PR c/8639
7398 * fold-const.c (extract_muldiv): Don't propagate division unless
7399 both arguments are multiples of C.
7400
5dafd282
AH
74012002-11-25 Andrew Haley <aph@redhat.com>
7402
249e6b63
CH
7403 * libgcc-std.ver (_Unwind_Find_Enclosing_Function): Add.
7404 * config/ia64/unwind-ia64.c (_Unwind_Find_Enclosing_Function): New.
7405 * unwind-sjlj.c (_Unwind_Find_Enclosing_Function): Likewise.
7406 * unwind-dw2.c (_Unwind_Find_Enclosing_Function): Likewise.
5dafd282 7407
4977bab6
ZW
7408Sun Nov 24 10:38:04 CET 2002 Jan Hubicka <jh@suse.cz>
7409
7410 * i386.c (x86_use_ffreep): New global variable.
7411 * i386.h (x86_use_frfeep): Declare
7412 (TARGET_USE_FFREEP): New macro
7413 * i386.md (movs?f*): Use freep when asked for.
7414 (push?f): Remove dead code.
7415
92d4b8a0
KH
74162002-11-24 Kazu Hirata <kazu@cs.umass.edu>
7417
7418 * config/h8300/h8300.c (h8300_init_once): Fix a typo in the
7419 target help message.
7420
1169f9e0
JT
74212002-11-24 Jason Thorpe <thorpej@wasabisystems.com>
7422
7423 * config.gcc (*-*-netbsd*1.[7-9]*, *-*-netbsd*[2-9]*): Set
7424 extra_parts to "crtbegin.o crtend.o crtbeginS.o crtendS.o
7425 crtbeginT.o".
7426 (arm*-*-netbsd*, i[34567]86-*-netbsd*, m68k*-*-netbsd*)
7427 (ns32k-*-netbsd*, sparc-*-netbsd*, vax-*-netbsd*): Set extra_parts
7428 to "" for a.out configurations.
7429 * config/t-netbsd (CRTSTUFF_T_CFLAGS): Set to "-fPIC".
7430
adde288a
JT
74312002-11-24 Jason Thorpe <thorpej@wasabisystems.com>
7432
7433 * config/alpha/netbsd.h (CPP_SUBTARGET_SPEC): Just use
0dbc3651 7434 NETBSD_CPP_SPEC directly.
adde288a
JT
7435 (SUBTARGET_EXTRA_SPECS): Remove netbsd_cpp_spec. Add
7436 netbsd_endfile_spec.
7437 (ENDFILE_SPEC): Use %(netbsd_endfile_spec).
7438
1ebe8c03
JT
74392002-11-24 Jason Thorpe <thorpej@wasabisystems.com>
7440
7441 * config/netbsd-elf.h (STARTFILE_SPEC): Rename to
7442 NETBSD_STARTFILE_SPEC.
7443 (STARTFILE_SPEC): Redefine in terms of NETBSD_STARTFILE_SPEC.
7444 (ENDFILE_SPEC): Likewise.
7445 * config/netbsd.h (LIB_SPEC, LIBGCC_SPEC): Likewise.
7446
bdabc150
AS
74472002-11-24 Andreas Schwab <schwab@suse.de>
7448
523cb499
AS
7449 * Makefile.in (install-driver): Remove versioned link before
7450 trying to create it.
7451
bdabc150
AS
7452 * config/m68k/m68k.c: Fix typo in last change defining
7453 TARGET_ASM_CAN_OUTPUT_MI_THUNK.
7454
4977bab6
ZW
74552002-11-23 H.J. Lu <hjl@gnu.org>
7456
7457 * aclocal.m4: Include ../config/accross.m4.
7458 (gcc_AC_COMPILE_CHECK_SIZEOF): Removed.
7459 (gcc_AC_C_COMPILE_ENDIAN): Removed.
7460 (gcc_AC_C_FLOAT_FORMAT): Check $ac_cv_c_bigendian
7461 instead of $ac_cv_c_compile_endian.
7462
7463 * configure.in: Replace gcc_AC_COMPILE_CHECK_SIZEOF with
7464 AC_COMPILE_CHECK_SIZEOF.
7465 Replace gcc_AC_C_COMPILE_ENDIAN with AC_C_BIGENDIAN_CROSS.
7466 * configure: Rebuild.
7467
56b8e164
KH
74682002-11-23 Kazu Hirata <kazu@cs.umass.edu>
7469
7470 * config/h8300/h8300.c (print_operand): Update the use of
7471 h8300_tiny_constant_address_p.
7472 (h8300_adjust_insn_length): Likewise.
7473 (h8300_tiny_constant_address_p): Check if the given rtx is a
7474 variable declared with __attribute__ ((tiny_data)).
7475
2bb74773
DJ
74762002-11-22 Dale Johannesen <dalej@apple.com>
7477
249e6b63 7478 * toplev.c (rest_of_compilation): Fix comments.
2bb74773 7479
199cbacc
GK
74802002-11-22 Geoffrey Keating <geoffk@apple.com>
7481
7482 * aclocal.m4 (ac_cv_func_mmap_dev_zero): Darwin does not
7483 allow mmap from /dev/zero. Don't make decisions for the host
7484 based on presence or absence of /dev/zero on the build machine.
7485 (ac_cv_func_mmap_anon): Darwin does have working MMAP_ANON.
7486 (AC_FUNC_MMAP_FILE): Darwin does have mmap of a file.
7487 * configure: Regenerate.
7488
42766f8d
DJ
74892002-11-22 Daniel Jacobowitz <drow@mvista.com>
7490
7491 * gcc.c (make_relative_prefix, split_directories)
7492 (free_split_directories): Removed.
7493
80486e06
DJ
74942002-11-22 Daniel Jacobowitz <drow@mvista.com>
7495
7496 * configure.in: Set insn=nop for DWARF-2 tests on ARM.
7497 * configure: Regenerated.
7498
41c3eb5d
KH
74992002-11-22 Kazu Hirata <kazu@cs.umass.edu>
7500
7501 * config/h8300/h8300.c (compute_a_shift_length): Fix the insn
7502 length computation when xor.l is output.
7503
4977bab6
ZW
75042002-11-21 Douglas B Rupp <rupp@gnat.com>
7505
7506 * alpha.md (movstrdi, clrstrdi): New VMS patterns.
7507 (call_vms_1, call_value_vms_1): Cleanup syntax.
7508
7509Thu Nov 21 19:20:27 CET 2002 Jan Hubicka <jh@suse.cz>
7510
7511 * athlon.md (define_atuomaton): Add athlon_load.
7512 (athlon-double): New reservation.
7513 (athlon-ieu0): New CPU unit.
7514 (athlon-load?): Use athlon_load automaton.
7515 (*_k8 reservations): New.
7516 (other insn revervations): Activate for K8.
7517
7518Thu Nov 21 15:07:42 CET 2002 Jan Hubicka <jh@suse.cz>
7519
7520 * cfgrtl.c (verify_flow_info): Accept EDGE_CAN_FALLTHRU flag.
7521
57de2c8f
JW
75222002-11-21 Jim Wilson <wilson@redhat.com>
7523
7524 * config/rs6000/rs6000.c (function_arg): Set inner mode of SPE
7525 vectors to SI.
7526
58db834b
BW
75272002-11-21 Bob Wilson <bob.wilson@acm.org>
7528
7529 * config/xtensa/xtensa-protos.h (xtensa_copy_incoming_a7): Declare.
7530 * config/xtensa/xtensa.c (struct machine_function): Add
7531 incoming_a7_copied flag.
7532 (xtensa_copy_incoming_a7): Define.
7533 (xtensa_emit_move_sequence): Use xtensa_copy_incoming_a7.
7534 * config/xtensa/xtensa.md (movdi, movsf, movdf): Ditto.
7535
c05dbe81
JH
7536Thu Nov 21 23:52:04 CET 2002 Jan Hubicka <jH@suse.cz>
7537
7538 * i386-protos.h (x86_64_sign_extended_value): Fix prototype.
7539 * i386.c (x86_64_general_operand, x86_64_szext_general_operand,
0dbc3651 7540 x86_64_nonmemory_operand, x86_64_movabs_operand,
c05dbe81
JH
7541 x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
7542 ix86_expand_int_movcc): Update call of x86_64_sign_extended_value.
7543 (local_symbolic_operand): Do not care the 64bit limits.
7544 (x86_64_sign_extended_value): Remove allow_rip support.
7545 (legitimate_pic_address_disp_p): Handle all cases allowed
7546 with RIP addressing.
7547 (legitimate_address_p): Use legitimate_pic_address_disp_p for PIC.
7548 (legitimize_pic_address): Reorganize.
7549 * i386.h (EXTRA_CONSTRAINT): Update call of x86_64_sign_extended_value.
7550
ff3afb56
JT
75512002-11-21 Jason Thorpe <thorpej@wasabisystems.com>
7552
7553 * config.gcc (arm*-*-netbsdelf*): Enable configuration.
7554 * config/arm/netbsd-elf.h: New file.
7555
57c21a42
JT
75562002-11-21 Jason Thorpe <thorpej@wasabisystems.com>
7557
7558 * config/arm/elf.h (SUBTARGET_EXTRA_SPECS): Add
7559 subtarget_asm_float_spec.
7560 (SUBTARGET_ASM_FLOAT_SPEC): Define, moving the
7561 defaults from...
7562 (ASM_SPEC): ...here. Use subtarget_asm_float_spec.
7563
3d5ee65b
NC
75642002-11-21 Nick Clifton <nickc@redhat.com>
7565
7566 * config/fr30/fr30.md (movsf_constant_store): Move code to
7567 detect 0.0 into fr30.c.
7568 * config/fr30/fr30-protos.h (fr30_const_double_is_zero):
7569 Prototype.
7570 * config/fr30/fr30.c (fr30_const_double_is_zero): New
7571 function. Return true if the rtx is 0.0.
7572
4d938a09
JT
75732002-11-21 Jason Thorpe <thorpej@wasabisystems.com>
7574
7575 * config/arm/elf.h (ASM_SPEC, LINK_SPEC): Pass -EL
7576 if -mlittle-endian is specified.
7577
1dda7ee4
RE
75782002-11-21 Richard Earnshaw <rearnsha@arm.com>
7579
7580 PR optimization/2903
7581 * arm.md (anddi_notzesidi_di): Operand 2 is inverted not operand 1.
7582 (anddi_notsesidi_di): Likewise.
7583
7c143ed2
KH
75842002-11-21 Kazu Hirata <kazu@cs.umass.edu>
7585
7586 * config/h8300/h8300.c (print_operand): Use
7587 h8300_eightbit_constant_address_p and
7588 h8300_tiny_constant_address_p.
7589 (h8300_adjust_insn_length): Likewise.
7590 * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Remove.
7591 (TINY_CONSTANT_ADDRESS_P): Likewise.
7592 (OK_FOR_U): Use eightbit_constant_address_p.
7593
b5798b2a
UW
75942002-11-21 Ulrich Weigand <uweigand@de.ibm.com>
7595
7596 * config/s390/libgcc-libc.ver: Add multilib support.
7597 * config/s390/linux.h (MULTILIB_DEFAULT): Define.
0dbc3651
ZW
7598 * config/s390/t-linux64 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
7599 MULTILIB_OSDIRNAMES, LIBGCC, INSTALL_LIBGCC,
b5798b2a
UW
7600 EXTRA_MULTILIB_PARTS): Define.
7601
c231c91e
RE
76022002-11-21 Richard Earnshaw <rearnsha@arm.com>
7603
7604 * arm.c (arm_get_frame_size): A leaf function does not need its
7605 stack padding to an aligned boundary if it has no frame.
7606 (thumb_get_frame_size): Likewise.
7607
4977bab6
ZW
7608Wed Nov 20 22:25:53 CET 2002 Jan Hubicka <jh@suse.cz>
7609
7610 * x86-64.h (MCOUNT_NAME): Fix typo in my previous patch.
7611 (override_options): Likewise.
7612
7613Wed Nov 20 19:07:17 CET 2002 Jan Hubicka <jh@suse.cz>
7614
7615 * config.gcc: Add k8 target alias support
7616 * i386.c (_cost): Declare costs for various variants of divides and
7617 multiplies.
7618 (k8_cost): New.
7619 (m_K8, m_ATHLON_K8): New macros.
7620 (x86_use_leave, x86_push_memory, x86_movx, x86_unroll_strlen,
7621 x86_cmove, x86_3dnow_a, x86_deep_branch, x86_use_fiop,
7622 x86_promote_QImode, x86_sub_esp_?, x86_add_esp_?,
7623 x86_integer_DFmode_moves, x86_partial_reg_dependency,
7624 x86_memory_mismatch_stall, x86_accumulate_outgoing_args,
7625 x86_prologue_using_move, x86_epilogue_using_move,
7626 x86_arch_always_fancy_math_387, x86_sse_partial_regs,
7627 x86_sse_typeless_stores): Set for K8
7628 (override_options): Add k8 support; fix athlon alignment;
7629 complain about non-x86-64 capable CPU being used in x86-64 compilation.
7630 (ix86_issue_rate): Set for K8.
7631 (ix86_adjust_cost, ia32_use_dfa_pipeline_interface,
7632 x86_machine_dependent_reorg): Handle K8 like
7633 * i386.h
7634 (x86_costs): Change mult_init and divide into array.
7635 (TARGET_K8, TARGET_ATHLON): New macros.
7636 (MODE_INDEX): New macro.
7637 (RTX_COST): Use new costs.
7638 (TARGET_CPU_CPP_BUILTINS): Define __k8__ and __tune_k8__.
7639 (TARGET_CPU_DEFAULT_NAMES): Add k8
7640 (TARGET_CPU_DEFAULT_k8): New constant
7641 (enum processor_type): Add PROCESSOR_K8.
7642 * i386.md (cpu attribute): Add k8.
7643
7644 * invoke.texi: Document -march=k8.
7645
7646 * i386.md (type attribute): Add leave
7647 (mode attribute): Remove unknownfp.
7648 (length_immediate, modrm, memory attributes): Handle leave correctly.
7649 (fp comparison patterns): Determine FP mode.
7650 (leave, leave_rex64): Remove special cases.
7651 * ppro.md (ppro_uops, ppro_p2): Add leave
7652 * pentiun.md (pent_pop): Handle leave too.
7653 * k6.md (k6_load): Handle leave.
7654 * athlon.md (athlon_leave, athlon_pop): Fix.
7655 (athlon_decode): Handle leave.
7656
27e58a70
SE
76572002-11-20 Steve Ellcey <sje@cup.hp.com>
7658
7659 * emit-rtl.c (gen_reg_rtx): Simplify mapping of Complex type
7660 to component type using GET_MODE_INNER.
7661 * expr.c (emit_move_insn_1): Ditto.
7662 * optabs.c (expand_binop): Ditto.
7663 (expand_unop): Ditto.
7664 (expand_complex_abs): Ditto.
7665
964b104a
DR
76662002-11-20 Douglas B Rupp <rupp@gnat.com>
7667
7668 * hwint.h (HAVE___INT64): Fix typo (was HAVE__INT64).
7669
3d4b192a
DD
76702002-11-20 DJ Delorie <dj@redhat.com>
7671
7672 * config/stormy16/stormy16.c (s16builtins,
7673 xstormy16_init_builtins, xstormy16_expand_builtin): New.
7674 * config/stormy16/stormy16.md (divmodhi4, sdivlh, udivlh): New.
7675
414d23ae
HPN
76762002-11-20 Hans-Peter Nilsson <hp@bitrange.com>
7677
7678 * Makefile.in (RUN_GEN, VALGRIND_DRIVER_DEFINES): New variables.
7679 (DRIVER_DEFINES): Add $(VALGRIND_DRIVER_DEFINES).
7680 (executing gencheck, genconfigs, genconditions, genflags,
7681 gencodes, genconstants, genemit, genrecog, genopinit, genextract,
7682 genpeep, genattr, genattrtab, genoutput, gengenrtl, genpreds,
7683 gengtype, genprotos): Prepend $(RUN_GEN).
7684 * configure.in: Move host compiler tests before --enable-checking
7685 tests.
7686 (--enable-checking=valgrind): New.
7687 * config.in, configure: Regenerate.
7688 * cppfiles.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
7689 Define as empty.
7690 (read_include_file): When doing the mmap+1 trick,
7691 valgrind-annotate the byte after the mmap:ed area as readable.
7692 (purge_cache): Remove above annotation.
7693 * gcc.c (execute) [ENABLE_VALGRIND_CHECKING]: Arrange to prepend
7694 VALGRIND_PATH -q to each command.
7695
9a0a7d5d
HPN
7696 * ggc-common.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
7697 Define as empty.
7698 (ggc_realloc): Update valgrind annotations.
7699 * ggc-page.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
7700 Define as empty.
c14bc6db 7701 (alloc_anon, free_page, ggc_alloc, poison_pages): Add machinery to
9a0a7d5d
HPN
7702 valgrind-annotate memory.
7703
3ba2436a
UW
77042002-11-20 Ulrich Weigand <uweigand@de.ibm.com>
7705
7706 * recog.c (constrain_operands): Prefer exact match over reloadable
7707 EXTRA_MEMORY_CONSTRAINT or EXTRA_ADDRESS_CONSTRAINT.
7708
7709 * reload.c (find_reloads): Always reload EXTRA_ADDRESS_CONSTRAINT
7710 operands in Pmode.
7711
a9b6f1e7 77122002-11-20 Eric Botcazou <ebotcazou@libertysurf.fr>
02a362d9
EB
7713
7714 PR c/8518
7715 * c-decl.c (duplicate_decls): Outline the second definition
7716 of an extern inline function in all cases.
7717
5354730b
RS
77182002-11-20 Richard Sandiford <rsandifo@redhat.com>
7719
7720 * stor-layout.c (place_field): Update rli->offset as well as
7721 rli->bitpos.
7722
5720520f
RS
77232002-11-20 Richard Sandiford <rsandifo@redhat.com>
7724
7725 * sched-deps.c (sched_analyze): Check HARD_REGNO_CALL_PART_CLOBBERED.
7726
4392ebd3
RS
77272002-11-20 Richard Sandiford <rsandifo@redhat.com>
7728
7729 * config/sh/sh.md (udivsi3): Don't put udivsi3_i4_media instructions
7730 into a libcall block.
7731 (divsi3): Likewise divsi3_i4_media.
7732
3748bd9e
RS
77332002-11-20 Richard Sandiford <rsandifo@redhat.com>
7734
7735 * global.c (find_reg): Check HARD_REGNO_NREGS before kicking
7736 out another register.
7737
bc02f8d3
JJ
77382002-11-20 Jakub Jelinek <jakub@redhat.com>
7739
7740 * combine.c (force_to_mode): Only replace with (not Y) if all bits in fuller_mask
7741 (not just mask) are set in C.
7742
4977bab6
ZW
77432002-11-19 Steven Bosscher <steven.bosscher@usafa.af.mil>
7744
7745 * config/mips/vr.h (DRIVER_SELF_SPECS): Change %{<mgp32} to %<mgp32.
7746
77472002-11-19 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
7748
7749 * profile.c (index_counts_file): Fix obvious mistake.
7750
77512002-11-19 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
7752
7753 * Makefile.in (profile.o): Add hashtab.h dependency.
7754 * gcov-io.h (GCOV_SUMMARY_LENGTH): New.
7755 * profile.c: Include hashtab.h.
7756 (htab_counts_index_hash, htab_counts_index_eq, htab_counts_index_del,
7757 cleanup_counts_index, index_counts_file, struct section_reference,
7758 struct da_index_entry, counts_file_name, counts_file_index): New.
7759 (get_exec_counts, init_branch_prob): Modified.
7760
77612002-11-19 Kaz Kojima <kkojima@gcc.gnu.org>
7762
7763 * config.gcc (sh*-*-linux*): Add t-slibgcc-elf-ver and t-linux
7764 to tmake_file. Remove setting gas and gnu_ld here.
7765 * config/sh/libgcc-glibc.ver: New file.
7766 * config/sh/t-linux (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
7767 (SHLIB_MAPFILES): New.
7768 * config/sh/linux.h (MD_EXEC_PREFIX): Undefine.
7769 (MD_STARTFILE_PREFIX): Likewise.
7770 (HANDLE_PRAGMA_PACK_PACK_PUSH_POP): Define.
7771 (DWARF2_UNWIND_INFO): Redefine.
7772 (ASM_PREFERRED_EH_DATA_FORMAT): Define.
7773 (LINK_EH_SPEC): Redefine.
7774 (MD_FALLBACK_FRAME_STATE_FOR): Define except for SH-media.
7775 (SH_FALLBACK_FRAME_FLOAT_STATE): Define.
7776 (SH_DWARF_FRAME_GP0, SH_DWARF_FRAME_FP0, SH_DWARF_FRAME_XD0,
7777 SH_DWARF_FRAME_BT0, SH_DWARF_FRAME_PR, SH_DWARF_FRAME_PR_MEDIA,
7778 SH_DWARF_FRAME_GBR, SH_DWARF_FRAME_MACH, SH_DWARF_FRAME_MACL,
7779 SH_DWARF_FRAME_PC, SH_DWARF_FRAME_SR, SH_DWARF_FRAME_FPUL,
7780 SH_DWARF_FRAME_FPSCR): Likewise.
7781 * config/sh/sh-protos.h (sh_set_return_address): Declare.
7782 * config/sh/sh.c (calc_live_regs): Count EH_RETURN_DATA_REGNO
7783 registers if the current function calls EH return.
7784 (sh_expand_epilogue): Handle EH stack adjustments.
7785 (sh_set_return_address): New function.
7786 * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
7787 Don't abort even if the number is mapped to -1.
7788 (EH_RETURN_DATA_REGNO): Define.
7789 (EH_RETURN_STACKADJ_RTX): Define.
7790 * config/sh/sh.md (UNSPEC_EH_RETURN): New.
7791 (eh_return): New pattern.
7792 (eh_set_ra_di, eh_set_ra_si): Likewise.
7793 Add splitter to perform EH return after reload.
7794
7795Tue Nov 19 12:52:07 2002 J"orn Rennecke <joern.rennecke@superh.com>
7796
7797 * stor-layout.c (excess_unit_span): New function.
7798 (place_field): Use it.
7799
78002002-11-19 Andreas Schwab <schwab@suse.de>
7801
7802 * unwind.h (_Unwind_GetTextRelBase): Revert last change, this is
7803 not valid in C++.
7804
78052002-11-19 Nathanael Nerode <neroden@gcc.gnu.org>
7806
7807 * configure.in, Makefile.in: Correct BUILD/HOST confusion.
7808 * configure: Regenerate.
7809
7810Tue Nov 19 00:11:44 CET 2002 Jan Hubicka <jh@suse.cz>
7811
7812 * convert.c (strip_float_extensions): New function.
7813 (convert_to_real): Optimize some cases.
7814
3bdcef4d
AJ
78152002-11-19 Andreas Jaeger <aj@suse.de>
7816
7817 * loop.c (record_giv): Initialize not_replaceable.
7818 (check_final_value): Likewise.
7819
ec5b0c68
KH
78202002-11-19 Kazu Hirata <kazu@cs.umass.edu>
7821
7822 * config/h8300/h8300.c (h8300_init_once): Replace 1 with
7823 MASK_H8300S.
7824
78252002-11-19 Vijay L. Khuspe <vijayk1@kpit.com>
39ba95b5
VK
7826
7827 * config/h8300/h8300.c (h8300_init_once): Allow -mn switch
7828 only if -mh or -ms present.
7829 (h8300_eightbit_constant_address_p): Support the normal mode.
7830 (h8300_tiny_constant_address_p): Likewise.
7831 * config/h8300/h8300.h (TARGET_NORMAL_MODE): New.
7832 (POINTER_SIZE): Add 16 bit pointer for the normal mode.
7833 (Pmode): Evaluate to HImode for the normal mode.
7834 (SIZE_TYPE): Evaluate to unsigned int for normal mode.
7835 (PTRDIFF_TYPE): Evaluate to int for the normal mode.
7836 (ASM_WORD_OP): Evaluate to word for the normal mode.
7837 * config/h8300/h8300.md (tablejump_normal_mode): New.
7838 (indirect_jump_normal_mode): New.
7839 * config/h8300/t-h8300 (MULTILIB_OPTIONS): Pass -mn option to
7840 directory.
7841 (MULTILIB_DIRNAMES): Create target dependent directory
7842 'normal'.
249e6b63 7843 (MULTILIB_EXCEPTIONS): Don't turn on -mn on H8/300.
39ba95b5
VK
7844 * doc/invoke.texi (gccoptlist): Describe the new switch -mn.
7845
efcc7037
JH
7846Tue Nov 19 23:50:56 CET 2002 Jan Hubicka <jh@suse.cz>
7847
7848 * i386.md (length_immediate): Do not refer to insn address.
7849 (jcc*, jmp patterns): Compute length explicitly.
7850
78512002-11-19 Eric Botcazou <ebotcazou@libertysurf.fr>
35f1c975
EB
7852
7853 PR c/8588
7854 * optabs.c (expand_binop): Convert CONST_INTs in shift
7855 operations too.
7856
a500466b
RS
78572002-11-19 Roger Sayle <roger@eyesopen.com>
7858
7859 * gcse.c (gcse_emit_move_after): Correct typo in REG_EQUAL note.
7860
3b161153
KH
78612002-11-19 Kazu Hirata <kazu@cs.umass.edu>
7862
7863 * config/h8300/h8300.md (an anonymous pattern): Relax the
7864 condition to accept the same operands and/or subregs.
7865
85af47b9
DJ
78662002-11-19 Daniel Jacobowitz <drow@mvista.com>
7867
7868 * config/sh/sh.c (gen_shl_and): Revert previous patch.
7869 * config/sh/sh.md (ashrdi3+1, ashrdi3+2): Predicate on
7870 reload_completed.
7871
9675a91e
KH
78722002-11-19 Kazu Hirata <kazu@cs.umass.edu>
7873
7874 * config/h8300/h8300.c (print_operand): Update the use of
7875 EIGHTBIT_CONSTANT_ADDRESS_P.
7876 (h8300_adjust_insn_length): Likewise.
7877 (h8300_eightbit_constant_address_p): Check if the given rtx is
7878 a variable with __attribute__((eightbit_data)).
7879 * config/h8300/h8300.h (OK_FOR_U): Update the use of
7880 EIGHTBIT_CONSTANT_ADDRESS_P.
7881
7b61fa4d
GP
78822002-11-19 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
7883
7884 * doc/contrib.texi (Contributors): Add self as second contact in
7885 addition to Jeff Law.
7886
50aadcbc
AJ
78872002-11-19 Andreas Jaeger <aj@suse.de>
7888
7889 * tree-inline.c: Move prototpyes of find_alloca_call_1 and
7890 find_alloca_call to right place.
7891
dc65cd60
KH
78922002-11-19 Kazu Hirata <kazu@cs.umass.edu>
7893
7894 * cppfiles.c: Fix formatting.
7895
f3226a90
JT
78962002-11-19 Jason Thorpe <thorpej@wasabisystems.com>
7897
7898 * gcc.c (The Specs Language): Document spec functions.
7899 (static_spec_functions, lookup_spec_function)
7900 (eval_spec_function, handle_spec_function)
7901 (if_exists_spec_function, alloc_args): New.
7902 (execute): Abort if processing_spec_function is true.
7903 (do_spec_1): Hand off spec to handle_spec_function if %:
7904 is encountered. If processing_spec_function is true,
7905 end any pending argument when the end of the string is reached.
7906 (main): Use alloc_args to allocate the initial argument vector.
7907 * gcc.h (struct spec_function): New.
7908 (lang_specific_spec_functions): New extern.
7909
7910 * config/netbsd-elf.h (STARTFILE_SPEC): Add if-exists(crti%O%s).
7911 (ENDFILE_SPEC): Add if-exists(crtn%O%s).
7912 * config/alpha/netbsd.h (ENDFILE_SPEC): Likewise.
3bdcef4d 7913
f3226a90
JT
7914 * doc/invoke.texi: Document spec functions.
7915
7916 * cppspec.c (lang_specific_spec_functions): New.
7917 * gccspec.c: Likewise.
7918
08c42743
SE
79192002-11-18 Steve Ellcey <sje@cup.hp.com>
7920
7921 * config/ia64/hpux_longdouble.h (FIXUNS_TRUNCTFSI2_LIBCALL): New.
7922 (FIXUNS_TRUNCTFDI2_LIBCALL): New.
7923 (fixunstfsi_libfunc): Change.
7924 (fixunstfdi_libfunc): Change.
7925 (sdiv_optab): Don't zero out SImode handler.
7926 (udiv_optab): Don't zero out SImode handler.
7927 (smod_optab): Don't zero out SImode handler.
7928 (umod_optab): Don't zero out SImode handler.
7929
8128cccf
NB
79302002-11-18 Neil Booth <neil@daikokuya.co.uk>
7931
7932 PR preprocessor/8524
7933 * cpplib.c (run_directive): Remove previous kludge to _Pragma.
7934 Add a new one in its place, which hopefully works.
7935 (skip_rest_of_line): Change test for bottom-of-context-stack.
7936
95199202
JH
7937Mon Nov 18 21:29:03 CET 2002 Jan Hubicka <jh@suse.cz>
7938
7939 * i386.md (addqi_1_slp): Fix output template.
7940 (subqi_1_slp): Fix type.
7941
c986baf6
JH
7942Sun Nov 17 00:01:28 CET 2002 Jan Hubicka <jh@suse.cz>
7943
7944 * calls.c (alloca_call_p): New global function.
7945 * tree.h (alloca_call_p): New.
7946 * tree-inline.c (inlinable_function_p): Do not inline when
7947 function calls alloca.
7948 (find_alloca_call, find_alloca_call_1): New functions.
7949
ac655495
KH
79502002-11-18 Kazu Hirata <kazu@cs.umass.edu>
7951
7952 * config/h8300/h8300.md (*andorqi3): Use bor between bld and
7953 bst. Update the insn length.
7954 (*andorhi3): Likewise.
7955 (*andorsi3): Likewise.
7956
ea4210ef
RS
79572002-11-18 Richard Sandiford <rsandifo@redhat.com>
7958
7959 * config/sh/sh-protos.h (sh_mark_label): Declare.
7960 * config/sh/sh.c (sh_mark_label): New function, taken from
7961 movdi_const, but fixing the case when the address has an addend.
7962 * config/sh/sh.md (movdi_const, movdi_const_32bit): Use it.
7963
3503150c
RS
79642002-11-18 Richard Sandiford <rsandifo@redhat.com>
7965
7966 * config/sh/sh.c (pool_node): New field: part_of_sequence_p.
7967 (add_constant): Set it.
7968 (dump_table): Don't reorder a constant if part_of_sequence_p.
7969 (machine_dependent_reorg): Assume that float constants will
7970 stay in their original order if used as a sequence.
7971
180bde4f
RS
79722002-11-18 Richard Sandiford <rsandifo@redhat.com>
7973
7974 * config/sh/sh.c (calc_live_regs): Update check for PIC liveness
7975 in compact code.
7976
e300c78c
RS
79772002-11-18 Richard Sandiford <rsandifo@redhat.com>
7978
7979 * config/sh/sh.md (initialize_trampoline): Do not force the
7980 trampoline address into R0_REGS here.
7981
4977bab6
ZW
7982Sun Nov 17 14:01:09 CET 2002 Jan Hubicka <jh@suse.cz>
7983
7984 * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
7985 absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
7986 (neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
7987 generate unnecesary subregs.
7988
ec748ec8
KH
79892002-11-17 Kazu Hirata <kazu@cs.umass.edu>
7990
7991 * df.c: Fix formatting.
7992
cf0cec73
KH
79932002-11-17 Kazu Hirata <kazu@cs.umass.edu>
7994
7995 * config/h8300/h8300.md (two anonymous patterns): Fix insn
7996 lengths.
7997
d2b2c7cd
DJ
79982002-11-17 Daniel Jacobowitz <drow@mvista.com>
7999
8000 * sh.c (gen_shl_and): Don't create a zero_extend if the operand
8001 is not an arith_reg_operand.
8002
6ddb1bc1
GS
80032002-11-17 Graham Stott <graham.stott@btinternet.com>
8004
8005 * real.c (real_to_decimal): Fix buffer overrun when buffer size
8006 is smaller than representation.
8007
5ab2f7b7
KH
80082002-11-17 Kazu Hirata <kazu@cs.umass.edu>
8009
8010 * builtins.c: Fix formatting.
8011
4977bab6
ZW
8012Sat Nov 16 16:49:58 CET 2002 Jan Hubicka <jh@suse.cz>
8013
8014 * i386.md (truncdfsf2_1_sse, truncdfsf2_1_sse_nooverlap, truncdfsf2_2,
8015 floats?dff2_i387):
8016 Work around regclass stupidity.
8017 (truncdfsf_2_1_sse splitter): Accept !TARGET_PARTIAL_SSE_REGS
8018
8019Sat Nov 16 02:17:48 CET 2002 Jan Hubicka <jh@suse.cz>
8020
8021 * i386.md (fop_df_6): New pattern.
8022 (fop_xf_4, fop_xf_5): Handle both SF and DFmode extensions.
8023 (fop_xf_6): Rewrite
8024 (fop_xf_7): Delete.
8025 (fop_tf_4, fop_tf_5): Handle both SF and DFmode extensions.
8026 (fop_tf_6): Rewrite
8027 (fop_tf_7): Delete.
8028
0d964e40
KH
80292002-11-16 Kazu Hirata <kazu@cs.umass.edu>
8030
8031 * config/h8300/h8300.md (two anonymous patterns): Fix typos.
8032
6d55e887
KH
80332002-11-16 Kazu Hirata <kazu@cs.umass.edu>
8034
8035 * config/h8300/h8300.md: Fix formatting.
8036
4d5ad877
KH
80372002-11-16 Kazu Hirata <kazu@cs.umass.edu>
8038
8039 * config/h8300/h8300.md: Replace spaces with tabs.
8040 * config/h8300/t-h8300: Remove a trailing empty line.
8041
17fa74a2
KH
80422002-11-16 Kazu Hirata <kazu@cs.umass.edu>
8043
8044 * tlink.c: Fix formatting.
8045
9caa3eb2
DE
80462002-11-16 David Edelsohn <edelsohn@gnu.org>
8047
68a7da97 8048 PR 8362
9caa3eb2
DE
8049 * config/rs6000/rs6000.c (rs6000_outout_load_multiple): New function.
8050 * config/rs6000/rs6000.md (movti_string): Remove output modifier
8051 when scratch register never needed.
8052 (ldmsi[3-8]): New patterns.
8053
476c5eb6
KH
80542002-11-16 Kazu Hirata <kazu@cs.umass.edu>
8055
8056 * hard-reg-set.h: Follow spelling conventions.
8057 * real.c: Likewise.
8058 * target.h: Likewise.
8059
5dab517f
JJ
80602002-11-16 Jakub Jelinek <jakub@redhat.com>
8061
8062 * config/i386/x86-64.h (MCOUNT_NAME): Change into string literal.
8063
7e1a450d
KH
80642002-11-16 Kazu Hirata <kazu@cs.umass.edu>
8065
8066 * optabs.c: Fix formatting.
8067
1b245ade
JH
8068Sat Nov 16 02:06:02 CET 2002 Jan Hubicka <jh@suse.cz>
8069
8070 * athlon.md, k6.md, pentium.md, ppro.md: Handle shift1, rotate1
8071 * i386.md (attribute type): Add type shift1 and rotate1.
8072 (*_slp): Rewrite to have just two operands to avoid reload problems.
8073
6368a493
KH
80742002-11-15 Kazu Hirata <kazu@cs.umass.edu>
8075
8076 * config/h8300/h8300.md (4 anonymous patterns): New.
8077
737c38d1
GK
80782002-11-15 Geoffrey Keating <geoffk@apple.com>
8079
8080 * params.def (GGC_MIN_HEAPSIZE): Fix GGC_ALWAYS_COLLECT problem.
8081 * doc/invoke.texi: Correct description of what needs to be done to
8082 force collection at every ggc_collect call.
8083
2120e3cd
UW
80842002-11-15 Ulrich Weigand <uweigand@de.ibm.com>
8085
3bdcef4d 8086 * config/s390/s390.c (optimization_options): Set
2120e3cd
UW
8087 flag_asynchronous_unwind_tables to 1 by default.
8088
18789f4e
UW
80892002-11-15 Ulrich Weigand <uweigand@de.ibm.com>
8090
8091 * config/s390/s390.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
8092
a5fa1ecd
JH
8093Fri Nov 15 14:54:19 CET 2002 Jan Hubicka <jh@suse.cz>
8094
8095 * i386-protos.h (x86_function_profiler): New function
8096 * i386.h (MCOUNT_NAME): New.
8097 (PROFILE_COUNT_REGISTER): New.
a36fc5f8 8098 (FUNCTION_PROFILER): Move offline to ...
a5fa1ecd
JH
8099 * i386.c (x86_function_profiler) ... here; fix 64bit support
8100 * beos-elf.h (FUNCTION_PROFILER): Kill.
8101 (MCOUNT_NAME): New.
8102 * freebsd-aout.h (FUNCTION_PROFILER): Kill.
8103 (MCOUNT_NAME): New.
8104 (PROFILE_COUNT_REGISTER): New.
8105 * linux.h (FUNCTION_PROFILER): Kill.
8106 (MCOUNT_NAME): New.
8107 * x86-64.h (FUNCTION_PROFILER): Kill.
8108 (MCOUNT_NAME): New.
8109 * freebsd.h (FUNCTION_PROFILER): Kill.
8110 (MCOUNT_NAME): New.
8111
1741620c
JD
81122002-11-14 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
8113
8114 * config/arm/arm.h (EXPAND_BUILTIN_VA_ARG,
8115 FUNCTION_ARG_PASS_BY_REFERENCE): Define.
8116 * config/arm/arm.c (arm_va_arg,
8117 arm_function_arg_pass_by_reference): New.
8118 * config/arm/arm-protos.h: Add prototypes.
8119
24985beb
KH
81202002-11-14 Kazu Hirata <kazu@cs.umass.edu>
8121
8122 * gthr-single.h: Fix formatting.
8123
fa7b533b
ZW
81242002-11-14 Zack Weinberg <zack@codesourcery.com>
8125
8126 * tree.c (tree_vec_elt_check_failed): New function.
8127 * tree.h (TREE_VEC_ELT_CHECK): New checking macro.
8128 (TREE_VEC_ELT): Use it.
8129
8130 * tree-inline.c (optimize_inline_calls): Don't copy a
8131 zero-length vector.
8132
9fc910d1
GDR
81332002-11-14 Gabriel Dos Reis <gdr@integrable-solutions.net>
8134
8135 * diagnostic.c (sorry): Don't repeat "sorry, unimplemented" text.
8136
7eca317a
JJ
81372002-11-14 Jakub Jelinek <jakub@redhat.com>
8138
8139 * varasm.c (output_addressed_constants) [MINUS_EXPR]: Clear reloc if
8140 both operands contain local relocations.
8141 (categorize_decl_for_section): Don't use mergeable sections if
8142 initializer has any relocations.
8143
57751dd6
KH
81442002-11-14 Kazu Hirata <kazu@cs.umass.edu>
8145
8146 * gthr-vxworks.h: Fix formatting.
8147
f702e700
JJ
81482002-11-13 Janis Johnson <janis187@us.ibm.com>
8149
8150 * doc/install.texi (Testing): Document extra Java testing.
8151 * doc/sourcebuild.texi (Test Suites): Document libgcj testing.
8152
08ec53e7
JDA
81532002-11-13 John David Anglin <dave@hiauly1.hia.nrc.ca>
8154
8155 * pa64-hpux.h (LINK_SPEC): Move "+Accept TypeMismatch" switch to the
8156 beginning of the spec.
8157 (LDD_SUFFIX, PARSE_LDD_OUTPUT): Delete.
8158 (LD_INIT_SWITCH, LD_FINI_SWITCH): Define but don't enable. Add comment
8159 regarding problems with global constructors when using GNU ld.
8160
e6179f45
KH
81612002-11-13 Kazu Hirata <kazu@cs.umass.edu>
8162
8163 * gthr-solaris.h: Fix formatting.
8164
fe83a9ce
KH
81652002-11-13 Kazu Hirata <kazu@cs.umass.edu>
8166
8167 * gthr-posix.h: Fix formatting.
8168
4977bab6 81692002-11-12 Devang Patel <dpatel@apple.com>
4977bab6
ZW
8170 * gcc.c (display_help): Two new options -Xpreprocessor and -Xassembler.
8171 (process_command): Same.
8172 * doc/invoke.texi: Info about these two new options.
8173
eed13f9b
KH
81742002-11-12 Kazu Hirata <kazu@cs.umass.edu>
8175
8176 * config/h8300/h8300.md (*andorsi3): New.
8177
e8a7b0c2
FS
81782002-11-12 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
8179
8180 * doc/install.texi (powerpc-*-linux-gnu*): Update binutils requirement.
8181
94aec8dd
KH
81822002-11-12 Kazu Hirata <kazu@cs.umass.edu>
8183
8184 * config/h8300/h8300.c (tiny_constant_address_p): Parenthesize
8185 expressions appropriately.
8186
fc98f5cb
KH
81872002-11-12 Kazu Hirata <kazu@cs.umass.edu>
8188
8189 * gthr-win32.h: Fix formatting.
8190
e27051f7
KH
81912002-11-12 Kazu Hirata <kazu@cs.umass.edu>
8192
8193 * config/h8300/h8300.c (single_one_operand): Correctly compute
8194 mask when mode is SImode.
8195 (single_zero_operand): Likewise.
8196 * config/h8300/h8300.md (two new anonymous insns): New.
8197
10bb8214
GP
81982002-11-12 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
8199
8200 * doc/contrib.texi (Contributors): Use GCJ instead of gcj to refer
8201 to that entire project.
8202
ffe11c6b
RO
82032002-11-12 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
8204
8205 * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Restore old
8206 directories.
8207
3788cc17
ZW
82082002-11-11 Zack Weinberg <zack@codesourcery.com>
8209
8210 * params.def (ggc-min-expand, ggc-min-heapsize): New parameters.
8211 * doc/invoke.texi: Document them.
8212
8213 * ggc-page.c: Include params.h. Remove definitions of
8214 GGC_MIN_EXPAND_FOR_GC, GGC_MIN_LAST_ALLOCATED. Replace
8215 GGC_POISON with ENABLE_GC_CHECKING in ifdefs, delete #define.
8216 (init_gcc): Don't set G.allocated_last_gc here.
8217 (ggc_collect): Use PARAM_VALUE (GGC_MIN_HEAPSIZE) and
8218 PARAM_VALUE (GGC_MIN_EXPAND) to decide whether or not to
8219 perform collection.
8220 * ggc-simple.c: Similarly.
8221 * Makefile.in (ggc-common.o, ggc-simple.o): Add $(PARAMS_H) to
8222 dependencies.
8223
dd697f8c
KH
82242002-11-11 Kazu Hirata <kazu@cs.umass.edu>
8225
8226 * gthr-dce.h: Fix formatting.
8227
303b90b0
FS
82282002-11-11 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
8229
8230 PR c/8467
8231 * stmt.c (tail_recursion_args): Handle DECL_MODE differing from the
8232 mode of DECL_RTL case.
8233
e8437165
JJ
82342002-11-11 Janis Johnson <janis187@us.ibm.com>
8235
8236 * doc/contrib.texi: Merge in the list from the libstdc++ web pages.
8237
12f5c45e
JH
8238Mon Nov 11 12:06:08 CET 2002 Jan Hubicka <jh@suse.cz>
8239
8240 * i386.c (construct_container): Fix handling of SSE_CLASS.
8241
f981a754
JS
82422002-11-10 Joel Sherrill <joel@gcc.gnu.org>
8243
8244 * config/m68k/t-crtstuff (crti.o): Use this...
8245 ($(T)crti.o): ... instead.
8246 (crtn.o): Use this...
8247 ($(T)crtn.o): ... instead.
8248
a9b6f1e7 82492002-11-10 Eric Botcazou <ebotcazou@libertysurf.fr>
45ed7228
EB
8250
8251 PR c/8439
8252 * recog.c (validate_replace_rtx_1) [PLUS]: Simplify only
8253 if there is something new to be simplified.
8254
2da4124d
L
82552002-11-10 H.J. Lu <hjl@gnu.org>
8256
8257 * calls.c (PUSH_ARGS_REVERSED): Define only if not defined.
8258 * expr.c (PUSH_ARGS_REVERSED): Likewise.
8259
8260 * config/i386/i386.h (PUSH_ARGS_REVERSED): Set to 1.
8261
7bb9f927
ZW
82622002-11-10 Zack Weinberg <zack@codesourcery.com>
8263
8264 * config/rs6000/sysv4.h: Define NO_IMPLICIT_EXTERN_C here...
8265 * config/rs6000/linux.h, config/rs6000/linux64.h,
8266 config/rs6000/windiss.h: ... not here.
8267
d8986082
JT
82682002-11-10 Jason Thorpe <thorpej@wasabisystems.com>
8269
8270 * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Define
8271 __ABICALLS__ if TARGET_ABICALLS.
8272
2e64c636
JH
8273Sun Nov 10 18:49:21 CET 2002 Jan Hubicka <jh@suse.cz>
8274
8275 * i386.h (MIN_UNITS_PER_WORD): Define to 8 for x86-64 libgcc.
8276
04e6db94
JM
82772002-11-10 Joseph S. Myers <jsm@polyomino.org.uk>
8278
8279 * c-decl.c (grokdeclarator): Make error for duplicate type
8280 qualifiers into a pedwarn, disabled for C99.
8281
e9986d3a
HPN
82822002-11-10 Hans-Peter Nilsson <hp@bitrange.com>
8283
8284 * config/mmix/mmix.h (FUNCTION_ARG_CALLEE_COPIES): Define the same
8285 as FUNCTION_ARG_PASS_BY_REFERENCE.
8286
4977bab6
ZW
82872002-11-09 Zack Weinberg <zack@codesourcery.com>
8288
8289 * doc/install.texi: Add *-*-vxworks* specific installation
8290 instructions.
8291
8292 * config/vxlib.c: Rewrite using generation numbers to identify
8293 valid TSD keys.
8294
8295Sat Nov 9 00:10:54 CET 2002 Jan Hubicka <jh@suse.cz>
8296
8297 * i386.c (x86_machine_dependent_reorg): Fix even more side cases.
8298
581d9404
JDA
82992002-11-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
8300
8301 * pa.h (STARTING_FRAME_OFFSET): Change offset for TARGET_64BIT to 16.
8302
8303 * config.gcc (hppa*64*-*-linux*): Shorten lines in tm_file define.
8304 (hppa*64*-*-hpux11*): Likewise. Use elfos.h with gas.
8305 * pa.c (output_millicode_call): Use symbol difference rather than
8306 $PIC_pcrel$0 when using HP assembler.
8307 * pa64-hpux.h (TARGET_GAS): Define to 1 or 0 depending on whether or
8308 not elfos.h (i.e., gas) is being used.
8309 (ASM_FILE_START, STRING_ASM_OP, TEXT_SECTION_ASM_OP,
8310 DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_COMMON,
8311 ASM_OUTPUT_ALIGNED_LOCAL, GLOBAL_ASM_OP, ASM_DECLARE_FUNCTION_NAME,
8312 ASM_OUTPUT_EXTERNAL, ASM_OUTPUT_EXTERNAL_LIBCALL,
8313 ASM_OUTPUT_INTERNAL_LABEL, ASM_GENERATE_INTERNAL_LABEL): Define when
8314 using elfos.h.
8315 (TARGET_ASM_GLOBALIZE_LABEL): Undefine when using elfos.h.
8316 (DWARF2_ASM_LINE_DEBUG_INFO): Delete.
8317 (ASM_FILE_START): Add standard .SPACE and .SUBSPA defines when not
8318 using elfos.h.
8319 (TEXT_SECTION_ASM_OP, READONLY_DATA_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
8320 BSS_SECTION_ASM_OP): New HP style defines when not using elfos.h.
8321 (TARGET_ASM_NAMED_SECTION, MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL):
8322 Don't define when not using elfos.h.
8323 (ASM_DECLARE_RESULT): Don't define.
8324 * doc/install.texi (hppa*-hp-hpux*): Remove statement that HP assembler
8325 doesn't work on hppa64-hp-hpux11.
8326 (hppa*-hp-hpux11): Update.
8327
9f689d92
JT
83282002-11-09 Jason Thorpe <thorpej@wasabisystems.com>
8329
8330 * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Don't pass -KPIC
8331 to the assembler if -mno-abicalls was specified.
8332
1c03af86
JDA
83332002-11-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
8334
8335 * pa-linux.h (PREFERRED_DEBUGGING_TYPE, DWARF2_ASM_LINE_DEBUG_INFO,
8336 ASM_OUTPUT_DEF): Delete.
8337
57800e9e
NB
83382002-11-09 Neil Booth <neil@daikokuya.co.uk>
8339
8340 * c-opts.c (COMMAND_LINE_OPTIONS): Fix -Wimplicit.
8341
4977bab6
ZW
83422002-11-08 Roger Sayle <roger@eyesopen.com>
8343
8344 * real.c (real_sqrt): Update comment with bibliographic reference.
8345
8346Fri Nov 8 13:33:58 CET 2002 Jan Hubicka <jh@suse.cz>
8347
8348 * i386.md (sse_loadss, sse2_loadsd): Fix expander.
8349
8350Fri Nov 8 13:25:41 CET 2002 Jan Hubicka <jh@suse.cz>
8351
8352 * i386.c (x86_machine_dependent_reorg): Fix handling of empty functions.
8353
8354Fri Nov 8 13:01:42 CET 2002 Jan Hubicka <jh@suse.cz>
8355
8356 * builtins.c (expand_builtin_mathfn): Handle floor/ceil/trunc/round/nearbyint
8357 (expand_builtin): Likewise.
8358 * builtins.def: Add
8359 __builtin_floor, __builtin_floorf, __builtin_floorl
8360 __builtin_ceil, __builtin_ceilf, __builtin_ceill
8361 __builtin_round, __builtin_roundf, __builtin_roundl
8362 __builtin_trunc, __builtin_truncf, __builtin_truncl
8363 __builtin_nearbyint, __builtin_nearbyintf, __builtin_nearbyintl.
8364 * genopinit.c (optabs): Initialize the new optabs.
8365 * optab.c (init_optabs): Likewise.
8366 * optabs.h (optab_index): Add OTI_floor, OTI_ceil, OTI_trunc,
8367 OTI_round, OTI_nearbyint.
8368 (floor_optab, ceil_optab, trunc_optab, round_optab, nearbyint_optab): New.
8369 * doc/md.texi: Document new named patterns.
8370 * doc/extend.texi (builtin functions) Document
8371 floor, floorf, floorl, ceil, ceilf,
8372 ceill, round, roundf, roundl, trunc,
8373 truncf, truncl, nearbyint, nearbyintf, nearbyintl.
8374
8375Fri Nov 8 11:36:11 CET 2002 Jan Hubicka <jh@suse.cz>
8376
8377 * i386.md (sse_movdfcc, sse_movsfcc): Fix typo in previous patch.
8378
489d6e8e
DJ
83792002-11-08 Dale Johannesen <dalej@apple.com>
8380
7bb9f927 8381 * dbxout.c (dbxout_type): Fix stabs info for vector types.
489d6e8e 8382
a4b1e653
NB
83832002-11-08 Neil Booth <neil@daikokuya.co.uk>
8384
8385 PR preprocessor/8497
8386 PR preprocessor/8501
8387 * cpptrad.c (scan_out_logical_line): A '#' from a macro doesn't
8388 start a directive. In assembler, #NUM is not a line directive.
8389
e6e8c772
NB
83902002-11-08 Neil Booth <neil@daikokuya.co.uk>
8391
8392 * cppmain.c (cpp_preprocess_file): Loop to pop any -included
8393 buffers.
8394
ffdf5eae
KH
83952002-11-08 Kazu Hirata <kazu@cs.umass.edu>
8396
8397 * config/h8300/h8300.md (two anonymous test insns): New.
8398
8dd3ca88
JH
8399Fri Nov 8 11:20:19 CET 2002 Jan Hubicka <jh@suse.cz>
8400
8401 * jump.c (mark_jump_label): Handle subregs of label_refs.
8402
4977bab6
ZW
8403Thu Nov 7 21:54:22 CET 2002 Jan Hubicka <jh@suse.cz>
8404
8405 * i386.md (sse_movdfcc, sse_movsfcc): Avoid overactive matching.
8406 * i386.c (ix86_expand_fp_movcc): Match the reversed cases.
8407
07cf4226
DM
84082002-11-07 David Mosberger <davidm@hpl.hp.com>
8409
7bb9f927
ZW
8410 * config/ia64/crtend.asm: Include "auto-host.h".
8411 [HAVE_INITFINI_ARRAY]: Invoke __do_global_ctors_aux via .init_array.
8412 * config/ia64/crtbegin.asm: Similarly.
8413 * config/ia64/t-ia64 (crtbegin.o): Include from current directory.
8414 (crtend.o, crtbeginS.o, crtendS.o): Likewise.
07cf4226 8415
7bb9f927
ZW
8416 * aclocal.m4 (gcc_AC_INITFINI_ARRAY): New.
8417 * configure.in: Use it if --enable-initfini-array not specified.
8418 * doc/install.texi (Configuration): Document --enable-initfini-array.
07cf4226
DM
8419 * configure, config.in: Rebuild.
8420
0977774b 84212002-11-07 Jason Thorpe <thorpej@wasabisystems.com>
7bb9f927 8422
0977774b 8423 * config/arm/arm-protos.h (arm_get_frame_size)
7bb9f927 8424 (thumb_get_frame_size): New prototypes.
0977774b 8425 * config/arm/arm.c (arm_get_frame_size)
7bb9f927
ZW
8426 (thumb_get_frame_size): New functions.
8427 (use_return_insn, arm_output_epilogue, arm_output_function_epilogue)
8428 (arm_compute_initial_elimination_offset, arm_expand_prologue): Use
0977774b
JT
8429 arm_get_frame_size.
8430 (thumb_expand_prologue, thumb_expand_epilogue): Use
8431 thumb_get_frame_size.
8432 * config/arm/arm.h (PREFERRED_STACK_BOUNDARY): Define.
8433 (machine_function): Add frame_size member.
8434 (THUMB_INITIAL_ELIMINATION_OFFSET): Use thumb_get_frame_size.
8435
84362002-11-07 Richard Earnshaw <rearnsha@arm.com>
8437
8438 * arm.c (bit_count): Make argument unsigned long. Return unsigned.
8439 Adjust code to use portable unsigned bit manipulation.
8440 (insn_flags, tune_flags): Change type to unsigned.
8441 (struct processors): Make flags unsigned long.
8442 (arm_override_options): Change type of count and current_bit_count
8443 to unsigned.
8444
74c13308
RE
84452002-11-07 Richard Earnshaw <rearnsha@arm.com>
8446
8447 * arm/elf.h (TYPE_OPERAND_FMT): Prefix type with %.
8448
e284643a
R
8449Thu Nov 7 15:50:18 2002 J"orn Rennecke <joern.rennecke@superh.com>
8450
8451 * sh.h (DWARF_FRAME_RETURN_COLUMN): Use DWARF_FRAME_REGNUM.
8452
c2905f7b
JH
8453Thu Nov 7 11:18:01 CET 2002 Jan Hubicka <jh@suse.cz>
8454
8455 * reg-stack.c (compensate_edge): Fix sanity check.
8456
3cfe49da
GK
84572002-11-05 Geoffrey Keating <geoffk@apple.com>
8458
8459 * config.gcc: Don't create crtbegin, crtend on Darwin; do create
8460 crt2.o. Rearrange t-darwin makefiles.
8461 * crtstuff.c [OBJECT_FORMAT_MACHO]: Delete.
8462 * unwind-dw2-fde-darwin.c: New.
8463 * unwind-dw2-fde-glibc.c: Correct comment.
8464 * unwind-dw2-fde.c (__register_frame_info_bases)
8465 [DWARF2_OBJECT_END_PTR_EXTENSION]: Clear fde_end.
8466 (classify_object_over_fdes): Use last_fde.
8467 (add_fdes): Likewise.
8468 (linear_search_fdes): Likewise.
8469 * unwind-dw2-fde.h (struct object)
8470 [DWARF2_OBJECT_END_PTR_EXTENSION]: Add fde_end field.
8471 (last_fde): New.
8472 * config/darwin.h (STARTFILE_SPEC): Include crt2.o not crtbegin.o.
8473 (ENDFILE_SPEC): No crtend.o.
8474 * config/t-darwin: New.
8475 * config/i386/t-darwin: Delete.
8476 * config/darwin-crt2.c: New.
8477 * config/rs6000/t-darwin: Delete contents duplicated in t-rs6000
8478 or config/t-darwin.
8479
4977bab6
ZW
84802002-11-06 Douglas B Rupp <rupp@gnat.com>
8481
8482 * config/i386/i386-interix.h (TARGET_SUBTARGET_DEFAULT): Or
8483 MASK_MS_BITFIELD_LAYOUT
8484 (SUBTARGET_OVERRIDE_OPTIONS): Warn about and turn off
8485 MS bitfields for Objective-C.
8486 (PCC_BIT_FIELD_TYPE_TEST, GROUP_BITFIELDS_BY_ALIGN): Remove
8487 defines.
8488
8489 * config/i386/i386.c (ix86_ms_bitfield_layout): New function.
8490 (TARGET_MS_BITFIELD_LAYOUT_P): Define to above function.
8491 (TARGET_USE_MS_BITFIELD_LAYOUT): Define.
8492
8493 * config/i386/i386.h (MASK_MS_BITFIELD_LAYOUT: New mask.
8494 TARGET_USE_MS_BITFIELD_LAYOUT): New macro.
8495 (TARGET_SWITCHES): Add above mask.
8496
8497 * testsuite/gcc.dg/bf-ms-layout.c: New test case.
8498 * testsuite/gcc.dg/bf-no-ms-layout.c: New test case.
8499 * testsuite/gcc.dg/i386-bitfield1.c (dg-options): Add appropriate
8500 flags for interix.
8501
8502Wed Nov 6 18:54:47 2002 Alexandre Oliva <aoliva@redhat.com>
8503
8504 * config/mips/mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output
8505 .gpword/.gpdword for ABI_N32 and ABI_64 too, if using the GNU
8506 assembler.
8507 * config/mips/mips.md (tablejump_internal3): Output .cpadd
8508 before jump on ABI_N32 too.
8509 (tablejump_internal4): Ditto on ABI_64. Increase maximum
8510 length to match.
8511
8512Wed Nov 6 17:16:48 CET 2002 Jan Hubicka <jh@.suse.cz>
8513
8514 * i386.md (negsf splitter): Accept memory operand in second register.
8515 (abssf/absdf splitters): Simplify
8516 (sse_loadss, sse_loadsd): Turn into expander.
8517
5d7e6254
DE
85182002-11-06 David Edelsohn <edelsohn@gnu.org>
8519
8520 PR target/8480
8521 * config/rs6000/rs6000.md (movdi_internal64): Discourage
8522 FPR to FPR moves.
8523
4fc6ad08
JJ
85242002-11-06 Janis Johnson <janis187@us.ibm.com>
8525
8526 * doc/contrib.texi: Merge in the list from the Java web pages.
8527
fa123c53
DB
85282002-11-06 David O'Brien <obrien@FreeBSD.org>
8529
8530 * config/sparc/freebsd: Fix typo.
8531
81e5bc3d
JDA
85322002-11-06 John David Anglin <dave@hiauly1.hia.nrc.ca>
8533
8534 * pa64-hpux.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Define.
8535
021fa809
AO
85362002-11-06 Alexandre Oliva <aoliva@redhat.com>
8537
8538 * config/mips/mips.md (call_value_multiple_internal2): Use dla for
8539 non-SImode addresses.
8540
4977bab6
ZW
8541Tue Nov 5 14:34:36 CET 2002 Jan Hubicka <jh@suse.cz>
8542
8543 * i386.md (float_truncate SSE splitter): Ensure that operand is not
8544 stack register.
8545 (float SSE splitters): Reorder conditional.
8546
e9577224
BW
85472002-11-05 Bob Wilson <bob.wilson@acm.org>
8548
8549 * config/xtensa/elf.h (LIB_SPEC): Add "-lhal".
8550
a9b11d44
JDA
85512002-11-05 John David Anglin <dave2hiauly1.hia.nrc.ca>
8552
8553 * pa64-hpux.h (LIB_SPEC): Fix p and pg options.
8554 (STARTFILE_SPEC): Remove p and pg options.
8555
5c7cd663
AH
85562002-11-05 Andrew Haley <aph@redhat.com>
8557
8558 * fold-const.c (fold): Don't transform (a0 op compound(a1,a2))
8559 to (compound(a1,a0 op a2)) if a0 or a1 have side effects.
8560
97ab1175
RS
85612002-11-05 Richard Sandiford <rsandifo@redhat.com>
8562
8563 * config/mips/mips.h (CANNOT_CHANGE_MODE_CLASS): Move comment to...
8564 * config/mips/mips.c (mips_cannot_change_mode_class): ...here.
8565
4977bab6
ZW
85662002-11-04 Zack Weinberg <zack@codesourcery.com>
8567
8568 * gthr-vxworks.h: Rewritten from scratch.
8569 * config/vxlib.c: New file.
8570 * config/t-vxworks: Add config/vxlib.c to LIB2FUNCS_EXTRA.
8571 * config/rs6000/t-vxworks: Add config/vxlib.c to
8572 LIB2FUNCS_EXTRA here too, because of clash with
8573 config/rs6000/t-ppccomm.
8574
2aff9508
DJ
85752002-11-04 Dale Johannesen <dalej@apple.com>
8576
7bb9f927
ZW
8577 * doloop.c (doloop_modify_runtime): Fix loop count computation
8578 for unrolled loops.
2aff9508
DJ
8579 * loop.c (loop_invariant_p): Support calling from unroller.
8580
e86e721f
UW
85812002-11-04 Ulrich Weigand <uweigand@de.ibm.com>
8582
8583 * config/s390/s390.c (s390_decompose_address): Use arg_pointer_rtx
8584 for comparison.
8585
cff9f8d5
AH
85862002-11-04 Aldy Hernandez <aldyh@redhat.com>
8587
8588 * hard-reg-set.h (REG_CANNOT_CHANGE_MODE_P): New.
8589
8590 * config/rs6000/rs6000.h (CLASS_CANNOT_CHANGE_MODE_P): Remove.
8591 (CLASS_CANNOT_CHANGE_MODE): Remove.
8592 (CANNOT_CHANGE_MODE_CLASS): New.
8593
8594 * config/alpha/alpha.h: Same.
8595
8596 * config/ia64/ia64.h: Same.
8597
8598 * config/mips/mips.h: Same.
8599
8600 * config/s390/s390.h: Same.
8601
8602 * config/sh/sh.h: Same.
8603
8604 * config/pa/pa64-regs.h: Same.
8605
8606 * config/sh/sh-protos.h (sh_cannot_change_mode_class): Add prototype.
7bb9f927 8607
cff9f8d5
AH
8608 * config/sh/sh.c (sh_cannot_change_mode_class): New.
8609
8610 * config/mips/mips-protos.h (mips_cannot_change_mode_class): Add
8611 prototype.
8612
8613 * config/mips/mips.c (mips_cannot_change_mode_class): New.
8614
8615 * doc/tm.texi (Register Classes): Remove
8616 CLASS_CANNOT_CHANGE_MODE and CLASS_CANNOT_CHANGE_MODE_P.
8617 Document CANNOT_CHANGE_MODE_CLASS.
8618
8619 * reload.c (push_reload): Use CANNOT_CHANGE_MODE_CLASS.
8620 (push_reload): Same.
8621
8622 * simplify-rtx.c (simplify_subreg): Same.
8623
8624 * reload1.c (choose_reload_regs): Same.
8625
8626 * recog.c (register_operand): Same.
8627
8628 * regrename.c (mode_change_ok): Change to use new
8629 CANNOT_CHANGE_MODE_CLASS infrastructure.
8630
8631 * regclass.c (cannot_change_mode_set_regs): New.
8632 Declare subregs_of_mode.
8633 (regclass): Use subregs_of_mode.
8634 Remove references to reg_changes_mode.
8635 (init_reg_sets_1): Remove class_can_change_mode and
8636 reg_changes_mode code.
8637 (invalid_mode_change_p): New.
8638 (dump_regclass): Use invalid_mode_change_p instead of
8639 class_can_change_mode.
8640 (regclass): Same.
8641 (record_operand_costs): Do not set reg_changes_mode.
8642
8643 * local-alloc.c (struct qty): Remove changes_mode field.
8644 (alloc_qty): Remove changes_mode initialization.
8645 (update_qty_class): Remove set of changes_mode.
8646 (find_free_reg): Use subregs_of_mode.
8647
8648 * global.c (find_reg): Use subregs_of_mode info.
8649
8650 * rtl.h (cannot_change_mode_set_regs): New prototype.
8651 (invalid_mode_change_p): Same.
8652 (REG_CANNOT_CHANGE_MODE_P): New macro.
8653
8654 * flow.c (mark_used_regs): Calculate subregs_of_mode. Remove
8655 REG_CHANGES_MODE.
8656 (life_analysis): Clear subregs_of_mode.
8657
8658 * combine.c (subst): Pass class to CLASS_CANNOT_CHANGE_MODE_P.
8659 Remove use of CLASS_CANNOT_CHANGE_MODE.
8660 (simplify_set): Same.
8661 (gen_lowpart_for_combine): Calculate subregs_of_mode. Remove
8662 REG_CHANGES_MODE.
7bb9f927 8663
cff9f8d5
AH
8664 * regs.h: Add extern for subregs_of_mode;
8665 Include hard-reg-set and basic-block.
8666 (REG_CHANGES_MODE): Delete.
8667
4977bab6
ZW
86682002-11-03 Roger Sayle <roger@eyesopen.com>
8669
8670 * real.c (real_sqrt): New function to calculate square roots.
8671 * real.h (real_sqrt): Add function prototype.
8672 * builtins.c (fold_builtin): Fold sqrt of constant argument.
8673 * simplify-rtx.c (simplify_unary_operation): Simplify sqrt
8674 of constant argument.
8675
2ff363e0
JDA
86762002-11-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
8677
8678 * jump.c (never_reached_warning): Don't set contains_insn until the
8679 first line note is seen.
8680
cd1d3445
DE
86812002-11-03 David Edelsohn <edelsohn@gnu.org>
8682
8683 * config/rs6000/rs6000.md (movti_string): Use string instructions.
8684
c9fe6f9f
RS
86852002-11-03 Roger Sayle <roger@eyesopen.com>
8686
8687 PR c/7128
8688 * c-typeck.c (c_expand_asm_operands): Defend against
8689 error_mark_nodes in the output argument to avoid ICE.
8690
0b40e88e
EB
86912002-11-03 Eric Botcazou <ebotcazou@libertysurf.fr>
8692
8693 PR middle-end/8408
8694 * genrecog.c (preds): Handle ADDRESSOF.
8695 (validate_pattern): Mark it as an lvalue.
8696
dff9f1b6
DE
86972002-11-02 David Edelsohn <edelsohn@gnu.org>
8698
8699 * config/rs6000/rs6000.c (rs6000_override_options): Use string
8700 instructions when optimizing for size.
8701
46eefac4
KH
87022002-11-02 Kazu Hirata <kazu@cs.umass.edu>
8703
8704 * config/h8300/h8300.h: Fix comment typos.
8705 * config/h8300/h8300.md: Likewise.
8706 * config/h8300/lib1funcs.asm: Likewise.
8707
102b60d1
GP
87082002-11-02 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
8709
8710 Revert this change:
8711
8712 *doc/install.texi (Installing GCC: Configuration): Clarify
8713 the only supported ways to configure gcc.
8714
46be79e7
KH
87152002-11-01 Kazu Hirata <kazu@cs.umass.edu>
8716
8717 * config/h8300/h8300.md (anonymous and:QI pattern): Use 'n'
8718 instead of 'O' for the constraint for the second operand.
8719
bec80a45
MM
87202002-11-01 Mark Mitchell <mark@codesourcery.com>
8721
8722 PR c++/8391
8723 * toplev.c (rest_of_compilation): Do not refuse to output code for
8724 an inline function in a local class.
8725
8df91177
DB
87262002-11-01 David O'Brien <obrien@FreeBSD.org>
8727
8728 * config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Define __arch64__.
8729 (TRANSFER_FROM_TRAMPOLINE): Reformat.
8730 Add comment.
8731
616dc555
KH
87322002-11-01 Kazu Hirata <kazu@cs.umass.edu>
8733
8734 * config/h8300/h8300.h (CAN_ELIMINATE): Simplify.
8735
25a533a0
TM
87362002-11-01 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
8737
8738 * config/h8300/h8300.h (OPTIMIZATION_OPTIONS): New.
8739
dcffbade
SE
87402002-11-01 Steve Ellcey <sje@cup.hp.com>
8741
8742 * config/ia64/ia64.h (MASK_INLINE_DIV_LAT): Remove.
8743 (MASK_INLINE_DIV_THR): Remove.
8744 (TARGET_INLINE_DIV_LAT): Remove.
8745 (TARGET_INLINE_DIV_THR): Remove.
8746 (TARGET_INLINE_DIV): Remove.
8747 (MASK_INLINE_FLOAT_DIV_LAT): New macro.
8748 (MASK_INLINE_FLOAT_DIV_THR): New macro.
8749 (MASK_INLINE_INT_DIV_LAT): New macro.
8750 (MASK_INLINE_INT_DIV_THR): New macro.
8751 (TARGET_INLINE_FLOAT_DIV_LAT): New macro.
8752 (TARGET_INLINE_FLOAT_DIV_THR): New macro.
8753 (TARGET_INLINE_INT_DIV_LAT): New macro.
8754 (TARGET_INLINE_INT_DIV_THR): New macro.
8755 (TARGET_INLINE_FLOAT_DIV): New macro.
8756 (TARGET_INLINE_INT_DIV): New macro.
8757 * config/ia64/ia64.md (divsi3): Change to use new macros.
8758 (modsi3): Ditto.
8759 (udivsi3): Ditto.
8760 (umodsi3): Ditto.
8761 (divsi3_internal): Ditto.
8762 (divdi3): Ditto.
8763 (moddi3): Ditto.
8764 (udivdi3): Ditto.
8765 (umoddi3): Ditto.
8766 (divdi3_internal_lat): Ditto.
8767 (divdi3_internal_thr): Ditto.
8768 (divsf3): Ditto.
8769 (divsf3_internal_lat): Ditto.
8770 (divsf3_internal_thr): Ditto.
8771 (divdf3): Ditto.
8772 (divdf3_internal_lat): Ditto.
8773 (divdf3_internal_thr): Ditto.
8774 (divtf3): Ditto.
8775 (divtf3_internal_lat): Ditto.
8776 (divtf3_internal_thr): Ditto.
8777 * config/ia64/ia64.c (ia64_override_options): Change
8778 to check new macros for conflicts in settings.
8779 * doc/invoke.texi (-minline-divide-min-latency): Remove.
8780 (-minline-divide-max-throughput): Remove.
8781 (-minline-float-divide-min-latency): New.
8782 (-minline-float-divide-max-throughput): New.
8783 (-minline-int-divide-min-latency): New.
8784 (-minline-int-divide-max-throughput): New.
7bb9f927 8785
d5db54a1
RE
87862002-11-01 Richard Earnshaw (rearnsha@arm.com)
8787
8788 PR target/7856
8789 * arm.c (use_return_insn): Don't use a return insn if there are
8790 saved integer regs, but LR is not one of them.
8791
075fc17a
JH
8792Fri Nov 1 10:33:15 CET 2002 Jan Hubicka <jh@suse.cz>
8793
8794 * expr.c (emit_move_insn): Use SCALAR_FLOAT_MODE_P
8795 * machmode.h (SCALAR_FLOAT_MODE_P): New macro.
8796
4977bab6
ZW
8797Thu Oct 31 18:20:50 CET 2002 Jan Hubicka <jh@suse.cz>
8798
8799 * i386.md (sse_loadss, sse_loadsd): Canonicalize; add expander
8800 (movps, movpd splitters): Use canonical form.
8801 (movv2di): Fix merge problem.
8802
8803Thu Oct 31 16:22:31 CET 2002 Jan Hubicka <jh@suse.cz>
8804
8805 * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
8806
9efb4cb6
NN
88072002-10-31 Nathanael Nerode <neroden@gcc.gnu.org>
8808
8809 PR optimization/6162
8810 * doc/md.texi: Document restriction on commutative operand
8811 specification.
8812
ce02ba25
EC
88132002-10-31 Eric Christopher <echristo@redhat.com>
8814
7bb9f927 8815 * explow.c (convert_memory_address): Use shallow_copy_rtx.
ce02ba25 8816
8efb33ec
SE
88172002-10-31 Steve Ellcey <sje@cup.hp.com>
8818
8819 * expmed.c (store_bit_field): Check FUNCTION_ARG_REG_LITTLE_ENDIAN.
8820
a543c709
SE
88212002-10-31 Steve Ellcey <sje@cup.hp.com>
8822
8823 * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Set for non-floats.
8824
cdc58a82
DJ
8825Thu Oct 31 Dale Johannesen <dalej@apple.com>
8826
8827 * config/rs6000/darwin.h: Correct formatting in previous.
8828
e381c27a
DJ
8829Thu Oct 31 Dale Johannesen <dalej@apple.com>
8830
8831 * config/rs6000/darwin.h: Enable -falign-xxx options.
8832
55ba61f3
JH
8833Thu Oct 31 18:08:00 CET 2002 Jan Hubicka <jh@suse.cz>
8834
8835 * i386.c (override_options): Set defaults for flag_omit_frame_pointer,
8836 flag_asynchronous_unwind_tables, flag_pcc_struct_return.
8837 * i386.c (optimization_options): Set flag_omit_frame_pointer,
8838 flag_asynchronous_unwind_tables, flag_pcc_struct_return to 2.
8839 Do not clear -momit-leaf-frame-pointer when profiling.
8e746279 8840 (ix86_frame_pointer_required): Frame pointer is always required when
55ba61f3
JH
8841 profiling.
8842
f7e5dfbd
JH
8843Thu Oct 31 16:09:44 CET 2002 Jan Hubicka <jh@suse.cz>
8844
8845 * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
8846
ff881d52
R
8847Thu Oct 31 12:45:55 2002 J"orn Rennecke <joern.rennecke@superh.com>
8848
8849 * sh.h (binary_logical_operator): Declare.
8850 * sh.c (binary_logical_operator): New function.
8851 * sh.md (xordi3+1): New combiner splitter pattern.
8852
e8e4c876
DB
88532002-10-31 David O'Brien <obrien@FreeBSD.org>
8854
8855 * config/sparc/freebsd.h (TRANSFER_FROM_TRAMPOLINE): Define
8856 __enable_execute_stack function.
8857
4977bab6
ZW
88582002-10-30 Zack Weinberg <zack@codesourcery.com>
8859
8860 * gthr.h, gthr-dce.h, gthr-posix.h, gthr-rtems.h,
8861 gthr-solaris.h, gthr-win32.h: Remove __gthread_key_dtor.
8862 * unwind-sjlj.c (fc_key_dtor): Delete.
8863 (fc_key_init): Adjust __gthread_key_create call to match.
8864
27bd7792
AH
88652002-10-30 Aldy Hernandez <aldyh@redhat.com>
8866
7bb9f927 8867 * c-common.c: Add GTY to vector_type_node_list.
27bd7792 8868
a02aa5b0
JDA
88692002-10-30 John David Anglin <dave@hiauly.hia.nrc.ca>
8870
8871 * pa-linux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Define.
8872 * pa-protos.h (attr_length_millicode_call, attr_length_call,
8873 pa_init_machine_status): Declare new global functions.
8874 * pa.c (void copy_fp_args, length_fp_args, get_plabel): Declare and
8875 implement new functions.
8876 (attr_length_millicode_call, attr_length_call): Implement.
8877 (total_code_bytes): Change type to long.
8878 (pa_output_function_prologue): Compute total_code_bytes on TARGET_64BIT.
8879 Reset counter if flag_function_sections.
8880 (output_deferred_plabels): Set output alignment to 3 for TARGET_64BIT.
8881 (output_cbranch): Move call to gen_label_rtx.
8882 (output_millicode_call): Rewrite adding long TARGET_64BIT call, expose
8883 delay slot in all variants, shorten pc-relative calls.
8884 (output_call): Rewrite adding long TARGET_64BIT call, improved delay
8885 slot usage and exposure, various new call variants, and shortened
8886 sequences for some variants on TARGET_PA_20.
8887 Miscellaneous format changes.
8888 * pa.h (total_code_bytes): Change type to long.
8889 (MASK_LONG_CALLS, TARGET_LONG_CALLS, TARGET_LONG_ABS_CALL,
8890 TARGET_LONG_PIC_SDIFF_CALL, TARGET_LONG_PIC_PCREL_CALL): Define.
8891 (TARGET_SWITCHES): Add "-mlong-calls" and "-mno-long-calls" options.
8892 (EXTRA_CONSTRAINT, GO_IF_LEGITIMATE_ADDRESS,
8893 LEGITIMIZE_RELOAD_ADDRESS): Don't use long floating point loads and
8894 stores on TARGET_ELF32.
8895 *pa.md (define_delay): Allow insns in delay on TARGET_PORTABLE_RUNTIME.
8896 (unnamed patterns for mulsi3, divsi3, udivsi3, modsi3, umodsi3 and
8897 canonicalize_funcptr_for_compare expanders): Calculate attribute length
8898 attr_length_millicode_call().
8899 (call_internal_symref, call_value_internal_symref): Clobber register 1.
8900 Calculate attribute length using attr_length_call().
8901 (call_internal_reg_64bit, call_value_internal_reg_64bit): Move gp load
8902 to delay slot.
8903 (sibcall, sibcall_value): Rewrite.
8904 (sibcall_internal_symref, sibcall_value_internal_symref): Clobber
8905 register 1. Use attr_length_call().
8906 (sibcall_internal_symref_64bit, sibcall_value_internal_symref_64bit):
8907 New patterns.
8908 (unamed pattern for canonicalize_funcptr_for_compare): Rewrite.
8909 * som.h (MEMBER_TYPE_FORCES_BLK): Define.
8910 * t-pa64 (TARGET_LIBGCC2_CFLAGS): Add "-mlong-calls".
8911 * doc/invoke.texi (mlong-calls): Document.
8912
9402f6fb
RS
89132002-10-30 Roger Sayle <roger@eyesopen.com>
8914
8915 * fold-const.c (fold_binary_op_with_conditional_arg): Improve
8916 handling of cases where one or both branches of the conditional
8917 have void type, i.e. throw an exception or don't return.
8918 (fold): Only apply (and undo) type conversion to the non-void
8919 branches of a COND_EXPR.
8920
9b5b7e3a
MM
89212002-10-30 Mark Mitchell <mark@codesourcery.com>
8922
8923 PR c++/8333
8924 * varasm.c (asm_output_aligned_bss): Do not call
8925 ASM_GLOBALIZE_LABEL.
8926
df7a8989
DE
89272002-10-30 David Edelsohn <edelsohn@gnu.org>
8928 Torbjorn Granlund <tege@swox.com>
8929
8930 * config/rs6000/rs6000.md (load_toc_v4_PIC_1): Use preferred form
8931 for addressibility.
8932 (load_toc_v4_PIC_1b): Same.
8933
d2d199a3
KH
89342002-10-30 Kazu Hirata <kazu@cs.umass.edu>
8935
8936 * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
8937 Truncate the addresses for H8/300 using HImode.
8938
4977bab6
ZW
8939Tue Oct 29 23:28:10 CET 2002 Jan Hubicka <jh@suse.cz>
8940
8941 * i386.md (negdf splitter): Fix construction of the constant.
8942
8943Tue Oct 29 20:47:06 CET 2002 Jan Hubicka <jh@suse.cz>
8944
8945 * i386.md (negsf, negdf): Reorganize to use vector modes
8946 for SSE variants.
8947 (abssf, absdf): Use force_reg.
8948 (movv4sf, movv2df): New splitters.
8949 * i386.h (PREDICATE_CODES): add zero_extended_scalar_load_operand
8950 * i386.c (zero_extended_scalar_load_operand
8951
8952 * i386-protos.h (ix86_expand_call): Update prototype.
8953 * i386.c (ix86_function_ok_for_sibcall): Handle 64bit
8954 (ix86_expand_call): Use r11 for indirect sibcalls.
8955 * i386.md (call, call_value, untyped_call, call_value_pop):
8956 update x86_expand_call call.
8957 (sibcall, sibcall_value): new patterns
8958 (call_rex64, call_value_rex64): Do not accept sibcalls.
8959 (sibcall_rex64, sibcall_value_rex64,
8960 sibcall_rex64_v, sibcall_value_rex64_v): New.
8961
8962Tue Oct 29 15:37:39 CET 2002 Jan Hubicka <jh@suse.cz>
8963
8964 * toplev.c (rest_of_compilation): Reorganize way reg_scan is called
8965 before final pass.
8966
33c21f5c
HPN
89672002-10-29 Hans-Peter Nilsson <hp@bitrange.com>
8968
8969 * toplev.c (rest_of_type_compilation): Return early in case of
8970 errors.
8971 (check_global_declarations): Don't call debug_hooks->global_decl
8972 in case of errors.
8973
d1445f8d
AB
89742002-10-28 Andreas Bauer <baueran@in.tum.de>
8975
8976 * doc/c-tree.texi (Tree overview): Fix typos.
8977
fc556cb9
PE
89782002-10-29 Phil Edwards <pme@gcc.gnu.org>
8979
8980 * Makefile.in (gnucompare*): Only record bad comparisons
8981 if there really was a bad comparison.
8982
f8ca7923
JH
8983Tue Oct 29 19:32:16 CET 2002 Jan Hubicka <jh@suse.cz>
8984
8985 * i386.h (CONST_DOUBLE_OK_FOR_LETTER_P): Remove 'H'
8986 * i386.md (movsf*, movdf*): Use 'C' instead of 'H'
8987 * md.texi (machine dependent constraints): Document 'C'
8988
8989 * simplify-rtx.c (simplify_subreg): Fix const_int->vector subregging.
8990
8991 * i386.c (ix86_expand_vector_move): Fix.
8992
8993 * i386.c (ix86_expand_builtin): Use sse2_maskmovdqu_rex64.
8994 * i386.md (sse2_maskmovdqu_rex64): New pattern
8995
8996 PR target/8322
8997 * xmmintrin.h (_mm_stream_pi, _mm_stream_pd): Fix cast.
8998 (ix86_init_mmx_sse_builtins): Fix type.
8999
c95d07f8
JT
90002002-10-29 Jason Thorpe <thorpej@wasabisystems.com>
9001
9002 * gthr-posix.h: Include <unistd.h> for feature tests.
9003 (sched_get_priority_max, sched_get_priority_min)
9004 (pthread_getschedparam, pthread_setschedparam): Only use
9005 if _POSIX_THREAD_PRIORITY_SCHEDULING is defined.
272d0bee 9006 (__gthread_objc_thread_set_priority): Don't treat all nonzero
c95d07f8
JT
9007 returns from sched_get_priority_max and sched_get_priority_min
9008 as an error.
9009
3950794d
KH
90102002-10-29 Kazu Hirata <kazu@cs.umass.edu>
9011
9012 * config/h8300/h8300.h (TARGET_DEFAULT): Make it
9013 MASK_QUICKCALL.
9014
803d56f5
KH
90152002-10-29 Kazu Hirata <kazu@cs.umass.edu>
9016
9017 * config/h8300/h8300.c (h8300_eightbit_constant_address_p): New.
9018 (h8300_tiny_constant_address_p): Likewise.
9019 * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Use
9020 h8300_eightbit_constant_address_p.
9021 (TINY_CONSTANT_ADDRESS_P): Use h8300_tiny_constant_address_p.
9022 * config/h8300/h8300-protos.h: Add the prototypes for the two
9023 new functions.
9024
6bb8a3f7
KH
90252002-10-29 Kazu Hirata <kazu@cs.umass.edu>
9026
9027 * reload1.c (update_eliminables): Unconditionally check if
9028 frame_pointer_needed has changed.
9029
fc8dfa20
JH
9030Tue Oct 29 15:37:39 CET 2002 Jan Hubicka <jh@suse.cz>
9031
9032 * toplev.c (rest_of_compilation): Reorganize way reg_scan is called
9033 before final pass.
9034
6e7727eb
EB
90352002-10-29 Eric Botcazou <ebotcazou@libertysurf.fr>
9036
a5163dcd 9037 PR optimization/8334
7bb9f927
ZW
9038 * expr.c (expand_expr) [PLUS]: Don't use simplify_binary_operation;
9039 check for zero operands explicitly.
6e7727eb 9040
02c6a17a
RS
90412002-10-29 Richard Sandiford <rsandifo@redhat.com>
9042
9043 * config/mips/mips.md (extv, extzv, insv): Set size of referenced
9044 memory after adjusting to BLKmode.
9045
1862869d
KH
90462002-10-29 Kazu Hirata <kazu@cs.umass.edu>
9047
9048 * config/h8300/h8300.h (MASK_*): New.
9049 (TARGET_*): Use MASK_*.
9050
4977bab6
ZW
90512002-10-28 Zack Weinberg <zack@codesourcery.com>
9052
9053 * config.gcc (*-*-vxworks, powerpc-wrs-vxworks*): New stanzas.
9054 * config/t-vxworks, config/vxworks.h, config/rs6000/t-vxworks,
9055 config/rs6000/vxworks.h: New files.
9056 * config/rs6000/sysv4.h: Rip out -mvxworks and all related code.
9057
9058 * config.gcc (alpha*-*-vxworks*, arm-*-vxworks*,
9059 i?86-wrs-vxworks*, i960-wrs-vxworks* [all],
9060 m68k-wrs-vxworks*, mips-wrs-vxworks, powerpc-wrs-vxworks*,
9061 powerpcle-wrs-vxworks*, sparc*-wrs-vxworks* [all],
9062 sparc-*-vxsim*): Delete stanzas.
9063 * gthr-vxworks.h: Rip out all substantive code and just
9064 include gthr-single.h.
9065
9066 * config/alpha/vxworks.h, config/arm/vxarm.h,
9067 config/i386/vxi386.h, config/i960/t-vxworks960,
9068 config/i960/vx960-coff.h, config/i960/vx960.h,
9069 config/m68k/t-vxworks68, config/m68k/vxm68k.h,
9070 config/mips/vxworks.h, config/rs6000/vxppc.h,
9071 config/sparc/t-vxsparc, config/sparc/t-vxsparc64,
9072 config/sparc/vxsim.h, config/sparc/vxsparc.h,
9073 config/sparc/vxsparc64.h: Delete files.
9074
ee3c755a
JT
90752002-10-28 Jason Thorpe <thorpej@wasabisystems.com>
9076
9077 * config.gcc (*-*-netbsd*): Add NETBSD_ENABLE_PTHREADS to
9078 tm_defines if pthreads are enabled.
9079 * config/netbsd.h (LIB_SPEC): Only support the -pthread option
9080 if NETBSD_ENABLE_PTHREADS is defined.
9081
423adbb9
KH
90822002-10-28 Kazu Hirata <kazu@cs.umass.edu>
9083
9084 * ChangeLog.1: Fix typos.
9085 * cse.c: Fix a comment typo.
9086 * reload1.c: Likewise.
9087
d7521977
HPN
90882002-10-27 Hans-Peter Nilsson <hp@bitrange.com>
9089
9090 * fixinc/inclhack.def (libc1_G_va_list): Correct test_text.
9091 * fixinc/tests/base/_G_config.h: New file.
9092
3eae4643
KH
90932002-10-27 Kazu Hirata <kazu@cs.umass.edu>
9094
9095 * combine.c: Fix comment formatting.
9096 * loop.c: Likewise.
9097 * real.c: Likewise.
9098 * regclass.c: Likewise.
9099 * regmove.c: Likewise.
9100 * regrename.c: Likewise.
9101 * reg-stack.c: Likewise.
9102 * reload1.c: Likewise.
9103 * reload.c: Likewise.
9104 * reload.h: Likewise.
9105 * unroll.c: Likewise.
9106
e591c83d
KH
91072002-10-27 Kazu Hirata <kazu@cs.umass.edu>
9108
9109 * reload1.c (reload): Fix a comment typo.
9110
a0ba837e
JH
9111Sun Oct 27 10:15:24 CET 2002 Jan Hubicka <jh@suse.cz>
9112
9113 * linux64.h (DEFAULT_PCC_STRUCT_RETURN): Define.
9114
cc0017a9
ZD
91152002-10-27 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
9116
9117 * Makefile.in (dwarf2out.o): Add dependendcy on hashtab.h.
9118 * dwarf2out.c: Include hashtab.h.
9119 (is_main_source): New static variable.
9120 (attr_checksum, die_checksum): Modified to handle die references.
9121 (same_loc_p, same_dw_val_p, same_attr_p, same_die_p, same_die_p_wrap,
9122 unmark_all_dies, htab_cu_hash, htab_cu_eq, htab_cu_del, check_duplicate_cu,
9123 record_comdat_symbol_number): New static functions.
9124 (output_comp_unit, compute_section_prefix, is_type_die, break_out_includes,
9125 mark_dies, unmark_dies, dwarf2out_start_source_file): Modified.
9126 * toplev.c (rest_of_decl_compilation): Call of dwarf2out_decl for type
9127 declarations added.
9128
d7af42bc
KH
91292002-10-26 Kazu Hirata <kazu@cs.umass.edu>
9130
9131 * config/h8300/h8300.c (initial_offset): Change to
9132 h8300_initial_elimination_offset.
9133 * config/h8300/h8300.h (INITIAL_ELIMINATION_OFFSET): Use
9134 h8300_initial_elimination_offset.
9135 * config/h8300/h8300-protos.h: Update the prototype.
9136
7e5037dc
HPN
91372002-10-26 Hans-Peter Nilsson <hp@bitrange.com>
9138
4b32269b
HPN
9139 * config/mmix/mmix.h (LIBCALL_VALUE): Use
9140 MMIX_RETURN_VALUE_REGNUM, not MMIX_OUTGOING_RETURN_VALUE_REGNUM.
9141 (FUNCTION_VALUE_REGNO_P): Similar, but move code to...
9142 * config/mmix/mmix.c (mmix_function_value_regno_p): New.
9143 * config/mmix/mmix-protos.h: Remove needless ifdefs on TREE_CODE
9144 and RTX_CODE.
9145 (mmix_function_value_regno_p): Declare.
9146
7e5037dc
HPN
9147 * config/mmix/mmix.md ("fixuns_truncdfdi2"): Replace unsigned_fix,
9148 invalid for floating point mode result, with fix.
9149
4977bab6
ZW
9150Fri Oct 25 00:04:21 2002 Alexandre Oliva <aoliva@redhat.com>
9151
9152 * Makefile.in (GCC_FOR_TARGET): Add -L$(objdir)/../ld.
9153 (STAGE2_FLAGS_TO_PASS): Pass GCC_FOR_TARGET.
9154 (stage1_build): Likewise.
9155
94c1e0e8
MS
91562002-10-25 Mike Stump <mrs@apple.com>
9157
da89b956 9158 Fixes gcc.dg/warn-1.c.
4977bab6
ZW
9159 * c-typeck.c (warn_for_assignment): Don't print argument number,
9160 if zero.
94c1e0e8 9161
0fb53e68
JH
9162Sat Oct 26 01:44:46 CEST 2002 Jan Hubicka <jh@suse.cz>
9163
9164 * toplev.c (dump_file_index): Add DFI_ce3.
9165 (dump_file_info): Likewise.
9166 (rest_of_compilation): Run first ifcvt pass before tracer.
9167
794186ca
SE
91682002-10-25 Steve Ellcey <sje@cup.hp.com>
9169
9170 * config/ia64/hpux.h (BITS_BIG_ENDIAN): Remove.
9171
cd60b4b8
RH
91722002-10-25 Richard Henderson <rth@redhat.com>
9173
9174 * real.c (real_to_decimal): If the >1 tens reduction loop results
9175 in a negative exponent, fall into the <1 pten computation.
9176
f3763a44
ZW
91772002-10-25 Zack Weinberg <zack@codesourcery.com>
9178
9179 PR middle-end/6994
9180 * c-objc-common.c (inline_forbidden_p): Can not inline
9181 functions containing structures or unions containing VLAs.
9182 * tree-inline.c (walk_tree): For all class 't' nodes, walk
9183 TYPE_SIZE and TYPE_SIZE_UNIT.
9184 (copy_tree_r): Copy types if they are variably modified.
9185
8c40b097
UW
91862002-10-25 Ulrich Weigand <uweigand@de.ibm.com>
9187
9188 * config/s390/s390.md: Remove old-style peepholes.
9189
522ec94e
UW
91902002-10-25 Ulrich Weigand <uweigand@de.ibm.com>
9191
9192 * config/s390/s390.c (s390_decompose_address): Do not range check the
9193 displacement if base or index is the argument pointer register.
9194
a7475ab1
HPN
91952002-10-24 Hans-Peter Nilsson <hp@bitrange.com>
9196
85c87994
HPN
9197 PR other/3337
9198 PR bootstrap/6763
9199 PR bootstrap/8122
a7475ab1
HPN
9200 * fixinc/inclhack.def (libc1_G_va_list): New fix.
9201 * fixinc/fixincl.x: Regenerate.
9202 * config/i386/linux.h: Move MD_FALLBACK_FRAME_STATE_FOR inside
9203 ifndef IN_LIBGCC2. Wrap it together with signal.h and
9204 sys/ucontext.h inclusion in ifndef USE_GNULIBC_1.
9205 * configure.in (gcc_AC_CHECK_DECLS): Check vasprintf too.
9206 * config.in, configure: Regenerate.
9207
7a360cce
IS
92082002-10-24 Igor Shevlyakov <igor@microunity.com>
9209
7bb9f927 9210 * varasm.c (struct rtx_const): Array size 16 for V16QImode.
7a360cce 9211
fcbe3b89
RH
92122002-10-24 Richard Henderson <rth@redhat.com>
9213
9214 * config/i386/i386.c (x86_output_mi_thunk): Fix x86_64 pic jump.
9215
1a86c850
KH
92162002-10-24 Kazu Hirata <kazu@cs.umass.edu>
9217
9218 * config/h8300/h8300.c (initial_offset): Simplify by using
9219 round_frame_size.
9220
de7999ba
MM
92212002-10-24 Marek Michalkiewicz <marekm@amelek.gda.pl>
9222
9223 * doc/install.texi (avr): Update required binutils version.
9224
92252002-10-24 Theodore A. Roth <troth@openavr.org>
9226
9227 * doc/install.texi: Point avr users at more up-to-date information.
9228
84817c5d
UW
92292002-10-24 Ulrich Weigand <uweigand@de.ibm.com>
9230
9231 * config/s390/s390.md (movdi, movsi, movhi, movqi): Add peepholes2
9232 to pull operands out of the literal pool where possible.
9233
d0749053
DC
92342002-10-24 Denis Chertykov <denisc@overta.ru>
9235
9236 * config/avr/avr.c (init_cumulative_args): Test fntype for zero.
9237
37d0b254
SE
92382002-10-24 Steve Ellcey <sje@cup.hp.com>
9239
9240 * expr.c (convert_move): If unsignedp is less then zero there
9241 is no equivalent code.
9242
7af907e9
ZW
92432002-10-24 Zack Weinberg <zack@codesourcery.com>
9244
9245 * tree.def: Delete mention of nonexistent ARRAY_TYPE fields.
9246
862a2d83
UW
92472002-10-24 Ulrich Weigand <uweigand@de.ibm.com>
9248
7af907e9 9249 * config/s390/s390.h: Rework comments; re-sort target macro definitions
862a2d83
UW
9250 according to the sequence they are defined in the manual.
9251 (POINTER_BOUNDARY): Remove.
9252
489eda65
KH
92532002-10-24 Kazu Hirata <kazu@cs.umass.edu>
9254
9255 * config/h8300/h8300.c (round_frame_size): Replace 8 with
9256 BITS_PER_UNIT.
9257
2ba08201
KH
92582002-10-24 Kazu Hirata <kazu@cs.umass.edu>
9259
9260 * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Make it
9261 64-bit safe.
9262 (TINY_CONSTANT_ADDRESS_P): Likewise.
9263
5f13cfc6
RH
92642002-10-24 Richard Henderson <rth@redhat.com>
9265
9266 * config/ia64/ia64.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
9267 (ia64_output_mi_thunk): Rewrite to use rtl, and to handle the
9268 vcall offset.
9269
3bd216f2
RH
92702002-10-24 Richard Henderson <rth@redhat.com>
9271
7af907e9
ZW
9272 PR opt/7944
9273 * reload.c (find_reloads_toplev): Mode of X is not important
3bd216f2
RH
9274 when simplifying subregs of constants.
9275
60bc2b4b
RS
92762002-10-24 Richard Sandiford <rsandifo@redhat.com>
9277
9278 * config.gcc (mips64vr-*-elf*, mips64vrel-*-elf*): Add
9279 MIPS_MARCH_CONTROLS_SOFT_FLOAT=1 to $tm_defines.
9280 * config/mips/mips.c (MIPS_MARCH_CONTROLS_SOFT_FLOAT): Default to 0.
9281 (override_options): Base default setting of MASK_SOFT_FLOAT on -march
9282 if MIPS_MARCH_CONTROLS_SOFT_FLOAT.
9283
5be5c8d4
RS
92842002-10-24 Richard Sandiford <rsandifo@redhat.com>
9285
9286 * optabs.c (expand_binop): Don't reuse the shift target in the
9287 middle of shift sequences.
9288
4977bab6
ZW
9289Wed Oct 23 22:48:44 CEST 2002 Jan Hubicka <jh@suse.cz>
9290
9291 * i386.md (abs splitters): Do not produce nested subregs.
9292
9293Wed Oct 23 12:42:32 CEST 2002 Jan Hubicka <jh@suse.cz>
9294
9295 * i386.md (movti_rex64): Fix constraints.
9296
9297Wed Oct 23 12:01:21 CEST 2002 Jan Hubicka <jh@suse.cz>
9298
9299 * i386.md (abssf,absdf): Use vector operands for SSE
9300 (abssf2_ifs, absdf2_ifs, absdf2_ifs_rex64 and splitters): Update for
9301 vector operand.
9302
196e1ae3
ZL
93032002-10-23 Ziemowit Laski <zlaski@apple.com>
9304
9305 * objc/objc-act.c (get_static_reference): Remove unneeded
9306 TYPE_BINFO initialization.
9307 (get_object-reference): Likewise.
9308 (build_constructor): Tighten precondition check.
9309 (finish_message_expr): Likewise.
9310
8bfb45f8
JJ
93112002-10-23 Jakub Jelinek <jakub@redhat.com>
9312
9313 * config/i386/i386.c (local_symbolic_operand): Move LABEL_REF test
9314 after CONST test.
9315
16448fd4
SE
93162002-10-23 Steve Ellcey <sje@cup.hp.com>
9317
9318 * config/ia64/ia64.c (hfa_element_mode): Don't allow 128 bit floats
9319 in HFAs.
9320
e2358068
RH
93212002-10-23 Richard Henderson <rth@redhat.com>
9322
9323 * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
9324 (alpha_output_mi_thunk_osf): Handle vcall_offset.
9325
8bcefb43
ZW
93262002-10-23 Zack Weinberg <zack@codesourcery.com>
9327
9328 * langhooks.h (struct lang_hooks_for_tree_inlining): Add
9329 var_mod_type_p.
9330 * langhooks-def.h: Default for tree_inlining.var_mod_type_p is
9331 hook_tree_bool_false.
9332
9333 * tree.c (variably_modified_type_p): Moved here from
9334 cp/tree.c. Use lang_hooks.tree_inlining.var_mod_type_p for
9335 language-specific cases. Due to this, must weaken some 'if
9336 and only if' checks to merely 'if'.
9337 * tree.h: Prototype variably_modified_type_p.
9338
9339 * tree-inline.c (walk_tree): #undef WALK_SUBTREE_TAIL at end.
9340
8e509cf9
UW
93412002-10-23 Ulrich Weigand <uweigand@de.ibm.com>
9342
9343 * config/s390/linux.h (CC1_SPEC, CC1PLUS_SPEC): Remove.
9344 * config/s390/s390.c (optimization_options): Disable -fcaller-saves.
9345
9346 * config/s390/s390-protos.h (fp_operand): Remove.
9347 * config/s390/s390.c (fp_operand): Remove.
9348 * config/s390/s390.md ("movdi"): Replace fp_operand by FP_REG_P.
9349 ("*movdi_lhi", "*movdi_lli", "*movdi_larl"): Likewise.
9350 ("movsi", "*movsi_lhi", "*movsi_lli"): Likewise.
9351 (movdi_31, movdf_31 splitters): Likewise.
8bcefb43 9352
8e509cf9
UW
9353 * config/s390/s390.h (IEEE_FLOAT): Remove.
9354 (TARGET_FLOAT_FORMAT): Define in terms of TARGET_IEEE_FLOAT.
9355 (INT_REGNO_P): Rename to ...
9356 (GENERAL_REGNO_P): ... this.
9357 (FLOAT_REGNO_P): Rename to ...
9358 (FP_REGNO_P): ... this.
9359 (ADDR_REGNO_P): New macro.
9360 (GENERAL_REG_P, ADDR_REG_P, FP_REG_P, CC_REG_P): New macros.
9361 (REGNO_OK_FOR_DATA_P, REGNO_OK_FOR_FP_P): Remove.
9362 (DATA_REG_P, FP_REG_P, ADDRESS_REG_P): Likewise.
9363 (HARD_REGNO_NREGS): Adapt to macro renaming.
9364 (HARD_REGNO_MODE_OK): Likewise.
9365
34bb030a
DE
93662002-10-23 David Edelsohn <edelsohn@gnu.org>
9367 Geoff Keating <geoffk@apple.com>
9368
9369 * config/rs6000/rs6000.c (rs6000_register_move_cost): New function.
9370 (rs6000_memory_move_cost): New function.
9371 * config/rs6000/rs6000-protos.h: Declare them.
9372 * config/rs6000/rs6000.h: Use them.
9373
1ab9ba62
UW
93742002-10-23 Ulrich Weigand <uweigand@de.ibm.com>
9375
8bcefb43 9376 * libgcc2.c (__udiv_w_sdiv): Use attribute ((always_inline)) when
1ab9ba62
UW
9377 inlining it into other libgcc2 routines.
9378 (__udivmoddi4): Likewise.
9379
4b2ece8f
NN
93802002-10-22 Nathanael Nerode <neroden@gcc.gnu.org>
9381
9382 * doc/sourcebuild.texi (Test Suites): Improve.
9383
2d173d20
SS
93842002-10-22 Stan Shebs <shebs@apple.com>
9385
9386 * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Add missing
9387 case for Darwin.
9388
43146684
JW
93892002-10-22 Jim Wilson <wilson@redhat.com>
9390
9391 * config/i386/i386.md (subdi3_1): Add call to ix86_binary_operator_ok.
9392
a00782ed
JH
9393Wed Oct 23 01:52:36 CEST 2002 Jan Hubicka <jh@suse.cz>
9394
9395 PR other/8289
9396 * xmmintrin.h: Add const to the argument of loads.
9397
9398 * i386.md (pushv2di): New pattern.
9399 PR target/6890
9400 * xmmintrin.h (_MM_TRANSPOSE4_PS): New.
9401
3961e8fe
RH
94022002-10-22 Richard Henderson <rth@redhat.com>
9403
9404 * target.h (gcc_target.asm_out): Merge output_mi_thunk and
9405 output_mi_vcall_thunk into a single hook. Add can_output_mi_thunk.
9406 * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Don't conditionalize.
9407 (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
9408 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
9409 (TARGET_ASM_OUT): Update.
9410 * hooks.c (hook_bool_tree_hwi_hwi_tree_false): New.
9411 (hook_bool_tree_hwi_hwi_tree_true): New.
9412 (default_can_output_mi_thunk_no_vcall): New.
9413 * hooks.h: Declare them.
9414 * system.h (ASM_OUTPUT_MI_THUNK): Poison.
9415
9416 * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
9417 (alpha_output_mi_thunk_osf): Add VCALL_OFFSET parameter.
9418 * config/arm/arm.c, config/cris/cris.c, config/frv/frv.c,
9419 config/i960/i960.c, config/ia64/ia64.c, config/m68k/m68k.c,
9420 config/mmix/mmix.c, config/pa/pa.c, config/sparc/sparc.c,
9421 config/stormy16/stormy16.c: Similarly.
9422
9423 * config/i386/i386.c (x86_output_mi_thunk): Merge vcall_offset code.
9424 Handle 64-bit properly. Streamline.
9425 (x86_output_mi_vcall_thunk): Remove.
9426 (x86_this_parameter): Rename from ia32_this_parameter; handle 64-bit.
9427 (x86_can_output_mi_thunk): New.
9428 (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
9429 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
9430 (override_options): Don't zap targetm.asm_out.output_mi_vcall_thunk.
9431
9432 * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Rename from
9433 output_mi_thunk; make static; always use function_section.
9434 (TARGET_ASM_OUTPUT_MI_THUNK): New.
9435 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
9436 (rs6000_ra_ever_killed): Test no_new_pseudos not
9437 targetm.asm_out.output_mi_thunk in conjunction with thunks.
9438 * config/rs6000/rs6000-protos.h: Update.
9439 * config/rs6000/sysv4.h (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
9440 * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Don't call
9441 xcoffout_declare_function when using rs6000_output_mi_thunk.
9442
8bcefb43 9443 * config/s390/s390.c (s390_output_mi_thunk): Rename from
3961e8fe
RH
9444 s390_output_mi_vcall_thunk.
9445 (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
9446 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
9447
9448 * config/vax/vax.c (vax_output_mi_thunk): Static; add vcall_offset.
9449 (TARGET_ASM_OUTPUT_MI_THUNK, TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
9450 * config/vax/vax-protos.h: Update.
9451 * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Remove.
9452
0e67d460
JH
9453Wed Oct 23 00:33:11 CEST 2002 Jan Hubicka <jh@suse,cz>
9454
9455 * i386.c (standard_sse_constant_p): Accept vector and integer zeros too.
9456 * i386.h (EXTRA_CONSTRAINT): Recognize 'C'
9457 * i386.md (movti_internal): Use 'C'
9458
9459 * xmmintrin.h (_mm_cmplt_epi*): New.
9460
d5869ca0
UW
94612002-10-22 Ulrich Weigand <uweigand@de.ibm.com>
9462
9463 * config/s390/s390.md ("*movdi_64"): Fix op_type attribute.
9464 ("*movdf_64"): Likewise.
9465 ("*lshrdi3_64"): Likewise.
9466 ("blockage"): Add length attribute.
9467 ("lit"): Likewise.
9468
680dd104
JH
9469Tue Oct 22 23:51:34 CEST 2002 Jan Hubicka <jh@suse.cz>
9470
9471 * i386.md: FIx typo.
9472 (sse2_cvtsi2sd, sse2_pslrdq): Fix template.
9473 (sse2_umulv2siv2di3): Fix predicate.
9474 (sse2_psadbw, ashrv8hi3, ashrv4si3, lshrv8hi3 lshrv4si3,
9475 lshrv2di3, ashlv8hi3, ashlv4si3, ashlv2di3): Likewise.
9476 * xmmintrin.h (_mm_mul_epu16): Rename to...
9477 (_mm_mul_epu32): This one.
9478 (_mm_cvtsi32_si128, _mm_cvtsi128_si32): New.
9479
9480 (contains_128bit_aligned_vector_p): Undo accidental checkin.
9481
3aabf9a5
EC
94822002-10-22 Eric Christopher <echristo@redhat.com>
9483
9484 * config/sparc/sparc.h: Add #error.
9485
42c78618
UW
94862002-10-22 Ulrich Weigand <uweigand@de.ibm.com>
9487
9488 * config.gcc [s390-*-linux]: Remove s390/t-linux from tmake_file.
9489 [s390x-*-linux*]: Likewise.
9490 * config/s390/t-linux: Remove.
9491 * config/s390/s390.h: Include fixdfdi.h when building libgcc2.
9492
077084dd
JH
9493Tue Oct 22 19:07:03 CEST 2002 Jan Hubicka <jh@suse.cz>
9494
9495 * i386.c (builtin_description): Add IX86_BUILTIN_PUNPCKHQDQ128.
9496 (ix86_expand_builtin): Fix MASKMOVDQU expasion.
9497 * i386.h (ix86_builtins): Add IX86_BUILTIN_PUNPCKHQDQ128.
9498 * i386.md (mmx_punpck?dq): Simplify.
9499 (sse2_pubpcklqdq): Fix.
9500 (sse2_pubpckhqdq): New.
9501 * xmmintrin.h (_mm_unpackhi_epi32): New.
9502
9503 * xmmintrin.h (_mm_cvt*, _mm_stream_pd): Fix prototypes.
9504 (_mm_shufflehi_epi16, _mm_shufflelo_epi16): Fix typo.
9505
8fe734a3
NS
95062002-10-22 Nathan Sidwell <nathan@codesourcery.com>
9507
9508 PR c++/7209
9509 * fold_const.c (fold_binary_op_with_conditional_arg): Always
9510 build compound_expr if we used save_expr.
9511
6a0a6ac4
AM
95122002-10-22 Alan Modra <amodra@bigpond.net.au>
9513
9514 * output.h (SECTION_NOTYPE): Define.
9515 * varasm.c (default_section_type_flags_1): Set SECTION_NOTYPE for
9516 init array sections.
9517 (default_elf_asm_named_section): Mind SECTION_NOTYPE.
9518 * config/arm/arm.c (arm_elf_asm_named_section): Likewise. Also
9519 merge TLS support.
9520
4977bab6
ZW
95212002-10-21 Richard Henderson <rth@redhat.com>
9522
9523 * config/i386/i386.c (ix86_function_ok_for_sibcall): Look at
9524 the function type, not the return type.
9525
5e26e5a2
RH
95262002-10-21 Richard Henderson <rth@redhat.com>
9527
9528 * real.c (sticky_rshift_significand): Return inexact, don't
9529 or it in immediately.
9530 (sub_significands): Accept incomming carry.
9531 (div_significands, rtd_divmod): Update for sub_significands change.
9532 (round_for_format): Update for sticky_rshift_significand change.
9533 (do_add): Don't involve the inexact bit in addition, do give the
9534 inexact bit as the subtraction carry-in.
9535 (encode_internal, decode_internal, real_internal_format): New.
9536 * real.h (real_internal_format): Declare.
9537
f8eef883
UW
95382002-10-21 Ulrich Weigand <uweigand@de.ibm.com>
9539
9540 * libgcc2.c: Fix __udiv_w_sdiv breakage on platforms that
9541 don't define sdiv_qrnnd.
9542
89e56fe5
KH
95432002-10-21 Kazu Hirata <kazu@cs.umass.edu>
9544
9545 * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Simplify
9546 using IN_RANGE.
9547 (TINY_CONSTANT_ADDRESS_P): Likewise.
9548
f02e1358
JH
9549Tue Oct 22 00:04:20 CEST 2002 Jan Hubicka <jh@suse.cz>
9550
9551 * i386.c (builtin_description): Add punpcklqdq and movdq2q
9552 (ix86_init_mmx_sse_builtins): Add v2di_ftype_void, di_ftype_v2di,
9553 v16qi_ftype_pchar, void_ftype_pchar_v16qi, v4si_ftype_pchar,
9554 void_ftype_pchar_v4si; Initialize __builtin_ia32_movdq2q,
9555 __builtin_ia32_loaddqa, __builtin_ia32_loaddqu, __builtin_ia32_loadd
9556 __builtin_ia32_storedqa, __builtin_ia32_storedqu, __builtin_ia32_stored
9557 __builtin_ia32_setzero128.
9558 (ix86_expand_builtin): Handle IX86_BUILTIN_CLRTI, IX86_BUILTIN_LOADDQA,
9559 IX86_BUILTIN_LOADDQU, IX86_BUILTIN_LOADD, IX86_BUILTIN_STOREDQA,
9560 IX86_BUILTIN_STOREDQU, IX86_BUILTIN_STORED, Ix86_BUILTIN_MOVQ.
9561 * i386.h (ix86_builtins): Add IX86_BUILTIN_LOADDQA, IX86_BUILTIN_LOADDQU,
9562 IX86_BUILTIN_STOREDQA, IX86_BUILTIN_STOREDQU, IX86_BUILTIN_LOADD,
9563 IX86_BUILTIN_STORED, IX86_BUILTIN_CLRTI, IX86_BUILTIN_MOVDQ2Q,
9564 IX86_BUILTIN_PUNPCKLQDQ128, Ix86_BUILTIN_MOVQ.
9565 * i386.md (sse2_punpcklqdq, sse2_movqsse2_loadd, sse2_stored,
9566 sse2_movq): New patterns.
9567 (sse2_movdqa, sse2_movdqu, sse2_movdq2q): Fix.
9568 * xmmintrin.h (_mm_load_si128, _mm_loadu_si128, _mm_loadl_epi64,
9569 _mm_store_si128, _mm_storeu_si128, _mm_storel_epi64,
9570 _mm_setzero_si128, _mm_set_epi64, _mm_set_epi32, _mm_set_epi16,
9571 _mm_set_epi8, _mm_set1_epi64, _mm_set1_epi32, _mm_set1_epi16,
9572 _mm_set1_epi8, _mm_setr_epi64, _mm_setr_epi32, _mm_setr_epi16,
9573 _mm_setr_epi8, _mm_unpacklo_epi64,_mm_set_moveq): New functions.
9574 (_mm_insert_epi16): Fix.
9575
de40e1df
DJ
95762002-10-21 Dale Johannesen <dalej@apple.com>
9577
8bcefb43 9578 * config/rs6000/rs6000.c (rs6000_reverse_condition): Handle
de40e1df
DJ
9579 unsafe math reversals correctly for RTL generation.
9580 (output_cbranch): Replace rs6000_reverse_condition call
9581 by its former definition.
9582
75d38379
JJ
95832002-10-21 Jakub Jelinek <jakub@redhat.com>
9584
9585 * config/i386/i386.c (x86_64_sign_extended_value): Add allow_rip
9586 argument. In CM_SMALL_PIC model consider SYMBOL_REFs binding locally or
9587 from constant pool or LABEL_REFs as sign extended if allow_rip.
9588 Change all +-1GB limits to +-16MB.
9589 (x86_64_general_operand, x86_64_szext_general_operand,
9590 x86_64_nonmemory_operand, x86_64_movabs_operand,
9591 x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
9592 legitimate_address_p, ix86_expand_int_movcc): Update callers.
9593 (local_symbolic_operand): Don't allow offsets bigger than +-16MB
9594 in CM_SMALL_PIC model.
9595 (legitimate_pic_address_disp_p): Don't check offsets before
9596 calling local_symbolic_operand.
9597 (legitimize_pic_address): Force offsets bigger than +-16MB into
9598 register.
9599 * config/i386/i386.h (EXTRA_CONSTRAINT, CONST_COSTS): Likewise.
9600 * config/i386/i386-protos.h (x86_64_sign_extended_value): Update
9601 prototype.
9602
9603 * configure.in: Test for @GOTNTPOFF and @INDNTPOFF on IA-32 too.
9604 Add x86-64 test. Set tls_first_minor to 14 on IA-32 and x86-64.
9605 * configure: Rebuilt.
9606 * config/i386/i386.c (x86_64_sign_extended_value): Don't allow TLS
9607 SYMBOL_REFs unless enclosed in UNSPEC. Handle UNSPEC_DTPOFF,
9608 UNSPEC_GOTNTPOFF and UNSPEC_NTPOFF.
9609 (legitimate_address_p): Allow foo@dtpoff(base) even on TARGET_64BIT
9610 -fpic.
9611 (ix86_encode_section_info): Don't ever generate TLSGD or TLSLD for
9612 non-pic code if TARGET_64BIT.
9613 (legitimize_address): Generate 64-bit TLS sequences.
9614 (output_pic_addr_const): Support x86-64 TLS operators.
9615 (i386_output_dwarf_dtprel): Output 64-bit DTPOFF as .long f@DTPOFF, 0.
9616 (print_operand_address): Use %fs instead of %gs on TARGET_64BIT.
9617 Don't append (%rip) in 64-bit TLSGD and TLSLD sequences.
9618 (output_addr_const_extra): Support x86-64 TLS operators.
9619 (maybe_get_pool_constant): Handle TARGET_64BIT -fpic.
9620 (ix86_tls_get_addr): Use __tls_get_addr on TARGET_64BIT
9621 unconditionally.
9622 * config/i386/i386.md (*tls_global_dynamic_gnu): Renamed to...
9623 (*tls_global_dynamic_32_gnu): ..., add !TARGET_64BIT.
9624 (*tls_global_dynamic_sun): Renamed to...
9625 (*tls_global_dynamic_32_sun): ..., add !TARGET_64BIT.
9626 (tls_global_dynamic): Renamed to...
9627 (tls_global_dynamic_32): ... this.
9628 (tls_global_dynamic_64, *tls_global_dynamic_64): New.
9629 (*tls_local_dynamic_base_dynamic_gnu): Renamed to...
9630 (*tls_local_dynamic_base_dynamic_32_gnu): ..., add !TARGET_64BIT.
9631 (*tls_local_dynamic_base_dynamic_sun): Renamed to...
9632 (*tls_local_dynamic_base_dynamic_32_sun): ..., add !TARGET_64BIT.
9633 (tls_local_dynamic_base_dynamic): Renamed to...
9634 (tls_local_dynamic_base_dynamic_32): ... this.
9635 (tls_local_dynamic_base_dynamic_64,
9636 *tls_local_dynamic_base_dynamic_64): New.
9637 (*tls_local_dynamic_once): Renamed to...
9638 (*tls_local_dynamic_32_once): ... this.
9639
59798a0c
UW
96402002-10-21 Ulrich Weigand <uweigand@de.ibm.com>
9641
9642 * libgcc2.c: Inline __udiv_w_sdiv when compiling __udivdi3,
9643 __divdi3, __umoddi3, or __moddi3.
9644
97d05bfd
UW
96452002-10-21 Ulrich Weigand <uweigand@de.ibm.com>
9646
9647 * c-opts.c (missing_arg): Use cl_options[opt_index].opt_code
9648 instead of just opt_index as switch expression.
9649
9650 * calls.c (store_one_arg): Change type of 'excess_align'
9651 to unsigned int.
9652
9653 * profile.c (output_gcov_string): Change type of 'temp'
9654 to size_t.
9655
5d4d885c
UW
96562002-10-21 Ulrich Weigand <uweigand@de.ibm.com>
9657
9658 * config/s390/fixdfdi.h (__fixunsdfdi, __fixdfdi): Add prototypes.
9659 (__fixunssfdi, __fixsfdi): Likewise.
9660 * config/s390/s390.c (s390_single_hi): Initialize 'value'.
9661 (s390_single_qi): Likewise.
9662 (s390_emit_epilogue): Initialize 'offset'. Remove signed vs.
9663 unsigned comparison warning.
9664 (s390_return_addr_rtx): New function.
9665 * config/s390/s390-protos.h (s390_return_addr_rtx): Declare it.
9666 * config/s390/s390.h (RETURN_ADDR_RTX): Use it.
9667 (HARD_REGNO_MODE_OK): Rewrite condition to silence warnings.
9668
3062825f
UW
96692002-10-21 Ulrich Weigand <uweigand@de.ibm.com>
9670
9671 * config/s390/s390.c (s390_output_mi_vcall_thunk): New function.
9672 (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define target hook.
9673 (s390_output_mi_thunk): Remove.
9674 (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
9675
2918c993
KH
96762002-10-21 Kazu Hirata <kazu@cs.umass.edu>
9677
9678 * config/h8300/h8300.h (N_REG_CLASSES): Parenthesize.
9679
4977bab6
ZW
96802002-10-20 Zack Weinberg <zack@codesourcery.com>
9681
9682 * config/i386/i386.c (ix86_function_ok_for_sibcall): Fix an
9683 inverted test in the conditional determining the possibility
9684 of sibcalls in PIC mode.
9685
c590b625
RH
96862002-10-20 Richard Henderson <rth@redhat.com>
9687
9688 * target.h (struct gcc_target): Line wrap.
9689
9690 * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Static.
9691 (TARGET_ASM_OUTPUT_MI_THUNK): Define here...
9692 * config/alpha/alpha.h: ... not here.
9693 * config/alpha/alpha-protos.h: Update.
9694
9695 * config/arm/arm.c, config/arm/arm.h, config/arm/arm-protos.h
9696 config/cris/cris-protos.h, config/cris/cris.c, config/cris/cris.h,
9697 config/frv/frv-protos.h, config/frv/frv.c, config/frv/frv.h,
9698 config/i386/i386-protos.h, config/i386/i386.c, config/i386/openbsd.h,
9699 config/i386/unix.h, config/i960/i960-protos.h, config/i960/i960.c,
9700 config/i960/i960.h, config/ia64/ia64-protos.h, config/ia64/ia64.c,
9701 config/ia64/ia64.h, config/m68k/linux.h, config/m68k/m68k-protos.h,
9702 config/m68k/m68k.c, config/m68k/netbsd-elf.h, config/m68k/openbsd.h,
9703 config/mmix/mmix-protos.h, config/mmix/mmix.c, config/mmix/mmix.h,
3aabf9a5 9704 config/pa/pa-protos.h, config/pa/pa.c, config/pa/pa.h,
c590b625
RH
9705 config/s390/s390-protos.h, config/s390/s390.c, config/s390/s390.h,
9706 config/sparc/openbsd.h, config/sparc/sparc-protos.h,
9707 config/sparc/sparc.c, config/sparc/sparc.h,
9708 config/stormy16/stormy16-protos.h, config/stormy16/stormy16.c,
9709 config/stormy16/stormy16.h: Similarly.
9710
9711 * config/m68k/m68k.c (m68k_output_mi_thunk): Replicate mnemonic
9712 selection logic from call patterns.
9713
16f7d029
MM
97142002-10-20 Mark Mitchell <mark@codesourcery.com>
9715
9716 * config/m68k/m68k.c (m68k_output_mi_thunk): Fix typo.
9717
ab3146fd
ZD
97182002-10-20 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
9719
9720 PR other/8202
9721 * i386.c (ix86_init_mmx_sse_builtins, ix86_expand_builtin): Define and
9722 expand __builtin_ia32_pslldqi128 and __builtin_ia32_psrldqi128.
9723 * i386.h (IX86_BUILTIN_PSLLDQI128, IX86_BUILTIN_PSRLDQI128): New.
9724 * xmmintrin.h (_mm_srli_si128, _mm_slli_si128): New.
9725
e03b7153
RS
97262002-10-20 Roger Sayle <roger@eyesopen.com>
9727
9728 PR c/761
9729 * toplev.c (flag_unsafe_profile_arcs): Remove.
9730 (flag_bounded_pointers): Remove.
9731 (flag_bounds_check): Correct comments.
9732 (lang_independent_options): Remove -funsafe-profile-arcs and
9733 -fbounded-pointers. Correct -fbounds-check comments.
9734
9735 * flags.h: Correct flag_schedule_interblock comments.
9736 (flag_bounded_pointers): Remove prototype.
9737 (flag_bounds_check): Correct comments.
9738
9739 * c-opts.c (c_common_init_options): No need to mark
9740 flag_bounds_check as unspecified.
9741 (c_common_post_options): And no need to set it from
9742 flag_bounded_pointers if its still unspecified.
9743
9744 * doc/invoke.texi: Fix some overfull hboxes in "make dvi".
9745 Document --version, -feliminate-dwarf-2-dups, -fno-sched-interblock,
9746 -fno-sched-spec, -fsched-spec-load, -fsched-spec-load-dangerous,
9747 -fsched-verbose=n, -fno-branch-count-reg and -fbounds-check.
9748
4977bab6
ZW
9749Sat Oct 19 22:02:28 2002 Alexandre Oliva <aoliva@redhat.com>
9750 Angela Marie Thomas <angela@releasedominatrix.com>
9751 Brendan Kehoe <brendan@zen.org>
9752 Nick Clifton <nickc@redhat.com>
9753 Andrew Haley <aph@redhat.com>
9754
9755 * configure.in (--with-sysroot): New. Don't inhibit libc if
9756 given. AC_SUBST TARGET_SYSTEM_ROOT, TARGET_SYSTEM_ROOT_DEFINE
9757 and CROSS_SYSTEM_HEADER_DIR.
9758 * configure: Rebuilt.
9759 * Makefile.in (CROSS_SYSTEM_HEADER_DIR): Set in configure.
9760 (TARGET_SYSTEM_ROOT): New.
9761 (DRIVER_DEFINES): Define CROSS_INCLUDE_DIR from
9762 CROSS_SYSTEM_HEADER_DIR.
9763 (install-gcc-tooldir): New target.
9764 (stmp-fixinc): Do not create $(libsubdir), but rather bail out
9765 if SYSTEM_HEADER_DIR does not exist and it's not the default
9766 sys-include directory.
9767 (deduced.h, stmp-fixproto): Quote SYSTEM_HEADER_DIR properly.
9768 (install-mkheaders): Likewise.
9769 * gcc.c (target_system_root): New variable.
9770 (add_sysrooted_prefix): New function.
9771 (process_command): Recompute run-time target_system_root from
9772 gcc_exec_prefix, keeping it unchanged if the relocated sysroot
9773 does not exist.
9774 (do_spec_1): Process 'R' spec.
9775 (main): Add md_exec_prefix to exec_prefixes regardless of
9776 startfile_prefix_spec. Use add_sysrooted_prefix for
9777 startfile_prefixes, and don't skip the default ones when cross
9778 compiling with sysroot enabled. Removed unused case of
9779 non-absolute standard_startfile_prefix.
9780 * config/interix.h: Remove the only potential, yet disabled,
9781 occurrence of non-absolute (empty) standard_startfile_prefix.
9782 * config/sh/linux.h (LIB_SPEC): Add -rpath-link in non-static
9783 linking.
9784 * config/mips/linux.h (LIB_SPEC): Define as in sh/linux.h.
9785 * doc/install.texi (--with-sysroot): Document.
9786 (--with-headers, --with-libs): Deprecate.
9787
eb0424da 97882002-10-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8bcefb43 9789 Mark Mitchell <mark@codesourcery.com>
eb0424da
MM
9790
9791 * alpha-protos.h (alpha_output_mi_thunk_osf): Update signature to
9792 match target.h.
9793 * arm-protos.h, arm.c (arm_output_mi_thunk): Likewise.
9794 * cris-protos.h, cris.c (cris_asm_output_mi_thunk): Likewise.
9795 * frv-protos.h, frv.c (frv_asm_output_mi_thunk): Likewise.
9796 * i386-protos.h, i386.c (x86_output_mi_vcall_thunk,
9797 x86_output_mi_thunk): Likewise.
9798 * i960-protos.h, i960.c (i960_output_mi_thunk): Likewise.
9799 * ia64-protos.h, ia64.c (ia64_output_mi_thunk): Likewise.
9800 * m68k-protos.h, m68k.c (m68k_output_mi_thunk): Likewise.
9801 * mmix-protos.h, mmix.c (mmix_asm_output_mi_thunk): Likewise.
9802 * rs6000-protos.h, rs6000.c (output_mi_thunk): Likewise.
9803 * s390-protos.h, s390.c (s390_output_mi_thunk): Likewise.
9804 * stormy16-protos.h, stormy16.c (xstormy16_asm_output_mi_thunk):
9805 Likewise.
9806 * vax-protos.h, vax.c (vax_output_mi_thunk): Likewise.
3aabf9a5 9807
eb0424da
MM
9808 * target.h (gcc_target): Update output_mi_thunk and
9809 output_mi_vcall_thunk to take a HOST_WIDE_INT delta and
9810 vcall_index.
9811
9812 * config/alpha/alpha.c: Replace ASM_OUTPUT_MI_THUNK with
9813 TARGET_ASM_OUTPUT_MI_THUNK in comments.
9814 * config/alpha/vms.h (ASM_OUTPUT_MI_THUNK): Don't #undef it.
9815 (TARGET_ASM_OUTPUT_MI_THUNK): #undef it.
9816 * config/frv/frv.h (DEFAULT_VTABLE_THUNKS): Remove definition.
9817 * config/i386/i386-protos.h (x86_output_mi_vcall_thunk): Update
9818 signature.
9819 * config/i386/i386.c (x86_output_mi_vcall_thunk): Likewise.
9820 * config/i386/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
9821 TARGET_ASM_OUTPUT_MI_THUNK in comments.
9822 * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Don't define.
9823 (TARGET_ASM_OUTPUT_MI_THUNK): Do define.
9824 * config/m68k/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
9825 TARGET_ASM_OUTPUT_MI_THUNK in comments.
9826 * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Remove #ifdef
9827 ASM_OUTPUT_MI_THUNK and replace with check of targetm.
9828
9829 * doc/tm.texi (TARGET_ASM_OUTPUT_MI_THUNK): Update signature.
9830 (TARGET_ASM_OUTPU_MI_VCALL_THUNK): Likewise.
3aabf9a5 9831
433d5d04
BL
98322002-10-19 Brad Lucier <lucier@math.purdue.edu>
9833
9834 * real.c (do_add): Fix 0+0 sign corner case.
9835 (do_divide): Fix Inf/0 corner case.
9836
1194ca05
JH
9837Sun Oct 20 00:31:31 CEST 2002 Jan Hubicka <jh@suse.cz>
9838
9839 * i386.c (classify_argument): Pass MMX arguments in memory
9840 (ix86_expand_builtin): Expand proper address mode for cflush.
9841 * i386.md (movdqa): Fix typo.
9842 (sse2_cflush): Accept DImode addresses.
9843
9844 * xmmintrin.h (_mm_sqrt_sd): Accept two arguments.
9845 (_mm_max_sd): Fix pasto.
9846 (_mm_storeh_pd, _mm_storel_pd): Fix.
9847
9848 * i386.c (bdesc_comi): Fix to match specification.
9849 (ix86_expand_sse_comi): Emit the comparison properly.
9850 * i386.md (sse_comi, sse2_comi, sse_ucomi, sse2_ucomi):
9851 Do not use comparison operator.
9852 (vnmaskcmp): Fix template.
9853
9854 * xmmintrin.h (_mm_cvtps_pi16): Fix.
9855
3df5d99e
SP
98562002-10-19 Sebastian Pop <s.pop@laposte.net>
9857
9858 * dependence.c : Removed.
8bcefb43 9859 * Makefile.in : Remove dependence.o.
3df5d99e 9860
822eda12
JH
9861Sat Oct 19 10:46:52 CEST 2002 Jan Hubicka <jh@suse.cz>
9862
9863 * mmintrin.h (__m64): typedef it to v2si.
9864 (_mm_cvtsi32_si64, _mm_cvtsi32_si64_mm_sll_pi16,
9865 _mm_sll_pi32, _mm_sll_pi64, _mm_slli_pi64, _mm_sra_pi16,
9866 _mm_sra_pi32, _mm_srl_pi16, _mm_srl_pi32, _mm_srl_pi64,
9867 _mm_srli_pi64, _mm_and_si64, _mm_andnot_si64,
9868 _mm_or_si64, _mm_xor_si64): Add neccesary casts.
9869 * xmmintrin.h (_mm_setzero_si64): Likewise.
9870
9871 * i386.h (ALIGN_MODE_128): Update comment; add missing modes
9872 (SSE_REG_MODE_P, MMX_REG_MODE_P): New macros.
9873
9874 PR target/7693
9875 Patch by Shawn Wagner
9876 * mmintrin.h: Replace pi64 by si64.
9877
914a7297
DE
98782002-10-18 David Edelsohn <edelsohn@gnu.org>
9879
9880 * rs6000.md (movdf_hardfloat32): Order alternatives consistently.
9881 Use length of 4 not *.
9882 (movdf_hardfloat64): Same. Support DFmode moves to/from CTR/LR.
9883 (movdf_softfloat64): Likewise.
9884 (movdi_internal32): Use length of 4 not *.
9885 (movti_power): Same.
9886 (ctrsi, ctrdi): Same.
9887
4a7510cb
ZW
98882002-10-18 Zack Weinberg <zack@codesourcery.com>
9889
9890 * c-decl.c (start_decl): Point users of the old initialized-
9891 typedef extension at __typeof__.
9892
99c57613
RH
98932002-10-18 Richard Henderson <rth@redhat.com>
9894
9895 * real.c (cmp_significand_0, rtd_divmod, ten_to_mptwo): New.
9896 (real_to_decimal): Re-implement using the logic from the
9897 gcc 3.2 etoasc. Comment heavily.
9898 (div_significands): Simplify loop startup and comparison logic.
9899
483ab821
MM
99002002-10-18 Mark Mitchell <mark@codesourcery.com>
9901
9902 * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Default to NULL.
9903 (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Likewise.
9904 (TARGET_ASM_OUT): Add them.
9905 * target.h (asm_out): Add output_mi_thunk and
9906 output_mi_vcall_thunk.
9907 * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Rename to ...
9908 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
9909 * config/arm/arm-protos.h (arm_output_mi_thunk): Declare.
9910 * config/arm/arm.c (arm_output_mi_thunk): Define.
9911 * config/arm/arm.h (ASM_OUTPUT_MI_THUNK): Rename to ...
9912 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
9913 * config/cris/cris.h (ASM_OUTPUT_MI_THUNK): Rename to ...
9914 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
9915 * config/frv/frv.h (ASM_OUTPUT_MI_THUNK): Rename to ...
9916 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
9917 * config/i386/i386-protos.h (x86_output_mi_thunk): Adjust
9918 prototype.
9919 (x86_output_mi_vcall_thunk): Declare.
9920 * config/i386/i386.c (override_options): Clear
9921 output_mi_vcall_thunk in 64-bit mode.
9922 (ix86_fntype_regparm): New function.
9923 (ix86_return_pops_args): Use it.
9924 (ia32_this_parameter): New function.
9925 (x86_output_mi_vcall_thunk): New function.
9926 (x86_output_mi_thunk): Use it
9927 * config/i386/unix.h (TARGET_ASM_OUTPUT_MI_THUNK): Adjust.
9928 (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define.
9929 * config/i960/i960-protos.h (i960_output_mi_thunk): Declare.
9930 * config/i960/i960.c (i960_output_mi_thunk): New function.
9931 * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Adjust.
9932 * config/ia64/ia64-protos.h (ia64_output_mi_thunk): Declare.
9933 * config/ia64/ia64.c (ia64_output_mi_thunk): Define.
9934 * config/ia64/ia64.h (ASM_OUTPUT_MI_THUNK): Rename to ...
9935 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
9936 * config/m68k/m68k-protos.h (m68k_output_mi_thunk): New function.
9937 * config/m68k/linux.h (ASM_OUTPUT_MI_THUNK): Rename to ...
9938 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
9939 * config/m68k/netbsd-elf.h (ASM_OUTPUT_MI_THUNK): Rename to ...
9940 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
9941 * config/mmix/mmix.h (ASM_OUTPUT_MI_THUNK): Rename to ...
9942 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
9943 * config/pa/pa.h (ASM_OUTPUT_MI_THUNK): Rename to ...
9944 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
9945 * config/rs6000/sysv4.h (ASM_OUTPUT_MI_THUNK): Rename to ...
9946 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
9947 * config/s390/s390-protos.h (s390_output_mi_thunk): Declare.
9948 * config/s390/s390.c (s390_output_mi_thunk): Define.
9949 * config/s390/s390.h (ASM_OUTPUT_MI_THUNK): Rename to ...
9950 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
9951 * config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Rename to ...
9952 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
9953 * config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Rename to ...
9954 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
9955 * config/vax/vax-protos.h (vax_output_mi_thunk): Declare.
9956 * config/vax/vax.c (vax_output_mi_thunk): Define.
9957 * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Rename to ...
9958 (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
9959 * doc/tm.texi: Adjust documentation.
4a7510cb 9960
90e021a0
JT
99612002-10-18 Jason Thorpe <thorpej@wasabisystems.com>
9962
4a7510cb
ZW
9963 * config/netbsd.h (NETBSD_ENABLE_EXECUTE_STACK): Define
9964 __enable_execute_stack function.
90e021a0
JT
9965 * config/alpha/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Define
9966 as NETBSD_ENABLE_EXECUTE_STACK.
9967 * config/i386/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
9968 * config/i386/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
9969 * config/i386/netbsd64.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
9970 * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
9971 * config/sparc/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
9972
5791cc29
JT
99732002-10-18 Jason Thorpe <thorpej@wasabisystems.com>
9974
9975 * config/i386/i386.c (x86_initialize_trampoline): Emit a call
9976 to __enable_execute_stack with the address of the trampoline
9977 if TRANSFER_FROM_TRAMPOLINE is defined.
9978 * config/i386/i386.h (TARGET_64BIT): Expand to a compile-time
9979 constant if building libgcc2.
9980
4977bab6
ZW
9981Thu Oct 17 17:40:05 CEST 2002 Jan Hubicka <jh@suse.cz>
9982
9983 * i386.c (pentium4_cost): Fix according to Intel recommendations.
9984 (ix86_memory_move_cost): Fix for 64bit compilation.
9985
7b35bba3
RS
99862002-10-17 Roger Sayle <roger@eyesopen.com>
9987
9988 * doc/c-tree.texi: Update description of COND_EXPR tree nodes.
9989
b991a865
GK
99902002-10-17 Geoffrey Keating <geoffk@apple.com>
9991
9992 * config/rs6000/rs6000.h (HARD_REGNO_MODE_OK): Allow arbitrary modes
9993 in CTR/LR/MQ.
9994 * config/rs6000/rs6000.md (movcc_internal1): Support CCmode moves
9995 to/from CTR/LR/MQ.
9996 (movsf_hardfloat): Support SFmode moves to/from CTR/LR/MQ.
9997 (movsf_softfloat): Likewise.
9998
fa870451
JJ
99992002-10-17 Janis Johnson <janis187@us.ibm.com>
10000
10001 * Makefile.in (site.exp): Add ALT_CXX_UNDER_TEST and COMPAT_OPTIONS.
10002
e31c2957
JT
100032002-10-17 Jason Thorpe <thorpej@wasabisystems.com>
10004
10005 * config/alpha/alpha.c (alpha_initialize_trampoline): Use
10006 tramp, not addr, to pass the trampoline address to
10007 __enable_execute_stack.
10008
48126a97
JH
10009Thu Oct 17 18:40:47 CEST 2002 Jan Hubicka <jh@suse.cz>
10010
10011 * mmintrin.h: Guard by __MMX__
10012 * xmmintrin.h: Guard by __SSE__
10013
10014 PR other/8062
10015 * xmmintrin.h (_MM_SHUFFLE2): New macro.
10016 (_mm_load*_?d): New functions.
10017 (_mm_set*_?d): New functions.
10018 (_mm_store*_?d): New functions.
10019
2ffa9932
JH
10020Wed Oct 16 15:01:29 CEST 2002 Jan Hubicka <jh@suse.cz>
10021
10022 Really commit patch announced at Oct 14
10023 PR c/7344
10024 * predict.c (can_predict_insn_p): New function.
10025 (estimate_probability): Avoid unnecesary work.
10026 (process_note_prediction): Likewise.
10027 * toplev.c (rest_of_compilation): Account early branch prediction pass
10028 as TV_BRANCH_PROB.
10029
ccc4bdea
JH
10030 PR other/8048
10031 Found by Ian Ollmann
10032 * xmmintrin.h (_mm_shuffle_pd): Fix typo.
10033 (_mm_load?_pd): Likewise.
10034 (_mm_store?_pd): Likewise.
10035
10036 PR target/7386
10037 * i386.c (builtin_description):Drop cmpg[te]s[sd].
10038 * xmmintrin.h (__mm_cmpg[te]_s[sd]): Rewrite using
10039 swapped alternative.
10040
10041 PR opt/7630
10042 * reload1.c (reload_inner_reg_of_subreg): New argument output;
10043 (push_reload): Update call.
10044
4db83639
RS
100452002-10-17 Richard Sandiford <rsandifo@redhat.com>
10046
10047 * config.gcc (mips*-*-*): Add OBJECT_FORMAT_ELF to $tm_defines
10048 if using mips/elf.h or mips/elf64.h.
10049 * config/mips/elf.h (OBJECT_FORMAT_ELF): Remove.
10050 * config/mips/elf64.h (OBJECT_FORMAT_ELF): Remove.
10051
f9dd72da
AH
100522002-10-16 Aldy Hernandez <aldyh@redhat.com>
10053
10054 * config/rs6000/rs6000.c (function_arg): Set inner mode of V1DI to
10055 SI.
10056
63a1ff86
UW
100572002-10-16 Ulrich Weigand <uweigand@de.ibm.com>
10058
10059 * config/s390/linux.h (ASM_DOUBLE, _ASM_OUTPUT_LONG): Remove.
10060 (LPREFIX): Likewise.
10061 (ASM_COMMENT_START, LOCAL_LABEL_PREFIX, ASM_FORMAT_PRIVATE_NAME,
10062 ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT,
10063 ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGNED_BSS,
10064 TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP,
10065 GLOBAL_ASM_OP, ASM_OUTPUT_MI_THUNK): Move to s390.h.
10066
4a7510cb
ZW
10067 * config/s390/s390.h (ASM_COMMENT_START, LOCAL_LABEL_PREFIX,
10068 ASM_FORMAT_PRIVATE_NAME, ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP,
10069 ASM_OUTPUT_ALIGNED_BSS, TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
63a1ff86
UW
10070 BSS_SECTION_ASM_OP): Move from linux.h.
10071 (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
10072 Also, use ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
10073
4a7510cb 10074 * config/s390/s390.c (s390_function_profiler): Use
63a1ff86
UW
10075 ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
10076
4977bab6
ZW
100772002-10-15 Eric Christopher <echristo@redhat.com>
10078
10079 * stor-layout.c (layout_type): Call GET_MODE_BITSIZE once.
10080 * java/parse.y (obtain_incomplete_type): Make pointer
10081 ptr_mode.
10082
da6eec72
RH
100832002-10-15 Richard Henderson <rth@redhat.com>
10084
10085 * real.c (real_to_decimal): Accept BUF_SIZE and CROP_TRAILING_ZEROS
10086 as arguments. Bound DIGITS by the available buffer size.
10087 (real_to_hexadecimal): Likewise.
10088 * real.h (real_to_decimal, real_to_hexadecimal): Update prototypes.
10089 (REAL_VALUE_TO_DECIMAL): Remove.
10090 * c-common.c, c-pretty-print.c, print-rtl.c, print-tree.c,
10091 sched-vis.c, config/arc/arc.c, config/c4x/c4x.c, config/fr30/fr30.c,
4a7510cb 10092 config/i370/i370.h, config/i386/i386.c, config/i960/i960.c,
da6eec72
RH
10093 config/ip2k/ip2k.c, config/m32r/m32r.c, config/m68hc11/m68hc11.c,
10094 config/m68k/hp320.h, config/m68k/m68k.h, config/m68k/sun2o4.h,
4a7510cb 10095 config/m68k/sun3.h, config/mips/mips.c, config/ns32k/ns32k.c,
da6eec72
RH
10096 config/pdp11/pdp11.h, config/vax/vax.h: Update all callers to
10097 use real_to_decimal directly, and with the proper arguments.
10098 * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Remove.
10099
c15c18c5
JW
101002002-10-15 Jim Wilson <wilson@redhat.com>
10101
10102 * reload1.c (merge_assigned_reloads): After converting overlapping
10103 reloads to RELOAD_OTHER, abort if there are now conflicting reloads.
10104
10105 * config/i386/i386.md (adddi3_1): Add call to ix86_binary_operator_ok.
10106
74f6d071
JH
10107Tue Oct 15 22:08:35 CEST 2002 Jan Hubicka <jh@suse.cz>
10108
10109 * expr.c (do_tablejump): Fix typo in my previous commit.
10110
a2ee89d8
RS
101112002-10-15 Richard Sandiford <rsandifo@redhat.com>
10112
10113 * config/mips/vr.h (DRIVER_SELF_SPECS): Change %<mgp32 to %{<mgp32}.
10114
aee4e0db
UW
101152002-10-15 Ulrich Weigand <uweigand@de.ibm.com>
10116
10117 * config/s390/s390.c (s390_split_branches): Add return
10118 value. Add parameters TEMP_REG and TEMP_USED. Use unspec 104.
10119
10120 (find_base_register_in_addr): New function.
10121 (find_base_register_ref): New function.
10122 (replace_base_register_ref): New function.
10123
10124 (struct constant_pool): Add members pool_insn, insns, and anchor.
10125 Remove member last_insn.
10126 (s390_start_pool): Initialize them.
4a7510cb 10127 (s390_end_pool): Emit pool placeholder insn.
aee4e0db
UW
10128 (s390_add_pool_insn): New function.
10129 (s390_find_pool): Use insns bitmap instead of addresses.
10130 (s390_dump_pool): Replace placeholder insn. Emit anchor.
10131 Replace unspec 104 by local-pool-relative references.
10132 (s390_output_constant_pool): Output anchor label if required.
10133 (s390_output_symbolic_const): Handle unspec 104 and 105.
10134 (s390_add_pool): Remove, replace by ...
10135 (s390_add_constant, s390_find_constant): ... these new functions.
10136 (s390_add_anchor): New function.
10137
10138 (s390_chunkify_pool): Delete, replace by ...
4a7510cb 10139 (s390_chunkify_start, s390_chunkify_finish,
aee4e0db
UW
10140 s390_chunkify_cancel): ... these new functions.
10141 (s390_optimize_prolog): Add parameter TEMP_REGNO.
10142 Recompute register live data for special registers.
10143 (s390_fixup_clobbered_return_reg): New function.
10144 (s390_machine_dependent_reorg): Rewrite to use new
10145 s390_chunkify_... routines.
10146
10147 config/s390/s390.md ("reload_base"): Rename to ...
10148 ("reload_base_31"): ... this.
10149 ("reload_base_64"): New insn.
10150 ("reload_base2"): Remove.
10151 ("reload_anchor"): New insn.
10152 ("pool"): New insn.
10153
10154 s390.c (s390_pool_overflow): Remove.
10155 s390.h (s390_pool_overflow): Likewise.
10156 s390.md ("cjump", "icjump", "doloop_si"): Remove s390_pool_overflow.
10157
c034672a
R
10158Tue Oct 15 16:51:04 2002 J"orn Rennecke <joern.rennecke@superh.com>
10159
10160 * sh.md (movv8qi_i+2): Don't split if source is -1.
10161
b8db17af
JJ
101622002-10-15 Janis Johnson <janis187@us.ibm.com>
10163
10164 * doc/install.texi: Formatting changes for conformance to HTML 4.01.
10165
2d34c587
UW
101662002-10-15 Ulrich Weigand <uweigand@de.ibm.com>
10167
10168 PR opt/7409
10169 * loop.c (loop_regs_scan): Mark registers used for function
10170 argument passing as MAY_NOT_OPTIMIZE.
10171
4977bab6
ZW
10172Mon Oct 14 19:22:19 CEST 2002 Jan Hubicka <jh@suse.cz>
10173
10174 * gcov-io.h (gcov_info): Fix type.
10175 * profile.c (create_profiler): Fix type mismatch.
10176
1877be45
JH
10177Mon Oct 14 20:33:12 CEST 2002 Jan Hubicka <jh@suse.cz>
10178
10179 * i386.md (movv2di_internal): New pattern.
10180 (movv2df_internal, movv8hi_internal, movv16qi_internal): Fix predicate.
10181 (movv2di): New expander.
10182 * i386.c (ix86_preferred_reload_class): Return NO_REGS for vector operands.
10183
10184 * i386.c (ix86_expand_timode_binop_builtin): Delete.
10185 (builtin_description): Add SSE1 logicals; rename SSE2 logicals.
10186 (ix86_init_mmx_sse_builtins): Kill SSE1 logicals.
10187 (ix86_expand_builtin): Likewise.
10188 * i386.h (sse_andti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
4a7510cb 10189 sse_andti3,
1877be45 10190 sse_andnti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
4a7510cb 10191 sse_andnti3,
1877be45 10192 sse_orti4_df_1, sse_orti3_df_2, sse_orti3_sf_1, sse_orti3_sf_2,
4a7510cb 10193 sse_orti3,
1877be45 10194 sse_xorti4_df_1, sse_xorti3_df_2, sse_xorti3_sf_1, sse_xorti3_sf_2,
4a7510cb 10195 sse_xorti3): Kill.
1877be45
JH
10196 (sse_andv4sf3, sse_andnv4sf3, sse_orv2df3, sse_xorv2df3, sse_andv2df3,
10197 sse_andnv2df3, sse_orv2df3, sse_xorv2df3): New expanders.
10198 (*sse_andv4sf3, *sse_andnv2df3, *sse_orv4sf3, *sse_xorv4sf3, *sse_andv2df3,
10199 *sse_andnv2df3, *sse_orv2df3, *sse_xorv2df3): New patterns.
10200 (*sse_andsf3, *sse_andndf3, *sse_ordf3, *sse_xordf3, *sse_anddf3,
10201 *sse_andndf3, *sse_orv2df3, *sse_xorv2df3): New patterns.
10202
10203 * xmmintrin.h (__m128i): Define as __v2di.
10204
1877be45
JH
10205 PR c++/6419
10206 (expand_expr): Use DECL_RTL_SET_P.
10207
dbf4f1a2
RS
102082002-10-14 Roger Sayle <roger@eyesopen.com>
10209
10210 * combine.c (simplify_set): Treat MODE_CC registers like cc0.
10211
4f770e7b
RS
102122002-10-14 Roger Sayle <roger@eyesopen.com>
10213 Zack Weinberg <zack@codesourcery.com>
10214
10215 * config/i386/i386.c (k6_cost): Correct typo.
10216
a3b88570
MM
102172002-10-14 Mark Mitchell <mark@codesourcery.com>
10218
10219 PR optimization/6631
10220 * alias.c (objects_must_conflict_p): Check honor_readonly when
10221 examining TYPE_READONLY.
10222 * function.c (assign_stack_temp_for_type): Likewise.
10223
f5204e6c
FH
102242002-10-14 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
10225
10226 * config/alpha/alpha.md (extendsidi2_nofix, extendsidi2_fix):
10227 Swap zero extension arguments.
10228 (umaxhi3): Fix instruction class.
10229 PR target/7211
10230 (prefetch): Fix prefetch instructions.
10231 PR target/7238
10232 (pkwb): Fix output constraint.
10233
40e6bc7e
AO
102342002-10-14 Alexandre Oliva <aoliva@redhat.com>
10235
10236 * config/mips/mips.c (print_operand): Increase buffer size for
10237 real numbers.
10238
f4e3e618
RH
102392002-10-14 Richard Henderson <rth@redhat.com>
10240
10241 PR opt/8165
10242 * gcse.c (adjust_libcall_notes): Revert last change.
10243 * simplify-rtx.c (simplify_replace_rtx): Handle LO_SUM.
10244
3eb429b2
AH
102452002-10-14 Andrew Haley <aph@redhat.com>
10246
10247 * tree-inline.c (remap_block): All local class initialization
10248 flags go in the outermost scope.
10249 (expand_call_inline): Call java_inlining_map_static_initializers.
10250 (expand_call_inline): Call java_inlining_merge_static_initializers.
10251 * java/lang.c (merge_init_test_initialization): New.
10252 (java_inlining_merge_static_initializers): New.
10253 (inline_init_test_initialization): New.
10254 (java_inlining_map_static_initializers): New.
10255
10256 * tree-inline.c (expand_call_inline): Convert retvar to expected
10257 type.
10258
34146b94
GS
102592002-10-14 Graham Stott <graham.stott@btinternet.com>
10260
10261 * stmt.c (decl_conflicts_with_clobbers_p): Add REG_P check.
10262
3a840c93
AH
102632002-10-14 Aldy Hernandez <aldyh@redhat.com>
10264
10265 * stmt.c: Fix typo in comment.
10266
7457a126
R
10267Mon Oct 14 11:35:49 2002 J"orn Rennecke <joern.rennecke@superh.com>
10268
10269 * c-common.c (c_common_type_for_mode): Add V2HImode case.
10270 * tree.c (build_common_tree_nodes_2): Initialize
10271 unsigned_V2HI_type_node and V2HI_type_node.
10272 * tree.h (enum tree_index): Add TI_UV2HI_TYPE and TI_V2HI_TYPE.
10273 (unsigned_V2HI_type_node, V2HI_type_node): Define.
10274
0d1c5774
JJ
102752002-10-14 Jakub Jelinek <jakub@redhat.com>
10276
10277 * config/i386/i386.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP):
10278 Handle TARGET_64BIT.
10279
adadd183
RS
102802002-10-14 Richard Sandiford <rsandifo@redhat.com>
10281
10282 * config/mips/vr.h (DRIVER_SELF_SPECS): Define.
10283 * config/mips/t-vr (MULTILIB_OPTIONS): Remove mlong32.
10284 (MULTILIB_DIRNAMES): Remove long32.
10285 (MULTILIB_EXCEPTIONS): Don't build -mabi=32 -mgp32 multilibs.
10286 (MULTILIB_REDUNDANT_DIRS): Remove.
10287
db36994b
RS
102882002-10-14 Richard Sandiford <rsandifo@redhat.com>
10289
10290 * doc/tm.texi (DRIVER_SELF_SPECS): Document.
10291 * gcc.c (driver_self_specs): New variable.
10292 (do_self_spec): New function.
10293 (main): Use it to process driver_self_specs.
10294
11e5489b
RH
102952002-10-13 Richard Henderson <rth@redhat.com>
10296
4977bab6
ZW
10297 * config/i386/i386.c (ix86_function_ok_for_sibcall): Reject
10298 indirect sibcalls when regparm >= 3.
10299
10300 * config/i386/i386.c (sibcall_insn_operand): New.
10301 * config/i386/i386.h (PREDICATE_CODES): Update.
10302 * config/i386/i386-protos.h: Update.
10303 * config/i386/i386.md (sibcall_1, sibcall_value_1): Use it.
10304
11e5489b
RH
10305 * rtl.c (shallow_copy_rtx): Use memcpy for the entire node.
10306
4977bab6
ZW
103072002-10-12 Roger Sayle <roger@eyesopen.com>
10308
10309 * simplify-rtx.c (simplify_binary_operation) [ASHIFTRT]: Optimize
10310 arithmetic right shifts of ~0 during RTL simplifications.
10311
4ca1256f
NB
103122002-10-12 Neil Booth <neil@daikokuya.co.uk>
10313
10314 PR preprocessor/7862
10315 PR preprocessor/8190
10316 * gcc.c (cpp_unique_options): Don't delete .d files.
10317 Remove stray whitespace.
10318
cf860dc2
NS
103192002-10-12 Naohiko Shimizu <pshimizu@fa2.so-net.ne.jp>
10320
10321 * pdp11.h (ASM_OUTPUT_SKIP): Add preceding 0 for octal constant.
10322 (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
10323 * pdp11.c (pdp11_output_function_prologue): 0%o -> %#o.
10324 (pdp11_output_function_epilogue, output_ascii): Likewise.
10325 (output_addr_const_pdp11): Likewise.
10326 * pdp11.md (movdi): Use offsetable memory for floating store.
10327 (lshrsi3, negsi2): Delete irrelevant comment.
10328
4977bab6
ZW
103292002-10-11 Andreas Bauer <baueran@in.tum.de>
10330
10331 * config/i386/i386.c (ix86_function_ok_for_sibcall): Allow
10332 indirect calls to be sibcall optimized.
10333 * config/i386/i386.md (sibcall_1): New.
10334 (call_1): Add no-sibcalls condition.
10335 (sibcall_value_1): New.
10336 (call_value_1): Add no-sibcalls condition.
10337
103382002-10-11 Eric Christopher <echristo@redhat.com>
10339
10340 * output.h (default_valid_pointer_mode): Declare.
10341 * varasm.c (default_valid_pointer_mode): Define.
10342 * target-def.h (TARGET_VALID_POINTER_MODE): Use.
10343 * target.h: Ditto.
10344 * tree.c (build_pointer_type_for_mode): New function.
10345 (build_pointer_type): Use.
10346 (build_reference_type_for_mode): New function.
10347 (build_reference_type): Use.
10348 * tree.h: Declare new functions.
10349 * c-common.c (handle_mode_attribute): Use new functions, check
10350 for type.
10351 * stor-layout.c (layout_type): Depend on machine mode for
10352 REFERENCE_TYPE and POINTER_TYPE.
10353 * dwarf2out.c (simple_type_size_in_bits): Move upward in file.
10354 (modified_type_die): Use instead of PTR_SIZE for POINTER_TYPE
10355 and REFERENCE_TYPE.
10356 * config/mips/mips.c (mips_valid_pointer_mode): New function.
10357 (TARGET_VALID_POINTER_MODE): Use and define.
10358 * config/mips/mips-protos.h (mips_valid_pointer_mode): Declare.
10359
5dd78e9a
GK
103602002-10-11 Geoffrey Keating <geoffk@apple.com>
10361
10362 * cse.c (mention_regs): Set SUBREG_TICKED to the register number,
10363 not the address of the REG.
10364 (struct cse_reg_info): Make subreg_ticked unsigned.
10365
8eb32f94
JJ
103662002-10-11 Janis Johnson <janis187@us.ibm.com>
10367
10368 * doc/compat.texi: Add info about C++ libraries.
10369
e197b6fc
RH
103702002-10-11 Richard Henderson <rth@redhat.com>
10371
10372 PR opt/8165
10373 * gcse.c (adjust_libcall_notes): Also adjust notes for INSN.
10374
a0bed689
JDA
103752002-10-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
10376
10377 * cfganal.c (dfs_enumerate_from): Use PARAMS.
10378 * genautomata.c (output_insn_code_cases): Likewise.
10379 * real.c (real_format): Likewise.
10380 * tree.c (tree_size): Revise expressions using TREE_CODE_LENGTH to
10381 ensure value is promoted before doing subtraction.
10382
db655634
JH
10383Fri Oct 11 22:22:38 CEST 2002 Jan Hubicka <jh@suse.cz>
10384
10385 * calls.c (expand_call): Simplify noreturn call.
10386
10387 PR c/7344
10388 * cfgbuild.c (make_edges): Create edge cache when we do have
10389 large jumptable.
1877be45 10390 * expr.c (do_tablejump): Note size of maximal jumptable.
db655634
JH
10391 * function.c (prepare_function_start): Zero out size.
10392 * function.h (function): Add max_jumptable_ents.
10393
10394 * cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
10395
750afc12
R
10396Fri Oct 11 12:34:33 2002 J"orn Rennecke <joern.rennecke@superh.com>
10397
10398 * sh.md (movv8qi_i+2): For V8QI destinations, generate V4HI
10399 register for mperm_w operation.
10400
0488fa7c
JR
10401Fri Oct 11 10:56:17 2002 J"orn Rennecke <joern.rennecke@superh.com>
10402
10403 * emit-rtl.c (gen_lowpart_common): When asked to make a vector from
10404 an integer, use simplify_gen_subreg.
10405
4977bab6
ZW
104062002-10-10 Diego Novillo <dnovillo@redhat.com>
10407
10408 * calls.c (flags_from_decl_or_type): Make extern.
10409 (ECF_*): Move ...
10410 * rtl.h (ECF_*): ... here.
10411 (flags_from_decl_or_type): Declare.
10412
104132002-10-10 Roger Sayle <roger@eyesopen.com>
10414 Nathan Sidwell <nathan@codesourcery.com>
10415
10416 * fold-const.c (fold) [RSHIFT_EXPR]: Optimize arithmetic right
10417 shifts of the form -1 >> x.
10418
10419Thu Oct 10 16:52:55 CEST 2002 Jan Hubicka <jh@suse.cz>
10420
10421 * cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
10422
349e9f4b
AH
104232002-10-10 Aldy Hernandez <aldyh@redhat.com>
10424
10425 * extend.texi (Vector Extensions): Remove comment about single
10426 element vectors.
10427
7bdfd72e
KG
104282002-10-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10429
10430 * fold-const.c (size_htab_hash): Use htab_hash_pointer.
10431 * function.c (insns_for_mem_hash): Likewise.
10432 * varasm.c (STRHASH): Likewise.
10433
46081bb3
SH
104342002-10-10 Stuart Hastings <stuart@apple.com>
10435
10436 * cse.c (struct cse_reg_info): Add subreg_ticked.
10437 (SUBREG_TICKED): New.
10438 (get_cse_reg_info): Initialize SUBREG_TICKED.
10439 (mention_regs): Use it.
10440 (invalidate): Set SUBREG_TICKED.
10441 (invalidate_for_call): Likewise.
10442 (addr_affects_sp_p): Likewise.
10443
9785f1d9
JJ
104442002-10-10 Jakub Jelinek <jakub@redhat.com>
10445
10446 * config/i386/i386.md (tls_local_dynamic_base): Put pic reg
10447 into proper operand.
10448
b6878188
DC
104492002-10-10 Denis Chertykov <denisc@overta.ru>
10450
10451 * config/ip2k/ip2k.c (function_epilogue): Optimize stack
10452 deallocation.
10453 * config/ip2k/libgcc.S: Combine routines used by function
10454 epilogue.
10455
f930bfd0
JW
104562002-10-10 Jim Wilson <wilson@redhat.com>
10457
10458 * cse.c (fold_rtx): Don't perform associative optimization for DIV and
10459 UDIV.
10460
5f5d5417
DE
104612002-10-10 David Edelsohn <edelsohn@gnu.org>
10462
10463 * config/rs6000/aix52.h: New file.
10464 * config/rs6000/t-aix52: New File.
10465 * config.gcc (rs6000-ibm-aix5.1.*): New entry.
10466 (rs6000-ibm-aix[56789].*): Default to AIX 5.2.
10467
7eafc329
JH
10468Thu Oct 10 19:37:54 CEST 2002 Jan Hubicka <jh@suse.cz>
10469
10470 PR target/5610
10471 * invoke.texi (-msse-math): Kill
10472 (-msse): Add note to mfpmath=sse.
10473
b105d6da
JH
10474Thu Oct 10 17:08:30 CEST 2002 Jan Hubicka <jh@suse.cz>
10475
10476 PR target/7723
10477 * i386.c (ix86_expand_vector_move): Do not generate const0->mem moves.
10478
5febdf0d
NB
104792002-10-10 Neil Booth <neil@daikokuya.co.uk>
10480
10481 PR preprocessor/8179
10482 * gcc.c (cpp_options): Add {ansi}, move %{m*} to same location
10483 as cc1_options.
10484 (default_compilers): Pass debug options when preprocessing
10485 stdin.
10486
7db40b5f
RH
104872002-10-06 Richard Henderson <rth@redhat.com>
10488
10489 * toplev.c (rest_of_compilation): Revert opt/2960 change.
10490
4977bab6
ZW
10491Wed Oct 9 21:18:43 CEST 2002 Jan Hubicka <jh@suse.cz>
10492
10493 * i386.c (*_cost): Add branch costs.
10494 (override_options): set ix86_branch_cost.
10495 (ix86_expand_int_movcc): Use BRANCH_COST.
10496 * i386.h (costs): Add branch_cost.
10497
95f79357
ZW
104982002-10-09 Zack Weinberg <zack@codesourcery.com>
10499
10500 PR c/7353
10501 * c-decl.c (start_decl): Unconditionally issue error for
10502 'typedef foo = bar'.
10503 (finish_decl): Remove special case for TYPE_DECL with initializer.
10504
10505 * doc/extend.texi: Delete "Naming Types" section. Change all
10506 cross-references to that section to refer to "Typeof" instead.
10507 Add the useful safe-max()-macro example from "Naming Types" to
10508 "Typeof", rewritten using that extension. Add some compatibility
10509 notes to "Typeof."
10510
44a5565d
KG
105112002-10-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10512
10513 * loop.c: Revert 2002-08-15 change.
10514 (LOOP_REGNO_NREGS): Ensure type is int.
10515
a2419b96
DE
105162002-10-09 David Edelsohn <edelsohn@gnu.org>
10517
10518 * config/rs6000/rs6000.md (extenddftf2): Change to define_insn
10519 which copies first FPR and clears second.
10520 (extendsftf2): Same.
10521 (floatditf2): Fix typo.
10522 (floatsitf2): Same.
10523 (fix_trunctfdi2): Same.
10524 (fix_trunctfsi2): Same.
10525
fb7e6024
KG
105262002-10-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10527
10528 * conflict.c (arc_hash): Change return type to hashval_t.
10529 * cselib.c (get_value_hash): Likewise.
10530 * genautomata.c (automaton_decl_hash, insn_decl_hash, decl_hash,
10531 state_hash, automata_list_hash): Likewise.
10532 * read-rtl.c (def_hash): Likewise.
10533 * tree.c (type_hash_hash): Likewise.
10534
36f7e964
AH
105352002-10-08 Aldy Hernandez <aldyh@redhat.com>
10536
10537 * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Call
10538 prologue_epilogue_contains instead of using REG_MAYBE_DEAD notes.
10539
e3c62520
R
10540Wed Oct 9 15:54:49 2002 J"orn Rennecke <joern.rennecke@superh.com>
10541
10542 * sh.md (ffssi2): Fix emitted code.
10543
a3745024
UW
105442002-10-09 Ulrich Weigand <uweigand@de.ibm.com>
10545
10546 * cse.c (insn_live_p): Pass insn pattern, not full insn
10547 to may_trap_p.
10548
5cc67323
NB
105492002-10-09 Neil Booth <neil@daikokuya.co.uk>
10550
10551 * cppmacro.c (paste_tokens): Only allow / to paste with =.
10552
f5264b52
DE
105532002-10-09 David Edelsohn <edelsohn@gnu.org>
10554
10555 * config/rs6000/rs6000.md (movdf splitter): Use gen_int_mode on
10556 64-bit hosts.
10557 (movtf_internal): Reference correct displacement for second value
10558 in memory.
10559 (movtf splitter): Correct generation of constants in 64-bit mode.
10560
cef1c1ba
AM
105612002-10-09 Alan Modra <amodra@bigpond.net.au>
10562
10563 * libgcc2.c (__floatdisf): Properly cure double rounding.
10564
8d15eebc
GDR
105652002-10-09 Gabriel Dos Reis <gdr@integrable-solutions.net>
10566
10567 * c-common.c (cb_register_builtins): Define __WCHAR_MAX__.
10568 * doc/cpp.texi (Common Predefined Macros): Document.
10569
87ec8de9
GDR
105702002-10-09 Gabriel Dos Reis <gdr@integrable-solutions.net>
10571
10572 PR doc/7484
10573 * doc/invoke.texi (Option Summary): List
10574 -Wmissing-declarations as a C only option.
10575
4977bab6
ZW
105762002-10-08 Roger Sayle <roger@eyesopen.com>
10577
10578 * fold-const.c (fold) [LROTATE_EXPR, RROTATE_EXPR]: Optimize
10579 left and right rotates of ~0, i.e. integer_all_onesp (arg0).
10580 [LSHIFT_EXPR, RSHIFT_EXPR]: Optimize shifts and rotates of zero.
10581
10582Tue Oct 8 01:24:19 CEST 2002 Jan Hubicka <jh@suse.cz>
10583
10584 * i386.c (x86_sse_partial_reg_dependency, x86_sse_partial_regs,
10585 x86_sse_typeless_stores, x86_sse_load0_by_pxor): New global
10586 variables.
10587 (safe_vector_operand): Update sse_clrv4sf call.
10588 (ix86_expand_buildin): Likewise
10589 * i386.h (x86_sse_partial_reg_dependency, x86_sse_partial_regs,
10590 x86_sse_typeless_stores, x86_sse_load0_by_pxor): Declare.
10591 (TARGET_SSE_PARTIAL_REG_DEPENDENCY, TARGET_SSE_PARTIAL_REGS,
10592 TARGET_SSE_TYPELESS_STORES, TARGET_SSE_TYPELESS_LOAD0): New
10593 macros.
10594 * i386.md (movsf*, movdf*, movti, movv4sf, movv2df, movv16qi, movv8hi,
10595 movv4si): Obey the new flags.
10596 (floatsi2sf, floatdi2sf, truncatedf2sf): Emit extra load of 0 to avoid
10597 reformating penalty.
10598 (anddf, cmov patterns): Avoid reformating by first converting.
10599 (sse_cvtsd2ss): Fix predicate.
10600 (sse2_clrti): Fix mode,
10601 (sse_clrv4sf): Avoid unspec.
10602
fb7d9c35
JJ
106032002-10-08 Jakub Jelinek <jakub@redhat.com>
10604
10605 * config/sparc/t-linux64 (MULTILIB_OPTIONS): Remove
10606 mno-app-regs|mcmodel=medany.
10607 (MULTILIB_DIRNAMES, MULTILIB_OSDIRNAMES): Remove alt.
10608 (MULTILIB_EXCEPTIONS, MULTILIB_EXCLUSIONS, MULTILIB_MATCHES): Remove.
10609 (CRTSTUFF_T_CFLAGS): Define.
10610
11f3e4c7
RS
106112002-10-08 Roger Sayle <roger@eyesopen.com>
10612
10613 PR target/8087
10614 * simplify-rtx.c (avoid_constant_pool_reference): Allow constant
10615 pool references that are constructed using LO_SUM.
10616
bf52f899
NS
106172002-10-08 Nathan Sidwell <nathan@codesourcery.com>
10618
10619 * c-opts.c (c_common_decode_option): Add warn_strict_aliasing to
10620 -Wall.
10621 * c-typeck.c (build_c_cast): Use warn_strict_aliasing, tweak
10622 message.
10623 * flags.h (warn_strict_aliasing): Declare.
10624 * toplev.c (warn_strict_aliasing): Define.
10625 (lang_independent_options): Add it.
10626 * doc/invoke.texi (-Wstrict-aliasing): Document it.
10627
36624850
ZW
106282002-10-08 Zack Weinberg <zack@codesourcery.com>
10629
10630 * system.h (GCCBUGURL): Delete.
10631 * version.c (bug_report_url): New. Add commentary about
10632 modifying both these strings in modified distributions.
10633 * version.h: Declare bug_report_url.
10634
10635 * diagnostic.c, gcc.c, gcov.c: Globally replace GCCBUGURL with
10636 bug_report_url.
10637
218145d6
NC
106382002-10-08 Nick Clifton <nickc@redhat.com>
10639
10640 * config/rs6000/spe.h (__ev_set_acc_u64): Use __ev_create_u64 to
10641 convert uint64_t into __ev64_opaque__.
10642 (__ev_set_acc_s64): Likewise, but using signed types.
10643
bb02f6ed
UW
106442002-10-08 Ulrich Weigand <uweigand@de.ibm.com>
10645
10646 * config/s390/s390.md ("*doloop_si_long"): Add missing operand.
10647 ("*doloop_di_long"): Likewise.
10648
4fdbcfb2
JH
10649Tue Oct 8 16:50:10 CEST 2002 Jan Hubicka <jh@suse.cz>
10650
10651 * print-rtl.c (print_rtx): Increase buffer size for real numbers.
10652
e80f2609
RS
106532002-10-08 Richard Sandiford <rsandifo@redhat.com>
10654
10655 * config/mips/mips.md (define_attr cpu): Add r4111.
10656
36624850 106572002-10-08 Anthony Green <green@redhat.com>
4213a3b6 10658
36624850 10659 * bitmap.c (bitmap_equal_p): Clear all bitmap_head fields.
4213a3b6 10660
25009e02
MH
106612002-10-08 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
10662
10663 * config/c4x/c4x.c (c4x_print_operand): Enlarge buffer
10664 for REAL_VALUE_TO_DECIMAL output.
10665
4977bab6
ZW
106662002-10-07 Richard Henderson <rth@redhat.com>
10667
10668 * cse.c (fixed_base_plus_p): Turn FIXED_BASE_PLUS_P into a
10669 function; cleanup PLUS case by using recursion. Update all users.
10670 (NONZERO_BASE_PLUS_P): Remove.
10671 (find_comparison_args): Use rtx_addr_can_trap_p instead.
10672 (fold_rtx): Use nonzero_address_p.
10673 * rtl.h (nonzero_address_p): Declare.
10674 * rtlanal.c (rtx_varies_p): Handle ADDRESSOF.
10675 (rtx_addr_can_trap_p): Likewise.
10676 (nonzero_address_p): New.
10677 * simplify-rtx.c (NONZERO_BASE_PLUS_P): Remove.
10678 (simplify_relational_operation): Use nonzero_address_p.
10679
fcce224d
DE
106802002-10-07 David Edelsohn <edelsohn@gnu.org>
10681
10682 * config/rs6000/rs6000.c (rs6000_override_options): Set
10683 real_format_for_mode for IBM extended format, if enabled.
10684 (easy_fp_constant): Add TFmode.
10685 (rs6000_legitimize_address): Add TFmode.
10686 (rs6000_legitimate_address): Same.
10687 (function_arg_advance): TFmode uses two FPRs.
10688 (rs6000_emit_prologue): Fix warning.
10689 (rs6000_output_function_epilogue): Add TFmode.
10690 (output_toc): Add TFmode.
10691 * rs6000.h (SLOW_UNALIGNED_ACCESS): Add TFmode.
10692 (LEGITIMATE_OFFSET_ADDRESS_P): Add TFmode.
10693 * rs6000.md (movtf splitter): Load TFmode constant.
10694
dad482e6 106952002-10-07 Dale Johannesen <dalej@apple.com>
fcce224d 10696
dad482e6
DJ
10697 * rtl.h: Add NOTE_PRECONDITIONED.
10698 * unroll.c: Set it.
10699 * loop.c: Set loop_info->preconditioned from it.
10700 * doloop.c: Permit doloop treatment when loop_info->preconditoned.
10701
de3beb7c
RH
107022002-10-07 Richard Henderson <rth@redhat.com>
10703
10704 * config/i960/i960.c (i960_setup_incoming_varargs): Create a
10705 new rtx for comparing the argument pointer against zero.
10706 (i960_va_start): Similarly.
10707
87cb2a87
RH
107082002-10-07 Richard Henderson <rth@redhat.com>
10709
10710 * config/i960/i960.md (*): Use TFmode, not XFmode.
10711 * config/i960/i960.c (*): Likewise.
10712 (i960_arg_size_and_align): Remove XFmode alignment hack.
10713 (i960_round_align): Merge code from ROUND_TYPE_ALIGN.
10714 * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Use 128, not 96.
10715 (MAX_LONG_DOUBLE_TYPE_SIZE): Likewise.
10716 (DATA_ALIGNMENT, ROUND_TYPE_SIZE): Remove.
10717
5ef38d2a
RH
107182002-10-07 Richard Henderson <rth@redhat.com>
10719
10720 * config/fp-bit.c (EXTENDED_FLOAT_STUBS): Flush out all XF/TFmode
10721 entry points; use void return value and argument list.
10722
4977bab6
ZW
107232002-10-06 Andreas Bauer <baueran@in.tum.de>
10724
10725 * calls.c (expand_call): Fix function-is-volatile check.
10726
e7f9979a
NS
107272002-10-05 Naohiko Shimizu <nshimizu@keyaki.cc.u-tokai.ac.jp>
10728
10729 * t-pdp11: Add MULTILIB support for msoft-float.
10730 * pdp11.h (LEGITIMATE_CONSTANT_P): Fix soft-float case.
10731
10732 * t-pdp11: Add LIB2FUNCS_EXTRA.
36624850 10733 * pdp11.c (pdp11_output_function_prologue): Restrict offset to 16bit,
e7f9979a
NS
10734 add preceding 0 to the octal constant, rename 'fp' to 'r5', rename
10735 'fldd' to 'ldd', rename 'fstd' to 'std'.
10736 (pdp11_output_function_epilogue): Likewise.
10737 (output_move_quad): Make the comment gas compatible.
10738 (output_ascii): Add preceding 0 to the octal constant.
10739 (print_operand_address): Add pre_modify, post_modify.
10740 (output_addr_const_pdp11): Add preceding 0 to the octal constant.
10741 * pdp11.h (GO_IF_LEGITIMATE_ADDRESS) : Add 'movb' pre_modify case
36624850 10742 with the indication of Paul Koning.
e7f9979a
NS
10743 (PRINT_OPERAND): Fix floating constant.
10744 * pdp11.md (movdi): Restrict matching pattern.
10745 (movqi): Generalize the matching pattern.
10746 (movdf): Restrict matching pattern.
10747 (zero_extendqihi2): Change constant representation.
10748 (floatsidf2): Fix wrong operands.
10749 (addqi3): Fix wrong instruction name.
10750 (subqi3): Fix wrong instruction name.
10751 (andsi3, andhi3, andqi3): Simplify and fix to use 'bic'.
10752 (xorsi3): Fix wrong insn.
10753 (one_cmplqi2): Add two operand pattern.
10754 (lsrsi3): New.
10755 (negsi2): New.
10756 (call): Add register indirect case.
10757 (mod): Fix wrong subreg.
10758
a9b6f1e7 107592002-10-06 Eric Botcazou <ebotcazou@libertysurf.fr>
36624850 10760 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
4ef7870a
EB
10761
10762 PR c/7411
10763 * expr.c (expand_expr) [PLUS]: Simplify after the operands
10764 have been expanded in EXPAND_NORMAL mode.
10765
a2900460
RH
107662002-10-06 Richard Henderson <rth@redhat.com>
10767
10768 * config/rs6000/rs6000.md (load_toc_v4_PIC_2): Fix base constraint.
10769
ff025ab9
RH
107702002-10-06 Richard Henderson <rth@redhat.com>
10771
10772 PR optimization/2960
10773 * toplev.c (rest_of_compilation): Don't copy_loop_headers if
10774 optimize_size.
10775
48b80d93
AO
107762002-10-06 Alexandre Oliva <aoliva@redhat.com>
10777
10778 * config/mips/mips.h (SIZE_TYPE, PTRDIFF_TYPE): Override
10779 previously definitions.
10780
7c7c549e
FCE
107812002-10-06 Frank Ch. Eigler <fche@redhat.com>
10782
10783 * cppinit.c (init_standard_includes, parse_option): Use strncmp.
10784 * c-opts.c (find_opt): Similarly.
10785
4977bab6
ZW
10786Sat Oct 5 22:48:06 CEST 2002 Jan Hubicka <jh@suse.cz>
10787
10788 * athlon.md: rewrite to DFA.
10789 * i386 (ix86_adjust_cost): Drop memory latency code.
10790 (ia32_use_dfa_pipeline_interface): Return true for Athlon.
10791
c49d2df6
JJ
107922002-10-05 Jakub Jelinek <jakub@redhat.com>
10793
10794 * gcc.c (set_multilib_dir): Don't access *end.
10795 Use memcpy instead of strncpy. Don't write beyond malloced buffer.
10796 (print_multilib_info): Don't show paths starting with ".:".
10797 * genmultilib: Add new option, "yes" if multilibs are enabled.
10798 Update comments. If multilibs not enabled, print .:${osdirout}
10799 for each directory. If multilibs are enabled, always print
10800 ${dirout}:${osdirout}, even if the two are the same.
10801 * Makefile.in (s-mlib): Pass @enable_multilib@ to genmultilib.
10802 Pass all MULTILIB_* variables to genmultilib even if
10803 --disable-multilib but MULTILIB_OSDIRNAMES is not empty.
10804
4977bab6
ZW
108052002-10-04 Zack Weinberg <zack@codesourcery.com>
10806
10807 * gcc.c (process_command): Set .validated for -pipe. Correct
10808 grammar in comment.
10809
d758c1db
BK
108102002-10-04 Bruce Korb <bkorb@gnu.org>
10811
10812 * fixinc/inclhack.def(hpux11_abs): use format fix
10813 * fixinc/fixincl.x: regenerate
10814 * fixinc/tests/base/stdlib.h: accommodate new fix test
10815
b3dc87c5
JH
10816Sat Oct 5 19:42:45 CEST 2002 Jan Hubicka <jh@suse.cz>
10817
10818 * c-common.c (cb_register_builtins): Use really_no_inline.
10819
f7a21c70
DE
108202002-10-04 David Edelsohn <edelsohn@gnu.org>
10821
10822 * unroll.c (copy_loop_body): Remove REG_EQUAL note attached to
10823 copied instruction if the note is not loop invariant.
10824
081d6fb9
LR
108252002-10-04 Loren J. Rittle <ljrittle@acm.org>
10826
10827 * gcc/ginclude/stddef.h: Support the FreeBSD 5 typedef system.
10828
c5d3d49b
SE
108292002-10-04 Steve Ellcey <sje@cup.hp.com>
10830
10831 * doc/invoke.texi (HPPA): Add -mlinker-opt, -mgnu-ld,
10832 and -mhp-ld options to list of options. Add -mgnu-ld
10833 and -mhp-ld option descriptions.
10834
0fca111b
SE
108352002-10-04 Steve Ellcey <sje@cup.hp.com>
10836
10837 * fixinc/inclhack.def (hpux11_abs): New.
10838 (stdio_va_list): change __va_list__ to __gnuc_va_list.
10839 * fixinc/fixincl.x: Rebuild.
10840
229b303a
RS
108412002-10-04 Roger Sayle <roger@eyesopen.com>
10842
10843 * config/i386/i386.h (processor_costs): Add new fields fadd,
10844 fmul, fdiv, fabs, fchs and fsqrt to costs structure.
10845 (RTX_COSTS): Use these fields to determine the RTX costs
10846 of floating point addition/subtraction, multiplication,
10847 division, fabs, negation and square root respectively.
10848 * config/i386/i386.c (size_cost): Provide instruction sizes
10849 for these new fields.
10850 (i386_cost, i486_cost, pentium_cost, pentiumpro_cost,
10851 k6_cost, athlon_cost, pentium4_cost): Provide typical cycle
10852 counts for these new fields for all x86 processor variants.
10853
481ed21a
KG
108542002-10-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10855
6017ba03
KG
10856 * mips.c (mips_const_double_ok): Delete unused variable.
10857
481ed21a
KG
10858 * gengtype.c (rtx_next): Change type to int.
10859
635f4680
AJ
108602002-10-04 Andreas Jaeger <aj@suse.de>
10861
10862 * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Fix value.
10863
ee6ff319
RH
108642002-10-04 Richard Henderson <rth@redhat.com>
10865
10866 * real.h (SIGNIFICAND_BITS): Add one more word.
10867 (CONST_DOUBLE_FORMAT): Accomodate 6 words.
10868 * real.c (times_pten): New.
10869 (real_to_decimal, real_from_string): Use it.
10870 (sticky_rshift_significand): Use & to find modulus.
10871 (rshift_significand, lshift_significand): Likewise.
10872 (do_divide): Apply sticky bit after normalization.
10873 (real_to_decimal, real_to_hexadecimal): Fix sign of Inf and NaN.
10874
4977bab6
ZW
108752002-10-03 Andreas Bauer <baueran@in.tum.de>
10876
10877 * doc/tm.texi (FUNCTION_OK_FOR_SIBCALL): Remove.
10878 (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
10879
6d8dd940
AJ
108802002-10-03 Andreas Jaeger <aj@suse.de>
10881
10882 * gengtype.c (adjust_field_rtx_def): Cast variables of type size_t
10883 to unsigned long, adjust printf format string.
10884 (output_mangled_typename): Likewise.
10885
191fe2bb
JT
108862002-10-03 Jason Thorpe <thorpej@wasabisystems.com>
10887
10888 * config/vax/vax.c (vax_output_function_prologue): Use asm_fprintf.
10889 * config/vax/vax.h (VAX_FUNCTION_PROFILER_NAME): New.
10890 (FUNCTION_PROFILER): Rewrite to use ASM_GENERATE_INTERNAL_LABEL,
10891 assemble_name, asm_fprintf, and VAX_FUNCTION_PROFILER_NAME.
10892 (ASM_OUTPUT_MI_THUNK): Use asm_fprintf instead of REGISTER_PREFIX.
10893 (PRINT_OPERAND_PUNCT_VALID_P): Fix comment.
10894 * config/vax/elf.h (FUNCTION_PROFILER): Remove.
10895 (VAX_FUNCTION_PROFILER_NAME): Redefine as "__mcount".
10896
6397d80b
MM
108972002-10-03 Mark Mitchell <mark@codesourcery.com>
10898
10899 * doc/invoke.texi (-Wabi): Document mangling bug.
10900
69c75916
AM
109012002-10-04 Alan Modra <amodra@bigpond.net.au>
10902
10903 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Use a
10904 name for the tbtab label that depends on the function asm name.
10905 Don't output tbtab label unless optional_tbtab.
10906 (output_mi_thunk): Formatting.
10907
adf2ac37
RH
109082002-10-03 Richard Henderson <rth@redhat.com>
10909
10910 * config/m68k/m68k.h (OVERRIDE_OPTIONS): Move additional code ...
10911 * config/m68k/m68k.c (override_options): ... here.
10912 * config/m68k/m68kelf.h (OVERRIDE_OPTIONS): Remove.
10913 * config/m68k/m68kv4.h (OVERRIDE_OPTIONS): Remove.
10914 * config/m68k/linux.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
10915 * config/m68k/netbsd-elf.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
10916
a7519393
RH
109172002-10-03 Richard Henderson <rth@redhat.com>
10918
10919 * real.h (struct real_value): Use ENUM_BITFIELD.
10920
41552736
RH
109212002-10-03 Richard Henderson <rth@redhat.com>
10922
10923 * config/i960/i960.md (call, call_value): Use emit_call_insn.
10924
882affa8
SE
109252002-10-03 Steve Ellcey <sje@cup.hp.com>
10926
10927 * config/pa/pa64-hpux.h (INIT_ENVIRONMENT): New.
10928
83eb95f9
SE
109292002-10-03 Steve Ellcey <sje@cup.hp.com>
10930
10931 * config.gcc (hppa*64*-*-hpux11*): Check gnu_ld.
10932 * config/pa/pa.h (MASK_GNU_LD): New.
10933 (TARGET_GNU_LD): New.
6d8dd940 10934 * config/pa/pa64-hpux.h (LINK_SPEC): Set based
83eb95f9
SE
10935 on gnu-ld and MASK_GNU_LD.
10936 (SUBTARGET_SWITCHES): New gnu-ld & hp-ld flags.
10937
b72b1c29
JH
10938Thu Oct 3 23:35:51 CEST 2002 Jan Hubicka <jh@suse.cz>
10939
10940 * i386.c (athlon_cost): Fix the move costs.
10941
92b7a2a5
JH
10942Thu Oct 3 23:20:58 CEST 2002 Jan Hubicka <jh@suse.cz>
10943
10944 * final.c (final): Use symbol name as function name for profiling.
10945 * profile.c (get_exec_counts): Likewise.
10946 (branch_prob): Likewise.
10947
429489e5
JJ
109482002-10-03 Jakub Jelinek <jakub@redhat.com>
10949
10950 * longlong.h (__udiv_qrnnd): Remove PARAMS from prototype.
10951
5bbcd587
JJ
109522002-10-03 Jakub Jelinek <jakub@redhat.com>
10953
10954 * gcc.c (print_multi_os_directory): New variable.
10955 (option_map): Support --print-multi-os-directory.
10956 (struct prefix_list): Add os_multilib field.
10957 (multilib_os_dir): New variable.
10958 (static_specs): Add multilib_options.
10959 (find_a_file): Add multilib argument. Search in GCC or OS multilib
272d0bee 10960 subdirs if nonzero.
5bbcd587
JJ
10961 (read_specs, execute): Update callers.
10962 (find_file): Likewise. Don't prefix name with multilib_dir, instead
10963 pass 1 as multilib option.
10964 (display_help): Include --print-multi-os-directory.
10965 (add_prefix): Add os_multilib argument. Initialize pl->os_multilib.
10966 (process_command): Update callers. Handle --print-multi-os-directory.
10967 (do_spec_1) ['D']: Use multilib_os_directory if pl->os_multilib is
10968 set.
10969 (main): Update find_a_file and add_prefix callers.
10970 Handle print_multi_os_directory.
10971 (struct mdswitchstr): New.
10972 (mdswitches, n_mdswitches): New variables.
10973 (used_arg): Add MULTILIB_DEFAULT switches too if they are not
10974 present on the command line nor their mutually incompatible
10975 switches.
10976 (default_arg): Optimize.
10977 (set_multilib_dir): Compute multilib_os_dir. Initialize mdswitches
10978 array.
10979 (print_multilib_info): Only print GCC multilib dir name, not OS
10980 multilib dirname.
10981 * genmultilib: Add osdirnames parameter. Output multilib_options
10982 variable. If osdirnames is specified, output dirnames as
10983 dirname:osdirname.
10984 * mklibgcc.in: Use MULTILIB_OSDIRNAMES, --print-multi-directory
10985 and --print-multi-os-directory instead of SHLIB_SLIBDIR_SUFFIXES
10986 to compute libgcc_s soname and install path.
10987 * Makefile.in (libgcc.mk): Pass MULTILIB_OSDIRNAMES instead of
10988 SHLIB_SLIBDIR_SUFFIXES to mklibgcc.
10989 (s_mlib): Pass MULTILIB_OSDIRNAMES or nothing as last genmultilib
10990 argument.
10991
10992 * config/sparc/t-linux64 (MULTILIB_OSDIRNAMES): Set.
10993 (SHLIB_SLIBDIR_SUFFIXES): Remove.
10994 * config/sparc/linux64.h (STARTFILE_SPEC32, STARTFILE_SPEC64,
10995 ENDFILE_SPEC32, ENDFILE_SPEC64, ENDFILE_COMMON): Remove.
10996 (STARTFILE_SPEC, ENDFILE_SPEC): Don't distinguish between -m32
10997 and -m64.
10998 * config/sparc/t-sol2-64 (MULTILIB_OSDIRNAMES): Set.
10999 (SHLIB_SLIBDIR_SUFFIXES): Remove.
11000 * config/sparc/sol2-bi.h (STARTFILE_ARCH64_SPEC): Remove.
11001 (STARTFILE_ARCH_SPEC): Remove.
11002 * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Set.
11003 (SHLIB_SLIBDIR_SUFFIXES): Remove.
11004 * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Remove.
11005 * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Set.
11006 (SHLIB_SLIBDIR_SUFFIXES): Remove.
11007
c07f146f
JH
11008Thu Oct 3 21:42:20 CEST 2002 Jan Hubicka <jh@suse.cz>
11009
11010 * predict.c (choose_function_section): Avoid choice for linkonce functions.
11011
4c9c9a3d
JH
11012Thu Oct 3 15:15:00 CEST 2002 Jan Hubicka <jh@suse.cz>
11013
11014 * i386.md (lea to mul peep2): Fix condition.
6d8dd940 11015
f50df1d5
JDA
110162002-10-02 John David Anglin <dave@hiauly1.hia.nrc.ca>
11017
11018 * pa-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete macro.
11019 * pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Define.
11020
4977bab6
ZW
110212002-10-02 David Mosberger-Tang <David.Mosberger@acm.org>
11022
11023 * unwind.h (_Unwind_GetTextRelBase): Mark _C argument with
11024 attribute "unused".
11025
11026 * config/t-libunwind: Mention unwind-sjlj.c.
11027 * unwind-libunwind.c: Change #ifdef __USING_LIBUNWIND_EXCEPTIONS__
11028 to #ifndef __USING_SJLJ_EXCEPTIONS__.
11029
11030 * configure.in: Move sjlj-exceptions and --enable-libunwind-exceptions
11031 before inclusion of config.gcc, but after configuring the compiler etc.
11032 Determine default value for --enable-libunwind-exceptions based on
11033 whether the host has a libunwind library (not guaranteed to be correct,
11034 but it's a reasonable first guess and can always be overridden with an
11035 explicit --enable/disable-libunwind-exceptions.
11036 * config.gcc: For target ia64*-*-linux*, mention t-libunwind as a
11037 tmake_file when $use_libunwind_exceptions is enabled.
11038 * Makefile.in: Update comment: LIB2ADDEH is updated not just by
11039 ia64 (e.g., config/t-linux also updates it).
11040 * gcc.c (init_spec) [USE_LIBUNWIND_EXCEPTIONS]: Mention -lunwind
11041 along with the shared version of libgcc since the latter requires
11042 the former.
11043 * unwind-libunwind.c: New file.
11044 * config/t-libunwind: Ditto.
11045
110462002-10-02 Nathanael Nerode <neroden@gcc.gnu.org>
11047
11048 * config.gcc: Remove support for vax-*-vms*.
11049 * config/vax/vms.h: Remove.
11050 * config/vax/xm-vms.h: Remove.
11051 * config/vax/vax-protos.h: Remove VMS-specific code.
11052 * config/vax/vax.c: Remove VMS-specific code.
11053
d631b80a
RH
110542002-10-02 Richard Henderson <rth@redhat.com>
11055
11056 PR opt/7124
11057 * config/i386/i386.c (ix86_register_move_cost): Increase cost
11058 for secondary_memory_needed pairs.
11059
854ef390
NN
110602002-10-02 Nathanael Nerode <neroden@gcc.gnu.org>
11061
11062 * doc/vms.texi: Blow away false include file section.
11063
f963b5d9
RS
110642002-10-02 Roger Sayle <roger@eyesopen.com>
11065
11066 PR optimization/6627
11067 * toplev.c (force_align_functions_log): New global variable.
11068 * flags.h (force_align_functions_log): Add extern prototype.
11069 * varasm.c (assemble_start_function): Use it to force minimum
11070 function alignment.
11071 * config/i386/i386.h (FUNCTION_BOUNDARY): Set the correct
11072 minimum function alignment to one byte.
11073 (TARGET_PTRMEMFUNC_VBIT_LOCATION): Store the virtual bit in
11074 the least significant bit of vtable member function pointers.
11075 * tree.h (enum ptrmemfunc_vbit_where_t): Move definition to
11076 here from cp/cp-tree.h.
11077
200bcf7e
JH
11078Wed Oct 2 17:01:36 CEST 2002 Jan Hubicka <jh@suse.cz>
11079
11080 * i386.c (print_operand_address): Use RIP addressing for offsetted
11081 label refs too.
11082
88d0be17
DM
110832002-09-30 David S. Miller <davem@redhat.com>
11084
11085 PR middle-end/7151
11086 * config/sparc/sparc.md (movdi_insn_sp32_v9): Accept 'e' regs.
11087 (movdi reg/reg split): Match only on sparc32, and v9 when int regs.
11088
4977bab6
ZW
110892002-10-01 Andreas Bauer <baueran@in.tum.de>
11090
11091 * calls.c (expand_call): Remove the `no indirect check'
11092 for sibcall optimization; use function_ok_for_sibcall
11093 target hook; refine check for `function is volatile'.
11094 (FUNCTION_OK_FOR_SIBCALL): Remove the redefinition.
11095 * hooks.c (hook_tree_tree_bool_false): New.
11096 * hooks.h (hook_tree_tree_bool_false): Declare.
11097 * target-def.h (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
11098 (TARGET_INITIALIZER): Add it.
11099 * target.h (struct gcc_target): Add function_ok_for_sibcall.
11100 * config/alpha/alpha.c: (alpha_function_ok_for_sibcall): New.
11101 (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
11102 * config/alpha/alpha.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
11103 * config/arm/arm-protos.h: (arm_function_ok_for_sibcall):
11104 Remove function declaration.
11105 * config/arm/arm.c: (arm_function_ok_for_sibcall): Make
11106 function static and accept another argument of type `tree'.
11107 (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
11108 * config/arm/arm.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
11109 * config/frv/frv.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
11110 * config/i386/i386.c: (ix86_function_ok_for_sibcall): New.
11111 (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
11112 * config/i386/i386.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
11113 * config/pa/pa-linux.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
11114 (TARGET_HAS_STUBS_AND_ELF_SECTIONS): New definition.
11115 * config/pa/pa.c: (pa_function_ok_for_sibcall): New.
11116 (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
11117 * config/pa/pa.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
11118 * config/rs6000/rs6000-protos.h: (function_ok_for_sibcall):
11119 Remove function declaration.
11120 * config/rs6000/rs6000.c: (rs6000_function_ok_for_sibcall):
11121 Rename function_ok_for_sibcall to rs6000_function_ok_for_sibcall;
11122 rename first argument to `decl'; accept another argument
11123 of type `tree'; make static.
11124 (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
11125 * config/rs6000/rs6000.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
11126 * config/sh/sh.c: (sh_function_ok_for_sibcall): New.
11127 (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
11128 * config/sh/sh.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
11129 * config/sparc/sparc.c: (sparc_function_ok_for_sibcall): New.
11130 (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
11131 * config/sparc/sparc.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
11132 * config/xtensa/xtensa.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
11133
f10aac29
RS
111342002-10-01 Roger Sayle <roger@eyesopen.com>
11135
11136 * unroll.c (loop_iterations): Revert 2002-09-08 change.
11137
69bd00e6
RH
111382002-10-01 Richard Henderson <rth@redhat.com>
11139
11140 * real.c (real_to_decimal): Crop trailing zeros for DIGITS < 0.
11141 (real_to_hexadecimal): Likewise.
11142 * print-rtl.c (print_rtx): If we are linked with real.c, don't
11143 dump the XWINT fields of a floating point CONST_DOUBLE.
11144
3b5742ab
JT
111452002-10-01 Jason Thorpe <thorpej@wasabisystems.com>
11146
11147 * config/vax/elf.h (FUNCTION_PROFILER): Fix __mcount call.
11148
fd1e5d25
RH
111492002-10-01 Richard Henderson <rth@redhat.com>
11150
11151 * calls.c (precompute_register_parameters): Force non-legitimate
11152 constants into pseudos.
11153
78872ad9
NC
111542002-10-01 Nick Clifton <nickc@redhat.com>
11155
11156 * config/rs6000/spe.md (spe_evrlwi): Add missing third operand
11157 to assembler template.
11158
3c655f42
RH
111592002-10-01 Richard Henderson <rth@redhat.com>
11160
11161 * dwarf2out.c (loc_descriptor_from_tree): Relax requirement
11162 for TLS debug info to !DECL_EXTERNAL.
11163
ec20cffb 111642002-10-01 Matt Thomas <matt@3am-software.com>
ee6ff319 11165 Jason Thorpe <thorpej@wasabisystems.com>
ec20cffb
JT
11166
11167 * config.gcc (vax-*-netbsdelf*): Enable configuration.
6d8dd940 11168 * config/elfos.h (PCC_BITFIELD_TYPE_MATTERS): Define only
ec20cffb
JT
11169 if not already defined.
11170 * config/vax/elf.h: New file.
11171 * config/vax/netbsd-elf.h: New file.
11172 * config/vax/vax.c: Include "debug.h".
11173 (vax_output_function_prologue): Add dwarf2 support. Use
11174 MAIN_NAME_P when checking for VMS_TARGET stack adjust.
11175 * config/vax/vax.h (CONST_OK_FOR_LETTER_P): Add cases for
11176 'J' [0..63], 'K' [-128..127], 'L' [-32768..32767],
11177 'M' [0..255], 'N' [0..65535], and, 'O' [-63..-1].
11178 (VAX_ISTREAM_SYNC): Remove.
11179 (INITIALIZE_TRAMPOLINE): Use gen_sync_istream.
11180 (JUMP_TABLES_IN_TEXT_SECTION): Define.
11181 (ASM_OUTPUT_REG_POP): Use reg_names for the stack pointer.
11182 (ASM_OUTPUT_ADDR_VEC_ELT): Use ASM_GENERATE_INTERNAL_LABEL
11183 and assemble_name.
11184 (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
11185 (PRINT_OPERAND_PUNCT_VALID_P): Accept '|'.
11186 (PRINT_OPERAND): Output REGISTER_PREFIX for '|'.
11187 (INCOMING_RETURN_ADDR_RTX): Define.
11188 * config/vax/vax.md (VUNSPEC_BLOCKAGE)
11189 (VUNSPEC_SYNC_ISTREAM): Define.
11190 (blockage): Use VUNSPEC_BLOCKAGE.
11191 (sync_istream): New insn.
11192
111932002-10-01 Richard Henderson <rth@redhat.com>
11194
11195 * config/vax/vax.md (call_pop, *call_pop, call_value_pop)
11196 (*call_value_pop, call, call_value): Add dwarf2 EH support.
11197 (*call): New insn.
11198
73a73768
NS
111992002-10-01 Nathan Sidwell <nathan@codesourcery.com>
11200
11201 PR c/8083
11202 * c-typeck.c (build_c_cast): Warn about type punning which breaks
11203 type based aliasing.
11204
0645ba8f
MM
112052002-10-01 Mark Mitchell <mark@codesourcery.com>
11206
11207 * stor-layout.c (update_alignment_for_field): New function.
11208 (place_union_field): Use it.
11209 (place_field): Likewise.
6d8dd940 11210
f7e466a3
NS
112112002-10-01 Nathan Sidwell <nathan@codesourcery.com>
11212
73a73768 11213 PR other/8077
f7e466a3
NS
11214 * gcc.c (cc1_options): Add space on -auxbase-strip.
11215
bc9ec51b
JW
112162002-10-01 Jim Wilson <wilson@redhat.com>
11217
11218 * config/v850/v850.h (EPILOGUE_USES): Define.
11219
a646f6cc
AH
112202002-09-30 Andrew Haley <aph@redhat.com>
11221
6d8dd940 11222 * flow.c (insn_dead_p): When using non-call-exceptions, don't
a646f6cc
AH
11223 eliminate insns that may trap.
11224 * cse.c (insn_live_p): Likewise.
11225
3f7967e3
RS
112262002-10-01 Richard Sandiford <rsandifo@redhat.com>
11227
11228 * config/mips/mips.h (PROCESSOR_R4121): Rename to PROCESSOR_R4120.
11229 (TARGET_MIPS4121): Rename to TARGET_MIPS4120.
11230 * config/mips/mips.c (mips_cpu_info): Rename vr4121 to vr4120.
11231 * config/mips/mips.md: Apply same renaming here.
11232
41f9efba
RS
112332002-10-01 Richard Sandiford <rsandifo@redhat.com>
11234
11235 * config/mips/mips.c (PROCESSOR_R4320, TARGET_MIPS4320): Remove.
11236 (GENERATE_MULT3_SI): Remove use of TARGET_MIPS4320.
11237 * config/mips/mips.c (mips_cpu_info): Remove vr4320 entry.
11238 * config/mips/mips.md (define_attr cpu): Remove r4320.
11239 Remove vr4320 scheduler and uses of TARGET_MIPS4320.
11240
366356d3
RS
112412002-10-01 Richard Sandiford <rsandifo@redhat.com>
11242
11243 * config/mips/mips.c (mips16_strings): New variable.
11244 (mips_output_function_epilogue): Clear the SYMBOL_REF_FLAG of every
11245 symbol in mips16_strings. Free the list.
11246 (mips_encode_section_info): Keep track of local strings.
11247
8ab907e8
RS
112482002-10-01 Richard Sandiford <rsandifo@redhat.com>
11249
11250 * config/mips/mips.md (bunge, bltgt, bungt): New define_expands.
11251 (sordered_df, sordered_sf): Remove.
11252 * config/mips/mips.c (get_float_compare_codes): New fn.
11253 (gen_int_relational, gen_conditional_move): Use it.
11254
d12b8c85
RS
112552002-10-01 Richard Sandiford <rsandifo@redhat.com>
11256
11257 * config/mips/mips-protos.h (mips_emit_fcc_reload): Declare.
11258 * config/mips/mips.h (PREDICATE_CODES): Add fcc_register_operand.
11259 * config/mips/mips.c (fcc_register_operand): New function.
11260 (mips_emit_fcc_reload): New function, extracted from reload_incc.
11261 (override_options): Allow TFmode values in float registers
11262 if ISA_HAS_8CC.
11263 * cnfig/mips/mips.md (reload_incc): Change destination prediate
11264 to fcc_register_operand. Remove misleading source constraint.
11265 Use mips_emit_fcc_reload.
11266 (reload_outcc): Duplicate reload_incc.
11267
4977bab6
ZW
112682002-09-30 Zack Weinberg <zack@codesourcery.com>
11269
11270 * gcc.c (validate_switches): Handle all new forms of spec
11271 syntax introduced recently. Now returns a char *.
11272 (validate_all_switches): Repetitive logic broken out to...
11273 (validate_switches_from_spec): ...here.
11274 * mklibgcc.in: Don't @-flag commands to generate .oS files.
11275
7e765675
UW
112762002-09-30 Ulrich Weigand <uweigand@de.ibm.com>
11277
11278 * longlong.h: Partially synchronize with GMP-4.1 version:
11279 Use i370 definitions also for s390.
11280 Add generic definition of umul_ppmm in terms of smul_ppmm.
11281 [s390] (umul_ppmm): Remove.
11282 [s390] (smul_ppmm): Fix incorrect assembler constraints.
11283 [s390] (smul_ppmm, sdiv_qrnnd): Rename __xx to __x.
11284
89f6025d
BW
112852002-09-30 Bob Wilson <bob.wilson@acm.org>
11286
11287 * config/xtensa/xtensa.h (REG_CLASS_NAMES, REG_CLASS_CONTENTS):
11288 Add new RL_REGS register class.
11289 (PREFERRED_RELOAD_CLASS, PREFERRED_OUTPUT_RELOAD_CLASS):
ee6ff319 11290 Call xtensa_preferred_reload_class for both input and output reloads.
89f6025d
BW
11291 * config/xtensa/xtensa.c (xtensa_regno_to_class): Use new RL_REGS class.
11292 (xtensa_preferred_reload_class): Handle output reloads; use RL_REGS
11293 instead of either AR_REGS or GR_REGS classes.
11294 (xtensa_secondary_reload_class): Use new RL_REGS class.
11295 * config/xtensa/xtensa-protos.h (xtensa_preferred_reload_class): Update.
11296
7830ba7b
JDA
112972002-09-30 John David Anglin <dave@hiauly1.hia.nrc.ca>
11298
11299 * pa.c (hppa_encode_label): Don't drop '*' from function labels.
11300 (pa_strip_name_encoding): Strip '@' and '*', in that order.
11301 * pa.h (ASM_OUTPUT_LABELREF): Output user_label_prefix except when
11302 there is a '*' prefix in NAME.
11303
344b78b8
JH
11304Mon Sep 30 21:33:23 CEST 2002 Jan Hubicka <jh@suse.cz>
11305
11306 * reload.c (push_reload): Handle subregs and secondary memory.
11307 * reload1.c (gen_reload): Likewise.
11308
11309 * jump.c (reg_or_subregno): New function.
11310 * rtl.h (reg_or_subregno): Declare
11311 * unroll.c (find_splittable_givs): Handle subregs.
11312
17bbb839
MM
113132002-09-30 Mark Mitchell <mark@codesourcery.com>
11314
11315 * store-layout.c (finish_record_layout): Add free_p parameter.
11316 (layout_type): Pass it.
11317 * tree.h (finish_record_layout): Update prototype.
92e89ef0 11318
48ddd46c
JH
11319Mon Sep 30 14:57:18 CEST 2002 Jan Hubicka <jh@suse.cz>
11320
11321 * i386.h (TARGET_CPP_CPU_BUILTINS): Define __SSE_MATH__.
11322
11323 * gcse.c (cprop_jump): Check that the register has not
11324 been modified
11325 (cprop_jump): Likewise.
11326
b93a0fe6
RE
113272002-09-30 Richard Earnshaw <rearnsha@arm.com>
11328
11329 * arm.h (BASE_REG_CLASS): Always return LO_REGS for Thumb.
11330 (MODE_BASE_REG_CLASS, case Thumb): Only return BASE_REGS if we know
11331 that we have a SImode access, and only then if reload hasn't completed;
11332 for all other cases, use LO_REGS.
11333
4977bab6
ZW
113342002-09-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11335
11336 * openbsd.h: Fix typo in last change.
11337
98ee7e6c
RH
113382002-09-29 Richard Henderson <rth@redhat.com>
11339
11340 * real.c (real_from_string): Apply sign last. Tidy exponent handling.
11341
ccf7aef4
RH
113422002-09-29 Richard Henderson <rth@redhat.com>
11343
b5371c18 11344 PR c/8002
ccf7aef4
RH
11345 * combine.c (force_to_mode): Handle FLOAT_MODE destinations
11346 for CONST_INT.
11347
d454e75a
DE
113482002-09-29 David Edelsohn <edelsohn@gnu.org>
11349
11350 * real.h (ibm_extended_format): Declare.
11351 * real.c (encode_ibm_extended, decode_ibm_extended): New
11352 functions.
11353
89b06540
KG
113542002-09-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11355
11356 * darwin-protos.h (darwin_asm_output_dwarf_delta): Prototype.
11357
11358 * ia64.c (ia64_hpux_asm_file_end): Const-ify.
11359
6ca6193b
JDA
113602002-09-29 John David Anglin <dave@hiauly1.hia.nrc.ca>
11361
11362 * expmed.c (extract_bit_field): Fix bit-field extraction from SUBREGs.
11363
991b6592
KH
113642002-09-29 Kazu Hirata <kazu@cs.umass.edu>
11365
11366 * builtins.def: Fix comment formatting.
11367 * c-common.def: Likewise.
11368 * cfgcleanup.c: Likewise.
11369 * combine.c: Likewise.
11370 * gengtype.c: Likewise.
11371 * params.def: Likewise.
11372 * predict.def: Likewise.
11373 * rtl.def: Likewise.
11374 * stab.def: Likewise.
11375 * stor-layout.c: Likewise.
11376 * tree.def: Likewise.
11377 * config/darwin.c: Likewise.
11378 * config/darwin.h: Likewise.
11379 * config/dbxcoff.h: Likewise.
11380 * config/elfos.h: Likewise.
11381 * config/fp-bit.c: Likewise.
11382 * config/freebsd-spec.h: Likewise.
11383 * config/interix.h: Likewise.
11384 * config/libgloss.h: Likewise.
11385 * config/linux-aout.h: Likewise.
11386 * config/linux.h: Likewise.
11387 * config/lynx-ng.h: Likewise.
11388 * config/lynx.h: Likewise.
11389 * config/netbsd-aout.h: Likewise.
11390 * config/netbsd.h: Likewise.
11391 * config/netware.h: Likewise.
11392 * config/psos.h: Likewise.
11393 * config/ptx4.h: Likewise.
11394
43aa4e05
KH
113952002-09-28 Kazu Hirata <kazu@cs.umass.edu>
11396
11397 * ChangeLog.4: Fix typos.
11398 * ChangeLog.6: Likewise.
11399 * FSFChangeLog.10: Likewise.
11400 * genattrtab.c: Fix comment typos.
11401 * haifa-sched.c: Likewise.
11402 * real.c: Likewise.
11403 * tree.h: Likewise.
11404 * config/arm/arm.c: Likewise.
11405 * config/arm/crti.asm: Likewise.
11406 * config/arm/crtn.asm: Likewise.
11407 * config/frv/frv.c: Likewise.
11408 * config/frv/frv.md: Likewise.
11409 * config/h8300/h8300.md: Likewise.
11410 * config/i386/rtemself.h: Likewise.
11411 * config/ia64/unwind-ia64.c: Likewise.
11412 * config/ip2k/ip2k.h: Likewise.
11413 * config/m88k/m88k.c: Likewise.
11414 * config/m88k/m88k.md: Likewise.
11415 * config/mips/sr71k.md: Likewise.
11416 * config/mmix/mmix.c: Likewise.
11417 * config/rs6000/rs6000.c: Likewise.
11418 * config/sh/sh.md: Likewise.
11419
13e8651c
TR
114202002-09-26 Theodore A. Roth <troth@verinet.com>
11421
92e89ef0
ZW
11422 * config/avr/avr.c: Eliminate use of _PC_ in pc relative insns.
11423 * config/avr/avr.md: Ditto.
13e8651c 11424
57147be1
ZW
114252002-09-27 Alexander N. Kabaev <ak03@gte.com>
11426
11427 PR preprocessor/8055
11428 * cppmacro.c (stringify_arg): Do not overflow the buffer
11429 with the terminating NUL when the argument to be stringified
11430 has no tokens.
11431
5d0f3df7
RH
114322002-09-27 Richard Henderson <rth@redhat.com>
11433
11434 * unroll.c (simplify_cmp_and_jump_insns): New.
11435 (unroll_loop): Use it. Use simplify_gen_foo+force_operand
11436 instead of expand_simple_foo.
11437
3dfda826
RH
114382002-09-27 Richard Henderson <rth@redhat.com>
11439
11440 PR optimization/7520
11441 * cfganal.c (flow_active_insn_p): New.
11442 (forwarder_block_p): Use it.
11443
23b8ba81
RH
114442002-09-27 Richard Henderson <rth@redhat.com>
11445
11446 * emit-rtl.c (active_insn_p): Revert last change.
11447
dce81a1a
JJ
114482002-09-27 Jakub Jelinek <jakub@redhat.com>
11449
11450 * doc/extend.texi (tls_model): Document.
11451 * varasm.c (decl_tls_model): New.
11452 * c-common.c (handle_tls_model_attribute): New.
11453 (c_common_attribute_table): Add tls_model.
11454 * config/alpha/alpha.c (alpha_encode_section_info): Use
11455 decl_tls_model.
11456 * flags.h (enum tls_model, flag_tls_default): Move...
11457 * tree.h (enum tls_model, flag_tls_default): ...here.
11458 (decl_tls_model): New prototype.
11459 * config/ia64/ia64.c (ia64_encode_section_info): Likewise.
11460 * config/i386/i386.c (ix86_encode_section_info): Likewise.
11461 * config/i386/i386.md (tls_global_dynamic, tls_local_dynamic_base):
11462 Allow !flag_pic.
11463
0e9e1e0a
KH
114642002-09-27 Kazu Hirata <kazu@cs.umass.edu>
11465
11466 * LANGUAGES: Follow spelling conventions.
11467 * rtl.def: Likewise.
11468 * sbitmap.c: Likewise.
11469 * sched-int.h: Likewise.
11470 * sched-rgn.c: Likewise.
11471 * sibcall.c: Likewise.
11472 * simplify-rtx.c: Likewise.
11473 * ssa.c: Likewise.
11474 * stab.def: Likewise.
11475 * stmt.c: Likewise.
11476 * stor-layout.c: Likewise.
11477 * target.h: Likewise.
11478 * timevar.c: Likewise.
11479 * toplev.c: Likewise.
11480 * tree-dump.c: Likewise.
11481 * tree-inline.c: Likewise.
11482 * tree.c: Likewise.
11483 * tree.def: Likewise.
11484 * tree.h: Likewise.
11485 * unroll.c: Likewise.
11486 * varasm.c: Likewise.
11487 * vmsdbgout.c: Likewise.
11488 * treelang/treelang.texi: Likewise.
11489 * treelang/treetree.c: Likewise.
11490
b9b575e6
KH
114912002-09-27 Kazu Hirata <kazu@cs.umass.edu>
11492
11493 * config/h8300/h8300.c (compute_saved_regs): Use a macro
11494 instead of a hard register number.
11495 (get_shift_alg): Use an enumerated type instead of numbers.
11496 (h8300_shift_needs_scratch_p): Likewise.
11497
4977bab6
ZW
114982002-09-26 Kazu Hirata <kazu@cs.umass.edu>
11499
11500 * varasm.c (force_data_section): Remove.
11501 (assemble_constant_align): Likewise.
11502 * output.h: Remove corresponding prototypes.
11503
115042002-09-26 Roger Sayle <roger@eyesopen.com>
11505
11506 * stmt.c (expand_exit_loop_if_false): Expand a simple conditional
11507 jump, if the loop to exit is the top of the current nesting stack.
11508
115092002-09-26 Torbjorn Granlund <tege@swox.com>
11510
11511 * libgcc2.c (fixunsdfdi, fixunssfdi): Rewrite, avoiding `long long'
11512 arithmetic.
11513
99a32567
DM
115142002-09-26 David S. Miller <davem@redhat.com>
11515
11516 PR optimization/7335
11517 * calls.c (emit_library_call_value_1): Passing args by reference
11518 converts a CONST function into a PURE one.
11519
67cef334
DE
115202002-09-26 David Edelsohn <edelsohn@gnu.org>
11521
11522 * dbxout.c (FORCE_TEXT): Switch to current_function_decl, not
11523 text_section.
57147be1 11524 * xcoffout.h (DBX_STATIC_BLOCK_START): Remove explicit change to
67cef334
DE
11525 text section.
11526 * config/rs6000/rs6000.c (rs6000_override_options): Allow
11527 function-sections and data-sections functionality on AIX.
11528
115292002-09-26 David Edelsohn <edelsohn@gnu.org>
11530 Dale Johannesen <dalej@apple.com>
11531
11532 * config/rs6000/rs6000.c (rs6000_emit_move): Insert zero-extend
11533 in RTL for sub-word loads from memory.
11534
c2310f51
RH
115352002-09-26 Richard Henderson <rth@redhat.com>
11536
11537 PR c/7160
11538 * sched-deps.c (sched_analyze_insn): Make clobber insns depend
11539 on call insns.
11540
7847d627
RH
115412002-09-26 Richard Henderson <rth@redhat.com>
11542
11543 * emit-rtl.c (const_double_htab_eq): Remove unused variable.
11544
cde0ce6e
CL
115452002-09-26 Chris Lattner <sabre@nondot.org>
11546
11547 * ssa.c (rename_insn_1): Handle RENAME_NO_RTX correctly when
11548 handling undefined values.
11549
03a62672
RH
115502002-09-26 Richard Henderson <rth@redhat.com>
11551
5fd452e8 11552 PR opt/7520
03a62672
RH
11553 * emit-rtl.c (active_insn_p): Consider a clobber of the
11554 function return value to be active even after reload.
11555
b5a77fef
AM
115562002-09-27 Alan Modra <amodra@bigpond.net.au>
11557
11558 * doloop.c (doloop_modify_runtime <biv skips initial incr>): Adjust
11559 by absolute loop increment, not loop increment.
11560
40f03658
KH
115612002-09-26 Kazu Hirata <kazu@cs.umass.edu>
11562
11563 * c-common.h: Follow spelling conventions.
11564 * cpplex.c: Likewise.
11565 * cpplib.h: Likewise.
11566 * gthr-dce.h: Likewise.
11567 * gthr-posix.h: Likewise.
11568 * optabs.c: Likewise.
11569 * output.h: Likewise.
11570 * profile.c: Likewise.
11571 * protoize.c: Likewise.
11572 * ra-rewrite.c: Likewise.
11573 * real.c: Likewise.
11574 * recog.c: Likewise.
11575 * reg-stack.c: Likewise.
11576 * regclass.c: Likewise.
11577 * regmove.c: Likewise.
11578 * reload.c: Likewise.
11579 * reload.h: Likewise.
11580 * reload1.c: Likewise.
11581 * reorg.c: Likewise.
11582 * resource.c: Likewise.
11583 * rtl.h: Likewise.
11584 * rtlanal.c: Likewise.
11585
ee8a73d6
SE
115862002-09-26 Steve Ellcey <sje@cup.hp.com>
11587
11588 * config/ia64/ia64.c (ia64_expand_load_address): Ensure correct mode
11589 for symbol address.
11590
2eb2bbdc
EC
115912002-09-24 Eric Christopher <echristo@redhat.com>
11592
57147be1
ZW
11593 * config/mips/elf.h: Add HANDLE_SYSV_PRAGMA.
11594 * config/mips/elf64.h: Ditto.
2eb2bbdc 11595
0ab38418
EC
115962002-09-24 Eric Christopher <echristo@redhat.com>
11597
57147be1 11598 * except.c (expand_builtin_extract_return_address): Handle case
0ab38418
EC
11599 where Pmode != ptr_mode.
11600
68bb91b1
SE
116012002-09-26 Steve Ellcey <sje@cup.hp.com>
11602
11603 * config/ia64/hpux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): New
11604
5429802d
SE
116052002-09-26 Steve Ellcey <sje@cup.hp.com>
11606
11607 * config/ia64/hpux.h (TARGET_DEFAULT): Include TARGET_ILP32.
11608
855c3a2e
IS
116092002-09-26 Igor Shevlyakov <igor@microunity.com>
11610
11611 * combine.c (simplify_set): Don't call to force_to_mode if size
11612 of integer type is larger than HOST_BITS_PER_WIDE_INT.
11613
2d556baf
JJ
116142002-09-26 Janis Johnson <janis187@us.ibm.com>
11615
11616 * Makefile.in (qmtest-g++): Fix file path.
11617
1717e19e
UW
116182002-09-26 Ulrich Weigand <uweigand@de.ibm.com>
11619
0ab38418 11620 * expr.c (expand_expr) [MINUS_EXPR]: Convert A - const to
1717e19e
UW
11621 A + (-const) on RTX level, even for unsigned types.
11622
6cabe79e
UW
116232002-09-26 Ulrich Weigand <uweigand@de.ibm.com>
11624
11625 * reload.c (dup_replacements): New function.
11626 (find_reloads): Use it to duplicate replacements at the top level
11627 of match_dup operands.
11628
0855247a
MB
116292002-09-26 Miles Bader <miles@gnu.org>
11630
11631 * v850.md ("length"): Change default value to 4.
11632
6335b0aa
KH
116332002-09-26 Kazu Hirata <kazu@cs.umass.edu>
11634
11635 * ChangeLog.1: Follow spelling conventions.
11636 * ChangeLog.4: Likewise.
11637 * ChangeLog.6: Likewise.
11638 * FSFChangeLog.11: Likewise.
11639 * doc/cpp.texi: Likewise.
11640 * doc/invoke.texi: Likewise.
11641 * doc/tm.texi: Likewise.
11642
09818236
NC
116432002-09-26 Nick Clifton <nickc@redhat.com>
11644
11645 * config.gcc: Add x prefix to v850e case for handling
11646 --with-cpu=v850e.
11647
4977bab6
ZW
116482002-09-25 Zack Weinberg <zack@codesourcery.com>
11649
11650 * gcc.c (input_suffix_matches, switch_matches,
11651 mark_matching_switches, process_marked_switches,
11652 process_brace_body): New functions - split from handle_braces.
11653 (handle_braces): Rewrite; handle %{S:X;T:Y;:D} syntax; accept
11654 and ignore whitespace in more places.
11655 (specs documentation comment): Document %{S:X;T:Y;:D}.
11656 Clarify other %{...} docs.
11657 * doc/invoke.texi: Document %{S:X;T:Y;:D}. Clarify other
11658 %{...} docs.
11659
11660 * config/arm/aof.h (LINK_SPEC): Change %{ov*,*} to %{ov*}.
11661 * config/rs6000/sysv4.h: Use N-way choice spec syntax.
11662
8a3996fd
DM
116632002-09-25 David S. Miller <davem@redhat.com>
11664
11665 PR target/7842
11666 * config/sparc/sparc.c (set_extends): SImode ASHIFT does not
11667 extend.
11668
8580f7a0
RH
116692002-09-25 Richard Henderson <rth@redhat.com>
11670
11671 * emit-rtl.c (const_double_htab_eq): Distinguish integer and
11672 fp CONST_DOUBLE; use real_identical.
11673
956d9305
MM
116742002-09-25 Mark Mitchell <mark@codesourcery.com>
11675
11676 * doc/invoke.texi: Add more -Wabi examples.
11677
3ccbe819
RS
116782002-09-25 Richard Sandiford <rsandifo@redhat.com>
11679
11680 * config/mips/mips.h (TARGET_MIPS4100): Add missing bracket.
11681
4977bab6
ZW
116822002-09-24 Nathan Sidwell <nathan@codesourcery.com>
11683
11684 * profile.c (end_branch_prob): Only look for __gcov_init on
11685 weak-enabled native compilers.
11686
2106e42a
DC
116872002-09-24 Denis Chertykov <denisc@overta.ru>
11688
11689 * config/ip2k/ip2k.c (function_epilogue): Fix wrong numbers in
11690 cases of optimizing "add sp,w" to "inc sp".
11691
58e60158
AN
116922002-09-24 Adam Nemet <anemet@lnxw.com>
11693
57147be1
ZW
11694 * config/arm/arm.c (thumb_unexpanded_epilogue): Don't generate
11695 epilogue for naked functions.
58e60158 11696
59be6073 116972002-09-24 Adam Nemet <anemet@lnxw.com>
57147be1 11698 Nick Clifton <nickc@redhat.com>
59be6073
AN
11699
11700 * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Remove.
11701 (FUNCTION_PROFILER): Only invoke THUMB_FUNCTION_PROFILER if it
11702 is defined.
11703
100c7420
UW
117042002-09-24 Ulrich Weigand <uweigand@de.ibm.com>
11705
11706 * config/s390/s390.c (preferred_la_operand_p): New function.
11707 * config/s390/s390-protos.h (preferred_la_operand_p): Declare it.
11708 * config/s390/s390.md ("addaddr_esame", "*la_ccclobber"): Replace by ...
11709 ("*la_64_cc", "*la_31_cc", splitters): ... these.
11710 ("*la_31"): Deactivate for TARGET_64BIT.
11711 ("*la_31_and", "*la_31_and_cc"): New.
11712
9fc63af5
KG
117132002-09-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11714
11715 * real.h (real_value): Make `exp' explicitly signed.
11716
43a88a8c
KH
117172002-09-24 Kazu Hirata <kazu@cs.umass.edu>
11718
11719 * config/elfos.h: Follow spelling conventions.
11720 * config/alpha/alpha.h: Likewise.
11721 * config/arc/arc.h: Likewise.
11722 * config/arm/arm.md: Likewise.
11723 * config/avr/avr.h: Likewise.
11724 * config/cris/cris.md: Likewise.
11725 * config/d30v/d30v.h: Likewise.
11726 * config/frv/frv.c: Likewise.
11727 * config/frv/frv.h: Likewise.
11728 * config/h8300/h8300.c: Likewise.
11729 * config/h8300/h8300.h: Likewise.
11730 * config/h8300/h8300.md: Likewise.
11731 * config/i386/cygwin.h: Likewise.
11732 * config/i386/i386.h: Likewise.
11733 * config/i386/sysv3.h: Likewise.
11734 * config/i960/i960.h: Likewise.
11735 * config/ia64/ia64.h: Likewise.
11736 * config/ia64/ia64.md: Likewise.
11737 * config/ip2k/ip2k.h: Likewise.
11738 * config/m32r/m32r.h: Likewise.
11739 * config/m68k/m68k.h: Likewise.
11740 * config/m88k/m88k.h: Likewise.
11741 * config/mcore/mcore.c: Likewise.
11742 * config/mcore/mcore.h: Likewise.
11743 * config/mcore/mcore.md: Likewise.
11744 * config/mips/mips.h: Likewise.
11745 * config/mmix/mmix.h: Likewise.
11746 * config/mmix/mmix.md: Likewise.
11747 * config/ns32k/netbsd.h: Likewise.
11748 * config/ns32k/ns32k.h: Likewise.
11749 * config/ns32k/ns32k.md: Likewise.
11750 * config/pa/pa.h: Likewise.
11751 * config/romp/romp.h: Likewise.
11752 * config/rs6000/rs6000.h: Likewise.
11753 * config/rs6000/rs6000.md: Likewise.
11754 * config/sparc/sparc.h: Likewise.
11755 * config/stormy16/stormy-abi: Likewise.
11756 * config/stormy16/stormy16.h: Likewise.
11757 * config/vax/vax.h: Likewise.
11758
4977bab6
ZW
117592002-09-23 Kazu Hirata <kazu@cs.umass.edu>
11760
11761 * config/alpha/alpha.h: Remove commented-out macro
11762 definitions of HAVE_{POST|PRE}_{INC|DEC}REMENT.
11763 * config/avr/avr.h: Likewise.
11764 * config/d30v/d30v.h: Likewise.
11765 * config/dsp16xx/dsp16xx.h: Likewise.
11766 * config/i370/i370.h: Likewise.
11767 * config/i386/i386.h: Likewise.
11768 * config/i960/i960.h: Likewise.
11769 * config/m68k/m68k.h: Likewise.
11770 * config/m88k/m88k.h: Likewise.
11771 * config/mips/mips.h: Likewise.
11772 * config/ns32k/ns32k.h: Likewise.
11773 * config/pdp11/pdp11.h: Likewise.
11774 * config/romp/romp.h: Likewise.
11775 * config/rs6000/rs6000.h: Likewise.
11776 * config/s390/s390.h: Likewise.
11777 * config/sh/sh.h: Likewise.
11778 * config/sparc/sparc.h: Likewise.
11779 * config/stormy16/stormy16.h: Likewise.
11780 * config/vax/vax.h: Likewise.
11781
117822002-09-23 Kazu Hirata <kazu@cs.umass.edu>
11783
11784 * function.c (push_temp_slots_for_block): Remove.
11785 (push_temp_slots_for_target): Likewise.
11786 (get_target_temp_slot_level): Likewise.
11787 (set_target_temp_slot_level): Likewise.
11788 (get_first_block_beg): Likewise.
11789 * function.h: Remove corresponding prototypes.
11790
b4f94ac1
ZW
117912002-09-23 Zack Weinberg <zack@codesourcery.com>
11792
11793 * version.c (version_string): Now const char[].
11794 * version.h: Update to match.
11795
9ef1b13a
RH
117962002-09-23 Richard Henderson <rth@redhat.com>
11797
11798 * config/i386/i386.h (MASK_ACCUMULATE_OUTGOING_ARGS_SET, MASK_MMX_SET,
11799 MASK_SSE_SET, MASK_SSE2_SET, MASK_3DNOW_SET, MASK_3DNOW_A_SET): Kill.
11800 (TARGET_SWITCHES): Don't reference them.
11801 * config/i386/i386.c (override_options): Use target_flags_explicit
11802 to examine bits set by the user.
11803
ca9d6748 118042002-09-23 Dale Johannesen <dalej@apple.com>
9ef1b13a 11805
ca9d6748
DJ
11806 * dbxout.c (dbxout_parms): Set current_sym_code for params
11807 passed on stack by invisible reference.
11808
97d48e5a
RE
118092002-09-23 Richard Earnshaw <rearnsha@arm.com>
11810
11811 * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Always allocate
11812 at least one byte of space.
11813
46c83bce
MM
118142002-09-23 Mark Mitchell <mark@codesourcery.com>
11815
11816 * c-common.h (flag_abi_version): Fix typo in comment.
11817 * doc/invoke.texi (flag_abi_version): Document default value.
11818
acb5d088
HPN
118192002-09-23 Hans-Peter Nilsson <hp@axis.com>
11820
11821 * doc/extend.texi (Extended Asm): Clarify that overlap between
11822 asm-declared register variables used in an asm and the asm clobber
11823 list is not allowed.
11824 * stmt.c (decl_conflicts_with_clobbers_p): New function.
11825 (expand_asm_operands): Keep track of clobbered registers. Call
11826 decl_conflicts_with_clobbers_p for each input and output operand.
11827 If no conflicts found before, also do conflict sanity check when
11828 emitting clobbers.
11829
ddf0fc72
RH
118302002-09-23 Richard Henderson <rth@redhat.com>
11831
11832 * c-common.c (cpp_define_data_format): Remove.
11833 (cb_register_builtins): Don't define __WCHAR_BIT__, __SHRT_BIT__,
11834 __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
11835 __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
11836 * doc/cpp.texi: Don't document them either.
11837 (__SCHAR_MAX__, __SHRT_MAX__, __INT_MAX__, __LONG_MAX__,
11838 __LONG_LONG_MAX__): Document.
11839 (__TARGET_FLOAT_FORMAT__): Remove.
11840
a520ff95
RH
118412002-09-23 Richard Henderson <rth@redhat.com>
11842
11843 * real.c (do_multiply): Normalize U before addition.
11844
2d3e278d
MM
118452002-09-23 Mark Mitchell <mark@codesourcery.com>
11846
11847 * c-common.c (flag_abi_version): New variable.
11848 * c-common.h (flag_abi_version): Declare it.
11849 * c-opts.c (missing_arg): Add -fabi-version.
11850 (c_common_decode_option): Process -fabi-version.
11851 * doc/invoke.texi (-fabi-version): Document it.
11852 (-Wabi): Add information about bit-fields in unions.
b4f94ac1 11853
4977bab6
ZW
118542002-09-22 Roger Sayle <roger@eyesopen.com>
11855
11856 * expr.c (STORE_BY_PIECES_P): New target macro.
11857 (can_store_by_pieces, store_by_pieces): Use STORE_BY_PIECES_P
11858 instead of MOVE_BY_PIECES_P.
11859 * doc/tm.texi: Document this new macro.
11860
173b51b5
JT
118612002-09-22 Jason Thorpe <thorpej@wasabisystems.com>
11862
11863 * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Always pass -KPIC
11864 unless -fno-pic or -fno-PIC is specified.
11865
c219e1da
JDA
118662002-09-22 John David Anglin <dave@hiauly1.hia.nrc.ca>
11867
11868 * c-common.c (preprocessing_trad_p): Define.
11869 * pa-hiux.h, pa-hpux.h, pa-hpux7.h (CPP_PREDEFINES): Delete.
11870 (TARGET_OS_CPP_BUILTINS, SUBTARGET_SWITCHES): Define.
11871 * pa-hpux10.h (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
11872 * pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define.
11873 * pa-linux.h (CPP_PREDEFINES): Delete.
11874 (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
11875 * pa32-linux.h, pa64-linux.h (CPP_SPEC): Delete.
11876 * pa-osf.h, pa-pro-end.h, rtems.h (CPP_PREDEFINES): Delete.
11877 (TARGET_OS_CPP_BUILTINS): Define.
11878 * pa.h (MASK_SIO, TARGET_SIO, TARGET_PA_10): Define.
11879 (TARGET_SWITCHES): Reformat. Use N_() macro. Add SUBTARGET_SWITCHES.
11880 (SUBTARGET_SWITCHES): Provide default definition.
11881 (TARGET_OPTIONS): Reformat. Use N_() macro.
11882 (CPP_PA10_SPEC, CPP_PA11_SPEC, CPP_PA20_SPEC, CPP_64BIT_SPEC,
11883 CPP_CPU_DEFAULT_SPEC, CPP_64BIT_DEFAULT_SPEC, SUBTARGET_EXTRA_SPECS,
11884 EXTRA_SPECS, CPP_SPEC, CPLUSPLUS_CPP_SPEC, CPP_PREDEFINES): Delete.
11885 (TARGET_CPU_CPP_BUILTINS): Define.
11886 (TARGET_OS_CPP_BUILTINS): Define for BSD-like systems.
11887 * doc/invoke.texi (msio, mwsio): Document new hppa options.
11888 * doc/tm.texi (TARGET_CPU_CPP_BUILTINS): Document macro
11889 preprocessing_trad_p().
11890
65a824f6
JT
118912002-09-22 Jason Thorpe <thorpej@wasabisystems.com>
11892
11893 * doc/install.texi: Document behavior of --with-headers and
11894 --with-libs when arguments are omitted.
11895
cc2902df
KH
118962002-09-22 Kazu Hirata <kazu@cs.umass.edu>
11897
11898 * dbxout.c: Follow spelling conventions.
11899 * defaults.h: Likewise.
11900 * df.c: Likewise.
11901 * diagnostic.h: Likewise.
11902 * doloop.c: Likewise.
11903 * dwarf2out.c: Likewise.
11904 * dwarfout.c: Likewise.
11905 * emit-rtl.c: Likewise.
11906 * except.c: Likewise.
11907 * explow.c: Likewise.
11908 * expmed.c: Likewise.
11909 * expr.c: Likewise.
11910 * expr.h: Likewise.
11911 * flags.h: Likewise.
11912 * flow.c: Likewise.
11913 * fold-const.c: Likewise.
11914 * function.c: Likewise.
11915 * function.h: Likewise.
11916 * gcc.c: Likewise.
11917 * gcov-io.h: Likewise.
11918 * gcov.c: Likewise.
11919 * gcse.c: Likewise.
11920 * genattrtab.c: Likewise.
11921 * genconfig.c: Likewise.
11922 * genrecog.c: Likewise.
11923 * ggc-page.c: Likewise.
11924 * ggc.h: Likewise.
11925 * global.c: Likewise.
11926 * gthr-win32.h: Likewise.
11927 * integrate.c: Likewise.
11928 * jump.c: Likewise.
11929 * langhooks.c: Likewise.
11930 * langhooks.h: Likewise.
11931 * line-map.h: Likewise.
11932 * local-alloc.c: Likewise.
11933 * longlong.h: Likewise.
11934 * loop.c: Likewise.
11935 * loop.h: Likewise.
11936
ef49d42e
JH
11937Tue Aug 27 22:26:35 CEST 2002 Jan Hubicka <jh@suse.cz>
11938
11939 * i386.h (BIGGEST_FIELD_ALIGNMENT): Set proper default for x86_64.
11940
11941Tue Aug 27 20:07:01 CEST 2002 Jan Hubicka <jh@suse.cz>
11942
11943 * i386.c (overwrite_options): Set -mpreferred-stack-boundary to 128
11944 for -Os/TARGET_64BIT too.
11945
da7d8304
KH
119462002-09-21 Kazu Hirata <kazu@cs.umass.edu>
11947
11948 * ChangeLog: Follow spelling conventions.
11949 * ChangeLog.0: Likewise.
11950 * ChangeLog.1: Likewise.
11951 * ChangeLog.2: Likewise.
11952 * ChangeLog.3: Likewise.
11953 * ChangeLog.4: Likewise.
11954 * ChangeLog.5: Likewise.
11955 * ChangeLog.6: Likewise.
11956 * FSFChangeLog.10: Likewise.
11957 * FSFChangeLog.11: Likewise.
11958 * alias.c: Likewise.
11959 * basic-block.h: Likewise.
11960 * c-aux-info.c: Likewise.
11961 * c-common.c: Likewise.
11962 * c-common.h: Likewise.
11963 * c-decl.c: Likewise.
11964 * c-format.c: Likewise.
11965 * c-semantics.c: Likewise.
11966 * c-typeck.c: Likewise.
11967 * calls.c: Likewise.
11968 * cfganal.c: Likewise.
11969 * cfgloop.c: Likewise.
11970 * collect2.c: Likewise.
11971 * combine.c: Likewise.
11972 * conflict.c: Likewise.
11973 * cppexp.c: Likewise.
11974 * cppfiles.c: Likewise.
11975 * cpphash.h: Likewise.
11976 * cppinit.c: Likewise.
11977 * cpplex.c: Likewise.
11978 * cpplib.c: Likewise.
11979 * cpplib.h: Likewise.
11980 * cppmacro.c: Likewise.
11981 * cse.c: Likewise.
11982
330cc6c7
RE
119832002-09-21 Richard Earnshaw <rearnsha@arm.com>
11984
11985 * netbsd-aout.h (NETBSD_LINK_SPEC_AOUT): New, takes old definition of
11986 LINK_SPEC.
11987 (LINK_SPEC): Define to NETBSD_LINK_SPEC_AOUT.
11988 * arm/netbsd.h (SUBTARGET_EXTRA_SEPCS): Add NETBSD_LINK_SPEC_AOUT.
11989 (LINK_SPEC): Rework to use NETBSD_LINK_SPEC_AOUT).
11990
5b437e0f
RE
119912002-09-21 Richard Earnshaw <rearnsha@arm.com>
11992
9ee4fa29
RE
11993 PR opt/7930
11994 * cse.c (fold_rtx): Calculate old_cost before we fold each
5b437e0f
RE
11995 operand.
11996
2a15d344
RH
119972002-09-21 Richard Henderson <rth@redhat.com>
11998
11999 * c-common.c (cpp_define_data_format): Remove __GCC_LITTLE_ENDIAN__,
12000 __GCC_BIG_ENDIAN__, __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
12001 __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
12002 __TARGET_USES_VAX_F_FLOAT__, __TARGET_USES_VAX_D_FLOAT__,
12003 __TARGET_USES_VAX_G_FLOAT__, __TARGET_USES_VAX_H_FLOAT__.
12004 * doc/cpp.texi: Don't document them.
12005
3fdacdf9
RH
120062002-09-21 Richard Henderson <rth@redhat.com>
12007
12008 * c-common.c (builtin_define_float_constants): Use real_format
12009 to get the floating-point parameters.
12010
3dc85dfb
RH
120112002-09-21 Richard Henderson <rth@redhat.com>
12012
12013 * real.c (struct real_format): Move to real.h.
12014 (real_format_for_mode): Rename from fmt_for_mode; update all users;
12015 initialize with ieee defaults.
12016 (real_to_target_fmt, real_from_target_fmt): New.
12017 (ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
12018 ieee_extended_intel_96_format, ieee_extended_intel_128_format,
b4f94ac1 12019 ieee_quad_format, i370_single_format, i370_double_format,
3dc85dfb
RH
12020 c4x_single_format, c4x_extended_format): Rename from s/_format//.
12021 (ieee_quad_format): Fix emin.
12022 (format_for_size, init_real_once): Remove.
12023 * real.h (struct real_format): Move from real.c.
12024 (real_format_for_mode): Declare.
12025 (real_to_target_fmt, real_from_target_fmt): Declare.
12026 (ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
12027 ieee_extended_intel_96_format, ieee_extended_intel_128_format,
12028 ieee_quad_format, vax_f_format, vax_d_format, vax_g_format,
12029 i370_single_format, i370_double_format, c4x_single_format,
12030 c4x_extended_format): Declare.
12031 * toplev.c (do_compile): Don't call init_real_once.
12032
12033 * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
12034 * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Remove.
12035
12036 * config/alpha/alpha.h (TARGET_FLOAT_FORMAT): Define.
12037 * config/alpha/osf5.h (LONG_DOUBLE_TYPE_SIZE): 64, if vax mode.
12038 * config/alpha/alpha.c (override_options): Set real_format_for_mode
12039 for VAX, if enabled.
12040
12041 * config/c4x/c4x.c (c4x_override_options): Set real_format_for_mode
12042 for C4X.
12043
12044 * config/i370/i370.h (OVERRIDE_OPTIONS): New.
12045 * config/i370/i370.c (override_options): New.
12046 * config/i370/i370-protos.h: Update.
12047
12048 * config/i386/i386.c (override_options): Set real_format_for_mode
12049 for Intel 80-bit extended.
12050 * config/i386/i386.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
12051
12052 * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Mind -mlong-double-64.
12053 (OVERRIDE_OPTIONS): Move code...
12054 * config/i960/i960.c (i960_initialize): ... here. Set
12055 real_format_for_mode for Intel 80-bit extended.
12056
12057 * config/ia64/ia64.c (ia64_override_options): Set real_format_for_mode
12058 for Intel 80-bit extended, if enabled.
12059
12060 * config/m68k/m68k.c (override_options): Set real_format_for_mode
b4f94ac1 12061 for Motorola 96-bit extended.
3dc85dfb
RH
12062
12063 * config/vax/vax.h (OVERRIDE_OPTIONS): New.
12064 * config/vax/vax.c (override_options): New.
12065 * config/vax/vax-protos.h: Update.
12066
42a6388c
AM
120672002-09-21 Alan Modra <amodra@bigpond.net.au>
12068
84d7dd4a
AM
12069 * config/rs6000/rs6000.md (builtin_setjmp_receiver): Add
12070 #if TARGET_MACHO.
12071
42a6388c
AM
12072 * config/rs6000/rs6000.md (floatdisf2_internal2): Combine
12073 insns. Supply missing clobber of scratch reg.
12074
a0ab749a
KH
120752002-09-20 Kazu Hirata <kazu@cs.umass.edu>
12076
12077 * config/m32r/m32r.c: Follow spelling conventions.
12078 * config/m32r/m32r.h: Likewise.
12079 * config/m32r/m32r.md: Likewise.
12080 * config/m68k/m68k.c: Likewise.
12081 * config/m88k/m88k.c: Likewise.
12082 * config/mcore/mcore.c: Likewise.
12083 * config/mips/mips.c: Likewise.
12084 * config/mips/mips.h: Likewise.
12085 * config/mmix/mmix.c: Likewise.
12086 * config/mn10200/mn10200.c: Likewise.
12087 * config/ns32k/ns32k.h: Likewise.
12088 * config/pa/pa.c: Likewise.
12089 * config/pa/pa64-linux.h: Likewise.
12090 * config/pdp11/pdp11.h: Likewise.
12091 * config/romp/romp.c: Likewise.
12092 * config/romp/romp.h: Likewise.
12093 * config/rs6000/eabi.asm: Likewise.
12094 * config/rs6000/linux64.h: Likewise.
12095 * config/rs6000/rs6000.c: Likewise.
12096 * config/rs6000/rs6000.h: Likewise.
12097 * config/rs6000/rs6000.md: Likewise.
12098 * config/rs6000/sysv4.h: Likewise.
12099 * config/rs6000/xcoff.h: Likewise.
12100
2f0da74c
JW
121012002-09-20 Jim Wilson <wilson@redhat.com>
12102
12103 * config/v850/v850/lib1funcs.asm (__muldi3): Change r5 to r28.
12104
dea73790
JJ
121052002-09-20 Jakub Jelinek <jakub@redhat.com>
12106
12107 * config/i386/i386.md (UNSPEC_GOTNTPOFF, UNSPEC_INDNTPOFF): New.
12108 * config/i386/i386.c (legitimate_pic_address_disp_p): Handle
12109 UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF like UNSPEC_GOTTPOFF.
12110 (legitimate_address_p): Likewise.
12111 (legitimize_address): Use @gotntpoff and @indntpoff.
12112 (output_pic_addr_const): Handle UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF.
12113 (output_addr_const_extra): Likewise.
12114
a9b2f059
JW
121152002-09-20 Jim Wilson <wilson@redhat.com>
12116
12117 * combine.c (try_combine): When split an instruction pair, where the
12118 first has a sign_extend src, verify that the src and dest modes match.
12119
1f7422bd
RH
121202002-09-20 Richard Henderson <rth@redhat.com>
12121
12122 * config/mips/mips.c (dfhigh, dflow, sfhigh, sflow): Remove.
12123 (override_options): Do not initialize them.
12124 (mips_const_double_ok): Allow no fp constants except zero,
12125 and not even that for mips16.
12126 (const_float_1_operand): Use dconst1.
12127 * config/mips/mips.md (movsf, movsf_internal1, movsf_internal2,
12128 movdf, movdf_internal1, movdf_internal1a, movdf_internal2):
6d8dd940 12129 Don't allow arbitrary constants; fix predicates and C constraint.
1f7422bd 12130
56941bf2
NB
121312002-09-20 Neil Booth <neil@daikokuya.co.uk>
12132
12133 * cppmacro.c: Don't warn about function-like macros without
27eba309 12134 '(' during pre-expansion.
56941bf2 12135
66a0dfeb
JW
121362002-09-20 Jim Wilson <wilson@redhat.com>
12137
12138 * config/v850/v850.c (current_function_anonymous_args): Delete.
12139 (expand_prologue): Use current_function_args_info.anonymous_args.
12140 (expand_epilogue): Delete use of current_function_anonymous_args.
12141 * config/v850/v850.h (struct cum_arg): Add anonymous_args field.
12142 (INIT_CUMULATIVE_ARGS): Clear anonymous_args field.
12143 (current_function_anonymous_args): Delete extern declaration.
12144 (SETUP_INCOMING_VARARGS): Set anonymous_args field.
12145
97b23853
GK
121462002-09-20 Geoffrey Keating <geoffk@apple.com>
12147
f51eee6a
GK
12148 * config/rs6000/rs6000.c (rs6000_emit_prologue): Update for change
12149 to load_macho_picbase.
12150 * config/rs6000/rs6000.md: Document Darwin-specific unspec IDs.
12151 (load_macho_picbase): Take the symbol to use as a parameter.
12152 (macho_correct_pic): New insn.
12153 (builtin_setjmp_reciever): On Darwin, restore the PIC register.
12154
97b23853
GK
12155 * config/rs6000/rs6000.h (ELIMINABLE_REGS): Use
12156 RS6000_PIC_OFFSET_TABLE_REGNUM rather than hardcoding 30.
12157 (CAN_ELIMINATE): Likewise.
12158 (INITIAL_ELIMINATION_OFFSET): Likewise.
12159 (TOC_REGISTER): Likewise.
12160
46b33600
RH
121612002-09-20 Richard Henderson <rth@redhat.com>
12162
12163 * real.c (real_hash): New.
12164 * real.h: Declare it.
12165 * cse.c (canon_hash): Use it.
12166 * cselib.c (hash_rtx): Likewise.
12167 * emit-rtl.c (const_double_htab_hash): Likewise.
12168 * rtl.h (CONST_DOUBLE_REAL_VALUE): New.
12169 * varasm.c (struct rtx_const): Reduce vector size; separate
12170 integer and fp vectors.
12171 (HASHBITS): Remove.
12172 (const_hash_1): Rename from const_hash. Use real_hash. Do not
12173 take modulus MAX_HASH_TABLE.
12174 (const_hash): New. Do take modulus MAX_HASH_TABLE.
12175 (output_constant_def): Do not take modulus MAX_HASH_TABLE.
12176 (SYMHASH): Don't use HASHBITS.
12177 (decode_rtx_const): Copy only active bits from REAL_VALUE_TYPE.
12178 Fix CONST_VECTOR thinko wrt fp vectors. Fix kind comparison.
12179 (simplify_subtraction): Fix kind comparison.
12180 (const_hash_rtx): Return unsigned int. Don't use HASHBITS.
12181 Use a union to pun integer array.
12182 * config/rs6000/rs6000.c (rs6000_hash_constant): Use real_hash;
12183 only hash two words of integral CONST_DOUBLE.
12184
40ad65d0
SE
121852002-09-20 Steve Ellcey <sje@cup.hp.com>
12186
12187 * config/ia64/hpux.h (STARTFILE_SPEC): Modify.
12188 (STARTFILE_PREFIX_SPEC): New.
12189 (LINK_SPEC): Modify.
12190 (LIB_SPEC): Modify.
12191 (LIBGCC_SPEC): New.
12192
600f3392
JJ
121932002-09-20 Jakub Jelinek <jakub@redhat.com>
12194
12195 * config/i386/i386.c (legitimate_pic_address_disp_p): Allow
12196 UNSPEC_NTPOFF and UNSPEC_DTPOFF to be offsetted by constant.
12197
c1ff6200
JD
121982002-09-20 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
12199
12200 * config/arm/arm.md (sign_extract_onebit, not_signextract_onebit):
12201 Add clobber of the condition code register.
12202
60b78700
RH
122032002-09-20 Richard Henderson <rth@redhat.com>
12204
12205 * real.c (do_fix_trunc): Static.
12206 (encode_ieee_single, encode_ieee_double, encode_ieee_extended,
12207 encode_ieee_quad, encode_vax_f, encode_vax_d, encode_vax_g,
12208 encode_i370_single, encode_i370_double, encode_c4x_single,
12209 encode_c4x_extended): Add default abort case.
12210
0ee6fdb5
RH
122112002-09-20 Richard Henderson <rth@redhat.com>
12212
12213 * real.h (enum real_value_class, SIGNIFICAND_BITS, EXP_BITS,
12214 MAX_EXP, SIGSZ, SIG_MSB, struct real_value): Move from real.c.
12215 (struct realvaluetype): Remove.
12216 (REAL_VALUE_TYPE): Use struct real_value.
12217 (REAL_VALUE_TYPE_SIZE): Use SIGNIFICAND_BITS.
12218 (test_real_width): New.
12219 * real.c: Global replace struct real_value with REAL_VALUE_TYPE.
12220 (real_arithmetic): Avoid hoops for REAL_VALUE_TYPE parameters.
12221 (real_compare, real_exponent, real_ldexp, real_isinf, real_isnan,
12222 real_isneg, real_isnegzero, real_identical, exact_real_inverse,
12223 real_to_integer, real_to_integer2, real_to_decimal,
12224 real_to_hexadecimal, real_from_string, real_from_integer,
12225 real_inf, real_nan, real_2expN, real_convert, real_to_target,
12226 real_from_target): Likewise.
12227 * tree.h (struct tree_real_cst): Use real_value not realvaluetype.
12228 * gengtype-yacc.y (bitfieldopt): Accept an ID as well.
12229
66d93b5a
RH
122302002-09-20 Richard Henderson <rth@redhat.com>
12231
12232 * real.h (UNKNOWN_FLOAT_FORMAT, IEEE_FLOAT_FORMAT, VAX_FLOAT_FORMAT,
12233 IBM_FLOAT_FORMAT, C4X_FLOAT_FORMAT, TARGET_FLOAT_FORMAT): Move ...
12234 * defaults.h: ... here.
12235 * config/arm/arm.h, config/avr/avr.h, config/d30v/d30v.h,
12236 config/fr30/fr30.h, config/frv/frv.h, config/ia64/ia64.h,
12237 config/ip2k/ip2k.h, config/mips/mips.h, config/stormy16/stormy16.h,
12238 config/xtensa/xtensa.h (TARGET_FLOAT_FORMAT): Remove.
12239
6ee3db61
HPN
122402002-09-20 Hans-Peter Nilsson <hp@bitrange.com>
12241
12242 * config/mmix/mmix.md ("negdf2"): Rewrite.
12243 ("*expanded_negdf2"): New.
12244
ff076520
JW
122452002-09-19 Jim Wilson <wilson@redhat.com>
12246
12247 * combine.c (simplify_set): When optimizing a subreg src with a
12248 cc0 dest, use GET_MODE (src) for mask instead of inner_mode.
12249
307f767b
DJ
122502002-09-19 Dale Johannesen <dalej@apple.com>
12251 * combine.c (make_extraction): Don't create
12252 invalid subreg.
12253
4977bab6
ZW
122542002-09-19 Roger Sayle <roger@eyesopen.com>
12255
12256 * tree.c (integer_nonzerop): New predicate for nonzero integers.
12257 * tree.h (integer_nonzerop): Add function prototype.
12258 * stmt.c (expand_end_loop): Don't rotate the loop when there
12259 are no instructions in the test, i.e. the loop is unconditional.
12260 (expand_exit_loop_if_false): Optimize RTL generation of loop
12261 tests when the condition is always true or always false.
12262 * c-semantics.c (genrtl_do_stmt): Optimize RTL generation of
12263 do-loops when the condition is always true.
12264 (genrtl_for_stmt): Optimize RTL generation of for-loops when
12265 the for-expression is empty.
12266
122672002-09-19 Zack Weinberg <zack@codesourcery.com>
12268
12269 * gcc.c (use_pipes): New flag.
12270 (process_command): Set it. Adjust check for -pipe conflicting
12271 with -time or -save-temps.
12272 (do_spec_1): Use it. Handle %|SUFFIX, %mSUFFIX, and
12273 %<SWITCH. Drop %| (without a SUFFIX).
12274 (handle_braces): Drop %{<SWITCH}, %{^SWITCH}, %{|...}.
12275 (give_switch): Third argument eliminated.
12276 (invoke_as, @assembler_with_cpp spec): Use %|.s or %m.s
12277 depending on AS_NEEDS_DASH_FOR_PIPED_INPUT.
12278 (specs documentation comment): Update.
12279
12280 * config/netbsd-aout.h, config/openbsd.h, config/ptx4.h,
12281 config/svr4.h, config/i386/freebsd-aout.h,
12282 config/m68k/netbsd-elf.h, config/m68k/netbsd.h,
12283 config/m68k/openbsd.h, config/mips/openbsd.h,
12284 config/sparc/sparc.h: Define AS_NEEDS_DASH_FOR_PIPED_INPUT
12285 instead of putting %| into ASM_SPEC and/or ASM_FINAL_SPEC.
12286 * config/avr/avr.h: Delete do-nothing ASM_FINAL_SPEC.
12287 * config/cris/cris.h: Update comment.
12288
12289 * ada/lang-specs.h: Use %(invoke_as). Straighten out
12290 error messages. Don't use %{^SWITCH}.
12291 * ada/misc.c (gnat_decode_option): Handle -I with a
12292 separate argument.
12293
12294 * f/lang-specs.h: Use %| and %m.
12295 * java/jvspec.c: Use %m and %(invoke_as). Change all
12296 uses of %{<SWITCH} to %<SWITCH.
12297
12298 * doc/invoke.texi: Update documentation of specs.
12299 * doc/tm.texi: Document AS_NEEDS_DASH_FOR_PIPED_INPUT.
12300
cc7ab9b7
UW
123012002-09-19 Ulrich Weigand <uweigand@de.ibm.com>
12302
b4f94ac1 12303 * config/s390/s390.c (addr_generation_dependency_p): Handle SUBREG
cc7ab9b7
UW
12304 and STRICT_LOW_PART within SET_DEST.
12305 * config/s390/s390.md ("*extractqi", "*extracthi"): New insns with
12306 splitters, replacing pre-reload splitters.
b4f94ac1 12307 ("*zero_extendhisi2_31", "*zero_extendqisi2_31",
cc7ab9b7
UW
12308 "*zero_extendqihi2_31"): New insns.
12309 ("*zero_extendqihi2_64"): Do not clobber CC.
12310
4977bab6
ZW
123112002-09-18 Devang Patel <dpatel@apple.com>
12312
12313 * cp/cp-tree.h: New prototype for walk_vtables().
12314 * cp/decl.c (walk_vtables_r): New function.
12315 (struct cp_binding_level): Add new members, namespaces,
12316 names_size and vtables.
12317 (add_decl_to_level): Add decl in namespaces or vtables
12318 chain, if conditions match.
12319 (walk_vtables): New function.
12320 (walk_namespaces_r): Travers separate namespace chain
12321 for namespace decls.
12322 (wrapup_globals_for_namespace): Use names_size instead
12323 of list_length().
12324 * cp/decl2.c (finish_file): Use walk_vtables() instead of
12325 walk_globals() to walk vtable decls.
12326
b64ddb88
SE
123272002-09-19 Steve Ellcey <sje@cup.hp.com>
12328
12329 * config/ia64/hpux.h (CTORS_SECTION_ASM_OP): New.
12330 (DTORS_SECTION_ASM_OP): Ditto.
12331 (READONLY_DATA_SECTION_ASM_OP): Moved.
12332 (DATA_SECTION_ASM_OP): New.
12333 (SDATA_SECTION_ASM_OP): New.
12334 (BSS_SECTION_ASM_OP): New.
12335 (SBSS_SECTION_ASM_OP): New.
12336 (TEXT_SECTION_ASM_OP): New.
12337
9cd10576
KH
123382002-09-19 Kazu Hirata <kazu@cs.umass.edu>
12339
12340 * config/fp-bit.c: Follow spelling conventions.
12341 * config/d30v/d30v.c: Likewise.
12342 * config/d30v/d30v.h: Likewise.
12343 * config/fr30/fr30.c: Likewise.
12344 * config/fr30/fr30.h: Likewise.
12345 * config/fr30/fr30.md: Likewise.
12346 * config/frv/frv.c: Likewise.
12347 * config/frv/frv.h: Likewise.
12348 * config/h8300/h8300.c: Likewise.
12349 * config/h8300/lib1funcs.asm: Likewise.
12350 * config/i370/i370.c: Likewise.
12351 * config/i386/i386.h: Likewise.
12352 * config/i386/i386.md: Likewise.
12353 * config/i386/pentium.md: Likewise.
12354 * config/i386/winnt.c: Likewise.
12355 * config/i960/i960.c: Likewise.
12356 * config/ia64/ia64.h: Likewise.
12357 * config/ip2k/ip2k.c: Likewise.
12358 * config/ip2k/ip2k.h: Likewise.
12359 * config/ip2k/ip2k.md: Likewise.
12360 * config/ip2k/libgcc.S: Likewise.
12361
fff08fd8
SC
123622002-09-19 Stephen Clarke <stephen.clarke@superh.com>
12363
12364 * config/sh/sh.h (UNSPEC_GOTOFF_P): Define.
12365 (GOTOFF_P): Extend to allow gotoff plus constant.
12366
bf3d27e6
RH
123672002-09-18 Richard Henderson <rth@redhat.com>
12368
12369 * ifcvt.c (noce_process_if_block): Correctly detect X modified
b4f94ac1 12370 with INSN_B before COND_EARLIEST. Don't check A and B for
bf3d27e6
RH
12371 modification in condition range. Reorder INSN_B for A==B properly.
12372 (if_convert): Iterate until no matches for a block.
12373
1b1f20ca
RH
123742002-09-18 Richard Henderson <rth@redhat.com>
12375
12376 * calls.c (store_one_arg): Rename default_align to parm_align;
12377 always adjust parm_align for downward padding.
12378
724838b9
RH
123792002-09-18 Richard Henderson <rth@redhat.com>
12380
12381 * toplev.c (backend_init): Move init_real_once invocation ...
12382 (do_compile): ... here.
12383
2c67b7c6
RH
123842002-09-18 Richard Henderson <rth@redhat.com>
12385
12386 * sibcall.c (optimize_sibling_and_tail_recursive_call): Also remove
12387 RTX_UNCHANGING_P markers for successful tail-recursive replacement.
12388
15769ca3
RH
123892002-09-18 Richard Henderson <rth@redhat.com>
12390
12391 * real.c (round_for_format): Collect sticky as unsigned long, not bool.
12392
678b7733
AM
123932002-09-19 Alan Modra <amodra@bigpond.net.au>
12394
12395 * config/rs6000/rs6000.md: (floatdisf2): Rename to
12396 floatdisf2_internal1.
12397 (floatdisf2): New define_expand.
12398 (floatdisf2_internal2): Likewise.
12399
c402b6bf
RH
124002002-09-18 Richard Henderson <rth@redhat.com>
12401
b4f94ac1 12402 * real.c (sticky_rshift_significand): Collect sticky as
c402b6bf
RH
12403 unsigned long, not bool.
12404
dea09b1b
UW
124052002-09-18 Ulrich Weigand <uweigand@de.ibm.com>
12406
12407 * config/s390/s390.c (s390_address_cost): New function.
12408 config/s390/s390-protos.h (s390_address_cost): Add prototype.
12409 config/s390/s390.h (ADDRESS_COST): Call s390_address_cost.
12410 (RTX_COST): Use COSTS_N_INSNS.
12411
e4850f36
DR
124122002-09-18 Douglas Rupp <rupp@gnat.com>
12413 Donn Terry <donnte@microsoft.com>
12414
12415 * stor-layout.c (place_field): Handle alignment of whole
12416 structures when MSVC compatible bitfields are involved.
12417 Change method of computing location of MS bitfields to
12418 be compatible with #pragma pack(n).
12419
12420 * tree.h (record_layout_info): Add new field
12421 remaining_in_alignment.
12422
12423 * doc/tm.texi: (TARGET_MS_BITFIELD_LAYOUT_P): Update.
4977bab6 12424 (pragma pack): Add paragraph on MSVC bitfield packing.
e4850f36 12425
872e50d3
RE
124262002-09-18 Richard Earnshaw (reanrsha@arm.com)
12427
12428 PR optimization/7967
12429 * arm.md (ne_zeroextractsi): Add clobber of the condition code
12430 register.
12431
5e7a8ee0
KH
124322002-09-18 Kazu Hirata <kazu@cs.umass.edu>
12433
9cd10576 12434 * config/s390/s390.c: Follow spelling conventions.
5e7a8ee0
KH
12435 * config/sh/lib1funcs.asm: Likewise.
12436 * config/sh/sh.c: Likewise.
12437 * config/sh/sh.h: Likewise.
12438 * config/sparc/sparc.c: Likewise.
12439 * config/sparc/sparc.h: Likewise.
12440 * config/sparc/sparc.md: Likewise.
12441 * config/stormy16/stormy16.c: Likewise.
12442 * config/stormy16/stormy16.h: Likewise.
12443 * config/v850/v850.c: Likewise.
12444 * config/v850/v850.h: Likewise.
12445 * config/vax/vax.c: Likewise.
12446 * config/vax/vax.h: Likewise.
12447
00a892b8
NC
124482002-09-18 Nick Clifton <nickc@redhat.com>
12449
12450 * config/rs60000/rs6000.c (rs6000_emit_move): Handle V1DImode moves.
12451 * config/rs60000/rs6000.c (SPE_VECTOR_MODE): Include V1DImode.
12452 * config/rs6000/spe.md (movv1di, movv1di_internal): New patterns.
12453
4977bab6
ZW
124542002-09-17 Kazu Hirata <kazu@cs.umass.edu>
12455
12456 * function.c (max_parm_reg_num): Remove.
12457 * stmt.c (in_control_zone_p, stmt_loop_nest_empty,
12458 drop_through_at_end_p, move_cleanups_up,
12459 expand_end_case_dummy, case_index_expr_type): Likewise.
12460 * stor-layout.c (pos_from_byte): Likewise.
12461 * tree.c (chain_member_value, chain_member_purpose, listify,
12462 tree_int_cst_msb, index_type_equal): Likewise.
12463 * tree.h: Remove prototypes for unused functions.
12464
bfb53001
ZW
124652002-09-17 Zack Weinberg <zack@codesourcery.com>
12466
12467 * ABOUT-GCC-NLS: Remove reference to enquire, and out-of-date
12468 statement that the only translation is to en_UK.
12469
825dda42
KH
124702002-09-17 Kazu Hirata <kazu@cs.umass.edu>
12471
12472 * config/alpha/alpha.c: Follow spelling conventions.
12473 * config/alpha/alpha.h: Likewise.
12474 * config/alpha/alpha.md: Likewise.
12475 * config/arc/arc.h: Likewise.
12476 * config/arm/arm.c: Likewise.
12477 * config/arm/arm.h: Likewise.
12478 * config/arm/arm.md: Likewise.
12479 * config/arm/pe.c: Likewise.
12480 * config/arm/unknown-elf.h: Likewise.
12481 * config/avr/avr.c: Likewise.
12482 * config/avr/avr.h: Likewise.
12483 * config/c4x/c4x.c: Likewise.
12484 * config/cris/cris.c: Likewise.
12485 * config/cris/cris.h: Likewise.
12486
8e16ab99 124872002-09-17 Samuel Figueroa <figueroa@apple.com>
825dda42 12488
8e16ab99
SF
12489 * final.c (final_scan_insn): Use new macro ASM_OUTPUT_ALIGN_WITH_NOP.
12490 * config/sparc/sparc.h (ASM_OUTPUT_ALIGN_WITH_NOP) New macro.
12491 * doc/tm.texi (ASM_OUTPUT_ALIGN_WITH_NOP) New description.
12492
ac19be7e 124932002-09-17 Dale Johannesen <dalej@apple.com>
825dda42 12494
ac19be7e
DJ
12495 * cfgcleanup.c (try_forward_edges): Do not forward a
12496 branch to just after a loop exit before loop optimization;
12497 this interfered with doloop detection.
12498
f1acdf8b
NC
124992002-09-17 Nick Clifton <nickc@redhat.com>
12500
12501 * config/arm/arm.c (output_return_instruction): Do not
12502 writeback the stack pointer when it is being loaded.
12503 (arm_output_epilogue): Likewise.
12504
24491a09
KH
125052002-09-17 Kazu Hirata <kazu@cs.umass.edu>
12506
12507 * optabs.c (prepare_cmp_insn): Let emit_library_call_value
12508 generate a pseudo reg that receives the result of a libcall.
12509 (prepare_float_lib_cmp): Likewise.
12510
e6c247e0
SE
125112002-09-17 Steve Ellcey <sje@cup.hp.com>
12512
b4f94ac1 12513 * config/ia64/elf.h: Remove CPP_PREDEFINES.
e6c247e0 12514
1074d9d4
NP
12515Tue Sep 17 13:58:04 2002 Nicola Pero <n.pero@mi.flashnet.it>
12516
12517 Fix PR/7014 and related objc bugs:
12518 * c-typeck.c (comp_target_types): Added a reflexive argument.
12519 Pass it to ObjC when/if calling objc_comptypes(). Updated all
12520 callers to provide the appropriate reflexive argument.
12521 * objc/objc-act.c (objc_comptypes): Carefully checked and fixed
12522 typechecking for all cases of comparisons and assignments,
12523 particularly the obscure and less common ones involving protocols.
12524
256e9fd2
NC
125252002-09-17 Nick Clifton <nickc@redhat.com>
12526
12527 * machmode.def (V1DImode): New mode. A single element vector.
12528 * tree.h (TI_UV1DI_TYPE, TI_V1DI_TYPE): New tree_index enums.
12529 (unsigned_V1DI_type_node, V1D1_type_node): New type nodes.
12530 * tree.c (build_common_tree_nodes_2): Build
12531 unsigned_V1DI_type_node and V1D1_type_node.
12532 * c-common.c (c_common_type_for_mode): Return
12533 unsigned_V1DI_type_node or V1D1_type_node for V1DImode.
12534 * rtl.c (class_narrowest_): Start integer vector nodes with V1DImode.
12535
838c4534
NP
12536Tue Sep 17 13:40:13 2002 Nicola Pero <n.pero@mi.flashnet.it>
12537
12538 * doc/objc.texi (Constant string objects): Extended documentation
12539 to make clear that the constant string class ivar layout is
12540 completely fixed.
b4f94ac1 12541
07532fad
RS
125422002-09-17 Roger Sayle <roger@eyesopen.com>
12543
12544 * cfgrtl.c (flow_delete_block_noexpunge): Delete orphaned
12545 NOTE_INSN_LOOP_CONT notes when deleting basic blocks.
12546
4977bab6
ZW
125472002-09-16 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
12548
12549 * config/mips/mips.c (save_restore_insns): Remove unused variable.
12550 * gcc.c (make_relative_prefix): Likewise.
12551 * loop.c (check_final_value): Likewise.
12552 * jump.c (init_label_info): Remove return value.
12553 * cse.c (prev_insn): Move variable between #ifdef HAVE_cc0 ... #endif.
12554
125552002-09-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12556
12557 * dsp16xx.h (ASM_FORMAT_PRIVATE_NAME): Delete.
12558 (ASM_PN_FORMAT): Define.
12559
125602002-09-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12561
12562 * alpha.h, alpha/vms.h, arc.h, arm/aof.h, arm/aout.h, avr.h,
12563 c4x.h, cris.h, d30v.h, fr30.h, frv.h, h8300.h, i370.h, i386.h,
12564 i960.h, ia64.h, ip2k.h, m32r.h, m68hc11.h, m68k/3b1.h,
12565 m68k/hp320.h, m68k.h, m68k/mot3300.h, m68k/sgs.h, m68k/tower-as.h,
12566 m88k.h, mcore.h, mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h,
12567 pa.h, pdp11.h, romp.h, rs6000.h, s390/linux.h, sh.h, sparc.h,
12568 stormy16.h, v850.h, vax.h, xtensa.h (ASM_FORMAT_PRIVATE_NAME):
12569 Delete.
12570 * alpha/vms.h, h8300.h, i370.h, ia64.h, m68k/3b1.h, m68k/hp320.h,
12571 m68k/mot3300.h, m68k/sgs.h, m68k/tower-as.h, mmix.h, mn10200.h,
12572 mn10300.h, pa.h, v850.h (ASM_PN_FORMAT): Define.
12573
12574 * defaults.h (ASM_PN_FORMAT, ASM_FORMAT_PRIVATE_NAME): Define.
12575 * doc/tm.texi (ASM_FORMAT_PRIVATE_NAME): Update documentation.
12576
cb38fd88
RH
125772002-09-16 Richard Henderson <rth@redhat.com>
12578
12579 * expr.c (emit_block_move): Set memory block size as appropriate
12580 for the copy.
12581
bd055118
RH
125822002-09-16 Richard Henderson <rth@redhat.com>
12583
12584 PR fortran/3924
b4f94ac1 12585 * sdbout.c (sdbout_symbol): Don't handle offsets from a symbol.
bd055118 12586
8c317c5f
RH
125872002-09-16 Richard Henderson <rth@redhat.com>
12588
12589 * emit-rtl.c (set_mem_attributes_minus_bitpos): Adjust SIZE
12590 as well as OFFSET for BITPOS.
12591
3780101d
JG
125922002-09-16 Jeff Garzik <jgarzik@mandrakesoft.com>
12593
b4f94ac1
ZW
12594 * config.gcc: Treat winchip_c6-*|winchip2-*|c3-* as pentium-mmx.
12595 * config/i386/i386.c (processor_alias_table): Add winchip-c6,
3780101d 12596 winchip2 and c3.
b4f94ac1 12597 * doc/invoke.texi: Mention new aliases.
3780101d 12598
9dff28ab
JDA
125992002-09-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
12600
12601 * calls.c (store_one_arg): Set default alignment for BLKmode arguments
12602 to BITS_PER_UNIT when ARGS_GROW_DOWNWARD and the padding direction is
12603 downward.
12604 * function.c (pad_below): Always compile.
12605 (locate_and_pad_parm): If defined ARGS_GROW_DOWNWARD, pad argument to
12606 alignment when it is not in a register or REG_PARM_STACK_SPACE is true.
12607 Pad below when the argument is not in a register and the padding
12608 direction is downward.
12609
12610 * pa-64.h (MUST_PASS_IN_STACK): Move define to pa.h.
12611 (PAD_VARARGS_DOWN): Define.
12612 * pa.c (function_arg_padding): Revise padding directions to make them
12613 compatible with the 32 and 64-bit runtime architecture documentation.
12614 (hppa_va_arg): Add code to handle variable and size zero arguments
12615 passed by reference on TARGET_64BIT. Reformat.
12616 (function_arg): Use a PARALLEL for BLKmode and aggregates args on
12617 TARGET_64BIT. Use a DImode PARALLEL for BLKmode args 5 to 8 bytes
12618 wide when !TARGET_64BIT. Move forward check for mode==VOIDmode.
12619 Add comments.
12620 * pa.h (MAX_PARM_BOUNDARY): Correct define for TARGET_64BIT.
12621 (RETURN_IN_MEMORY): Return size zero types in memory.
12622 (FUNCTION_VALUE): Return TFmode in general registers.
12623 (MUST_PASS_IN_STACK): Define.
12624 (FUNCTION_ARG_BOUNDARY): Simplify.
12625 (FUNCTION_ARG_PASS_BY_REFERENCE): Pass variable and zero sized types
12626 by reference.
12627 (FUNCTION_ARG_CALLEE_COPIES): Define to FUNCTION_ARG_PASS_BY_REFERENCE.
12628
94313f35
RH
126292002-09-16 Richard Henderson <rth@redhat.com>
12630
12631 * real.c (do_fix_trunc): New.
12632 (real_arithmetic): Call it.
12633 * simplify-rtx.c (simplify_unary_operation): Handle FIX
12634 with a floating-point result mode.
12635
1472e41c
RH
126362002-09-16 Richard Henderson <rth@redhat.com>
12637
12638 * builtin-types.def (BT_FN_FLOAT_CONST_STRING): New.
12639 (BT_FN_DOUBLE_CONST_STRING, BT_FN_LONG_DOUBLE_CONST_STRING): New.
12640 * builtins.def (__builtin_nan, __builtin_nanf, __builtin_nanl): New.
12641 (__builtin_nans, __builtin_nansf, __builtin_nansl): New.
12642 * builtins.c (fold_builtin_nan): New.
12643 (fold_builtin): Call it.
12644 * real.c (real_nan): Parse a non-empty string.
12645 (round_for_format): Fix NaN significand truncation.
12646 * real.h (real_nan): Return bool.
12647 * doc/extend.texi: Document new builtins.
12648
f354b828
JM
126492002-09-16 Jason Merrill <jason@redhat.com>
12650 Danny Smith <dannysmith@users.sourceforge.net>
12651
12652 * config/i386/winnt.c (ix86_handle_dll_attribute): Set
12653 DECL_EXTERN and TREE_PUBLIC for dllimported variables here...
12654 (i386_pe_mark_dllimport): Not here.
12655
85341ddd
NS
126562002-09-16 Nathan Sidwell <nathan@codesourcery.com>
12657
12658 * c-semantics.c (genrtl_do_stmt): Cope with NULL cond.
12659
045572c7
GK
126602002-09-16 Geoffrey Keating <geoffk@redhat.com>
12661
12662 * config/rs6000/rs6000.c (build_mask64_2_operands): Suppress
12663 warnings about unused operands when HOST_BITS_PER_WIDE_INT is
12664 < 64.
12665 (rs6000_emit_cmove): Use real_isinf not target_isinf.
12666
d57551c7
KH
126672002-09-16 Kazu Hirata <kazu@cs.umass.edu>
12668
12669 * calls.c (emit_library_call_value_1): Don't refer to
12670 hard_libcall_value.
12671 * optabs.c (prepare_float_lib_cmp): Likewise.
12672
36a5eadd
GK
126732002-09-16 Geoffrey Keating <geoffk@apple.com>
12674
12675 * ggc-common.c (ggc_mark_rtx_children_1): Update for changed name
12676 mangling.
12677
12678 The following changes are merged from pch-branch:
12679
12680 * doc/gty.texi (GTY Options): Document %a.
12681 * gengtype.c (do_scalar_typedef): New function.
12682 (process_gc_options): Handle `length' option.
12683 (set_gc_used_type): A pointer to an array of structures doesn't
12684 qualify as a pointer to a structure.
12685 (output_escaped_param): Add `%a' escape.
12686 (write_gc_structure_fields): Allow 'desc' on array of unions.
12687 (main): Define `uint8', `jword' and `JCF_u2' as scalars; use
12688 do_scalar_typedef.
12689
12690 * gengtype.c (enum rtx_code): Make global.
12691 (rtx_format): Make global.
12692 (rtx_next): New.
12693 (gen_rtx_next): New.
12694 (write_rtx_next): New.
12695 (adjust_field_rtx_def): Skip fields marked by chain_next.
12696 (open_base_files): Delete redundant prototype.
12697 (write_enum_defn): New.
12698 (output_mangled_typename): Correct abort call.
12699 (write_gc_marker_routine_for_structure): Handle chain_next and
12700 chain_prev options.
12701 (finish_root_table): Don't output redundant \n.
12702 (main): Call gen_rtx_next, write_rtx_next, write_enum_defn.
12703 * c-tree.h (union lang_tree_node): Add chain_next option.
12704
12705 * gengtype.h (NUM_PARAM): New definition.
12706 (struct type): For TYPE_PARAM_STRUCT, allow multiple parameters.
12707 * gengtype.c (find_param_structure): New.
12708 (adjust_field_type): Handle param<n>_is option.
12709 (process_gc_options): Detect use_params option. Update callers.
12710 (set_gc_used_type): Add 'param' parameter, update callers. Handle
12711 'use_params' option.
12712 (open_base_files): Add splay-tree.h to list of files included.
12713 (output_mangled_typename): New.
12714 (write_gc_structure_fields): Update 'param' parameter to support
12715 multiple parameters. Change name mangling. Allow parameterized
12716 fields to have an apparent scalar type. Handle param<n>_is options,
12717 use_param option.
12718 (write_gc_marker_routine_for_structure): Update for change to name
12719 mangling. Better guess the output file for parameterized types.
12720 (write_gc_types): Update for change to name mangling.
12721 (write_gc_root): Update for change to name mangling. Handle (ignore)
12722 param<n>_is options.
12723 * doc/gty.texi (GTY Options): Add description of param<n>_is
12724 options, use_params option.
12725 * ggc.h (ggc_mark_rtx): Update for changed name mangling.
12726 * gengtype-lex.l: Produce token for param<n>_is.
12727 * gengtype-yacc.y: Parse param<n>_is.
12728
12729 * gengtype.c (adjust_field_tree_exp): Don't name a variable 'rindex'.
12730
12731 * rtl.c: Update comment describing rtx_format.
12732 * rtl.h (union rtunion): Separate definition and typedef.
12733 (struct rtx_def): Use gengtype to mark.
12734 * Makefile.in (gengtype.o): Also depend on rtl.def.
12735 * ggc.h (ggc_mark_rtx_children): Delete prototype.
12736 (ggc_mark_rtx): Change to alias of gengtype-generated routine.
12737 * ggc-common.c (ggc_mark_rtx_children): Delete.
12738 (ggc_mark_rtx_children_1): Delete.
12739 (gt_ggc_m_rtx_def): Delete.
12740 * gengtype.c (adjust_field_rtx_def): New.
12741 (adjust_field_type): Call adjust_field_rtx_def.
12742 (write_gc_structure_fields): Add 'default' case to switch if none
12743 is specified; remove unused code.
12744
12745 * tree.h (struct tree_exp): Update for change to meaning
12746 of special.
12747 * gengtype.c (adjust_field_tree_exp): New function.
12748 (adjust_field_type): Handle `tree_exp' special here.
12749 (write_gc_structure_fields): Don't handle `tree_exp' special here.
12750 Handle new `dot' option.
12751
12752 * gengtype.h: Make `info' a pointer-to-const.
12753 * gengtype-yacc.y (yacc_ids): Use xasprintf.
12754
12755 * gengtype.c (write_gc_structure_fields): Remove implementation
12756 of `always' option, add `default' option.
12757 * doc/gty.texi (GTY Options): Remove documentation of `always',
12758 add `default'.
12759
a7f6d760
HPN
127602002-09-16 Hans-Peter Nilsson <hp@bitrange.com>
12761
12762 * output.h: Remove #ifdef RTX_CODE and #ifdef TREE_CODE.
12763
245ff137
KG
127642002-09-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12765
7c3414b6
KG
12766 * m68hc11.md (addhi_sp): Fix uninitialized variable bug.
12767
245ff137
KG
12768 * c4x-c.c, c4x.c, darwin.c, i370-c.c, m32r.c: Include tm_p.h
12769 instead of the *-protos.h file directly.
12770 * t-c4x, t-i370, t-v850: Depend on $(TM_P_H).
12771 * darwin.c (machopic_output_stub): Move prototype ...
12772 * darwin-protos.h (machopic_output_stub): ... here.
12773 * rs6000-protos.h (machopic_output_stub): Don't declare.
12774
ac520ec9
RH
127752002-09-16 Richard Henderson <rth@redhat.com>
12776
12777 * c-common.c (builtin_define_float_constants): Emit __FOO_DENORM_MIN__.
12778
efdc7e19
RH
127792002-09-16 Richard Henderson <rth@redhat.com>
12780
12781 * real.c, real.h: Rewrite from scratch.
12782
12783 * Makefile.in (simplify-rtx.o): Depend on TREE_H.
12784 (paranoia): New target.
12785 * builtins.c (fold_builtin_inf): Use new real.h interface.
12786 * c-common.c (builtin_define_with_hex_fp_value): Likewise.
12787 * c-lex.c (interpret_float): Likewise.
12788 * emit-rtl.c (gen_lowpart_common): Likewise.
12789 * optabs.c (expand_float): Use real_2expN.
12790 * config/ia64/ia64.md (divsi3, udivsi3): Likewise.
12791 * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): New.
12792 (FLOAT_WORDS_BIG_ENDIAN): New.
12793 * cse.c (find_comparison_args): Don't pass FLOAT_STORE_FLAG_VALUE
12794 directly to REAL_VALUE_NEGATIVE.
12795 * loop.c (canonicalize_condition): Likewise.
12796 * simplify-rtx.c: Include tree.h.
12797 (simplify_unary_operation): Don't handle FIX and UNSIGNED_FIX
12798 with floating-point result modes.
12799 * toplev.c (backend_init): Call init_real_once.
12800
12801 * fold-const.c (force_fit_type): Don't call CHECK_FLOAT_VALUE.
12802 * tree.c (build_real): Likewise.
12803 * config/alpha/alpha.c, config/vax/vax.c (float_strings,
12804 float_values, inited_float_values, check_float_value): Remove.
12805 * config/alpha/alpha.h, config/m68hc11/m68hc11.h,
12806 config/m88k/m88k.h, config/vax/vax.h (CHECK_FLOAT_VALUE): Remove.
12807 * doc/tm.texi (CHECK_FLOAT_VALUE): Remove.
12808 (VAX_HALFWORD_ORDER): Remove.
12809
a41c6c53
UW
128102002-09-16 Ulrich Weigand <uweigand@de.ibm.com>
12811
12812 * config/s390/s390.c: (legitimize_la_operand): Remove, replace by ...
12813 (s390_load_address): ... this new function.
12814 (s390_decompose_address): Allow the argument pointer and all
12815 virtual registers as 'pointer' registers.
12816 (s390_expand_plus_operand): Use s390_load_address.
12817 config/s390/s390.md (movti, movdi, movdf splitters): Likewise.
12818 ("force_la_31"): New insn pattern.
12819 config/s390/s390-protos.h (legitimize_la_operand): Remove.
12820 (s390_load_address): Add prototype.
12821
12822 * config/s390/s390.c: Include "optabs.h".
12823 (s390_expand_movstr, s390_expand_clrstr, s390_expand_cmpstr): New.
b4f94ac1 12824 config/s390/s390-protos.h (s390_expand_movstr, s390_expand_clrstr,
a41c6c53
UW
12825 s390_expand_cmpstr): Add prototypes.
12826 config/s390/s390.md ("movstrdi", "movstrsi"): Call s390_expand_movstr.
12827 ("movstrdi_short"): Rename to "movstr_short_64". Change predicates
12828 for operands 0 and 1 to "memory_operand". Add type attribute.
12829 ("movstrsi_short"): Rename to "movstr_short_31". Change predicates
12830 for operands 0 and 1 to "memory_operand". Add type attribute.
12831 ("movstrdi_long", "movstrsi_long"): Remove.
12832 ("movstrdi_64"): Rename to "movstr_long_64". Add type attribute.
12833 ("movstrsi_31"): Rename to "movstr_long_31". Add type attribute.
12834 ("clrstrdi", "clrstrsi"): Call s390_expand_clrstr.
12835 ("clrstrsico"): Remove, replace by ...
12836 ("clrstr_short_64", "clrstr_short_31"): ... these new patterns.
12837 ("clrstrsi_64"): Rename to "clrstr_long_64".
12838 ("clrstrsi_31"): Rename to "clrstr_long_31".
12839 ("cmpstrdi", "cmpstrsi"): Call s390_expand_cmpstr.
12840 ("cmpstr_const"): Remove, replace by ...
12841 ("cmpstr_short_64", "cmpstr_short_31"): ... these new patterns.
12842 ("cmpstr_64"): Rename to "cmpstr_long_64".
12843 ("cmpstr_31"): Rename to "cmpstr_long_31".
12844
8d9afc4e
KH
128452002-09-16 Kazu Hirata <kazu@cs.umass.edu>
12846
12847 * ABOUT-NLS: Follow spelling conventions.
12848 * ChangeLog: Likewise.
12849 * ChangeLog.1: Likewise.
12850 * ChangeLog.2: Likewise.
12851 * ChangeLog.3: Likewise.
12852 * ChangeLog.4: Likewise.
12853 * ChangeLog.5: Likewise.
12854 * ChangeLog.6: Likewise.
12855 * FSFChangeLog.10: Likewise.
12856 * FSFChangeLog.11: Likewise.
12857 * c-common.c: Likewise.
12858 * c-lex.c: Likewise.
12859 * c-objc-common.c: Likewise.
12860 * cppexp.c: Likewise.
12861 * cppinit.c: Likewise.
12862 * cpplex.c: Likewise.
12863 * doloop.c: Likewise.
12864 * flow.c: Likewise.
12865 * function.c: Likewise.
12866 * integrate.c: Likewise.
12867 * loop.c: Likewise.
12868 * reg-stack.c: Likewise.
12869 * reload.h: Likewise.
12870 * ssa.c: Likewise.
12871
4977bab6
ZW
128722002-09-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12873
12874 * Makefile.in (vmsdbgout.o): Depend on $(TARGET_H)
12875 * vmsdbgout.c: Include "target.h".
12876
981f6289
KH
128772002-09-15 Kazu Hirata <kazu@cs.umass.edu>
12878
12879 * ChangeLog: Follow spelling conventions.
12880 * ChangeLog.0: Likewise.
12881 * ChangeLog.1: Likewise.
12882 * ChangeLog.2: Likewise.
12883 * ChangeLog.4: Likewise.
12884 * ChangeLog.6: Likewise.
12885 * config.gcc: Likewise.
12886 * dwarfout.c: Likewise.
12887 * reload1.c: Likewise.
12888 * simplify-rtx.c: Likewise.
12889 * unwind-sjlj.c: Likewise.
12890 * config/avr/avr.h: Likewise.
12891 * config/d30v/d30v.h: Likewise.
12892 * config/frv/frv.c: Likewise.
12893 * config/frv/frv.h: Likewise.
12894 * config/ip2k/ip2k.h: Likewise.
12895 * config/m88k/m88k-move.sh: Likewise.
12896 * config/stormy16/stormy16.c: Likewise.
12897 * config/stormy16/stormy16.h: Likewise.
12898 * doc/extend.texi: Likewise.
12899 * doc/interface.texi: Likewise.
12900 * doc/invoke.texi: Likewise.
12901 * doc/md.texi: Likewise.
12902 * doc/rtl.texi: Likewise.
12903 * doc/tm.texi: Likewise.
12904 * doc/trouble.texi: Likewise.
12905 * ginclude/float.h: Likewise.
12906 * treelang/treelang.texi: Likewise.
12907
8764eef7
KG
129082002-09-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12909
bb6155b5
KG
12910 * i386-protos.h (i386_pe_dllexport_name_p,
12911 i386_pe_dllimport_name_p, i386_pe_unique_section,
12912 i386_pe_declare_function_type, i386_pe_record_external_function,
12913 i386_pe_record_exported_symbol, i386_pe_asm_file_end): Add
12914 prototype.
12915 * i386/t-cygwin (winnt.o): Depend on $(TM_P_H).
12916 * i386/t-interix (winnt.o): Likewise.
12917
8764eef7
KG
12918 * v850-protos.h (v850_output_addr_const_extra): Prototype.
12919
a24f7c1a
JT
129202002-09-15 Jason Thorpe <thorpej@wasabisystems.com>
12921
12922 * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Add
12923 MIPS ABI CPP macros.
12924 (TARGET_CPU_CPP_BUILTINS): Redefine.
12925 (SUBTARGET_EXTRA_SPECS): Remove subtarget_endian_default.
12926 (SUBTARGET_ENDIAN_DEFAULT_SPEC): Remove.
12927
bd25febf
KG
129282002-09-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12929
12930 * ia64/aix.h (TARGET_OS_CPP_BUILTINS): Fix typo.
12931
05713b80
KH
129322002-09-15 Kazu Hirata <kazu@cs.umass.edu>
12933
12934 * ChangeLog: Follow spelling conventions.
12935 * ChangeLog.0: Likewise.
12936 * ChangeLog.1: Likewise.
12937 * ChangeLog.2: Likewise.
12938 * ChangeLog.3: Likewise.
12939 * ChangeLog.4: Likewise.
12940 * ChangeLog.5: Likewise.
12941 * ChangeLog.6: Likewise.
12942 * FSFChangeLog.10: Likewise.
12943 * FSFChangeLog.11: Likewise.
12944 * c-common.c: Likewise.
12945 * c-common.h: Likewise.
12946 * c-format.c: Likewise.
12947 * c-opts.c: Likewise.
12948 * cpplib.c: Likewise.
12949 * langhooks.h: Likewise.
12950 * real.c: Likewise.
12951 * reg-stack.c: Likewise.
12952 * toplev.c: Likewise.
12953 * config/arm/arm.c: Likewise.
12954 * config/arm/arm.md: Likewise.
12955 * config/arm/linux-gas.h: Likewise.
12956 * config/arm/netbsd.h: Likewise.
12957 * config/c4x/c4x.c: Likewise.
12958 * config/c4x/c4x.h: Likewise.
12959 * config/c4x/c4x.md: Likewise.
12960 * config/c4x/libgcc.S: Likewise.
12961 * config/fr30/fr30.md: Likewise.
12962 * config/frv/frv.md: Likewise.
12963 * config/ia64/ia64.md: Likewise.
12964 * config/mips/mips.h: Likewise.
12965 * config/mn10300/mn10300.c: Likewise.
12966 * config/stormy16/stormy16.c: Likewise.
12967 * config/v850/v850.md: Likewise.
12968 * doc/extend.texi: Likewise.
12969 * doc/invoke.texi: Likewise.
12970 * doc/md.texi: Likewise.
12971
b0c2b2f9
JT
129722002-09-15 Jason Thorpe <thorpej@wasabisystems.com>
12973
12974 * config/netbsd.h (LIB_SPEC): Include the appropriate pthread
12975 library if -pthread is specified.
12976
a0494c05
JT
129772002-09-15 Jason Thorpe <thorpej@wasabisystems.com>
12978
12979 * config.gcc (*-*-netbsd*): Set thread_file to 'posix'
12980 for --enable-threads=yes and --enable-threads=posix.
12981
56149abc
KH
129822002-09-15 Kazu Hirata <kazu@cs.umass.edu>
12983
12984 * config/sparc/cypress.md: Replace Sparc with SPARC.
12985 * config/sparc/freebsd.h: Likewise.
12986 * config/sparc/gmon-sol2.c: Likewise.
12987 * config/sparc/hypersparc.md: Likewise.
12988 * config/sparc/lb1spc.asm: Likewise.
12989 * config/sparc/lb1spl.asm: Likewise.
12990 * config/sparc/linux.h: Likewise.
12991 * config/sparc/linux64.h: Likewise.
12992 * config/sparc/lynx.h: Likewise.
12993 * config/sparc/sol2.h: Likewise.
12994 * config/sparc/sparc-modes.def: Likewise.
12995 * config/sparc/sparc.c: Likewise.
12996 * config/sparc/sparc.h: Likewise.
12997 * config/sparc/sparc.md: Likewise.
12998 * config/sparc/sparclet.md: Likewise.
12999 * config/sparc/supersparc.md: Likewise.
13000 * config/sparc/sysv4.h: Likewise.
13001 * config/sparc/vxsim.h: Likewise.
13002 * config/sparc/vxsparc64.h: Likewise.
13003
4977bab6
ZW
130042002-09-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13005
13006 * c-lex.c (cb_ident): Mark variable with ATTRIBUTE_UNUSED.
13007 * collect2.c (ignore_library, aix_std_libs): Move into the context
13008 where it is used.
13009 * m68hc11.c (m68hc11_autoinc_compatible_p): Delete prototype.
13010 (autoinc_mode, m68hc11_make_autoinc_notes): Add prototypes.
13011 * m88k.c (output_call): Wrap variables with macro controlling use.
13012 * rs6000.md: Likewise. Const-ify variable.
13013 * sh.h (ASM_OUTPUT_LABELREF): Likewise.
13014 * final.c (only_leaf_regs_used): Likewise.
13015 * regrename.c (maybe_mode_change): Mark parameter with
13016 ATTRIBUTE_UNUSED.
13017 * reload.c (find_valid_class): Likewise. Likewise for variable.
13018 (find_reloads_address_1): Likewise.
13019 * varasm.c (weak_finish): Wrap variable with macro controlling use.
13020
3eaf7a3c
MM
130212002-09-14 Marek Michalkiewicz <marekm@amelek.gda.pl>
13022
13023 * config/avr/avr.c (output.h): Move after inclusion of tree.h.
13024
4912a07c
KH
130252002-09-14 Kazu Hirata <kazu@cs.umass.edu>
13026
13027 * ChangeLog: Follow spelling conventions.
13028 * ChangeLog.0: Likewise.
13029 * ChangeLog.2: Likewise.
13030 * ChangeLog.3: Likewise.
13031 * ChangeLog.4: Likewise.
13032 * ChangeLog.5: Likewise.
13033 * ChangeLog.6: Likewise.
13034 * cppfiles.c: Likewise.
13035 * cppinit.c: Likewise.
13036 * cpplib.h: Likewise.
13037 * cse.c: Likewise.
13038 * debug.h: Likewise.
13039 * df.c: Likewise.
13040 * dominance.c: Likewise.
13041 * hashtable.c: Likewise.
13042 * hashtable.h: Likewise.
13043 * loop.c: Likewise.
13044 * config/arm/README-interworking: Likewise.
13045 * config/arm/arm.c: Likewise.
13046 * config/arm/arm.h: Likewise.
13047 * config/arm/arm.md: Likewise.
13048 * config/dsp16xx/dsp16xx.h: Likewise.
13049 * config/frv/frv.c: Likewise.
13050 * config/frv/frv.h: Likewise.
13051 * config/ip2k/ip2k.h: Likewise.
13052 * config/rs6000/rs6000.c: Likewise.
13053 * config/stormy16/stormy-abi: Likewise.
13054 * config/stormy16/stormy16.h: Likewise.
13055 * config/v850/v850.c: Likewise.
13056
3dc60fc7
KH
130572002-09-14 Kazu Hirata <kazu@cs.umass.edu>
13058
13059 * loop.c: Fix a comment typo.
13060
a920aefe
KH
130612002-09-14 Kazu Hirata <kazu@cs.umass.edu>
13062
13063 * config/fr30/fr30.h: Fix comment typos.
13064 * config/frv/frv.c: Likewise.
13065 * config/i386/xmmintrin.h: Likewise.
13066 * config/mips/mips.c: Likewise.
13067 * config/sh/sh.c: Likewise.
13068
88cad84b
KH
130692002-09-14 Kazu Hirata <kazu@cs.umass.edu>
13070
13071 * haifa-sched.c: Follow spelling conventions.
13072 * regclass.c: Likewise.
13073 * regrename.c: Likewise.
13074 * config/fp-bit.c: Likewise.
13075 * config/frv/frv.h: Likewise.
13076 * config/m88k/m88k.c: Likewise.
13077 * config/mcore/mcore.c: Likewise.
13078 * config/rs6000/darwin.h: Likewise.
13079 * config/rs6000/gnu.h: Likewise.
13080 * config/rs6000/linux.h: Likewise.
13081 * config/rs6000/linux64.h: Likewise.
13082 * config/rs6000/rs6000.c: Likewise.
13083 * config/rs6000/rs6000.h: Likewise.
13084 * config/sh/sh.c: Likewise.
13085 * config/sparc/sparc.c: Likewise.
13086 * config/sparc/ultra1_2.md: Likewise.
13087
f197f1cf
SC
130882002-09-14 Stephane Carrez <stcarrez@nerim.fr>
13089
13090 * config/m68hc11/m68hc11.md ("movdi_internal"): Allow any offsetable
13091 memory operand when source is 0 (K constraint).
13092 ("movsi_internal"): Likewise.
13093 ("movdf_internal"): Likewise.
13094 ("movsf_internal"): Likewise.
13095
b629ba0c
AM
130962002-09-14 Alan Modra <amodra@bigpond.net.au>
13097
13098 * config/rs6000/rs6000.c (rs6000_elf_encode_section_info): Use
13099 targetm.binds_local_p to set SYMBOL_REF_FLAG.
13100 (rs6000_xcoff_encode_section_info): Likewise.
13101 * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
13102
2e485129
TR
131032002-09-10 Theodore A. Roth <troth@verinet.com>
13104
13105 * gcc/config/avr/avr.h: Set default options for C++ for avr.
13106
4977bab6
ZW
131072002-09-13 Roger Sayle <roger@eyesopen.com>
13108
13109 * stmt.c (struct nexting): Remove unused alt_end_label field.
13110 (expand_start_loop): Delete initialization of alt_end_label.
13111 (expand_start_null_loop): Likewise.
13112 (expand_exit_loop_if_false): Delete updating of alt_end_label.
13113
907aee69
RH
131142002-09-13 Richard Henderson <rth@redhat.com>
13115
13116 * Makefile.in (toplev.o): Depend on real.h.
13117 (print-rtl.o, varasm.o, ifcvt.o): Likewise.
13118
374b0b7d
AM
131192002-09-14 Alan Modra <amodra@bigpond.net.au>
13120
13121 * doc/tm.texi (DBX_OUTPUT_NFUN): Describe.
13122 * dbxout.c (dbxout_function_end): Use DBX_OUTPUT_NFUN.
13123 * config/rs6000/linux64.h (DBX_OUTPUT_NFUN): Define.
13124
690eed2c
NS
131252002-09-13 Nathan Sidwell <nathan@codesourcery.com>
13126
13127 * ggc-common.c (ggc_mark_roots): Don't iterate NULL hash tables.
13128
32b4f6f4
SE
131292002-09-13 Steve Ellcey <sje@cup.hp.com>
13130
13131 * config.gcc (ia64*-*-aix*, ia64*-*-elf*, ia64*-*-freebsd*,
13132 ia64*-*-linux*): Set extra_parts.
13133 * config/ia64/t-aix (EXTRA_PARTS): Remove.
13134 * config/ia64/t-ia64 (EXTRA_PARTS): Remove.
13135
3db11b5c
KH
131362002-09-13 Kazu Hirata <kazu@cs.umass.edu>
13137
13138 * config/h8300/fixunssfsi.c: Replace H8/S with H8S.
13139 * config/h8300/h8300.c: Likewise.
13140 * config/h8300/h8300.h: Likewise.
13141 * config/h8300/h8300.md: Likewise.
13142 * doc/invoke.texi: Likewise.
13143
b6894857
KH
131442002-09-13 Kazu Hirata <kazu@cs.umass.edu>
13145
13146 * config/h8300/h8300.c (h8300_init_once): Fix formatting.
13147
d5909a79
RH
131482002-09-13 Richard Henderson <rth@redhat.com>
13149
13150 * config/alpha/alpha.md (attr type): Add callpal.
13151 (imb, trap, load_tp, set_tp): Use it.
13152 * config/alpha/ev4.md (ev4_callpal): New.
13153 * config/alpha/ev5.md (ev5_callpal): New.
13154 * config/alpha/ev6.md (ev6_ibr): Handle callpal.
13155 * config/alpha/alpha.c (alphaev4_insn_pipe): Handle TYPE_CALLPAL.
13156 (alphaev5_insn_pipe): Likewise.
13157
e0073fa8
AJ
131582002-09-13 Andreas Jaeger <aj@suse.de>
13159
13160 * Makefile.in (print-rtl.o): Depend on CONFIG_H.
13161
1f298625
SE
131622002-09-13 Steve Ellcey <sje@cup.hp.com>
13163
13164 * config/ia64/t-hpux (LIBGCC1_TEST, STMP_FIXPROTO,
13165 LIB2ADDEH): New, set to NULL.
13166 (SHLIB_EXT, SHLIB_LINK, SHLIB_INSTALL, SHLIB_MKMAP): New.
13167
1a7e1470
SE
131682002-09-13 Steve Ellcey <sje@cup.hp.com>
13169
13170 * config/ia64/quadlib.c (_U_Qfcmp): Make extern.
13171 (_U_Qfcnvfxt_quad_to_sgl): Remove declaration.
13172 (_U_Qfeq, _U_Qfne, _U_Qfgt, _U_Qfge, U_Qflt, U_Qfle, _U_Qfcomp):
13173 Add declarations.
13174 (_U_Qfneg): Remove.
13175
d56c04ce
DD
131762002-09-13 Dhananjay Deshpande <dhananjayd@kpit.com>
13177
13178 * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Add support
8d9afc4e
KH
13179 for H8/300, H8S aa:8 mode.
13180 (TINY_CONSTANT_ADDRESS_P): Add support for H8S aa:16 mode.
d56c04ce
DD
13181 * config/h8300/h8300.c (h8300_adjust_insn_length): Adjust length
13182 for H8/300 aa:8 mode.
13183
4456530d
HP
131842002-09-13 Hartmut Penner <hpenner@de.ibm.com>
13185
13186 * config/s390/s390.md ("trap", "conditional_trap", "*trap"): New
13187 insns.
13188
4d2d910c
RH
131892002-09-12 Richard Henderson <rth@redhat.com>
13190
13191 * Makefile.in (HOST_PRINT): Use print-rtl1.o
13192 (print-rtl.o): Don't define GENERATOR_FILE.
13193 (print-rtl1.o): Rename from $(BUILD_PREFIX_1)print-rtl.o.
13194 * print-rtl.c (print_rtx): Include CONST_DOUBLE fp decimal output
13195 unless GENERATOR_FILE.
13196
7606e68f
SS
131972002-09-12 Stan Shebs <shebs@apple.com>
13198
6ab9a3f4
SS
13199 * config/darwin.h (USER_LABEL_PREFIX): Define here...
13200 * config/i386/darwin.h: ... instead of here.
13201
7606e68f
SS
13202 * target.h (struct gcc_target): New field
13203 terminate_dw2_eh_frame_info.
13204 * target-def.h (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
13205 (TARGET_INITIALIZER): Add it.
13206 * dwarf2out.c (output_call_frame_info): Use target hook.
13207 * dwarf2asm.c (dw2_asm_output_delta): Use macro
13208 ASM_OUTPUT_DWARF_DELTA if defined.
13209 * doc/tm.texi (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Document.
13210 (ASM_OUTPUT_DWARF_DELTA): Ditto.
13211 (ASM_OUTPUT_DWARF_OFFSET): Ditto.
13212 (ASM_OUTPUT_DWARF_PCREL): Ditto.
13213 * config.gcc (i[34567]86-*-darwin*): Define extra_parts.
13214 (powerpc-*-darwin*): Ditto.
13215 * crtstuff.c [OBJECT_FORMAT_MACHO]: Update the Mach-O bits
13216 to work correctly for Darwin.
13217 * config/darwin.h (OBJECT_FORMAT_MACHO): Define.
13218 (STARTFILE_SPEC): Add crtbegin.o.
13219 (ENDFILE_SPEC): Define.
13220 (EXTRA_SECTION_FUNCTIONS): Put gcc_except_tab in data segment.
13221 (ASM_PREFERRED_EH_DATA_FORMAT): Handle more cases.
13222 (ASM_OUTPUT_DWARF_DELTA): Define.
13223 (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
13224 * config/darwin.c (darwin_asm_output_dwarf_delta): New function.
13225
20b71b17
AM
132262002-09-13 Alan Modra <amodra@bigpond.net.au>
13227
13228 * config/rs6000/rs6000.c (rs6000_emit_load_toc_table): Remove "if"
13229 nesting. Correct test for non-PowerPC64 ELF ABI_AIX.
13230 * config/rs6000/rs6000.md (load_toc_v4_PIC*): Disable when ABI_AIX.
13231
d48fd218
ZW
132322002-09-12 Zack Weinberg <zack@codesourcery.com>
13233
13234 * toplev.c: Move default definition of USER_LABEL_PREFIX...
13235 * defaults.h: ... here.
13236
92bc3c1a
RH
132372002-09-12 Richard Henderson <rth@redhat.com>
13238
13239 * vax.c: Include tree.h earlier.
13240
3f64e543
SS
132412002-09-12 Stan Shebs <shebs@apple.com>
13242
13243 * config/darwin.c (machopic_finish): Remove #if 0 chunks.
13244 (machopic_operand_p): Ditto.
13245
52bd31bb
KH
132462002-09-12 Kazu Hirata <kazu@cs.umass.edu>
13247
13248 * config/arm/arm.c (arm_compute_initial_elimination_offset):
13249 Fix a comment typo.
13250
387c9294
KH
132512002-09-12 Kazu Hirata <kazu@cs.umass.edu>
13252
13253 * toplev.c (do_abort): Fix a comment typo.
13254
e34bb004
KH
132552002-09-12 Kazu Hirata <kazu@cs.umass.edu>
13256
13257 * cselib.c: Fix comment formatting.
13258 * gengtype.c: Likewise.
13259
d0029ebd
KH
132602002-09-12 Kazu Hirata <kazu@cs.umass.edu>
13261
13262 * config/h8300/h8300.md (udivmodqi4): Do not use an expander.
13263 (udivmodhi4): Likewise.
13264
c3c637e3 132652002-09-12 Graham Stott <graham.stott@btinternet.com>
d48fd218 13266 Roger Sayle <roger@eyesopen.com>
c3c637e3
GS
13267
13268 * i386.c (any_fp_register_operand, fp_register_operand,
13269 register_and_not_any_fp_reg_operand, register_and_not_fp_reg_operand):
13270 New predicate functions.
13271 * i386-protos.h: Add their prototypes.
13272 * i386.h: Add them to PREDICATE_CODES.
13273 * i386.md ("*pushsf_rex64"+2, "*pushsf_rex64"+3, "*pushdf_integer"+1,
13274 "*pushdf_integer"+2, "*pushtf_integer"+1, "*pushtf_integer"+2,
13275 "*pushtf_integer"+3, "*pushtf_integer"+4, "*dummy_extendsfdf2"+1,
13276 "*dummy_extendsfdf2"+2, "*dummy_extendsfxf2"+1,
13277 "*dummy_extendsftf2"+1, "*dummy_extendsftf2"+2,
13278 "*dummy_extenddfxf2"+1, "*dummy_extenddftf2"+1,
13279 "*dummy_extenddftf2"+2, "*negsf2_if"+1, "*negsf2_if"+2,
13280 "*negdf2_if_rex64"+1, "*negdf2_if_rex64"+2, "*negxf2_if"+1,
13281 "*negxf2_if"+2, "*negtf2_if"+1, "*negtf2_if"+2, "*abssf2_if"+1,
13282 "*abssf2_if"+2, "*absdf2_if_rex64"+1, "*absdf2_if_rex64"+2,
13283 "*absxf2_if"+1, "*absxf2_if"+2, "*abstf2_if"+1, "*abstf2_if"+2):
13284 Use these new predicates to simplify and correct the use of
13285 FP_REG_P, ANY_FP_REG_P, FP_REGNO_P and any ANY_FP_REGNO_P.
13286
db4c55f6
JM
132872002-09-12 Jason Merrill <jason@redhat.com>
13288
236a2ac8
JM
13289 * diagnostic.c (output_add_identifier): New fn.
13290 * diagnostic.h: Declare it.
13291
db4c55f6
JM
13292 * calls.c (store_one_arg): Use size_in_bytes to determine the
13293 amount of space to push.
13294
13c0bc20
JJ
132952002-09-12 Jakub Jelinek <jakub@redhat.com>
13296
13297 * config/sparc/linux64.h (STARTFILE_SPEC32): Fix a typo.
13298
0a3bdf9d
UW
132992002-09-12 Ulrich Weigand <uweigand@de.ibm.com>
13300
13301 * config/s390/s390-modes.def (CCAPmode, CCANmode): New CC modes.
13302 * config/s390/s390.c (s390_match_ccmode_set): Support new CC modes.
13303 (s390_select_ccmode): Likewise.
13304 (s390_branch_condition_mask): Likewise.
13305 (optimization_options): Do not set flag_branch_on_count.
13306 (s390_split_branches): Handle doloop branches.
13307 (s390_chunkify_pool): Likewise.
13308 * config/s390/s390.md ("*adddi3_imm_cc", "*addsi3_imm_cc"): New insns.
13309 ("doloop_end"): New expander.
13310 ("doolop_si", "*doloop_si_long", "doloop_di", "*doloop_di_long",
13311 associated splitters): New.
13312
4977bab6
ZW
133132002-09-11 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
13314
13315 * genattrtab.c (simplify_cond): Remove unused variable(s).
13316 * global.c (record_conflicts): Likewise.
13317 * jump.c (rebuild_jump_labels): Likewise.
13318 * loop.c (scan_loop, check_final_value): Likewise.
13319 * ra-colorize.c (colorize_one_web, assign_colors): Likewise.
13320 * reload1.c (eliminate_regs_in_insn, do_input_reload): Likewise.
13321 * rtlanal.c (reg_set_p): Likewise.
13322 * stmt.c (expand_asm_operands, expand_decl): Likewise.
13323 * genautomata.c (empty_reserv): Remove.
13324 * loop.c (max_luid): Likewise.
13325 * sched-rgn.c (bitlst_table_size): Likewise.
13326
133272002-09-11 Nathan Sidwell <nathan@codesourcery.com>
13328
13329 Reimplement gcov format.
13330 * gcov-io.h: Replace.
13331 * gcov.c: Reimplement.
13332 * gcov-iov.c: New file.
13333 * gcov-dump.c: New file.
13334 * libgcc2.c (L_bb): Replace with ...
13335 (L_gcov): ... this.
13336 (struct bb_function_info, struct bb): Remove.
13337 (inhibit_libc): Never inhibit.
13338 (gcov_list, gcov_crc): New static variables.
13339 (gcov_version_mismatch): New static function.
13340 (__bb_exit_func): Renamed to ...
13341 (__gcov_exit): ... here. Made static. Reimplement.
13342 (__gcov_init_func): Rename to ...
13343 (__gcov_init): ... here. Check version, update crc.
13344 (__bb_fork_func): Rename to ...
13345 (__gcov_flush): ... here.
13346 * libgcc2.h (struct bb, __bb_exit_func, __bb_init_func,
13347 __bb_fork_func, gcov_type, __bb_find_arc_counters): Remove.
13348 * calls.c (expand_call): Call __gcov_flush.
13349 * profile.c (bb_file, last_bb_file_name): Remove.
13350 (bbg_file_name): New global variable.
13351 (output_gcov_string): Remove.
13352 (get_exec_counts): Reimplement.
13353 (branch_prob): Reimplement gcov file writing.
13354 (init_branch_prob): Create bbg_file_name, don't create
13355 bb_file_name.
13356 (end_branch_prob): Adjust. Don't remove counter file when
13357 instrumenting ourselves.
13358 (create_profiler): Adjust.
13359 * doc/gcov.texi (Gcov Data Files): Remove detailed specification,
13360 point to gcov-io.h.
13361 * Makefile.in (LANGUAGES): Add gcov-dump.
13362 (coverageexts): Remove .bb.
13363 (STAGESTUFF): Add gcov-dump.
13364 (LIB2FUNCS_ST): Replace _bb with _gcov.
13365 (profile.o): Depend on gcov-iov.h.
13366 (final.o): Don't depend on profile.h, gcov.h.
13367 (gcov.o): Depend on gcov-iov.h.
13368 (gcov-iov.o): New target.
13369 (gcov-iov): New target.
13370 (gcov-iov.h): New target.
13371 (gcov-dump.o): New target.
13372 (GCOV_DUMP_OBJS): New variable.
13373 (gcov-dump): New target.
13374 (distclean): Remove coverageexts.
13375 (stage1): Remove coverageexts.
13376
4f968d93
HP
133772002-09-11 Hartmut Penner <hpenner@de.ibm.com>
13378
13379 * fold-const.c (make_range): Only narrow to signed range if
13380 the signed range is smaller than the unsigned range.
13381
35aff10b
AM
133822002-09-12 Alan Modra <amodra@bigpond.net.au>
13383
13384 * emit-rtl.c (set_mem_size): New function.
13385 * expr.h (set_mem_size): Declare.
13386 * config/rs6000/rs6000.c (expand_block_move_mem): Exterminate.
13387 (expand_block_move): Instead, use adjust_address and
13388 replace_equiv_address to generate proper aliasing info.
13389 Move common code out of conditionals. Localize vars.
13390
a9b6f1e7 133912002-09-11 Eric Botcazou <ebotcazou@libertysurf.fr>
d48fd218 13392
874f6a6d
EB
13393 * optabs.c (expand_binop): Minor cleanup.
13394 (expand_twoval_binop): Convert CONST_INTs like in expand_binop.
13395
d1df930b
DN
133962002-09-11 Dan Nicolaescu <dann@ics.uci.edu>
13397
13398 * print-tree.c (print_node): Print the restrict qualifier.
13399
9026a957
JJ
134002002-09-11 Janis Johnson <janis187@us.ibm.com>
13401
13402 * doc/install.texi: Fix typos.
13403
3fd9d606
ZW
134042002-09-11 Zack Weinberg <zack@codesourcery.com>
13405
13406 * Makefile.in: Remove all references to s-under and underscore.c.
13407 * collect2.c, tlink.c: Change all uses of prepends_underscore
13408 to look directly at USER_LABEL_PREFIX.
13409
5b5198f7
DE
134102002-09-11 David Edelsohn <edelsohn@gnu.org>
13411
13412 * config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section): Append
13413 alignment to csect.
13414 (rs6000_xcoff_unique_section): Only set section name for public
13415 data.
13416 (rs6000_xcoff_section_type_flags): Store log2 alignment in flags.
13417 * config/rs6000/xcoff.h (TARGET_ASM_SELECT_SECTION): Remove
13418 duplicate definition.
13419
77de9af2
JDA
134202002-09-10 John David Anglin <dave@hiauly1.hia.nrc.ca>
13421
13422 * pa.md (extzv): Check predicates before emitting extzv_32.
13423 (insv): Likewise.
13424
33b679d1
UW
134252002-09-10 Ulrich Weigand <uweigand@de.ibm.com>
13426
13427 * config/s390/s390.h (MOVE_MAX): Define to correct value.
13428 (MAX_MOVE_MAX): Define.
13429 (MOVE_BY_PIECES_P): Define.
13430 (CLEAR_BY_PIECES_P): Define.
13431
bfae8040
DC
134322002-09-10 Denis Chertykov <denisc@overta.ru>
13433
13434 * config/avr/avr.md (movstrhi): Use right operands for conversion.
13435
7730c3ff
RE
134362002-09-10 Richard Earnshaw <rearnsha@arm.com>
13437
13438 PR c/7873
13439 * arm.md (insv): Use reg_or_int_operand for operand[3].
13440
5add3202
DE
134412002-09-10 David Edelsohn <edelsohn@gnu.org>
13442
13443 * rs6000.c (rs6000_assemble_visibility): Protect declaration
13444 inside macro. Correct function definition typo.
13445 (rs6000_xcoff_section_type_flags): New function.
13446 (TARGET_SECTION_TYPE_FLAGS): Remove definition.
13447 (rs6000_elf_section_type_flags): Call default_section_type_flags_1
13448 with appropriate PIC test.
13449 (rs6000_xcoff_select_section): Use decl_readonly_section_1 to
13450 determine readonly.
13451 (rs6000_binds_local_p): Combine PIC flags.
13452 * sysv4.h (TARGET_SECTION_TYPE_FLAGS): Define.
13453 * xcoff.h (TARGET_SECTION_TYPE_FLAGS): Define.
13454
4977bab6
ZW
134552002-09-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13456
13457 * h8300.md: Fix signed/unsigned warnings.
13458 * mcore.md: Likewise.
13459 * mn10300.c (mask_ok_for_mem_btst): Likewise.
13460
90389422
PB
134612002-09-09 Per Bothner <per@bothner.com>
13462
13463 * print-tree.c (print_node): In a STRING_CST, escape non-ascii
13464 characters, and only print TREE_STRING_LENGTH chars.
13465
686f3bf0
SE
134662002-09-09 Steve Ellcey <sje@cup.hp.com>
13467
13468 * config/ia64/hpux.h (TARGET_HPUX_LD): New, define true.
13469 (ASM_FILE_END) New.
13470 * config/ia64/ia64.h (TARGET_HPUX_LD): New, define false.
13471 * config/ia64/ia64-protos.h (ia64_hpux_asm_file_end): New.
13472 * config/ia64/ia64.c (ia64_asm_output_external): Create list
13473 of external functions if TARGET_HPUX_LD is true.
13474 (ia64_hpux_add_extern_decl): New, routine to put names on
13475 list of external functions.
13476 (ia64_hpux_asm_file_end): Put out declarations for external
13477 functions if and only if they are used.
13478
0c263f4e
JDA
134792002-09-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
13480
13481 * pa.md (exception_receiver, builtin_setjmp_receiver): Add blockage
13482 on TARGET_64BIT before pic register restore.
13483
e2a6476e
DE
134842002-09-09 David Edelsohn <edelsohn@gnu.org>
13485
13486 * doc/tm.texi (TARGET_HAVE_SRODATA_SECTION): New description.
13487 (TARGET_HAVE_TLS): New description.
13488
b73b1546
JJ
134892002-09-09 Janis Johnson <janis187@us.ibm.com>
13490
13491 * doc/extend.texi (Statement Exprs): Fix broken link.
13492
a9738643
DC
134932002-09-09 Denis Chertykov <denisc@overta.ru>
13494
13495 * config/avr/avr.md (movstrhi, clrstrhi): Use gen_int_mode for
13496 right conversion of operands[1].
13497
05b9aaaa
UW
134982002-09-09 Ulrich Weigand <uweigand@de.ibm.com>
13499
13500 * config/s390/s390.md ("*tmdi_reg", "*tmsi_reg"): Do not mark as
13501 commutative. Use "nonimmediate_operand" instead of "register_operand"
13502 as predicate for operand 0. Move to after the "*tmXX_mem" insns.
13503
13504 ("*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem"): Do not mark
13505 as commutative.
13506
13507 ("*anddi3_ni", "*andsi3_ni", "*iordi3_ni", "*iorsi3_ni"): Do not
13508 mark as commutative. Use "nonimmediate_operand" instead of
13509 "register_operand" as predicate for operand 1.
13510
13511 ("movstrictsi"): Fix typo in insn name.
13512
7ec70495
JH
135132002-09-09 Jan Hubicka <jh@suse.cz>
13514
13515 * i386.c (index_register_operand): New.
13516 * i386.h (predicate_codes): Add new predicate.
8e746279 13517 * i386.md (lea_general_*): Use index_register_operand
7ec70495
JH
13518 (ashift to lea splitter): Do not produce invalid leas
13519 (ashift to mov+ashift split): New.
13520
b2fc915b
NC
135212002-09-09 Nick Clifton <nickc@redhat.com>
13522
13523 * config/fr30/fr30.c (output.h): Move after inclusion of tree.h.
13524 Fix folding marks.
13525
0b0ad147 135262002-09-09 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
d48fd218 13527 J"orn Rennecke <joern.rennecke@superh.com>
0b0ad147
TM
13528
13529 * sh/sh.h (OVERRIDE_OPTIONS): align_functions is in bytes, not bits.
13530
2bcc50d0
AM
135312002-09-09 Alan Modra <amodra@bigpond.net.au>
13532
13533 * config/rs6000/rs6000.c (rs6000_binds_local_p): Return bool.
13534 (function_ok_for_sibcall): Use binds_local_p. Respect longcall
13535 attributes.
13536
4977bab6
ZW
135372002-09-08 Nathan Sidwell <nathan@codesourcery.com>
13538
13539 * basic_block.h (gcov_type): Explain why it is signed.
13540 * final.c: Don't include profile.h.
13541 (struct function_list, functions_head, functions_tail,
13542 end_final): Moved to profile.c
13543 (final): Move arc chaining code to profile.c.
13544 * function.c (prepare_function_start): Remove duplicate line.
13545 * output.h (end_final): Remove prototype.
13546 * predict.c (estimate_loops_at_level): Use gcov_type.
13547 * profile.c (struct function_list, functions_head,
13548 functions_tail): Moved from final.c
13549 (need_func_profiler): Remove.
13550 (instrument_edges): Don't set need_func_profiler.
13551 (get_exec_counts): Avoid signed/unsigned warning.
13552 (compute_checksum): Use crc32.
13553 (branch_prob): Adjust. Chain onto functions_head.
13554 (init_branch_prob): Absorb init_edge_profiler.
13555 (init_edge_profiler): Remove.
13556 (create_profiler): Moved and renamed from final.c:end_final.
13557 Emit data and constructor.
13558 (output_func_start_profiler): Remove.
13559 * profile.h (struct profile_info): checksum is unsigned.
13560 * rtl.h (output_func_start_profiler): Remove prototype.
13561 (create_profiler): Declare.
13562 * toplev.c (compile_file): Call create_profiler, if instrumenting
13563 arcs. Don't call end_final.
13564
c1b4f089
KG
135652002-09-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13566
13567 * fr30.c (fr30_print_operand): Fix bug in output of CONST_DOUBLE.
13568
b9203463
RH
135692002-09-08 Richard Henderson <rth@redhat.com>
13570
13571 * dwarf2.h (DW_OP_call_ref): Rename from DW_OP_calli.
13572 (DW_OP_GNU_push_tls_address): New.
13573 (DW_OP_lo_user): Fix.
13574 * dwarf2out.c (INTERNAL_DW_OP_tls_addr): New.
13575 (dwarf_stack_op_name): Handle it, plus other dwarf3 opcodes.
13576 (size_of_loc_descr): Likewise.
13577 (output_loc_operands): Handle INTERNAL_DW_OP_tls_addr.
13578 (add_AT_location_description): Take a dw_loc_descr_ref not an rtx.
13579 (loc_descriptor_from_tree): Handle TLS variables.
13580 (rtl_for_decl_location): Do avoid_constant_pool_reference here ...
13581 (add_location_or_const_value_attribute): ... not here. Defer
13582 to loc_descriptor_from_tree for TLS variables.
13583
13584 * config/i386/i386.h (ASM_OUTPUT_DWARF_DTPREL): New.
13585 * config/i386/i386.c (i386_output_dwarf_dtprel): New.
13586 * config/i386/i386-protos.h: Update.
13587
7df98878
RS
135882002-09-08 Roger Sayle <roger@eyesopen.com>
13589
13590 PR optimization/6405
13591 * unroll.c (loop_iterations): last_loop_insn should be the previous
13592 non-note instruction before loop->end.
13593 * loop.c (strength_reduce): The conditional jump is the last
13594 non-note instruction before loop->end (as above).
13595
f40f4c8e
RS
135962002-09-08 Roger Sayle <roger@eyesopen.com>
13597
13598 * combine.c (try_combine): Handle the case that undobuf.other_insn
13599 has been turned into a return or unconditional jump, by inserting
13600 a BARRIER if necessary.
13601 (simplify_set): Test if a condition code setter has a constant
13602 comparison at compile time, if so convert this insn to a no-op move
13603 and update/simplify the condition code user (undobuf.other_insn).
13604
e2f97e26
KW
136052002-09-08 Krister Walfridsson <cato@df.lth.se>
13606
13607 * config/arm/netbsd.h (INITIALIZE_TRAMPOLINE): Redefine.
13608 (CLEAR_INSN_CACHE): Define.
13609
4b7e68e7
KH
136102002-09-08 Kazu Hirata <kazu@cs.umass.edu>
13611
13612 * basic-block.h: Fix comment formatting.
13613 * c-common.c: Likewise.
13614 * c-common.h: Likewise.
13615 * c-lex.c: Likewise.
13616 * c-pretty-print.c: Likewise.
13617 * cfglayout.c: Likewise.
13618 * cfgloop.c: Likewise.
13619 * defaults.h: Likewise.
13620 * et-forest.c: Likewise.
13621 * explow.c: Likewise.
13622 * function.h: Likewise.
13623 * gcov.c: Likewise.
13624 * genattrtab.c: Likewise.
13625 * gengtype.c: Likewise.
13626 * ifcvt.c: Likewise.
13627 * libgcc2.c: Likewise.
13628 * loop.c: Likewise.
13629 * profile.c: Likewise.
13630 * ra-build.c: Likewise.
13631 * real.c: Likewise.
13632 * rtl.h: Likewise.
13633 * tracer.c: Likewise.
13634 * tree-inline.c: Likewise.
13635 * varasm.c: Likewise.
13636
2567406a
JH
136372002-09-08 Jan Hubicka <jh@suse.cz>
13638
13639 * emit-rtl.c (set_mem_attributes_minus_bitpos): Fix array_ref
13640 handling.
13641
a36fc5f8 13642 * loop.c (loop_givs_reduce): Emit addition after.
2567406a 13643
bd79540a
AM
136442002-09-08 Alan Modra <amodra@bigpond.net.au>
13645
13646 * varasm.c (default_assemble_visibility): Rename from
13647 assemble_visibility.
13648 * output.h: Here too.
13649 * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): And here.
13650 * config/rs6000/rs6000.c (rs6000_assemble_visibility): And here.
13651
32ff9c74
AM
136522002-09-08 Alan Modra <amodra@bigpond.net.au>
13653
13654 * reload.c (find_reloads <p constraint>): Pass operand_mode to
13655 find_reloads_address.
13656
6588987e
KH
136572002-09-08 Kazu Hirata <kazu@cs.umass.edu>
13658
13659 * config/h8300/h8300.md (udivmodqi4): Enable on H8/300.
13660 (anonymous pattern): Likewise.
13661
4977bab6
ZW
136622002-09-07 Igor Shevlyakov <igor@microunity.com>
13663
13664 * machmode.def: Add modes for half-float vectors.
13665
0100732e
SS
136662002-09-07 Scott Snyder <snyder@fnal.gov>
13667
13668 PR target/7374
13669 * config/alpha/alpha.md (abstf2): Fix typo: 'neg' for 'abs'.
13670
77043c7c
RS
136712002-09-07 Roger Sayle <roger@eyesopen.com>
13672
13673 * basic-block.h (struct loop): Remove unused cont_dominator field.
13674
5dd78220
IS
136752002-09-07 Igor Shevlyakov <igor@microunity.com>
13676
d48fd218 13677 * varasm.c (decode_rtx_const): Don't check undefined field for
5dd78220
IS
13678 CONST_VECTOR.
13679
b96a3fa3
GN
136802002-09-07 Glen Nakamura <glen@imodulo.com>
13681
7fa86a10 13682 PR opt/7814
b96a3fa3
GN
13683 * sched-deps.c (sched_analyze_insn): Make sure to add insn
13684 to reg_last->sets after flushing the dependency lists to guarantee
13685 that subsequent clobbers will be dependent on it.
13686
ad9df12f 136872002-09-07 Igor Shevlyakov <igor@microunity.com>
2567406a 13688
ad9df12f
IS
13689 * combine.c (simplify_shift_const): Calculate rotate count
13690 correctly for vector operands.
13691
54c93c30
AE
136922002-09-07 Ansgar Esztermann <ansgar@thphy.uni-duesseldorf.de>
13693
13694 * c-typeck.c (c_tree_expr_nonnegative_p): New function.
13695 (build_binary_op): Call c_tree_expr_nonnegative_p rather than
2567406a 13696 tree_expr_nonnegative_p.
54c93c30
AE
13697 (build_conditional_expr): Likewise.
13698 * c-tree.h (c_tree_expr_nonnegative_p): Declare.
13699
36eea25f
RH
137002002-09-07 Richard Henderson <rth@redhat.com>
13701
3aa4cad7
RH
13702 * builtins.def (inf, inff, infl): Mark const.
13703 (huge_val, huge_valf, huge_vall): Likewise.
13704 (BUILT_IN_GETEXP, BUILT_IN_GETMAN): Remove.
13705
36eea25f
RH
13706 * real.c (ereal_inf): Clear E before use.
13707
5c102b48
KH
137082002-09-07 Kazu Hirata <kazu@cs.umass.edu>
13709
13710 * config/h8300/h8300.md (udivmodqi4): Split the pattern into
13711 an expander and an anonymous pattern. Zero out the upper half
13712 of the dividend in the expander.
13713 (udivmodqi4): Likewise.
13714
8bd06267
KH
137152002-09-07 Kazu Hirata <kazu@cs.umass.edu>
13716
13717 * config/h8300/h8300.c: Fix formatting.
13718 * config/h8300/h8300.h: Likewise.
13719 * config/h8300/h8300.md: Likewise.
13720
39587bb9
ZD
137212002-09-07 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
13722
13723 * cfgcleanup.c (try_crossjump_to_edge): Fix updating of liveness
13724 information.
13725
34146b94 137262002-09-07 Graham Stott <graham.stott@btinternet.com>
92d9256d
GS
13727
13728 * rtlanal.c (dead_or_set_regno_p): Fix typo.
13729
93638d7a
AM
137302002-09-07 Alan Modra <amodra@bigpond.net.au>
13731
fea76d82
AM
13732 * config/rs6000/linux64.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
13733
93638d7a
AM
13734 * doc/tm.texi (TARGET_ASM_ASSEMBLE_VISIBILITY): Describe.
13735 * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
13736 (TARGET_ASM_OUT): Add the above here.
13737 * target.h (struct gcc_target): Add "visibility" field.
13738 * varasm.c (maybe_assemble_visibility): Call targetm visibility func.
13739 * config/rs6000/rs6000.c (rs6000_assemble_visibility): New function.
13740 (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
13741 (rs6000_legitimize_reload_address, first_reg_to_save): Formatting.
13742
370ce32a
ZL
137432002-09-06 Ziemowit Laski <zlaski@apple.com>
13744
13745 * c-lang.c (objc_is_id): New stub.
13746 * c-tree.h (objc_is_id): New forward declaration.
13747 * c-typeck.c (build_c_cast): Do not strip protocol
13748 qualifiers from 'id' type.
13749 * objc/objc-act.c (objc_comptypes): Correct handling
13750 of protocol qualifiers.
13751 (objc_is_id): New.
13752
942579db
JL
13753Fri Sep 6 13:10:08 2002 Jeffrey A Law (law@redhat.com)
13754
54c93c30 13755 * pentium.md (pentium-firstvboth): Fix typo.
942579db 13756
c4dfc70c
DD
137572002-09-06 Dhananjay Deshpande <dhananjayd@kpit.com>
13758
13759 * h8300.c (enum shift_alg): Move to earlier in h8300.c.
13760 (enum shift_type, enum h8_cpu): Likewise.
13761 (INL, ROT, LOP, SPC macros): Likewise.
13762 (shift_alg_qi, shift_alg_hi, shift_alg_si): Likewise. Lose
13763 const designator.
13764 (h8300_init_once): Update shift_alg_{qi,hi,si} to use more
13765 space efficient algorithms when optimize for codesize.
13766
5873a4c1
NP
13767Fri Sep 6 16:35:32 2002 Nicola Pero <n.pero@mi.flashnet.it>
13768
13769 Fix PR/1727 and long-standing failing testcase
13770 objc/formal-protocol-6.m.
13771 * objc-act.c (build_protocol_expr): If compiling for the GNU
13772 runtime, create a list of Protocol statically allocated instances
13773 if it doesn't exist, then add the Protocol object to this same
13774 list.
13775 (get_objc_string_decl): Fixed typo/bug - TREE_VALUE had been used
13776 instead of TREE_CHAIN.
13777
e30d4c82
NP
13778Fri Sep 6 16:17:33 2002 Nicola Pero <n.pero@mi.flashnet.it>
13779
13780 * objc/objc-act.c (dump_interface): Enlarged the char * buffer to
13781 10k. Fixed category dumping - print out category names with the
13782 proper syntax. Print '@end\n' and not '\n@end' at the end of the
13783 interface.
22d4398d 13784 (finish_objc): Fixed the -gen-decls option. It was printing out
e30d4c82
NP
13785 only the last class. Dump an interface declaration of all classes
13786 being compiled instead.
13787
fcd53748
JT
137882002-09-06 Jason Thorpe <thorpej@wasabisystems.com>
13789
2567406a
JH
13790 * config/arm/arm-protos.h (arm_gen_return_addr_mask): New
13791 prototype.
fcd53748
JT
13792 * config/arm/arm.c (arm_gen_return_addr_mask): New function.
13793 * config/arm/arm.h (MASK_RETURN_ADDR): Use arm_gen_return_addr_mask
13794 if not APCS26 and not Thumb or ARMv4-or-higher. Use gen_int_mode
13795 rather than GEN_INT.
13796 * config/arm/arm.md (UNSPEC_CHECK_ARCH): Define.
13797 (return_addr_mask, *check_arch2): New.
13798
96fd3851
UW
137992002-09-06 Ulrich Weigand <uweigand@de.ibm.com>
13800
2567406a 13801 * config/s390/s390.md ("*adddi3_cc", "*adddi3_cconly",
96fd3851 13802 "*adddi3_cconly2", "*adddi3_64", "*adddi3_31", "adddi3",
2567406a 13803 "*addsi3_carry1_cc", "*addsi3_carry1_cconly",
96fd3851
UW
13804 "*addsi3_carry2_cc", "*addsi3_carry2_cconly",
13805 "*addsi3_cc", "*addsi3_cconly", "*addsi3_cconly2", "addsi3",
2567406a 13806 "adddf3", "*adddf3", "*adddf3_ibm",
96fd3851
UW
13807 "addsf3", "*addsf3", "*addsf3_ibm",
13808 "muldi3", "mulsi3", "mulsidi3",
13809 "muldf3", "*muldf3", "*muldf3_ibm",
13810 "mulsf3", "*mulsf3", "*mulsf3_ibm",
13811 "*anddi3_cc", "*anddi3_cconly", "anddi3",
13812 "*andsi3_cc", "*andsi3_cconly", "andsi3",
13813 "*iordi3_cc", "*iordi3_cconly", "iordi3",
13814 "*iorsi3_cc", "*iorsi3_cconly", "iorsi3",
13815 "*xordi3_cc", "*xordi3_cconly", "xordi3",
13816 "*xorsi3_cc", "*xorsi3_cconly", "xorsi3"): Use "nonimmediate_operand"
13817 instead of "register_operand" as predicate for "%0" operand.
13818
22252625
JJ
138192002-09-06 Jakub Jelinek <jakub@redhat.com>
13820
13821 * configure.in (HAVE_AS_OFFSETABLE_LO10): Use -xarch=v9
13822 unconditionally when gcc_cv_as_flags64 checks are gone.
13823 * configure: Rebuilt.
13824
bc401279
AM
138252002-09-06 Alan Modra <amodra@bigpond.net.au>
13826
13827 * config/rs6000/rs6000.md (extzvsi_internal2): Revert most of
13828 2002-07-26 change. Comment.
13829
b3fbfc07
KG
138302002-09-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13831
13832 * frv.c (frv_unique_section, frv_select_section,
13833 frv_select_rtx_section): Delete.
13834 (frv_in_small_data_p): New.
13835 (TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_SECTION,
13836 TARGET_ASM_SELECT_RTX_SECTION): Delete.
13837 (TARGET_IN_SMALL_DATA_P): Define.
13838
41e34bab
DJ
138392002-09-05 Dale Johannesen <dalej@apple.com>
13840
13841 * reload1.c (reload): Retain only those memory clobbers
13842 added for variable-array handling.
13843
dc0ba55a
JT
138442002-09-05 Jason Thorpe <thorpej@wasabisystems.com>
13845
13846 * config/arm/arm.c (arm_return_in_memory): Implement ATPCS
2567406a 13847 return-in-memory rules.
dc0ba55a
JT
13848 * config/arm/arm.h (ARM_FLAG_ATPCS, TARGET_ATPCS): Define.
13849
dd19d142
DE
138502002-09-05 David Edelsohn <edelsohn@gnu.org>
13851
13852 * config/rs6000/xcoff.h (HOT_TEXT_SECTION_NAME): Delete.
13853 (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Delete.
13854
3717da94
JT
138552002-09-05 Jason Thorpe <thorpej@wasabisystems.com>
13856
13857 * real.c: Avoid parse error if FLOAT_WORDS_BIG_ENDIAN is
13858 not a compile-time constant for the non-IBM case.
13859 * config/arm/arm-protos.h (arm_float_words_big_endian): New
2567406a 13860 prototype.
3717da94 13861 * config/arm/arm.c (arm_float_words_big_endian): New function.
b5b620a4 13862 * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __VFP_FP__
2567406a
JH
13863 if TARGET_VFP and not TARGET_HARD_FLOAT.
13864 (ARM_FLAG_VFP, TARGET_VFP): Define.
3717da94
JT
13865 (FLOAT_WORDS_BIG_ENDIAN): Use arm_float_words_big_endian.
13866
225cee28
DE
138672002-09-05 David Edelsohn <edelsohn@gnu.org>
13868
13869 * doc/install.texi: Correct text of s390-*-linux* and s390x-*-linux*
13870 URLs. Fix AIX wording.
13871
c72bfda7
SS
138722002-09-05 Stan Shebs <shebs@apple.com>
13873
13874 * config/rs6000/rs6000.c (rs6000_override_options): Make -fpic and
13875 -fPIC equivalent on Darwin.
13876
3578cf63
R
13877Thu Sep 5 16:27:47 2002 J"orn Rennecke <joern.rennecke@superh.com>
13878
13879 * sh.c (sh_expand_builtin): Return early if encountering an
13880 error_mark for a type.
13881
7974fe63
UW
138822002-09-05 Ulrich Weigand <uweigand@de.ibm.com>
13883
13884 * config/s390/s390.c (s390_expand_plus_operand): Do not require
13885 double-word scratch register.
13886 config/s390/s390.md ("reload_indi", "reload_insi"): Adapt.
13887
2567406a 13888 ("*tmqi_ext", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem",
7974fe63
UW
13889 "*cli"): Replace s_operand by memory_operand.
13890 ("cmpstrdi", "cmpstrsi"): Replace s_operand by general_operand.
13891
f8cb5851
KH
138922002-09-05 Kazu Hirata <kazu@cs.umass.edu>
13893
13894 * config/h8300/h8300.c (asm_file_start): Add a missing
13895 semicolon.
13896
4977bab6
ZW
138972002-09-04 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
13898
13899 * c-typeck.c (build_function_call): Remove unused variable(s).
13900 (build_c_cast): Likewise.
13901 * calls.c (rtx_for_function_call): Likewise.
13902 * cfglayout.c (duplicate_insn_chain): Likewise.
13903 * cfgloop.c (flow_loop_nodes_find): Likewise.
13904 * cfgrtl.c (split_edge): Likewise.
13905 * df.c (df_ref_create): Likewise.
13906 * except.c (expand_end_catch): Likewise.
13907 * expr.c (emit_push_insn, store_constructor, expand_expr): Likewise.
13908 * function.c (emit_return_into_block): Likewise.
13909 (reposition_prologue_and_epilogue_notes): Likewise.
13910 * gengtype.c (get_file_basename, write_gc_structure_fields): Likewise.
13911 * combine.c (subst_prev_insn, need_refresh): Remove.
13912 * dwarf2out.c (primary_filename): Remove.
13913 * final.c (new_block): Remove.
13914 * gcse.c (orig_bb_count): Remove.
13915
139162002-09-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13917
13918 * dsp16xx-protos.h (dsp16xx_compare_gen): Change to bool.
13919 * dsp16xx.c (dsp16xx_compare_gen): Likewise.
13920 * dsp16xx.md: Treat dsp16xx_compare_gen as a bool. Call functions
13921 directly instead of using a function pointer.
13922
5fc0e5df
KW
139232002-09-04 Krister Walfridsson <cato@df.lth.se>
13924
13925 * config/i386/i386.h (GOT_SYMBOL_NAME): Define.
13926 * config/i386/i386.c (output_set_got): Use GOT_SYMBOL_NAME.
13927 (ix86_output_addr_diff_elt) Likewise.
13928 (x86_output_mi_thunk) Likewise.
13929 * config/i386/netbsd.h (GOT_SYMBOL_NAME): Redefine.
13930
f4b488fd
KG
139312002-09-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13932
13933 * frv.c (frv_encode_section_info): Fix error in last change.
13934
0e5dbd9b
DE
139352002-09-04 David Edelsohn <edelsohn@gnu.org>
13936
13937 * config/rs6000/rs6000.c (rs6000_flag_pic): New variable.
13938 (rs6000_elf_encode_section_info): ATTRIBUTE_UNUSED.
13939 (TARGET_BINDS_LOCAL_P): Define.
13940 (rs6000_override_options): Save original flag_pic value.
13941 (rs6000_elf_select_section): Call default_elf_select_section_1.
13942 (rs6000_elf_unique_section): Call default_unique_section_1.
13943 (rs6000_elf_in_small_data_p): New function.
13944 (rs6000_xcoff_asm_named_section): Determine storage mapping class.
13945 (rs6000_xcoff_select_section): Update based on defaults.
13946 (rs6000_xcoff_unique_section): Set to basic name if not common.
13947 (rs6000_binds_local_p): New function.
13948 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Set
13949 targetm.have_srodata_section if SDATA_EABI.
13950 (TARGET_IN_SMALL_DATA_P): Define.
13951
f57f9cb8
DJ
139522002-09-04 Dale Johannesen <dalej@apple.com>
13953
13954 * varasm.c (struct rtx_const, decode_rtx_const):
13955 Make veclo and vechi fields not share storage.
13956
ed6cc1f5
R
13957Thu Sep 5 00:34:33 2002 J"orn Rennecke <joern.rennecke@superh.com>
13958
13959 * loop.c (scan_loop): Don't mark separate insns out of a libcall
13960 for moving.
13961 (move_movables): Abort if we see the first insn of a libcall.
13962
ab5e2615
RH
139632002-09-04 Richard Henderson <rth@redhat.com>
13964
13965 * builtin-types.def (BT_FN_FLOAT): New.
13966 (BT_FN_DOUBLE, BT_FN_LONG_DOUBLE): New.
13967 * builtins.def (BUILT_IN_INF, BUILT_IN_INFF, BUILT_IN_INFL,
13968 BUILT_IN_HUGE_VAL, BUILT_IN_HUGE_VALF, BUILT_IN_HUGE_VALL): New.
13969 * builtins.c (fold_builtin_inf): New.
13970 (fold_builtin): Call it.
13971 * real.c (ereal_inf): New.
13972 * real.h: Declare it.
13973 * doc/extend.texi: Document new builtins.
13974
9beb7d20
RH
139752002-09-04 Richard Henderson <rth@redhat.com>
13976
13977 * cse.c (cse_insn): Avoid subreg games if the equivalence
13978 is already in the proper mode.
13979
29984e05
EB
139802002-09-04 Eric Botcazou <ebotcazou@multimania.com>
13981
13982 PR c/7102
13983 * optabs.c (expand_binop): Convert CONST_INTs in all cases.
13984
8d46398e
JDA
139852002-09-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
13986
13987 * pa.md (setccfp0, setccfp1): New patterns.
13988
14966b94
KG
139892002-09-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13990
13991 * frv-protos.h (frv_init_builtins, frv_expand_builtin,
13992 frv_select_section, frv_select_rtx_section,
13993 frv_encode_section_info, frv_unique_section): Delete.
13994 * frv.c: Update for target hooks.
13995 * frv.h (STRIP_NAME_ENCODING, SLOW_ZERO_EXTEND, SELECT_SECTION,
13996 SELECT_RTX_SECTION, ENCODE_SECTION_INFO, UNIQUE_SECTION,
13997 EASY_DIV_EXPR, MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): Delete.
13998
c8bf1a1a
KG
139992002-09-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14000
14001 * ip2k-protos.h (function_prologue, function_epilogue,
14002 encode_section_info): Update to match target hook specification.
14003 * ip2k.c: Wrap `MDR' code in IP2K_MD_REORG_PASS.
14004 (function_prologue, function_epilogue, encode_section_info):
14005 Update to match target hook specification.
14006 * ip2k.h (SELECT_SECTION, SELECT_RTX_SECTION, ASM_OPEN_PAREN,
14007 ASM_CLOSE_PAREN, EASY_DIV_EXPR): Delete.
14008 (NOTICE_UPDATE_CC): Cast to void.
14009 * ip2k.md: Add defaults in switch statements.
14010
0484cb35
JJ
140112002-09-04 Janis Johnson <janis187@us.ibm.com>
14012
14013 * doc/trouble.texi (Interoperation): Update information about C++ ABI
14014 issues.
14015
3e62bd08
JT
140162002-09-04 Jason Thorpe <thorpej@wasabisystems.com>
14017
14018 * config/sparc/t-netbsd64: Disable multilib for now.
14019
275b6d80
DE
140202002-09-04 David Edelsohn <edelsohn@gnu.org>
14021
14022 * target-def.h (TARGET_HAVE_SRODATA_SECTION): New macro.
14023 * target.h (gcc_target): Add have_srodata_section member.
14024 * varasm.c (section_category): Add SECCAT_SRODATA.
14025 (categorize_decl_for_section): Return SECCAT_SRODATA for sdata if
14026 READONLY_SDATA_SECTION defined.
14027 (decl_readonly_section_1): True for SECCAT_SRODATA also.
14028 (default_elf_select_section_1): Map SECCAT_SRODATA to .sdata2.
14029 (default_unique_section_1): Likewise.
14030
015b1ad1
JDA
140312002-09-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
14032
14033 * expr.c (emit_group_load): Revise to allow splitting TCmode source
14034 into DImode pieces.
14035
14036 * pa-64.h (LONG_DOUBLE_TYPE_SIZE): Define to 128.
14037 * pa64-regs.h (CLASS_CANNOT_CHANGE_MODE_P): Inhibit changes from SImode
14038 for floating-point register class.
14039 * pa.c (function_arg): Fix handling of modes wider than one word for
14040 TARGET_64BIT.
14041
b10f2187
R
14042Wed Sep 4 18:48:10 2002 J"orn Rennecke <joern.rennecke@superh.com>
14043
14044 * combine.c (make_compound_operation): Don't generate zero / sign
14045 extensions in floating point modes.
14046
478c9e72
JJ
140472002-09-04 Janis Johnson <janis187@us.ibm.com>
14048
14049 * doc/c-tree.texi: Fix overfull hboxes.
14050 * doc/cppopts.texi: Ditto.
14051 * doc/extend.texi: Ditto.
14052 * doc/gty.texi: Ditto.
14053 * doc/invoke.texi: Ditto.
14054 * doc/makefile.texi: Ditto.
14055 * doc/rtl.texi: Ditto.
14056 * doc/standards.texi: Ditto.
14057 * doc/tm.texi: Ditto.
14058
77e8a0cc
RH
140592002-09-04 Richard Henderson <rth@redhat.com>
14060
14061 * c-common.c (builtin_define_with_hex_fp_value): New.
14062 (builtin_define_float_constants): Use it. Fix H_FLOAT mant_dig.
14063
a9c60612
JJ
140642002-09-04 Janis Johnson <janis187@us.ibm.com>
14065
14066 * doc/invoke.texi (-fshort-wchar): Move to Code Generation Options.
14067 (-fpcc-struct-return, -freg-struct-return, -fshort-enums,
14068 -fshort-double, -fshort-wchar, -fpack-struct, -fleading-underscore):
14069 Warn that these options can break ABI compatibility.
14070
4b67a274
RH
140712002-09-04 Richard Henderson <rth@redhat.com>
14072
14073 * real.c (ereal_to_decimal): Add digits parameter.
14074 * real.h (REAL_VALUE_TO_DECIMAL): Remove format; add digits parameter.
14075 * c-pretty-print.c (pp_c_real_literal): Update call.
14076 * print-rtl.c (print_rtx): Likewise.
14077 * print-tree.c (print_node_brief, print_node): Likewise.
14078 * sched-vis.c (print_value): Likewise.
14079 * config/arc/arc.c (arc_print_operand): Likewise.
14080 * config/c4x/c4x.c (c4x_print_operand): Likewise.
14081 * config/i370/i370.h (PRINT_OPERAND): Likewise.
14082 * config/i386/i386.c (print_operand): Likewise.
14083 * config/i960/i960.c (i960_print_operand): Likewise.
14084 * config/ip2k/ip2k.c (asm_output_float): Likewise.
14085 * config/m32r/m32r.c (m32r_print_operand): Likewise.
14086 * config/m68hc11/m68hc11.c (print_operand): Likewise.
14087 * config/m68k/hp320.h (PRINT_OPERAND, ASM_OUTPUT_FLOAT_OPERAND,
14088 ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
2567406a 14089 * config/m68k/m68k.h (ASM_OUTPUT_FLOAT_OPERAND,
4b67a274
RH
14090 ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
14091 * config/m68k/sun2o4.h (ASM_OUTPUT_FLOAT_OPERAND,
14092 ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
14093 * config/m68k/sun3.h (ASM_OUTPUT_FLOAT_OPERAND,
14094 ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
14095 * config/mips/mips.c (print_operand): Likewise.
14096 * config/ns32k/ns32k.c (print_operand): Likewise.
14097 * config/pdp11/pdp11.h (PRINT_OPERAND): Likewise.
14098 * config/vax/vax.h (PRINT_OPERAND): Likewise.
14099 * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Update docs.
14100
01abf342
BW
141012002-09-04 Bob Wilson <bob.wilson@acm.org>
14102
14103 * config/xtensa/elf.h (TARGET_SECTION_TYPE_FLAGS): Define to
14104 xtensa_multibss_section_type_flags.
14105 * config/xtensa/xtensa.c (xtensa_multibss_section_type_flags): Define.
14106
cd42d3df
RH
141072002-09-04 Richard Henderson <rth@redhat.com>
14108
14109 * doc/install-old.texi: Don't mention enquire.
14110 * doc/sourcebuild.texi: Update float.h description.
14111
502e6d5a
R
14112Wed Sep 4 11:22:14 2002 J"orn Rennecke <joern.rennecke@superh.com>
14113
14114 * sh.md (mperm_w_little, mperm_w_big): Supply mode for zero_extract.
14115
4977bab6
ZW
141162002-09-03 Roger Sayle <roger@eyesopen.com>
14117
14118 * builtins.c (build_function_call_expr): Remove prototype, export
14119 as non-static and add a comment above function definition.
14120 (builtin_mathfn_code): New function to check for math builtins.
14121 (fold_builtin): Optimize sqrt(0.0) as 0.0, sqrt(1.0) as 1.0,
14122 exp(0.0) as 1.0, and log(1.0) as 0.0. Optimize exp(log(x)) and
14123 log(exp(x)) as x. Optimize sqrt(exp(x)) as exp(x/2.0) and
14124 log(sqrt(x)) as log(x)/2.0.
14125
14126 * tree.h: Prototype build_function_call_expr and builtin_mathfn_code
14127 in new "builtins.c" section. Place the build_range_type prototype
14128 with the other prototypes from "tree.c".
14129
14130 * fold-const.c (fold) [ABS_EXPR]: Fold fabs(sqrt(x)) as sqrt(x)
14131 and fabs(exp(x)) as exp(x). [MULT_EXPR]: Fold sqrt(x)*sqrt(y)
14132 as sqrt(x*y) and exp(x)*exp(y) as exp(x+y). [RDIV_EXPR]: Fold
14133 x/exp(y) as x*exp(-y).
14134
2cc9fb4c
DE
141352002-09-03 David Edelsohn <edelsohn@gnu.org>
14136
14137 * varasm.c (default_section_type_flags): Append _1 to name with
14138 shlib parameter. Use original name to call new function with
14139 implicit flag_pic.
14140 (decl_readonly_section): Likewise.
14141 (default_elf_select_section): Likewise.
14142 (default_unique_section): Likewise.
14143 (default_bind_local_p): Likewise.
14144 (categorize_decl_for_section): Add shlib parameter to use in place
14145 of implicit flag_pic.
14146 * output.h: Declare new functions with _1 and shlib argument.
14147
7c19f816
JJ
141482002-09-03 Janis Johnson <janis187@us.ibm.com>
14149
8c085f6f
JJ
14150 * doc/install.texi: Fix typos, formatting problems, and obvious
14151 overfull/underfull boxes.
14152
7c19f816
JJ
14153 * Makefile.in (TEXI_GCC_FILES): Add compat.texi.
14154 * doc/gcc.texi (Top): Add new chapter, Binary Compatibility, and
14155 include its file, compat.texi.
14156 * doc/compat.texi: New file with new chapter, Binary Compatibility.
14157
79ba5e3b
NB
141582002-09-03 Neil Booth <neil@daikokuya.co.uk>
14159
14160 Debian BTS Bug #157416
14161 * cpphash.h (FIRST, LAST, CUR, RLIMIT): Fix definitions.
14162 * cpplib.c (destringize_and_run): Kludge around getting
14163 tokens from in-progress macros.
14164 (_cpp_do__Pragma): Simplify.
14165
57016b47
SE
141662002-09-03 Steve Ellcey <sje@cup.hp.com>
14167
14168 * config/ia64/ia64.h (EXTRA_SPECS): Remove cpp_cpu.
14169 (CPP_CPU_SPEC): Remove.
14170 (TARGET_CPU_CPP_BUILTINS): New.
14171 * config/ia64/hpux.h (CPP_PREDEFINES): Remove.
14172 (CPP_SPEC): Remove.
14173 (TARGET_OS_CPP_BUILTINS): New.
14174 * config/ia64/linux.h (CPP_PREDEFINES): Remove.
14175 (TARGET_OS_CPP_BUILTINS): New.
14176 * config/ia64/aix.h (CPP_SPEC): Move some stuff to
14177 TARGET_OS_CPP_BUILTINS.
14178 (CPP_PREDEFINES): Remove.
14179 (CPLUSPLUS_CPP_SPEC): Remove.
14180 (TARGET_OS_CPP_BUILTINS): New.
14181
d57a4b98
RH
141822002-09-03 Richard Henderson <rth@redhat.com>
14183
14184 * Makefile.in (USER_H): Add ginclude/float.h.
14185 (FLOAT_H): Remove.
14186 (stmp-int-hdrs, install-mkheaders): Don't handle FLOAT_H.
14187 (mostlyclean): Don't remove float.h intermediate files.
14188 (distclean): Don't remove float.h.
14189 * config.gcc: Remove all float_format references.
14190 * configure.in (float_format, float_h_file): Remove.
14191
14192 * c-common.c: Include tree-inline.h.
14193 (builtin_define_with_int_value): New.
14194 (builtin_define_type_precision): Use it.
14195 (builtin_define_float_constants): New.
14196 (cb_register_builtins): Use it. Define __FLT_RADIX__ and
14197 __FLT_EVAL_METHOD__.
14198 * defaults.h (TARGET_FLT_EVAL_METHOD): New.
14199 * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): New.
14200 * config/m68k/m68k.h (TARGET_FLT_EVAL_METHOD): New.
14201 * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Mention moto 96-bit format.
14202 (TARGET_FLT_EVAL_METHOD): New.
14203
14204 * config/float-c4x.h, config/float-i128.h, config/float-i32.h,
14205 config/float-i386.h, config/float-i64.h, config/float-m68k.h,
14206 config/float-sh.h, config/float-sparc.h, config/float-vax.h: Remove.
14207 * ginclude/float.h: New.
14208
527347f0
SS
142092002-09-03 Stan Shebs <shebs@apple.com>
14210
14211 * config/darwin.h (WARN_FOUR_CHAR_CONSTANTS): Remove, never used.
14212 (DWARF2_DEBUGGING_INFO): Remove until assembler accepts Dwarf-2.
14213 (PREFERRED_DEBUGGING_TYPE): Ditto.
14214 (ASM_OUTPUT_IDENT): Remove empty definition.
14215
34c1864f
SE
142162002-09-03 Steve Ellcey <sje@cup.hp.com>
14217
14218 * config.gcc (ia64*-*-hpux*): Add ia64-c.o to c_target and
14219 cxx_target.
14220 * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Register pragma
14221 handling routine for builtin pragma.
14222 * config/ia64/ia64-protos.h (ia64_hpux_handle_builtin_pragma):
14223 Registered pragma handling routine.
14224 * ia64-c.c (ia64_hpux_handle_builtin_pragma): Ditto.
14225 (ia64_hpux_add_pragma_builtin) New subroutine used by above.
14226 If builtin pragma seen for math routine and C89 conformance is
14227 requested use different math function in order to set errno.
14228 * t-ia64 (ia64-c.o): Add new rule for new file.
14229
9b7c75b9
UW
142302002-09-03 Ulrich Weigand <uweigand@de.ibm.com>
14231
14232 * config/s390/s390.md ("movti"): Add Q->Q alternative.
14233 ("*movdi_64", "*movdi_31", "*movsi", "movhi", "movqi_64",
14234 "movqi", "*movdf_64", "*movdf_31", "*movsf"): Likewise.
2567406a
JH
14235
14236 ("*movti_ss", "*movdi_ss", "*movsi_ss", "*movdf_ss",
9b7c75b9
UW
14237 "*movsf_ss"): Remove.
14238
710ba35f
JDA
142392002-09-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
14240
14241 * pa32-regs.h (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P):
14242 Delete macros.
14243
ff970081
AD
142442002-09-03 Arati Dikey <aratid@kpit.com>
14245
14246 * h8300.c (asm_file_start): Corrected optimization comment.
14247
b50d021d
SS
142482002-09-03 Stan Shebs <shebs@apple.com>
14249
14250 * c-lang.c (recognize_objc_keyword): Remove, no longer used.
14251 * c-tree.h (recognize_objc_keyword): Remove decl.
14252 * c-typeck.c (comp_target_types): Update a comment.
14253
b808c04c
UW
142542002-09-03 Ulrich Weigand <uweigand@de.ibm.com>
14255
14256 * config/s390/s390.c (s390_decompose_address): Remove STRICT parameter
14257 and register validity checks.
14258 (general_s_operand): Adapt to s390_decompose_address interface change.
14259 (q_constraint): Likewise.
14260 (s390_expand_plus_operand): Likewise.
14261 (legitimiate_address_p): Likewise.
14262 (legitimate_la_operand_p): Likewise.
14263 (legitimize_la_operand): Likewise.
14264 (print_operand_address): Likewise.
14265 (print_operand): Likewise.
14266
ee453219
NP
14267Tue Sep 3 11:32:14 2002 Nicola Pero <n.pero@mi.flashnet.it>
14268
14269 PR objc/5956:
14270 * objc/objc-act.c (build_typed_selector_reference): Fix typo which
2567406a
JH
14271 was causing the new selector never to match the existing ones
14272 (Patch by Alexander Malmberg <alexander@malmberg.org>).
ee453219 14273
d82283d5
GS
142742002-09-03 Graham Stott <graham.stott@btinternet.com>
14275
14276 * config/i386/i386.md ("femms"): Add "memory" attr "none".
14277
142782002-09-03 Graham Stott <graham.stott@btinternet.com>
c7a009a2
GS
14279
14280 * expr.c (expand_expr): Remove extraneous comment and code.
14281
4977bab6
ZW
142822002-09-02 Nathan Sidwell <nathan@codesourcery.com>
14283
14284 * stor-layout (finish_builtin_struct): Renamed and moved from c++
14285 frontend. Take chain of fields. Allow NULL alignment type.
14286 * tree.h (finish_builtin_struct): Declare.
14287
142882002-09-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14289
14290 * config/alpha/alpha.c config/alpha/alpha.h config/alpha/alpha.md
14291 config/alpha/elf.h config/alpha/unicosmk.h config/alpha/vms.h
14292 config/arc/arc.c config/arc/arc.h config/arm/aout.h
14293 config/arm/arm.c config/arm/arm.h config/arm/arm.md
14294 config/avr/avr.h config/d30v/d30v.h config/dbxcoff.h
14295 config/dbxelf.h config/elfos.h config/fr30/fr30.h config/frv/frv.h
14296 config/i386/i386.c config/i386/i386.md config/i386/sco5.h
14297 config/ia64/ia64.h config/ip2k/ip2k.h config/m68hc11/m68hc11.md
14298 config/m68k/hp320.h config/m68k/m68k.c config/m68k/m68k.md
14299 config/m68k/mot3300.h config/m68k/sgs.h config/m68k/tower-as.h
14300 config/m88k/m88k.c config/m88k/m88k.h config/mcore/mcore-pe.h
14301 config/mcore/mcore.c config/mips/mips.c config/mips/mips.h
14302 config/ns32k/ns32k.md config/pa/pa-linux.h config/pa/pa.c
14303 config/pa/pa.h config/pa/pa.md config/romp/romp.h
14304 config/rs6000/linux64.h config/rs6000/lynx.h
14305 config/rs6000/rs6000.c config/rs6000/sysv4.h config/rs6000/xcoff.h
14306 config/s390/s390.c config/s390/s390.md config/sh/sh.c
14307 config/sparc/sparc.c config/sparc/sysv4.h
14308 config/stormy16/stormy16.h dbxout.c defaults.h dwarf2out.c
14309 dwarfout.c except.c final.c varasm.c vmsdbgout.c: Replace
14310 ASM_OUTPUT_INTERNAL_LABEL macro with a call to the target hook.
14311
14312 * doc/tm.texi: Update docs.
14313 * default.h (ASM_OUTPUT_INTERNAL_LABEL): Don't define.
14314 * system.h (ASM_OUTPUT_INTERNAL_LABEL): Poison.
14315
143162002-08-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14317
14318 * Makefile.in (sdbout.o, insn-output.o): Depend on $(TARGET_H).
14319 * arc.c (arc_internal_label): New function.
14320 (TARGET_ASM_INTERNAL_LABEL): Set.
14321 * arc.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
14322 * arm.c (arm_internal_label): New function.
14323 (TARGET_ASM_INTERNAL_LABEL): Set.
14324 * arm.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
14325 * arm/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
14326 * i370.c (i370_internal_label): New function.
14327 (TARGET_ASM_INTERNAL_LABEL): Set.
14328 * i370.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
14329 * m68k/hp320.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
14330 * m68k.c (m68k_hp320_internal_label): New function.
14331 (TARGET_ASM_INTERNAL_LABEL): Set.
14332 * m88k.c (m88k_internal_label): New function.
14333 (TARGET_ASM_INTERNAL_LABEL): Set.
14334 * m88k.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
14335 * defaults.h (ASM_OUTPUT_INTERNAL_LABEL): Set to target hook.
14336 * genoutput.c (output_prologue): Include target.h in output file.
14337 * output.h (default_internal_label): Declare.
14338 * sdbout.c: Include target.h.
14339 * target-def.h (TARGET_ASM_INTERNAL_LABEL): Set and add to
14340 TARGET_ASM_OUT.
14341 * target.h (internal_label): Add to struct gcc_target.
14342 * varasm.c (default_internal_label): New function.
14343
143442002-08-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14345
14346 * alpha.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
14347 * avr.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14348 * c4x.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14349 * cris.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14350 * d30v.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14351 * darwin.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14352 * dsp16xx.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14353 * elfos.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14354 * h8300.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14355 * i386/att.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14356 * i386/bsd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14357 * i386/i386-coff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14358 * i386/lynx-ng.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14359 * i386/lynx.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14360 * i386/sco5.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14361 * i960/i960.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14362 * m68k/3b1.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14363 * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14364 * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14365 * m68k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14366 * m68k/mot3300.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14367 * m68k/tower-as.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14368 * m88k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14369 * mcore.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14370 * mips.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14371 * mmix-protos.h (mmix_asm_output_internal_label): Likewise.
14372 * mmix.c (mmix_asm_output_internal_label): Likewise.
14373 * mmix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14374 * ns32k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14375 * pa.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14376 * pdp11.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14377 * romp.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14378 * rs6000/xcoff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14379 * sh/coff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14380 * sh/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14381 * sparc/freebsd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14382 * sparc/linux.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14383 * sparc/linux64.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14384 * sparc/netbsd-elf.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14385 * sparc/pbd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14386 * sparc/sol2.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14387 * sparc.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14388 * sparc/vxsim.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14389 * stormy16.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14390 * svr3.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14391 * vax.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14392
14393 * defaults.h (ASM_OUTPUT_INTERNAL_LABEL): Define.
14394
98c0d8d1
RH
143952002-08-31 Richard Henderson <rth@redhat.com>
14396
14397 * expr.c (block_move_libcall_safe_for_call_parm): Fix thinko.
14398
a5f3f0ab
JDA
143992002-08-31 John David Anglin <dave@hiauly1.hia.nrc.ca>
14400
14401 * pa.c (pa_globalize_label): Add ATTRIBUTE_UNUSED to prototype.
14402
38ec83b1
RH
144032002-08-30 Richard Henderson <rth@redhat.com>
14404
c9989d09 14405 PR opt/7515
38ec83b1
RH
14406 * c-objc-common.c: Include target.h.
14407 (c_cannot_inline_tree_fn): Don't auto-inline functions that
14408 don't bind locally. Factor setting DECL_UNINLINABLE.
14409 * Makefile.in (c-objc-common.o): Update.
14410
4c64396e
JJ
144112002-08-30 Janis Johnson <janis187@us.ibm.com>
14412
14413 * doc/install.texi (Configuration, Building): Fix a typo and
14414 some formatting directives.
14415
4226378a
PK
144162002-08-30 Paul Koning <pkoning@equallogic.com>
14417
14418 * doc/c-tree.texi (RDIV_EXPR): Fix typo.
14419 * doc/rtl.texi (post_modify): Remove misplaced text, remove "not
14420 implemented" note.
14421 * doc/md.texi (IP2K): Move machine-specific constraints before MIPS
14422 for alphabetic order.
14423 * doc/tm.texi (TARGET_FLOAT_FORMAT): Update description for
14424 VAX_FLOAT_FORMAT. Remove reference to HOST_FLOAT_FORMAT.
14425 (VAX_HALFWORD_ORDER): Document.
14426 (LARGEST_EXPONENT_IS_NORMAL): Remove note about being only for
14427 IEEE float format.
14428 (TARGET_SCHED_ISSUE_RATE): Reword reference to MAX_DFA_ISSUE_RATE.
14429 (ASM_OUTPUT_LABEL_REF): Fix font.
14430 (CASE_VECTOR_SHORTEN_MODE): Ditto.
14431
b8074dbe
DC
144322002-08-30 Denis Chertykov <denisc@overta.ru>
14433
14434 * config/ip2k/ip2k.c (ip2k_set_compare): Remove all const_double
14435 stuff.
14436 (ip2k_gen_unsigned_comp_branch): Handle CONST_INT and
14437 CONST_DOUBLE constants.
2567406a 14438
55f49e3d
JT
144392002-08-30 Jason Thorpe <thorpej@wasabisystems.com>
14440
14441 * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Move language-
14442 related defines to...
14443 (SUBTARGET_LANGUAGE_CPP_BUILTINS): ...here.
14444 * config/alpha/netbsd.h (SUBTARGET_LANGUAGE_CPP_BUILTINS): Redefine
14445 as a no-op.
14446
e1944073
KW
144472002-08-30 Krister Walfridsson <cato@df.lth.se>
14448
14449 * config/arm/arm.c (arm_asm_output_labelref): New function.
14450 * config/arm/arm.h (ASM_OUTPUT_LABELREF): Call arm_asm_output_labelref.
14451 * config/arm/arm-protos.h: Add prototype for arm_asm_output_labelref.
14452
6e92b3a1
RB
144532002-08-29 Rodney Brown <rbrown64@csc.com.au>
14454
14455 * doc/install.texi (Specific, alpha*-dec-osf*): Add "virtual
14456 memory exhausted" workarounds.
14457
9d533cb5
GDR
144582002-08-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
14459
14460 * diagnostic.c (fancy_abort): Don't repeat "internal error".
14461 * toplev.c (crash_signal): Likewise.
14462
1f676100
NP
14463Fri Aug 30 00:33:37 2002 Nicola Pero <n.pero@mi.flashnet.it>
14464
14465 * doc/cpp.texi (__NEXT_RUNTIME__): Extended documentation.
14466 * doc/invoke.texi (-fnext-runtime, -Wno-protocol, -Wselector):
14467 Extended, updated documentation.
14468 (-Wundeclared-selector): Documented.
14469
23532de9
JT
144702002-08-29 Jason Thorpe <thorpej@wasabisystems.com>
14471
14472 * config/chorus.h: Consistently define *_DEBUGGING_INFO with
14473 the value 1. Do not undef before defining.
14474 * config/darwin.h: Likewise.
14475 * config/dbx.h: Likewise.
14476 * config/dbxcoff.h: Likewise.
14477 * config/dbxelf.h: Likewise.
14478 * config/elfos.h: Likewise.
14479 * config/interix.h: Likewise.
14480 * config/lynx-ng.h: Likewise.
14481 * config/lynx.h: Likewise.
14482 * config/netware.h: Likewise.
14483 * config/psos.h: Likewise.
14484 * config/svr3.h: Likewise.
14485 * config/alpha/alpha.h: Likewise.
14486 * config/alpha/elf.h: Likewise.
14487 * config/alpha/vms.h: Likewise.
14488 * config/arc/arc.h: Likewise.
14489 * config/arm/aout.h: Likewise.
14490 * config/arm/coff.h: Likewise.
14491 * config/c4x/c4x.h: Likewise.
14492 * config/h8300/h8300.h: Likewise.
14493 * config/i386/cygwin.h: Likewise.
14494 * config/i386/djgpp.h: Likewise.
14495 * config/i386/gas.h: Likewise.
14496 * config/i386/gstabs.h: Likewise.
14497 * config/i386/i386-coff.h: Likewise.
14498 * config/i386/i386-interix.h: Likewise.
14499 * config/i386/sco5.h: Likewise.
14500 * config/i386/svr3dbx.h: Likewise.
14501 * config/i386/sysv3.h: Likewise.
14502 * config/i386/win32.h: Likewise.
14503 * config/i386/x86-64.h: Likewise.
14504 * config/i960/i960.h: Likewise.
14505 * config/ia64/ia64.h: Likewise.
14506 * config/ip2k/ip2k.h: Likewise.
14507 * config/m32r/m32r.h: Likewise.
14508 * config/m68k/3b1.h: Likewise.
14509 * config/m68k/3b1g.h: Likewise.
14510 * config/m68k/ccur-GAS.h: Likewise.
14511 * config/m68k/coff.h: Likewise.
14512 * config/m68k/hp2bsd.h: Likewise.
14513 * config/m68k/hp310g.h: Likewise.
14514 * config/m68k/hp320g.h: Likewise.
14515 * config/m68k/hp3bsd.h: Likewise.
14516 * config/m68k/hp3bsd44.h: Likewise.
14517 * config/m68k/linux-aout.h: Likewise.
14518 * config/m68k/m68k-aout.h: Likewise.
14519 * config/m68k/mot3300.h: Likewise.
14520 * config/m68k/netbsd.h: Likewise.
14521 * config/m68k/openbsd.h: Likewise.
14522 * config/m68k/pbb.h: Likewise.
14523 * config/m68k/plexus.h: Likewise.
14524 * config/m68k/sun2.h: Likewise.
14525 * config/m68k/sun3.h: Likewise.
14526 * config/m68k/tower-as.h: Likewise.
14527 * config/m68k/vxm68k.h: Likewise.
14528 * config/m88k/aout-dbx.h: Likewise.
14529 * config/m88k/m88k-aout.h: Likewise.
14530 * config/mcore/mcore-elf.h: Likewise.
14531 * config/mcore/mcore-pe.h: Likewise.
14532 * config/mips/elf.h: Likewise.
14533 * config/mips/elf64.h: Likewise.
14534 * config/mips/iris5gas.h: Likewise.
14535 * config/mips/iris6.h: Likewise.
14536 * config/mips/mips.h: Likewise.
14537 * config/mips/sni-gas.h: Likewise.
14538 * config/mmix/mmix.h: Likewise.
14539 * config/ns32k/netbsd.h: Likewise.
14540 * config/pa/pa64-hpux.h: Likewise.
14541 * config/romp/romp.h: Likewise.
14542 * config/rs6000/sysv4.h: Likewise.
14543 * config/rs6000/xcoff.h: Likewise.
14544 * config/sh/coff.h: Likewise.
14545 * config/sh/elf.h: Likewise.
14546 * config/sparc/linux64.h: Likewise.
14547 * config/sparc/liteelf.h: Likewise.
14548 * config/sparc/netbsd.h: Likewise.
14549 * config/sparc/openbsd.h: Likewise.
14550 * config/sparc/pbd.h: Likewise.
14551 * config/sparc/sp64-elf.h: Likewise.
14552 * config/sparc/sp86x-elf.h: Likewise.
14553 * config/sparc/sparc.h: Likewise.
14554 * config/vax/vax.h: Likewise.
14555 * config/vax/vaxv.h: Likewise.
14556
5e98fba2
DD
145572002-08-29 "Dhananjay R. Deshpande" <dhananjayd@kpit.com>
14558
14559 * h8300.c (shift_alg_hi): Various tweaks to improve performance
14560 of HImode shifts.
14561 (get_shift_alg): Corresponding changes.
14562
43852342
JDA
145632002-08-29 John David Anglin <dave@hiauly1.hia.nrc.ca>
14564
14565 * som.h (ALWAYS_STRIP_DOTDOT): Define to 1.
14566
44bb111a
RH
145672002-08-29 Richard Henderson <rth@redhat.com>
14568
14569 * expr.h (enum block_op_methods): New.
14570 (emit_block_move): Update prototype.
14571 * expr.c (block_move_libcall_safe_for_call_parm): New.
14572 (emit_block_move_via_loop): New.
14573 (emit_block_move): Use them. New argument METHOD.
14574 (emit_push_insn): Always respect the given alignment.
14575 (expand_assignment): Update call to emit_block_move.
14576 (store_expr, store_field, expand_expr): Likewise.
14577 * builtins.c (expand_builtin_apply): Likewise.
14578 (expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
14579 * function.c (expand_function_end): Likewise.
14580 * config/sh/sh.c (sh_initialize_trampoline): Likewise.
14581 * config/sparc/sparc.c (sparc_va_arg): Likewise.
14582 * calls.c (expand_call, emit_library_call_value_1): Likewise.
14583 (save_fixed_argument_area): Use emit_block_move with
14584 BLOCK_OP_CALL_PARM instead of move_by_pieces.
14585 (restore_fixed_argument_area): Likewise.
14586 (store_one_arg): Fix alignment parameter to emit_push_insn.
14587
08b3d104
JDA
145882002-08-29 John David Anglin <dave@hiauly1.hia.nrc.ca>
14589
14590 * install.texi (hppa64-hp-hpux11*): Document installation procedure.
14591
ce4e9970 145922002-08-29 Catherine Moore <clm@redhat.com>
8376061d
CM
14593
14594 * config/v850/v850.h (MULDI3_LIBCALL, UCMPDI2_LIBCALL, CMPDI2_LIBCALL,
14595 NEGDI2_LIBCALL, INIT_TARGET_OPTABS, MASK_STRICT_ALIGN): Define.
14596 (PREDICATE_CODES): Include new predicates.
14597 (RTX_COSTS): Handle UMOD and UDIV. Tune MULT for v850e.
14598 (TARGET_SWITCHES): Add strict-align.
14599 (TARGET_STRICT_ALIGN): New.
2567406a 14600 (MASK_DEFAULT, STRICT_ALIGNMENT): Redefine.
8376061d
CM
14601 * config/v850/t-v850 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
14602 Define.
14603 (LIB1ASMFUNCS): Add v850_negdi2, v850_cmpdi2, v850_ucmpdi2,
14604 v850_muldi3.
14605 * config/v850/lib1funcs.asm (L_callt_save_r2_r29, L_return_r2_r29,
14606 L_callt_save_r2_r31, L_return_r2_r31,
14607 L_save_all_interrupt): Change addi to add.
14608 (L_save_interrupt, L_return_interrupt): Rework.
14609 (__return_r31): Correct .size directive.
14610 (mulsi3, divsi3, udivsi3, umodsi3, modsi3): Tune for v850e.
14611 (v850_negdi2, v850_cmpdi2, v850_ucmpdi2, v850_muldi3):
14612 New routines.
14613 * config/v850/v850.c (expand_prologue): Call
14614 gen_callt_save_interrupt, gen_callt_restore_all_interrupt,
14615 gen_callt_return_interrupt and gen_callt_save_all_interrupt.
14616 (reg_or_int9_operand): New predicate.
14617 (reg_or_const_operand): New routine.
14618 * config/v850/v850.md (return_interrupt): Changed from
14619 restore_interrupt.
14620 (callt_save_all_interrupt): Changed from save_all_interrupt_v850e.
14621 (callt_save_interrupt): Change save sequence.
14622 (callt_return_interrupt): New.
14623 (save_interrupt): Don't use runtime function for LONG_CALLS
14624 and TARGET_PROLOG_FUNCTION.
14625 (save_all_interrupt): Likewise.
14626 (mulsi3): Use new predicate.
14627 (moviscc): Disallow some combination of constants.
14628 Fix define_split for sasf insns, so that it will not generate bad
14629 code if operand0 and operand5 are the same.
14630 * config/v850/v850-protos.h: Prototype new predicates.
14631
4977bab6
ZW
146322002-08-29 Zack Weinberg <zack@codesourcery.com>
14633
14634 * config/rs6000/rs6000.c (processor_target_table): Add 405f.
14635 * config/rs6000/rs6000.h (ASM_CPU_SPEC): Likewise.
14636
585e661a
GDR
146372002-08-28 Gabriel Dos Reis <gdr@integrable-solutions.net>
14638
14639 * c-common.c (builtin_define_type_precision): New function.
14640 (cb_register_builtins): Use it. Define __WCHAR_UNSIGNED__ is
14641 wchar_t is unsigned in C++.
14642 * doc/cpp.texi (Common Predefined Macros): Document
14643 __WCHAR_UNSIGNED__, __CHAR_BIT__, __WCHAR_BIT__, __SHRT_BIT__,
14644 __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
14645 __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
14646
bd8f9aec
SP
146472002-08-28 Sylvain Pion <pion@cs.nyu.edu>
14648
14649 * doc/invoke.texi (-Wreorder): Remove remaining pieces from the generic
14650 section. Mention that it is enabled by -Wall.
14651 (-Wall): Mention that there can be language-specific warnings as well.
14652 (-Wctor-dtor-privacy): Mention that it is enabled by default.
14653 (-Wnon-virtual-dtor): Mention that it is enabled by -Wall.
14654
58ab7171
R
14655Wed Aug 28 15:35:17 2002 J"orn Rennecke <joern.rennecke@superh.com>
14656
14657 * sh.c (calc_live_regs): Save FPSCR_REG in an interrupt handler
14658 if it is ever live.
14659
14660 * sh.c (sh_handle_interrupt_handler_attribute): Reject interrupt_handler
14661 attribute for SHCOMPACT.
14662
14663 * sh.h (OVERRIDE_OPTIONS): If align_function isn't set, set it
14664 appropriately.
14665 (FUNCTION_BOUNDARY): Specify only the minimum alignment required
14666 by the ABI.
14667
14668 * sh.h (SH5_WOULD_BE_PARTIAL_NREGS): Also handle TImode case.
14669
27f4b67e
JT
146702002-08-28 Jason Thorpe <thorpej@wasabisystems.com>
14671
14672 * config.gcc (mips*-*-netbsd*): Set target_cpu_default to
14673 "MASK_GAS|MASK_ABICALLS".
14674 * config/mips/netbsd.h (TARGET_ENDIAN_DEFAULT)
14675 (TARGET_DEFAULT): Remove.
14676 (MACHINE_TYPE): Undefine before defining.
14677 (DBX_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE): Remove.
14678
eca7f13c
MM
146792002-08-27 Mark Mitchell <mark@codesourcery.com>
14680
14681 * c-common.c (warn_abi): New variable.
14682 * c-common.h (warn_abi): Likewise.
14683 * c-opts.c (COMMAND_LINE_OPTIONS): Add -Wabi.
14684 (c_common_decode_option): Handle it.
7ee425e4 14685 * doc/invoke.texi: Document -Wabi.
2567406a 14686
ece4ce85
NP
14687Tue Aug 27 23:03:52 2002 Nicola Pero <n.pero@mi.flashnet.it>
14688
14689 * c-common.c (warn_undeclared_selector): New variable.
14690 * c-common.h (warn_undeclared_selector): Idem.
14691 * c-opts.c (c_common_decode_option): Set warn_undeclared_selector
14692 to on when -Wundeclared-selector is found.
14693 (COMMAND_LINE_OPTIONS): Added -Wundeclared-selector.
14694 * objc/objc-act.c (build_selector_expr): If
14695 warn_undeclared_selector is set, check that the selector has
14696 already been defined, and emit a warning if not.
14697
b4378319 146982002-08-27 Nick Clifton <nickc@redhat.com>
54c93c30
AE
14699 Catherine Moore <clm@redhat.com>
14700 Jim Wilson <wilson@cygnus.com>
14701
14702 * config.gcc: Add v850e-*-* target.
14703 Add --with-cpu= support for v850.
14704 * config/v850/lib1funcs.asm: Add v850e callt functions.
14705 * config/v850/v850.h: Add support for v850e target.
14706 * config/v850/v850.c: Add functions to support v850e target.
14707 * config/v850/v850-protos.h: Add prototypes for new functions in v850.c.
14708 * config/v850/v850.md: Add patterns for v850e instructions.
14709 * doc/invoke.texi: Document new v850e command line switches.
b4378319 14710
ef261fee
R
14711Tue Aug 27 18:30:47 2002 J"orn Rennecke <joern.rennecke@superh.com>
14712 Aldy Hernandez <aldyh at redhat dot com>
14713
14714 * doc/tm.texi: Applied numerous fixes to the automaton based
14715 scheduler descrition.
14716
c60ee6f5
JH
14717Tue Aug 27 19:51:05 CEST 2002 Jan Hubicka <jh@suse.cz>
14718
14719 * i386.c (classify_argument): Handle variable sized objects.
14720
1985ef90
JH
14721Tue Aug 27 19:18:16 CEST 2002 Jan Hubicka <jh@suse.cz>
14722
14723 * i386.c (ix86_expand_int_movcc): Fix RTL sharing problem
14724
7acc97e0
JH
14725Tue Aug 27 18:01:45 CEST 2002 Jan Hubicka <jh@suse.cz>
14726
14727 * libgcc2.c (__bb_exit_func): Properly write the summarized statistics.
14728
23327dae
JH
14729Tue Aug 27 18:00:11 CEST 2002 Jan Hubicka <jh@suse.cz>
14730
14731 * i386.c (classify_argument): Properly compute word size of the analyzed object.
14732
c49439f1
R
14733Tue Aug 27 14:39:09 2002 J"orn Rennecke <joern.rennecke@superh.com>
14734
14735 * sh.md (attribute type): Add types mt_group, fload, pcfload, fpul_gp,
14736 mac_gp ftrc_s and cwb. Add / Adjust definitions in individual insn
14737 accordingly.
14738 (attribute insn_class): Provide default definitions based on type.
14739 Remove all insn-specific settings.
14740 (various function units): Remove old SH4 scheduling.
14741 (branch_zero, dfp_comp, late_fp_use, any_fp_comp, any_int_load):
14742 New attributes. Set them where appropriate.
14743 (cpu unit FS): Don't define / use.
14744 (F3, load_store): New cpu units.
14745 (F01): New reservation.
14746 (all insn_reservations): Make dependent on sh4 pipeline model.
14747 Fix latencies.
14748 (nil, reg_mov, freg_mov, sh4_fpul_gp, sh4_call): New insn_reservations.
14749 (sh4_mac_gp, fp_arith_ftrc, arith3, arith3b): Likewise.
14750 (mt insn_reservation): Use type mt_group.
14751 (insn_reservation load_store): Split into sh4_load, sh4_load_si,
14752 sh4_fload and sh4_store.
14753 (insn_reservation branch_zero and branch): Replace with sh4_branch.
14754 (insn_reservation branch_far): Replace with sh4_return.
14755 (insn_reservation return_from_exp): Rename to:
14756 (sh4_return_from_exp). Change to be just d_lock*5.
14757 (insn_reservation lds_to_pr): Rename to:
14758 (sh4_lds_to_pr). Change to be just d_lock*2.
14759 (insn_reservation ldsmem_to_pr, sts_from_pr): Change to be just
14760 d_lock*2.
14761 (insn_reservation prload_mem): Rename to:
14762 (sh4_prstore_mem). Change to d_lock*2,nothing,memory.
14763 (insn_reservation fpscr_store): Rename to:
14764 (fpscr_load). Change to d_lock,nothing,F1*3.
14765 (insn_reservation fpscr_store_mem): Rename to:
14766 (fpscr_load_mem). Change to d_lock,nothing,(F1+memory),F1*2.
14767 (insn_reservation multi): Change to
14768 d_lock,(d_lock+f1_1),(f1_1|f1_2)*3,F2.
14769 (insn_reservation fp_arith): Change to issue,F01,F2.
14770 (insn_reservation fp_div: Change to issue,F01+F3,F2+F3,F3*7,F1+F3,F2.
14771 (insn_reservation dp_float): Change to issue,F01,F1+F2,F2.
14772 (insn_reservation fp_double_arith): Change to issue,F01,F1+F2,fpu*4,F2.
14773 (insn_reservation fp_double_cmp): Change to
14774 d_lock,(d_lock+F01),F1+F2,F2.
14775 (insn_reservation dp_div): Change to
14776 issue,F01+F3,F1+F2+F3,F2+F3,F3*16,F1+F3,(fpu+F3)*2,F2.
14777 * sh.c (flow_dependent_p, flow_dependent_p_1): New functions.
14778 (sh_adjust_cost, SHcompact): Differentiate between different
14779 kinds of dependencies. Drop factor of ten for superscalar.
14780 Use new instruction types. Add new exception rules.
14781
14782 * sh.md (mulhisi3, umulhisi3: Add a REG_EQUAL note.
14783
14784 * sh.md (mperm_w): Add DONE.
14785
f34fc46e
DE
147862002-08-27 David Edelsohn <edelsohn@gnu.org>
14787
14788 * longlong.h: Import current PowerPC defintion from GMP-4.1.
14789
14790 * config/rs6000/rs6000.h (MIN_UNITS_PER_WORD): Add IN_LIBGCC2 case.
14791
14792 * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Undef before define.
14793
dcb44500
R
14794Tue Aug 27 13:53:57 2002 J"orn Rennecke <joern.rennecke@superh.com>
14795
14796 * sh.h (MAX_FIXED_MODE_SIZE): Define.
14797
3ec07554
GDR
147982002-08-27 Gabriel Dos Reis <gdr@soliton.integrable-solutions.net>
14799
14800 * doc/cpp.texi (Common Predefined Macros): Don't mess with table
2567406a 14801 delimiter.
3ec07554 14802
35885eab
GDR
148032002-08-27 Gabriel Dos Reis <gdr@integrable-solutions.net>
14804
14805 * c-common.c (cpp_define_data_format): New function.
14806 (cb_register_builtins): Call it.
14807
14808 * doc/cpp.texi (Common Predefined Macros): Document
14809 __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
14810 __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
14811 __TARGET_FLOAT_FORMAT__, __TARGET_USES_VAX_F_FLOAT__,
14812 __TARGET_USES_VAX_D_FLOAT__, __TARGET_USES_VAX_G_FLOAT__,
14813 __TARGET_USES_VAX_H_FLOAT__.
14814
d632dee9
ZL
148152002-08-26 Ziemowit Laski <zlaski@apple.com>
14816
14817 * objc/objc-act.c (get_super_receiver): If inside a class method
14818 of a category, cast the receiver to 'id' before accessing the 'isa'
14819 field so that <objc/objc-class.h> is not needed. For NeXT runtime.
14820
c3cc6b78
UW
148212002-08-26 Ulrich Weigand <uweigand@de.ibm.com>
14822
2567406a 14823 * config/s390/s390-protos.h (s390_function_prologue,
c3cc6b78
UW
14824 s390_function_epilogue): Remove.
14825 config/s390/s390.c (s390_function_prologue, s390_function_epilogue,
14826 TARGET_ASM_FUNCTION_PROLOGUE, TARGET_ASM_FUNCTION_EPILOGUE): Remove.
14827
14828 config/s390/s390.c (s390_machine_dependent_recorg): New function.
14829 config/s390/s390-protos.h (s390_machine_dependent_reorg): Declare it.
14830 config/s390/s390.h (MACHINE_DEPENDENT_REORG): Call it.
14831 config/s390/s390.c (s390_split_branches, s390_chunkify_pool): Adapt
14832 to being called from MACHINE_DEPENDENT_REORG. Update regs_ever_live.
14833
2567406a 14834 config/s390/s390.c (s390_frame_info): Inline save_fprs_p. Always
c3cc6b78
UW
14835 assume BASE_REGISTER and RETURN_REGNUM need to be saved.
14836 (s390_emit_prologue): Assume RETURN_REGNUM to be saved iff
14837 function is not a leaf function. Use save_gprs and restore_gprs.
14838 (s390_emit_epilogue): Likewise.
14839 (save_gprs, restore_gprs): New functions.
14840 (struct s390_frame): Remove return_reg_saved_p member.
14841 (save_fprs_p): Remove.
14842 (s390_optimize_prolog): New function.
14843 (s390_legitimate_reload_constant): Remove now unnecessary check.
14844
14845 (s390_function_count): Remove.
14846 (s390_output_symbolic_const): Replace s390_function_count by
14847 current_function_funcdef_no.
14848 (s390_output_constant_pool): Likewise.
14849
14850 (legitimize_pic_address): Use regs_ever_live to track PIC register
14851 instead of current_function_uses_pic_offset_table.
14852 (s390_emit_prologue): Likewise.
14853 config/s390/s390.md ("call", "call_value"): Likewise.
14854
3f662186
NB
148552002-08-26 Neil Booth <neil@daikokuya.co.uk>
14856
14857 * c-opts.c (find_opt): Don't complain about wrong languages
14858 here. Return exact matches even for wrong language.
14859 (c_common_decode_option): Complain about wrong languages
14860 here.
14861
b6128b8c
SH
148622002-08-24 Stuart Hastings <stuart@apple.com>
14863
14864 * function.h (struct function): Add flag
14865 all_throwers_are_sibcalls.
14866 * except.c (set_nothrow_function_flags): Replaces
14867 nothrow_function_p. Set new flag.
14868 * except.h (set_nothrow_function_flags): Replaces
14869 nothrow_function_p.
14870 * dwarf2out.c (struct dw_fde_struct): Add flag
14871 all_throwers_are_sibcalls.
14872 (output_call_frame_info): Test it.
14873 (dwarf2out_begin_prologue) Propagate it from cfun to
14874 dw_fde_struct.
14875 * toplev.c (rest_of_compilation): Update calls to
14876 nothrow_function_p.
14877
280cf02a
ZW
148782002-08-23 Zack Weinberg <zack@codesourcery.com>
14879
14880 * ggc-page.c (compute_inverse): Short circuit calculation for
14881 object sizes larger than half a page.
14882
c6664446
DE
148832002-08-23 David Edelsohn <edelsohn@gnu.org>
14884
14885 * config/rs6000/rs6000.c (rs6000_elf_select_section): Treat
14886 DEFAULT_ABI == ABI_AIX like PIC. Test PIC & reloc for readonly
14887 default.
14888 (rs6000_elf_unique_section): Likewise.
14889
da57d233
KG
148902002-08-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14891
14892 * ns32k.c (ns32k_globalize_label): Delete.
14893 * ns32k.h (ASM_OUTPUT_LABEL, TARGET_ASM_GLOBALIZE_LABEL): Delete.
14894
56a7189a
AM
148952002-08-23 Alan Modra <amodra@bigpond.net.au>
14896
14897 * config/rs6000/rs6000.c (output_mi_thunk): Don't determine insns
14898 for loading delta with num_insns_constant_wide. Calculate
14899 delta_low, delta_high without using a conditional.
14900
d65b1d77
JM
149012002-08-22 Jason Merrill <jason@redhat.com>
14902
14903 * c-common.h (RETURN_STMT_EXPR): Rename from RETURN_EXPR.
14904 * c-common.def: Adjust.
14905 * c-dump.c (c_dump_tree): Adjust.
14906 * c-semantics.c (genrtl_return_stmt): Adjust.
14907 * c-pretty-print.c (pp_c_statement): Adjust.
14908 * tree-inline.c (copy_body_r): Adjust.
14909
8537ed68
ZW
149102002-08-22 Zack Weinberg <zack@codesourcery.com>
14911
14912 * ggc-page.c: Avoid division in ggc_set_mark.
14913 (DIV_MULT, DIV_SHIFT, OFFSET_TO_BIT, inverse_table,
14914 compute_inverse): New.
14915 (ggc_set_mark, ggc_marked_p): Use OFFSET_TO_BIT.
14916 (init_ggc): Initialize inverse_table.
14917
8567c70f
TT
149182002-08-22 Tom Tromey <tromey@redhat.com>
14919
14920 * doc/install.texi (Configuration): Document --datadir.
14921
fde59d4b
AO
149222002-08-22 Alexandre Oliva <aoliva@redhat.com>
14923
14924 * Makefile.in ($(BUILD_PREFIX_1)varray.o): Depend on $(GGC_H).
14925
44ddc79a
HPN
149262002-08-22 Hans-Peter Nilsson <hp@bitrange.com>
14927
14928 * gengtype-lex.l (ID): Allow underscore as first character.
14929
b275d088
DE
149302002-08-21 David Edelsohn <edelsohn@gnu.org>
14931
14932 * config/rs6000/rs6000.c (rs6000_xcoff_asm_globalize_label): New
14933 function.
14934 (rs6000_xcoff_asm_named_section): Rename.
14935 * config/rs6000/xcoff.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
14936
57ce46bb
TT
149372002-08-21 Tom Tromey <tromey@redhat.com>
14938
14939 For PR java/6005 and PR java/7611:
14940 * fold-const.c (fold_truthop): Use can_use_bit_fields_p.
14941 (fold): Likewise.
14942 * langhooks.c (lhd_can_use_bit_fields_p): New function.
14943 * langhooks-def.h (lhd_can_use_bit_fields_p): Declare.
14944 (LANG_HOOKS_CAN_USE_BIT_FIELDS_P): New define.
14945 (LANG_HOOKS_INITIALIZER): Use it.
14946 * langhooks.h (struct lang_hooks) [can_use_bit_fields_p]: New
14947 field.
14948
27d30956
SS
149492002-08-21 Stan Shebs <shebs@apple.com>
14950
14951 * tree.c (finish_vector_type): Fix a typo in a comment.
14952 * Makefile.in: Fix "the the" stutters in comments.
14953 * genautomata.c: Ditto.
14954 * ifcvt.c: Ditto.
14955 * regrename.c: Ditto.
14956 * config/alpha/alpha.c: Ditto.
14957 * config/alpha/vms-crt0-64.c: Ditto.
14958 * config/alpha/vms-crt0.c: Ditto.
14959 * config/alpha/vms-psxcrt0-64.c: Ditto.
14960 * config/alpha/vms-psxcrt0.c: Ditto.
14961 * config/d30v/d30v.h: Ditto.
14962 * config/fr30/fr30.h: Ditto.
14963 * config/rs6000/rs6000.c: Ditto.
14964 * config/stormy16/stormy16.h: Ditto.
14965 * doc/md.texi: Ditto.
8537ed68 14966
d873d827
JDA
149672002-08-21 John David Anglin <dave@hiauly1.hia.nrc.ca>
14968
14969 * cppinit.c (remove_dup_nonsys_dirs): Fix warning and return value.
14970
b462d4ab
JM
149712002-08-21 Joseph S. Myers <jsm@polyomino.org.uk>
14972
14973 * c-decl.c (grokdeclarator): Make invalid combinations with long,
14974 short, signed or unsigned into hard errors. Fixes PR c/4319.
14975 Also make duplicate modifiers such as "short short" into hard
14976 errors.
14977
b65d23aa 149782002-08-21 Andrew Pinski <pinskia@physics.uc.edu>
8537ed68 14979 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
b65d23aa
AP
14980
14981 * doc/tm.texi (TARGET_ASM_GLOBALIZE_LABEL): Move '@end deftypefn'
14982 to the actual end. Add '@end table' and '@table @code'.
8537ed68 14983
3823f0b2
GK
149842002-08-20 Geoffrey Keating <geoffk@redhat.com>
14985
8d25d915
GK
14986 * doc/tm.texi (Label Output): Add missing '@end deftypefn'.
14987
3823f0b2
GK
14988 * unroll.c (biv_total_increment): Don't try to compute the total
14989 increment for FP BIVs.
14990
5eb99654
KG
149912002-08-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14992
14993 * alpha.c (TARGET_ASM_GLOBALIZE_LABEL): Define for unicosmk.
14994 * alpha/elf.h (ASM_OUTPUT_EXTERNAL_LIBCALL,
14995 ASM_OUTPUT_ALIGNED_BSS): Use target hook.
14996 * alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS): Likewise.
14997 * alpha/unicosmk.h (ASM_GLOBALIZE_LABEL): Delete.
14998 * arm/aof.h (ASM_GLOBALIZE_LABEL): Likewise.
14999 (GLOBAL_ASM_OP): Define.
15000 * arm.c (aof_globalize_label): New function.
15001 (TARGET_ASM_GLOBALIZE_LABEL): Define for AOF.
15002 * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
15003 * c4x.c (c4x_globalize_label): New function.
15004 (TARGET_ASM_GLOBALIZE_LABEL): Define for c4x.
15005 * c4x.h (ASM_GLOBALIZE_LABEL): Delete.
15006 (GLOBAL_ASM_OP): Define.
15007 * cris/aout.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
15008 * darwin-protos.h (darwin_globalize_label): Declare.
15009 * darwin.c (darwin_globalize_label): New function.
15010 * darwin.h (ASM_DECLARE_CLASS_REFERENCE): Use target hook.
15011 (ASM_GLOBALIZE_LABEL): Delete.
15012 (GLOBAL_ASM_OP, TARGET_ASM_GLOBALIZE_LABEL): Define.
15013 * dsp16xx.c (asm_output_common): Use target hook.
15014 * elfos.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise.
15015 * frv.h (ASM_GLOBALIZE_LABEL): Delete.
15016 (GLOBAL_ASM_OP): Define.
15017 * i370.c (i370_globalize_label): New function.
15018 (TARGET_ASM_GLOBALIZE_LABEL): Define for i370.
15019 * i370.h (ASM_GLOBALIZE_LABEL): Delete.
15020 * i386.c (ix86_asm_file_end): Use target hook.
15021 * i386/sco5.h (ASM_GLOBALIZE_LABEL): Don't undef.
15022 (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
15023 * ia64.c (ia64_asm_output_external): Likewise.
15024 * ia64/sysv4.h: Update comment.
15025 * m32r.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
15026 * mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
15027 * mips/iris5.h (ASM_OUTPUT_WEAK_ALIAS): Use target hook.
15028 * mips/linux.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
15029 * mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Use target hook.
15030 * mmix-protos.h (mmix_asm_globalize_label): Delete.
15031 * mmix.c (mmix_asm_globalize_label): Likewise.
15032 * mmix.h (ASM_GLOBALIZE_LABEL): Likewise.
15033 (GLOBAL_ASM_OP): Define.
15034 * ns32k.c (ns32k_globalize_label): New function.
15035 * ns32k.h (TARGET_ASM_GLOBALIZE_LABEL): Define for ns32k.
15036 (ASM_GLOBALIZE_LABEL): Delete.
15037 * pa/pa-linux.h (ASM_GLOBALIZE_LABEL): Don't undef.
15038 (TARGET_ASM_GLOBALIZE_LABEL): Undefine.
15039 * pa.c (pa_globalize_label): New function.
15040 * pa.h (ASM_GLOBALIZE_LABEL): Delete.
15041 (TARGET_ASM_GLOBALIZE_LABEL): Define for pa.
15042 * rs6000/darwin.h (ASM_GLOBALIZE_LABEL): Delete.
15043 (GLOBAL_ASM_OP): Define.
15044 (TARGET_ASM_GLOBALIZE_LABEL): Undef.
15045 * rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
15046 * rs6000/xcoff.h (ASM_GLOBALIZE_LABEL): Delete.
15047 (GLOBAL_ASM_OP): Define.
15048 * v850.c (v850_output_aligned_bss): Use target hook.
15049 * vax.c (vms_globalize_label): New function.
15050 (TARGET_ASM_GLOBALIZE_LABEL): Define for vms.
15051 * vax/vms.h (ASM_GLOBALIZE_LABEL): Delete.
15052 (GLOBAL_ASM_OP): Define.
15053 * defaults.h (ASM_GLOBALIZE_LABEL): Delete.
15054 * doc/tm.texi: Update docs.
15055 * dwarf2out.c (default_eh_frame_section, output_die_symbol): Use
15056 target hook.
15057 * final.c (output_alternate_entry_point): Likewise.
15058 * hooks.c (hook_FILEptr_constcharptr_void): New function.
15059 * hooks.h (hook_FILEptr_constcharptr_void): Declare.
15060 * output.h (assemble_global): Delete.
15061 (default_globalize_label): Declare.
15062 * system.h (ASM_GLOBALIZE_LABEL): Poison.
15063 * target-def.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
15064 (TARGET_ASM_OUT): Add TARGET_ASM_GLOBALIZE_LABEL.
15065 * target.h (gcc_target): Add globalize_label member.
15066 * varasm.c (asm_output_bss, asm_output_aligned_bss,
15067 globalize_decl): Use target hook.
15068 (assemble_global): Delete.
15069 (default_globalize_label): New function.
15070
f8f28a75
KG
150712002-08-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15072
15073 * dsp16xx.h (dsp16xx_umulhi3_libcall): Delete.
15074
92b5aacd
DP
150752002-08-20 Devang Patel <dpatel@apple.com>
15076 * tree.c (get_qualified_type): Add TYPE_CONTEXT check.
8537ed68 15077
761c70aa
KG
150782002-08-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15079
15080 * arc.c (output_shift): Use stdio instead of asm_fprintf.
15081 * arm.c (thumb_output_function_prologue): Likewise.
15082 * avr.c (print_operand): Likewise.
15083 * c4x.c (c4x_print_operand): Likewise.
15084 * c4x.h (ASM_OUTPUT_INTERNAL_LABEL, TRAMPOLINE_TEMPLATE,
15085 ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Likewise.
15086 * cris.c (cris_target_asm_function_prologue,
15087 cris_asm_output_mi_thunk): Likewise.
15088 * h8300.c (print_operand): Likewise.
15089 * h8300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
15090 * ip2k.c (print_operand): Likewise. Fix format specifier.
15091 * m68hc11.c (asm_print_register, print_operand,
15092 print_operand_address): Use stdio instead of asm_fprintf.
15093 (print_operand_address): Fix format specifier.
15094 * m68hc11.h (FUNCTION_PROFILER, ASM_OUTPUT_ADDR_DIFF_ELT,
15095 ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ALIGN): Use stdio instead of
15096 asm_fprintf.
15097 * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15098 * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15099 * m68k.c (m68k_output_function_prologue,
15100 m68k_output_function_epilogue, print_operand): Likewise.
15101 * mmix.c (mmix_asm_output_mi_thunk, mmix_asm_weaken_label):
15102 Likewise. Fix format specifier.
15103 * mn10200.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
15104 * mn10300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
15105 * v850.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
15106
5ce6f47b
EC
151072002-08-15 Eric Christopher <echristo@redhat.com>
15108 Jeff Knaggs <jknaggs@redhat.com>
15109
15110 * config.gcc (mipsisa64sr71k-elf): New target.
15111 * config/mips/sr71k.md: New file.
15112 * config/mips/mips.md: Use it.
15113 (rot*): Add sr71k specifics.
15114 * config/mips/t-sr71k: New file.
15115 * config/mips/mips.h (sr71k): New cpu.
15116 (TARGET_SR71K): Use it.
15117 (TUNE_SR71K): Ditto.
15118 (GENERATE_BRANCHLIKELY): Ditto.
15119 (ISA_HAS_MULHI, ISA_HAS_MULS, ISA_HAS_MSAC, ISA_HAS_MACC,
15120 ISA_HAS_ROTR_SIISA_HAS_ROTR_DI): Ditto.
15121 * config/mips/mips.c (sr71k): New cpu.
15122 (mips_use_dfa_pipeline_interface): Use.
15123
151242002-08-15 Eric Christopher <echristo@redhat.com>
8537ed68 15125 Richard Sandiford <rsandifo@redhat.com>
5ce6f47b
EC
15126 Aldy Hernandez <aldyh@redhat.com>
15127 Graham Stott <grahams@redhat.com>
15128 Michael Meissner <meissner@redhat.com>
15129 Gavin Romig-Koch <gavin@redhat.com>
15130 Ken Raeburn <raeburn@cygnus.com>
15131 Alexandre Oliva <aoliva@redhat.com>
15132
15133 * config.gcc (mips64vr-elf): New target.
15134 * config/mips/5400.md: New file.
15135 * config/mips/5500.md: Ditto.
15136 * config/mips/mips.md: Use them.
15137 (frsqrt): New.
15138 * config/mips/mips.c (vr4111, vr4121, vr4320, vr5400, vr5500): New
15139 cpus.
15140 (mips_issue_rate): Use them.
15141 (mips_use_dfa_pipeline_interface): New function. Use for 5400 and 5500.
15142 (TARGET_SCHEDUSE_DFA_PIPELINE_INTERFACE): Define. Use above.
15143 * config/mips/mips.h (vr4111, vr4121, vr4320, vr5400, vr5500): New
15144 cpus.
15145 (TARGET_MIPSx): Use them.
15146 (TUNE_MIPSx): Ditto.
15147 (GETNATE_MULT3_SI): Ditto.
15148 (ISA_HAS_BRANCHLIKELY): Ditto.
15149 (ISA_HAS_CONDMOVE): Ditto.
15150 (ISA_HAS_NMADD_NMSUB): Ditto.
15151 (ISA_HAS_MULHI): New. Ditto.
15152 (ISA_HAS_MULS): Ditto.
15153 (ISA_HAS_MSAC): Ditto.
15154 (ISA_HAS_MACC): Ditto.
15155 (ISA_HAS_ROTR_SI): Ditto.
15156 (ISA_HAS_ROTR_DI): Ditto.
15157 (RTX_COSTS): Use.
15158
48209ce5
JDA
151592002-08-20 John David Anglin <dave@hiauly1.hia.nrc.ca>
15160
15161 * cppinit.c (remove_dup_dir): Add head_ptr argument to handle removal
15162 at head.
15163 (remove_dup_nonsys_dirs): New function.
15164 (remove_dup_dirs): Change argument head to head_ptr. Remove warnings.
15165 (merge_include_chains): Remove non-system include directories from
15166 quote and bracket include chains when they duplicate equivalent system
15167 directories.
15168 * doc/cpp.texi (-I): Update.
8537ed68
ZW
15169 * doc/cppopts.texi (-I): Update.
15170 * doc/install.texi (--with-local-prefix): Further document usage of
48209ce5
JDA
15171 this option.
15172 * doc/invoke.texi (-I): Update.
15173
4ca79136
RH
151742002-08-20 Richard Henderson <rth@redhat.com>
15175
15176 * expr.c (TARGET_MEM_FUNCTIONS): Transform to boolean.
15177 (emit_block_move): Split out subroutines.
15178 (emit_block_move_via_movstr): New.
15179 (emit_block_move_via_libcall): New. Emit bcopy via normal call also.
15180 (emit_block_move_libcall_fn): New. Construct function prototype for
15181 bcopy as well.
15182 (clear_storage): Split out subroutines.
15183 (clear_storage_via_clrstr): New.
15184 (clear_storage_via_libcall): New. Emit bzero as a normal call also.
15185 (clear_storage_libcall_fn): New. Construct function prototype for
15186 bzero as well.
15187 (emit_push_insn): Use emit_block_move.
15188 (expand_assignment): Booleanize TARGET_MEM_FUNCTIONS.
15189 (store_constructor): Likewise.
15190
9f05cef3
ZL
151912002-08-19 Ziemowit Laski <zlaski@apple.com>
15192
15193 * objc/objc-act.c (building_objc_message_expr): Rename to
15194 current_objc_message_selector.
15195
1bd5981b
ZL
151962002-08-19 Ziemowit Laski <zlaski@apple.com>
15197
15198 * objc/objc-act.c (build_ivar_chain): Remove.
15199 (objc_copy_list): Likewise.
15200 (get_class_ivars): Inline call to removed build_ivar_chain
15201 function. Save off a clean copy of ivars in the CLASS_OWN_IVARS
15202 slot; use that slot (rather than CLASS_IVARS) when accessing
15203 ivars for base classes. Call copy_list and chainon instead of
15204 objc_copy_list.
15205 (build_private_template): Call get_class_ivars instead of
15206 build_ivar_chain.
15207 (start_class): Allocate room for the CLASS_OWN_IVARS slot.
5ce6f47b 15208 (continue_class): Call get_class_ivars instead of
1bd5981b
ZL
15209 build_ivar_chain.
15210 (encode_field_decl): Check for DECL_BIT_FIELD_TYPE instead
15211 of DECL_BIT_FIELD (which may have been cleared).
15212 * objc/objc-act.h (CLASS_OWN_IVARS): New accessor macro.
15213
2bf087c0
KG
152142002-08-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15215
15216 * genautomata.c (output_translate_vect, output_state_ainsn_table,
15217 output_min_issue_delay_table): Mark variable with ATTRIBUTE_UNUSED
15218 in output file.
15219 (output_internal_min_issue_delay_func): Initialize variable in
15220 output file.
15221
3fcd079e
AO
152222002-08-19 Alexandre Oliva <aoliva@redhat.com>
15223
15224 * Makefile.in (GCC_FOR_TARGET): Prepend STAGE_CC_WRAPPER.
15225 (stage2_build, stage3_build, stage4_build): Likewise, to CC.
15226
71012d97
GK
152272002-08-19 Geoffrey Keating <geoffk@redhat.com>
15228 Steve Ellcey <sje@cup.hp.com>
15229
15230 * machmode.h (SCALAR_INT_MODE_P): New macro to test for
15231 scaler integer mode (MODE_INT or MODE_PARTIAL_INT).
15232 * explow.c (trunc_int_for_mode): Abort when the mode is not
15233 a scaler integer mode.
15234 * combine.c (expand_compound_operation): Don't expand Vector
15235 or Complex modes into shifts.
15236 (expand_field_assignment): Don't do bitwise arithmatic and
15237 shifts on Vector or Complex modes.
15238 (simplify_comparison): Don't call trunc_int_for_mode
15239 for VOIDmode.
15240 * recog.c (general_operand): Likewise.
15241 (immediate_operand): Likewise.
15242 (nonmemory_operand): Likewise.
15243
af8cb5c5
DE
152442002-08-19 David Edelsohn <edelsohn@gnu.org>
15245
15246 * config/rs6000/rs6000.c (rs6000_emit_set_const): Inline
15247 multi-instruction SImode constant. Add REG_EQUAL note.
15248 * config/rs6000/rs6000.md (movsi splitter): Use
5ce6f47b 15249 rs6000_emit_set_const.
af8cb5c5 15250
9bc146b3
KG
152512002-08-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15252
15253 * tree-inline.c (initialize_inlined_parameters): Wrap variable in
15254 the macro test controlling its use.
15255
66df2ac2
L
152562002-08-18 H.J. Lu (hjl@gnu.org)
15257
15258 * config.gcc (*-*-linux*): Set extra_parts="crtbegin.o
15259 crtbeginS.o crtbeginT.o crtend.o crtendS.o", gas=yes and
15260 gnu_ld=yes.
15261 (alpha*-*-linux*, cris-*-linux*, i370-*-linux*,
15262 i[34567]86-*-linux*, x86_64-*-linux*, mips*-*-linux*,
15263 s390-*-linux*, s390x-*-linux*, sparc-*-linux*, sparc64-*-linux*,
15264 xtensa-*-linux*): Remove setting extra_parts, gas, and gnu_ld
15265 here.
15266 (cris-*-linux*): Remove setting thread_file here.
15267
463f1b2b
NB
152682002-08-18 Neil Booth <neil@daikokuya.co.uk>
15269
15270 PR preprocessor/7602
15271 * cppinit.c (path_include): Treat the system environment
15272 variables as being cxx_aware.
15273
2984fe64
JM
152742002-08-17 Joseph S. Myers <jsm@polyomino.org.uk>
15275
15276 * c-decl.c (flexible_array_type_p): New function.
15277 (grokdeclarator, finish_struct): Use it.
15278 * doc/extend.texi: Document constraints on use of structures with
15279 flexible array members.
15280
fded6d78
RS
152812002-08-17 Richard Sandiford <rsandifo@redhat.com>
15282
15283 * config/mips/t-coff, config/mips/t-elf, config/mips/t-isa3264,
15284 config/mips/t-r3900 (MULTILIB_MATCHES): Define.
15285 * config/mips/mips.h (ASM_SPEC): Use %(endian_spec).
15286
8aa5074e
SS
152872002-08-16 Stan Shebs <shebs@apple.com>
15288
15289 * c-common.c (cb_register_builds): Define __NEXT_RUNTIME__
15290 for ObjC with -fnext-runtime.
15291 * doc/cpp.texi: Document it.
15292
f97a5bda
JJ
152932002-08-16 Janis Johnson <janis187@us.ibm.com>
15294
15295 * doc/install.texi (Final installation): Replace links to individual
15296 build status pages with a link to a common page that lists them all.
15297
d3075b6c
SP
152982002-08-16 Sylvain Pion <pion@cs.nyu.edu>
15299
15300 * doc/invoke.texi: Fix typo.
15301
fdf68669
DE
153022002-08-16 David Edelsohn <edelsohn@gnu.org>
15303
15304 * doc/install.texi (*-ibm-aix*): Explain AIX shared object versioning.
15305
153062002-08-16 Andrew Haley <aph@redhat.com>
d436bff8
AH
15307
15308 * tree-inline.c: Add includes for Java inliner.
15309 (remap_decl): Don't handle anonymous types for Java.
15310 (remap_block): Add handling for Java trees.
15311 (copy_scope_stmt): Conditionalize for non-Java use only.
15312 (copy_body_r): Handle Java trees. Add handling for
15313 LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR, Java blocks.
15314 (initialize_inlined_parameters): Handle Java trees.
15315 (declare_return_variable): Likewise.
15316 (expand_call_inline): Handle Java trees.
15317 (walk_tree): Likewise.
15318 (copy_tree_r): Don't handle SCOPE_STMTs for Java.
15319 (add_stmt_to_compound): New function.
15320
204250d2
RH
153212002-08-15 Richard Henderson <rth@redhat.com>
15322
15323 * Makefile.in (LOOSE_WARN): Remove -fno-common.
15324 (NOCOMMON_FLAG): New substitution point.
15325 (GCC_WARN_CFLAGS): Include it.
15326 * configure.in (ac_checking): Set nocommon_flag.
15327 (nocommon_flag): New substitution point.
15328
25587e40
AO
153292002-08-15 Alexandre Oliva <aoliva@redhat.com>
15330
15331 * c-tree.h (skip_evaluation): Move declaration...
15332 * c-common.h: ... here.
15333 * c-typeck.c (build_external_ref): Don't assemble_external nor
15334 mark a tree as used if skip_evaluation is set.
15335 * c-parse.in (typeof): New non-terminal to set skip_evaluation
15336 around TYPEOF.
15337 (typespec_nonreserved_nonattr): Use it.
15338
702ada3d
DR
153392002-08-15 Douglas B Rupp <rupp@gnat.com>
15340
15341 * dbxout.c (dbx_debug_hooks): Update end_prologue, end_epilogue.
15342 (xcoff_debug_hooks): Update end_prologue.
15343 * debug.c (do_nothing_debug_hooks): Update end_prologue, end_epilogue.
15344 * debug.h (end_prologue): Add file arg.
15345 (end_epilogue): Add line and file args.
15346 (dwarf2out_end_epilogue): Add line and file args.
15347 (vmsdbgout_after_prologue): Remove.
15348 * dwarf2out.c (dwarf2out_end_epilogue): Add line and file args.
15349 (dwarf2_debug_hooks): Update end_prologue.
15350 * dwarfout.c (dwarfout_end_epilogue): Add line and file args.
15351 (dwarfout_end_prologue): Add file arg.
15352 * final.c (vmsdbgout_after_prologue): Remove
15353 (final_end_function): Update end_epilogue call.
15354 (final_scan_insn): Update end_prologue call.
15355 * sdbout.c (sdbout_end_epilogue): Add line and file args.
15356 (sdbout_end_prologue): Add file arg.
15357 (sdb_debug_hooks): Update end_prologue.
15358 (sdb_begin_prologue): Update sdbout_end_prologue call.
15359 * vmsdbgout.c (vmsdbg_debug_hooks): Add vmsdbgout_end_prologue,
15360 vmsdbgout_end_function.
15361 (vmsdbgout_end_prologue): New function renamed from
15362 vmsdbgout_after_prologue. Call vmsdbgout_source_line.
15363 (vmsdbgout_end_function): New function.
15364 (vmsdbgout_end_epilogue): Add line and file args. Call
15365 vmsdbgout_source_line.
15366 (write_pclines): Write only valid line numbers.
15367 (write_srccorr): Don't write source correlation records if 0 lines.
15368 * xcoffout.c (xcoffout_end_epilogue): Add line and file args.
15369
9ef30f83
SE
153702002-08-15 Steve Ellcey <sje@cup.hp.com>
15371
15372 * gcc/unwind.h (_Unwind_Ptr): Make 64 bits on IA64 HP-UX.
15373 (_Unwind_Internal_Ptr): 32 bit version for use in
15374 read_encoded_value_with_base.
15375 * gcc/unwind-pe.h (read_encoded_value_with_base): Use
15376 _Unwind_Internal_Ptr instead of _Unwind_Ptr in order to get the
15377 right size.
15378
f7043461
KG
153792002-08-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15380
15381 * loop.c (scan_loop, move_movables, count_one_set): Cast to avoid
15382 signed/unsigned warnings.
15383
15384 * regclass.c (init_reg_sets_1, choose_hard_reg_mode,
15385 record_reg_classes): Likewise.
15386
15387 * reload.c (reload_inner_reg_of_subreg, push_reload,
15388 find_reloads_address_1): Likewise.
15389
b4d330e1
DE
153902002-08-15 David Edelsohn <edelsohn@gnu.org>
15391
15392 * rs6000.c (output_mi_thunk): Return to function section on
15393 TARGET_ELF.
15394
15395 * rs6000-c.c (rs6000_cpu_cpp_builtins): Define __PPC405__ if PPC405.
15396
61f02ff5
UW
153972002-08-15 Ulrich Weigand <uweigand@de.ibm.com>
15398
15399 * config/s390/s390.c (legitimize_address): Optimize loading
15400 of large displacements.
15401
1330f7d5
DR
154022002-08-14 Douglas B Rupp <rupp@gnat.com>
15403
15404 * config/alpha/alpha-protos.h: Update.
15405
15406 * config/alpha/alpha.c: (LINKAGE_SYMBOL_REF_P): New macro.
15407 (alpha_legitimate_address_p): Test LINKAGE_SYMBOL_REF_P.
15408 (alpha_linkage_symbol_p): New static function.
15409 (print_operand_address): Print linkage operand.
15410
15411 (alpha_funcs_num, alpha_funcs_tree, alpha_links_tree): New static
15412 variables.
15413 (reloc_kind): New enum.
15414 (struct alpha_funcs): New struct.
15415 (struct alpha_links): Add reloc_kind field. Rename links_kind field.
15416
15417 (alpha_need_linkage): Rewrite.
15418 (alpha_use_linkage): New global function.
15419 (alpha_write_linkage): Rewrite and make static.
15420 (alpha_write_one_linkage): Rewrite
15421
15422 (alpha_start_function): Remove procedure descriptor output.
15423 (alpha_end_function): Write linkages at end of each function.
15424
15425 * config/alpha/alpha.md (call_vms, call_value_vms): Rewrite.
15426 (call_vms_1, call_value_vms_1): Rewrite.
15427
15428 * config/alpha/vms.h (ASM_FILE_END): Remove.
15429
d1f1cc6a
RH
154302002-08-14 Richard Henderson <rth@redhat.com>
15431
15432 * ggc-page.c (RTL_SIZE): New.
15433 (extra_order_size_table): Add specializations for 2 and 10 rtl slots.
15434 * rtl.def (BARRIER, NOTE): Pad to 9 slots.
15435
23626154
RH
154362002-08-14 Richard Henderson <rth@redhat.com>
15437
15438 * calls.c: Include target.h.
15439 * Makefile.in (calls.o): Update.
15440
15441 * config/alpha/alpha.c (alpha_end_function): Use targetm.binds_local_p.
15442 * config/alpha/alpha.h (FUNCTION_OK_FOR_SIBCALL): Likewise.
15443
fd350d24
RH
154442002-08-14 Richard Henderson <rth@redhat.com>
15445
15446 * Makefile.in (LOOSE_WARN): Add -fno-common.
15447 * c-common.h (constant_string_class_name): Add missing extern.
15448
182d89a3
NB
154492002-08-15 Neil Booth <neil@daikokuya.co.uk>
15450
15451 PR preprocessor/7358
15452 * c-opts.c (check_deps_environment_vars): Ignore main file
15453 for SUNPRO_DEPENDENCIES.
15454 * cppfiles.c (stack_include_file): Ignore main file if
15455 appropriate.
15456 * cpplib.h (struct cpp_options): New member in deps.
15457 * doc/cppenv.texi: Update.
15458
8bfb1467
NB
154592002-08-14 Neil Booth <neil@daikokuya.co.uk>
15460
15461 PR preprocessor/7526
15462 * cpplib.c (run_directive): Kludge so _Pragma dependency works.
15463
41685063
NS
154642002-08-14 Nathan Sidwell <nathan@codesourcery.com>
15465
15466 * doc/invoke.texi (-a): Remove documentation.
15467 (-fprofile-arcs): Remove reference to -a, -ax options.
15468 * doc/gcov.texi (Gcov Data Files): Data might be merged.
15469
77893a23
GDR
154702002-08-14 Gabriel Dos Reis <gdr@nerim.net>
15471
15472 Fix PR/7566
15473 * c-semantics.c (genrtl_case_label): Don't (mis)use
5ce6f47b 15474 warning_with_decl.
77893a23 15475
260f91c2
DJ
154762002-08-14 Dale Johannesen <dalej@apple.com>
15477
8537ed68 15478 * explow.c (emit_stack_restore): Emit memory clobbers
260f91c2
DJ
15479 preceding the stack pop, to prevent the scheduler from
15480 moving refs to variable arrays below this pop.
15481 * reload1.c (reload): Preserve these clobbers for sched2.
15482 * doc/rtl.texi: Document clobber (mem:BLK (scratch)).
15483
cd79e210
NB
154842002-08-14 Neil Booth <neil@daikokuya.co.uk>
15485
15486 * c-opts.c (c_common_post_options): Correct test.
15487
3eb75a73
KG
154882002-08-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15489
15490 * m88k.h (ASM_OUTPUT_SOURCE_FILENAME): Fix incorrect argument
15491 order in call to fprintf.
15492
be3a0ce2
RO
154932002-08-14 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
15494
15495 * config/sparc/sol2.h (SUBTARGET_EXTRA_SPECS): Define.
15496
ccfc6cc8
UW
154972002-08-14 Ulrich Weigand <uweigand@de.ibm.com>
15498
5ce6f47b 15499 * reload.c (find_reloads): Handle constraint letters marked by
ccfc6cc8
UW
15500 EXTRA_ADDRESS_CONSTRAINT and EXTRA_MEMORY_CONSTRAINT.
15501 (alternative_allows_memconst): Likewise.
15502 * reload1.c (maybe_fix_stack_asms): Likewise.
5ce6f47b 15503 * recog.c (asm_operand_ok, preprocess_constraints,
ccfc6cc8
UW
15504 constrain_operands): Likewise.
15505 * regclass.c (record_operand_costs, record_reg_classes): Likewise.
15506 * local-alloc.c (block_alloc, requires_inout): Likewise.
15507 * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
15508
15509 * defaults.h (EXTRA_MEMORY_CONSTRAINT): Provide a default.
15510 (EXTRA_ADDRESS_CONSTRAINT): Likewise.
15511 * doc/tm.texi: Document these two new target macros.
15512
15513 * config/s390/s390.c (s390_expand_plus_operand): Accept already
15514 valid operands.
15515 (q_constraint): New function.
15516 config/s390/s390-protos.h (q_constraint): Declare it.
15517 config/s390/s390.h (EXTRA_CONSTRAINT): Use it.
15518 (EXTRA_MEMORY_CONSTRAINT): New macro.
15519
15520 * config/s390/s390.md: Throughout the machine description,
15521 replace all instances of the constraint combinations 'Qo'
15522 or 'oQ' with simply 'Q'.
15523
d6ee9f6f
SC
155242002-08-14 Stephane Carrez <stcarrez@nerim.fr>
15525
15526 * config/m68hc11/m68hc11.h (LINK_SPEC): Support -mrelax.
15527 * config/m68hc11/t-m68hc11-gas (LIBGCC2_DEBUG_CFLAGS): Can use -g now.
15528 (LIBGCC2_CFLAGS): Compile with -mrelax.
15529
8a0b86f5
SC
155302002-08-14 Stephane Carrez <stcarrez@nerim.fr>
15531
15532 * doc/invoke.texi: Document -minmax for 68HC12.
15533
15534 * config/m68hc11/m68hc11.md ("umaxqi3"): Use TARGET_MIN_MAX.
15535 ("uminqi3"): Likewise.
15536 ("uminhi3", "umaxhi3"): Likewise.
15537
15538 * config/m68hc11/m68hc11.h (MASK_MIN_MAX): Define.
15539 (TARGET_MIN_MAX): Define.
15540 (TARGET_SWITCHES): New option -minmax/-mnominmax.
15541
d6381f4e
SC
155422002-08-14 Stephane Carrez <stcarrez@nerim.fr>
15543
15544 * config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Build __far_trampoline.
15545 (MULTILIB_OPTIONS): Must also generate for -mlong-calls.
15546
15547 * config/m68hc11/larith.asm: Put a mode for ELF ABI flags.
15548 (ret, declare, farsym): New gas macros.
15549 (__premain, exit, abort, _cleanup, memcpy, memset, ___adddi3,
15550 ___subdi3, ___notdi2, __mulhi32, __mulsi3): Use them to use 'rtc'
15551 and declare the symbol far when compiled with -mlong-calls.
5ce6f47b 15552 (__far_trampoline): New for 68HC12 trampoline code to invoke a
d6381f4e
SC
15553 far handler using jsr/bsr.
15554
15555 * config/m68hc11/m68hc11-crt0.S: Put a mode for ELF ABI flags.
15556 (jsr): New macro to transform a 'jsr' into a 'call'.
15557
058edcdb
SC
155582002-08-14 Stephane Carrez <stcarrez@nerim.fr>
15559
15560 * doc/invoke.texi: Document -mlong-calls for 68HC12.
15561
15562 * config/m68hc11/m68hc11.h (CPP_SPEC): Pass -D__USE_RTC__ when
15563 -mlong-calls is specified.
5ce6f47b 15564 (ASM_DECLARE_FUNCTION_NAME): Define to generate .far and .interrupt
058edcdb
SC
15565 assembler directives.
15566 (TARGET_LONG_CALL, MASK_LONG_CALL): Declare.
15567 (TARGET_SWITCHES): Add -mlong-calls options.
15568 (current_function_far): Declare.
15569
15570 * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset): Take
15571 into account the page register saved on the stack.
15572 (m68hc11_override_options): Take into account -mlong-calls option.
15573 (m68hc11_asm_file_start): Put a mode for the ELF flags ABI.
15574
15575 * config/m68hc11/m68hc11.md ("*return_32bit"): Return rtc
15576 if the function is going to be in 68HC12 banked memory (-mlong-calls).
15577 ("*return_16bit"): Likewise.
15578 ("*return_void"): Likewise.
15579 ("call", "call_value"): Use call for a far function call.
15580
c79043f3
NB
155812002-08-14 Neil Booth <neil@daikokuya.co.uk>
15582
15583 * toplev.c (parse_options_and_default_flags): Don't call
15584 post_options here.
15585 (general_init): Initialize GC, pools and tree hash here,
15586 instead of lang_independent_init.
15587 (lang_independent_init): Rename backend_init.
15588 (do_compile): Call post_options hook; exit early if there
15589 have been errors after switch processing.
15590 (toplev_main): Update.
15591
6bf346d4
GDR
155922002-08-14 Gabriel Dos Reis <gdr@nerim.net>
15593
15594 * c-pretty-print.h: Guard against multiple inclusion.
15595 Robustify macros.
15596 (pp_c_attributes): Declare.
15597 * c-pretty-print.c (pp_c_attributes): New function.
15598
cbf2f479
KG
155992002-08-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15600
15601 * m68k.c (m68k_output_function_prologue,
15602 m68k_output_function_epilogue): Delete versions for DPX2/MOTOROLA
15603 and NEWS/MOTOROLA.
15604 * genattrtab.c: Remove dpx2 comment.
15605 * libgcc2.c (__enable_execute_stack): Delete versions for
15606 NeXT/__MACH__, __convex__, __sysV88__, __pyr__ and
15607 sony_news/SYSTYPE_BSD.
15608 * longlong.h: Delete code for __a29k__, _AM29K, __clipper__,
15609 __gmicro__, __i860__, __NeXT__ and __pyr__.
15610 * rtl.h: Remove convex comment.
15611 * varasm.c: Likewise.
15612
d3969c34
KG
156132002-08-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15614
15615 * c-opts.c (lang_flags): Const-ify.
15616 * ra-build.c (undef_table): Likewise.
15617 * ra.c (eliminables): Likewise.
15618
df89f8e7
GDR
156192002-08-14 Gabriel Dos Reis <gdr@nerim.net>
15620
15621 * tree.h: Guard against multiple inclusion.
15622
cf87d551
HPN
156232002-08-14 Hans-Peter Nilsson <hp@bitrange.com>
15624
15625 * reload1.c (reload_cse_simplify): Before checking
15626 REG_FUNCTION_VALUE_P, check REG_P.
15627
a43c8986
GK
156282002-08-13 Geoffrey Keating <geoffk@redhat.com>
15629
15630 * Makefile.in (attribs.o): Remove $(OBSTACK_H) dependency.
15631
29337351
NB
156322002-08-13 Neil Booth <neil@daikokuya.co.uk>
15633
15634 * c-opts.c (c_common_init_options): Extra braces needed.
15635
8202c8c4
R
15636Tue Aug 13 17:40:25 2002 J"orn Rennecke <joern.rennecke@superh.com>
15637
15638 * sh.c (sh_init_builtins): Add PARAMS to declaration.
15639 (sh_media_init_builtins, sh_expand_builtin): Likewise.
15640 (sh_expand_unop_v2sf): Use PARAMS for variable declaration.
15641 (sh_expand_binop_v2sf): Likewise.
15642 * sh-protos.h (sh_expand_unop_v2sf): Add PARAMS to declaration.
15643 (sh_expand_binop_v2sf, sh_cfun_interrupt_handler_p): Likewise.
15644 (sh_initialize_trampoline): Likewise.
15645
07893d4f
UW
156462002-08-13 Ulrich Weigand <uweigand@de.ibm.com>
15647
15648 * s390-modes.def [CCL1, CCL2, CCT1, CCT2, CCT3, CCUR, CCSR]: Declare
15649 new condition code modes.
15650 s390.c (s390_match_ccmode_set): Handle those new CC modes.
15651 (s390_select_ccmode): Likewise.
15652 (s390_branch_condition_mask): Likewise.
15653
15654 * s390-protos.h (s390_tm_ccmode): Declare.
15655 s390.c (s390_tm_ccmode): New function.
15656 (s390_match_ccmode): Allow VOIDmode as REQ_MODE.
15657
15658 * s390.md ("*cmpdi_tm2"): Rename to "*tmdi_ext".
15659 ("*cmpsi_tm2"): Rename to "*tmsi_ext".
15660 ("*cmpqi_tm2"): Rename to "*tmqi_ext".
15661
15662 ("*cmpdi_tm_reg", "*cmpdi_tm_mem", "*cmpsi_tm_reg", "*cmpsi_tm_mem",
15663 "*cmphi_tm_sub","*cmphi_cct_0", "*cmpqi_tm", "*cmpqi_tm_sub",
15664 "*cmpqi_cct_0", "*tm_0"): Remove, replace by ...
15665 ("*tmdi_reg", "*tmsi_reg", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem",
15666 "*tmqi_mem", "*tmhi_full", "*tmqi_full"): ... these new patterns.
15667
15668 ("*ltgr", "*cmpdi_ccs_0_64", "*cmpdi_ccs_0_31", "*ltr", "*icm15",
5ce6f47b 15669 "*icm15_cconly", "*cmpsi_ccs_0", "*icm3", "*cmphi_ccs_0", "*icm1",
07893d4f
UW
15670 "*cmpqi_ccs_0"): Remove, replace by ...
15671 ("*tstdi_sign", "*tstdi", "*tstdi_cconly", "*tstdi_cconly_31",
5ce6f47b 15672 "*tstsi", "*tstsi_cconly", "*tstsi_cconly2", "*tsthi", "*tsthi_cconly",
07893d4f
UW
15673 "*tstqi", "*tstqi_cconly"): ... these new patterns.
15674
15675 ("*cmpsidi_ccs"): Remove, replace by ...
15676 ("*cmpsi_ccs_sign"): ... this new pattern.
15677 ("*cmpdi_ccs_sign", "*cmpdi_ccu_zero"): New patterns.
15678
15679 ("*cmpqi_ccu_0", "*cmpqi_ccu_immed"): Remove, replace by ...
15680 ("*cli"): ... this new pattern.
15681
15682 ("*adddi3_sign", "*adddi3_zero_cc", "*adddi3_zero_cconly",
15683 "*adddi3_zero", "*adddi3_cc", "*adddi3_cconly", "*adddi3_cconly2"):
15684 New patterns.
15685 ("adddi3_64"): Rename to "*adddi3_64".
15686 ("adddi3_31"): Replace by insn and splitter "*adddi3_31".
15687 ("adddi3"): Adapt expander.
15688
15689 ("*addsi3_cc"): Allow "general_operand" for operand 2.
5ce6f47b 15690 ("*addsi3_carry1_cc", "*addsi3_carry1_cconly",
07893d4f
UW
15691 "*addsi3_carry2_cc", "*addsi3_carry2_cconly"): New patterns.
15692
15693 ("addhi3", "addqi3"): Remove, replace by ...
15694 ("*addsi3_sign", "*addsi3_sub"): ... these new patterns.
15695
15696 ("*subdi3_sign", "*subdi3_zero_cc", "*subdi3_zero_cconly",
15697 "*subdi3_zero", "*subdi3_cc", "*subdi3_cconly"): New patterns.
15698 ("subdi3"): Replace by insn and splitter "*subdi3_31".
15699 ("subdi3"): New expander.
15700
15701 ("*subsi3_borrow_cc", "*subsi3_borrow_cconly"): New patterns.
15702
15703 ("subhi3", "subqi3"): Remove, replace by ...
15704 ("*subsi3_sign", "*subsi3_sub"): ... these new patterns.
15705
15706 ("*muldi3_sign"): New pattern.
15707 ("muldi3"): Do not clobber CC.
15708 ("mulsi3"): Likewise.
15709 ("mulsi_6432"): Likewise.
15710
db62867b
DC
157112002-08-13 Denis Chertykov <denisc@overta.ru>
15712
15713 * config/avr/avr.md: Call CC_STATUS_INIT in all peepnoles
8537ed68 15714 which can change CC0.
db62867b 15715
8ba46434
R
15716Tue Aug 13 14:49:20 2002 J"orn Rennecke <joern.rennecke@superh.com>
15717
15718 * gcse.c (adjust_libcall_notes): New function.
15719 (do_local_cprop): Use it. Add fourth parameter. Changed caller.
15720
8733892f
NS
157212002-08-13 Nathan Sidwell <nathan@codesourcery.com>
15722
15723 * libgcc2.c (L_bb): Remove unneeded #includes.
15724 (__global_counters, __gthreads_active): Remove unused globals.
15725 (__bb_exit_func): Merge counts into files rather than appending.
15726 * Makefile.in (INTERNAL_CFLAGS): Move COVERAGE_FLAGS from here ...
15727 (ALL_CFLAGS): ... to here.
15728
f4769721
DC
157292002-08-13 Denis Chertykov <denisc@overta.ru>
15730
15731 * config/ip2k/ip2k.c (commands_in_file): Variable removed.
15732 (function_epilogue): Don't calculate function size.
15733 (ip2k_set_compare): Don't use lookup_const_double.
15734 (asm_file_start): Initialization of commands_in_file removed.
15735 (asm_file_end): Output of commands_in_file removed.
5ce6f47b 15736
f4769721
DC
15737 * config/ip2k/ip2k.c (CPP_PREDEFINES): Remove definition of
15738 __INT_MAX__.
15739
c31cddfd
NB
157402002-08-13 Neil Booth <neil@daikokuya.co.uk>
15741
15742 * c-opts.c (c_common_init_options): Check option array is
15743 sorted if checking enabled.
15744
f076f0ce
GDR
157452002-08-13 Gabriel Dos Reis <gdr@nerim.net>
15746
15747 * c-pretty-print.c: #include "c-tree.h".
15748 (pp_c_simple_type_specifier): Tweak.
15749 (pp_c_storage_class_specifier): New.
15750 (pp_c_function_specifier): Likewise.
15751 (pp_c_declaration_specifiers): Likewise.
15752 (pp_c_init_declarator): Likewise.
15753 (pp_c_declaration): Likewise.
15754 (pp_c_direct_declarator): Stub.
15755 (pp_c_declarator): Likewise.
15756 (pp_c_parameter_declaration): Likewise.
15757
f4ff5a69
NB
157582002-08-13 Neil Booth <neil@daikokuya.co.uk>
15759
15760 * c-opts.c (deps_seen, deps_file, deferred_count, deferred_size,
15761 handle_deferred_opts, sanitize_cpp_opts, defer_opt,
15762 struct deferred_opt): New.
15763 (COMMAND_LINE_OPTIONS): Add -M*.
15764 (missing_arg): Update.
15765 (c_common_decode_option): Handle -M*.
15766 (c_common_post_options): Handle -M*. Use sanitize_cpp_opts;
15767 don't call cpp_post_options.
15768 (c_common_finish, check_deps_environment_vars): Update.
15769 * cppfiles.c (stack_include_file, handle_missing_header): Update.
15770 * cpphash.h (CPP_PRINT_DEPS): Remove.
15771 * cppinit.c: Don't include version.h.
15772 (cpp_create_reader): Don't call deps_init. Initialize
15773 warn_long_long.
15774 (cpp_read_main_file): Init deps if necessary.
15775 (cpp_destroy): Conditionally free deps.
15776 (cpp_finish): Update.
15777 (no_tgt): Remove.
15778 (COMMAND_LINE_OPTIONS, cpp_handle_option): Remove -M*.
15779 (cpp_post_options): Rename post_options.
15780 * cpplib.h (struct cpp_options): Remove some dependency options;
15781 move others to a new structure.
15782 (cpp_post_options): Remove.
15783 (cpp_finish): Comment.
15784 * fix-header.c (read_scan_file): Don't call cpp_post_options.
15785
34116c2a
HPN
157862002-08-12 Hans-Peter Nilsson <hp@bitrange.com>
15787
15788 * config/mmix/mmix.md (define_constants): Add MMIX_rR_REGNUM.
15789 ("divdi3", "*divdi3_nonknuth", "moddi3", "*moddi3_nonknuth"): Mark
15790 MMIX_rR_REGNUM as clobbered.
15791 * config/mmix/mmix.h (MMIX_REMAINDER_REGNUM): Use MMIX_rR_REGNUM.
15792
9b32718c
GDR
157932002-08-12 Gabriel Dos Reis <gdr@nerim.net>
15794
15795 * diagnostic.h (output_formatted_scalar): Rename from
5ce6f47b 15796 output_formatted_integer.
9b32718c
GDR
15797 * diagnostic.def: Add DK_DEBUG.
15798 * diagnostic.c (output_decimal): Adjust.
15799 (output_long_decimal): Likewise.
15800 (output_unsigned_decimal): Likewise.
15801 (output_octal): Likewise.
15802 (output_long_octal): Likewise.
15803 (output_hexadecimal): Likewise.
15804 (output_long_hexadecimal): Likewise.
15805 * c-pretty-print.c (pp_c_type_specifier): New function.
15806 (pp_c_specifier_qualifier_list): Likewise.
15807 (pp_c_abstract_declarator): Likewise.
15808 (pp_c_char): Replace pp_format_integer with pp_format_scalar.
15809
032613df
DE
158102002-08-12 David Edelsohn <edelsohn@gnu.org>
15811
15812 * doc/trouble.texi (Disappointments): Add static constructor and
15813 destructor dependency information for AIX.
15814
a3737481
NB
158152002-08-12 Neil Booth <neil@daikokuya.co.uk>
15816
15817 * cpphash.h (struct printer): New from cppmain.c.
15818 (cpp_reader): New member.
15819 * cppmain.c (struct printer): Move to cpphash.h.
15820 (options, print): Remove.
15821 (account_for_newlines, print_line, maybe_print_line,
15822 cpp_preprocess_file, setup_callbacks, scan_translation_unit,
15823 scan_translation_unit_trad, cb_line_change, cb_ident,
15824 cb_define, cb_undef, cb_include, cb_file_change, dump_macro,
15825 cb_def_pragma): Make reentrant.
15826
d71f7700
KG
158272002-08-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15828
15829 * real.c (ieee_64): Always define.
15830 (ieee_113): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
15831 (dec_h): Not used yet, hide it.
15832 (emdnorm): Mark parameter in ATTRIBUTE_UNUSED. Guard label with
15833 macro controlling use.
15834 (TFbignan, TFlittlenan): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
15835
c16576e6
JH
15836Mon Aug 12 12:48:20 CEST 2002 Jan Hubicka <jh@suse.cz>
15837
15838 * i386.md (tablejump): Sign extend the operand.
15839 * i386.c (classify_argument): Fix missed case from previous patch.
15840
460bd0e3
NB
158412002-08-12 Neil Booth <neil@daikokuya.co.uk>
15842
15843 * c-common.c (STDC_0_IN_SYSTEM_HEADERS, c_common_init): Move
15844 to c-copts.c.
15845 (warn_multichar): Die.
15846 (cb_register_builtins): Export.
15847 * c-common.h (warn_multichar, preprocess_file): Remove.
15848 (cb_register_builtins): New.
15849 * c-lang.c (c_init): Remove.
15850 (LANG_HOOKS_INIT): Use c_objc_common_init.
15851 * c-lex.c (init_c_lex): Don't canonicalize filename.
15852 * c-opts.c (in_fname, STDC_0_IN_SYSTEM_HEADERS): New.
15853 (preprocess_file): Make static. Update for cpplib.
15854 (c_common_decode_option): Remove warn_multichar. Use in_fname.
15855 (c_common_post_options): Set some cpp options here.
15856 (c_common_init): Move from c-common.c.
15857 * cppinit.c (cpp_post_options): Don't canonicalize in_fname.
15858 * cpplib.h (struct cpp_options): Remove in_fname.
15859 (cpp_preprocess_file): Update.
15860 * cppmain.c (cpp_preprocess_file): Update for new prototypes.
15861
f3f268dd
KG
158622002-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15863
15864 * config.gcc (mips*-*-netbsd*): Include ${tm_file}.
15865
f0201fba
KG
158662002-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15867
15868 * i370.h (TARGET_CPU_CPP_BUILTINS): Remove spurious trailing
15869 backslash in comment preceeding macro definition.
15870 * i370/linux.h (TARGET_OS_CPP_BUILTINS): Likewise.
15871 * i370/mvs.h (TARGET_OS_CPP_BUILTINS): Likewise.
15872 * i370/oe.h (TARGET_OS_CPP_BUILTINS): Likewise.
15873
e56fc090
HPN
158742002-08-12 Hans-Peter Nilsson <hp@bitrange.com>
15875
15876 * expr.c (store_expr): In condition for checking if value is
15877 generated in TARGET, move call to expr_size last.
15878
76c3e73e
NB
158792002-08-11 Neil Booth <neil@daikokuya.co.uk>
15880
15881 * c-common.c (c_common_init): Call preprocess_file instead.
15882 (c_common_finish): Move to c-opts.c.
15883 * c-common.h (preprocess_file): new.
15884 * c-opts.c (out_fname, out_stream, deps_append, preprocess_file,
15885 check_deps_environment_vars, c_common_finish): New.
15886 (c_common_decode_option): Update for out_fname and dependencies.
15887 * cppinit.c (init_dependency_output, output_deps): Remove.
15888 (cpp_destroy): Update prototype.
15889 (cpp_add_dependency_target): New.
15890 (cpp_read_main_file): Don't overlay a buffer.
15891 (cpp_finish): Take a deps output stream and write deps to it.
15892 Return the error count.
15893 (cpp_post_options): Don't canonicalize out_fname, or do anything
15894 with dependencies.
15895 * cpplib.h (struct cpp_options): Remove out_fname and
15896 preprocess_only.
15897 (cpp_add_dependency_target): New.
15898 (cpp_destroy, cpp_finish, cpp_preprocess_file): Update.
15899 * cppmain.c (cpp_preprocess_file): Update prototype. Don't
15900 set preprocess_only. Don't handle the output stream directly.
15901
e0c32c62
KG
159022002-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15903
15904 * dsp16xx.c (print_operand): Fix format specifier.
15905 * dsp16xx.md: Avoid automatic aggregate initialization.
15906 * frv.h (REG_CLASS_FROM_LETTER): Avoid char as array index.
15907 * h8300.c (emit_a_rotate, h8300_adjust_insn_length): Avoid U
15908 integer constant modifier.
15909 * ip2k.c (ip2k_set_compare): Avoid signed/unsigned warning.
15910 * mmix-protos.h (mmix_use_simple_return): Move outside TREE_CODE
15911 guards.
15912 * sh/netbsd-elf.h (FUNCTION_PROFILER): Fix format specifier.
15913 * v850.c (v850_select_section): Mark parameter with
15914 ATTRIBUTE_UNUSED.
15915 * global.c (global_alloc): Const-ify.
15916 * ra-colorize.c (hardregset_to_string): Fix format specifier.
15917
7ae8cf75
KG
159182002-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15919
15920 * darwin-c.c (darwin_pragma_options): Const-ify.
15921 * darwin.c (machopic_non_lazy_ptr_name,
15922 machopic_validate_stub_or_non_lazy_ptr): Likewise.
15923 (machopic_indirect_data_reference): Wrap variables in macros
15924 controlling their use.
15925 (machopic_finish, update_non_lazy_ptrs, update_stubs): Const-ify.
15926 (machopic_select_section): Use parentheses around && within ||.
15927 * i386/darwin.h (ASM_OUTPUT_ALIGN): Avoid ambiguous-else.
15928
8819cab5
KG
159292002-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15930
15931 * ip2k.c (mdr_resequence_xy_yx, mdr_propagate_reg_equivs,
15932 mdr_try_move_dp_reload, ip2k_check_can_adjust_stack_ref,
15933 ip2k_adjust_stack_ref, mdr_try_move_pushes, mdr_try_propagate_clr,
15934 ip2k_xexp_not_uses_reg_for_mem, mdr_try_propagate_move,
15935 mdr_try_remove_redundant_insns, track_w_reload,
15936 mdr_try_wreg_elim): Make function static to match prototype.
15937 * mmix.c (mmix_target_asm_function_epilogue): Likewise. Mark
15938 parameter with ATTRIBUTE_UNUSED.
15939
ab2877a3
KG
159402002-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15941
15942 * arc.c (arc_init): Don't use ISO C style function definitions.
15943 * arm.c (count_insns_for_constant, thumb_far_jump_used_p,
15944 arm_get_strip_length, arm_strip_name_encoding): Likewise.
15945 * avr.h (progmem_section): Likewise.
15946 * h8300.c h8300_asm_insn_count): Likewise.
15947 * m32r.c (init_idents): Likewise.
15948 * s390.c (s390_split_branches, s390_chunkify_pool): Likewise.
15949 * sh.c (sh_cfun_interrupt_handler_p): Likewise.
15950 * xtensa.c (xtensa_build_va_list): Likewise.
15951
08767a6f
NB
159522002-08-11 Neil Booth <neil@daikokuya.co.uk>
15953
15954 * c-common.h (enum c_language_kind): Emphasize that clk_c is 0.
15955 * c-opts.c (parse_option): Rename find_opt.
15956 (set_std_c99): New function.
15957 (COMMAND_LINE_OPTIONS): Handle -remap and -o. Remove OPT_std_bad.
15958 (missing_arg): Remove OPT_std_bad. Handle -o.
15959 (c_common_decode_option): Handle input and output file names,
15960 -o and -remap. Clean up -std= handling.
15961 * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_o and OPT_remap.
15962 (cpp_handle_option): Similarly. Don't handle filenames.
15963
db01f480
JH
15964Sun Aug 11 14:43:17 CEST 2002 Jan Hubicka <jh@suse.cz>
15965
15966 * i386.c (classify_argument): Fix computing of field's offsets.
15967
a7701995
AJ
159682002-08-11 Andreas Jaeger <aj@suse.de>
15969
15970 PR target/7531:
15971 * doc/invoke.texi (i386 and x86-64 Options): Document -mcmodel.
15972
2516f236
ZL
159732002-08-10 Ziemowit Laski <zlaski@apple.com>
15974
15975 * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Replace
15976 reference to clk_objective_c with flag_objc.
15977 * config/i386/i386-interix.h (TARGET_OS_CPP_BUILTINS):
15978 Likewise.
15979 * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Likewise.
15980
f749a36b
NB
159812002-08-10 Neil Booth <neil@daikokuya.co.uk>
15982
15983 * c-opts.c (set_std_cxx98, set_std_c89): New.
15984 (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
15985 (c_common_decode_option): Handle new switches from cppinit.c.
15986 Add -std=gnu++98.
15987 * cppinit.c (set_lang): Rename cpp_set_lang. Export.
15988 (no_arg, no_num): Remove.
15989 (COMMAND_LINE_OPTIONS): Move more to c-opts.c. Drop all lang-
15990 switches apart from -lang-objc and lang-asm.
15991 (cpp_handle_option): Similarly.
15992 * cpplib.h (cpp_set_lang): New.
15993 * doc/cppopts.texi, doc/invoke.texi: Document -std=c++98,
15994 -std=gnu++98.
15995 * objc/lang-specs.h: Remove -ansi.
15996
77abb5d8
JH
15997Sat Aug 10 19:59:43 CEST 2002 Jan Hubicka <jh@suse.cz>
15998 Graham Stott
15999
16000 * cfg.c (redirect_edge_succ_nodup): Avoid overflows due to roundoff
16001 errors.
16002
fac37dc4
KG
160032002-08-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
16004
d950dee3
KG
16005 * emit-rtl.c (emit_jump_insn_before, emit_call_insn_before,
16006 emit_jump_insn): Fix uninitialized variable.
16007 * gcov.c (init_line_info): Likewise.
16008 * genautomata.c (transform_3): Add braces around ambiguous
16009 else.
16010 * ifcvt.c (cond_exec_process_insns): Mark parameter with
16011 ATTRIBUTE_UNUSED.
16012 * ra-build.c (parts_to_webs_1): Fix uninitialized variable.
16013 * regrename.c (copyprop_hardreg_forward): Fix uninitialized
16014 variable.
16015
fac37dc4
KG
16016 * gengtype.c (write_gc_structure_fields): Avoid signed/unsigned
16017 warnings in output files.
16018
0f7866e7
ZL
160192002-08-09 Ziemowit Laski <zlaski@apple.com>
16020
16021 * c-common.c (flag_objc): New.
16022 * c-common.h (c_language_kind): Get rid of clk_objective_c
16023 enum value.
16024 (flag_objc): New extern declaration.
16025 * c-decl.c (implicitly_declare): Call objc_check_decl
16026 instead of maybe_objc_check_decl.
16027 (finish_decl): Likewise.
16028 (grokfield): Likewise.
16029 (finish_struct): Likewise.
16030 * c-lang.c (maybe_objc_check_decl): Rename to objc_check_decl.
16031 (maybe_objc_comptypes): Rename to objc_comptypes.
a7701995 16032 (maybe_building_objc_message_expr): Rename to
0f7866e7
ZL
16033 objc_message_selector.
16034 * c-lex.c (lex_charconst): Remove uses of clk_objective_c,
16035 replace with flag_objc as needed.
16036 * c-opts.c (c_common_init_options): Likewise.
16037 (c_common_decode_option): Likewise.
16038 * c-parse.in (init_reswords): Likewise.
16039 * c-tree.h (maybe_objc_check_decl): Rename to objc_check_decl.
16040 (maybe_objc_comptypes): Rename to objc_comptypes.
a7701995 16041 (maybe_building_objc_message_expr): Rename to
0f7866e7
ZL
16042 objc_message_selector.
16043 * c-typeck.c (comptypes): Call objc_comptypes instead of
16044 maybe_objc_comptypes, and/or objc_message_selector instead of
16045 maybe_building_objc_message_expr.
16046 (comp_target_types): Likewise.
16047 (convert_for_assignment): Likewise.
16048 (warn_for_assignment): Likewise.
16049 * cppinit.c (init_builtins): Set __OBJC__ manifest constant
16050 independently of those for other languages.
16051 * objc/objc-act.c (maybe_objc_comptypes): Delete.
16052 (maybe_objc_check_decl): Delete.
a7701995 16053 (maybe_building_objc_message_expr): Rename to
0f7866e7
ZL
16054 objc_message_selector.
16055 * objc/objc-lang.c (objc_init_options): Use clk_c instead of
16056 clk_objective_c; set flag_objc flag.
16057
c512fd7b
TM
160582002-08-09 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
16059
16060 * ifcvt.c (find_if_case_2): Test correct basic block for size.
16061
5e1bf043 160622002-08-09 Dale Johannesen <dalej@apple.com>
c512fd7b 16063
5e1bf043
DJ
16064 * config/rs6000/rs6000.md: Add sibcall patterns.
16065 * config/rs6000/rs6000.h (FUNCTION_OK_FOR_SIBCALL): Define.
16066 * config/rs6000/rs6000.c (rs6000_ra_ever_killed):
16067 Rewritten to handle sibcalls.
16068 * config/rs6000/rs6000.c (function_ok_for_sibcall): New.
16069 * config/rs6000/rs6000-protos.h (function_ok_for_sibcall): New.
16070
2043c38e
NS
160712002-08-08 Nathan Sidwell <nathan@codesourcery.com>
16072
16073 * profile.c (da_file_name): New static var.
16074 (init_branch_prob): Initialize it.
16075 (end_branch_prob): Remove da file.
16076
16077 * Makefile.in (stage1_build): Pass empty COVERAGE_FLAGS.
41685063 16078 * configure.in (coverage_flags): Default to nothing.
2043c38e
NS
16079 * configure: Rebuilt.
16080
4b7091eb
NB
160812002-08-09 Neil Booth <neil@daikokuya.co.uk>
16082
16083 * Makefile.in (c-opts.o): Update
16084 * c-opts.c: Include intl.h.
16085 (print_help): Move from cppinit.c. Remove unused options.
16086 (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
16087 (missing_arg): Complain for switches without an argument.
16088 (c_common_decode_option): Reject missing joined arguments.
16089 Handle new switches from cppinit.c.
16090 * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
16091 (cpp_handle_option): Similarly.
16092 (print_help): Moved to c-opts.c.
16093 * cpplib.h (struct cpp_options): Remove help_only.
16094 * gcc.c (cpp_unique_options): Remove -$.
16095 * doc/cppopts.texi: Undocument -h.
16096
9e20be0c
JJ
160972002-08-08 Jakub Jelinek <jakub@redhat.com>
16098
16099 * config/i386/i386.c (legitimate_constant_p): UNSPEC_TP is not
16100 legitimate constant.
16101 (legitimate_pic_operand_p): Neither pic operand.
16102 (legitimate_address_p): But legitimate address.
16103 (get_thread_pointer): Generate MEM/u instead of CONST around
16104 UNSPEC_TP.
16105 (print_operand): Remove printing of UNSPEC_TP.
16106 (print_operand_address): And print it here.
16107
7b9be5c7 161082002-08-08 Devang Patel <dpatel@apple.com>
9e20be0c 16109
a7701995
AJ
16110 * objc/objc-act.c (build_selector_translation_table): Issue warning,
16111 when -Wselector is used,if method for which selector is being
7b9be5c7 16112 created does not exist.
a7701995 16113
5615d8fd
SC
161142002-08-08 Stephen Clarke <stephen.clarke@superh.com>
16115
16116 * config/sh/sh.c (prepare_move_operands): Only call
16117 target_reg_operand if TARGET_SHMEDIA.
a7701995 16118
3b85fe5f
JJ
161192002-08-08 Jakub Jelinek <jakub@redhat.com>
16120
16121 * config/rs6000/rs6000.h, config/rs6000/aix.h,
16122 config/rs6000/darwin.h, config/rs6000/linux64.h: Revert last
16123 two patches.
16124 * config/rs6000/sysv4.h: Likewise, remove #undef ADJUST_FIELD_ALIGN.
16125
e10c79fe
LB
161262002-08-08 Lars Brinkhoff <lars@nocrew.org>
16127 Richard Henderson <rth@redhat.com>
16128
16129 * emit-rtl.c (gen_rtx_REG): After reload, only return
16130 frame_pointer_rtx or hard_frame_pointer_rtx if frame_pointer_needed.
16131
aa2a83dc
JJ
161322002-08-08 Jakub Jelinek <jakub@redhat.com>
16133
16134 * config/rs6000/rs6000-protos.h (rs6000_field_alignment): Remove.
16135 * config/rs6000/rs6000.c (rs6000_field_alignment): Move...
16136 * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): ...inline into the
16137 macro.
16138
aeaf4d25
AN
161392002-08-08 Adam Nemet <anemet@lnxw.com>
16140
16141 * config/arm/arm.c (thumb_unexpanded_epilogue): Stack the PIC
16142 register.
16143 (thumb_expand_prologue): Likewise.
16144 (thumb_output_function_prologue): Likewise.
16145 * config/arm/arm.h (THUMB_INITIAL_ELIMINATION_OFFSET): Account for
16146 the additional push of the PIC register.
16147
22aa533e
NS
161482002-08-08 Nathan Sidwell <nathan@codesourcery.com>
16149
16150 * configure.in (enable_coverage): New enable switch.
16151 * configure: Rebuilt.
16152 * Makefile.in (COVERAGE_FLAGS, coverageexts): New variables.
16153 (INTERNAL_CFLAGS): Append COVERAGE_FLAGS.
16154 (ALL_FLAGS): Reorder so INTERNAL_CFLAGS comes after CFLAGS.
16155 (mostlyclean): Remove coverage files.
16156 * doc/install.texi: Document enable_coverage.
16157
16158 * cp/Make-lang.in (c++.mostlyclean): Remove coverage files.
16159 * ada/Make-lang.in (ada.mostlyclean): Remove coverage files.
16160 * f/Make-lang.in (f.mostlyclean): Remove coverage files.
16161 * java/Make-lang.in (java.mostlyclean): Remove coverage files.
16162 * objc/Make-lang.in (objc.mostlyclean): Remove coverage files.
16163 * treelang/Make-lang.in (treelang.mostlyclean): Remove coverage
16164 files.
a7701995 16165
18bdccaa
NB
161662002-08-08 Neil Booth <neil@daikokuya.co.uk>
16167
16168 * c-opts.c (cpp_opts): New.
16169 (COMMAND_LINE_OPTIONS): Add switches from cppinit.c.
16170 (c_common_decode_options): Handle cpplib switches.
16171 (c_common_init_options): Set cpp_opts.
16172 * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
16173 (cpp_handle_option): Similarly.
16174
774b5662
DE
161752002-08-08 David Edelsohn <edelsohn@gnu.org>
16176
16177 * config/rs6000/aix.h (TARGET_ALTIVEC): Define to 0.
16178 (TARGET_ALTIVEC_ABI): Same.
16179 (TARGET_ALTIVEC_VRSAVE): Same.
16180
16181 * config/rs6000/rs6000.c (rs6000_expand_ternop_builtin): Check
16182 icode not CODE_FOR_nothing. Change switch to if.
16183
957e9e48
AM
161842002-08-08 Alan Modra <amodra@bigpond.net.au>
16185
16186 * config/rs6000/rs6000.h (ASM_CPU_SPEC): Pass -mpower4 when cpu=power4.
16187
daf06049
JJ
161882002-08-08 Jakub Jelinek <jakub@redhat.com>
16189
16190 * stor-layout.c (place_union_field): For bitfields if
16191 PCC_BITFIELD_TYPE_MATTERS and TYPE_USER_ALIGN, set record's
16192 TYPE_USER_ALIGN.
16193
043d39a6
JDA
161942002-08-07 John David Anglin <dave@hiauly1.hia.nrc.ca>
16195
16196 * pa.c (struct deferred_plabel): Constify name field.
16197
34bb92e3
NB
161982002-08-07 Neil Booth <neil@daikokuya.co.uk>
16199
16200 * cppmacro.c (_cpp_builtin_macro_text): Remove unused variable.
16201
3ec5d64d
JDA
162022002-08-07 John David Anglin <dave@hiauly1.hia.nrc.ca>
16203
16204 * configure.in (PREFIX_INCLUDE_DIR): Don't define if prefix and
16205 local_prefix are the same.
16206 * configure: Rebuilt.
16207
ad9335eb
JJ
162082002-08-07 Jakub Jelinek <jakub@redhat.com>
16209 Richard Henderson <rth@redhat.com>
16210
16211 * stor-layout.c (place_union_field): Apply ADJUST_FIELD_ALIGN
16212 to type_align when PCC_BITFIELD_TYPE_MATTERS. Only apply
16213 ADJUST_FIELD_ALIGN if not DECL_USER_ALIGN resp. TYPE_USER_ALIGN.
16214 (place_field): Likewise.
16215 * config/i386/i386.c (x86_field_alignment): Don't check
16216 DECL_USER_ALIGN here.
16217 * config/rs6000/rs6000.c (rs6000_field_alignment): New.
16218 * config/rs6000/rs6000-protos.h (rs6000_field_alignment): New
16219 prototype.
16220 * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): Define.
16221 * config/rs6000/aix.h (ADJUST_FIELD_ALIGN): Remove.
16222 * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Remove.
16223 * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Remove.
16224 * config/rs6000/sysv4.h (ADJUST_FIELD_ALIGN): Remove.
16225 * doc/tm.texi (ADJUST_FIELD_ALIGN): Update description.
16226
0b6f2917
NB
162272002-08-07 Neil Booth <neil@daikokuya.co.uk>
16228
16229 * Makefile.in (c-opts.o, c-common.o, C_AND_OBJC_OBJS): Update.
16230 * c-common.c: Don't include tree-inline.h.
16231 (c_common_init_options, c_common_post_options): Move to c-opts.c.
16232 * c-common.h (c_common_decode_option): New.
16233 * c-decl.c (c_decode_option): Remove.
16234 * c-lang.c (LANG_HOOKS_DECODE_OPTION): Use c_common_decode_option.
16235 * c-opts.c: New file.
16236 * c-tree.h (c_decode_option): Remove.
16237 * doc/passes.texi: Update.
16238 * objc/objc-act.c (objc_decode_option): Remove.
16239 * objc/objc-act.h (objc_decode_option): Remove.
16240 * objc/ojbc-lang.c (LANG_HOOKS_DECODE_OPTION): Use
16241 c_common_decode_option.
16242
e49ec17d
CD
162432002-08-07 Chris Demetriou <cgd@broadcom.com>
16244
16245 * config/mips/mips.md (sunlt_sf, suneq_sf, sunle_sf): Remove
16246 dependency on TARGET_DOUBLE_FLOAT.
16247
ac1ca451
SC
162482002-08-07 Stephen Clarke <stephen.clarke@superh.com>
16249
16250 * config/sh/lib1funcs.asm (GCC_shcompact_incoming_args): Don't
16251 overwrite callee-save registers. Fix comment.
16252
af34e51e
CD
162532002-08-06 Chris Demetriou <cgd@broadcom.com>
16254
16255 * config/mips/mips.c (override_options): Set MASK_BRANCHLIKELY
16256 in target_flags based on ISA, if it was not set on the command
16257 line. Warn if MASK_BRANCHLIKLEY is set but the ISA does not
16258 support Branch Likely instructions.
16259 * config/mips/mips.h (MASK_BRANCHLIKLEY): New macro.
16260 (TARGET_BRANCHLIKELY): Likewise.
16261 (TARGET_SWITCHES): Add -mbranch-likely and -mno-branch-likely.
16262 (GENERATE_BRANCHLIKELY): Use TARGET_BRANCHLIKELY rather than
16263 ISA_HAS_BRANCHLIKELY.
16264 (ISA_HAS_BRANCHLIKELY): Do not include MIPS16 check.
16265 * doc/invoke.texi: Document new MIPS -mbranch-likely and
16266 -mno-branch-likely options.
16267
2631af95
KG
162682002-08-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
16269
f538618e
KG
16270 * ip2k.c (ip2k_set_compare): Add missing iteration variable.
16271
2631af95
KG
16272 * Makefile.in (dummy-conditions.o): Depend on $(HCONFIG_H) not
16273 $(GCONFIG_H).
16274
1ae0ccb6
AH
162752002-08-06 Aldy Hernandez <aldyh@redhat.com>
16276
8537ed68
ZW
16277 * c-decl.c (duplicate_decls): Error out for incompatible TLS
16278 declarations.
1ae0ccb6 16279
8537ed68 16280 * testsuite/gcc.dg/tls/diag-3.c: New.
1ae0ccb6 16281
8d3e27d1 162822002-08-06 Dale Johannesen <dalej@apple.com>
db4c55f6 16283
8d3e27d1 16284 * c-common.c (fname_decl): Use line number 0 for
8537ed68 16285 __func__, to avoid confusing debuggers.
8d3e27d1 16286
8b219a76
NS
162872002-08-06 Nathan Sidwell <nathan@codesourcery.com>
16288
16289 * gcov.c: Tidy.
16290 (struct line_info, struct coverage): New structures.
16291 (gcov_file_name, gcov_file): Remove globals.
16292 (output_data): Take source file parameter. Fix memory leak. Break
16293 up into ...
16294 (init_line_info, output_line_info, make_gcov_file_name,
16295 accumulate_branch_counts): ... here.
16296 (calculate_branch_probs, function_summary): Adjust.
16297 (main): Adjust.
16298 (function_*): Remove global variables.
16299
317e98c0
NB
163002002-08-06 Neil Booth <neil@daikokuya.co.uk>
16301
16302 * dwarf2out.c: Remove unused macros.
16303
81d41e74
NB
163042002-08-06 Neil Booth <neil@daikokuya.co.uk>
16305
16306 * function.c (TRAMPOLINE_ALIGNMENT): Always defined.
16307
58551c23
NB
163082002-08-06 Neil Booth <neil@daikokuya.co.uk>
16309
16310 * cppinit.c (struct lang_flags): Rename trigraphs std.
16311 (set_lang): Update.
16312 * cpplib.h (struct cpp_options): New member std.
16313 * cppmacro.c (_cpp_builtin_macro_text): Use std.
16314 (collect_args): Flag whether to swallow a possible future
16315 comma pasted with varargs.
16316 (replace_args): Use this flag.
16317 * doc/cpp.texi: Update varargs extension documentation.
16318
daeabcd0
JJ
163192002-08-06 Jakub Jelinek <jakub@redhat.com>
16320
16321 * config/i386/mmintrin.h (__m64): Make the type 64-bit aligned.
16322
39e3a681
JJ
163232002-08-06 Jakub Jelinek <jakub@redhat.com>
16324
9812691e
JJ
16325 * config/i386/i386.c (x86_field_alignment): Apply min for all MODE_INT
16326 and MODE_CLASS_INT modes.
39e3a681 16327
609a87f3
JJ
163282002-08-06 Jakub Jelinek <jakub@redhat.com>
16329
16330 * config.gcc (*-*-linux*): Default to --enable-threads=posix if no
16331 --{enable,disable}-threads is given to configure.
16332 (alpha*-*-linux*, hppa*-*-linux*, i[34567]86-*-linux*,
16333 x86_64-*-linux*, ia64*-*-linux*, m68k-*-linux*, mips*-*-linux*,
16334 powerpc-*-linux-gnualtivec*, powerpc-*-linux*, s390-*-linux*,
16335 s390x-*-linux*, sh-*-linux*, sparc-*-linux*, sparc64-*-linux*):
16336 Remove thread_file setting here.
16337
ff4c5e7b
DE
163382002-08-06 David Edelsohn <edelsohn@gnu.org>
16339
16340 * doc/install.texi (Binaries): Update Bull Freeware URL.
16341
54f3aa9e
GP
163422002-08-06 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
16343
16344 * doc/gcc.texi (Top): Rename Index to Keyword Index.
16345
d19202ba
NS
163462002-08-05 Nathan Sidwell <nathan@codesourcery.com>
16347
16348 * gcov.c (output_data): Round to % to nearest, tweak formatting.
16349
1bed5ee3
JJ
163502002-08-05 Jakub Jelinek <jakub@redhat.com>
16351
16352 * fold-const.c (associate_trees): Only optimize NEGATE_EXPR in one
16353 of the operands into MINUS_EXPR if code is PLUS_EXPR.
16354
84512347
DR
163552002-08-05 Douglas B Rupp <rupp@gnat.com>
16356
16357 * config.gcc (i[34567]86-*-interix*): Replace interix.o with winnt.o
16358 * config/i386/i386-interix.h (TARGET_NOP_FUN_DLLIMPORT,
16359 drectve_section): Define.
16360 * config/i386/t-interix: Replace interix.o rule with winnt.o.
16361 * config/i386/interix.c: Remove.
16362
b835f6f1
GK
163632002-08-05 Geoffrey Keating <geoffk@redhat.com>
16364
16365 * attribs.c: Don't include obstack.h.
16366 * builtins.c: Likewise.
16367 * cfganal.c: Likewise.
16368 * cfgbuild.c: Likewise.
16369 * cfgcleanup.c: Likewise.
16370 * emit-rtl.c: Likewise.
16371 * loop.c: Likewise.
16372 * stmt.c: Likewise.
16373
16374 * Makefile.in (s-gtype): Re-add dependency on $(GTFILES).
16375
fd291392
GDR
163762002-08-05 Gabriel Dos Reis <gdr@nerim.net>
16377
16378 * doc/c-tree.texi (Expression trees): Document VA_ARG_EXPR
16379
054b7507
CD
163802002-08-04 Chris Demetriou <cgd@broadcom.com>
16381
16382 * doc/invoke.texi: Remove duplicated paragraph describing
16383 TARGET_SWITCHES.
16384
6d9f628e
GK
163852002-08-04 Geoffrey Keating <geoffk@redhat.com>
16386
16387 * Makefile.in (sdbout.o): Doesn't need $(OBSTACK_H).
16388 * collect2.h (permanent_obstack): Delete declaration.
16389 * collect2.c (permanent_obstack): Delete definition.
4912a07c 16390 (main): Don't initialize permanent_obstack. Use xstrdup instead.
6d9f628e
GK
16391 * expr.c: Don't include obstack.h.
16392 (permanent_obstack): Delete declaration.
16393 * function.c: Don't include obstack.h.
16394 (permanent_obstack): Delete declaration.
16395 * integrate.c: Don't include obstack.h.
16396 (function_maybepermanent_obstack): Delete declaration.
16397 * print-tree.c (debug_tree): Use x*alloc not permalloc.
16398 * sdbout.c (gen_fake_label): Use x*alloc not permalloc.
16399 * tlink.c (pfgets): Use xstrdup not permanent_obstack.
16400 * toplev.c (lang_independent_init): Rename init_obstacks to init_ttree.
16401 * tree.h: Rename init_obstacks to init_ttree. Remove declarations
16402 of permalloc, expralloc, perm_calloc.
16403 * tree.c (permanent_obstack): Delete definition.
16404 (init_ttree): Rename from init_obstacks.
16405 (permalloc): Delete.
16406 (perm_calloc): Delete.
16407 (dump_tree_statistics): Don't print information about
16408 permanent_obstack.
16409 * varasm.c (assemble_start_function): Use xstrdup instead of
16410 permalloc/strcpy.
16411 (assemble_variable): Likewise.
16412 * config/alpha/alpha.c (unicosmk_need_dex): Use xmalloc instead of
16413 permalloc.
16414 (unicosmk_add_extern): Likewise.
16415 * config/c4x/c4x.c (c4x_external_ref): Likewise.
16416 (c4x_global_label): Likewise.
16417 * config/frv/frv.c (frv_encode_section_info): Likewise.
16418 * config/i386/winnt.c (i386_pe_record_external_function): Likewise.
16419 (i386_pe_record_exported_symbol): Likewise.
16420 * config/mips/mips.c (mips_output_external): Likewise.
16421 (mips_output_external_libcall): Likewise.
16422 * config/pa/pa.c: (permanent_obstack): Delete declaration.
16423 (output_call): Use ggc_strdup instead of allocating on
16424 permanent_obstack.
16425 * config/romp/romp.c: Include ggc.h.
16426 (get_symref): Don't declare permanent_obstack, use ggc_strdup
16427 intead of permanent_obstack.
16428 * config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use concat
16429 instead of permalloc.
16430 * config/rs6000/rs6000.c (rs6000_gen_section_name): Use xmalloc
16431 instead of permalloc
16432 * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Use concat
16433 instead of permalloc.
16434 * config/vax/vax.c (vms_check_external): Use xmalloc instead of
16435 permalloc.
16436
36a05131
BS
164372002-08-04 Bernd Schmidt <bernds@redhat.com>
16438
16439 Contribute a port developed primarily by Michael Meissner,
16440 Catherine Moore, and Richard Sandiford <rsandifo@redhat.com>.
16441 * config.gcc: Add frv-elf target.
16442 * config/frv/cmovd.c: New file.
16443 * config/frv/cmovh.c: New file.
16444 * config/frv/cmovw.c: New file.
16445 * config/frv/frv-abi.h: New file.
16446 * config/frv/frv-asm.h: New file.
16447 * config/frv/frv-modes.def: New file.
16448 * config/frv/frv-protos.h: New file.
16449 * config/frv/frv.c: New file.
16450 * config/frv/frv.h: New file.
16451 * config/frv/frv.md: New file.
16452 * config/frv/frvbegin.c: New file.
16453 * config/frv/frvend.c: New file.
16454 * config/frv/lib1funcs.asm: New file.
16455 * config/frv/media.h: New file.
16456 * config/frv/modi.c: New file.
16457 * config/frv/t-frv: New file.
16458 * config/frv/uitod.c: New file.
16459 * config/frv/uitof.c: New file.
16460 * config/frv/ulltod.c: New file.
16461 * config/frv/ulltof.c: New file.
16462 * config/frv/umodi.c: New file.
16463 * config/frv/xm-frv.h: New file.
86a0cbcb
BS
16464
16465 * config/frv/media.h: Removed again.
16466
37b8715b
NS
164672002-08-04 Nathan Sidwell <nathan@codesourcery.com>
16468
16469 * gcov.c (bb_file_time): New static variable.
16470 (object_directory): May also be object file.
16471 (preserve_paths): New static variable.
16472 (print_usage): Adjust.
16473 (options): Adjust.
16474 (process_args): Adjust.
16475 (open_files): Simplify. Cope when OBJECT_DIRECTORY is an object
16476 file. Find modification date on bb file.
16477 (read_profile): Don't rewind a NULL file.
16478 (format_hwint): New static function.
16479 (function_summary): Use format_hwint.
16480 (output_data): SOURCE_FILE_NAME is never relative to
16481 OBJECT_DIRECTORY. Use format_hwint. Adjust gcov file name
16482 mangling. Adjust output format to make it more machine readable.
16483 * doc/gcov.texi: Document & clarify semantics.
a7701995 16484
d500c5d7
JM
164852002-08-04 Joseph S. Myers <jsm@polyomino.org.uk>
16486
16487 * doc/include/gcc-common.texi (version-GCC): Increase to 3.3.
16488
ea67fe71
NS
164892002-08-04 Nathan Sidwell <nathan@codesourcery.com>
16490
16491 * gcc.c (cc1_options): Pass output file as auxbase when
16492 appropriate.
16493 * profile.c (init_branch_prob): FILENAME has already had ending
16494 stripped.
16495 * final.c (end_final): Likewise.
16496 * toplev.c (aux_base_name): New global.
16497 (compile_file): Pass aux_base_name to init init_branch_prob and
16498 end_final.
16499 (independent_decode_option, case 'a'): New auxinfo options.
16500 (case 'd'): Protect against mising basename.
16501 (do_compile): Initialize aux_base_name.
16502 * toplev.h (aux_base_name): New global.
16503 * doc/invoke.texi: Adjust documentation.
16504
b23c054d
NS
165052002-08-04 Nathan Sidwell <nathan@codesourcery.com>
16506
16507 * config/i386/i386.c (x86_field_alignment): Remove duplicate test
16508 of TARGET_ALIGN_DOUBLE.
16509
04c1334c 165102002-08-04 Gabriel Dos Reis <gdr@nerim.net>
a7701995 16511
04c1334c
GDR
16512 * diagnostic.c (inform): New function.
16513 * diagnostic.h (inform): Declare.
a7701995 16514
e34eaae5
DE
165152002-08-03 David Edelsohn <edelsohn@gnu.org>
16516
16517 * config/rs6000/rs6000.md (movsi_internal1): Add nop mnemonic.
16518 (movhi_internal): Same.
16519 (movqi_internal): Same.
16520 (movdi_internal64): Same.
16521
16522 * config/rs6000/t-ppccomm (MULTILIB_MATCHES_FLOAT): Add mcpu=405.
16523
16524 * config/rs6000/xcoff.h (SKIP_ASM_OP): Define.
16525 (ASM_OUTPUT_SKIP): Use it. SIZE unsigned.
16526 (COMMON_ASM_OP): Define.
16527 (ASM_OUTPUT_ALIGNED_COMMON): Use it. SIZE unsigned.
16528 Use ALIGN parameter.
16529 (LOCAL_COMMON_ASM_OP): Define.
16530 (ASM_OUTPUT_LOCAL): Use it. SIZE unsigned.
16531
e7b489c8
RS
165322002-08-03 Roger Sayle <roger@eyesopen.com>
16533
16534 * builtins.def: Define new builtin functions exp, expf, expl,
16535 log, logf and logl (and their __builtin_* variants).
16536 * optabs.h (enum optab_index): Add new OTI_exp and OTI_log.
16537 Define exp_optab and log_optab.
16538 * optabs.c (init_optans): Initialize exp_optab and log_optab.
16539 * genopinit.c (optabs): Implement exp_optab and log_optab
16540 using exp?f2 and log?f2 patterns.
16541 * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_EXP*
16542 and BUILT_IN_LOG* using exp_optab and log_optab respectively.
16543 (expand_builtin): Ignore the new builtins (and all cos and
16544 sin variants) when not optimizing. Expand new builtins via
16545 expand_builtin_mathfn when flag_unsafe_math_optimizations.
16546
16547 * doc/extend.texi: Document new exp and log builtins.
16548 * doc/md.texi: Document new exp?f2 and log?f2 patterns
16549 (and previously undocumented cos?f2 and sin?f2 patterns).
16550
de8920be
JM
165512002-08-03 Jason Merrill <jason@redhat.com>
16552
16553 * explow.c (int_expr_size): New fn.
16554 * expr.c (expand_expr) [CONSTRUCTOR]: Use it.
16555 * expr.h: Declare it.
16556
ba462c8e
KW
165572002-08-02 Krister Walfridsson <cato@df.lth.se>
16558
16559 * Makefile.in (gengtype-lex.o, gengtype-yacc.o): Add path to
16560 gengtype-* dependencies.
16561
2017ed61
EC
165622002-08-02 Eric Christopher <echristo@redhat.com>
16563
16564 * config.gcc (mips*-*-linux*): Fix ordering of tm_file.
16565 * config/mips/mips.h (READONLY_DATA_SECTION_ASM_OP): Change
16566 #ifndef to #undef.
16567 (TARGET_MEM_FUNCTIONS): Define instead of define to 1.
16568
055dd007
DE
165692002-08-02 David Edelsohn <edelsohn@gnu.org>
16570
16571 PR optimize/7067
16572 * config/rs6000/rs6000.h (RTX_COSTS): Artificially make MULT
16573 small if optimizing for size.
16574
771a2a66
DJ
165752002-08-02 Daniel Jacobowitz <drow@mvista.com>
16576
16577 * configure.in (FORBUILD): Use $build_alias.
16578 * configure: Regenerated.
16579
ac8ab9fe
RS
165802002-08-02 Richard Sandiford <rsandifo@redhat.com>
16581
16582 * config.gcc: Don't include mips/abi64.h in $tm_file.
16583 * hard-reg-set.h (call_really_used_regs): Declare.
16584 * config/mips/abi64.h: Remove file.
16585 * config/mips/linux.h,
16586 * config/mips/iris6.h: Don't include it.
16587 * config/mips/mips-protos.h (mips_conditional_register_usage): Declare.
16588 * config/mips/mips.h (CONDITIONAL_REGISTER_USAGE): Use it.
16589 (REG_PARM_STACK_SPACE, STACK_BOUNDARY, STRICT_ARGUMENT_NAMING,
16590 FUNCTION_ARG_PASS_BY_REFERENCE, FUNCTION_ARG_PADDING,
16591 FUNCTION_ARG_CALLEE_COPIES, MUST_PASS_IN_STACK, MIPS_STACK_ALIGN):
16592 Bring across definitions from abi64.h.
16593 (GP_ARG_LAST, FP_ARG_LAST): Use MAX_ARGS_IN_REGISTERS.
16594 (BIGGEST_MAX_ARGS_IN_REGISTERS): New.
16595 (struct mips_args): Use it.
16596 * config/mips/mips.c (mips_conditional_register_usage): Define.
16597
a77a9a18
JM
165982002-08-02 Jason Merrill <jason@redhat.com>
16599
16600 * langhooks-def.h (LANG_HOOKS_EXPR_SIZE): New macro.
16601 * langhooks.c (lhd_expr_size): Define default.
16602 * langhooks.h (struct lang_hooks): Add expr_size.
16603 * explow.c (expr_size): Call it.
16604 * expr.c (store_expr): Don't copy an expression of size zero.
16605 (expand_expr) [CONSTRUCTOR]: Use expr_size to calculate how much
16606 to store.
16607 * Makefile.in (builtins.o): Depend on langhooks.h.
16608
a6be5aee
KG
166092002-08-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
16610
16611 * Makefile.in (ra-debug.o): Depend on $(TM_P_H).
16612 * ra-debug.c: Include "tm_p.h".
16613 * ra-rewrite.c (is_partly_live_1): Change return type to bool.
16614
e3e16ee3
TM
166152002-08-02 Toon Moene <toon@moene.indiv.nluug.nl>
16616
16617 * simplify-rtx.c (simplify_binary_operation): x * 1 is allowed
16618 when not honoring signalling NaNs.
16619 (simplify_ternary_operation): a == b has a definite value
16620 when not honoring NaNs.
16621
b9d8832d
JM
166222002-08-02 Jason Merrill <jason@redhat.com>
16623
16624 * gdbinit.in (pct): New macro.
16625
825abef4
SS
166262002-08-01 Stan Shebs <shebs@apple.com>
16627 Andreas Tobler <toa@pop.agri.ch>
16628
16629 * ginclude/stddef.h (_BSD_SIZE_T_DEFINED_): Define if not defined,
16630 plays nice with Darwin headers.
bf2e488f 16631 (_BSD_RUNE_T_DEFINED_): Likewise.
825abef4 16632
56da7207
ZW
166332002-08-01 Zack Weinberg <zack@codesourcery.com>
16634
16635 * c-common.c (c_common_init): -Wtraditional also implies -Wlong-long.
16636 * cppinit.c (cpp_post_options): Likewise.
16637
16638 * cppexp.c (cpp_classify_number): Suppress -Wtraditional
16639 warning about 'LL' suffix (but not 'ULL' etc) when
16640 -Wno-long-long is in effect.
16641
16642 * cppmacro.c (_cpp_builtin_macro_text) [BT_TIME, BT_DATE]:
16643 Check for failing time()/localtime(), issue a warning, and
16644 make __TIME__ and __DATE__ expand to fallback strings.
16645
16646 * doc/cpp.texi, doc/extend.texi: Document behavior of __DATE__
16647 and __TIME__ when the date and time cannot be determined.
16648
f4857b9b
AM
166492002-08-02 Alan Modra <amodra@bigpond.net.au>
16650
16651 * config/rs6000/rs6000.c (output_cbranch): Hint differently for power4.
16652
77ca7b2e
DJ
166532002-08-01 Daniel Jacobowitz <drow@mvista.com>
16654
16655 * Makefile.in ($(BUILD_PREFIX_1)ggc-none.o): Use $(GGC_H).
16656
5b552f76
CD
166572002-08-01 Chris Demetriou <cgd@broadcom.com>
16658
16659 * config.gcc (mipsisa64sb1-*-elf*): New configuration.
16660 (mipsisa64sb1el-*-elf*): Likewise.
16661 * config/mips/mips.c (mips_cpu_info_table): Add sb1.
16662 * config/mips/mips.h (processor_type): Add PROCESSOR_SB1.
16663 (TARGET_SB1, TUNE_SB1): New macros.
16664 * doc/invoke.texi: Add sb1 to documentation for MIPS -march and
16665 -mtune flags.
16666
54fbf6a1
DE
166672002-08-01 David Edelsohn <edelsohn@gnu.org>
16668
16669 * varasm.c (asm_emit_uninitialized): Return false if global BSS
16670 and ASM_EMIT_BSS not supported by target.
16671 (assemble_variable): Do not duplicate uninitialized logic.
16672 Fall through if asm_emit_uninitialized failed.
16673
3d16b407
CD
166742002-08-01 Chris Demetriou <cgd@broadcom.com>
16675
16676 * config/mips/mips.h (BRANCH_LIKELY_P): Remove unused macro.
16677
fb52d8de
AM
166782002-08-02 Alan Modra <amodra@bigpond.net.au>
16679
80926cc1
AM
16680 * config/rs6000/linux64.h (DBX_OUTPUT_BRAC): Define.
16681 (DBX_OUTPUT_LBRAC, DBX_OUTPUT_RBRAC): Define.
16682
fb52d8de
AM
16683 * config/rs6000/rs6000.c (output_toc): Don't use lshift_double when
16684 HOST_BITS_PER_WIDE_INT == 64.
16685
a4b5414c
KG
166862002-08-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
16687
16688 * df.c (df_insn_table_realloc): Change parameter to unsigned.
16689 * optabs.c (expand_binop): Make variable unsigned.
16690 * simplify-rtx.c (simplify_subreg): Likewise.
16691 * unroll.c (unroll_loop): Cast to avoid signed/unsigned warnings.
16692
a03e67c3
FS
166932002-08-01 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
16694
16695 * c-common.c (cb_register_builtins): Always define __GXX_ABI_VERSION.
16696
de273d3f
RH
166972002-08-01 Richard Henderson <rth@redhat.com>
16698
56da7207 16699 * toplev.c (parse_options_and_default_flags): Don't set
de273d3f
RH
16700 flag_reorder_blocks for -Os.
16701
16702 * config/avr/avr.c (avr_optimization_options): Remove.
16703 * config/avr/avr.h (OPTIMIZATION_OPTIONS): Remove.
16704 * config/m68hc11/m68hc11.c (m68hc11_optimization_options): Remove.
16705 * config/m68hc11/m68hc11.h (OPTIMIZATION_OPTIONS): Remove.
16706
4e4d733e
L
167072002-08-01 H.J. Lu <hjl@gnu.org>
16708 Richard Henderson <rth@redhat.com>
16709
16710 * output.h (DECL_READONLY_SECTION): Remove.
16711 (decl_readonly_section): Declare.
16712 * varasm.c (decl_readonly_section): New.
16713 (default_section_type_flags, default_select_section): Use it.
16714 * config/arm/pe.c (arm_pe_unique_section): Likewise.
16715 * config/i386/interix.c (i386_pe_unique_section): Likewise.
16716 * config/i386/winnt.c (i386_pe_unique_section): Likewise.
16717 * config/mcore/mcore.c (mcore_unique_section): Likewise.
16718 * config/mips/mips.c (mips_unique_section): Likewise.
16719
32e9b960
RH
167202002-08-01 Richard Henderson <rth@redhat.com>
16721
16722 * integrate.c (copy_rtx_and_substitute): Squash MEM_EXPR when it
16723 refers to a subroutine parameter.
16724
81e602b5
JJ
167252002-08-01 Jakub Jelinek <jakub@redhat.com>
16726
16727 * varasm.c (assemble_visibility): Strip name encoding.
16728
ac14c725
ID
167292002-08-01 Ian Dall <ian@sibyl.beware.dropbear.id.au>
16730
16731 * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE): Correct earlier patch.
16732 (RETURN_ADDR_RTX): Cannot determine return address for FRAME > 0
16733 when there is no frame pointer.
16734 (INITIAL_FRAME_POINTER_OFFSET): Count stack space for saved fp
16735 registers properly.
16736 * config/ns32k/__unorddf2.c: New file.
16737 * config/ns32k/__unordsf2.c: New file.
16738 * config/ns32k/t-ns32k: New file.
16739 * config.gcc (ns32k-*-netbsd*): Use it.
16740
17072732
AH
167412002-08-01 Aldy Hernandez <aldyh@redhat.com>
16742
16743 * config/rs6000/rs6000.h (SPU_CONST_OFFSET_OK): Change to 0xff.
16744
c288218a
NB
167452002-08-01 Neil Booth <neil@daikokuya.co.uk>
16746
16747 * c-common.c (__GXX_ABI_VERSION): Correct spelling.
16748
43bfc248
BK
167492002-08-01 Benjamin Kosnik <bkoz@redhat.com>
16750
16751 * c-common.c (cb_register_builtins): Set __GXX_ABI_VERSION__ to 102.
16752
479f2cea
RS
167532002-08-01 Richard Sandiford <rsandifo@redhat.com>
16754
16755 * config/mips/mips.md: Add [!]TARGET_MIPS16 to sgtu conditions.
16756
02280659
ZD
167572002-08-01 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
16758
16759 * gcse.c (expr_hash_table_size, n_exprs, set_hash_table_size,
16760 n_sets): Removed.
16761 (expr_hash_table, set_hash_table): Type changed to ...
16762 (struct hash_table): New type.
16763 (hash_scan_insn, hash_scan_set, hash_scan_clobber, hash_scan_call,
16764 insert_expr_in_table, insert_set_in_table, compute_hash_table,
16765 dump_hash_table, lookup_expr, lookup_set, compute_local_properties,
16766 compute_ae_gen, compute_ae_kill): Modified to pass the table explicitly.
16767 (alloc_set_hash_table, alloc_expr_hash_table): Merged to ...
16768 (alloc_hash_table): New.
16769 (free_set_hash_table, free_expr_hash_table): Merged to ...
16770 (free_hash_table): New.
16771 (compute_set_hash_table, compute_expr_hash_table): Merged to ...
16772 (compute_hash_table_work): New.
16773 (classic_gcse, one_classic_gcse_pass, compute_cprop_data,
16774 find_avail_set, one_cprop_pass, find_bypass_set, compute_pre_data,
16775 pre_edge_insert, pre_insert_copies, pre_delete, pre_gcse,
16776 one_pre_gcse_pass, compute_transpout, compute_code_hoist_vbeinout,
16777 hoist_code, one_code_hoisting_pass,
16778 trim_ld_motion_mems): Altered due to changed type of hash tables.
16779
905173eb
ZW
167802002-08-01 Zack Weinberg <zack@codesourcery.com>
16781
16782 * final.c (output_alternate_entry_point):
16783 If ASM_OUTPUT_TYPE_DIRECTIVE is defined, use it.
16784
83321d36
KG
167852002-08-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
16786
ad0f1765
KG
16787 * objc/objc-act.c (encode_complete_bitfield): Add prototype and
16788 avoid ISO C style function definition.
16789
83321d36
KG
16790 * expr.c (expand_assignment): Delete unused variable.
16791
73e42cf3
TM
167922002-08-01 Toon Moene <toon@moene.indiv.nluug.nl>
16793
16794 * c-common.c (cb_register_builtins): Set
16795 __FINITE_MATH_ONLY__ to 1 if -ffinite-math-only
16796 is given, and to 0 otherwise.
16797 * combine.c (simplify_if_then_else): HONOR_NANS
16798 implies FLOAT_MODE_P.
16799
78df51fe
NB
168002002-08-01 Neil Booth <neil@daikokuya.co.uk>
16801
16802 * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_dollar.
16803 (cpp_handle_option): Don't handle it.
16804 (print_help): Update.
16805 * doc/cppopts.texi: Update.
16806
abecfc8f
NB
168072002-08-01 Neil Booth <neil@daikokuya.co.uk>
16808
16809 * c-common.c (cb_register_builtins): If C++, define
16810 __EXCEPTIONS, __DEPRECATED and __GXX_ABI_VERSION as appropriate.
16811 * gcc.c (cpp_unique_options): Remove __GXX_ABI_VERSION.
16812cp:
16813 * lang-specs.h: Simplify in accordance with new code in
16814 c-common.c.
16815
4078b403
NB
168162002-08-01 Neil Booth <neil@daikokuya.co.uk>
16817
16818 * c-common.c: Define all C/ObjC/C++ warning and flag variables.
16819 * c-common.h: Declare all C/ObjC/C++ warning and flag variables.
16820 * c-decl.c: Move all warning and flag variables to c-common.c.
16821 * c-format.c: Move all warning variables to c-common.c.
16822 * c-tree.h: Move all warning and flag declarations to c-common.h.
16823 * objc/objc-act.c: Move all warning variables to c-common.c.
16824 (flag_warn_protocol): Rename warn_protocol.
16825
692f5611
JDA
168262002-07-31 John David Anglin <dave@hiauly1.hia.nrc.ca>
16827
16828 * pa-linux.h (GLOBAL_ASM_OP): Fix typo.
16829
c7a009a2 168302002-07-31 Graham Stott <graham.stott@btinternet.com>
480e7ded 16831
905173eb 16832 * config/stormy16/stormy16.h (BSS_SECTION_ASM_OP): Add missing
480e7ded
GS
16833 .section prefix.
16834
b069de3b
SS
168352002-07-31 Stan Shebs <shebs@apple.com>
16836
16837 * config.gcc (i[34567]86-*-darwin*): New configuration.
16838 * config/darwin.h (TARGET_ENCODE_SECTION_INFO): Undefine before
16839 defining.
16840 (TARGET_ENCODE_SECTION_INFO): Ditto.
16841 (ASM_PREFERRED_EH_DATA_FORMAT): Ditto.
16842 * config/darwin.c (machopic_indirect_data_reference): Remove
16843 setting of RTX_UNCHANGING_P.
16844 (machopic_legitimize_pic_address): Move RTX_UNCHANGING_P up so as
16845 not to be applied to sums.
16846 * config/i386/t-darwin: New file.
16847 * config/i386/darwin.h: New file.
16848 * config/i386/i386.h (TARGET_MACHO): Add default definition.
16849 * config/i386/i386.md (tablejump): Add TARGET_MACHO case.
16850 * config/i386/i386.c (output_set_got): For Mach-O, output Mach-O
16851 label and not the GOT add.
16852 (constant_address_p): For Mach-O, seeing a CONST is enough.
16853 (legitimate_pic_address_disp_p): Add a Mach-O case.
16854 (legitimate_address_p): Also test machopic_operand_p if Mach-O.
16855 (legitimize_pic_address): Use generic Mach-O code to legitimize.
16856 (output_pic_addr_const): Suppress @PLT if Mach-O, and parens
16857 if outputting a difference.
16858 (ix86_output_addr_diff_elt): Add Mach-O case.
16859 (ix86_expand_move): Similarly.
16860 (ix86_expand_call): Similarly.
16861 (current_machopic_label_num): New global.
16862 (machopic_output_stub): New function.
16863 (ix86_value_regno): New function.
16864 (ix86_function_value): Use it instead of VALUE_REGNO.
16865 (ix86_libcall_value): Ditto.
16866 * config/i386/unix.h (VALUE_REGNO): Remove.
16867
1de4ecb6
GS
168682002-07-31 Graham Stott <grahas@btinternet.com>
16869
16870 * config/rs6000/rs6000.c(rs6000_hash_constant): Fix
905173eb 16871 hash for LABEL_REF's.
1de4ecb6 16872
23368455
GS
168732002-07-31 Graham Stott <grahams@btinternet.com>
16874
16875 * config/rs6000/rs6000.c (spe_init_builtins,
16876 altivec_init_builtins, rs6000_common_init_builtins):
905173eb 16877 Replace ANSI with K&R function def.
23368455 16878
ad72b533
DE
168792002-07-31 David Edelsohn <edelsohn@gnu.org>
16880
16881 * rs6000.c (validate_condition_mode): Test flag_finite_math_only
16882 for CCFPmode.
16883
302359da
RS
168842002-07-31 Richard Sandiford <rsandifo@redhat.com>
16885
16886 * config/mips/crtn.asm: Don't use __mips16 to determine the
16887 return-address offset. Define RA to a suitable temporary
16888 register for the return address.
16889
ead0c1d5
RS
168902002-07-31 Richard Sandiford <rsandifo@redhat.com>
16891
16892 * config/mips/mips.md (eh_set_lr_si, eh_set_lr_di): Change
16893 constraints to 'd'.
16894
3fb9d48a
CD
168952002-07-30 Chris Demetriou <cgd@broadcom.com>
16896
16897 * config/mips/elf.h (STARTFILE_SPEC): Define differently if
16898 default ABI is MEABI. (Undoes incorrect change in Eric Christopher's
16899 patch on 2002-07-29.)
16900 * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
16901
072cdaed
KG
169022002-07-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
16903
506a61b1
KG
16904 * alpha.h, arc.h, arm/aout.h, avr.h, cris.h, d30v.h, dsp16xx.h,
16905 fr30.h, h8300.h, i370.h, i386/sco5.h, i386/unix.h, i960.h, ia64.h,
16906 ip2k.h, m32r.h, mcore.h, mips.h, mn10200.h, mn10300.h, ns32k.h,
16907 openbsd.h, pa/pa-linux.h, pdp11.h, romp.h, rs6000/sysv4.h,
16908 s390/linux.h, sh.h, sparc.h, stormy16.h, v850.h, vax.h, xtensa.h:
16909 (ASM_GLOBALIZE_LABEL): Delete.
16910 (GLOBAL_ASM_OP): Define.
16911
072cdaed 16912 * m68hc11.h, m68k.h, m88k.h (ASM_GLOBALIZE_LABEL): Delete.
905173eb 16913
072cdaed
KG
16914 * defaults.h (ASM_GLOBALIZE_LABEL): Provide a default.
16915 * doc/tm.texi (ASM_GLOBALIZE_LABEL): Update docs.
16916
6fd14075
GK
169172002-07-30 Geoffrey Keating <geoffk@redhat.com>
16918
16919 * doc/extend.texi (Hints implementation): Document that GCC
16920 mostly ignores `register'.
16921
2e8f2e8f
TM
169222002-07-30 Toon Moene <toon@moene.indiv.nluug.nl>
16923
16924 * flags.h: Declare flag_finite_math_only.
16925 Use it in definition of HONOR_NANS and
16926 HONOR_INFINITIES.
16927 * c-common.c (cb_register_builtins): Emit
16928 __FINITE_MATH_ONLY__ when flag_finite_math_only
16929 is set.
16930 * combine.c (simplify_if_then_else): If
16931 flag_finite_math_only is set, a == b has a
16932 definite value.
16933 * toplev.c: Initialize flag_finite_math_only.
16934 (set_flags_fast_math): Set it on -ffast-math.
16935 (flag_fast_math_set_p): Test it.
16936 * doc/invoke.texi: Document -ffinite-math-only.
16937
a538e580
RH
169382002-07-30 Richard Henderson <rth@redhat.com>
16939
16940 * ifcvt.c (noce_get_alt_condition): Use reg_overlap_mentioned_p.
16941 (noce_process_if_block): Likewise.
16942
26e20555
BS
169432002-07-30 Bernd Schmidt <bernds@redhat.com>
16944
16945 * ifcvt.c (cond_exec_process_if_block): Fix a merging error.
16946 Bail out early if false_expr is NULL and we'd crash due to this.
79cbc1f7
BS
16947 * genemit.c (gen_expand): Recognize return insns even if the return
16948 appears in a parallel.
d8088c6f
BS
16949 * libgcc2.c: Expand macro DECLARE_LIBRARY_RENAMES if it is defined.
16950 * config/fp-bit.c: Likewise.
16951 * doc/tm.texi: Document it.
905173eb 16952
0559cc77
DE
169532002-07-30 David Edelsohn <edelsohn@gnu.org>
16954 Zack Weinberg <zack@codesourcery.com>
16955
16956 * rs6000.c (rs6000_expand_unop_builtin): Check icode not
16957 CODE_FOR_nothing. Change switch to if.
16958 (rs6000_expand_binop_builtin): Same.
16959 (rs6000_expand_builtin): Expand builtin if target support enabled.
16960 (rs6000_init_builtins): Init builtin if target support enabled.
16961 (rs6000_common_init_builtins): Check icode not CODE_FOR_nothing.
16962
60b8aa94
FS
169632002-07-30 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
16964
16965 * gcc.c (cpp_unique_options): Define __GXX_ABI_VERSION, bump it to 101.
16966
714fb710
RS
169672002-07-30 Richard Sandiford <rsandifo@redhat.com>
16968
16969 * config/mips/mips.h (SUBTARGET_ASM_DEBUGGING_SPEC): Fix typo.
16970
c608a684
R
16971Tue Jul 30 18:31:31 2002 J"orn Rennecke <joern.rennecke@superh.com>
16972
16973 * sh.md (cond_delay_slot): New attribute.
16974 (cbranch delay): Use it for anulled-true case.
16975 (stuff_delay_slot): New pattern.
16976 * sh.c (print_operand, case '.'): Don't print .s / /s fore zero-length
16977 delay slot insn.
16978 (gen_far_branch): Emit stuff_delay_slot pattern.
16979
0a756401
R
16980Tue Jul 30 11:21:44 2002 J"orn Rennecke <joern.rennecke@superh.com>
16981
16982 * unroll.c (copy_loop_body): Don't copy NOTE_INSN_LOOP_CONT.
16983
68e82b83
KH
169842002-07-30 Kazu Hirata <kazu@cs.umass.edu>
16985
16986 * fold-const.c: Fix comment typos.
16987 * gcse.c: Likewise.
16988 * reload1.c: Likewise.
16989
fe6b547a
AH
169902002-07-29 Aldy Hernandez <aldyh@redhat.com>
16991
16992 * config/rs6000/rs6000.md: Disallow CCEQ compare with crnor/crnot
16993 for TARGET_SPE.
16994
7ff4a7ef
GDR
169952002-07-30 Gabriel Dos Reis <gdr@nerim.net>
16996
16997 * c-pretty-print.h (pp_c_statement): Declare.
16998 * c-pretty-print.c (pp_c_postfix_expression): #if 0 support for SRCLOC.
16999 (pp_c_statement): Define.
17000
4ad5e05d
KG
170012002-07-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17002
17003 * alpha.h, arc.h, arm/aout.h, avr.h, c4x.h, cris.h, d30v.h,
17004 darwin.h, dsp16xx.h, fr30.h, h8300.h, i370.h, i386.h, i960.h,
17005 ip2k.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mips.h,
17006 mn10200.h, mn10300.h, ns32k.h, pa/pa-linux.h, pdp11.h, romp.h,
17007 rs6000/sysv4.h, s390/linux.h, sh.h, sparc.h, stormy16.h,
17008 v850.h, vax.h, xtensa.h (ASM_OUTPUT_LABEL): Delete definition.
17009
17010 * defaults.h (ASM_OUTPUT_LABEL): Provide a default.
17011 * doc/tm.texi (ASM_OUTPUT_LABEL): Update docs.
17012
1e6a3e1e
GDR
170132002-07-30 Gabriel Dos Reis <gdr@nerim.net>
17014
17015 * c-pretty-print.c (pp_c_primary_expression): Handle STMT_EXPR.
17016 (pp_c_postfix_expression): Handle ARROW_EXPR, FFS_EXPR,
17017 COMPOUND_LITERAL_EXPR, VA_ARG_EXPR.
17018 (pp_c_expression): Update.
17019
1dcd444b
KG
170202002-07-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17021
17022 * alpha/vms-cc.c (preprocess_args, main): Use xstrdup and/or
17023 concat in lieu of xmalloc/strcpy/memcpy/sprintf.
17024 * alpha/vms-ld.c (main): Likewise.
17025 * dsp16xx.c (double_reg_to_memory): Likewise.
17026 * mcore.c (mcore_expand_prolog): Likewise.
17027 * cppfiles.c (read_name_map): Likewise.
17028 * gensupport.c (process_rtx, identify_predicable_attribute,
17029 alter_test_for_insn): Likewise.
17030 * vmsdbgout.c (write_rtnbeg, vmsdbgout_init): Likewise.
17031
e62f4abc
RS
170322002-07-29 Roger Sayle <roger@eyesopen.com>
17033
17034 * builtins.c (expand_builtin): Change the default behavior to
905173eb 17035 only issue an error if the builtin function doesn't have a
e62f4abc
RS
17036 fallback library call. Remove several cases handled by the
17037 new default.
17038
0cd2fb44
JDA
170392002-07-29 John David Anglin <dave@hiauly1.hia.nrc>
17040
17041 * real.c (ieee_24, ieee_53, ieee_64, ieee_113): Define only if the
17042 floating point format of the target is IEEE.
17043 * (dec_f, dec_d, dec_g, dec_h): Define only if the floating point
17044 format of the target is DEC.
17045
b642261e
RH
170462002-07-29 Richard Henderson <rth@redhat.com>
17047
17048 * unroll.c (verify_addresses): Remove.
17049 (find_splittable_givs): Never split DEST_ADDR givs.
17050
cba57c9d
GK
170512002-07-29 Geoffrey Keating <geoffk@redhat.com>
17052
17053 * doc/gty.texi (GGC Roots): Clarify that the list of syntaxes
17054 is exhaustive.
17055 (Files): Improve documentation on generated source files.
17056
17057 * doc/extend.texi (Translation implementation): Document what
17058 diagnostics look like.
17059 (Identifiers implementation): Document that there's normally no
17060 limit on identifier names.
17061 (Integers implementation): Document two's complement.
8d9afc4e 17062 (Hints implementation): Document that GCC honors 'inline', mostly.
cba57c9d
GK
17063 (Preprocessing directives implementation): Document that GCC
17064 requires the current time.
17065
76a8ecba
GDR
170662002-07-30 Gabriel Dos Reis <gdr@nerim.net>
17067
17068 * c-pretty-print.h (struct c_pretty_print_info): Add new member.
17069 (pp_initializer): New macro.
17070 (pp_c_initializer): Declare.
17071 * c-pretty-print.c (pp_c_primary_expression): HAndle TARGET_EXPR.
17072 (pp_c_initializer): Define.
17073 (pp_c_initializer_list): New function.
17074 (pp_c_postfix_expression): Handle ABS_EXPR, COMPLEX_CST,
17075 VECTOR_CST, CONSTRUCTOR.
17076 (pp_c_unary_expression): Handle CONJ_EXPR, REALPART_EXPR,
905173eb 17077 IMAGPART_EXPR.
76a8ecba
GDR
17078 (pp_c_cast_expression): Handle FLOAT_EXPR.
17079 (pp_c_assignment_expression): Handle INIT_EXPR.
17080 (pp_c_expression): Update.
17081
4307be72
NB
170822002-07-30 Neil Booth <neil@daikokuya.co.uk>
17083
17084 * objc/objc-act.c (objc_init): Return immediately if filename
17085 is NULL.
17086
6d439235
EC
170872002-07-29 Eric Christopher <echristo@redhat.com>
17088
905173eb
ZW
17089 * config/mips/elf.h: Remove ecoff.h and gofast includes.
17090 (DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO): Define unconditionally.
17091 (SDB_DEBUGGING_INFO): Undefine.
17092 (PREFERRED_DEBUGGING_TYPE): Set to DWARF2_DEBUG.
6d439235
EC
17093 (PUT_SDB_SIZE): Remove.
17094 (SUBTARGET_ASM_DEBUGGING_SPEC): Redefine.
905173eb
ZW
17095 (STARTFILE_SPEC): Add isa3264 define.
17096 * config/mips/elf64.h: Ditto. Move TARGET_MEM_FUNCTIONS from here...
17097 * config/mips/ecoff.h: Remove. and here...
17098 * config/mips/iris3.h: and here...
17099 * config/mips/sni-svr4.h: and here...
17100 * config/mips/mips.h: To here. Remove OBJECT_FORMAT_ROSE ifdefs.
6d439235
EC
17101 Add assembler -mmdebug options for non-dwarf debugging.
17102 * config/mips/r3900.h: Remove debug info defines.
905173eb
ZW
17103 * config/mips/isa32-linux.h: Remove, move functionality to config.gcc.
17104 * config/mips/isa3264.h: Ditto.
17105 * config/mips/t-isa3264: Fix up for file removal and gofast configure
17106 change.
17107 * config/mips/t-elf: Ditto.
17108 * config/mips/t-ecoff: Ditto.
17109 * config/mips/t-r3900: Ditto.
17110 * config/mips/t-iris5-6: Ditto.
17111 * config/mips/t-isa3264: Ditto.
17112 * config/mips/t-linux: Remove.
17113 * config/mips/t-netbsd: Remove.
17114 * config/mips/t-mips: New file.
17115 * config/mips/t-gofast: Ditto.
17116 * config/mips/netbsd.h: Remove unnecessary undefines.
17117 * config/mips/linux.h: Remove #include of mips.h.
17118 * config.gcc: Add mips.h include for elf targets. Remove tm_file
17119 for ecoff. Add gofast configure option for mips.
6d439235 17120
4357a6c3
CD
171212002-07-29 Chris Demetriou <cgd@broadcom.com>
17122
17123 * configure.in (mips*-*-*): Add a test to see if MIPS libgloss
17124 linker scripts use STARTUP directives consistently.
17125 * configure: Regenerate.
17126 * config.in: Regenerate.
17127 * config/mips/elf.h (STARTFILE_SPEC): Define conditionally, based
17128 on whether HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is defined.
17129 * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
17130 * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine if
17131 HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is set; the result
17132 will be the same.
17133
9a5cd606
AH
171342002-07-29 Aldy Hernandez <aldyh@redhat.com>
17135
17136 * config/rs6000/rs6000.md ("cpu"): Add ppc8540 to attribute.
17137
a23acaa6
AH
171382002-07-29 Aldy Hernandez <aldyh@redhat.com>
17139
17140 * config/rs6000/rs6000.h (RTX_COSTS): Add MULT case for 8540.
17141
10ed84db
AH
171422002-07-29 Aldy Hernandez <aldy@quesejoda.com>
17143
17144 * config/rs6000/rs6000.md: Move altivec patterns from here...
17145
17146 * config/rs6000/altivec.md: ...to here.
17147
c3021e5d
AH
171482002-07-29 Aldy Hernandez <aldyh@redhat.com>
17149
17150 * config/rs6000/spe.md ("spe_evmra"): Change to unspec.
17151
6f1087be
RH
171522002-07-29 Richard Henderson <rth@redhat.com>
17153
17154 * emit-rtl.c (set_mem_attributes_minus_bitpos): Rename from
17155 set_mem_attributes and add BITPOS argument. Subtract it from
17156 OFFSET when same is adjusted.
17157 (set_mem_attributes): New wrapper function.
17158 * expr.c (expand_assignment): Use set_mem_attributes_minus_bitpos;
17159 remove offset adjustment hack.
17160 * expr.h (set_mem_attributes_minus_bitpos): Declare.
17161
61ccbcfd
GDR
171622002-07-29 Gabriel Dos Reis <gdr@nerim.net>
17163
17164 * Makefile.in (C_OBJS): Include c-pretty-print.o
17165 (c-pretty-print.o): Add depency rule.
17166 * pretty-print.h: Add more macros.
17167 * c-pretty-print.c: New file.
17168 * c-pretty-print.h: Likewise.
17169
09101f56
AH
171702002-07-29 Aldy Hernandez <aldyh@redhat.com>
17171
17172 * config/rs6000/spe.h (__internal_ev_mwhgumian): Cast vector
17173 constants to __ev64_s32__.
17174 (__internal_ev_mwhgsmian): Same.
17175 (__internal_ev_mwhgsmfan): Same.
17176 (__internal_ev_mwhgssfan): Same.
17177 (__internal_ev_mwhgumiaa): Same.
17178 (__internal_ev_mwhgsmiaa): Same.
17179 (__internal_ev_mwhgsmfaa): Same.
17180 (__internal_ev_mwhgssfaa): Same.
17181
af673a52
DE
171822002-07-29 David Edelsohn <edelsohn@gnu.org>
17183
17184 * varasm.c (assemble_variable): Narrow test for uninitialized
17185 without BSS target support.
17186
6c208acd
NS
171872002-07-29 Nathan Sidwell <nathan@codesourcery.com>
17188
17189 * profile.c: Add file comment describing the overall algorithm and
17190 structures.
17191 (struct edge_info): Add comments.
17192 (struct bb_info): Add comments.
17193 * basic-block.h (EDGE_*): Add comments.
17194 * doc/gcov.texi (Gcov Data Files): Document bit flags.
17195
624f0d60
BW
171962002-07-29 Bob Wilson <bob.wilson@acm.org>
17197
17198 * config/xtensa/elf.h, config/xtensa/linux.h
17199 (TARGET_OS_CPP_BUILTINS): Define.
17200 (CPP_PREDEFINES): Remove.
17201 * config/xtensa/xtensa.h (TARGET_CPU_CPP_BUILTINS): Define.
17202 (CPP_SPEC): Remove.
17203
2199e5fa
ZW
172042002-07-29 Zack Weinberg <zack@codesourcery.com>
17205
17206 * gensupport.c: Include hashtab.h.
17207 (insn_elision, condition_table, hash_c_test, cmp_c_test,
17208 maybe_eval_c_test): New routines and data structures to
17209 support insn elision.
17210 (init_md_reader): Read and initialize the condition_table.
17211 (read_md_rtx): Discard insn patterns whose C test is provably
17212 always false.
17213 * gensupport.h: Declare new functions and data structures.
17214
17215 * genconditions.c, dummy-conditions.c: New files.
17216 * Makefile.in: Build genconditions; run it to construct
17217 insn-conditions.c; build that and link it into most gen*
17218 programs.
17219 (HOST_SUPPORT, HOST_EARLY_SUPPORT): New variables.
17220 (GEN): Delete, unused.
17221 (STAGESTUFF): Update.
17222
17223 * gencodes.c: (gen_insn): #define CODE_FOR_xxx equal to
17224 CODE_FOR_nothing for all elided patterns.
17225 (main): Tweaked to support this.
17226 * genflags.c (gen_proto): Emit a static inline generator
17227 function here for all elided patterns, which simply returns
17228 NULL_RTX.
17229 (gen_insn): Do not define HAVE_xxx for elided patterns.
17230 (main): Tweaked to support this. No need to forward-declare
17231 struct rtx_def.
17232 * genrecog.c: Do not bother emitting the C test if it's known
17233 to be true at compile time.
17234
6ab185d6
MS
172352002-07-29 Mike Stump <mrs@apple.com>
17236
6d439235 17237 * config.gcc (target_gtfiles): Initialize, as otherwise cross
2199e5fa 17238 compilers hosted on powerpc-apple-darwin6.0 won't even build.
6ab185d6 17239
72b075d1
RE
172402002-07-29 Richard Earnshaw <rearnsha@arm.com>
17241
17242 * arm.md (sibcall, sibcall_value): Add RETURN as part of the pattern,
17243 remove clobber of LR.
17244 (sibcall_insn, sibcall_value_insn): Update accordingly.
17245 (sibcall_epilogue): Remove debugging comment from assembler stream.
17246
f63c45ec
GDR
172472002-07-29 Gabriel Dos Reis <gdr@nerim.net>
17248
17249 * pretty-print.h: Define more macros.
17250 * diagnostic.h (output_formatted_integer): Moved from...
17251 * diagnostic.c: ... here.
17252
c27c15db
KG
172532002-07-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17254
17255 * stormy16.h (ASM_OUTPUT_SYMBOL_REF): Use ASM_OUTPUT_LABEL_REF.
17256
99086d59
ZW
172572002-07-28 Zack Weinberg <zack@codesourcery.com>
17258
17259 * defaults.h (ASM_OUTPUT_MEASURED_SIZE): Take only two
17260 arguments. Always use ".-symbol" as expression argument.
17261 * doc/tm.texi: Update to match. Document requirement for
17262 ".size symbol, .-symbol" to be acceptable to assembler.
17263
17264 * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
17265 config/arm/elf.h, config/avr/avr.h, config/cris/aout.h,
17266 config/i386/freebsd-aout.h, config/i386/sco5.h,
17267 config/ip2k/ip2k.h, config/m88k/m88k.h, config/xtensa/elf.h,
17268 config/xtensa/linux.h: Update uses of ASM_OUTPUT_MEASURED_SIZE.
17269
dd86aabf
KG
172702002-07-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17271
6fd327e9
KG
17272 * Makefile.in (gengtype-lex.c): Fix error in last change.
17273
8155cedd
KG
17274 * alpha/freebsd.h (TARGET_OS_CPP_BUILTINS): Add missing
17275 backslash.
17276
dd86aabf
KG
17277 * Makefile.in (vmsdbgout.o): Depend on function.h.
17278
17279 * vmsdbgout.c: Include function.h.
17280
d4348177
AM
172812002-07-28 Alan Modra <amodra@bigpond.net.au>
17282
17283 * prefix.c (update_path): Don't strip single `.' path components
17284 unless stripping a later `..' component. Exit loop as soon as
17285 a valid path is found.
17286
c2ef6d34
RS
172872002-07-27 Roger Sayle <roger@eyesopen.com>
17288
17289 * builtins.def [DEF_GCC_BUILTIN]: Require an explicit ATTRS
17290 argument. Mark BUILT_IN_RETURN, BUILT_IN_EH_RETURN,
17291 BUILT_IN_LONGJMP and BUILT_IN_TRAP as noreturn, the ISO C99
17292 floating point unordered comparisons (e.g. __builtin_isgreater)
17293 as const, and leave the remaining GCC_BUILTINs unchanged.
17294
17295 * c-decl.c (builtin_function): No need to explicitly mark
17296 BUILT_IN_RETURN and BUILT_IN_EH_RETURN as noreturn.
17297
52bfebf0
RS
172982002-07-27 Roger Sayle <roger@eyesopen.com>
17299
17300 * Makefile.in: rtlanal.o now depends upon real.h.
17301
17302 * flags.h [flag_signaling_nans]: New flag.
17303 [HONOR_SNANS]: New macro.
17304
17305 * toplev.c [flag_signaling_nans]: Initialize to false.
99086d59 17306 (f_options): Add processing for "-fsignaling-nans".
52bfebf0
RS
17307 (set_fast_math_flags): Clear flag_signaling_nans with -ffast-math.
17308 (process_options): flag_signaling_nans implies flag_trapping_math.
17309
17310 * c-common.c (cb_register_builtins): Define __SUPPORT_SNAN__
17311 when -fsignaling-nans. First step to implementing WG14's N965.
17312
17313 * fold-const.c (fold) [MULT_EXPR]: Conditionalize transforming
17314 1.0 * x into x, and -1.0 * x into -x on !HONOR_SNANS.
17315 [RDIV_EXPR]: Conditionalize x/1.0 into x on !HONOR_SNANS.
17316
17317 * simplify-rtx.c (simplify_relational_operation): Conditionalize
17318 transforming abs(x) < 0.0 into false on !HONOR_SNANS.
17319
17320 * rtlanal.c: #include real.c for TARGET_FLOAT_FORMAT definitions
17321 required by HONOR_SNANS. (may_trap_p): Floating point DIV, MOD,
99086d59
ZW
17322 UDIV, UMOD, GE, GT, LE, LT and COMPARE may always trap with
17323 -fsignaling_nans. EQ and NE only trap for flag_signaling_nans
52bfebf0
RS
17324 not flag_trapping_math (i.e. HONOR_SNANS but not HONOR_NANS).
17325
17326 * doc/invoke.texi: Document new -fsignaling-nans compiler option.
17327
e66f55b8
KG
173282002-07-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17329
17330 * Makefile.in (gengtype-lex.c): Work around a bug in flex.
17331 * gengtype-lex.l (YY_USE_PROTOS): Undef.
17332 (YY_DECL): Define.
17333
a3926fe1
RS
173342002-07-27 Roger Sayle <roger@eyesopen.com>
17335
17336 * doc/invoke.texi: Document that both -fno-builtin-foo and
17337 -fno-builtin are supported by the g++ front-end.
17338
ef69da62
SS
173392002-07-27 Stan Shebs <shebs@apple.com>
17340
17341 * configure.in: Rename config_gtfiles to target_gtfiles.
17342 * configure: Regenerate.
17343 * doc/gty.texi: Update reference.
17344 * config.gcc (powerpc-*-darwin*): Set target_gtfiles
17345 instead of appending to it.
17346
a4b0320c
AH
173472002-07-25 Aldy Hernandez <aldyh@redhat.com>
17348
17349 * config/rs6000/rs6000.c (function_arg_advance): SPE vararg
17350 vectors are split into two registers.
17351 (function_arg): Same.
17352
c427db5d
R
17353Thu Jul 26 23:00:13 2002 J"orn Rennecke <joern.rennecke@superh.com>
17354
17355 * pa.md (extv): Check predicates before emitting extv_32.
17356
57ac7be9
AM
173572002-07-27 Alan Modra <amodra@bigpond.net.au>
17358
17359 * config/rs6000/rs6000.c (rs6000_traceback_name): New var.
17360 (rs6000_traceback): New var.
17361 (rs6000_override_options): Set rs6000_traceback.
17362 (rs6000_output_function_epilogue): Implement traceback options.
17363 * config/rs6000/rs6000.h (TARGET_OPTIONS): Add "traceback=".
17364 (rs6000_traceback_name): Declare.
17365
17366 * config/rs6000/rs6000.c (output_profile_hook): Don't generate profile
17367 label reference when NO_PROFILE_COUNTERS.
17368
8e51619a
JM
173692002-07-26 Jason Merrill <jason@redhat.com>
17370
17371 * function.c (assign_parms): Handle frontend-directed pass by
17372 invisible reference.
17373
b41f25cf
NB
173742002-07-26 Neil Booth <neil@daikokuya.co.uk>
17375
17376 * doc/cppopts.texi: Update.
17377
c2734e05
NB
173782002-07-26 Neil Booth <neil@daikokuya.co.uk>
17379
17380 * cppmacro.c (_cpp_create_definition): Don't attempt redefinition
17381 warnings on assertions.
17382
c372b0fa
NB
173832002-07-26 Neil Booth <neil@daikokuya.co.uk>
17384
17385 * c-common.h (RID_AND, RID_AND_EQ, RID_NOT, RID_NOT_EQ,
17386 RID_OR, RID_OR_EQ, RID_XOR, RID_XOR_EQ, RID_BITAND, RID_BITOR,
17387 RID_COMPL): Remove.
17388 * c-parse.in (rid_to_yy): Similarly.
17389
558ee214
JM
173902002-07-26 Jason Merrill <jason@redhat.com>
17391
17392 * c-dump.c: Resurrect.
17393 * tree-dump.c: Move C-specific stuff to c-dump.c.
17394 * c-common.h: Declare c_dump_tree.
17395 * c-lang.c (LANG_HOOKS_TREE_DUMP_DUMP_TREE_FN): Define.
17396 * Makefile.in (C_AND_OBJC_OBJS): Add c-dump.o.
17397 (c-dump.o): New rule.
17398
ce71f754
AM
173992002-07-26 Alan Modra <amodra@bigpond.net.au>
17400
17401 * config/rs6000/rs6000.md: Enable patterns using rlwinm for
17402 PowerPC64. Replace "T" and "S" constraints with "n" when the
17403 predicate will do. Formatting fixes.
17404 (extzvsi_internal2): Use "andi.", "andis." and attr type of "compare"
17405 as for extzvsi_internal1.
17406
e179e7d7
NB
174072002-07-25 Neil Booth <neil@daikokuya.co.uk>
17408
17409 * dwarfout.c (VERSION_ASM_OP, DERIV_BEGIN_LABEL_FMT,
17410 DERIV_END_LABEL_FMT): Remove.
17411 (SL_BEGIN_LABEL_FMT, SL_END_LABEL_FMT): Move.
17412
a2056183
NB
174132002-07-25 Neil Booth <neil@daikokuya.co.uk>
17414
17415 * objc/objc-act.c (UTAG_STATICS, UTAG_PROTOCOL_LIST, USERTYPE):
17416 Remove.
17417
308c142a
SS
174182002-07-25 Stan Shebs <shebs@apple.com>
17419
17420 * config/rs6000/rs6000.c (rs6000_emit_prologue): Remove unused
17421 local var dwarfp.
17422 (output_compiler_stub): Remove unused locals.
17423 (output_call): Always initialize line number.
17424
59324685
R
17425Thu Jul 25 20:34:50 2002 J"orn Rennecke <joern.rennecke@superh.com>
17426
17427 * sh.h (LOAD_EXTEND_OP): QImode zero-extends on SHmedia.
17428 * sh.md (truncdiqi2, movqi_media): Likewise.
17429
77bbd421
NB
174302002-07-25 Neil Booth <neil@daikokuya.co.uk>
17431
17432 * gcse.c (obstack_chunk_alloc): Remove.
17433 (gcse_alloc): Fix to count allocated bytes.
17434 * collect2.c (SYMBOL__MAIN): Remove.
17435
7bad45b0
NB
174362002-07-25 Neil Booth <neil@daikokuya.co.uk>
17437
17438 * gcc.c (TARGET_EXECUTABLE_SUFFIX): Only used if
17439 HAVE_TARGET_EXECUTABLE_SUFFIX.
17440
184166b5
R
17441Thu Jul 25 18:57:50 2002 J"orn Rennecke <joern.rennecke@superh.com>
17442
17443 * rtl.h (mem_attrs): Spell out more clearly the roles of ALIGN,
17444 SIZE, EXPR and OFFSET.
17445
40cb04f1
RH
174462002-07-25 Richard Henderson <rth@redhat.com>
17447
17448 * emit-rtl.c (set_mem_attributes): Fix size and alignment thinkos
17449 in ARRAY_REF of DECL_P case.
17450
a27fb29b
RS
174512002-07-25 Richard Sandiford <rsandifo@redhat.com>
17452
17453 * doc/invoke.texi: Document -mabi=meabi, and expand on the EABI
17454 description. Document -mips32, -mips64, and the associated -march
17455 values. Describe the "mipsN" arguments to -march. Say that the
17456 -mipsN options are equivalent to -march. Reword the description
17457 of default type sizes.
17458 * toplev.h (target_flags_explicit): Declare.
17459 * toplev.c (target_flags_explicit): New var.
17460 (set_target_switch): Update target_flags_explicit.
17461 * config/mips/abi64.h (SUBTARGET_TARGET_OPTIONS): Undefine.
17462 * config/mips/elf64.h (MIPS_ISA_DEFAULT): Undefine.
17463 * config/mips/iris6.h (SUBTARGET_ASM_SPEC): -mabi=64 implies -mips3.
17464 * config/mips/isa3264.h (MIPS_ENABLE_EMBEDDED_O32): Undefine.
17465 * config/mips/mips.h (mips_cpu_info): New struct.
17466 (mips_cpu_string, mips_explicit_type_size_string): Remove.
17467 (mips_cpu_info_table, mips_arch_info, mips_tune_info): Declare.
17468 (MIPS_CPP_SET_PROCESSOR): New macro.
17469 (TARGET_CPP_BUILTINS): Declare a macro for each supported processor.
17470 Define _MIPS_ARCH and _MIPS_TUNE.
17471 (MIPS_ISA_DEFAULT): Don't provide a default value. Instead...
17472 (MIPS_CPU_STRING_DEFAULT): Set to "from-abi" if neither it nor
17473 MIPS_ISA_DEFAULT were already defined.
17474 (MULTILIB_DEFAULTS): Add MULTILIB_ABI_DEFAULT.
17475 (TARGET_OPTIONS): Remove -mcpu and -mexplicit-type-size.
17476 (ABI_NEEDS_32BIT_REGS, ABI_NEEDS_64BIT_REGS): New.
17477 (GAS_ASM_SPEC): Remove -march, -mcpu, -mgp* and -mabi rules.
17478 (ABI_GAS_ASM_SPEC): Remove.
17479 (MULTILIB_ABI_DEFAULT, ASM_ABI_DEFAULT_SPEC): New macros.
17480 (ASM_SPEC): Add -mgp32, -mgp64, -march, -mabi=eabi and -mabi=o64.
17481 Invoke %(asm_abi_default_spec) if no ABI was specified.
17482 (CC1_SPEC): Remove ISA -> register-size rules.
17483 (EXTRA_SPECS): Remove abi_gas_asm_spec. Add asm_abi_default_spec.
17484 * config/mips/mips.c (mips_arch_info, mips_tune_info): New vars.
17485 (mips_cpu_string, mips_explicit_type_size_string): Remove.
17486 (mips_cpu_info_table): New array.
17487 (mips_set_architecture, mips_set_tune): New fns.
17488 (override_options): Rework to make -mipsN equivalent to -march.
17489 Detect more erroneous cases, including those removed from CC1_SPEC.
17490 Don't change the ABI based on architecture, or vice versa.
17491 Unify logic with GAS.
17492 (mips_asm_file_start): Get architecture name from mips_arch_info.
17493 (mips_strict_matching_cpu_name_p, mips_matching_cpu_name_p): New fns.
17494 (mips_parse_cpu): Take the name of the option as argument. Handle
17495 'from-abi'. Raise an error if the option is wrong.
17496 (mips_cpu_info_from_isa): New fn.
17497
6bbdc759
RS
174982002-07-25 Richard Sandiford <rsandifo@redhat.com>
17499
17500 * config/mips/mips.md (tablejump_mips161): Use gen_rtx_LABEL_REF.
17501 (tablejump_mips162): Likewise.
17502
80a62484
R
17503Thu Jul 25 10:23:41 2002 J"orn Rennecke <joern.rennecke@superh.com>
17504
17505 * simpify-rtx.c (simplify_subreg): Don't pass MODE_CC mode to
17506 int_mode_for_mode.
17507
ea793912
GDR
175082002-07-25 Gabriel Dos Reis <gdr@nerim.net>
17509
17510 * c-common.c (c_sizeof_or_alignof_type): Take a third argument for
99086d59 17511 complaining.
ea793912
GDR
17512 * c-common.h (c_sizeof): Adjust definition.
17513 (c_alignof): Likewise.
17514 * c-tree.h (c_sizeof_nowarn): Now macro.
17515 * c-typeck.c (c_sizeof_nowarn): Remove definition.
17516
2d615444
NB
175172002-07-25 Neil Booth <neil@daikokuya.co.uk>
17518
17519 * c-decl.c (c_decode_option): No need to handle switches
17520 cpplib handles.
17521
2be2ac70
ZW
175222002-07-24 Zack Weinberg <zack@codesourcery.com>
17523
17524 * defaults.h (ASM_OUTPUT_TYPE_DIRECTIVE, ASM_OUTPUT_SIZE_DIRECTIVE,
17525 ASM_OUTPUT_MEASURED_SIZE): New default definitions of new macros.
17526 * doc/tm.texi: Document them. Also document SIZE_ASM_OP,
17527 TYPE_ASM_OP, and TYPE_OPERAND_FMT.
17528
17529 * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
17530 config/alpha/elf.h, config/arm/elf.h, config/avr/avr.h,
17531 config/cris/aout.h, config/i386/freebsd-aout.h,
17532 config/i386/sco5.h, config/ia64/ia64.c, config/ip2k/ip2k.h,
17533 config/m68k/m68kelf.h, config/m68k/m68kv4.h, config/m88k/m88k.h,
17534 config/mcore/mcore-elf.h, config/mips/elf.h, config/mips/elf64.h,
17535 config/mips/iris6.h, config/mips/linux.h, config/pa/pa-linux.h,
17536 config/pa/pa64-hpux.h, config/rs6000/sysv4.h,
17537 config/xtensa/elf.h, config/xtensa/linux.h:
17538 Use the new macros.
17539 Where possible, remove redundant definitions of SIZE_ASM_OP,
17540 TYPE_ASM_OP, and TYPE_OPERAND_FMT.
17541
518878e1
AH
175422002-07-24 Aldy Hernandez <aldyh@redhat.com>
17543
17544 * config/rs6000/eabi.h: Define TARGET_SPE_ABI, TARGET_SPE,
17545 TARGET_ISEL, and TARGET_FPRS.
99086d59 17546
518878e1
AH
17547 * doc/invoke.texi (RS/6000 and PowerPC Options): Document
17548 -mabi=spe, -mabi=no-spe, and -misel=.
17549
17550 * config/rs6000/rs6000-protos.h: Add output_isel.
17551 Move vrsave_operation prototype here.
17552
17553 * config/rs6000/rs6000.md (sminsi3): Allow pattern for TARGET_ISEL.
17554 (smaxsi3): Same.
17555 (uminsi3): Same.
17556 (umaxsi3): Same.
17557 (abssi2_nopower): Disallow when TARGET_ISEL.
17558 (*ne0): Same.
17559 (negsf2): Change to expand and rename old pattern to *negsf2.
17560 (abssf2): Change to expand and rename old pattern to *abssf2.
99086d59 17561
518878e1
AH
17562 New expanders: fix_truncsfsi2, floatunssisf2, floatsisf2,
17563 fixunssfsi2.
17564
17565 Change patterns that check for TARGET_HARD_FLOAT or
17566 TARGET_SOFT_FLOAT to also check TARGET_FPRS.
17567
17568 * config/rs6000/rs6000.c: New globals: rs6000_spe_abi,
17569 rs6000_isel, rs6000_fprs, rs6000_isel_string.
17570 (rs6000_override_options): Add 8540 case to
17571 processor_target_table.
17572 Set rs6000_isel for the 8540.
17573 Call rs6000_parse_isel_option.
17574 (enable_mask_for_builtins): New.
17575 (rs6000_parse_isel_option): New.
17576 (rs6000_parse_abi_options): Add spe and no-spe.
17577 (easy_fp_constant): Treat !TARGET_FPRS as soft-float.
17578 (rs6000_legitimize_address): Check for TARGET_FPRS when checking
17579 for TARGET_HARD_FLOAT.
17580 Add case for SPE_VECTOR_MODE.
17581 (rs6000_legitimize_reload_address): Handle SPE vector modes.
17582 (rs6000_legitimate_address): Disallow PRE_INC/PRE_DEC for SPE
17583 vector modes.
17584 Check for TARGET_FPRS when checking for TARGET_HARD_FLOAT.
17585 (rs6000_emit_move): Check for TARGET_FPRS.
17586 Add cases for SPE vector modes.
17587 (function_arg_boundary): Return 64 for SPE vector modes.
17588 (function_arg_advance): Check for TARGET_FPRS and
17589 Handle SPE vectors.
17590 (function_arg): Same.
17591 (setup_incoming_varargs): Check for TARGET_FPRS.
17592 (rs6000_va_arg): Same.
17593 (struct builtin_description): Un-constify mask field. Move up in
17594 file.
17595 (bdesc_2arg): Un-constify and add SPE builtins.
17596 (bdesc_1arg): Same.
17597 (bdesc_spe_predicates): New.
17598 (bdesc_spe_evsel): New.
17599 (rs6000_expand_unop_builtin): Add SPE 5-bit literal builtins.
17600 (rs6000_expand_binop_builtin): Same.
17601 (bdesc_2arg_spe): New.
17602 (spe_expand_builtin): New.
17603 (spe_expand_predicate_builtin): New.
17604 (spe_expand_evsel_builtin): New.
17605 (rs6000_expand_builtin): Call spe_expand_builtin for SPE.
17606 (rs6000_init_builtins): Initialize SPE builtins. Call
17607 rs6000_common_init_builtins.
17608 (altivec_init_builtins): Move all non-altivec builtin code to...
17609 (rs6000_common_init_builtins): ...here. New function.
17610 (branch_positive_comparison_operator): Allow NE code for SPE.
17611 (ccr_bit): Return correct ccr bit for SPE fp.
17612 (print_operand): Emit crnor in 'D' case for SPE.
17613 New case 't'.
17614 Add SPE code for 'y' case.
17615 (rs6000_generate_compare): Generate rtl for SPE fp.
17616 (output_cbranch): Handle SPE hard floats.
17617 (rs6000_emit_cmove): Handle isel.
17618 (rs6000_emit_int_cmove): New.
17619 (output_isel): New.
17620 (rs6000_stack_info): Adjust stack frame so GPRs are saved in
17621 64-bits for SPE.
17622 (debug_stack_info): Add SPE info.
17623 (gen_frame_mem_offset): New.
17624 (rs6000_emit_prologue): Save GPRs in 64-bits for SPE abi.
17625 Change mode of frame pointer, when saving it, to Pmode.
17626 (rs6000_emit_epilogue): Restore GPRs in 64-bits for SPE abi.
17627 Misc cleanups and use gen_frame_mem_offset when appropriate.
17628
17629 * config/rs6000/rs6000.h (processor_type): Add PROCESSOR_PPC8540.
17630 (TARGET_SPE_ABI): New.
17631 (TARGET_SPE): New.
17632 (TARGET_ISEL): New.
17633 (TARGET_FPRS): New.
17634 (FIXED_SCRATCH): New.
17635 (RTX_COSTS): Add PROCESSOR_PPC8540.
17636 (ASM_CPU_SPEC): Add case for 8540.
17637 (TARGET_OPTIONS): Add isel= case.
17638 (rs6000_spe_abi): New.
17639 (rs6000_isel): New.
17640 (rs6000_fprs): New.
17641 (rs6000_isel_string): New.
17642 (UNITS_PER_SPE_WORD): New.
17643 (LOCAL_ALIGNMENT): Adjust for SPE.
17644 (HARD_REGNO_MODE_OK): Same.
17645 (DATA_ALIGNMENT): Same.
17646 (MEMBER_TYPE_FORCES_BLK): New.
17647 (FIRST_PSEUDO_REGISTER): Set to 113.
17648 (FIXED_REGISTERS): Add SPE registers.
17649 (reg_class): Same.
17650 (REG_CLASS_NAMES): Same.
17651 (REG_CLASS_CONTENTS): Same.
17652 (REGNO_REG_CLASS): Same.
17653 (REGISTER_NAMES): Same.
17654 (DEBUG_REGISTER_NAMES): Same.
17655 (ADDITIONAL_REGISTER_NAMES): Same.
17656 (CALL_USED_REGISTERS): Same.
17657 (CALL_REALLY_USED_REGISTERS): Same.
17658 (SPE_ACC_REGNO): New.
17659 (SPEFSCR_REGNO): New.
17660 (SPE_SIMD_REGNO_P): New.
17661 (HARD_REGNO_NREGS): Adjust for SPE.
17662 (VECTOR_MODE_SUPPORTED_P): Same.
17663 (REGNO_REG_CLASS): Same.
17664 (FUNCTION_VALUE): Same.
17665 (LIBCALL_VALUE): Same.
17666 (LEGITIMATE_OFFSET_ADDRESS_P): Same.
17667 (SPE_VECTOR_MODE): New.
17668 (CONDITIONAL_REGISTER_USAGE): Disable FPRs when target does FP on
17669 the GPRs. Set FIXED_SCRATCH fixed in SPE case.
17670 (rs6000_stack): Add spe_gp_size, spe_padding_size,
17671 spe_gp_save_offset.
17672 (USE_FP_FOR_ARG_P): Check for TARGET_FPRS.
17673 (LEGITIMATE_LO_SUM_ADDRESS_P): Same.
17674 (SPE_CONST_OFFSET_OK): New.
17675 (rs6000_builtins): Add SPE builtins.
17676
17677 * testsuite/gcc.dg/ppc-spe.c: New.
99086d59 17678
518878e1
AH
17679 * config/rs6000/eabispe.h: New.
17680
17681 * config/rs6000/spe.h: New.
17682
17683 * config/rs600/spe.md: New.
17684
17685 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
17686 __SIMD__ for TARGET_SPE.
17687
17688 * config.gcc: Add powerpc-*-eabispe* case.
17689 Add spe.h to user headers for powerpc.
17690
8d1b7ba1
CD
176912002-07-24 Chris Demetriou <cgd@broadcom.com>
17692
17693 * config/mips/elf.h (STARTFILE_SPEC): Undo previous change.
17694 * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
17695 * config/mips/isa3264.h (STARTFILE_SPEC): Likewise.
17696
8ad8135a
RH
176972002-07-24 Richard Henderson <rth@redhat.com>
17698
17699 * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Use GOTO_SUBROUTINE_EXPR
17700 form when not optimizing.
17701
dc44a4d8
DM
177022002-07-24 David Mosberger <davidm@hpl.hp.com>
17703
17704 * config/ia64/ia64.c (gen_thread_pointer): Fix typo in marking
17705 thread_pointer_rtx as unchanging.
17706
c5605318
MM
177072002-07-24 Michael Matz <matz@suse.de>
17708
17709 * ra-colorize.c (INV_REG_ALLOC_ORDER): New macro.
17710 (free_reg): Use it.
17711
3ade30ea
RE
177122002-07-24 Richard Earnshaw <rearnsha@arm.com>
17713
17714 * arm.md (arm_buneq, arm_bltgt): put '\' before ';' in output
17715 pattern.
17716 (arm_buneq_reversed, arm_bltgt_reversed): Likewise.
17717 (movsicc, movsfcc, movdfcc): FAIL if UNEQ or LTGT.
17718
8a3ad737
CD
177192002-07-24 Chris Demetriou <cgd@broadcom.com>
17720
17721 * config/mips/elf.h (STARTFILE_SPEC): Never include crt0.o.
17722 * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
17723 * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine.
17724
7e51e626
JH
17725Wed Jul 24 17:59:12 CEST 2002 Jan Hubicka <jh@suse.cz>
17726
17727 * toplev.c (rest_of_compilation): Dump loops before clobbering
17728 the structure.
17729
5df533b3
JH
17730Wed Jul 24 17:23:16 CEST 2002 Jan Hubicka <jh@suse.cz>
17731
17732 * rtlanal.c (keep_with_call_p): Avoid overflow in fixed_regs.
17733
79258dce
RS
177342002-07-24 Frank van der Linden <fvdl@wasabisystems.com>
17735
17736 PR optimization/7291
17737 * config/i386/i386.c (ix86_expand_clrstr): Fix bzero alignment
17738 problem on x86_64.
17739
26ff2117
GDR
177402002-07-24 Gabriel Dos Reis <gdr@nerim.net>
17741
17742 * pretty-print.h: Add macros from cp/error.c
17743
0ba1b2ff
AM
177442002-07-24 Alan Modra <amodra@bigpond.net.au>
17745
17746 * config/rs6000/rs6000-protos.h (mask_operand_wrap): Declare.
17747 (mask64_2_operand): Declare.
17748 (build_mask64_2_operands): Declare.
17749 (and64_2_operand): Declare.
17750 (extract_MB): Declare.
17751 (extract_ME): Declare.
17752 * config/rs6000/rs6000.c (mask64_operand): Allow all ones. Remove
17753 CONST_DOUBLE code.
17754 (mask_operand_wrap): New insn predicate.
17755 (mask64_2_operand): Likewise.
17756 (and64_2_operand): Likewise.
17757 (build_mask64_2_operands): New function.
17758 (extract_MB): New function.
17759 (extract_ME): New function.
17760 (print_operand <case m,M>): Use extract_MB and extract_ME.
17761 (print_operand <case S>): Allow all ones. Remove CONST_DOUBLE support.
17762 * config/rs6000/rs6000.h (EXTRA_CONSTRAINT): Add 't'.
17763 (PREDICATE_CODES): Add and64_2_operand, mask_operand_wrap and
17764 mask64_2_operand. Remove CONST_DOUBLE from mask64_operand.
17765 * config/rs6000/rs6000.md (andsi3_internal3): New
17766 (andsi3_internal3+1): Enable split for powerpc64.
17767 (andsi3_internal3+2): New split.
17768 (andsi3_internal4): Renamed old andsi3_internal3.
17769 (andsi3_internal5): New.
17770 (andsi3_internal5+1): Enable split for powerpc64.
17771 (andsi3_internal5+2): New split.
17772 (andsi3_internal6, andsi3_internal7, andsi3_internal8): New.
17773 (anddi3): Handle 't' constraint.
17774 (anddi3+1): New split.
17775 (anddi3_internal2): Handle 't' constraint.
17776 (anddi3_internal2+1): New split.
17777 (anddi3_internal3): Handle 't' constraint.
17778 (anddi3_internal3+1): New split.
17779
097657c3
AM
177802002-07-24 Alan Modra <amodra@bigpond.net.au>
17781
17782 * config/rs6000/rs6000.md: Remove scratch reg on insns using
17783 addze and similar (plus (comparison r1 r2) r3) insns. Add
17784 missing scratch reg in one case. Formatting fixes.
17785
a69cbaac
NB
177862002-07-24 Neil Booth <neil@daikokuya.co.uk>
17787
17788 * cppexp.c (parse_defined): Mark macro used.
17789 * cpphash.h (struct cpp_macro): New member "used".
17790 (_cpp_mark_macro_used, _cpp_warn_if_unused_macro): New.
17791 (struct cpp_reader): New member.
17792 * cppinit.c (cpp_finish_options): Set first_unused_line.
17793 (cpp_finish): Warn of unused macros if requested.
17794 (OPT_TABLE): New switches.
17795 (cpp_handle_option): Handle them.
17796 * cpplib.c (do_undef): Warn if macro unused.
17797 (do_ifdef, do_ifndef): Mark macro used.
17798 * cpplib.h (struct cpp_options): New member.
17799 * cppmacro.c (_cpp_warn_if_unused_macro): New.
17800 (enter_macro_context): Mark macro used.
17801 (_cpp_create_definition): Mark macro unused; warn if unused
17802 when redefined.
17803 * cpptrad.c (scan_out_logcial_line, push_replacement_text):
17804 Mark macros used.
17805 * doc/cppopts.texi: Update.
17806
c0667597
NB
178072002-07-23 Neil Booth <neil@daikokuya.co.uk>
17808
17809 * dwarf2out.c (SECTION_ASM_OP,
17810 ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
17811 * system.h (SECTION_ASM_OP): Poison.
17812 * tree.c (FILE_FUNCTION_PREFIX_LEN): Remove.
17813 * config/alpha/alpha-interix.h, config/mips/linux.h
17814 (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
17815 * config/mmix/mmix-protos.h, config/mmix/mmix.c
17816 (mmix_asm_output_define_label_difference_symbol): Remove.
17817 * config/mmix/mmix.h
17818 (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
b841421a 17819 * doc/tm.texi: Remove documentation.
c0667597 17820
bf7cd754
R
17821Tue Jul 23 21:49:24 2002 J"orn Rennecke <joern.rennecke@superh.com>
17822
17823 * recog.c (asm_operand_ok): Allow float CONST_VECTORs for 'F'.
17824 (constrain_operands): Likewise.
17825 * regclass.c (record_reg_classes): Likewise.
17826 * reload.c (find_reloads): Likewise.
17827 * doc/md.texi: Likewise.
451f86fd
R
17828
17829 * reload.c (find_reloads_toplev): Use simplify_gen_subreg.
17830 * simplify-rtx.c (simplify_subreg): When converting to a non-int
17831 mode, try to convert to an integer mode of matching size first.
1d5fa6b4
R
17832
17833 * simplify-rtx.x (simplify_subreg): When constructing a CONST_VECTOR
17834 from individual subregs, check that each subreg has been generated
17835 sucessfully.
17836
10d6af32
NB
178372002-07-23 Neil Booth <neil@daikokuya.co.uk>
17838
17839 * genautomata.c (VLA_HWINT_SHORTEN, VLA_HWINT_LAST): Remove.
17840 * df.c (HANDLE_SUBREG, FOR_EACH_BB_IN_BITMAP_REV,
17841 FOR_EACH_BB_IN_SBITMAP): Remove.
17842 * gcse.c (NEVER_SET, FOLLOW_BACK_EDGES): Remove.
17843 * haifa-sched.c (DONE_PRIORITY, MAX_PRIORITY, TAIL_PRIORITY,
17844 LAUNCH_PRIORITY, DONE_PRIORITY_P, LOW_PRIORITY_P): Remove.
17845 * loop.c (PREFETCH_BLOACK_IN_LOOP_MIN,
17846 PREFETCH_LIMIT_TO_SIMULTANEOUS): Remove.
17847 * regrename.c (REGNO_MODE_OK_FOR_BASE_P): Remove.
17848
6aaae39a
GDR
178492002-07-23 Gabriel Dos Reis <gdr@nerim.net>
17850
17851 * pretty-print.h: New file.
17852
45e574d0
JDA
178532002-07-23 Paul Koning <pkoning@equallogic.com>
17854
17855 * real.c (REAL_WORDS_BIG_ENDIAN): Make 1 for DEC.
17856 (LARGEST_EXPONENT_IS_NORMAL): Ditto.
17857 (VAX_HALFWORD_ORDER): Define (1 for DEC VAX, 0 otherwise).
17858 (TARGET_G_FLOAT): Default to 0 if not defined.
99086d59 17859 (ieeetoe): New, common routine to convert target format floats
45e574d0
JDA
17860 to internal form.
17861 (e24toe, e53toe): Change to use ieeetoe, distinguish DEC
17862 vs. others.
17863 (e113toe): Change to use ieeetoe.
17864
178652002-07-23 Roman Lechtchinsky <rl@cs.tu-berlin.de>
17866
17867 * real.c (REAL_WORDS_BIG_ENDIAN): Make sure it is 0 for DEC and 1 for
17868 IBM.
17869 (e53toe): Assume IEEE if non of DEC, IBM and C4X is defined.
17870 (e64toe): Remove special cases for DEC and IBM. Remove support for
17871 ARM_EXTENDED_IEEE_FORMAT.
17872 (e24toe): Remove special cases for DEC.
17873 (significand_size): Simplify. Indent.
17874 (ieee_format, ieee_24, ieee_53, ieee_64, ieee_113): New.
17875 (etoieee, toieee): New.
17876 (etoe113, toe113, etoe64, toe64, etoe53, toe53, etoe24, toe24): Use
17877 etoieee and toieee for IEEE arithmetic.
17878
3764f879
GDR
178792002-07-23 Gabriel Dos Reis <gdr@nerim.net>
17880
17881 * doc/extend.texi: Say ISO C90, not ISO C89.
17882 * doc/invoke.texi: Likewise.
17883 * doc/standards.texi: Likewise.
17884
aa0f70e6
SE
178852002-07-23 Steve Ellcey <sje@cup.hp.com>
17886
17887 * gcc/explow.c (convert_memory_address): Fix conversion of CONSTs.
17888 Fix permutation of conversion and plus/mult.
17889 * gcc/builtins.c (expand_builtin_memcpy) Ensure return pointer is
17890 ptr_mode and not Pmode when POINTERS_EXTEND_UNSIGNED is defined.
17891 (expand_builtin_strncpy) Ditto.
17892 (expand_builtin_memset) Ditto.
17893
fa72b064
GDR
178942002-07-23 Gabriel Dos Reis <gdr@nerim.net>
17895
17896 Fix PR/7363:
17897 * c-common.c (c_sizeof_or_alignof_type): New function.
17898 (c_alignof): Remove definition.
17899 * c-common.h (c_sizeof, c_alignof): Define as macros.
17900 (c_sizeof_or_alignof_type): Declare.
17901 (my_friendly_assert): Moved from cp/cp-tree.h
17902 * c-typeck.c (c_sizeof): Remove definition.
17903
2b773ee2
JH
179042002-07-23 Jan Hubicka <jh@suse.cz>
17905
17906 * gcse.c (try_replace_reg): Use num_changes_pending.
17907 * recog.c (num_changes_pending): New function.
17908 (validate_replace_src): Use validate_repalce_src_group.
17909 (validate_replace_src_group): New.
17910 * recog.h (validate_repalce_src_group): New.
17911 (num_changes_pending): Likewise.
17912
a0dc500c
R
17913Tue Jul 23 12:16:58 2002 J"orn Rennecke <joern.rennecke@superh.com>
17914
17915 * calls.c (emit_library_call_value_1): If
17916 FUNCTION_ARG_PASS_BY_REFERENCE is true, pretend this is neither
17917 libcall, const call nor pure call.
17918
d22eda7b
NB
179192002-07-23 Neil Booth <neil@daikokuya.co.uk>
17920
17921 * config/m88k/m88k.h (SECTION_ASM_OP): Remove.
17922
b5e66e65
NB
179232002-07-23 Neil Booth <neil@daikokuya.co.uk>
17924
17925 * vmsdbgout.c (SECTION_ASM_OP): Remove.
17926
c3a600c0
NB
179272002-07-23 Neil Booth <neil@daikokuya.co.uk>
17928
17929 * config/i386/i386.c (AT_BP): Remove.
17930
4fa31c2a
NB
179312002-07-23 Neil Booth <neil@daikokuya.co.uk>
17932
17933 * defaults.h (obstack_chunk_alloc, obstack_chunk_free):
17934 Default definition.
17935 * gcse.c: Don't define obstack_chunk_free.
17936 * collect2.c, conflict.c, df.c, diagnostic.c, fix-header.c,
17937 flow.c, gcc.c, genattrtab.c, genautomata.c, genflags.c, gensupport.c,
17938 integrate.c, loop.c, ra.c, read-rtl.c, regrename.c, reload1.c,
17939 reorg.c, tlink.c, tree.c, config/arm/arm.c, objc/objc-act.c:
17940 Don't define obstack macros.
17941
fd576c86
SC
179422002-07-22 Stephane Carrez <stcarrez@nerim.fr>
17943
17944 PR target/6744
17945 * config/m68hc11/m68hc11.c (m68hc11_z_replacement): Also replace
17946 ASM_OPERANDS instructions.
17947
b791ff31
SC
179482002-07-22 Stephane Carrez <stcarrez@nerim.fr>
17949
17950 PR target/7361
17951 * config/m68hc11/m68hc11.c (go_if_legitimate_address_internal): Accept
17952 constant addresses only on 68HC12.
17953
4a941115
NB
179542002-07-22 Neil Booth <neil@daikokuya.co.uk>
17955
17956 * cppfiles.c (stack_include_file): Correct test of whether
17957 a dependency should be output.
17958
7488cc6d
DE
179592002-07-22 David Edelsohn <edelsohn@gnu.org>
17960
17961 * collect2.c (is_ctor_dtor): Add other possible JOINER values.
17962
b41caf7c
RE
179632002-07-22 Richard Earnshaw <rearnsha@arm.com>
17964
17965 * arm.md (movqi): If optimizing and we can create pseudos, use
17966 a ZERO_EXTEND to load from memory, then copy the result into the
17967 target.
17968 (movhi): Likewise, but only for ARMv4.
17969
492e9934
NB
179702002-07-22 Neil Booth <neil@daikokuya.co.uk>
17971
17972 * ssa-ccp.c (PHI_PARMS): Remove.
17973
f01f01a6
RS
179742002-07-22 Richard Sandiford <rsandifo@redhat.com>
17975
17976 * config/mips/mips.h (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS
17977 on big-endian targets.
17978
c2ae8aef
KG
179792002-07-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17980
17981 * hwint.h (HOST_WIDE_INT_PRINT_DEC_SPACE,
17982 HOST_WIDE_INT_PRINT_UNSIGNED_SPACE,
17983 HOST_WIDEST_INT_PRINT_DEC_SPACE, HOST_WIDEST_INT_PRINT_DEC_SPACE):
17984 New formatting macros.
17985
17986 * ra-debug.c (dump_static_insn_cost): Avoid string concatenation.
17987
eab2120d
R
17988Mon Jul 22 15:27:25 2002 J"orn Rennecke <joern.rennecke@superh.com>
17989
17990 * rtlanal.c (subreg_regno_offset): Return correct offset for
17991 big endian paradoxical subregs.
0d541696
R
17992
17993 * optabs.c (expand_vector_unop): Don't expand using sub_optab
17994 if we got the wrong mode.
bb9b3805
R
17995
17996 * hwint.c (define HOST_WIDE_INT_PRINT_DEC_C): New define.
17997 * genrecog.c (write_switch, write_cond): Use it.
17998 * genemit.c (gen_exp): Likewise.
17999
e96eb215
JJ
180002002-07-22 Jakub Jelinek <jakub@redhat.com>
18001
18002 * c-decl.c (build_compound_literal): Set decl TREE_READONLY from TYPE.
18003
cf3c4f56
JJ
180042002-07-22 Jakub Jelinek <jakub@redhat.com>
18005
18006 * c-decl.c (build_compound_literal): Defer compound literal decls
18007 until until file end to emit them only if they are actually used.
18008
533c4863
KG
180092002-07-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
18010
18011 * ra-build.c (check_conflict_numbers): Hide unused function.
18012 (livethrough_conflicts_bb): Avoid automatic aggregate
18013 initialization.
18014 (parts_to_webs_1): Avoid `U' integer constant modifier.
18015 (conflicts_between_webs): Wrap a variable in the macro controlling
18016 its usage.
18017 * ra-debug.c (ra_debug_msg): Use VA_OPEN/VA_CLOSE.
18018 (dump_igraph, dump_graph_cost): Avoid string concatenation
18019 (dump_static_insn_cost): Avoid automatic aggregate
18020 initialization.
18021 * ra-rewrite.c (insert_stores): Avoid automatic aggregate
18022 initialization.
18023 (dump_cost): Avoid string concatenation
18024
8943a0b4
RH
180252002-07-21 Richard Henderson <rth@redhat.com>
18026
18027 * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Don't use
18028 GOTO_SUBROUTINE_EXPR when finally_block can be re-expanded.
18029
b1aef35b
RH
180302002-07-21 Richard Henderson <rth@redhat.com>
18031
18032 * unroll.c (find_splittable_givs): Do not split DEST_ADDR givs
18033 that are not unrolled completely.
18034
5e1afb11
RH
180352002-07-21 Richard Henderson <rth@redhat.com>
18036
18037 * loop.h (LOOP_AUTO_UNROLL): Rename from LOOP_FIRST_PASS.
18038 * loop.c (strength_reduce): Update.
18039 * toplev.c (rest_of_compilation): Do unrolling in the first
18040 loop pass, not the second.
18041
c67a1cf6
RH
180422002-07-21 Richard Henderson <rth@redhat.com>
18043
18044 * emit-rtl.c (set_mem_attributes): Preserve indirection of PARM_DECL
18045 when flag_argument_noalias == 2.
18046 * alias.c (nonoverlapping_memrefs_p): Handle that.
18047 * print-rtl.c (print_mem_expr): Likewise.
18048
b68daef4
HS
180492002-07-21 Hartmut Schirmer <hartmut.schirmer@arcor.de>
18050
18051 * libgcc2.c (__divdi3, __moddi3): Use unary minus operator
18052 instead of __negdi2 directly.
18053
060a58c5
NB
180542002-07-21 Neil Booth <neil@daikokuya.co.uk>
18055
18056 * gengenrtl.c (gencode): Don't define obstack_alloc_rtx.
18057 * function.c (SYMBOL__MAIN): Remove definition.
18058 * global.c (SET_CONFLICT, REGBITP, ALLOCNO_LIVE_P): Remove.
99086d59 18059 * predict.c (PROB_NEVER, PROB_LIKELY, PROB_UNLIKELY): Remove.
060a58c5
NB
18060 * profile.c (GCOV_INDEX_TO_BB): Remove.
18061 * sched-rgn.c (ABS_VALUE, MIN_DIFF_PRIORITY, MIN_PROB_DIFF): Remove.
18062 * simplify-rtx.c (FIXED_BASE_PLUS_P): Remove.
18063
2f8dd115
NB
180642002-07-21 Neil Booth <neil@daikokuya.co.uk>
18065
18066 * c-lex.c (GET_ENVIRONMENT): Remove.
18067 * collect2.c (GET_ENV_PATH_LIST): Remove.
18068 (prefix_from_env): Use GET_ENVIRONMENT.
18069 * cppinit.c (GET_ENV_PATH_LIST): Remove.
18070 (init_standard_includes): Use GET_ENVIRONMENT.
18071 * defaults.h (GET_ENVIRONMENT): Define here if not already.
18072 * gcc.c (GET_ENV_PATH_LIST): Remove.
18073 (make_relative_prefix, process_command): Update.
18074 * protoize.c (GET_ENV_PATH_LIST): Remove.
18075 (do_processing): Update.
18076
56508306
GDR
180772002-07-21 Gabriel Dos Reis <gdr@nerim.net>
18078
18079 * c-decl.c (build_array_declarator): Say 'ISO C90', not 'ISO C89'.
18080 (grokdeclarator): Likewise.
18081 * c-format.c (C_STD_NAME): Likewise.
18082 * c-lex.c (interpret_integer): Likewise.
18083 * c-typeck.c (build_array_ref): Likewise.
18084 * cpplex.c (_cpp_lex_direct): Likewise.
18085 * toplev.c (documented_lang_options): Likewise.
18086
e2f62855
NB
180872002-07-21 Neil Booth <neil@daikokuya.co.uk>
18088
18089 * c-format.c (T99_I, T99_UI): Remove.
18090
c89d1dfd
NB
180912002-07-21 Neil Booth <neil@daikokuya.co.uk>
18092
18093 * c-typeck.c (SAVE_SPELLING_DEPTH): Remove.
18094
46690369
JH
18095Sun Jul 21 21:36:41 CEST 2002 Jan Hubicka <jh@suse.cz>
18096
18097 * gcse.c (do_local_cprop): Do not extend lifetimes of registers set by
18098 do_local_cprop.
18099
60ffc1b8
AJ
181002002-07-21 Andreas Jaeger <aj@suse.de>
18101
99086d59 18102 * reload1.c (fixup_abnormal_edges): Remove unused variable.
60ffc1b8 18103
c05ffc49
BS
181042002-07-21 Bernd Schmidt <bernds@redhat.com>
18105
18106 Improvements for the ifcvt pass from Michael Meissner, with patches
18107 by Richard Sandiford <rsandifo@redhat.com>
18108 * basic-block.h (struct ce_if_block, ce_if_block_t): New types.
18109 * ifcvt.c (cond_exec_changed_p): New static variable.
18110 (last_active_insn): New function, renamed from last_active_insn_p
18111 and changed to return the last active insn in a basic block. All
18112 callers updated.
18113 (block_fallthru): New function.
18114 (cond_exec_process_insns): New argument CE_INFO. Pass it to
18115 IFCVT_MODIFY_INSN. All callers updated.
18116 Return false if START or END are NULL.
18117 Handle case where we're processing an insn that is already
18118 conditional.
18119
18120 (noce_process_if_block): CE_INFO argument rather than
18121 multiple args containing the involved basic blocks. All callers
18122 changed.
18123 (process_if_block, merge_if_block, find_if_block,
18124 cond_exec_process_if_block): Likewise.
18125
18126 (cond_exec_process_if_block): New arg DO_MULTIPLE_P. All callers
18127 changed.
18128 Use new function last_active_insn to simplify some code.
18129 New code to handle multiple tests.
18130 Call IFCVT_MODIFY_CANCEL in all failure cases, otherwise set
18131 cond_exec_changed_p to TRUE.
18132
18133 (process_if_block): New code to handle multiple tests.
18134 (merge_if_block): Likewise.
18135 (find_if_header): New arg PASS. Changed to return the currently
18136 processed basic block or NULL instead of true/false. All callers
18137 changed.
18138 Call IFCVT_INIT_EXTRA_FIELDS.
18139 (block_jumps_and_fallthru_p): New function.
18140 (find_if_block): Discover opportunities to convert multiple tests.
18141 Add additional debugging output.
18142 Update the ce_info structure before returning.
18143
18144 (if_convert): Run multiple passes of if-conversion.
18145 * doc/tm.texi (IFCVT_MODIFY_TESTS, IFCVT_MODIFY_INSN,
18146 IFCVT_MODIFY_FINAL, IFCVT_MODIFY_CANCEL, IFCVT_MODIFY_MULTIPLE_TESTS,
18147 IFCVT_INIT_EXTRA_FIELDS, IFCVT_EXTRA_FIELDS): Update documentation for
18148 these macros.
18149
ae860ff7
JH
18150Sun Jul 21 00:54:54 CEST 2002 Jan Hubicka <jh@suse.cz>
18151
18152 * gcse.c: Include cselib.h
18153 (constptop_register): Break out from ...
18154 (cprop_insn): ... here; kill basic_block argument.
18155 (do_local_cprop, local_cprop_pass): New functions.
18156 (one_cprop_pass): Call local_cprop_pass.
18157
0da65b89
RS
181582002-07-20 Roger Sayle <roger@eyesopen.com>
18159
18160 * simplify-rtx.c (simplify_relational_operation): Optimize
18161 abs(x) < 0.0 (and abs(x) >= 0.0 when using -ffast-math).
18162
47cc673a
MM
181632002-07-20 Michae Matz <matz@suse.de>
18164
18165 * ra-build.c: (remember_web_was_spilled): Use GENERAL_REGS.
18166
68e65275
NB
181672002-07-20 Neil Booth <neil@daikokuya.co.uk>
18168
18169 * cppexp.c (struct op): Add token pointer.
18170 (check_promotion, CHECK_PROMOTION): New.
18171 (optab): Update.
18172 (_cpp_parse_expr): Update, use token pointer of struct op.
18173 (reduce): Warn about change of sign owing to promotion.
18174 * cppinit.c (cpp_handle_option): New warning if -Wall.
18175 * cpplib.h (struct cpp_options): New member.
18176
e3485bbc
DE
181772002-07-19 David Edelsohn <edelsohn@gnu.org>
18178
18179 * config/rs6000/rs6000.md: Remove ppc630 fpcompare from single
18180 fpu list. Separate Power4 compare and delayed_compare. Correct
18181 Power4 fpcompare.
18182 (fix_truncdfsi2_internal): Restore FPR preference.
18183 * config/rs6000/t-aix43 (MULTILIB_MATCHES): Add mcpu?power3,
18184 mcpu?power4, mcpu?604e. Remove mpower, mpower2, mpowerpc.
18185
449655a6
MV
181862002-07-19 Momchil Velikov <velco@fadata.bg>
18187
18188 * reload1.c (reload_as_needed): Duplicate oldpat.
18189
8b583747
AM
181902002-07-20 Alan Modra <amodra@bigpond.net.au>
18191
18192 PR optimization/7130
18193 * loop.h (struct loop_info): Add "preconditioned".
18194 * unroll.c (unroll_loop): Set it.
18195 * doloop.c (doloop_modify_runtime): Correct count for unrolled loops.
18196
0dc36574
ZW
181972002-07-19 Zack Weinberg <zack@codesourcery.com>
18198
18199 * rtl.def (CODE_LABEL): Remove slot 8.
18200 * rtl.h (struct rtx_def): Document new uses of jump and call fields.
18201 (LABEL_ALTERNATE_NAME): Delete.
18202 (LABEL_KIND, SET_LABEL_KIND, LABEL_ALT_ENTRY_P): New.
18203 * defaults.h: Remove default for ASM_OUTPUT_ALTERNATE_LABEL_NAME.
18204
18205 * final.c (output_alternate_entry_point): New.
18206 (final_scan_insn): Use it instead of
18207 ASM_OUTPUT_ALTERNATE_LABEL_NAME. Do not consider possibility
18208 of a case label being an alternate entry point.
18209
18210 * cfgbuild.c (make_edges, find_bb_boundaries): Use LABEL_ALT_ENTRY_P.
18211 * emit-rtl.c (gen_label_rtx): Adjust call to gen_rtx_CODE_LABEL.
18212 Do not clear LABEL_NUSES (unnecessary) or LABEL_ALTERNATE_NAME
18213 (field deleted).
18214 * print-rtl.c, ra-debug.c: Update code to output CODE_LABELs.
18215
18216 * doc/rtl.texi: Document LABEL_KIND, SET_LABEL_KIND, and
18217 LABEL_ALT_ENTRY_P; not LABEL_ALTERNATE_NAME.
18218 * doc/tm.texi: Delete documentation of
18219 ASM_OUTPUT_ALTERNATE_LABEL_NAME.
18220
59267987
RO
182212002-07-19 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
18222
18223 * config/mips/iris5gas.h (DWARF2_DEBUGGING_INFO): Define.
18224 (PREFERRED_DEBUGGING_TYPE): Use DWARF2_DEBUG.
18225 (LINK_SPEC): Define.
18226 (STARTFILE_SPEC): Define.
18227 (ENDFILE_SPEC): Define.
18228
18229 * config/mips/iris6-o32.h (LINK_SPEC): Move ...
18230 * config/mips/iris6-o32-as.h (LINK_SPEC): ... here.
18231
18232 * config/mips/iris6-o32-gas.h: New file.
18233 * config.gcc (mips-sgi-irix6*o32): Use it.
18234
18235 * config/mips/t-iris5-gas: New file.
18236 * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
18237
75aef48a
NB
182382002-07-19 Neil Booth <neil@daikokuya.co.uk>
18239
18240 * cppexp.c (ALWAYS_EVAL): Remove.
18241 (optab, reduce): Always evaluate.
18242 (num_unary_op, num_binary_op, num_div_op): Issue diagnostics
18243 only if not skipping evaluation.
18244
72a5503d
MM
182452002-07-19 Marek Michalkiewicz <marekm@amelek.gda.pl>
18246
18247 * config/avr/avr.c (debug_hard_reg_set): Remove.
18248
059ba716
CD
182492002-07-19 Chris Demetriou <cgd@broadcom.com>
18250
18251 * gcc.c (cpp_options): Include "%1" (cc1_spec).
18252
544823b6
RH
182532002-07-19 Richard Henderson <rth@redhat.com>
18254
18255 * loop.c (loop_givs_rescan): Delete the REG_EQUAL note, not the insn.
18256
c35383cb
AM
182572002-07-19 Alan Modra <amodra@bigpond.net.au>
18258
18259 * prefix.c (update_path): Don't zap single `.' path components
18260 unless followed by another `.' and fix typo last patch.
18261
ad28cff7
NB
182622002-07-18 Neil Booth <neil@daikokuya.co.uk>
18263
18264 * cppexp.c (cpp_num_mul): Remove unused parameter.
18265 (UNARY, BINARY, OTHER, binary_handler): Remove.
18266 (ALWAYS_EVAL): New.
18267 (optab): Update.
18268 (reduce): Refactor to a large switch, don't use a function
18269 pointer.
18270
139b7f86
BT
182712002-07-18 Bo Thorsen <bo@berlioz.suse.de>
18272
18273 * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Define this always.
18274
e69d1422
R
18275Thu Jul 18 19:39:18 2002 J"orn Rennecke <joern.rennecke@superh.com>
18276
18277 * sh-protos.h (sh_expand_unop_v2sf): Move inside #ifdef RTX_CODE guard.
18278 (sh_expand_binop_v2sf): Likewise.
18279 * sh.c (machine_dependent_reorg): Add move for UNSPEC_MOVA.
18280 (int_gpr_dest, trunc_hi_operand): New functions.
18281 * sh.h (PREDICATE_CODES): Add any_register_operand, int_gpr_dest and
18282 trunc_hi_operand.
18283 (SPECIAL_MODE_PREDICATES, any_register_operand): Define.
18284 * sh.md (cmpeqdi_t+1): Remove comments that genrecog warns about.
18285 (adddi3_compact+1, subdi3_compact+1, ashlsi3_n+1, ashlhi3+1): Likewise.
18286 (ashrsi2_16+1, ashrsi2_31+1, lshrsi3_n+1, ashrdi3+[12]): Likewise.
18287 (and_shl_scratch+[12], zero_extendhidi2+1): Likewise.
18288 (zero_extendhisi2_media+1, extendhidi2+1, extendqidi2+1): Likewise.
18289 (extendhisi2_media+1, extendqisi2_media+1): Likewise.
18290 (movsi_media_nofpu+[12], movhi_media+1, movdi_media_nofpu+1): Likewise.
18291 (movdi_const_16bit+[12], movdf_i4+[123], reload_outdf+[2-5]): Likewise.
18292 (movsf_ie+1): Likewise.
18293 (loaddi_trunc): Use int_gpr_dest predicate.
18294 (use_sfunc_addr, indirect_jump_scratch, sibcall_compact): Add mode(s).
18295 (mova, mova_const, GOTaddr2picreg, ptrel, casesi_worker_0): Likewise.
18296 (casesi_worker_0+[12], casesi_worker): Likewise.
18297 (shcompact_preserve_incoming_args): Likewise.
18298 (mov_nop): Use any_register_operand predicate.
18299 (mperm_w0): Use trunc_hi_operand predicate.
18300
47a4976f
JDA
183012002-07-18 John David Anglin <dave@hiauly1.hia.nrc.ca>
18302
18303 * pa-linux.h (DWARF2_UNWIND_INFO): Delete define.
18304 * pa.h (EH_RETURN_DATA_REGNO): Revise TARGET_64BIT and correct
18305 numbering.
18306
f3a4e54e
JDA
183072002-07-18 John David Anglin <dave@hiauly1.hia.nrc.ca>
18308
18309 * pa.c (output_deferred_plabels): Remove unused millicode enum mulU.
18310
30484ccf
RH
183112002-07-18 Richard Henderson <rth@redhat.com>
18312
18313 PR optimization/7147
18314 * ifcvt.c (noce_get_condition): Make certain that the condition
18315 is valid at JUMP.
18316
d042370e
R
18317Thu Jul 18 13:44:51 2002 J"orn Rennecke <joern.rennecke@superh.com>
18318
18319 * sh.c (barrier_align, push): Shut up compiler warnings.
18320 (initial_elimination_offset,sh_media_init_builtins): Likewise.
18321 (reg_no_subreg_operand): Delete.
18322
61fee9b3
BT
183232002-07-17 Bo Thorsen <bo@suse.de>
18324
18325 * config/i386/linux64.h (LINK_SPEC): Remove bogus -Y option.
18326 (STARTFILE_PREFIX_SPEC): Define for NATIVE_CROSS compilations.
18327 (STARTFILE_SPEC): Remove hardcoded library paths.
18328 (ENDFILE_SPEC): Likewise.
18329
f305679f
JH
18330Thu Jul 18 09:38:59 CEST 2002 Jan Hubicka <jh@suse.cz>
18331
18332 * gcse.c (hoist_expr_reaches_here_p): Stop once expr_bb is reached.
18333
18334 * gcse.c (try_replace_reg): Do not return false positives.
18335
99bcb625
AM
183362002-07-18 Alan Modra <amodra@bigpond.net.au>
18337
f6f23ad2
AM
18338 * prefix.c: (update_path): Strip ".." components when prior dir
18339 doesn't exist. Pass correct var to UPDATE_PATH_HOST_CANONICALIZE.
18340
99bcb625
AM
18341 * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Remove 64-bit support.
18342 (ASM_OUTPUT_REG_POP): Likewise.
18343
09eeeacb
AM
183442002-07-18 Alan Modra <amodra@bigpond.net.au>
18345
18346 * config/rs6000/rs6000.c (first_reg_to_save): Remove bogus
18347 adjustments to first_reg for profiling case.
18348 (output_function_profiler): Correct lr save slot for ABI_AIX_NODESC.
18349 Disable profiling for 64 bit code on both ABI_V4 and ABI_AIX_NODESC.
18350 Save static chain reg to sp + 12 on ABI_AIX_NODESC.
18351 * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Define.
18352 (ASM_OUTPUT_REG_POP): Define.
18353 * config/rs6000/linux64.h (ASM_OUTPUT_REG_PUSH): Undef.
18354 (ASM_OUTPUT_REG_POP): Undef.
18355
74d06cf2
NB
183562002-07-17 Neil Booth <neil@daikokuya.co.uk>
18357
18358 * cpplib.c (do_sccs): Handle #sccs on all systems.
18359 * system.h (SCCS_DIRECTIVE): Poison.
18360 * config/darwin.h, config/freebsd.h, config/netbsd.h,
18361 config/ptx4.h, config/svr3.h, config/svr4.h, config/alpha/elf.h,
18362 config/arm/linux-elf.h, config/c4x/c4x.h, config/d30v/d30v.h,
18363 config/i370/i370.h, config/i386/gas.h, config/i386/sco5.h,
18364 config/i960/i960.h, config/m68hc11/m68hc11.h, config/m68k/3b1.h,
18365 config/m68k/3b1g.h, config/m68k/crds.h, config/m68k/mot3300.h,
18366 config/m68k/pbb.h, config/m88k/m88k.h, config/mips/mips.h,
18367 config/sparc/pbd.h, config/stormy16/stormy16.h, config/vax/vaxv.h:
18368 Remove all references to SCCS_DIRECTIVE.
18369 * doc/cpp.texi, doc/tm.texi: Update.
18370
61dde664
R
18371Wed Jul 17 19:23:32 2002 J"orn Rennecke <joern.rennecke@superh.com>
18372
18373 * regrename.c (maybe_mode_change): New function.
18374 (find_oldest_value_reg, copyprop_hardreg_forward_1): Use it.
18375
97f51ac4
RB
183762002-07-17 Rodney Brown <rbrown64@csc.com.au>
18377
18378 * config/i386/i386.c (ix86_expand_int_movcc): In the general case
18379 suppress addition when either ct or cf are zero.
18380
a9b6f1e7 183812002-07-17 Eric Botcazou <ebotcazou@multimania.com>
30484ccf 18382 Glen Nakamura <glen@imodulo.com>
f1a73cfe
EB
18383
18384 PR optimization/6713
18385 * loop.c (loop_givs_rescan): Explicitly delete the insn that
18386 sets a non-replaceable giv after issuing the new one.
18387
23ff0223
NB
183882002-07-17 Neil Booth <neil@daikokuya.co.uk>
18389
18390 * cppexp.c (cpp_interpret_integer, append_digit, parse_defined,
18391 eval_token): Clarify and correct use of "bool" variables.
18392 * cpplib.h (struct cpp_options): Similarly.
18393 * cppmacro.c (parse_params, _cpp_save_parameter): Ditto.
18394 * cpptrad.c (recursive_macro): Similarly.
18395
ac09192a
R
18396Wed Jul 17 17:08:06 2002 J"orn Rennecke <joern.rennecke@superh.com>
18397
d28586ab 18398 * config/sh/lib1funcs.asm (udivsi3_i4): Implement SHcompact version in
ac09192a 18399 SHmedia code.
68cef009
R
18400
18401 * sh.md (cmpgtudi_media): Remove spurious @.
701e3726
R
18402
18403 * config/sh/lib1funcs.asm (FMOVD_WORKS): Don't define for little endian.
18404 * sh.h (OVERRIDE_OPTIONS): Don't set FMOVD_BIT for little endian.
ca903bba
R
18405
18406 * config/sh/lib1funcs.asm (init_trampoline): New entry point.
18407 * sh-protos.h (sh_initialize_trampoline): Declare.
18408 * sh.c (sh_initialize_trampoline): New function.
18409 * sh.h (TRAMPOLINE_SIZE): Only 24 for TARGET_SHMEDIA32.
18410 (TRAMPOLINE_ALIGNMENT): Need cache-line alignment for TARGET_SHMEDIA.
18411 (INITIALIZE_TRAMPOLINE): Call sh_initialize_trampoline.
18412 (TRAMPOLINE_ADJUST_ADDRESS): Not needed for SHcompact.
18413 * sh.md (initialize_trampoline, double_shori): New patterns.
18414 (initialize_trampoline_compact): Likewise.
18415 (shmedia32_initialize_trampoline_big): Remove.
18416 (shmedia32_initialize_trampoline_little): Likewise.
0ac78517
R
18417
18418 * sh-protos.h (binary_float_operator): Remove declaration.
18419 (sh_expand_unop_v2sf, sh_expand_binop_v2sf): Declare.
18420 * sh.c (print_operand, case 'N'): Check against CONST0_RTX.
18421 (unary_float_operator, sh_expand_unop_v2sf): New functions.
18422 (sh_expand_binop_v2sf): Likewise.
18423 (zero_vec_operand): Delete.
18424 (SH_BLTIN_UDI): New builtin shared signature define. Renumbered
18425 all non-shared ones.
18426 (bdesc): Change all the mextr builtins to use SH_BLTIN_UDI.
18427 Enable nsb and byterev.
18428 * sh.h (CONDITIONAL_REGISTER_USAGE): Initialize DF_HI_REGS.
18429 (HARD_REGNO_MODE_OK): Allow TImode in fp regs. Allow V2SFmode
18430 in general regs.
18431 (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add DF_HI_REGS.
18432 (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise. Remove clause for
18433 immediate operands.
18434 (SECONDARY_INPUT_RELOAD_CLASS): Add clause for immediate operands.
18435 Add DF_HI_REGS.
18436 (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P): Allow
18437 lowpart fp regs - only for big endian for now.
da7d8304 18438 (LEGITIMATE_CONSTANT_P): Don't allow nonzero float vectors
0ac78517
R
18439 when FPU is in use.
18440 (EXTRA_CONTRAINT_U): Check against CONST0_RTX.
18441 (LOAD_EXTEND_OP): NIL for SImode.
18442 (REGISTER_MOVE_COST): Add DF_HI_REGS. Const for moves between
18443 general and fp registers is 4.
18444 PREDICATE_CODES: Amend binary_float_operator entry.
18445 Remove zero_vec_operand. Add unary_float_operator.
18446 * sh.md (udivsi3_i4_media): Use truncate instead of paradoxical
18447 subreg SET_DEST.
18448 (truncdisi2, truncdihi2, movv2sf): Allow memory destinations.
18449 (truncdiqi2): Do sign extension.
18450 (movsi_media, movdi_media): Allow to use r63 to an fp register.
18451 (movdf_media, movsf_media): Likewise.
18452 (movv2sf_i, movv2sf_i+1): Don't use f{ld,st}.p or SUBREGS.
18453 Collapse to one define_insn_and_split. Allow immediate sources.
18454 (addv2sf3, subv2sf3, mulv2sf3, divv2sf3): New patterns.
18455 (movv4sf_i): Allow immediate sources. Use simplify_gen_subreg.
18456 (movv4sf): Allow immediate sources.
18457 (movsf_media_nofpu+1): Don't split moves to FP registers.
18458 (unary_sf_op, binary_sf_op, mshflo_w_x, concat_v2sf): New patterns.
18459 (movv8qi_i+3): Check against CONST0_RTX.
18460 (mextr1, mextr2. mextr3. mextr4, mextr5, mextr6, mextr7): Use DImode
18461 for input and output operands. Fix argument 3 to gen_mextr_rl.
18462 (mmul23_wl, mmul01_wl, mmulsum_wq_i): s/const_vector/parallel/
18463 (msad_ubq_i, mshf4_b, mshf0_b, mshf4_l, mshf0_l, mshf4_w): Likewise.
18464 (mshf0_w, fipr, ftrv): Likewise.
18465 (mshfhi_l_di): Now insn_and_split. Can handle FP regs.
18466
e9d7b180
JD
184672002-07-17 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
18468
18469 * arm.h (ARM_NUM_INTS, ARM_NUM_REGS, ARM_NUM_REGS2): Renamed from
18470 NUM_INTS, NUM_REGS and ARM_NUM_REGS2 respectively. All uses changed.
18471 * arm.c: Similarly.
18472
8214bf98
RS
184732002-07-17 Richard Sandiford <rsandifo@redhat.com>
18474
18475 * config/mips/mips-protos.h (mips_sign_extend): Declare.
18476 * config/mips/mips.h (MASK_DEBUG_H, TARGET_DEBUG_H_MODE): Remove.
18477 (TARGET_SWITCHES): Remove debugh.
18478 (ISA_HAS_TRUNC_W): New macro.
18479 (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS if TARGET_FLOAT64.
18480 (PREDICATE_CODES): Remove se_nonimmediate_operand.
18481 * config/mips/mips.c (movdi_operand): Allow sign-extensions of
18482 any SImode move_operand.
18483 (se_nonimmediate_operand): Remove.
18484 (mips_sign_extend): New.
18485 (mips_move_2words): Use it for sign-extended source operands.
18486 (override_options): Allow integers to be put into single FPRs.
18487 (mips_secondary_reload_class): Handle integers in float registers.
18488 * config/mips/mips.md (extendsidi2): Turn into a define_expand.
18489 (fix_truncsfsi2, fix_truncdfsi2): Likewise.
18490 (fix_truncdfsi2_insn, fix_truncdfsi2_macro): New.
18491 (fix_truncsfsi2_insn, fix_truncsfsi2_macro): New.
18492 (fix_truncdfdi2): Provide only a single alternative, in which the
18493 integer is in a float register. Depend on TARGET_FLOAT64 rather
18494 than TARGET_64BIT.
18495 (fix_truncsfdi2, floatdidf2, floatdisf2): Likewise.
18496 (floatsidf2, floatsisf2): Likewise, but no TARGET_FLOAT64 dependency.
18497 (movdi_internal2): Don't allow the source operand to be sign-extended.
18498 Add alternatives for float registers.
18499 (*movdi_internal2_extend): New. Version of movdi_internal2 that
18500 allows sign-extension.
18501 (*movdi_internal2_mips16): Name the existing mips16 movdi pattern.
18502 (movsi_internal2): Rename to movsi_internal. Add alternatives for
18503 float registers. Remove TARGET_DEBUG_H_MODE test.
18504 (movhi_internal1): Rename to movhi_internal. Don't check
18505 TARGET_DEBUG_H_MODE. Fix transposed *d and *f source constraints.
18506 (movqi_internal1): Rename to movqi_internal and remove
18507 TARGET_DEBUG_H_MODE dependency.
18508 (movsi_internal1, movhi_internal2, movqi_internal2): Remove.
18509
7ab0121e
JW
185102002-07-16 Jim Wilson <wilson@redhat.com>
18511
18512 * toplev.c (lang_dependent_init): Create function context for
18513 init_expr_once.
18514
349ccf2e
HPN
185152002-07-16 Hans-Peter Nilsson <hp@axis.com>
18516
18517 * config/cris/linux.h (CRIS_LINK_SUBTARGET_SPEC): Don't
18518 --gc-sections if -r.
18519 * config/cris/cris.h: Ditto.
18520
06ec023f
RB
185212002-07-16 Rodney Brown <rbrown64@csc.com.au>
18522
18523 * config/i386/i386.c (ix86_expand_int_movcc): In the case where
18524 the comparison directly gives a mask suppress addition when cf is
18525 zero by complementing the mask.
18526
39cef914
NN
185272002-07-16 Nathanael Nerode <neroden@gcc.gnu.org>
18528
18529 * Makefile.in: Delete references to enquire.
18530 * enquire.c: Move to contrib.
18531
92c1a778
SS
185322002-07-16 Stan Shebs <shebs@apple.com>
18533
2aa9948d
SS
18534 * config/darwin.h (ASM_OUTPUT_LABEL): Move to here from
18535 config/rs6000/darwin.h.
18536 (ASM_OUTPUT_SKIP): Ditto.
18537 (TEXT_SECTION_ASM_OP): Ditto.
18538 (DATA_SECTION_ASM_OP): Ditto.
18539 (ASM_APP_ON): Define.
18540 (ASM_APP_OFF): Define.
18541 * config/rs6000/darwin.h (ASM_OUTPUT_LABEL, ASM_OUTPUT_SKIP,
18542 TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): Remove.
18543
18544 * config/darwin.c (func_name_maybe_scoped): Remove unused decl.
92c1a778
SS
18545 (machopic_function_base_name): Declare result to be const.
18546 (machopic_non_lazy_ptr_name): Ditto.
18547 (machopic_stub_name): Ditto.
2aa9948d 18548 * config/darwin-protos.h: Ditto for the prototypes.
92c1a778 18549
daaab00a
JH
18550Wed Jul 17 00:22:39 CEST 2002 Jan Hubicka <jh@suse.cz>
18551
18552 * m68hc11.c (m68hc11_reorg): Do not rebuild CFG.
18553
63c574cc
JH
18554Wed Jul 17 00:20:48 CEST 2002 Jan Hubicka <jh@suse.cz>
18555
18556 * i386.md (prefetch): Fix for 64bit mode.
18557 (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
18558
2a500b9e
JH
18559Wed Jul 17 00:19:20 CEST 2002 Jan Hubicka <jh@suse.cz>
18560
18561 * i386.h (MACHINE_DEPENDENT_REORG): New macro.
18562 * i386.c (x86_machine_dependent_reorg): New function.
18563 * i386-protos.h (x86_machine_dependent_reorg): Declare.
18564
e5faf155
ZW
185652002-07-16 Zack Weinberg <zack@codesourcery.com>
18566
18567 * builtins.c (std_expand_builtin_va_start): Remove unused
18568 first argument.
18569 (expand_builtin_va_start): Call EXPAND_BUILTIN_VA_START and
18570 std_expand_builtin_va_start with just two arguments.
18571 * expr.h: Update prototypes.
18572
18573 * alpha-protos.h, alpha.h, alpha.c, arc-protos.h, arc.h,
18574 arc.c, d30v-protos.h, d30v.h, d30v.c, i386-protos.h, i386.h,
18575 i386.c, i960-protos.h, i960.h, i960.c, m88k-protos.h, m88k.h,
18576 m88k.c, mips-protos.h, mips.h, mips.c, mn10300-protos.h,
18577 mn10300.h, mn10300.c, pa-protos.h, pa.h, pa.c,
18578 rs6000-protos.h, rs6000.h, rs6000.c, s390-protos.h, s390.h,
18579 s390.c, sh-protos.h, sh.h, sh.c, sparc-protos.h, sparc.h,
18580 sparc.c, stormy16-protos.h, stormy16.h, stormy16.c,
18581 xtensa-protos.h, xtensa.h, xtensa.c: Remove unused first
18582 argument from all implementations of EXPAND_BUILTIN_VA_START
18583 and all uses of std_expand_builtin_va_start.
18584
dbf65c2f
R
18585Tue Jul 16 19:32:58 2002 J"orn Rennecke <joern.rennecke@superh.com>
18586
18587 * regrename.c (copy_value): Don't record high part copies.
18588
6acb6d3e 185892002-07-16 Steve Ellcey <sje@cup.hp.com>
99b823ca 18590
6acb6d3e
SE
18591 * gcc/config/pa/long_double.h (FIXUNS_TRUNCTFDI2_LIBCALL): New define.
18592 (fixunstfdi_libfunc): Change to use FIXUNS_TRUNCTFDI2_LIBCALL.
18593 * gcc/config/pa/quadlib.c (_U_Qfcnvfxt_quad_to_udbl): New function.
18594
5d7c2819
ID
185952002-07-16 Ian Dall <ian@sibyl.beware.dropbear.id.au>
18596
18597 * doc/invoke.texi (NS32K Options): Document -mieee-compare option
18598
18599 * config/ns32k/ns32k.md (addsi3, *frame_addr, *stack_addr): merge
18600 into addsi3 using register class "x" and "y".
18601
18602 * config/ns32k/ns32k.md (*madddf, *maddsf, *msubdf, *msubsf):
18603 "earlyclobber" constraint modifier for some alternative.
e5faf155 18604
5d7c2819
ID
18605 * config/ns32k/ns32k.md (tstdf, tstsf, cmpdf, cmpsf, blt, ble)
18606 (*ble, *blt): Flag to indicate bCOND and sCOND should check for
18607 unordered.
18608 config/ns32k/ns32k.h (CC_UNORD): define corresponding mask.
18609
18610 * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE, MASK_IEEE_COMPARE)
18611 (TARGET_SWITCHES): Add -mieee-compare option.
18612 (OVERRIDE_OPTIONS): 32332 is a subset of
18613 32532. Don't use IEEE_COMPARE -funsafe-math-optimizations.
4977bab6 18614 (TARGET_SWITCHES): Fix description of bitfield option.
5d7c2819
ID
18615 * config/ns32k/netbsd.h (TARGET_DEFAULT): Add
18616 -mieee-compare option. Remove 32332 flag.
18617
5da4f548 186182002-07-16 Steve Ellcey <sje@cup.hp.com>
5d7c2819
ID
18619
18620 * explow.c (convert_memory_address): Remove special handling
5da4f548 18621 when POINTERS_EXTEND_UNSIGNED < 0.
5d7c2819 18622 * config/ia64.md (movsi_symbolic): New instruction for ILP32 mode.
5da4f548
SE
18623 (movedi_symbolic): Fix typo.
18624 (load_fptr): Remove mode restriction so it works for SI and DI.
18625 (load_fptr_internal1): Ditto.
18626 (load_gprel): Ditto.
18627 (load_symptr_internal1): Ditto.
18628 (call_pic): Ditto.
5d7c2819 18629 * config/ia64.c (call_operand): Modify mode check.
5da4f548
SE
18630 (ia64_expand_load_address): Handle DI and SI addresses and symbols.
18631 (ia64_expand_move): Ditto.
18632 (ia64_assemble_integer): Handle SImode function pointers.
18633 (ia64_expand_fetch_and_op): Handle SImode mem addresses.
18634 (ia64_expand_op_and_fetch): Ditto.
18635 (ia64_expand_compare_and_swap): Ditto.
18636 (ia64_expand_lock_test_and_set): Ditto.
18637 (ia64_expand_lock_release): Ditto.
18638
1575c31e
JD
186392002-07-16 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
18640
18641 * arm.c (emit_sfm): Don't set RTX_FRAME_RELATED_P on DWARF.
18642
186432002-07-16 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
18644 Richard Earnshaw <rearnsha@arm.com>
18645
e5faf155 18646 * arm.h (LEGITIMATE_PIC_OPERAND_P): Only test
1575c31e
JD
18647 CONSTANT_POOL_ADDRESS_P if a SYMBOL_REF. Simplify logic.
18648
3894f59e
RE
186492002-07-16 Richard Earnshaw <rearnsha@arm.com>
18650
18651 * arm.md (stack_tie): New insn. Use an idiom that the alias code
18652 understands to be a memory clobber.
18653 * arm.c (arm_expand_prologue): Use it.
18654
e0b89be2 186552002-07-16 Daniel Berlin <dberlin@dberlin.org>
54b2a7f8
DB
18656
18657 * ra-rewrite.c: #include reload.h, insn-config.h
18658 * ra-build.c: #include reload.h
18659 * Makefile.in: Update ra-rewrite.o, ra-build.o dependencies to
e5faf155 18660 depend on reload.h, insn-config.h.
54b2a7f8 18661
cffa2189
R
18662Tue Jul 16 11:57:45 2002 J"orn Rennecke <joern.rennecke@superh.com>
18663
18664 * expr.c (emit_move_insn_1): Handle arbitrary moves that are
18665 the same size as a word.
18666
18667 * regrename.c (find_oldest_value_reg): Take WORDS_BIG_ENDIAN /
18668 BYTES_BIG_ENDIAN into account.
18669
052c96b1
JH
18670Tue Jul 16 12:22:44 CEST 2002 Jan Hubicka <jh@suse.cz>
18671
18672 * i386.md (prefetch): Fix for 64bit mode.
18673 (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
18674
18675 * i386.md (movss, movsd): Use xorps/xorpd for Athlon.
18676
ae32926b
MM
186772002-07-16 Marek Michalkiewicz <marekm@amelek.gda.pl>
18678
18679 * hard-reg-set.h (TEST_HARD_REG_BIT): Return 1 if the bit is set.
18680
6c535c69
ZW
186812002-07-15 Zack Weinberg <zack@codesourcery.com>
18682
18683 * ginclude/varargs.h: Replace with stub which issues #error.
18684 * ginclude/stdarg.h: __builtin_stdarg_start is renamed
18685 __builtin_va_start.
18686
18687 * builtins.def (BUILT_IN_VARARGS_START): Delete.
18688 (BUILT_IN_VA_START): New.
18689 * builtins.c (expand_builtin_va_start): Eliminate first
18690 argument and code to implement pre-ISO varargs.
18691 (std_expand_builtin_va_start): Ignore first argument; it is
18692 always 1.
18693 (expand_builtin): Handle BUILT_IN_VA_START and
18694 BUILT_IN_STDARG_START identically. Delete
18695 BUILT_IN_VARARGS_START case.
18696
18697 * function.c (assign_parms): Delete hide_last_arg and all
18698 its uses.
18699 (mark_varargs): Delete function.
18700 * function.h (struct function): Delete 'varargs' bit.
18701 (current_function_varargs): Delete macro.
18702 * tree.h: Don't declare mark_varargs.
18703
18704 * c-decl.c (c_function_varargs, c_mark_varargs): Delete.
18705 (c_expand_body): Don't call mark_varargs.
18706 * c-objc-common.c: Handle BUILT_IN_VA_START and
18707 BUILT_IN_STDARG_START identically. Delete
18708 BUILT_IN_VARARGS_START case.
18709 * c-tree.h: Don't declare c_mark_varargs.
18710 * c-parse.in: Remove grammar rules for '&...' (which has been
18711 commented out since before 2.7.2) and for '...' in K+R
18712 argument declarations.
18713
18714 * builtins.c, function.c, integrate.c, sibcall.c,
18715 config/alpha/unicosmk.h, config/arc/arc.c, config/arc/arc.h,
18716 config/avr/avr.c, config/cris/cris.c, config/fr30/fr30.c,
18717 config/i960/i960.c, config/i960/i960.md, config/m32r/m32r.c,
18718 config/m32r/m32r.h, config/m88k/m88k.c, config/m88k/m88k.h,
18719 config/mips/mips.c, config/mmix/mmix.c, config/mmix/mmix.h,
18720 config/mn10300/mn10300.c, config/pa/som.h, config/s390/s390.c,
18721 config/sh/sh.c, config/sh/sh.h, config/sparc/sparc.h,
18722 config/stormy16/stormy16.c: Delete all references to
18723 current_function_varargs, and code predicated on that flag.
18724
18725 * config/alpha/alpha.c (alpha_va_start),
18726 config/arc/arc.c (arc_va_start),
18727 config/i386/i386.c (ix86_va_start),
18728 config/mips/mips.c (mips_va_start),
18729 config/mn10300/mn10300.c (mn10300_va_start),
18730 config/rs6000/rs6000.c (rs6000_va_start),
18731 config/s390/s390.c (s390_va_start),
18732 config/sh/sh.c (sh_va_start),
18733 Ignore first argument; it is always 1.
18734
18735 * config/c4x/c4x-protos.h, config/c4x/c4x.c: Delete c4x_va_start.
18736 * config/ia64/ia64-protos.h, config/ia64/ia64.c: Delete ia64_va_start.
18737 * config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c:
18738 Delete m68hc11_va_start.
18739 * config/c4x/c4x.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h:
18740 No need to define EXPAND_BUILTIN_VA_START.
18741
18742 * doc/invoke.texi, doc/sourcebuild.texi, doc/tm.texi,
18743 doc/trouble.texi: Remove references to GCC-provided <varargs.h>.
18744
6d80a854
EB
187452002-07-15 Eric Botcazou <ebotcazou@multimania.com>
18746
18747 PR optimization/7153
18748 * regmove.c (optimize_reg_copy_3): Don't optimize if the register
18749 dies in more than one insn.
18750
043cfcbe
JT
187512002-07-15 Jason Thorpe <thorpej@wasabisystems.com>
18752
18753 * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Remove.
18754
ed8d2920 187552002-07-15 Michael Matz <matz@suse.de>,
6c535c69 18756 Daniel Berlin <dberlin@dberlin.org>,
ed8d2920
MM
18757 Denis Chertykov <denisc@overta.ru>
18758
18759 Add a new register allocator.
18760
18761 * ra.c: New file.
18762 * ra.h: New file.
18763 * ra-build.c: New file.
18764 * ra-colorize.c: New file.
18765 * ra-debug.c: New file.
18766 * ra-rewrite.c: New file.
18767
18768 * Makefile.in (ra.o, ra-build.o, ra-colorize.o, ra-debug.o,
18769 (ra-rewrite.o): New .o files for libbackend.a.
18770 (GTFILES): Add basic-block.h.
18771
18772 * toplev.c (flag_new_regalloc): New.
18773 (f_options): New option "new-ra".
18774 (rest_of_compilation): Call initialize_uninitialized_subregs()
18775 only for the old allocator. If flag_new_regalloc is set, call
18776 new allocator, instead of local_alloc(), global_alloc() and
18777 friends.
18778
18779 * doc/invoke.texi: Document -fnew-ra.
18780 * basic-block.h (FOR_ALL_BB): New.
18781 * config/rs6000/rs6000.c (print_operand): Write small constants
18782 as @l+80.
18783
18784 * df.c (read_modify_subreg_p): Narrow down cases for a rmw subreg.
18785 (df_reg_table_realloc): Make size at least as large as max_reg_num().
18786 (df_insn_table_realloc): Size argument now is absolute, not relative.
18787 Changed all callers.
18788
18789 * gengtype.c (main): Add the pseudo-type "HARD_REG_SET".
18790 * regclass.c (reg_scan_mark_refs): Ignore NULL rtx's.
18791
18792 2002-06-20 Michael Matz <matz@suse.de>
18793
18794 * df.h (struct ref.id): Make unsigned.
18795 * df.c (df_bb_reg_def_chain_create): Remove unsigned cast.
18796
18797 2002-06-13 Michael Matz <matz@suse.de>
18798
18799 * df.h (DF_REF_MODE_CHANGE): New flag.
18800 * df.c (df_def_record_1, df_uses_record): Set this flag for refs
18801 involving subregs with invalid mode changes, when
18802 CLASS_CANNOT_CHANGE_MODE is defined.
18803
18804 2002-05-07 Michael Matz <matz@suse.de>
18805
18806 * reload1.c (fixup_abnormal_edges): Don't insert on NULL edge.
18807
18808 2002-05-03 Michael Matz <matz@suse.de>
18809
18810 * sbitmap.c (sbitmap_difference): Accept sbitmaps of different size.
18811
18812 Sat Feb 2 18:58:07 2002 Denis Chertykov <denisc@overta.ru>
18813
18814 * regclass.c (regclass): Work with all regs which have sets or
18815 refs.
18816 (reg_scan_mark_refs): Count regs inside (clobber ...).
18817
18818 2002-01-04 Michael Matz <matzmich@cs.tu-berlin.de>
18819
18820 * df.c (df_ref_record): Correctly calculate SUBREGs of hardregs.
18821 (df_bb_reg_def_chain_create, df_bb_reg_use_chain_create): Only
18822 add new refs.
18823 (df_bb_refs_update): Don't clear insns_modified here, ...
18824 (df_analyse): ... but here.
18825
18826 * sbitmap.c (dump_sbitmap_file): New.
18827 (debug_sbitmap): Use it.
18828
18829 * sbitmap.h (dump_sbitmap_file): Add prototype.
18830
18831 2001-08-07 Daniel Berlin <dan@cgsoftware.com>
18832
18833 * df.c (df_insn_modify): Grow the UID table if necessary, rather
18834 than assume all emits go through df_insns_modify.
18835
18836 2001-07-26 Daniel Berlin <dan@cgsoftware.com>
18837
18838 * regclass.c (reg_scan_mark_refs): When we increase REG_N_SETS,
18839 increase REG_N_REFS (like flow does), so that regclass doesn't
18840 think a reg is useless, and thus, not calculate a class, when it
18841 really should have.
18842
18843 2001-01-28 Daniel Berlin <dberlin@redhat.com>
18844
18845 * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP_REV): New macro, needed for
18846 dataflow analysis.
18847
794a292d
JJ
188482002-07-15 Jakub Jelinek <jakub@redhat.com>
18849
18850 PR middle-end/7245
18851 * config/i386/i386.c (const_int_1_31_operand): New.
18852 * config/i386/i386.h (PREDICATE_CODES): Add it.
18853 * config/i386/i386.md (ashlsi3_cmp, ashlsi3_cmp_zext, ashlhi3_cmp,
18854 ashlqi3_cmp, ashrsi3_cmp, ashrsi3_cmp_zext, ashrhi3_cmp, ashrqi3_cmp,
18855 lshrsi3_cmp, lshrsi3_cmp_zext, lshrhi3_cmp, lshrqi3_cmp): Use it.
18856
05d49501
AM
188572002-07-14 Alan Modra <amodra@bigpond.net.au>
18858
18859 PR target/7282
18860 * config/rs6000/rs6000.md (floatsidf2): Enable for POWERPC64.
18861 (floatunssidf2): Likewise.
18862 (floatsidf_ppc64): New insn_and_split.
18863 (floatunssidf_ppc64): Likewise.
18864
e89617fe
AJ
188652002-07-14 Andreas Jaeger <aj@suse.de>
18866
18867 * config.gcc (sh64): Remove unused
18868 target_requires_64bit_host_wide_int.
18869
78762e3b
RS
188702002-07-12 Roger Sayle <roger@eyesopen.com>
18871
18872 * expr.c [CLEAR_RATIO]: New macro defining the maximum number
18873 of move instructions to use when clearing memory, c.f. MOVE_RATIO.
18874 [CLEAR_BY_PIECES]: New macro, using CLEAR_RATIO, to determine
18875 whether clear_by_pieces should be used to clear storage.
18876 (clear_storage): Use CLEAR_BY_PIECES instead of MOVE_BY_PIECES.
18877
18878 * doc/tm.texi: Document these two new target macros.
18879
f7a454e9
SC
188802002-07-12 Stephane Carrez <stcarrez@nerim.fr>
18881
18882 * config/m68hc11/m68hc11.md ("zero_extendsidi2"): Use D_REG only for
18883 the scratch register.
18884 ("*movhi2_push"): Accept Z_REG because a split pattern can make use
18885 of it, forbid reload to use it.
18886
26af4041
MM
188872002-07-12 Marek Michalkiewicz <marekm@amelek.gda.pl>
18888
18889 * config/avr/avr.c (test_hard_reg_class): Fix TEST_HARD_REG_BIT
18890 usage on 64-bit hosts, return value was truncated to 32 bits.
18891
226cfe61
R
18892Fri Jul 12 00:49:36 2002 J"orn Rennecke <joern.rennecke@superh.com>
18893
18894 * simplify-rtx.c (simplify_subreg): Handle floating point
18895 CONST_DOUBLEs. When an integer subreg of a smaller mode than
18896 the element mode is requested, compute a subreg with an
18897 integer mode of the same size as the element mode first.
18898
25c25947
R
18899Thu Jul 11 22:02:57 2002 J"orn Rennecke <joern.rennecke@superh.com>
18900
18901 * combine.c (try_combine): When converting a paradoxical subreg
18902 to an extension, take LOAD_EXTEND_OP into account.
18903
789b7de5
RO
189042002-07-11 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
18905
18906 * config.gcc (mips-sgi-irix6*o32): New configuration.
18907
18908 * configure.in (libgcc_visibility): Disable for mips-sgi-irix6*o32
18909 configurations.
18910 * configure: Regenerate.
18911
18912 * config/mips/iris6-o32-as.h: New file.
18913 * config/mips/iris6-o32.h: New file.
e89617fe 18914
789b7de5
RO
18915 * config/mips/iris5gas.h (TARGET_ASM_NAMED_SECTION): Define.
18916 (NM_FLAGS): Define.
18917 (HAVE_AS_SHF_MERGE): Undefine.
18918
18919 * config/mips/t-iris5-as: New file.
18920 * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
18921
18922 * config/mips/t-iris6 (SHLIB_EXT, SHLIB_SOLINK, SHLIB_SONAME,
18923 SHLIB_NAME, SHLIB_MAP, SHLIB_OBJS, SHLIB_SLIBDIR_QUAL, SHLIB_LINK,
18924 SHLIB_INSTALL, SHLIB_MKMAP, SHLIB_MAPFILES, FPBIT, DPBIT,
18925 dp-bit.c, fp-bit.c): Move ...
18926 * config/mips/t-iris5-6: ... here.
18927 New file, shared by IRIX 5 and IRIX 6.
18928 * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix6*,
18929 mips-sgi-irix5*): Use it.
18930
18931 * config/mips/iris6.h: Remove duplicate comment.
18932
18933 * config/mips/mips.c (TARGET_ASM_UNALIGNED_DI_OP) [TARGET_IRIX5 &&
18934 !TARGET_IRIX6]: Define.
18935 (mips_asm_file_start): Don't emit mdebug.<ABI> sections on IRIX 5/6.
18936
18937 * config/mips/mips.h (ASM_DECLARE_FUNCTION_NAME): Fix comment.
18938
a18c2c5f
JDA
189392002-07-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
18940
18941 * pa.md (adddi3): Change predicate of operand 2 to adddi3_operand
18942 and delete code to force constant to register.
18943 * pa-protos.h (adddi3_operand): Add prototype.
18944 * pa.c (adddi3_operand): New function.
18945
e65a2d65
RS
189462002-07-11 Roger Sayle <roger@eyesopen.com>
18947
18948 * c-decl.c (duplicate_decls): Preserve the noreturn attribute on
18949 non-ANSI builtin functions.
18950
a06e3c40
R
18951Thu Jul 11 11:31:12 2002 J"orn Rennecke <joern.rennecke@superh.com>
18952
18953 * rtl.h (gen_rtx_CONST_VECTOR): Declare.
18954 * gengenrtl.c (special_rtx): Check for CONST_VECTOR.
18955 * emit-rtl.c (gen_rtx_CONST_VECTOR): New function.
18956 (gen_const_vector_0): Use it.
18957
47abc309
JDA
189582002-07-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
18959
18960 * pa.md (adddi3): For 32-bit targets, force constants to a register
18961 if they don't fit in an 11-bit immediate. Change insn predicate to
18962 arith11_operand. Remove comment.
18963 * pa.c (cint_ok_for_move): Fix comment.
18964 (emit_move_sequence): Don't directly split DImode constants on 32-bit
18965 targets.
18966
8ac9d31f
TJ
189672002-07-11 Tim Josling <tej@melbpc.org.au>
18968
e89617fe 18969 Remove front end hard coding from gengtype.c.
8ac9d31f
TJ
18970
18971 * Makefile.in
18972 (STAGESTUFF): add gtyp-gen.h
18973 (GTFILES): Remove front end specific files.
18974 (GTFILES_FILES_LANGS): New, from configure..
18975 (GTFILES_FILES_FILES): Likewise.
18976 (GTFILES_LANG_DIR_NAMES): Likewise.
18977 (GTFILES_SRCDIR): Likewise.
18978 (gtyp-gen.h): Build from configure information.
18979 (s-gtype): Remove command line parameters from gengtype.
18980 (gengtype.o): Remove dependency on GTFILES. Depend on gtyp-gen.h.
18981 (mostlyclean): Delete files generated by and for gengtype.
18982
18983 * c-config-lang.in: New file.
18984
18985 * configure.in (all_gtfiles_files_langs): New. Accumulate files
18986 for each language.
18987 (all_gtfiles_files_files): New. Accumulate language for each file
18988 accumulated.
18989 (gtfiles): Pick up value for C.
18990 (srcdir): AC-SUBST this variable.
18991 (all_gtfiles_files_langs): AC-SUBST this variable.
18992 (all_gtfiles_files_files): AC-SUBST this variable.
e89617fe 18993
8ac9d31f 18994 * configure: Regenerate.
e89617fe 18995
8ac9d31f
TJ
18996 * gengtype-lex.l (parse_file): Make parameter const.
18997
18998 * gengtype.c (toplevel): include gtyp-gen.h.
18999 (BASE_FILE_<language> unnamed enum): Delete.
19000 (lang_names): Delete (replaced by gtyp-gen.h)
19001 (lang_dir_names): From gtyp-gen.h, replaces lang_names; changed
19002 all references.
19003 (NUM_GT_FILES): New.
19004 (NUM_LANG_FILES): New.
19005 (srcdir_len): New.
19006 (NUM_BASE_FILES): Change calculation.
19007 (open_base_files): Change prototype to avoid warning.
19008 (startswith): Delete.
19009 (get_file_basename): Iterate through generated language list not
19010 hard coded list.
19011 (get_base_file_bitmap): Use generated list of files and languages.
19012 (close_output_files): Add prototype to rmove warning.
19013 (main): Iterate through list of generated files from gtyp-gen.h
19014 rather than command line paramaters. Ignore duplicated file
e89617fe 19015 names.
8ac9d31f
TJ
19016
19017 * gengtype.h (parse_file): Amend prototype for const parameter.
e89617fe 19018
8ac9d31f
TJ
19019 * doc/sourcebuild.texi: Document gtfiles variable.
19020
19021 * doc/gty.texi: Document changes to gtfiles variable for front
19022 ends.
19023
19024 * objc/config-lang.in (gtfiles): Add files needed for objc front
19025 end.
19026
0e603223
RS
190272002-07-10 Roger Sayle <roger@eyesopen.com>
19028
19029 PR c/2454
19030 * combine.c (nonzero_bits): LOAD_EXTEND_OP should only apply
19031 to SUBREGs of MEMs. (num_sign_bit_copies): Likewise.
19032
c5358a5d
RS
190332002-07-10 Roger Sayle <roger@eyesopen.com>
19034 Zack Weinberg <zack@codesourcery.com>
19035
19036 * builtins.def: Make the argument types of abort and exit
19037 independent of the front-end.
19038
a35f8b74
AM
190392002-07-11 Alan Modra <amodra@bigpond.net.au>
19040
19041 * config/rs6000/linux64.h (ASM_SPEC): Define.
19042
89e7058f
AH
190432002-07-10 Aldy Hernandez <aldyh@redhat.com>
19044
6c535c69
ZW
19045 * config/rs6000/rs6000.c (emit_frame_save): New.
19046 (rs6000_frame_related): Replace reg2 before reg.
19047 (rs6000_emit_prologue): Use emit_frame_save for saving gprs, fprs,
19048 and eh_return registers.
89e7058f 19049
086bbd21
TM
190502002-07-10 Toon Moene <toon@moene.indiv.nluug.nl>
19051
19052 Revert all patches for optimization of Complex .op. Real.
19053 * complex_part_zero_p: Remove
19054 * expand_cmplxdiv_straight: Replace complex_part_zero_p(x)
19055 with x.
19056 * expand_cmplxdiv_wide: Ditto.
19057 * expand_binop: Ditto.
19058
126dbce0
MM
190592002-07-10 Marek Michalkiewicz <marekm@amelek.gda.pl>
19060
19061 * config/avr/avr.md: Fix two 0x80000000 constants to make them
19062 negative also on 64-bit hosts.
19063
19064 Default to -fno-reorder-blocks when optimizing for size.
19065 * config/avr/avr-protos.h (avr_optimization_options): Declare.
19066 * config/avr/avr.c (avr_optimization_options): New function.
19067 * config/avr/avr.h (OPTIMIZATION_OPTIONS): New.
19068
19069 Optimize returning from simple functions.
19070 * config/avr/avr-protos.h (avr_simple_epilogue): Declare.
19071 * config/avr/avr.c (avr_simple_epilogue): New function.
19072 * config/avr/avr.md (return): New insn.
19073
21c318ba
DR
190742002-07-10 Douglas B Rupp <rupp@gnat.com>
19075
19076 * config/i386/i386.c (ix86_svr3_asm_out_constructor): Add
19077 HAS_INIT_SECTION to protection.
19078
537834c8
MM
190792002-07-10 Mark Mitchell <mark@codesourcery.com>
19080
19081 * doc/invoke.texi (Debugging Options): Mention that -gdwarf is
19082 deprecated.
19083
80ba02b1
R
19084Wed Jul 10 19:50:03 2002 J"orn Rennecke <joern.rennecke@superh.com>
19085
19086 * combine.c (gen_lowpart_for_combine): Handle vector modes.
19087 Supply non-VOID mode to simplify_gen_subreg.
19088
ae3aa00d
JH
19089Wed Jul 10 18:48:55 CEST 2002 Jan Hubicka <jh@suse.cz>
19090
19091 * i386.c (ix86_init_mmx_sse_builtins): Fix thinko.
19092
029f3983
JL
190932002-07-10 Jeffrey A Law <law@redhat.com>
19094
7a464913
JL
19095 * mn10200.c (expand_prologue): Create REG_MAYBE_DEAD notes
19096 as appropriate.
19097
6c535c69
ZW
19098 * mn10200.c (expand_epilogue): Fix test to determine which scratch
19099 register to use.
029f3983 19100
ff27a429
R
19101Wed Jul 10 16:06:00 2002 J"orn Rennecke <joern.rennecke@superh.com>
19102
19103 * cse.c (cse_insn): Supply proper SUBREG_BYTE to simplify_gen_subreg.
19104 Get mode from dest.
19105 If simplify_gen_subreg fails, try next equivalent.
19106
e6986399
GDR
191072002-07-09 Gabriel Dos Reis <gdr@codesourcery.com>
19108
19109 * diagnostic.h: #include location.h
19110 (location_t): Move definition to..
19111 * location.h: ... here. New file.
19112 * tree.h: #include location.h
19113 (DECL_SOURCE_LOCATION): New macro.
19114 (DECL_SOURCE_FILE): Use.
19115 (DECL_SOURCE_LINE): Likewise.
19116 (struct tree_decl): REplace filename and linenum with locus.
19117 * Makefile.in (TREE_H): add location.h
19118 (diagnostic.o): Depends on gt-location.h
19119 (gt-location.h): Depends on s-gtype
19120
7990b46f
MK
191212002-07-09 Matt Kraai <kraai@alumni.cmu.edu>
19122
19123 * config/rs6000/aix.h: Convert CPP_PREDEFINES to
19124 TARGET_OS_CPP_BUILTINS.
19125 * config/rs6000/aix31.h: Likewise.
19126 * config/rs6000/aix41.h: Likewise.
19127 * config/rs6000/aix43.h: Likewise.
19128 * config/rs6000/aix51.h: Likewise.
19129 * config/rs6000/beos.h: Likewise.
19130 * config/rs6000/darwin.h: Likewise.
19131 * config/rs6000/eabi.h: Likewise.
19132 * config/rs6000/eabisim.h: Likewise.
19133 * config/rs6000/linux.h: Likewise.
19134 * config/rs6000/linux64.h: Likewise.
19135 * config/rs6000/lynx.h: Likewise.
19136 * config/rs6000/mach.h: Likewise.
19137 * config/rs6000/rtems.h: Likewise.
19138 * config/rs6000/sysv4.h: Likewise.
19139 * config/rs6000/vxppc.h: Likewise.
efa39e99
DP
19140
191412002-07-09 Devang Patel <dpatel@apple.com>
19142 * objc/objc-act.c (adjust_type_for_id_default): Fix my previous patch.
19143 Do not allow ObjC objects as a parameter type for Objective-C methods.
19144 My previous patch restricted 'struct' also.
e89617fe 19145
cd98faa1
NB
191462002-07-09 Neil Booth <neil@daikokuya.co.uk>
19147
19148 * cpperror.c (cpp_error): Default to directive_line within
19149 directives here.
19150 * cppexp.c (cpp_interpret_integer): Only use traditional
19151 number semantics in directives.
19152 * cpplib.c (prepare_directive_trad): Don't reset pfile->line.
19153 (do_include_common): Similarly.
19154 * cpptrad.c (scan_out_logical_line): Implement accurate
19155 quoting of <> in #include.
19156 * doc/cpp.texi: Update.
19157
2ad65b0e 19158Tue Jul 9 22:37:44 2002 Stephen Clarke <stephen.clarke@superh.com>
6c535c69 19159 J"orn Rennecke <joern.rennecke@superh.com>
2ad65b0e
SC
19160
19161 * sh.c (sh_adjust_cost): Special handling of SHMEDIA code.
19162 * sh.md (attribute issues): Replace with:
19163 (attribute pipe_model). All users changed.
19164 (attribute type): Change pt / ptabs to pt_media / ptabs_media.
19165 All users changed.
19166 (function units sh5issue, sh5fds): New.
19167 (attribute is_mac_media): New.
19168 (adddi3_media, subdi3_media, divsi3_i1_media, anddi3): Add type.
19169 (andcdi3, iordi3, xordi3, ashldi3_media, lshrdi3_media): Likewise.
19170 (ashrdi3_media, negdi_media, extendsidi2, movqi_media): Likewise.
19171 (movhi_media, shori_media, movv2sf_i, jump_media): Likewise.
19172 (call_media, call_value_media, sibcall_media): Likewise.
19173 (casesi_jump_media, casesi_shift_media, casesi_load_media): Likewise.
19174 (return_media_i, addsf3_media, subsf3_media, mulsf3_media): Likewise.
19175 (mac_media, divsf3_media, floatdisf2, floatsisf2_media): Likewise.
19176 (fix_truncsfdi2, fix_truncsfsi2_media, cmpeqsf_media): Likewise.
19177 (cmpgtsf_media, cmpgesf_media, cmpunsf_media, negsf2_media): Likewise.
19178 (sqrtsf2_media, abssf2_media, adddf3_media, subdf3_media): Likewise.
19179 (muldf3_media, divdf3_media, floatdidf2, floatsidf2_media): Likewise.
19180 (fix_truncdfdi2, fix_truncdfsi2_media, cmpeqdf_media): Likewise.
19181 (cmpgtdf_media, cmpgedf_media,cmpundf_media, negdf2_media): Likewise.
19182 (sqrtdf2_media, absdf2_media, extendsfdf2_media): Likewise.
19183 (truncdfsf2_media): Likewise.
19184 (movsi_media, movsi_media_nofpu, movdi_media): Use new types.
19185 (movdi_media_nofpui, movdf_media, movdf_media_nofpu): Likewise.
19186
b6d33983
R
19187Tue Jul 9 21:39:50 2002 J"orn Rennecke <joern.rennecke@superh.com>
19188
19189 * sh.h (PREDICATE_CODES): Add general_extend_operand and inqhi_operand.
19190 * sh.c (general_extend_operand, inqhi_operand): New functions.
19191 * sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): Collapse
19192 alternatives using 'N' modifier. Add type.
19193 (adddi3z_media): Likewise. Enable generator function generation.
19194 (movdicc_false, movdicc_true, addsi3_media, subsi3_media): Use more
19195 exact predicates / constraints. Add type.
19196 (subsi3): Allow 0 for SHMEDIA.
19197 (udivsi3_i4_media): Use match_operand for input values
19198 rather than hard registers.
19199 (udivsi3 - TARGET_SHMEDIA_FPU case): Don't ferry values
19200 unnecessarily through hard registers. Keep copies of pseudo
19201 registers outside of the libcall sequence.
19202 (mulsidi3_media, umulsidi3_media): Use more exact predicates. Add type.
19203 (ashlsi3_media, ashrsi3_media, lshrsi3_media): Likewise.
19204 (zero_extendsidi2, zero_extendhidi2, zero_extendqidi2): Likewise.
19205 (extendhidi2, extendqidi2): Likewise.
19206 (andsi3_compact): Name.
19207 (andcdi3): Enable generator function generation.
19208 (zero_extendhisi2, zero_extendqisi2): Rename to
19209 (zero_extendhisi2_compact, zero_extendqisi2_compact).
19210 (extendhisi2, extendqisi2): Rename to
19211 (extendhisi2_compact, extendqisi2_compact).
19212 (rotldi3, rotldi3_mextr, rotrdi3, rotrdi3_mextr): New patterns.
19213 (loaddi_trunc, zero_extendhisi2, zero_extendhisi2_media): Likewise.
19214 (zero_extendhisi2_media+1, zero_extendqisi2): Likewise.
19215 (zero_extendqisi2_media, extendhisi2, extendhisi2_media): Likewise.
19216 (extendhisi2_media, extendhisi2_media+1, extendqisi2): Likewise.
19217 (extendqisi2_media, extendqisi2_media+1, truncdisi2): Likewise.
19218 (truncdihi2, truncdiqi2, reload_inqi, reload_inhi): Likewise.
19219 (shmedia32_initialize_trampoline_big): Likewise.
19220 (shmedia32_initialize_trampoline_little): Likewise.
19221 (nsb, nsbsi, nsbdi, ffsdi2, ffssi2, byterev): Likewise.
19222 (negdi2): Remove spurious T clobber.
19223 (zero_extendhidi2+1, extendhidi2+1, extendqidi2+1): Handle TRUNCATE.
19224 (movsi_media, movsi_media_nofpu): Remove spurious *k after b.
19225 (movdi_media, movdi_media_nofpu, pt, ptb): Likewise.
19226 (movsi_media_nofpu+2, movhi_media+1): Only do split after reload.
19227 (ic_invalidate_line_media): Write back data cache before invalidating
19228 instruction cache. Add type.
19229 (movsf_media): Sign-extend when the destination is a general
19230 purpose register. Add type.
19231 (bgt_media, bge_media, bgtu_media, bgeu_media, blt_media_i): Allow 0.
19232 (casesi_worker_0+1): Only increment ref count for proper label.
19233 (casesi_worker_0+2): Likewise.
19234
7ca0873c
MM
192352002-07-09 Mark Mitchell <mark@codesourcery.com>
19236
19237 * dwarfout.c (dwarfout_init): Warn that DWARF1 is deprecated.
19238
26b10ae0 192392002-07-09 Steve Ellcey <sje@cup.hp.com>
7ca0873c 19240
26b10ae0
SE
19241 * gcc/except.c (expand_eh_region_end_cleanup): Change exception pointer
19242 from Pmode to ptr_mode.
19243 (get_exception_pointer): Ditto.
19244 (connect_post_landing_pads): Ditto.
19245 (dw2_build_landing_pads): Ditto.
19246
0c3a2ea0
SE
192472002-07-08 Steve Ellcey <sje@cup.hp.com>
19248 * gcc/c-pragma.h (add_to_renaming_pragma_list): New function.
19249 * gcc/c-pragma.c (add_to_renaming_pragma_list): New function.
19250 (handle_pragma_redefine_extname): Change to use new function.
19251
26c34780
RS
192522002-07-08 Roger Sayle <roger@eyesopen.com>
19253
19254 * combine.c (combine_simplify_rtx): Add an explicit cast
19255 to avoid signed/unsigned comparison warning.
19256 (simplify_if_then_else): Likewise.
19257 (extended_count): Likewise.
19258 (simplify_shift_const): Likewise.
19259 (simplify_comparison): Likewise.
19260
1d4047e0
RS
192612002-07-08 Richard Sandiford <rsandifo@redhat.com>
19262
19263 * config/mips/mips.md: Add imadd type. Update scheduler description
19264 to use imadd as well as imul.
19265 (*mul_acc_si, *madsi): Change imul alternatives to imadd.
19266 (*mul_acc_di, *mul_acc_64bit_di): Likewise.
19267 (*mul_sub_si): Likewise for first alternative. Change second
19268 alternative from imul to multi.
19269
5351f1ca
NB
192702002-07-07 Neil Booth <neil@daikokuya.co.uk>
19271
19272 * c-common.c (c_common_post_options): Update prototype;
19273 don't init backends if preprocessing only.
19274 * langhooks-def.h (LANG_HOOKS_POST_OPTIONS): Update.
19275 * langhooks.h (struct lang_hooks): Update post_options to
19276 return a boolean.
19277 * toplev.c (parse_options_and_default_flags, do_compile,
19278 lang_independent_init): Update prototypes. Allow the
19279 front end to specify that there is no need to initialize
19280 the back end.
19281 (general_init): Move call to hex_init here...
19282 (toplev_main): ...from here. Pass flag for back end init
19283 suppression.
19284
c8cc4417
R
19285Sun Jul 7 20:38:38 2002 J"orn Rennecke <joern.rennecke@superh.com>
19286
19287 * sh.h (PRINT_OPERAND_PUNCT_VALID_P): Allow '\''.
19288 (PREDICATE_CODES): Add entries for equality_comparison_operator,
19289 greater_comparison_operator and less_comparison_operator.
19290 * sh.c (print_operand): Add '\'' code. Make 'o' handle
19291 more operators.
19292 (equality_comparison_operator): New function.
19293 (greater_comparison_operator, less_comparison_operator): Likewise.
19294 * sh.md (beq_media_i): Disable generator function generation.
19295 Use match_operator to handle a whole class of comparisons. Add
19296 modifier in output template to provide branch prediction. Add type.
19297 (bgt_media_i, ble_media_i): Likewise. Allow zero operands.
19298 (bne_media_i, bge_media_i, bgtu_media_i, bgeu_media_i): Delete.
19299 (blt_media_i, bleu_media_i, bltu_media_i): Likewise.
19300 (bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Allow zero operands.
19301
957ec0f9
HPN
193022002-07-07 Hans-Peter Nilsson <hp@bitrange.com>
19303
19304 Emit MMIX function prologue and epilogue as rtl.
19305 * config/mmix/mmix.md ("call"): Use mmix_get_hard_reg_initial_val,
19306 not unprototyped get_hard_reg_initial_val.
19307 ("call_value", "nonlocal_goto_receiver"): Ditto.
19308 ("return"): Make define_expand. Move real insn to...
19309 ("*expanded_return"): New pattern.
19310 ("prologue", "epilogue"): New define_expands.
19311 * config/mmix/mmix.h (MMIX_rO_REGNUM): New macro.
19312 (struct machine_function): New member in_prologue.
19313 (FIRST_PSEUDO_REGISTER): Adjust for including rO as register.
19314 (FIXED_REGISTERS, CALL_USED_REGISTERS): Ditto.
19315 (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Ditto.
19316 (MMIX_GNU_ABI_REG_ALLOC_ORDER, REG_CLASS_CONTENTS): Ditto.
19317 (REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Ditto.
19318 (LOCAL_REGNO): Define. Adjust comment.
19319 * config/mmix/mmix.c (MMIX_CFUN_NEEDS_SAVED_EH_RETURN_ADDRESS):
19320 Consider regs_ever_live[MMIX_rJ_REGNUM], not just
19321 leaf_function_p.
19322 (MMIX_OUTPUT_REGNO): Don't translate registers while outputting
19323 the prologue.
19324 (mmix_target_asm_function_prologue): Make static. Just mark that
19325 the prologue is being emitted. Move guts to...
19326 (mmix_expand_prologue): New function. Adjust for emitting
19327 prologue as rtl. For sizes, use HOST_WIDE_INT only.
19328 (mmix_target_asm_function_epilogue): Make static. Simply emit a
19329 \n. Move guts to...
19330 (mmix_expand_epilogue): New function. Adjust for emitting
19331 epilogue as rtl. For sizes, use HOST_WIDE_INT only.
19332 (mmix_target_asm_function_end_prologue): Mark that the prologue
19333 has ended.
19334 (TARGET_ASM_FUNCTION_END_PROLOGUE): Define.
19335 (mmix_conditional_register_usage): Improve comments.
19336 (mmix_local_regno): New function.
19337 (mmix_emit_sp_add, mmix_get_hard_reg_initial_val): Ditto.
19338 * config/mmix/mmix-protos.h (mmix_local_regno): Prototype.
19339 (mmix_expand_prologue, mmix_expand_epilogue): Ditto.
19340 (mmix_get_hard_reg_initial_val): Ditto.
19341
7ab5c789
AJ
193422002-07-06 Andreas Jaeger <aj@suse.de>
19343
19344 * toplev.c (set_fast_math_flags): Don't use ISO C style function
19345 definitions.
19346 * gengtype.c (open_base_files): Likewise.
19347 (close_output_files): Likewise.
19348 * tracer.c (find_best_predecessor): Likewise.
19349 (find_best_successor): Likewise.
19350 (ignore_bb_p): Likewise.
19351
df061a43
RS
193522002-07-05 Roger Sayle <roger@eyesopen.com>
19353
19354 PR c++/7099
19355 * builtin-attrs.def: Define new attribute lists for use in
19356 builtins.def.
19357 * builtins.def [DEF_BUILTIN]: Modify to take an additional
19358 ATTRS argument, an enumerated value defined in builtin-attrs.def
19359 that represents the attribute list for the builtins. Modify
19360 all builtin functions to pass an appropriate attribute list.
19361 Specify "abort", "exit", "_exit" and "_Exit" builtins here with
19362 their required noreturn attributes.
19363 * tree.h (enum_builtin_function): Ignore the additional parameter
19364 to DEF_BUILTIN.
19365 * builtins.c (built_in_names): Likewise.
19366 * c-common.c: (builtin_function_2): Replace the "int noreturn_p"
19367 argument with a tree representing the functions attribute list.
19368 Pass this "attrs" argument to builtin_function. No longer handle
19369 the noreturn_p processing manually.
19370 (built_in_attributes): Move the definitions from builtin-attrs.def
19371 before c_common_nodes_and_builtins.
19372 (c_common_nodes_and_builtins): Handle the new ATTRS parameter in
19373 DEF_BUILTIN, passing it to both builtin_function and the changed
19374 builtin_function_2.
19375
19376 * doc/extend.texi: Document __builtin_abort, __builtin_exit,
19377 __builtin__exit and __builtin__Exit.
19378
e5eb8de8
SC
193792002-07-05 Stephane Carrez <stcarrez@nerim.fr>
19380
19381 * config/m68hc11/m68hc11.md ("*movqi_68hc12"): Avoid allocating
19382 QI mode registers in soft registers.
7ab5c789 19383 ("zero_extendqihi2"): Do not take into account soft registers
e5eb8de8
SC
19384 for register allocation (use '*' constraint).
19385
4c8aed14
SC
193862002-07-05 Stephane Carrez <stcarrez@nerim.fr>
19387
19388 * config/m68hc11/m68hc11.md ("*ashlsi3"): Avoid saving y if we know
19389 it is dead.
19390 ("*ashrsi3"): Likewise.
19391 ("*lshrsi3"): Likewise.
19392
99ed68ea
VM
193932002-07-05 Vladimir Makarov <vmakarov@redhat.com>
19394
19395 * genautomata.c (output_max_insn_queue_index_def): Take latencies
19396 into account.
19397
4c8aed14 193982002-07-05 Stephane Carrez <stcarrez@nerim.fr>
581fd392
SC
19399
19400 * config/m68hc11/m68hc11.md (peephole2): New peephole2 to optimize
19401 address computation and memory moves.
19402
9833f679
MM
194032002-07-03 Mark Mitchell <mark@codesourcery.com>
19404
19405 PR c++/6706
19406 * dwarfout.c (output_reg_number): Fix warning message.
19407 (output_bound_representation): Check SAVE_EXPR_RTL is not NULL
19408 before using it.
7ab5c789 19409
81bca2f5
RO
194102002-07-05 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
19411
19412 * gcc/gcc.c (asm_debug): Move initialization ...
19413 (init_spec): ... here.
19414
17f44f02
NS
194152002-07-05 Nathan Sidwell <nathan@codesourcery.com>
19416
19417 * c-parse.in (extdef): Append ';'.
19418 (old_style_parm_decls): Append ';'.
19419
da77408f
DJ
194202002-07-04 Daniel Jacobowitz <drow@mvista.com>
19421
19422 * configure.in: Correct typos: gcc_cv_as_gdwarf2_debug_flag to
19423 gcc_cv_as_gdwarf2_flag and gcc_cv_as_gstabs_debug_flag
19424 to gcc_cv_as_gstabs_flag.
19425 * configure: Rebuilt.
19426
ec52b446
GK
194272002-07-04 Geoffrey Keating <geoffk@redhat.com>
19428
19429 * ggc.h (ggc_add_root): Document as obsolete.
19430
8721e3df
R
19431Thu Jul 4 07:58:01 2002 J"orn Rennecke <joern.rennecke@superh.com>
19432
19433 * sh.md (mshfhi_b, mshflo_b, mshfhi_l, mshflo_l, mshfhi_w): Add DONE.
19434 (mshflo_w): Likewise.
19435
3767c0fd
R
19436Thu Jul 4 07:36:29 2002 J"orn Rennecke <joern.rennecke@superh.com>
19437
19438 * simplify-rtx.c (simplify_subreg): Reduce problem of finding
19439 vector mode subregs of constants to finding integer mode
19440 subregs of constants.
19441 * cse.c (cse_insn): Use simplify_gen_subreg.
19442 * convert.c (convert_to_integer): Don't strip a NOP_EXPR
19443 From a vector mode expression of different size than the
19444 target mode.
19445
4e314d1f
EC
194462002-07-03 Eric Christopher <echristo@redhat.com>
19447
19448 * config/mips/linux.h: Add #undef for SUBTARGET_CPP_SPEC.
19449 * config/mips/mips.h: Remove deprecated -m<processor> options
19450 and cc1_cpu_spec associated.
19451 (CONSTANT_ADDRESS_P): Fix last patch.
19452 (ASM_DECLARE_FUNCTION_NAME): Declare. Fix comment.
19453 * config/mips/mips.md (bungt, bunge, sungt_df, sungt_sf, sunge_df,
19454 sunge_sf): Remove.
19455
6f0361e3
SS
194562002-07-03 Stan Shebs <shebs@apple.com>
19457
19458 * config/darwin.h (APPLE_CC): Remove, not meaningful in FSF GCC.
19459 (STRINGIFY_THIS, REALLY_STRINGIFY): Remove.
19460 (CPP_SPEC): Remove insertion of APPLE_CC definition.
19461
3129af4c
RS
194622002-07-03 Roger Sayle <roger@eyesopen.com>
19463
19464 * combine.c (struct_undo): Change types of recorded substitutions
19465 to be either "int" or "rtx", instead of "unsigned int" and "rtx".
19466 (do_SUBST_INT): Change types of the substitution from unsigned int
19467 to int, to avoid compilation warning from SUBST_INT's only caller.
19468
19469 (make_extraction): Add cast to avoid compilation warning.
19470 (force_to_mode): Remove cast to avoid compilation warning.
19471
c7375e61
EB
194722002-07-03 Eric Botcazou <ebotcazou@multimania.com>
19473 Jeff Law <law@redhat.com>
19474
19475 * i386.md (length_immediate attribute): Fix typo.
19476 (length_address attribute): Likewise.
19477 (modrm attribute): Set it to 0 for immediate call instructions.
19478 (jcc_1 pattern): Set modrm attribute to 0.
19479 (jcc_2 pattern ): Likewise.
19480 (jump pattern): Likewise.
19481 (doloop_end_internal pattern): Explicitly set length.
19482 (leave pattern): Fix typo.
19483 (leave_rex64 pattern): Likewise.
19484
61c07d3c
DE
194852002-07-03 David Edelsohn <edelsohn@gnu.org>
19486
19487 * config/rs6000/rs6000.md (fix_truncdfsi2_internal): Ignore DImode
19488 in FPR as preference.
19489 (fctiwz): Same.
19490 (floatdidf2, fix_truncdfdi2): Same.
19491 (floatdisf2, floatditf2, fix_trunctfdi2): Same.
19492 (floatditf2): Same.
19493 (floatsitf2, fix_trunctfsi2): SImode in GPR.
19494 (ctrdi): Remove FPR alternative and splitter.
19495
194962002-07-03 Will Cohen <wcohen@redhat.com>
77966be3
WC
19497
19498 * config/i386/i386.c (x86_integer_DFmode_moves): Disable for PPro.
19499
34a80643
R
19500Wed Jul 3 10:24:16 2002 J"orn Rennecke <joern.rennecke@superh.com>
19501
19502 * optabs.c (expand_vector_binop): Don't store using a SUBREG smaller
19503 than UNITS_PER_WORD, unless this is little endian and the first unit
19504 in this word. Let extract_bit_field decide how to load an element.
19505 Force arguments to matching mode.
19506 (expand_vector_unop): Likewise.
19507
19508 * simplify-rtx.c (simplify_subreg): Don't assume that all vectors
19509 consist of word_mode elements.
19510 * c-typeck.c (build_binary_op): Allow vector types for BIT_AND_EXPR,
19511 BIT_ANDTC_EXPR, BIT_IOR_EXPR and BIT_XOR_EXPR.
19512 (build_unary_op): Allow vector types for BIT_NOT_EPR.
19513 * emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg for
19514 CONST_VECTOR.
19515 * optabs.c (expand_vector_binop): Try to perform operation in
19516 smaller vector modes with same inner size. Add handling of AND, IOR
19517 and XOR. Reject expansion to inner-mode sized scalars when using
19518 OPTAB_DIRECT. Use simplify_gen_subreg on constants.
19519 (expand_vector_unop): Try to perform operation in smaller vector
19520 modes with same inner size. Add handling of one's complement.
19521 When there is no vector negate operation, try a vector subtract
19522 operation. Use simplify_gen_subreg on constants.
19523 * simplify-rtx.c (simplify_subreg): Add capability to convert vector
19524 constants into smaller vectors with same inner mode, and to
19525 integer CONST_DOUBLEs.
19526
622d3731
KG
195272002-07-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
19528
19529 * c-parse.in (parsing_iso_function_signature): New variable.
19530 (extdef_1): New, copied from...
19531 (extdef): ... here. Reset parsing_iso_function_signature.
19532 (old_style_parm_decls): Reset parsing_iso_function_signature.
19533 (old_style_parm_decls_1): New, copied from old_style_parm_decls.
19534 Warn about ISO C style function definitions.
19535 (nested_function, notype_nested_function): Reset
19536 parsing_iso_function_signature.
19537 (parmlist_2): Set parsing_iso_function_signature.
19538
19539 * doc/invoke.texi (-Wtraditional): Document new behavior.
19540
9bb46191
CD
195412002-07-02 Chris Demetriou <cgd@broadcom.com>
19542
19543 * config.gcc (mips*el-*-*): Use tm_defines to set
19544 TARGET_ENDIAN_DEFAULT, rather than including mips/little.h.
19545 * config/mips/little.h: Remove.
19546
e1c2dd26 195472002-07-02 Devang Patel <dpatel@apple.com>
c40da518 19548
c40da518 19549 * objc/objc-act.c (adjust_type_for_id_default): Do not allow an
31e25abd
CD
19550 object as parameter. Prevent something like 'NSObject' to be
19551 used as the type for a method argument.
c40da518 19552
0879540b
NB
195532002-07-03 Neil Booth <neil@daikokuya.co.uk>
19554
19555 * cpptrad.c: Update comment.
19556
b6fb43ab 195572002-07-02 Neil Booth <neil@daikokuya.co.uk>
4e314d1f 19558
b6fb43ab
NB
19559 * doc/cpp.texi: Update for traditional preprocessing changes.
19560 * goc/cppopts.texi: Similarly.
19561
c1c5187c
ZL
195622002-07-02 Ziemowit Laski <zlaski@apple.com>
19563
19564 * c-parse.in (designator): Enable designated initializers if ObjC.
19565 (objcmessageexpr): Remove references to objc_receiver_context.
19566 * objc/objc-act.h (objc_receiver_context): Remove decl.
19567 * objc/objc-act.c (objc_receiver_context): Remove.
19568 (lookup_objc_ivar): Test objc_method_context instead of
19569 objc_receiver_context.
19570
52702ae1
R
19571Tue Jul 2 18:45:45 2002 J"orn Rennecke <joern.rennecke@superh.com>
19572
19573 * sh.c (print_operand, case 'N'): Allow zero vector.
19574 (arith_reg_or_0_operand): Likewise.
19575 (zero_vec_operand): Check for CONST_VECTOR, not PARALLEL.
4e314d1f 19576 * sh.h (CONST_COSTS): 0 has 0 cost. Check OUTER_CODE for
52702ae1
R
19577 IOR, XOR, PLUS and SET and take their respective constant
19578 ranges into account.
19579 (PREDICATE_CODES, arith_reg_or_0_operand): Can be CONST_VECTOR.
19580 * sh.md (subdi3, subdi3_media): Allow zero operand.
19581 (movv8qi_i+3): Only vector that is not split is the zero vector.
19582 Fix operand 3 to simplify_subreg.
19583 (movv2si_i): Split alternative 1.
19584 (mshfhi_l_di_rev+1): New splitter.
19585
49e7b251
NB
195862002-07-02 Neil Booth <neil@daikokuya.co.uk>
19587
ba57a9c0 19588 PR preprocessor/7029
49e7b251
NB
19589 * cppinit.c (cpp_handle_option): Suppress warnings with an
19590 implicit "-w" for "-M" and "-MM".
19591 * doc/cppopts.texi: Update.
19592
a3acdc0c
RS
195932002-07-01 Roger Sayle <roger@eyesopen.com>
19594
19595 * config/sh/sh.c (sh_media_init_builtins): Change use of poisoned
19596 identifier "bzero" to "memset". Pass extra NULL_TREE argument to
19597 builtin_function.
19598
0b558962
AM
195992002-07-02 Alan Modra <amodra@bigpond.net.au>
19600
19601 * README.Portability: Fix typos.
19602
9a81c5b7
HPN
196032002-07-01 Hans-Peter Nilsson <hp@axis.com>
19604
19605 PR target/7177
19606 * config/cris/cris.h (LEGITIMIZE_RELOAD_ADDRESS): Correct number
19607 of indirections for register inside sign-extended mem part.
19608
6a2dd09a
RS
196092002-07-01 Roger Sayle <roger@eyesopen.com>
19610
19611 * tree.h: Modify builtin_function interface to take an extra
19612 argument ATTRS, which is a tree representing an attribute list.
19613
19614 * c-decl.c (builtin_function): Accept additional parameter.
19615 * objc/objc-act.c (builtin_function): Likewise.
19616 * f/com.c (builtin_function): Likewise.
19617 * java/decl.c (builtin_function): Likewise.
19618 * ada/utils.c (builtin_function): Likewise.
19619 * cp/decl.c (builtin_function): Likewise.
19620 (builtin_function_1): Likewise.
19621
19622 * c-common.c (c_common_nodes_and_builtins): Pass an additional
19623 NULL_TREE argument to builtin_function. (builtin_function_2):
19624 Likewise.
19625 * cp/call.c (build_java_interface_fn_ref): Likewise.
19626 * objc/objc-act.c (synth_module_prologue): Likewise.
19627 * java/decl.c (java_init_decl_processing): Likewise.
19628 * f/com.c (ffe_com_init_0): Likewise.
19629
19630 * config/alpha/alpha.c (alpha_init_builtins): Pass an additional
19631 NULL_TREE argument to builtin_function.
19632 * config/arm/arm.c (def_builtin): Likewise.
19633 * config/c4x/c4x.c (c4x_init_builtins): Likewise.
19634 * config/i386/i386.c (def_builtin): Likewise.
19635 * config/ia64/ia64.c (def_builtin): Likewise.
19636 * config/rs6000/rs6000.c (def_builtin): Likewise.
19637
e20569ae
ZW
196382002-07-01 Zack Weinberg <zack@codesourcery.com>
19639
19640 * config/ip2k/t-ip2k: Remove LIBGCC1, CROSS_LIBGCC1, and LIBGCC1_TEST.
19641 * config/mips/t-isa3264: Likewise.
19642 * config/mmix/t-mmix: Likewise.
19643
f1b690f1
JDA
196442002-07-01 John David Anglin <dave@hiauly1.hia.nrc.ca>
19645
19646 * emit-rtl.c (init_emit_once): Add missing cast to HOST_WIDE_INT.
19647
6bfa5aac
RS
196482002-07-01 Roger Sayle <roger@eyesopen.com>
19649
19650 PR opt/4046
19651 * fold-const.c (fold) [COND_EXPR]: Simplify A ? 0 : 1 to !A,
19652 A ? B : 0 to A && B and A ? B : 1 into !A || B if both A and
19653 B are truth values.
19654
9a5c1b9d
NN
196552002-07-01 Nathanael Nerode <neroden@gcc.gnu.org>
19656
19657 * config/mmix/t-mmix: Eliminate last reference to LIBGCC1_TEST.
19658
d3fc4dbc
MK
196592002-07-01 Matt Kraai <kraai@alumni.cmu.edu>
19660
3b2124df
MK
19661 * README.Portability (Function prototypes): Give an example of
19662 declaring and defining a function with no arguments.
19663
d3fc4dbc
MK
19664 * README.Portability (Function prototypes): Document new
19665 variable-argument function macros.
19666
c1b92d09
R
19667Mon Jul 1 19:55:17 2002 J"orn Rennecke <joern.rennecke@superh.com>
19668
19669 * sh.c (langhooks.h): Include.
19670 (sh_init_builtins, sh_media_init_builtins): New functions.
19671 (sh_expand_builtin, arith_reg_dest,and_operand): Likewise.
19672 (mextr_bit_offset, extend_reg_operand, zero_vec_operand): Likewise.
19673 (sh_rep_vec, sh_1el_vec, sh_const_vec): Likewise.
19674 (builtin_description): New struct tag.
19675 (signature_args, bdesc): New arrays.
19676 (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Undef / define.
19677 (print_operand): Add 'N' modifier.
19678 * sh.h (VECTOR_MODE_SUPPORTED_P): Add SHmedia vector modes.
19679 (EXTRA_CONSTRAINT_U, EXTRA_CONSTRAINT_W): New macros.
19680 (EXTRA_CONSTRAINT): Add 'U' and 'W' cases.
19681 (CONST_COSTS): Add special case for SHmedia AND.
19682 (PREDICATE_CODES): Add and_operand, arith_reg_dest,
19683 extend_reg_operand, extend_reg_or_0_operand, mextr_bit_offset,
19684 sh_const_vec, sh_1el_vec, sh_rep_vec, zero_vec_operand.
19685 target_operand can also be const or unspec.
19686 * sh.md (UNSPEC_INIT_TRAMP, UNSPEC_FCOSA UNSPEC_FSRRA): New constants.
19687 (UNSPEC_FSINA, UNSPEC_NSB, UNSPEC_ALLOCO): Likewise.
19688 (attribute type): Add new types.
19689 (anddi3): Add splitter.
19690 (movdi_const_16bit+1): Add code to handle vector constants and
19691 bitmasks efficiently.
19692 (shori_media): Have generator function made.
19693 (movv8qi, movv8qi_i, movv8qi_i+1, movv8qi_i+2): New patterns.
19694 (movv8qi_i+3, movv2hi, movv2hi_i, movv4hi, movv4hi_i): Likewise.
19695 (movv2si, movv2si_i, absv2si2, absv4hi2, addv2si3, addv4hi3): Likewise.
19696 (ssaddv2si3, usaddv8qi3, ssaddv4hi3, negcmpeqv8qi): Likewise.
19697 (negcmpeqv2si, negcmpeqv4hi, negcmpgtuv8qi, negcmpgtv2si): Likewise.
19698 (negcmpgtv4hi, mcmv, mcnvs_lw, mcnvs_wb, mcnvs_wub): Likewise.
19699 (mextr_rl, mextr_lr, mextr1, mextr2, mextr3, mextr4, mextr5): Likewise.
19700 (mextr6, mextr7, mmacfx_wl, mmacfx_wl_i, mmacnfx_wl): Likewise.
19701 (mmacnfx_wl_i, mulv2si3, mulv4hi3, mmulfx_l, mmulfx_w): Likewise.
19702 (mmulfxrp_w, mmulhi_wl, mmullo_wl, mmul23_wl, mmul01_wl): Likewise.
19703 (mmulsum_wq, mmulsum_wq_i, mperm_w, mperm_w_little): LIkewise.
19704 (mperm_w_big, mperm_w0, msad_ubq, msad_ubq_i, mshalds_l): Likewise.
19705 (mshalds_w, ashrv2si3, ashrv4hi3, mshards_q, mshfhi_b): Likewise.
19706 (mshflo_b, mshf4_b, mshf0_b, mshfhi_l, mshflo_l, mshf4_l): Likewsie.
19707 (mshf0_l, mshfhi_w, mshflo_w, mshf4_w, mshf0_w, mshfhi_l_di): Likewise.
19708 (mshfhi_l_di_rev, mshflo_l_di, mshflo_l_di_rev): Likewise.
19709 (mshflo_l_di_x, mshflo_l_di_x_rev, ashlv2si3, ashlv4hi3): Likewise.
19710 (lshrv2si3, lshrv4hi3, subv2si3, subv4hi3, sssubv2si3): Likewise.
19711 (ussubv8qi3, sssubv4hi3, fcosa_s, fsina_s, fipr, fsrra_s): Likewise.
19712 (ftrv): Likewise.
19713
19714 (fpu_switch+1, fpu_switch+2): Remove constraint.
19715
97ebc06f
AH
197162002-07-01 Aldy Hernandez <aldyh@redhat.com>
19717
6c535c69
ZW
19718 * tree.c (build_function_type_list): Update function comment.
19719 Rename first argument to return_type.
97ebc06f 19720
353a10d0
NB
197212002-07-01 Neil Booth <neil@daikokuya.co.uk>
19722
19723 * Makefile.in: Remove all trace of tradcpp.c, tradcpp.h,
19724 tradcif.y and related files.
19725
e34cabb3
NB
197262002-07-01 Neil Booth <neil@daikokuya.co.uk>
19727
19728 * cpptrad.c (skip_whitespace): Pass pointer to prior char.
19729
8bf3ccbb
KG
197302002-07-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
19731
19732 * mips.h (FUNCTION_ARG_REGNO_P): Fix parentheses.
19733
44eedb75 19734See ChangeLog.7 for earlier changes.
This page took 2.718731 seconds and 5 git commands to generate.