]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
simd-1.c: Force all use of int to 32-bit int.
[gcc.git] / gcc / ChangeLog
CommitLineData
6c6e776d
MA
12002-09-13 Matt Austern <austern@apple.com>
2 * cp/cp-tree.h, cp/tree.c: New function non_cast_lvalue_p.
3 * cp/call.c: Change call-by-const-reference mechanism to use
4 non_cast_lvalue_p when deciding whether the create a temporary.
5 We need a temporary when passing, e.g. (long) x by const ref.
6 * testsuite/g++.dg/other/constref[12].C: New, regression tests for
7 passing a cast expression to a function by const reference.
8
d5909a79
RH
92002-09-13 Richard Henderson <rth@redhat.com>
10
11 * config/alpha/alpha.md (attr type): Add callpal.
12 (imb, trap, load_tp, set_tp): Use it.
13 * config/alpha/ev4.md (ev4_callpal): New.
14 * config/alpha/ev5.md (ev5_callpal): New.
15 * config/alpha/ev6.md (ev6_ibr): Handle callpal.
16 * config/alpha/alpha.c (alphaev4_insn_pipe): Handle TYPE_CALLPAL.
17 (alphaev5_insn_pipe): Likewise.
18
e0073fa8
AJ
192002-09-13 Andreas Jaeger <aj@suse.de>
20
21 * Makefile.in (print-rtl.o): Depend on CONFIG_H.
22
1f298625
SE
232002-09-13 Steve Ellcey <sje@cup.hp.com>
24
25 * config/ia64/t-hpux (LIBGCC1_TEST, STMP_FIXPROTO,
26 LIB2ADDEH): New, set to NULL.
27 (SHLIB_EXT, SHLIB_LINK, SHLIB_INSTALL, SHLIB_MKMAP): New.
28
1a7e1470
SE
292002-09-13 Steve Ellcey <sje@cup.hp.com>
30
31 * config/ia64/quadlib.c (_U_Qfcmp): Make extern.
32 (_U_Qfcnvfxt_quad_to_sgl): Remove declaration.
33 (_U_Qfeq, _U_Qfne, _U_Qfgt, _U_Qfge, U_Qflt, U_Qfle, _U_Qfcomp):
34 Add declarations.
35 (_U_Qfneg): Remove.
36
d56c04ce
DD
372002-09-13 Dhananjay Deshpande <dhananjayd@kpit.com>
38
39 * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Add support
40 for H8/300, H8/S aa:8 mode.
41 (TINY_CONSTANT_ADDRESS_P): Add support for H8/S aa:16 mode.
42 * config/h8300/h8300.c (h8300_adjust_insn_length): Adjust length
43 for H8/300 aa:8 mode.
44
4456530d
HP
452002-09-13 Hartmut Penner <hpenner@de.ibm.com>
46
47 * config/s390/s390.md ("trap", "conditional_trap", "*trap"): New
48 insns.
49
4d2d910c
RH
502002-09-12 Richard Henderson <rth@redhat.com>
51
52 * Makefile.in (HOST_PRINT): Use print-rtl1.o
53 (print-rtl.o): Don't define GENERATOR_FILE.
54 (print-rtl1.o): Rename from $(BUILD_PREFIX_1)print-rtl.o.
55 * print-rtl.c (print_rtx): Include CONST_DOUBLE fp decimal output
56 unless GENERATOR_FILE.
57
7606e68f
SS
582002-09-12 Stan Shebs <shebs@apple.com>
59
6ab9a3f4
SS
60 * config/darwin.h (USER_LABEL_PREFIX): Define here...
61 * config/i386/darwin.h: ... instead of here.
62
7606e68f
SS
63 * target.h (struct gcc_target): New field
64 terminate_dw2_eh_frame_info.
65 * target-def.h (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
66 (TARGET_INITIALIZER): Add it.
67 * dwarf2out.c (output_call_frame_info): Use target hook.
68 * dwarf2asm.c (dw2_asm_output_delta): Use macro
69 ASM_OUTPUT_DWARF_DELTA if defined.
70 * doc/tm.texi (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Document.
71 (ASM_OUTPUT_DWARF_DELTA): Ditto.
72 (ASM_OUTPUT_DWARF_OFFSET): Ditto.
73 (ASM_OUTPUT_DWARF_PCREL): Ditto.
74 * config.gcc (i[34567]86-*-darwin*): Define extra_parts.
75 (powerpc-*-darwin*): Ditto.
76 * crtstuff.c [OBJECT_FORMAT_MACHO]: Update the Mach-O bits
77 to work correctly for Darwin.
78 * config/darwin.h (OBJECT_FORMAT_MACHO): Define.
79 (STARTFILE_SPEC): Add crtbegin.o.
80 (ENDFILE_SPEC): Define.
81 (EXTRA_SECTION_FUNCTIONS): Put gcc_except_tab in data segment.
82 (ASM_PREFERRED_EH_DATA_FORMAT): Handle more cases.
83 (ASM_OUTPUT_DWARF_DELTA): Define.
84 (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
85 * config/darwin.c (darwin_asm_output_dwarf_delta): New function.
86
20b71b17
AM
872002-09-13 Alan Modra <amodra@bigpond.net.au>
88
89 * config/rs6000/rs6000.c (rs6000_emit_load_toc_table): Remove "if"
90 nesting. Correct test for non-PowerPC64 ELF ABI_AIX.
91 * config/rs6000/rs6000.md (load_toc_v4_PIC*): Disable when ABI_AIX.
92
d48fd218
ZW
932002-09-12 Zack Weinberg <zack@codesourcery.com>
94
95 * toplev.c: Move default definition of USER_LABEL_PREFIX...
96 * defaults.h: ... here.
97
92bc3c1a
RH
982002-09-12 Richard Henderson <rth@redhat.com>
99
100 * vax.c: Include tree.h earlier.
101
3f64e543
SS
1022002-09-12 Stan Shebs <shebs@apple.com>
103
104 * config/darwin.c (machopic_finish): Remove #if 0 chunks.
105 (machopic_operand_p): Ditto.
106
52bd31bb
KH
1072002-09-12 Kazu Hirata <kazu@cs.umass.edu>
108
109 * config/arm/arm.c (arm_compute_initial_elimination_offset):
110 Fix a comment typo.
111
387c9294
KH
1122002-09-12 Kazu Hirata <kazu@cs.umass.edu>
113
114 * toplev.c (do_abort): Fix a comment typo.
115
e34bb004
KH
1162002-09-12 Kazu Hirata <kazu@cs.umass.edu>
117
118 * cselib.c: Fix comment formatting.
119 * gengtype.c: Likewise.
120
d0029ebd
KH
1212002-09-12 Kazu Hirata <kazu@cs.umass.edu>
122
123 * config/h8300/h8300.md (udivmodqi4): Do not use an expander.
124 (udivmodhi4): Likewise.
125
c3c637e3 1262002-09-12 Graham Stott <graham.stott@btinternet.com>
d48fd218 127 Roger Sayle <roger@eyesopen.com>
c3c637e3
GS
128
129 * i386.c (any_fp_register_operand, fp_register_operand,
130 register_and_not_any_fp_reg_operand, register_and_not_fp_reg_operand):
131 New predicate functions.
132 * i386-protos.h: Add their prototypes.
133 * i386.h: Add them to PREDICATE_CODES.
134 * i386.md ("*pushsf_rex64"+2, "*pushsf_rex64"+3, "*pushdf_integer"+1,
135 "*pushdf_integer"+2, "*pushtf_integer"+1, "*pushtf_integer"+2,
136 "*pushtf_integer"+3, "*pushtf_integer"+4, "*dummy_extendsfdf2"+1,
137 "*dummy_extendsfdf2"+2, "*dummy_extendsfxf2"+1,
138 "*dummy_extendsftf2"+1, "*dummy_extendsftf2"+2,
139 "*dummy_extenddfxf2"+1, "*dummy_extenddftf2"+1,
140 "*dummy_extenddftf2"+2, "*negsf2_if"+1, "*negsf2_if"+2,
141 "*negdf2_if_rex64"+1, "*negdf2_if_rex64"+2, "*negxf2_if"+1,
142 "*negxf2_if"+2, "*negtf2_if"+1, "*negtf2_if"+2, "*abssf2_if"+1,
143 "*abssf2_if"+2, "*absdf2_if_rex64"+1, "*absdf2_if_rex64"+2,
144 "*absxf2_if"+1, "*absxf2_if"+2, "*abstf2_if"+1, "*abstf2_if"+2):
145 Use these new predicates to simplify and correct the use of
146 FP_REG_P, ANY_FP_REG_P, FP_REGNO_P and any ANY_FP_REGNO_P.
147
db4c55f6
JM
1482002-09-12 Jason Merrill <jason@redhat.com>
149
236a2ac8
JM
150 * diagnostic.c (output_add_identifier): New fn.
151 * diagnostic.h: Declare it.
152
db4c55f6
JM
153 * calls.c (store_one_arg): Use size_in_bytes to determine the
154 amount of space to push.
155
13c0bc20
JJ
1562002-09-12 Jakub Jelinek <jakub@redhat.com>
157
158 * config/sparc/linux64.h (STARTFILE_SPEC32): Fix a typo.
159
0a3bdf9d
UW
1602002-09-12 Ulrich Weigand <uweigand@de.ibm.com>
161
162 * config/s390/s390-modes.def (CCAPmode, CCANmode): New CC modes.
163 * config/s390/s390.c (s390_match_ccmode_set): Support new CC modes.
164 (s390_select_ccmode): Likewise.
165 (s390_branch_condition_mask): Likewise.
166 (optimization_options): Do not set flag_branch_on_count.
167 (s390_split_branches): Handle doloop branches.
168 (s390_chunkify_pool): Likewise.
169 * config/s390/s390.md ("*adddi3_imm_cc", "*addsi3_imm_cc"): New insns.
170 ("doloop_end"): New expander.
171 ("doolop_si", "*doloop_si_long", "doloop_di", "*doloop_di_long",
172 associated splitters): New.
173
4f968d93
HP
1742002-09-11 Hartmut Penner <hpenner@de.ibm.com>
175
176 * fold-const.c (make_range): Only narrow to signed range if
177 the signed range is smaller than the unsigned range.
178
35aff10b
AM
1792002-09-12 Alan Modra <amodra@bigpond.net.au>
180
181 * emit-rtl.c (set_mem_size): New function.
182 * expr.h (set_mem_size): Declare.
183 * config/rs6000/rs6000.c (expand_block_move_mem): Exterminate.
184 (expand_block_move): Instead, use adjust_address and
185 replace_equiv_address to generate proper aliasing info.
186 Move common code out of conditionals. Localize vars.
187
874f6a6d 1882002-09-09 Eric Botcazou ebotcazou@libertysurf.fr
d48fd218 189
874f6a6d
EB
190 * optabs.c (expand_binop): Minor cleanup.
191 (expand_twoval_binop): Convert CONST_INTs like in expand_binop.
192
d1df930b
DN
1932002-09-11 Dan Nicolaescu <dann@ics.uci.edu>
194
195 * print-tree.c (print_node): Print the restrict qualifier.
196
9026a957
JJ
1972002-09-11 Janis Johnson <janis187@us.ibm.com>
198
199 * doc/install.texi: Fix typos.
200
3fd9d606
ZW
2012002-09-11 Zack Weinberg <zack@codesourcery.com>
202
203 * Makefile.in: Remove all references to s-under and underscore.c.
204 * collect2.c, tlink.c: Change all uses of prepends_underscore
205 to look directly at USER_LABEL_PREFIX.
206
5b5198f7
DE
2072002-09-11 David Edelsohn <edelsohn@gnu.org>
208
209 * config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section): Append
210 alignment to csect.
211 (rs6000_xcoff_unique_section): Only set section name for public
212 data.
213 (rs6000_xcoff_section_type_flags): Store log2 alignment in flags.
214 * config/rs6000/xcoff.h (TARGET_ASM_SELECT_SECTION): Remove
215 duplicate definition.
216
77de9af2
JDA
2172002-09-10 John David Anglin <dave@hiauly1.hia.nrc.ca>
218
219 * pa.md (extzv): Check predicates before emitting extzv_32.
220 (insv): Likewise.
221
33b679d1
UW
2222002-09-10 Ulrich Weigand <uweigand@de.ibm.com>
223
224 * config/s390/s390.h (MOVE_MAX): Define to correct value.
225 (MAX_MOVE_MAX): Define.
226 (MOVE_BY_PIECES_P): Define.
227 (CLEAR_BY_PIECES_P): Define.
228
bfae8040
DC
2292002-09-10 Denis Chertykov <denisc@overta.ru>
230
231 * config/avr/avr.md (movstrhi): Use right operands for conversion.
232
7730c3ff
RE
2332002-09-10 Richard Earnshaw <rearnsha@arm.com>
234
235 PR c/7873
236 * arm.md (insv): Use reg_or_int_operand for operand[3].
237
5add3202
DE
2382002-09-10 David Edelsohn <edelsohn@gnu.org>
239
240 * rs6000.c (rs6000_assemble_visibility): Protect declaration
241 inside macro. Correct function definition typo.
242 (rs6000_xcoff_section_type_flags): New function.
243 (TARGET_SECTION_TYPE_FLAGS): Remove definition.
244 (rs6000_elf_section_type_flags): Call default_section_type_flags_1
245 with appropriate PIC test.
246 (rs6000_xcoff_select_section): Use decl_readonly_section_1 to
247 determine readonly.
248 (rs6000_binds_local_p): Combine PIC flags.
249 * sysv4.h (TARGET_SECTION_TYPE_FLAGS): Define.
250 * xcoff.h (TARGET_SECTION_TYPE_FLAGS): Define.
251
90389422
PB
2522002-09-09 Per Bothner <per@bothner.com>
253
254 * print-tree.c (print_node): In a STRING_CST, escape non-ascii
255 characters, and only print TREE_STRING_LENGTH chars.
256
686f3bf0
SE
2572002-09-09 Steve Ellcey <sje@cup.hp.com>
258
259 * config/ia64/hpux.h (TARGET_HPUX_LD): New, define true.
260 (ASM_FILE_END) New.
261 * config/ia64/ia64.h (TARGET_HPUX_LD): New, define false.
262 * config/ia64/ia64-protos.h (ia64_hpux_asm_file_end): New.
263 * config/ia64/ia64.c (ia64_asm_output_external): Create list
264 of external functions if TARGET_HPUX_LD is true.
265 (ia64_hpux_add_extern_decl): New, routine to put names on
266 list of external functions.
267 (ia64_hpux_asm_file_end): Put out declarations for external
268 functions if and only if they are used.
269
0c263f4e
JDA
2702002-09-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
271
272 * pa.md (exception_receiver, builtin_setjmp_receiver): Add blockage
273 on TARGET_64BIT before pic register restore.
274
e2a6476e
DE
2752002-09-09 David Edelsohn <edelsohn@gnu.org>
276
277 * doc/tm.texi (TARGET_HAVE_SRODATA_SECTION): New description.
278 (TARGET_HAVE_TLS): New description.
279
b73b1546
JJ
2802002-09-09 Janis Johnson <janis187@us.ibm.com>
281
282 * doc/extend.texi (Statement Exprs): Fix broken link.
283
a9738643
DC
2842002-09-09 Denis Chertykov <denisc@overta.ru>
285
286 * config/avr/avr.md (movstrhi, clrstrhi): Use gen_int_mode for
287 right conversion of operands[1].
288
05b9aaaa
UW
2892002-09-09 Ulrich Weigand <uweigand@de.ibm.com>
290
291 * config/s390/s390.md ("*tmdi_reg", "*tmsi_reg"): Do not mark as
292 commutative. Use "nonimmediate_operand" instead of "register_operand"
293 as predicate for operand 0. Move to after the "*tmXX_mem" insns.
294
295 ("*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem"): Do not mark
296 as commutative.
297
298 ("*anddi3_ni", "*andsi3_ni", "*iordi3_ni", "*iorsi3_ni"): Do not
299 mark as commutative. Use "nonimmediate_operand" instead of
300 "register_operand" as predicate for operand 1.
301
302 ("movstrictsi"): Fix typo in insn name.
303
7ec70495
JH
3042002-09-09 Jan Hubicka <jh@suse.cz>
305
306 * i386.c (index_register_operand): New.
307 * i386.h (predicate_codes): Add new predicate.
308 * i386.md (lea_general_*): Use index_regsiter_operand
309 (ashift to lea splitter): Do not produce invalid leas
310 (ashift to mov+ashift split): New.
311
b2fc915b
NC
3122002-09-09 Nick Clifton <nickc@redhat.com>
313
314 * config/fr30/fr30.c (output.h): Move after inclusion of tree.h.
315 Fix folding marks.
316
0b0ad147 3172002-09-09 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
d48fd218 318 J"orn Rennecke <joern.rennecke@superh.com>
0b0ad147
TM
319
320 * sh/sh.h (OVERRIDE_OPTIONS): align_functions is in bytes, not bits.
321
2bcc50d0
AM
3222002-09-09 Alan Modra <amodra@bigpond.net.au>
323
324 * config/rs6000/rs6000.c (rs6000_binds_local_p): Return bool.
325 (function_ok_for_sibcall): Use binds_local_p. Respect longcall
326 attributes.
327
c1b4f089
KG
3282002-09-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
329
330 * fr30.c (fr30_print_operand): Fix bug in output of CONST_DOUBLE.
331
b9203463
RH
3322002-09-08 Richard Henderson <rth@redhat.com>
333
334 * dwarf2.h (DW_OP_call_ref): Rename from DW_OP_calli.
335 (DW_OP_GNU_push_tls_address): New.
336 (DW_OP_lo_user): Fix.
337 * dwarf2out.c (INTERNAL_DW_OP_tls_addr): New.
338 (dwarf_stack_op_name): Handle it, plus other dwarf3 opcodes.
339 (size_of_loc_descr): Likewise.
340 (output_loc_operands): Handle INTERNAL_DW_OP_tls_addr.
341 (add_AT_location_description): Take a dw_loc_descr_ref not an rtx.
342 (loc_descriptor_from_tree): Handle TLS variables.
343 (rtl_for_decl_location): Do avoid_constant_pool_reference here ...
344 (add_location_or_const_value_attribute): ... not here. Defer
345 to loc_descriptor_from_tree for TLS variables.
346
347 * config/i386/i386.h (ASM_OUTPUT_DWARF_DTPREL): New.
348 * config/i386/i386.c (i386_output_dwarf_dtprel): New.
349 * config/i386/i386-protos.h: Update.
350
7df98878
RS
3512002-09-08 Roger Sayle <roger@eyesopen.com>
352
353 PR optimization/6405
354 * unroll.c (loop_iterations): last_loop_insn should be the previous
355 non-note instruction before loop->end.
356 * loop.c (strength_reduce): The conditional jump is the last
357 non-note instruction before loop->end (as above).
358
f40f4c8e
RS
3592002-09-08 Roger Sayle <roger@eyesopen.com>
360
361 * combine.c (try_combine): Handle the case that undobuf.other_insn
362 has been turned into a return or unconditional jump, by inserting
363 a BARRIER if necessary.
364 (simplify_set): Test if a condition code setter has a constant
365 comparison at compile time, if so convert this insn to a no-op move
366 and update/simplify the condition code user (undobuf.other_insn).
367
e2f97e26
KW
3682002-09-08 Krister Walfridsson <cato@df.lth.se>
369
370 * config/arm/netbsd.h (INITIALIZE_TRAMPOLINE): Redefine.
371 (CLEAR_INSN_CACHE): Define.
372
4b7e68e7
KH
3732002-09-08 Kazu Hirata <kazu@cs.umass.edu>
374
375 * basic-block.h: Fix comment formatting.
376 * c-common.c: Likewise.
377 * c-common.h: Likewise.
378 * c-lex.c: Likewise.
379 * c-pretty-print.c: Likewise.
380 * cfglayout.c: Likewise.
381 * cfgloop.c: Likewise.
382 * defaults.h: Likewise.
383 * et-forest.c: Likewise.
384 * explow.c: Likewise.
385 * function.h: Likewise.
386 * gcov.c: Likewise.
387 * genattrtab.c: Likewise.
388 * gengtype.c: Likewise.
389 * ifcvt.c: Likewise.
390 * libgcc2.c: Likewise.
391 * loop.c: Likewise.
392 * profile.c: Likewise.
393 * ra-build.c: Likewise.
394 * real.c: Likewise.
395 * rtl.h: Likewise.
396 * tracer.c: Likewise.
397 * tree-inline.c: Likewise.
398 * varasm.c: Likewise.
399
2567406a
JH
4002002-09-08 Jan Hubicka <jh@suse.cz>
401
402 * emit-rtl.c (set_mem_attributes_minus_bitpos): Fix array_ref
403 handling.
404
405 * loop.c (loop_gics_reduce): Emit addition after.
406
bd79540a
AM
4072002-09-08 Alan Modra <amodra@bigpond.net.au>
408
409 * varasm.c (default_assemble_visibility): Rename from
410 assemble_visibility.
411 * output.h: Here too.
412 * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): And here.
413 * config/rs6000/rs6000.c (rs6000_assemble_visibility): And here.
414
32ff9c74
AM
4152002-09-08 Alan Modra <amodra@bigpond.net.au>
416
417 * reload.c (find_reloads <p constraint>): Pass operand_mode to
418 find_reloads_address.
419
6588987e
KH
4202002-09-08 Kazu Hirata <kazu@cs.umass.edu>
421
422 * config/h8300/h8300.md (udivmodqi4): Enable on H8/300.
423 (anonymous pattern): Likewise.
424
0100732e
SS
4252002-09-07 Scott Snyder <snyder@fnal.gov>
426
427 PR target/7374
428 * config/alpha/alpha.md (abstf2): Fix typo: 'neg' for 'abs'.
429
77043c7c
RS
4302002-09-07 Roger Sayle <roger@eyesopen.com>
431
432 * basic-block.h (struct loop): Remove unused cont_dominator field.
433
5dd78220
IS
4342002-09-07 Igor Shevlyakov <igor@microunity.com>
435
d48fd218 436 * varasm.c (decode_rtx_const): Don't check undefined field for
5dd78220
IS
437 CONST_VECTOR.
438
b96a3fa3
GN
4392002-09-07 Glen Nakamura <glen@imodulo.com>
440
7fa86a10 441 PR opt/7814
b96a3fa3
GN
442 * sched-deps.c (sched_analyze_insn): Make sure to add insn
443 to reg_last->sets after flushing the dependency lists to guarantee
444 that subsequent clobbers will be dependent on it.
445
ad9df12f 4462002-09-07 Igor Shevlyakov <igor@microunity.com>
2567406a 447
ad9df12f
IS
448 * combine.c (simplify_shift_const): Calculate rotate count
449 correctly for vector operands.
450
54c93c30
AE
4512002-09-07 Ansgar Esztermann <ansgar@thphy.uni-duesseldorf.de>
452
453 * c-typeck.c (c_tree_expr_nonnegative_p): New function.
454 (build_binary_op): Call c_tree_expr_nonnegative_p rather than
2567406a 455 tree_expr_nonnegative_p.
54c93c30
AE
456 (build_conditional_expr): Likewise.
457 * c-tree.h (c_tree_expr_nonnegative_p): Declare.
458
36eea25f
RH
4592002-09-07 Richard Henderson <rth@redhat.com>
460
3aa4cad7
RH
461 * builtins.def (inf, inff, infl): Mark const.
462 (huge_val, huge_valf, huge_vall): Likewise.
463 (BUILT_IN_GETEXP, BUILT_IN_GETMAN): Remove.
464
36eea25f
RH
465 * real.c (ereal_inf): Clear E before use.
466
5c102b48
KH
4672002-09-07 Kazu Hirata <kazu@cs.umass.edu>
468
469 * config/h8300/h8300.md (udivmodqi4): Split the pattern into
470 an expander and an anonymous pattern. Zero out the upper half
471 of the dividend in the expander.
472 (udivmodqi4): Likewise.
473
8bd06267
KH
4742002-09-07 Kazu Hirata <kazu@cs.umass.edu>
475
476 * config/h8300/h8300.c: Fix formatting.
477 * config/h8300/h8300.h: Likewise.
478 * config/h8300/h8300.md: Likewise.
479
39587bb9
ZD
4802002-09-07 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
481
482 * cfgcleanup.c (try_crossjump_to_edge): Fix updating of liveness
483 information.
484
92d9256d
GS
4852002-09-07 Graham Stott <graham.stott@btinternet.con>
486
487 * rtlanal.c (dead_or_set_regno_p): Fix typo.
488
93638d7a
AM
4892002-09-07 Alan Modra <amodra@bigpond.net.au>
490
fea76d82
AM
491 * config/rs6000/linux64.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
492
93638d7a
AM
493 * doc/tm.texi (TARGET_ASM_ASSEMBLE_VISIBILITY): Describe.
494 * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
495 (TARGET_ASM_OUT): Add the above here.
496 * target.h (struct gcc_target): Add "visibility" field.
497 * varasm.c (maybe_assemble_visibility): Call targetm visibility func.
498 * config/rs6000/rs6000.c (rs6000_assemble_visibility): New function.
499 (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
500 (rs6000_legitimize_reload_address, first_reg_to_save): Formatting.
501
370ce32a
ZL
5022002-09-06 Ziemowit Laski <zlaski@apple.com>
503
504 * c-lang.c (objc_is_id): New stub.
505 * c-tree.h (objc_is_id): New forward declaration.
506 * c-typeck.c (build_c_cast): Do not strip protocol
507 qualifiers from 'id' type.
508 * objc/objc-act.c (objc_comptypes): Correct handling
509 of protocol qualifiers.
510 (objc_is_id): New.
511
942579db
JL
512Fri Sep 6 13:10:08 2002 Jeffrey A Law (law@redhat.com)
513
54c93c30 514 * pentium.md (pentium-firstvboth): Fix typo.
942579db 515
c4dfc70c
DD
5162002-09-06 Dhananjay Deshpande <dhananjayd@kpit.com>
517
518 * h8300.c (enum shift_alg): Move to earlier in h8300.c.
519 (enum shift_type, enum h8_cpu): Likewise.
520 (INL, ROT, LOP, SPC macros): Likewise.
521 (shift_alg_qi, shift_alg_hi, shift_alg_si): Likewise. Lose
522 const designator.
523 (h8300_init_once): Update shift_alg_{qi,hi,si} to use more
524 space efficient algorithms when optimize for codesize.
525
5873a4c1
NP
526Fri Sep 6 16:35:32 2002 Nicola Pero <n.pero@mi.flashnet.it>
527
528 Fix PR/1727 and long-standing failing testcase
529 objc/formal-protocol-6.m.
530 * objc-act.c (build_protocol_expr): If compiling for the GNU
531 runtime, create a list of Protocol statically allocated instances
532 if it doesn't exist, then add the Protocol object to this same
533 list.
534 (get_objc_string_decl): Fixed typo/bug - TREE_VALUE had been used
535 instead of TREE_CHAIN.
536
e30d4c82
NP
537Fri Sep 6 16:17:33 2002 Nicola Pero <n.pero@mi.flashnet.it>
538
539 * objc/objc-act.c (dump_interface): Enlarged the char * buffer to
540 10k. Fixed category dumping - print out category names with the
541 proper syntax. Print '@end\n' and not '\n@end' at the end of the
542 interface.
22d4398d 543 (finish_objc): Fixed the -gen-decls option. It was printing out
e30d4c82
NP
544 only the last class. Dump an interface declaration of all classes
545 being compiled instead.
546
fcd53748
JT
5472002-09-06 Jason Thorpe <thorpej@wasabisystems.com>
548
2567406a
JH
549 * config/arm/arm-protos.h (arm_gen_return_addr_mask): New
550 prototype.
fcd53748
JT
551 * config/arm/arm.c (arm_gen_return_addr_mask): New function.
552 * config/arm/arm.h (MASK_RETURN_ADDR): Use arm_gen_return_addr_mask
553 if not APCS26 and not Thumb or ARMv4-or-higher. Use gen_int_mode
554 rather than GEN_INT.
555 * config/arm/arm.md (UNSPEC_CHECK_ARCH): Define.
556 (return_addr_mask, *check_arch2): New.
557
96fd3851
UW
5582002-09-06 Ulrich Weigand <uweigand@de.ibm.com>
559
2567406a 560 * config/s390/s390.md ("*adddi3_cc", "*adddi3_cconly",
96fd3851 561 "*adddi3_cconly2", "*adddi3_64", "*adddi3_31", "adddi3",
2567406a 562 "*addsi3_carry1_cc", "*addsi3_carry1_cconly",
96fd3851
UW
563 "*addsi3_carry2_cc", "*addsi3_carry2_cconly",
564 "*addsi3_cc", "*addsi3_cconly", "*addsi3_cconly2", "addsi3",
2567406a 565 "adddf3", "*adddf3", "*adddf3_ibm",
96fd3851
UW
566 "addsf3", "*addsf3", "*addsf3_ibm",
567 "muldi3", "mulsi3", "mulsidi3",
568 "muldf3", "*muldf3", "*muldf3_ibm",
569 "mulsf3", "*mulsf3", "*mulsf3_ibm",
570 "*anddi3_cc", "*anddi3_cconly", "anddi3",
571 "*andsi3_cc", "*andsi3_cconly", "andsi3",
572 "*iordi3_cc", "*iordi3_cconly", "iordi3",
573 "*iorsi3_cc", "*iorsi3_cconly", "iorsi3",
574 "*xordi3_cc", "*xordi3_cconly", "xordi3",
575 "*xorsi3_cc", "*xorsi3_cconly", "xorsi3"): Use "nonimmediate_operand"
576 instead of "register_operand" as predicate for "%0" operand.
577
22252625
JJ
5782002-09-06 Jakub Jelinek <jakub@redhat.com>
579
580 * configure.in (HAVE_AS_OFFSETABLE_LO10): Use -xarch=v9
581 unconditionally when gcc_cv_as_flags64 checks are gone.
582 * configure: Rebuilt.
583
bc401279
AM
5842002-09-06 Alan Modra <amodra@bigpond.net.au>
585
586 * config/rs6000/rs6000.md (extzvsi_internal2): Revert most of
587 2002-07-26 change. Comment.
588
b3fbfc07
KG
5892002-09-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
590
591 * frv.c (frv_unique_section, frv_select_section,
592 frv_select_rtx_section): Delete.
593 (frv_in_small_data_p): New.
594 (TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_SECTION,
595 TARGET_ASM_SELECT_RTX_SECTION): Delete.
596 (TARGET_IN_SMALL_DATA_P): Define.
597
41e34bab
DJ
5982002-09-05 Dale Johannesen <dalej@apple.com>
599
600 * reload1.c (reload): Retain only those memory clobbers
601 added for variable-array handling.
602
dc0ba55a
JT
6032002-09-05 Jason Thorpe <thorpej@wasabisystems.com>
604
605 * config/arm/arm.c (arm_return_in_memory): Implement ATPCS
2567406a 606 return-in-memory rules.
dc0ba55a
JT
607 * config/arm/arm.h (ARM_FLAG_ATPCS, TARGET_ATPCS): Define.
608
dd19d142
DE
6092002-09-05 David Edelsohn <edelsohn@gnu.org>
610
611 * config/rs6000/xcoff.h (HOT_TEXT_SECTION_NAME): Delete.
612 (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Delete.
613
3717da94
JT
6142002-09-05 Jason Thorpe <thorpej@wasabisystems.com>
615
616 * real.c: Avoid parse error if FLOAT_WORDS_BIG_ENDIAN is
617 not a compile-time constant for the non-IBM case.
618 * config/arm/arm-protos.h (arm_float_words_big_endian): New
2567406a 619 prototype.
3717da94 620 * config/arm/arm.c (arm_float_words_big_endian): New function.
b5b620a4 621 * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __VFP_FP__
2567406a
JH
622 if TARGET_VFP and not TARGET_HARD_FLOAT.
623 (ARM_FLAG_VFP, TARGET_VFP): Define.
3717da94
JT
624 (FLOAT_WORDS_BIG_ENDIAN): Use arm_float_words_big_endian.
625
225cee28
DE
6262002-09-05 David Edelsohn <edelsohn@gnu.org>
627
628 * doc/install.texi: Correct text of s390-*-linux* and s390x-*-linux*
629 URLs. Fix AIX wording.
630
c72bfda7
SS
6312002-09-05 Stan Shebs <shebs@apple.com>
632
633 * config/rs6000/rs6000.c (rs6000_override_options): Make -fpic and
634 -fPIC equivalent on Darwin.
635
3578cf63
R
636Thu Sep 5 16:27:47 2002 J"orn Rennecke <joern.rennecke@superh.com>
637
638 * sh.c (sh_expand_builtin): Return early if encountering an
639 error_mark for a type.
640
7974fe63
UW
6412002-09-05 Ulrich Weigand <uweigand@de.ibm.com>
642
643 * config/s390/s390.c (s390_expand_plus_operand): Do not require
644 double-word scratch register.
645 config/s390/s390.md ("reload_indi", "reload_insi"): Adapt.
646
2567406a 647 ("*tmqi_ext", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem",
7974fe63
UW
648 "*cli"): Replace s_operand by memory_operand.
649 ("cmpstrdi", "cmpstrsi"): Replace s_operand by general_operand.
650
f8cb5851
KH
6512002-09-05 Kazu Hirata <kazu@cs.umass.edu>
652
653 * config/h8300/h8300.c (asm_file_start): Add a missing
654 semicolon.
655
5fc0e5df
KW
6562002-09-04 Krister Walfridsson <cato@df.lth.se>
657
658 * config/i386/i386.h (GOT_SYMBOL_NAME): Define.
659 * config/i386/i386.c (output_set_got): Use GOT_SYMBOL_NAME.
660 (ix86_output_addr_diff_elt) Likewise.
661 (x86_output_mi_thunk) Likewise.
662 * config/i386/netbsd.h (GOT_SYMBOL_NAME): Redefine.
663
f4b488fd
KG
6642002-09-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
665
666 * frv.c (frv_encode_section_info): Fix error in last change.
667
0e5dbd9b
DE
6682002-09-04 David Edelsohn <edelsohn@gnu.org>
669
670 * config/rs6000/rs6000.c (rs6000_flag_pic): New variable.
671 (rs6000_elf_encode_section_info): ATTRIBUTE_UNUSED.
672 (TARGET_BINDS_LOCAL_P): Define.
673 (rs6000_override_options): Save original flag_pic value.
674 (rs6000_elf_select_section): Call default_elf_select_section_1.
675 (rs6000_elf_unique_section): Call default_unique_section_1.
676 (rs6000_elf_in_small_data_p): New function.
677 (rs6000_xcoff_asm_named_section): Determine storage mapping class.
678 (rs6000_xcoff_select_section): Update based on defaults.
679 (rs6000_xcoff_unique_section): Set to basic name if not common.
680 (rs6000_binds_local_p): New function.
681 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Set
682 targetm.have_srodata_section if SDATA_EABI.
683 (TARGET_IN_SMALL_DATA_P): Define.
684
f57f9cb8
DJ
6852002-09-04 Dale Johannesen <dalej@apple.com>
686
687 * varasm.c (struct rtx_const, decode_rtx_const):
688 Make veclo and vechi fields not share storage.
689
ed6cc1f5
R
690Thu Sep 5 00:34:33 2002 J"orn Rennecke <joern.rennecke@superh.com>
691
692 * loop.c (scan_loop): Don't mark separate insns out of a libcall
693 for moving.
694 (move_movables): Abort if we see the first insn of a libcall.
695
ab5e2615
RH
6962002-09-04 Richard Henderson <rth@redhat.com>
697
698 * builtin-types.def (BT_FN_FLOAT): New.
699 (BT_FN_DOUBLE, BT_FN_LONG_DOUBLE): New.
700 * builtins.def (BUILT_IN_INF, BUILT_IN_INFF, BUILT_IN_INFL,
701 BUILT_IN_HUGE_VAL, BUILT_IN_HUGE_VALF, BUILT_IN_HUGE_VALL): New.
702 * builtins.c (fold_builtin_inf): New.
703 (fold_builtin): Call it.
704 * real.c (ereal_inf): New.
705 * real.h: Declare it.
706 * doc/extend.texi: Document new builtins.
707
9beb7d20
RH
7082002-09-04 Richard Henderson <rth@redhat.com>
709
710 * cse.c (cse_insn): Avoid subreg games if the equivalence
711 is already in the proper mode.
712
29984e05
EB
7132002-09-04 Eric Botcazou <ebotcazou@multimania.com>
714
715 PR c/7102
716 * optabs.c (expand_binop): Convert CONST_INTs in all cases.
717
8d46398e
JDA
7182002-09-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
719
720 * pa.md (setccfp0, setccfp1): New patterns.
721
14966b94
KG
7222002-09-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
723
724 * frv-protos.h (frv_init_builtins, frv_expand_builtin,
725 frv_select_section, frv_select_rtx_section,
726 frv_encode_section_info, frv_unique_section): Delete.
727 * frv.c: Update for target hooks.
728 * frv.h (STRIP_NAME_ENCODING, SLOW_ZERO_EXTEND, SELECT_SECTION,
729 SELECT_RTX_SECTION, ENCODE_SECTION_INFO, UNIQUE_SECTION,
730 EASY_DIV_EXPR, MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): Delete.
731
c8bf1a1a
KG
7322002-09-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
733
734 * ip2k-protos.h (function_prologue, function_epilogue,
735 encode_section_info): Update to match target hook specification.
736 * ip2k.c: Wrap `MDR' code in IP2K_MD_REORG_PASS.
737 (function_prologue, function_epilogue, encode_section_info):
738 Update to match target hook specification.
739 * ip2k.h (SELECT_SECTION, SELECT_RTX_SECTION, ASM_OPEN_PAREN,
740 ASM_CLOSE_PAREN, EASY_DIV_EXPR): Delete.
741 (NOTICE_UPDATE_CC): Cast to void.
742 * ip2k.md: Add defaults in switch statements.
743
0484cb35
JJ
7442002-09-04 Janis Johnson <janis187@us.ibm.com>
745
746 * doc/trouble.texi (Interoperation): Update information about C++ ABI
747 issues.
748
3e62bd08
JT
7492002-09-04 Jason Thorpe <thorpej@wasabisystems.com>
750
751 * config/sparc/t-netbsd64: Disable multilib for now.
752
275b6d80
DE
7532002-09-04 David Edelsohn <edelsohn@gnu.org>
754
755 * target-def.h (TARGET_HAVE_SRODATA_SECTION): New macro.
756 * target.h (gcc_target): Add have_srodata_section member.
757 * varasm.c (section_category): Add SECCAT_SRODATA.
758 (categorize_decl_for_section): Return SECCAT_SRODATA for sdata if
759 READONLY_SDATA_SECTION defined.
760 (decl_readonly_section_1): True for SECCAT_SRODATA also.
761 (default_elf_select_section_1): Map SECCAT_SRODATA to .sdata2.
762 (default_unique_section_1): Likewise.
763
015b1ad1
JDA
7642002-09-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
765
766 * expr.c (emit_group_load): Revise to allow splitting TCmode source
767 into DImode pieces.
768
769 * pa-64.h (LONG_DOUBLE_TYPE_SIZE): Define to 128.
770 * pa64-regs.h (CLASS_CANNOT_CHANGE_MODE_P): Inhibit changes from SImode
771 for floating-point register class.
772 * pa.c (function_arg): Fix handling of modes wider than one word for
773 TARGET_64BIT.
774
b10f2187
R
775Wed Sep 4 18:48:10 2002 J"orn Rennecke <joern.rennecke@superh.com>
776
777 * combine.c (make_compound_operation): Don't generate zero / sign
778 extensions in floating point modes.
779
478c9e72
JJ
7802002-09-04 Janis Johnson <janis187@us.ibm.com>
781
782 * doc/c-tree.texi: Fix overfull hboxes.
783 * doc/cppopts.texi: Ditto.
784 * doc/extend.texi: Ditto.
785 * doc/gty.texi: Ditto.
786 * doc/invoke.texi: Ditto.
787 * doc/makefile.texi: Ditto.
788 * doc/rtl.texi: Ditto.
789 * doc/standards.texi: Ditto.
790 * doc/tm.texi: Ditto.
791
77e8a0cc
RH
7922002-09-04 Richard Henderson <rth@redhat.com>
793
794 * c-common.c (builtin_define_with_hex_fp_value): New.
795 (builtin_define_float_constants): Use it. Fix H_FLOAT mant_dig.
796
a9c60612
JJ
7972002-09-04 Janis Johnson <janis187@us.ibm.com>
798
799 * doc/invoke.texi (-fshort-wchar): Move to Code Generation Options.
800 (-fpcc-struct-return, -freg-struct-return, -fshort-enums,
801 -fshort-double, -fshort-wchar, -fpack-struct, -fleading-underscore):
802 Warn that these options can break ABI compatibility.
803
4b67a274
RH
8042002-09-04 Richard Henderson <rth@redhat.com>
805
806 * real.c (ereal_to_decimal): Add digits parameter.
807 * real.h (REAL_VALUE_TO_DECIMAL): Remove format; add digits parameter.
808 * c-pretty-print.c (pp_c_real_literal): Update call.
809 * print-rtl.c (print_rtx): Likewise.
810 * print-tree.c (print_node_brief, print_node): Likewise.
811 * sched-vis.c (print_value): Likewise.
812 * config/arc/arc.c (arc_print_operand): Likewise.
813 * config/c4x/c4x.c (c4x_print_operand): Likewise.
814 * config/i370/i370.h (PRINT_OPERAND): Likewise.
815 * config/i386/i386.c (print_operand): Likewise.
816 * config/i960/i960.c (i960_print_operand): Likewise.
817 * config/ip2k/ip2k.c (asm_output_float): Likewise.
818 * config/m32r/m32r.c (m32r_print_operand): Likewise.
819 * config/m68hc11/m68hc11.c (print_operand): Likewise.
820 * config/m68k/hp320.h (PRINT_OPERAND, ASM_OUTPUT_FLOAT_OPERAND,
821 ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
2567406a 822 * config/m68k/m68k.h (ASM_OUTPUT_FLOAT_OPERAND,
4b67a274
RH
823 ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
824 * config/m68k/sun2o4.h (ASM_OUTPUT_FLOAT_OPERAND,
825 ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
826 * config/m68k/sun3.h (ASM_OUTPUT_FLOAT_OPERAND,
827 ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
828 * config/mips/mips.c (print_operand): Likewise.
829 * config/ns32k/ns32k.c (print_operand): Likewise.
830 * config/pdp11/pdp11.h (PRINT_OPERAND): Likewise.
831 * config/vax/vax.h (PRINT_OPERAND): Likewise.
832 * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Update docs.
833
01abf342
BW
8342002-09-04 Bob Wilson <bob.wilson@acm.org>
835
836 * config/xtensa/elf.h (TARGET_SECTION_TYPE_FLAGS): Define to
837 xtensa_multibss_section_type_flags.
838 * config/xtensa/xtensa.c (xtensa_multibss_section_type_flags): Define.
839
cd42d3df
RH
8402002-09-04 Richard Henderson <rth@redhat.com>
841
842 * doc/install-old.texi: Don't mention enquire.
843 * doc/sourcebuild.texi: Update float.h description.
844
502e6d5a
R
845Wed Sep 4 11:22:14 2002 J"orn Rennecke <joern.rennecke@superh.com>
846
847 * sh.md (mperm_w_little, mperm_w_big): Supply mode for zero_extract.
848
2cc9fb4c
DE
8492002-09-03 David Edelsohn <edelsohn@gnu.org>
850
851 * varasm.c (default_section_type_flags): Append _1 to name with
852 shlib parameter. Use original name to call new function with
853 implicit flag_pic.
854 (decl_readonly_section): Likewise.
855 (default_elf_select_section): Likewise.
856 (default_unique_section): Likewise.
857 (default_bind_local_p): Likewise.
858 (categorize_decl_for_section): Add shlib parameter to use in place
859 of implicit flag_pic.
860 * output.h: Declare new functions with _1 and shlib argument.
861
7c19f816
JJ
8622002-09-03 Janis Johnson <janis187@us.ibm.com>
863
8c085f6f
JJ
864 * doc/install.texi: Fix typos, formatting problems, and obvious
865 overfull/underfull boxes.
866
7c19f816
JJ
867 * Makefile.in (TEXI_GCC_FILES): Add compat.texi.
868 * doc/gcc.texi (Top): Add new chapter, Binary Compatibility, and
869 include its file, compat.texi.
870 * doc/compat.texi: New file with new chapter, Binary Compatibility.
871
79ba5e3b
NB
8722002-09-03 Neil Booth <neil@daikokuya.co.uk>
873
874 Debian BTS Bug #157416
875 * cpphash.h (FIRST, LAST, CUR, RLIMIT): Fix definitions.
876 * cpplib.c (destringize_and_run): Kludge around getting
877 tokens from in-progress macros.
878 (_cpp_do__Pragma): Simplify.
879
57016b47
SE
8802002-09-03 Steve Ellcey <sje@cup.hp.com>
881
882 * config/ia64/ia64.h (EXTRA_SPECS): Remove cpp_cpu.
883 (CPP_CPU_SPEC): Remove.
884 (TARGET_CPU_CPP_BUILTINS): New.
885 * config/ia64/hpux.h (CPP_PREDEFINES): Remove.
886 (CPP_SPEC): Remove.
887 (TARGET_OS_CPP_BUILTINS): New.
888 * config/ia64/linux.h (CPP_PREDEFINES): Remove.
889 (TARGET_OS_CPP_BUILTINS): New.
890 * config/ia64/aix.h (CPP_SPEC): Move some stuff to
891 TARGET_OS_CPP_BUILTINS.
892 (CPP_PREDEFINES): Remove.
893 (CPLUSPLUS_CPP_SPEC): Remove.
894 (TARGET_OS_CPP_BUILTINS): New.
895
d57a4b98
RH
8962002-09-03 Richard Henderson <rth@redhat.com>
897
898 * Makefile.in (USER_H): Add ginclude/float.h.
899 (FLOAT_H): Remove.
900 (stmp-int-hdrs, install-mkheaders): Don't handle FLOAT_H.
901 (mostlyclean): Don't remove float.h intermediate files.
902 (distclean): Don't remove float.h.
903 * config.gcc: Remove all float_format references.
904 * configure.in (float_format, float_h_file): Remove.
905
906 * c-common.c: Include tree-inline.h.
907 (builtin_define_with_int_value): New.
908 (builtin_define_type_precision): Use it.
909 (builtin_define_float_constants): New.
910 (cb_register_builtins): Use it. Define __FLT_RADIX__ and
911 __FLT_EVAL_METHOD__.
912 * defaults.h (TARGET_FLT_EVAL_METHOD): New.
913 * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): New.
914 * config/m68k/m68k.h (TARGET_FLT_EVAL_METHOD): New.
915 * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Mention moto 96-bit format.
916 (TARGET_FLT_EVAL_METHOD): New.
917
918 * config/float-c4x.h, config/float-i128.h, config/float-i32.h,
919 config/float-i386.h, config/float-i64.h, config/float-m68k.h,
920 config/float-sh.h, config/float-sparc.h, config/float-vax.h: Remove.
921 * ginclude/float.h: New.
922
527347f0
SS
9232002-09-03 Stan Shebs <shebs@apple.com>
924
925 * config/darwin.h (WARN_FOUR_CHAR_CONSTANTS): Remove, never used.
926 (DWARF2_DEBUGGING_INFO): Remove until assembler accepts Dwarf-2.
927 (PREFERRED_DEBUGGING_TYPE): Ditto.
928 (ASM_OUTPUT_IDENT): Remove empty definition.
929
34c1864f
SE
9302002-09-03 Steve Ellcey <sje@cup.hp.com>
931
932 * config.gcc (ia64*-*-hpux*): Add ia64-c.o to c_target and
933 cxx_target.
934 * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Register pragma
935 handling routine for builtin pragma.
936 * config/ia64/ia64-protos.h (ia64_hpux_handle_builtin_pragma):
937 Registered pragma handling routine.
938 * ia64-c.c (ia64_hpux_handle_builtin_pragma): Ditto.
939 (ia64_hpux_add_pragma_builtin) New subroutine used by above.
940 If builtin pragma seen for math routine and C89 conformance is
941 requested use different math function in order to set errno.
942 * t-ia64 (ia64-c.o): Add new rule for new file.
943
9b7c75b9
UW
9442002-09-03 Ulrich Weigand <uweigand@de.ibm.com>
945
946 * config/s390/s390.md ("movti"): Add Q->Q alternative.
947 ("*movdi_64", "*movdi_31", "*movsi", "movhi", "movqi_64",
948 "movqi", "*movdf_64", "*movdf_31", "*movsf"): Likewise.
2567406a
JH
949
950 ("*movti_ss", "*movdi_ss", "*movsi_ss", "*movdf_ss",
9b7c75b9
UW
951 "*movsf_ss"): Remove.
952
710ba35f
JDA
9532002-09-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
954
955 * pa32-regs.h (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P):
956 Delete macros.
957
ff970081
AD
9582002-09-03 Arati Dikey <aratid@kpit.com>
959
960 * h8300.c (asm_file_start): Corrected optimization comment.
961
b50d021d
SS
9622002-09-03 Stan Shebs <shebs@apple.com>
963
964 * c-lang.c (recognize_objc_keyword): Remove, no longer used.
965 * c-tree.h (recognize_objc_keyword): Remove decl.
966 * c-typeck.c (comp_target_types): Update a comment.
967
b808c04c
UW
9682002-09-03 Ulrich Weigand <uweigand@de.ibm.com>
969
970 * config/s390/s390.c (s390_decompose_address): Remove STRICT parameter
971 and register validity checks.
972 (general_s_operand): Adapt to s390_decompose_address interface change.
973 (q_constraint): Likewise.
974 (s390_expand_plus_operand): Likewise.
975 (legitimiate_address_p): Likewise.
976 (legitimate_la_operand_p): Likewise.
977 (legitimize_la_operand): Likewise.
978 (print_operand_address): Likewise.
979 (print_operand): Likewise.
980
ee453219
NP
981Tue Sep 3 11:32:14 2002 Nicola Pero <n.pero@mi.flashnet.it>
982
983 PR objc/5956:
984 * objc/objc-act.c (build_typed_selector_reference): Fix typo which
2567406a
JH
985 was causing the new selector never to match the existing ones
986 (Patch by Alexander Malmberg <alexander@malmberg.org>).
ee453219 987
d82283d5
GS
9882002-09-03 Graham Stott <graham.stott@btinternet.com>
989
990 * config/i386/i386.md ("femms"): Add "memory" attr "none".
991
9922002-09-03 Graham Stott <graham.stott@btinternet.com>
c7a009a2
GS
993
994 * expr.c (expand_expr): Remove extraneous comment and code.
995
98c0d8d1
RH
9962002-08-31 Richard Henderson <rth@redhat.com>
997
998 * expr.c (block_move_libcall_safe_for_call_parm): Fix thinko.
999
a5f3f0ab
JDA
10002002-08-31 John David Anglin <dave@hiauly1.hia.nrc.ca>
1001
1002 * pa.c (pa_globalize_label): Add ATTRIBUTE_UNUSED to prototype.
1003
38ec83b1
RH
10042002-08-30 Richard Henderson <rth@redhat.com>
1005
c9989d09 1006 PR opt/7515
38ec83b1
RH
1007 * c-objc-common.c: Include target.h.
1008 (c_cannot_inline_tree_fn): Don't auto-inline functions that
1009 don't bind locally. Factor setting DECL_UNINLINABLE.
1010 * Makefile.in (c-objc-common.o): Update.
1011
4c64396e
JJ
10122002-08-30 Janis Johnson <janis187@us.ibm.com>
1013
1014 * doc/install.texi (Configuration, Building): Fix a typo and
1015 some formatting directives.
1016
4226378a
PK
10172002-08-30 Paul Koning <pkoning@equallogic.com>
1018
1019 * doc/c-tree.texi (RDIV_EXPR): Fix typo.
1020 * doc/rtl.texi (post_modify): Remove misplaced text, remove "not
1021 implemented" note.
1022 * doc/md.texi (IP2K): Move machine-specific constraints before MIPS
1023 for alphabetic order.
1024 * doc/tm.texi (TARGET_FLOAT_FORMAT): Update description for
1025 VAX_FLOAT_FORMAT. Remove reference to HOST_FLOAT_FORMAT.
1026 (VAX_HALFWORD_ORDER): Document.
1027 (LARGEST_EXPONENT_IS_NORMAL): Remove note about being only for
1028 IEEE float format.
1029 (TARGET_SCHED_ISSUE_RATE): Reword reference to MAX_DFA_ISSUE_RATE.
1030 (ASM_OUTPUT_LABEL_REF): Fix font.
1031 (CASE_VECTOR_SHORTEN_MODE): Ditto.
1032
b8074dbe
DC
10332002-08-30 Denis Chertykov <denisc@overta.ru>
1034
1035 * config/ip2k/ip2k.c (ip2k_set_compare): Remove all const_double
1036 stuff.
1037 (ip2k_gen_unsigned_comp_branch): Handle CONST_INT and
1038 CONST_DOUBLE constants.
2567406a 1039
55f49e3d
JT
10402002-08-30 Jason Thorpe <thorpej@wasabisystems.com>
1041
1042 * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Move language-
1043 related defines to...
1044 (SUBTARGET_LANGUAGE_CPP_BUILTINS): ...here.
1045 * config/alpha/netbsd.h (SUBTARGET_LANGUAGE_CPP_BUILTINS): Redefine
1046 as a no-op.
1047
e1944073
KW
10482002-08-30 Krister Walfridsson <cato@df.lth.se>
1049
1050 * config/arm/arm.c (arm_asm_output_labelref): New function.
1051 * config/arm/arm.h (ASM_OUTPUT_LABELREF): Call arm_asm_output_labelref.
1052 * config/arm/arm-protos.h: Add prototype for arm_asm_output_labelref.
1053
6e92b3a1
RB
10542002-08-29 Rodney Brown <rbrown64@csc.com.au>
1055
1056 * doc/install.texi (Specific, alpha*-dec-osf*): Add "virtual
1057 memory exhausted" workarounds.
1058
9d533cb5
GDR
10592002-08-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
1060
1061 * diagnostic.c (fancy_abort): Don't repeat "internal error".
1062 * toplev.c (crash_signal): Likewise.
1063
1f676100
NP
1064Fri Aug 30 00:33:37 2002 Nicola Pero <n.pero@mi.flashnet.it>
1065
1066 * doc/cpp.texi (__NEXT_RUNTIME__): Extended documentation.
1067 * doc/invoke.texi (-fnext-runtime, -Wno-protocol, -Wselector):
1068 Extended, updated documentation.
1069 (-Wundeclared-selector): Documented.
1070
23532de9
JT
10712002-08-29 Jason Thorpe <thorpej@wasabisystems.com>
1072
1073 * config/chorus.h: Consistently define *_DEBUGGING_INFO with
1074 the value 1. Do not undef before defining.
1075 * config/darwin.h: Likewise.
1076 * config/dbx.h: Likewise.
1077 * config/dbxcoff.h: Likewise.
1078 * config/dbxelf.h: Likewise.
1079 * config/elfos.h: Likewise.
1080 * config/interix.h: Likewise.
1081 * config/lynx-ng.h: Likewise.
1082 * config/lynx.h: Likewise.
1083 * config/netware.h: Likewise.
1084 * config/psos.h: Likewise.
1085 * config/svr3.h: Likewise.
1086 * config/alpha/alpha.h: Likewise.
1087 * config/alpha/elf.h: Likewise.
1088 * config/alpha/vms.h: Likewise.
1089 * config/arc/arc.h: Likewise.
1090 * config/arm/aout.h: Likewise.
1091 * config/arm/coff.h: Likewise.
1092 * config/c4x/c4x.h: Likewise.
1093 * config/h8300/h8300.h: Likewise.
1094 * config/i386/cygwin.h: Likewise.
1095 * config/i386/djgpp.h: Likewise.
1096 * config/i386/gas.h: Likewise.
1097 * config/i386/gstabs.h: Likewise.
1098 * config/i386/i386-coff.h: Likewise.
1099 * config/i386/i386-interix.h: Likewise.
1100 * config/i386/sco5.h: Likewise.
1101 * config/i386/svr3dbx.h: Likewise.
1102 * config/i386/sysv3.h: Likewise.
1103 * config/i386/win32.h: Likewise.
1104 * config/i386/x86-64.h: Likewise.
1105 * config/i960/i960.h: Likewise.
1106 * config/ia64/ia64.h: Likewise.
1107 * config/ip2k/ip2k.h: Likewise.
1108 * config/m32r/m32r.h: Likewise.
1109 * config/m68k/3b1.h: Likewise.
1110 * config/m68k/3b1g.h: Likewise.
1111 * config/m68k/ccur-GAS.h: Likewise.
1112 * config/m68k/coff.h: Likewise.
1113 * config/m68k/hp2bsd.h: Likewise.
1114 * config/m68k/hp310g.h: Likewise.
1115 * config/m68k/hp320g.h: Likewise.
1116 * config/m68k/hp3bsd.h: Likewise.
1117 * config/m68k/hp3bsd44.h: Likewise.
1118 * config/m68k/linux-aout.h: Likewise.
1119 * config/m68k/m68k-aout.h: Likewise.
1120 * config/m68k/mot3300.h: Likewise.
1121 * config/m68k/netbsd.h: Likewise.
1122 * config/m68k/openbsd.h: Likewise.
1123 * config/m68k/pbb.h: Likewise.
1124 * config/m68k/plexus.h: Likewise.
1125 * config/m68k/sun2.h: Likewise.
1126 * config/m68k/sun3.h: Likewise.
1127 * config/m68k/tower-as.h: Likewise.
1128 * config/m68k/vxm68k.h: Likewise.
1129 * config/m88k/aout-dbx.h: Likewise.
1130 * config/m88k/m88k-aout.h: Likewise.
1131 * config/mcore/mcore-elf.h: Likewise.
1132 * config/mcore/mcore-pe.h: Likewise.
1133 * config/mips/elf.h: Likewise.
1134 * config/mips/elf64.h: Likewise.
1135 * config/mips/iris5gas.h: Likewise.
1136 * config/mips/iris6.h: Likewise.
1137 * config/mips/mips.h: Likewise.
1138 * config/mips/sni-gas.h: Likewise.
1139 * config/mmix/mmix.h: Likewise.
1140 * config/ns32k/netbsd.h: Likewise.
1141 * config/pa/pa64-hpux.h: Likewise.
1142 * config/romp/romp.h: Likewise.
1143 * config/rs6000/sysv4.h: Likewise.
1144 * config/rs6000/xcoff.h: Likewise.
1145 * config/sh/coff.h: Likewise.
1146 * config/sh/elf.h: Likewise.
1147 * config/sparc/linux64.h: Likewise.
1148 * config/sparc/liteelf.h: Likewise.
1149 * config/sparc/netbsd.h: Likewise.
1150 * config/sparc/openbsd.h: Likewise.
1151 * config/sparc/pbd.h: Likewise.
1152 * config/sparc/sp64-elf.h: Likewise.
1153 * config/sparc/sp86x-elf.h: Likewise.
1154 * config/sparc/sparc.h: Likewise.
1155 * config/vax/vax.h: Likewise.
1156 * config/vax/vaxv.h: Likewise.
1157
5e98fba2
DD
11582002-08-29 "Dhananjay R. Deshpande" <dhananjayd@kpit.com>
1159
1160 * h8300.c (shift_alg_hi): Various tweaks to improve performance
1161 of HImode shifts.
1162 (get_shift_alg): Corresponding changes.
1163
43852342
JDA
11642002-08-29 John David Anglin <dave@hiauly1.hia.nrc.ca>
1165
1166 * som.h (ALWAYS_STRIP_DOTDOT): Define to 1.
1167
44bb111a
RH
11682002-08-29 Richard Henderson <rth@redhat.com>
1169
1170 * expr.h (enum block_op_methods): New.
1171 (emit_block_move): Update prototype.
1172 * expr.c (block_move_libcall_safe_for_call_parm): New.
1173 (emit_block_move_via_loop): New.
1174 (emit_block_move): Use them. New argument METHOD.
1175 (emit_push_insn): Always respect the given alignment.
1176 (expand_assignment): Update call to emit_block_move.
1177 (store_expr, store_field, expand_expr): Likewise.
1178 * builtins.c (expand_builtin_apply): Likewise.
1179 (expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
1180 * function.c (expand_function_end): Likewise.
1181 * config/sh/sh.c (sh_initialize_trampoline): Likewise.
1182 * config/sparc/sparc.c (sparc_va_arg): Likewise.
1183 * calls.c (expand_call, emit_library_call_value_1): Likewise.
1184 (save_fixed_argument_area): Use emit_block_move with
1185 BLOCK_OP_CALL_PARM instead of move_by_pieces.
1186 (restore_fixed_argument_area): Likewise.
1187 (store_one_arg): Fix alignment parameter to emit_push_insn.
1188
08b3d104
JDA
11892002-08-29 John David Anglin <dave@hiauly1.hia.nrc.ca>
1190
1191 * install.texi (hppa64-hp-hpux11*): Document installation procedure.
1192
ce4e9970 11932002-08-29 Catherine Moore <clm@redhat.com>
8376061d
CM
1194
1195 * config/v850/v850.h (MULDI3_LIBCALL, UCMPDI2_LIBCALL, CMPDI2_LIBCALL,
1196 NEGDI2_LIBCALL, INIT_TARGET_OPTABS, MASK_STRICT_ALIGN): Define.
1197 (PREDICATE_CODES): Include new predicates.
1198 (RTX_COSTS): Handle UMOD and UDIV. Tune MULT for v850e.
1199 (TARGET_SWITCHES): Add strict-align.
1200 (TARGET_STRICT_ALIGN): New.
2567406a 1201 (MASK_DEFAULT, STRICT_ALIGNMENT): Redefine.
8376061d
CM
1202 * config/v850/t-v850 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
1203 Define.
1204 (LIB1ASMFUNCS): Add v850_negdi2, v850_cmpdi2, v850_ucmpdi2,
1205 v850_muldi3.
1206 * config/v850/lib1funcs.asm (L_callt_save_r2_r29, L_return_r2_r29,
1207 L_callt_save_r2_r31, L_return_r2_r31,
1208 L_save_all_interrupt): Change addi to add.
1209 (L_save_interrupt, L_return_interrupt): Rework.
1210 (__return_r31): Correct .size directive.
1211 (mulsi3, divsi3, udivsi3, umodsi3, modsi3): Tune for v850e.
1212 (v850_negdi2, v850_cmpdi2, v850_ucmpdi2, v850_muldi3):
1213 New routines.
1214 * config/v850/v850.c (expand_prologue): Call
1215 gen_callt_save_interrupt, gen_callt_restore_all_interrupt,
1216 gen_callt_return_interrupt and gen_callt_save_all_interrupt.
1217 (reg_or_int9_operand): New predicate.
1218 (reg_or_const_operand): New routine.
1219 * config/v850/v850.md (return_interrupt): Changed from
1220 restore_interrupt.
1221 (callt_save_all_interrupt): Changed from save_all_interrupt_v850e.
1222 (callt_save_interrupt): Change save sequence.
1223 (callt_return_interrupt): New.
1224 (save_interrupt): Don't use runtime function for LONG_CALLS
1225 and TARGET_PROLOG_FUNCTION.
1226 (save_all_interrupt): Likewise.
1227 (mulsi3): Use new predicate.
1228 (moviscc): Disallow some combination of constants.
1229 Fix define_split for sasf insns, so that it will not generate bad
1230 code if operand0 and operand5 are the same.
1231 * config/v850/v850-protos.h: Prototype new predicates.
1232
585e661a
GDR
12332002-08-28 Gabriel Dos Reis <gdr@integrable-solutions.net>
1234
1235 * c-common.c (builtin_define_type_precision): New function.
1236 (cb_register_builtins): Use it. Define __WCHAR_UNSIGNED__ is
1237 wchar_t is unsigned in C++.
1238 * doc/cpp.texi (Common Predefined Macros): Document
1239 __WCHAR_UNSIGNED__, __CHAR_BIT__, __WCHAR_BIT__, __SHRT_BIT__,
1240 __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
1241 __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
1242
bd8f9aec
SP
12432002-08-28 Sylvain Pion <pion@cs.nyu.edu>
1244
1245 * doc/invoke.texi (-Wreorder): Remove remaining pieces from the generic
1246 section. Mention that it is enabled by -Wall.
1247 (-Wall): Mention that there can be language-specific warnings as well.
1248 (-Wctor-dtor-privacy): Mention that it is enabled by default.
1249 (-Wnon-virtual-dtor): Mention that it is enabled by -Wall.
1250
58ab7171
R
1251Wed Aug 28 15:35:17 2002 J"orn Rennecke <joern.rennecke@superh.com>
1252
1253 * sh.c (calc_live_regs): Save FPSCR_REG in an interrupt handler
1254 if it is ever live.
1255
1256 * sh.c (sh_handle_interrupt_handler_attribute): Reject interrupt_handler
1257 attribute for SHCOMPACT.
1258
1259 * sh.h (OVERRIDE_OPTIONS): If align_function isn't set, set it
1260 appropriately.
1261 (FUNCTION_BOUNDARY): Specify only the minimum alignment required
1262 by the ABI.
1263
1264 * sh.h (SH5_WOULD_BE_PARTIAL_NREGS): Also handle TImode case.
1265
27f4b67e
JT
12662002-08-28 Jason Thorpe <thorpej@wasabisystems.com>
1267
1268 * config.gcc (mips*-*-netbsd*): Set target_cpu_default to
1269 "MASK_GAS|MASK_ABICALLS".
1270 * config/mips/netbsd.h (TARGET_ENDIAN_DEFAULT)
1271 (TARGET_DEFAULT): Remove.
1272 (MACHINE_TYPE): Undefine before defining.
1273 (DBX_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE): Remove.
1274
eca7f13c
MM
12752002-08-27 Mark Mitchell <mark@codesourcery.com>
1276
1277 * c-common.c (warn_abi): New variable.
1278 * c-common.h (warn_abi): Likewise.
1279 * c-opts.c (COMMAND_LINE_OPTIONS): Add -Wabi.
1280 (c_common_decode_option): Handle it.
7ee425e4 1281 * doc/invoke.texi: Document -Wabi.
2567406a 1282
ece4ce85
NP
1283Tue Aug 27 23:03:52 2002 Nicola Pero <n.pero@mi.flashnet.it>
1284
1285 * c-common.c (warn_undeclared_selector): New variable.
1286 * c-common.h (warn_undeclared_selector): Idem.
1287 * c-opts.c (c_common_decode_option): Set warn_undeclared_selector
1288 to on when -Wundeclared-selector is found.
1289 (COMMAND_LINE_OPTIONS): Added -Wundeclared-selector.
1290 * objc/objc-act.c (build_selector_expr): If
1291 warn_undeclared_selector is set, check that the selector has
1292 already been defined, and emit a warning if not.
1293
b4378319 12942002-08-27 Nick Clifton <nickc@redhat.com>
54c93c30
AE
1295 Catherine Moore <clm@redhat.com>
1296 Jim Wilson <wilson@cygnus.com>
1297
1298 * config.gcc: Add v850e-*-* target.
1299 Add --with-cpu= support for v850.
1300 * config/v850/lib1funcs.asm: Add v850e callt functions.
1301 * config/v850/v850.h: Add support for v850e target.
1302 * config/v850/v850.c: Add functions to support v850e target.
1303 * config/v850/v850-protos.h: Add prototypes for new functions in v850.c.
1304 * config/v850/v850.md: Add patterns for v850e instructions.
1305 * doc/invoke.texi: Document new v850e command line switches.
b4378319 1306
ef261fee
R
1307Tue Aug 27 18:30:47 2002 J"orn Rennecke <joern.rennecke@superh.com>
1308 Aldy Hernandez <aldyh at redhat dot com>
1309
1310 * doc/tm.texi: Applied numerous fixes to the automaton based
1311 scheduler descrition.
1312
c60ee6f5
JH
1313Tue Aug 27 19:51:05 CEST 2002 Jan Hubicka <jh@suse.cz>
1314
1315 * i386.c (classify_argument): Handle variable sized objects.
1316
1985ef90
JH
1317Tue Aug 27 19:18:16 CEST 2002 Jan Hubicka <jh@suse.cz>
1318
1319 * i386.c (ix86_expand_int_movcc): Fix RTL sharing problem
1320
7acc97e0
JH
1321Tue Aug 27 18:01:45 CEST 2002 Jan Hubicka <jh@suse.cz>
1322
1323 * libgcc2.c (__bb_exit_func): Properly write the summarized statistics.
1324
23327dae
JH
1325Tue Aug 27 18:00:11 CEST 2002 Jan Hubicka <jh@suse.cz>
1326
1327 * i386.c (classify_argument): Properly compute word size of the analyzed object.
1328
c49439f1
R
1329Tue Aug 27 14:39:09 2002 J"orn Rennecke <joern.rennecke@superh.com>
1330
1331 * sh.md (attribute type): Add types mt_group, fload, pcfload, fpul_gp,
1332 mac_gp ftrc_s and cwb. Add / Adjust definitions in individual insn
1333 accordingly.
1334 (attribute insn_class): Provide default definitions based on type.
1335 Remove all insn-specific settings.
1336 (various function units): Remove old SH4 scheduling.
1337 (branch_zero, dfp_comp, late_fp_use, any_fp_comp, any_int_load):
1338 New attributes. Set them where appropriate.
1339 (cpu unit FS): Don't define / use.
1340 (F3, load_store): New cpu units.
1341 (F01): New reservation.
1342 (all insn_reservations): Make dependent on sh4 pipeline model.
1343 Fix latencies.
1344 (nil, reg_mov, freg_mov, sh4_fpul_gp, sh4_call): New insn_reservations.
1345 (sh4_mac_gp, fp_arith_ftrc, arith3, arith3b): Likewise.
1346 (mt insn_reservation): Use type mt_group.
1347 (insn_reservation load_store): Split into sh4_load, sh4_load_si,
1348 sh4_fload and sh4_store.
1349 (insn_reservation branch_zero and branch): Replace with sh4_branch.
1350 (insn_reservation branch_far): Replace with sh4_return.
1351 (insn_reservation return_from_exp): Rename to:
1352 (sh4_return_from_exp). Change to be just d_lock*5.
1353 (insn_reservation lds_to_pr): Rename to:
1354 (sh4_lds_to_pr). Change to be just d_lock*2.
1355 (insn_reservation ldsmem_to_pr, sts_from_pr): Change to be just
1356 d_lock*2.
1357 (insn_reservation prload_mem): Rename to:
1358 (sh4_prstore_mem). Change to d_lock*2,nothing,memory.
1359 (insn_reservation fpscr_store): Rename to:
1360 (fpscr_load). Change to d_lock,nothing,F1*3.
1361 (insn_reservation fpscr_store_mem): Rename to:
1362 (fpscr_load_mem). Change to d_lock,nothing,(F1+memory),F1*2.
1363 (insn_reservation multi): Change to
1364 d_lock,(d_lock+f1_1),(f1_1|f1_2)*3,F2.
1365 (insn_reservation fp_arith): Change to issue,F01,F2.
1366 (insn_reservation fp_div: Change to issue,F01+F3,F2+F3,F3*7,F1+F3,F2.
1367 (insn_reservation dp_float): Change to issue,F01,F1+F2,F2.
1368 (insn_reservation fp_double_arith): Change to issue,F01,F1+F2,fpu*4,F2.
1369 (insn_reservation fp_double_cmp): Change to
1370 d_lock,(d_lock+F01),F1+F2,F2.
1371 (insn_reservation dp_div): Change to
1372 issue,F01+F3,F1+F2+F3,F2+F3,F3*16,F1+F3,(fpu+F3)*2,F2.
1373 * sh.c (flow_dependent_p, flow_dependent_p_1): New functions.
1374 (sh_adjust_cost, SHcompact): Differentiate between different
1375 kinds of dependencies. Drop factor of ten for superscalar.
1376 Use new instruction types. Add new exception rules.
1377
1378 * sh.md (mulhisi3, umulhisi3: Add a REG_EQUAL note.
1379
1380 * sh.md (mperm_w): Add DONE.
1381
f34fc46e
DE
13822002-08-27 David Edelsohn <edelsohn@gnu.org>
1383
1384 * longlong.h: Import current PowerPC defintion from GMP-4.1.
1385
1386 * config/rs6000/rs6000.h (MIN_UNITS_PER_WORD): Add IN_LIBGCC2 case.
1387
1388 * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Undef before define.
1389
dcb44500
R
1390Tue Aug 27 13:53:57 2002 J"orn Rennecke <joern.rennecke@superh.com>
1391
1392 * sh.h (MAX_FIXED_MODE_SIZE): Define.
1393
3ec07554
GDR
13942002-08-27 Gabriel Dos Reis <gdr@soliton.integrable-solutions.net>
1395
1396 * doc/cpp.texi (Common Predefined Macros): Don't mess with table
2567406a 1397 delimiter.
3ec07554 1398
35885eab
GDR
13992002-08-27 Gabriel Dos Reis <gdr@integrable-solutions.net>
1400
1401 * c-common.c (cpp_define_data_format): New function.
1402 (cb_register_builtins): Call it.
1403
1404 * doc/cpp.texi (Common Predefined Macros): Document
1405 __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
1406 __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
1407 __TARGET_FLOAT_FORMAT__, __TARGET_USES_VAX_F_FLOAT__,
1408 __TARGET_USES_VAX_D_FLOAT__, __TARGET_USES_VAX_G_FLOAT__,
1409 __TARGET_USES_VAX_H_FLOAT__.
1410
d632dee9
ZL
14112002-08-26 Ziemowit Laski <zlaski@apple.com>
1412
1413 * objc/objc-act.c (get_super_receiver): If inside a class method
1414 of a category, cast the receiver to 'id' before accessing the 'isa'
1415 field so that <objc/objc-class.h> is not needed. For NeXT runtime.
1416
c3cc6b78
UW
14172002-08-26 Ulrich Weigand <uweigand@de.ibm.com>
1418
2567406a 1419 * config/s390/s390-protos.h (s390_function_prologue,
c3cc6b78
UW
1420 s390_function_epilogue): Remove.
1421 config/s390/s390.c (s390_function_prologue, s390_function_epilogue,
1422 TARGET_ASM_FUNCTION_PROLOGUE, TARGET_ASM_FUNCTION_EPILOGUE): Remove.
1423
1424 config/s390/s390.c (s390_machine_dependent_recorg): New function.
1425 config/s390/s390-protos.h (s390_machine_dependent_reorg): Declare it.
1426 config/s390/s390.h (MACHINE_DEPENDENT_REORG): Call it.
1427 config/s390/s390.c (s390_split_branches, s390_chunkify_pool): Adapt
1428 to being called from MACHINE_DEPENDENT_REORG. Update regs_ever_live.
1429
2567406a 1430 config/s390/s390.c (s390_frame_info): Inline save_fprs_p. Always
c3cc6b78
UW
1431 assume BASE_REGISTER and RETURN_REGNUM need to be saved.
1432 (s390_emit_prologue): Assume RETURN_REGNUM to be saved iff
1433 function is not a leaf function. Use save_gprs and restore_gprs.
1434 (s390_emit_epilogue): Likewise.
1435 (save_gprs, restore_gprs): New functions.
1436 (struct s390_frame): Remove return_reg_saved_p member.
1437 (save_fprs_p): Remove.
1438 (s390_optimize_prolog): New function.
1439 (s390_legitimate_reload_constant): Remove now unnecessary check.
1440
1441 (s390_function_count): Remove.
1442 (s390_output_symbolic_const): Replace s390_function_count by
1443 current_function_funcdef_no.
1444 (s390_output_constant_pool): Likewise.
1445
1446 (legitimize_pic_address): Use regs_ever_live to track PIC register
1447 instead of current_function_uses_pic_offset_table.
1448 (s390_emit_prologue): Likewise.
1449 config/s390/s390.md ("call", "call_value"): Likewise.
1450
3f662186
NB
14512002-08-26 Neil Booth <neil@daikokuya.co.uk>
1452
1453 * c-opts.c (find_opt): Don't complain about wrong languages
1454 here. Return exact matches even for wrong language.
1455 (c_common_decode_option): Complain about wrong languages
1456 here.
1457
b6128b8c
SH
14582002-08-24 Stuart Hastings <stuart@apple.com>
1459
1460 * function.h (struct function): Add flag
1461 all_throwers_are_sibcalls.
1462 * except.c (set_nothrow_function_flags): Replaces
1463 nothrow_function_p. Set new flag.
1464 * except.h (set_nothrow_function_flags): Replaces
1465 nothrow_function_p.
1466 * dwarf2out.c (struct dw_fde_struct): Add flag
1467 all_throwers_are_sibcalls.
1468 (output_call_frame_info): Test it.
1469 (dwarf2out_begin_prologue) Propagate it from cfun to
1470 dw_fde_struct.
1471 * toplev.c (rest_of_compilation): Update calls to
1472 nothrow_function_p.
1473
280cf02a
ZW
14742002-08-23 Zack Weinberg <zack@codesourcery.com>
1475
1476 * ggc-page.c (compute_inverse): Short circuit calculation for
1477 object sizes larger than half a page.
1478
c6664446
DE
14792002-08-23 David Edelsohn <edelsohn@gnu.org>
1480
1481 * config/rs6000/rs6000.c (rs6000_elf_select_section): Treat
1482 DEFAULT_ABI == ABI_AIX like PIC. Test PIC & reloc for readonly
1483 default.
1484 (rs6000_elf_unique_section): Likewise.
1485
da57d233
KG
14862002-08-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1487
1488 * ns32k.c (ns32k_globalize_label): Delete.
1489 * ns32k.h (ASM_OUTPUT_LABEL, TARGET_ASM_GLOBALIZE_LABEL): Delete.
1490
56a7189a
AM
14912002-08-23 Alan Modra <amodra@bigpond.net.au>
1492
1493 * config/rs6000/rs6000.c (output_mi_thunk): Don't determine insns
1494 for loading delta with num_insns_constant_wide. Calculate
1495 delta_low, delta_high without using a conditional.
1496
d65b1d77
JM
14972002-08-22 Jason Merrill <jason@redhat.com>
1498
1499 * c-common.h (RETURN_STMT_EXPR): Rename from RETURN_EXPR.
1500 * c-common.def: Adjust.
1501 * c-dump.c (c_dump_tree): Adjust.
1502 * c-semantics.c (genrtl_return_stmt): Adjust.
1503 * c-pretty-print.c (pp_c_statement): Adjust.
1504 * tree-inline.c (copy_body_r): Adjust.
1505
8537ed68
ZW
15062002-08-22 Zack Weinberg <zack@codesourcery.com>
1507
1508 * ggc-page.c: Avoid division in ggc_set_mark.
1509 (DIV_MULT, DIV_SHIFT, OFFSET_TO_BIT, inverse_table,
1510 compute_inverse): New.
1511 (ggc_set_mark, ggc_marked_p): Use OFFSET_TO_BIT.
1512 (init_ggc): Initialize inverse_table.
1513
8567c70f
TT
15142002-08-22 Tom Tromey <tromey@redhat.com>
1515
1516 * doc/install.texi (Configuration): Document --datadir.
1517
fde59d4b
AO
15182002-08-22 Alexandre Oliva <aoliva@redhat.com>
1519
1520 * Makefile.in ($(BUILD_PREFIX_1)varray.o): Depend on $(GGC_H).
1521
44ddc79a
HPN
15222002-08-22 Hans-Peter Nilsson <hp@bitrange.com>
1523
1524 * gengtype-lex.l (ID): Allow underscore as first character.
1525
b275d088
DE
15262002-08-21 David Edelsohn <edelsohn@gnu.org>
1527
1528 * config/rs6000/rs6000.c (rs6000_xcoff_asm_globalize_label): New
1529 function.
1530 (rs6000_xcoff_asm_named_section): Rename.
1531 * config/rs6000/xcoff.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
1532
57ce46bb
TT
15332002-08-21 Tom Tromey <tromey@redhat.com>
1534
1535 For PR java/6005 and PR java/7611:
1536 * fold-const.c (fold_truthop): Use can_use_bit_fields_p.
1537 (fold): Likewise.
1538 * langhooks.c (lhd_can_use_bit_fields_p): New function.
1539 * langhooks-def.h (lhd_can_use_bit_fields_p): Declare.
1540 (LANG_HOOKS_CAN_USE_BIT_FIELDS_P): New define.
1541 (LANG_HOOKS_INITIALIZER): Use it.
1542 * langhooks.h (struct lang_hooks) [can_use_bit_fields_p]: New
1543 field.
1544
27d30956
SS
15452002-08-21 Stan Shebs <shebs@apple.com>
1546
1547 * tree.c (finish_vector_type): Fix a typo in a comment.
1548 * Makefile.in: Fix "the the" stutters in comments.
1549 * genautomata.c: Ditto.
1550 * ifcvt.c: Ditto.
1551 * regrename.c: Ditto.
1552 * config/alpha/alpha.c: Ditto.
1553 * config/alpha/vms-crt0-64.c: Ditto.
1554 * config/alpha/vms-crt0.c: Ditto.
1555 * config/alpha/vms-psxcrt0-64.c: Ditto.
1556 * config/alpha/vms-psxcrt0.c: Ditto.
1557 * config/d30v/d30v.h: Ditto.
1558 * config/fr30/fr30.h: Ditto.
1559 * config/rs6000/rs6000.c: Ditto.
1560 * config/stormy16/stormy16.h: Ditto.
1561 * doc/md.texi: Ditto.
8537ed68 1562
d873d827
JDA
15632002-08-21 John David Anglin <dave@hiauly1.hia.nrc.ca>
1564
1565 * cppinit.c (remove_dup_nonsys_dirs): Fix warning and return value.
1566
b462d4ab
JM
15672002-08-21 Joseph S. Myers <jsm@polyomino.org.uk>
1568
1569 * c-decl.c (grokdeclarator): Make invalid combinations with long,
1570 short, signed or unsigned into hard errors. Fixes PR c/4319.
1571 Also make duplicate modifiers such as "short short" into hard
1572 errors.
1573
b65d23aa 15742002-08-21 Andrew Pinski <pinskia@physics.uc.edu>
8537ed68 1575 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
b65d23aa
AP
1576
1577 * doc/tm.texi (TARGET_ASM_GLOBALIZE_LABEL): Move '@end deftypefn'
1578 to the actual end. Add '@end table' and '@table @code'.
8537ed68 1579
3823f0b2
GK
15802002-08-20 Geoffrey Keating <geoffk@redhat.com>
1581
8d25d915
GK
1582 * doc/tm.texi (Label Output): Add missing '@end deftypefn'.
1583
3823f0b2
GK
1584 * unroll.c (biv_total_increment): Don't try to compute the total
1585 increment for FP BIVs.
1586
5eb99654
KG
15872002-08-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1588
1589 * alpha.c (TARGET_ASM_GLOBALIZE_LABEL): Define for unicosmk.
1590 * alpha/elf.h (ASM_OUTPUT_EXTERNAL_LIBCALL,
1591 ASM_OUTPUT_ALIGNED_BSS): Use target hook.
1592 * alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS): Likewise.
1593 * alpha/unicosmk.h (ASM_GLOBALIZE_LABEL): Delete.
1594 * arm/aof.h (ASM_GLOBALIZE_LABEL): Likewise.
1595 (GLOBAL_ASM_OP): Define.
1596 * arm.c (aof_globalize_label): New function.
1597 (TARGET_ASM_GLOBALIZE_LABEL): Define for AOF.
1598 * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
1599 * c4x.c (c4x_globalize_label): New function.
1600 (TARGET_ASM_GLOBALIZE_LABEL): Define for c4x.
1601 * c4x.h (ASM_GLOBALIZE_LABEL): Delete.
1602 (GLOBAL_ASM_OP): Define.
1603 * cris/aout.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
1604 * darwin-protos.h (darwin_globalize_label): Declare.
1605 * darwin.c (darwin_globalize_label): New function.
1606 * darwin.h (ASM_DECLARE_CLASS_REFERENCE): Use target hook.
1607 (ASM_GLOBALIZE_LABEL): Delete.
1608 (GLOBAL_ASM_OP, TARGET_ASM_GLOBALIZE_LABEL): Define.
1609 * dsp16xx.c (asm_output_common): Use target hook.
1610 * elfos.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise.
1611 * frv.h (ASM_GLOBALIZE_LABEL): Delete.
1612 (GLOBAL_ASM_OP): Define.
1613 * i370.c (i370_globalize_label): New function.
1614 (TARGET_ASM_GLOBALIZE_LABEL): Define for i370.
1615 * i370.h (ASM_GLOBALIZE_LABEL): Delete.
1616 * i386.c (ix86_asm_file_end): Use target hook.
1617 * i386/sco5.h (ASM_GLOBALIZE_LABEL): Don't undef.
1618 (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
1619 * ia64.c (ia64_asm_output_external): Likewise.
1620 * ia64/sysv4.h: Update comment.
1621 * m32r.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
1622 * mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
1623 * mips/iris5.h (ASM_OUTPUT_WEAK_ALIAS): Use target hook.
1624 * mips/linux.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
1625 * mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Use target hook.
1626 * mmix-protos.h (mmix_asm_globalize_label): Delete.
1627 * mmix.c (mmix_asm_globalize_label): Likewise.
1628 * mmix.h (ASM_GLOBALIZE_LABEL): Likewise.
1629 (GLOBAL_ASM_OP): Define.
1630 * ns32k.c (ns32k_globalize_label): New function.
1631 * ns32k.h (TARGET_ASM_GLOBALIZE_LABEL): Define for ns32k.
1632 (ASM_GLOBALIZE_LABEL): Delete.
1633 * pa/pa-linux.h (ASM_GLOBALIZE_LABEL): Don't undef.
1634 (TARGET_ASM_GLOBALIZE_LABEL): Undefine.
1635 * pa.c (pa_globalize_label): New function.
1636 * pa.h (ASM_GLOBALIZE_LABEL): Delete.
1637 (TARGET_ASM_GLOBALIZE_LABEL): Define for pa.
1638 * rs6000/darwin.h (ASM_GLOBALIZE_LABEL): Delete.
1639 (GLOBAL_ASM_OP): Define.
1640 (TARGET_ASM_GLOBALIZE_LABEL): Undef.
1641 * rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
1642 * rs6000/xcoff.h (ASM_GLOBALIZE_LABEL): Delete.
1643 (GLOBAL_ASM_OP): Define.
1644 * v850.c (v850_output_aligned_bss): Use target hook.
1645 * vax.c (vms_globalize_label): New function.
1646 (TARGET_ASM_GLOBALIZE_LABEL): Define for vms.
1647 * vax/vms.h (ASM_GLOBALIZE_LABEL): Delete.
1648 (GLOBAL_ASM_OP): Define.
1649 * defaults.h (ASM_GLOBALIZE_LABEL): Delete.
1650 * doc/tm.texi: Update docs.
1651 * dwarf2out.c (default_eh_frame_section, output_die_symbol): Use
1652 target hook.
1653 * final.c (output_alternate_entry_point): Likewise.
1654 * hooks.c (hook_FILEptr_constcharptr_void): New function.
1655 * hooks.h (hook_FILEptr_constcharptr_void): Declare.
1656 * output.h (assemble_global): Delete.
1657 (default_globalize_label): Declare.
1658 * system.h (ASM_GLOBALIZE_LABEL): Poison.
1659 * target-def.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
1660 (TARGET_ASM_OUT): Add TARGET_ASM_GLOBALIZE_LABEL.
1661 * target.h (gcc_target): Add globalize_label member.
1662 * varasm.c (asm_output_bss, asm_output_aligned_bss,
1663 globalize_decl): Use target hook.
1664 (assemble_global): Delete.
1665 (default_globalize_label): New function.
1666
f8f28a75
KG
16672002-08-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1668
1669 * dsp16xx.h (dsp16xx_umulhi3_libcall): Delete.
1670
92b5aacd
DP
16712002-08-20 Devang Patel <dpatel@apple.com>
1672 * tree.c (get_qualified_type): Add TYPE_CONTEXT check.
8537ed68 1673
761c70aa
KG
16742002-08-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1675
1676 * arc.c (output_shift): Use stdio instead of asm_fprintf.
1677 * arm.c (thumb_output_function_prologue): Likewise.
1678 * avr.c (print_operand): Likewise.
1679 * c4x.c (c4x_print_operand): Likewise.
1680 * c4x.h (ASM_OUTPUT_INTERNAL_LABEL, TRAMPOLINE_TEMPLATE,
1681 ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Likewise.
1682 * cris.c (cris_target_asm_function_prologue,
1683 cris_asm_output_mi_thunk): Likewise.
1684 * h8300.c (print_operand): Likewise.
1685 * h8300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
1686 * ip2k.c (print_operand): Likewise. Fix format specifier.
1687 * m68hc11.c (asm_print_register, print_operand,
1688 print_operand_address): Use stdio instead of asm_fprintf.
1689 (print_operand_address): Fix format specifier.
1690 * m68hc11.h (FUNCTION_PROFILER, ASM_OUTPUT_ADDR_DIFF_ELT,
1691 ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ALIGN): Use stdio instead of
1692 asm_fprintf.
1693 * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
1694 * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
1695 * m68k.c (m68k_output_function_prologue,
1696 m68k_output_function_epilogue, print_operand): Likewise.
1697 * mmix.c (mmix_asm_output_mi_thunk, mmix_asm_weaken_label):
1698 Likewise. Fix format specifier.
1699 * mn10200.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
1700 * mn10300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
1701 * v850.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
1702
5ce6f47b
EC
17032002-08-15 Eric Christopher <echristo@redhat.com>
1704 Jeff Knaggs <jknaggs@redhat.com>
1705
1706 * config.gcc (mipsisa64sr71k-elf): New target.
1707 * config/mips/sr71k.md: New file.
1708 * config/mips/mips.md: Use it.
1709 (rot*): Add sr71k specifics.
1710 * config/mips/t-sr71k: New file.
1711 * config/mips/mips.h (sr71k): New cpu.
1712 (TARGET_SR71K): Use it.
1713 (TUNE_SR71K): Ditto.
1714 (GENERATE_BRANCHLIKELY): Ditto.
1715 (ISA_HAS_MULHI, ISA_HAS_MULS, ISA_HAS_MSAC, ISA_HAS_MACC,
1716 ISA_HAS_ROTR_SIISA_HAS_ROTR_DI): Ditto.
1717 * config/mips/mips.c (sr71k): New cpu.
1718 (mips_use_dfa_pipeline_interface): Use.
1719
17202002-08-15 Eric Christopher <echristo@redhat.com>
8537ed68 1721 Richard Sandiford <rsandifo@redhat.com>
5ce6f47b
EC
1722 Aldy Hernandez <aldyh@redhat.com>
1723 Graham Stott <grahams@redhat.com>
1724 Michael Meissner <meissner@redhat.com>
1725 Gavin Romig-Koch <gavin@redhat.com>
1726 Ken Raeburn <raeburn@cygnus.com>
1727 Alexandre Oliva <aoliva@redhat.com>
1728
1729 * config.gcc (mips64vr-elf): New target.
1730 * config/mips/5400.md: New file.
1731 * config/mips/5500.md: Ditto.
1732 * config/mips/mips.md: Use them.
1733 (frsqrt): New.
1734 * config/mips/mips.c (vr4111, vr4121, vr4320, vr5400, vr5500): New
1735 cpus.
1736 (mips_issue_rate): Use them.
1737 (mips_use_dfa_pipeline_interface): New function. Use for 5400 and 5500.
1738 (TARGET_SCHEDUSE_DFA_PIPELINE_INTERFACE): Define. Use above.
1739 * config/mips/mips.h (vr4111, vr4121, vr4320, vr5400, vr5500): New
1740 cpus.
1741 (TARGET_MIPSx): Use them.
1742 (TUNE_MIPSx): Ditto.
1743 (GETNATE_MULT3_SI): Ditto.
1744 (ISA_HAS_BRANCHLIKELY): Ditto.
1745 (ISA_HAS_CONDMOVE): Ditto.
1746 (ISA_HAS_NMADD_NMSUB): Ditto.
1747 (ISA_HAS_MULHI): New. Ditto.
1748 (ISA_HAS_MULS): Ditto.
1749 (ISA_HAS_MSAC): Ditto.
1750 (ISA_HAS_MACC): Ditto.
1751 (ISA_HAS_ROTR_SI): Ditto.
1752 (ISA_HAS_ROTR_DI): Ditto.
1753 (RTX_COSTS): Use.
1754
48209ce5
JDA
17552002-08-20 John David Anglin <dave@hiauly1.hia.nrc.ca>
1756
1757 * cppinit.c (remove_dup_dir): Add head_ptr argument to handle removal
1758 at head.
1759 (remove_dup_nonsys_dirs): New function.
1760 (remove_dup_dirs): Change argument head to head_ptr. Remove warnings.
1761 (merge_include_chains): Remove non-system include directories from
1762 quote and bracket include chains when they duplicate equivalent system
1763 directories.
1764 * doc/cpp.texi (-I): Update.
8537ed68
ZW
1765 * doc/cppopts.texi (-I): Update.
1766 * doc/install.texi (--with-local-prefix): Further document usage of
48209ce5
JDA
1767 this option.
1768 * doc/invoke.texi (-I): Update.
1769
4ca79136
RH
17702002-08-20 Richard Henderson <rth@redhat.com>
1771
1772 * expr.c (TARGET_MEM_FUNCTIONS): Transform to boolean.
1773 (emit_block_move): Split out subroutines.
1774 (emit_block_move_via_movstr): New.
1775 (emit_block_move_via_libcall): New. Emit bcopy via normal call also.
1776 (emit_block_move_libcall_fn): New. Construct function prototype for
1777 bcopy as well.
1778 (clear_storage): Split out subroutines.
1779 (clear_storage_via_clrstr): New.
1780 (clear_storage_via_libcall): New. Emit bzero as a normal call also.
1781 (clear_storage_libcall_fn): New. Construct function prototype for
1782 bzero as well.
1783 (emit_push_insn): Use emit_block_move.
1784 (expand_assignment): Booleanize TARGET_MEM_FUNCTIONS.
1785 (store_constructor): Likewise.
1786
9f05cef3
ZL
17872002-08-19 Ziemowit Laski <zlaski@apple.com>
1788
1789 * objc/objc-act.c (building_objc_message_expr): Rename to
1790 current_objc_message_selector.
1791
1bd5981b
ZL
17922002-08-19 Ziemowit Laski <zlaski@apple.com>
1793
1794 * objc/objc-act.c (build_ivar_chain): Remove.
1795 (objc_copy_list): Likewise.
1796 (get_class_ivars): Inline call to removed build_ivar_chain
1797 function. Save off a clean copy of ivars in the CLASS_OWN_IVARS
1798 slot; use that slot (rather than CLASS_IVARS) when accessing
1799 ivars for base classes. Call copy_list and chainon instead of
1800 objc_copy_list.
1801 (build_private_template): Call get_class_ivars instead of
1802 build_ivar_chain.
1803 (start_class): Allocate room for the CLASS_OWN_IVARS slot.
5ce6f47b 1804 (continue_class): Call get_class_ivars instead of
1bd5981b
ZL
1805 build_ivar_chain.
1806 (encode_field_decl): Check for DECL_BIT_FIELD_TYPE instead
1807 of DECL_BIT_FIELD (which may have been cleared).
1808 * objc/objc-act.h (CLASS_OWN_IVARS): New accessor macro.
1809
2bf087c0
KG
18102002-08-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1811
1812 * genautomata.c (output_translate_vect, output_state_ainsn_table,
1813 output_min_issue_delay_table): Mark variable with ATTRIBUTE_UNUSED
1814 in output file.
1815 (output_internal_min_issue_delay_func): Initialize variable in
1816 output file.
1817
3fcd079e
AO
18182002-08-19 Alexandre Oliva <aoliva@redhat.com>
1819
1820 * Makefile.in (GCC_FOR_TARGET): Prepend STAGE_CC_WRAPPER.
1821 (stage2_build, stage3_build, stage4_build): Likewise, to CC.
1822
71012d97
GK
18232002-08-19 Geoffrey Keating <geoffk@redhat.com>
1824 Steve Ellcey <sje@cup.hp.com>
1825
1826 * machmode.h (SCALAR_INT_MODE_P): New macro to test for
1827 scaler integer mode (MODE_INT or MODE_PARTIAL_INT).
1828 * explow.c (trunc_int_for_mode): Abort when the mode is not
1829 a scaler integer mode.
1830 * combine.c (expand_compound_operation): Don't expand Vector
1831 or Complex modes into shifts.
1832 (expand_field_assignment): Don't do bitwise arithmatic and
1833 shifts on Vector or Complex modes.
1834 (simplify_comparison): Don't call trunc_int_for_mode
1835 for VOIDmode.
1836 * recog.c (general_operand): Likewise.
1837 (immediate_operand): Likewise.
1838 (nonmemory_operand): Likewise.
1839
af8cb5c5
DE
18402002-08-19 David Edelsohn <edelsohn@gnu.org>
1841
1842 * config/rs6000/rs6000.c (rs6000_emit_set_const): Inline
1843 multi-instruction SImode constant. Add REG_EQUAL note.
1844 * config/rs6000/rs6000.md (movsi splitter): Use
5ce6f47b 1845 rs6000_emit_set_const.
af8cb5c5 1846
9bc146b3
KG
18472002-08-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1848
1849 * tree-inline.c (initialize_inlined_parameters): Wrap variable in
1850 the macro test controlling its use.
1851
66df2ac2
L
18522002-08-18 H.J. Lu (hjl@gnu.org)
1853
1854 * config.gcc (*-*-linux*): Set extra_parts="crtbegin.o
1855 crtbeginS.o crtbeginT.o crtend.o crtendS.o", gas=yes and
1856 gnu_ld=yes.
1857 (alpha*-*-linux*, cris-*-linux*, i370-*-linux*,
1858 i[34567]86-*-linux*, x86_64-*-linux*, mips*-*-linux*,
1859 s390-*-linux*, s390x-*-linux*, sparc-*-linux*, sparc64-*-linux*,
1860 xtensa-*-linux*): Remove setting extra_parts, gas, and gnu_ld
1861 here.
1862 (cris-*-linux*): Remove setting thread_file here.
1863
463f1b2b
NB
18642002-08-18 Neil Booth <neil@daikokuya.co.uk>
1865
1866 PR preprocessor/7602
1867 * cppinit.c (path_include): Treat the system environment
1868 variables as being cxx_aware.
1869
2984fe64
JM
18702002-08-17 Joseph S. Myers <jsm@polyomino.org.uk>
1871
1872 * c-decl.c (flexible_array_type_p): New function.
1873 (grokdeclarator, finish_struct): Use it.
1874 * doc/extend.texi: Document constraints on use of structures with
1875 flexible array members.
1876
fded6d78
RS
18772002-08-17 Richard Sandiford <rsandifo@redhat.com>
1878
1879 * config/mips/t-coff, config/mips/t-elf, config/mips/t-isa3264,
1880 config/mips/t-r3900 (MULTILIB_MATCHES): Define.
1881 * config/mips/mips.h (ASM_SPEC): Use %(endian_spec).
1882
8aa5074e
SS
18832002-08-16 Stan Shebs <shebs@apple.com>
1884
1885 * c-common.c (cb_register_builds): Define __NEXT_RUNTIME__
1886 for ObjC with -fnext-runtime.
1887 * doc/cpp.texi: Document it.
1888
f97a5bda
JJ
18892002-08-16 Janis Johnson <janis187@us.ibm.com>
1890
1891 * doc/install.texi (Final installation): Replace links to individual
1892 build status pages with a link to a common page that lists them all.
1893
d3075b6c
SP
18942002-08-16 Sylvain Pion <pion@cs.nyu.edu>
1895
1896 * doc/invoke.texi: Fix typo.
1897
fdf68669
DE
18982002-08-16 David Edelsohn <edelsohn@gnu.org>
1899
1900 * doc/install.texi (*-ibm-aix*): Explain AIX shared object versioning.
1901
19022002-08-16 Andrew Haley <aph@redhat.com>
d436bff8
AH
1903
1904 * tree-inline.c: Add includes for Java inliner.
1905 (remap_decl): Don't handle anonymous types for Java.
1906 (remap_block): Add handling for Java trees.
1907 (copy_scope_stmt): Conditionalize for non-Java use only.
1908 (copy_body_r): Handle Java trees. Add handling for
1909 LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR, Java blocks.
1910 (initialize_inlined_parameters): Handle Java trees.
1911 (declare_return_variable): Likewise.
1912 (expand_call_inline): Handle Java trees.
1913 (walk_tree): Likewise.
1914 (copy_tree_r): Don't handle SCOPE_STMTs for Java.
1915 (add_stmt_to_compound): New function.
1916
204250d2
RH
19172002-08-15 Richard Henderson <rth@redhat.com>
1918
1919 * Makefile.in (LOOSE_WARN): Remove -fno-common.
1920 (NOCOMMON_FLAG): New substitution point.
1921 (GCC_WARN_CFLAGS): Include it.
1922 * configure.in (ac_checking): Set nocommon_flag.
1923 (nocommon_flag): New substitution point.
1924
25587e40
AO
19252002-08-15 Alexandre Oliva <aoliva@redhat.com>
1926
1927 * c-tree.h (skip_evaluation): Move declaration...
1928 * c-common.h: ... here.
1929 * c-typeck.c (build_external_ref): Don't assemble_external nor
1930 mark a tree as used if skip_evaluation is set.
1931 * c-parse.in (typeof): New non-terminal to set skip_evaluation
1932 around TYPEOF.
1933 (typespec_nonreserved_nonattr): Use it.
1934
702ada3d
DR
19352002-08-15 Douglas B Rupp <rupp@gnat.com>
1936
1937 * dbxout.c (dbx_debug_hooks): Update end_prologue, end_epilogue.
1938 (xcoff_debug_hooks): Update end_prologue.
1939 * debug.c (do_nothing_debug_hooks): Update end_prologue, end_epilogue.
1940 * debug.h (end_prologue): Add file arg.
1941 (end_epilogue): Add line and file args.
1942 (dwarf2out_end_epilogue): Add line and file args.
1943 (vmsdbgout_after_prologue): Remove.
1944 * dwarf2out.c (dwarf2out_end_epilogue): Add line and file args.
1945 (dwarf2_debug_hooks): Update end_prologue.
1946 * dwarfout.c (dwarfout_end_epilogue): Add line and file args.
1947 (dwarfout_end_prologue): Add file arg.
1948 * final.c (vmsdbgout_after_prologue): Remove
1949 (final_end_function): Update end_epilogue call.
1950 (final_scan_insn): Update end_prologue call.
1951 * sdbout.c (sdbout_end_epilogue): Add line and file args.
1952 (sdbout_end_prologue): Add file arg.
1953 (sdb_debug_hooks): Update end_prologue.
1954 (sdb_begin_prologue): Update sdbout_end_prologue call.
1955 * vmsdbgout.c (vmsdbg_debug_hooks): Add vmsdbgout_end_prologue,
1956 vmsdbgout_end_function.
1957 (vmsdbgout_end_prologue): New function renamed from
1958 vmsdbgout_after_prologue. Call vmsdbgout_source_line.
1959 (vmsdbgout_end_function): New function.
1960 (vmsdbgout_end_epilogue): Add line and file args. Call
1961 vmsdbgout_source_line.
1962 (write_pclines): Write only valid line numbers.
1963 (write_srccorr): Don't write source correlation records if 0 lines.
1964 * xcoffout.c (xcoffout_end_epilogue): Add line and file args.
1965
9ef30f83
SE
19662002-08-15 Steve Ellcey <sje@cup.hp.com>
1967
1968 * gcc/unwind.h (_Unwind_Ptr): Make 64 bits on IA64 HP-UX.
1969 (_Unwind_Internal_Ptr): 32 bit version for use in
1970 read_encoded_value_with_base.
1971 * gcc/unwind-pe.h (read_encoded_value_with_base): Use
1972 _Unwind_Internal_Ptr instead of _Unwind_Ptr in order to get the
1973 right size.
1974
f7043461
KG
19752002-08-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1976
1977 * loop.c (scan_loop, move_movables, count_one_set): Cast to avoid
1978 signed/unsigned warnings.
1979
1980 * regclass.c (init_reg_sets_1, choose_hard_reg_mode,
1981 record_reg_classes): Likewise.
1982
1983 * reload.c (reload_inner_reg_of_subreg, push_reload,
1984 find_reloads_address_1): Likewise.
1985
b4d330e1
DE
19862002-08-15 David Edelsohn <edelsohn@gnu.org>
1987
1988 * rs6000.c (output_mi_thunk): Return to function section on
1989 TARGET_ELF.
1990
1991 * rs6000-c.c (rs6000_cpu_cpp_builtins): Define __PPC405__ if PPC405.
1992
61f02ff5
UW
19932002-08-15 Ulrich Weigand <uweigand@de.ibm.com>
1994
1995 * config/s390/s390.c (legitimize_address): Optimize loading
1996 of large displacements.
1997
1330f7d5
DR
19982002-08-14 Douglas B Rupp <rupp@gnat.com>
1999
2000 * config/alpha/alpha-protos.h: Update.
2001
2002 * config/alpha/alpha.c: (LINKAGE_SYMBOL_REF_P): New macro.
2003 (alpha_legitimate_address_p): Test LINKAGE_SYMBOL_REF_P.
2004 (alpha_linkage_symbol_p): New static function.
2005 (print_operand_address): Print linkage operand.
2006
2007 (alpha_funcs_num, alpha_funcs_tree, alpha_links_tree): New static
2008 variables.
2009 (reloc_kind): New enum.
2010 (struct alpha_funcs): New struct.
2011 (struct alpha_links): Add reloc_kind field. Rename links_kind field.
2012
2013 (alpha_need_linkage): Rewrite.
2014 (alpha_use_linkage): New global function.
2015 (alpha_write_linkage): Rewrite and make static.
2016 (alpha_write_one_linkage): Rewrite
2017
2018 (alpha_start_function): Remove procedure descriptor output.
2019 (alpha_end_function): Write linkages at end of each function.
2020
2021 * config/alpha/alpha.md (call_vms, call_value_vms): Rewrite.
2022 (call_vms_1, call_value_vms_1): Rewrite.
2023
2024 * config/alpha/vms.h (ASM_FILE_END): Remove.
2025
d1f1cc6a
RH
20262002-08-14 Richard Henderson <rth@redhat.com>
2027
2028 * ggc-page.c (RTL_SIZE): New.
2029 (extra_order_size_table): Add specializations for 2 and 10 rtl slots.
2030 * rtl.def (BARRIER, NOTE): Pad to 9 slots.
2031
23626154
RH
20322002-08-14 Richard Henderson <rth@redhat.com>
2033
2034 * calls.c: Include target.h.
2035 * Makefile.in (calls.o): Update.
2036
2037 * config/alpha/alpha.c (alpha_end_function): Use targetm.binds_local_p.
2038 * config/alpha/alpha.h (FUNCTION_OK_FOR_SIBCALL): Likewise.
2039
fd350d24
RH
20402002-08-14 Richard Henderson <rth@redhat.com>
2041
2042 * Makefile.in (LOOSE_WARN): Add -fno-common.
2043 * c-common.h (constant_string_class_name): Add missing extern.
2044
182d89a3
NB
20452002-08-15 Neil Booth <neil@daikokuya.co.uk>
2046
2047 PR preprocessor/7358
2048 * c-opts.c (check_deps_environment_vars): Ignore main file
2049 for SUNPRO_DEPENDENCIES.
2050 * cppfiles.c (stack_include_file): Ignore main file if
2051 appropriate.
2052 * cpplib.h (struct cpp_options): New member in deps.
2053 * doc/cppenv.texi: Update.
2054
8bfb1467
NB
20552002-08-14 Neil Booth <neil@daikokuya.co.uk>
2056
2057 PR preprocessor/7526
2058 * cpplib.c (run_directive): Kludge so _Pragma dependency works.
2059
41685063
NS
20602002-08-14 Nathan Sidwell <nathan@codesourcery.com>
2061
2062 * doc/invoke.texi (-a): Remove documentation.
2063 (-fprofile-arcs): Remove reference to -a, -ax options.
2064 * doc/gcov.texi (Gcov Data Files): Data might be merged.
2065
77893a23
GDR
20662002-08-14 Gabriel Dos Reis <gdr@nerim.net>
2067
2068 Fix PR/7566
2069 * c-semantics.c (genrtl_case_label): Don't (mis)use
5ce6f47b 2070 warning_with_decl.
77893a23 2071
260f91c2
DJ
20722002-08-14 Dale Johannesen <dalej@apple.com>
2073
8537ed68 2074 * explow.c (emit_stack_restore): Emit memory clobbers
260f91c2
DJ
2075 preceding the stack pop, to prevent the scheduler from
2076 moving refs to variable arrays below this pop.
2077 * reload1.c (reload): Preserve these clobbers for sched2.
2078 * doc/rtl.texi: Document clobber (mem:BLK (scratch)).
2079
cd79e210
NB
20802002-08-14 Neil Booth <neil@daikokuya.co.uk>
2081
2082 * c-opts.c (c_common_post_options): Correct test.
2083
3eb75a73
KG
20842002-08-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2085
2086 * m88k.h (ASM_OUTPUT_SOURCE_FILENAME): Fix incorrect argument
2087 order in call to fprintf.
2088
be3a0ce2
RO
20892002-08-14 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2090
2091 * config/sparc/sol2.h (SUBTARGET_EXTRA_SPECS): Define.
2092
ccfc6cc8
UW
20932002-08-14 Ulrich Weigand <uweigand@de.ibm.com>
2094
5ce6f47b 2095 * reload.c (find_reloads): Handle constraint letters marked by
ccfc6cc8
UW
2096 EXTRA_ADDRESS_CONSTRAINT and EXTRA_MEMORY_CONSTRAINT.
2097 (alternative_allows_memconst): Likewise.
2098 * reload1.c (maybe_fix_stack_asms): Likewise.
5ce6f47b 2099 * recog.c (asm_operand_ok, preprocess_constraints,
ccfc6cc8
UW
2100 constrain_operands): Likewise.
2101 * regclass.c (record_operand_costs, record_reg_classes): Likewise.
2102 * local-alloc.c (block_alloc, requires_inout): Likewise.
2103 * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
2104
2105 * defaults.h (EXTRA_MEMORY_CONSTRAINT): Provide a default.
2106 (EXTRA_ADDRESS_CONSTRAINT): Likewise.
2107 * doc/tm.texi: Document these two new target macros.
2108
2109 * config/s390/s390.c (s390_expand_plus_operand): Accept already
2110 valid operands.
2111 (q_constraint): New function.
2112 config/s390/s390-protos.h (q_constraint): Declare it.
2113 config/s390/s390.h (EXTRA_CONSTRAINT): Use it.
2114 (EXTRA_MEMORY_CONSTRAINT): New macro.
2115
2116 * config/s390/s390.md: Throughout the machine description,
2117 replace all instances of the constraint combinations 'Qo'
2118 or 'oQ' with simply 'Q'.
2119
d6ee9f6f
SC
21202002-08-14 Stephane Carrez <stcarrez@nerim.fr>
2121
2122 * config/m68hc11/m68hc11.h (LINK_SPEC): Support -mrelax.
2123 * config/m68hc11/t-m68hc11-gas (LIBGCC2_DEBUG_CFLAGS): Can use -g now.
2124 (LIBGCC2_CFLAGS): Compile with -mrelax.
2125
8a0b86f5
SC
21262002-08-14 Stephane Carrez <stcarrez@nerim.fr>
2127
2128 * doc/invoke.texi: Document -minmax for 68HC12.
2129
2130 * config/m68hc11/m68hc11.md ("umaxqi3"): Use TARGET_MIN_MAX.
2131 ("uminqi3"): Likewise.
2132 ("uminhi3", "umaxhi3"): Likewise.
2133
2134 * config/m68hc11/m68hc11.h (MASK_MIN_MAX): Define.
2135 (TARGET_MIN_MAX): Define.
2136 (TARGET_SWITCHES): New option -minmax/-mnominmax.
2137
d6381f4e
SC
21382002-08-14 Stephane Carrez <stcarrez@nerim.fr>
2139
2140 * config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Build __far_trampoline.
2141 (MULTILIB_OPTIONS): Must also generate for -mlong-calls.
2142
2143 * config/m68hc11/larith.asm: Put a mode for ELF ABI flags.
2144 (ret, declare, farsym): New gas macros.
2145 (__premain, exit, abort, _cleanup, memcpy, memset, ___adddi3,
2146 ___subdi3, ___notdi2, __mulhi32, __mulsi3): Use them to use 'rtc'
2147 and declare the symbol far when compiled with -mlong-calls.
5ce6f47b 2148 (__far_trampoline): New for 68HC12 trampoline code to invoke a
d6381f4e
SC
2149 far handler using jsr/bsr.
2150
2151 * config/m68hc11/m68hc11-crt0.S: Put a mode for ELF ABI flags.
2152 (jsr): New macro to transform a 'jsr' into a 'call'.
2153
058edcdb
SC
21542002-08-14 Stephane Carrez <stcarrez@nerim.fr>
2155
2156 * doc/invoke.texi: Document -mlong-calls for 68HC12.
2157
2158 * config/m68hc11/m68hc11.h (CPP_SPEC): Pass -D__USE_RTC__ when
2159 -mlong-calls is specified.
5ce6f47b 2160 (ASM_DECLARE_FUNCTION_NAME): Define to generate .far and .interrupt
058edcdb
SC
2161 assembler directives.
2162 (TARGET_LONG_CALL, MASK_LONG_CALL): Declare.
2163 (TARGET_SWITCHES): Add -mlong-calls options.
2164 (current_function_far): Declare.
2165
2166 * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset): Take
2167 into account the page register saved on the stack.
2168 (m68hc11_override_options): Take into account -mlong-calls option.
2169 (m68hc11_asm_file_start): Put a mode for the ELF flags ABI.
2170
2171 * config/m68hc11/m68hc11.md ("*return_32bit"): Return rtc
2172 if the function is going to be in 68HC12 banked memory (-mlong-calls).
2173 ("*return_16bit"): Likewise.
2174 ("*return_void"): Likewise.
2175 ("call", "call_value"): Use call for a far function call.
2176
c79043f3
NB
21772002-08-14 Neil Booth <neil@daikokuya.co.uk>
2178
2179 * toplev.c (parse_options_and_default_flags): Don't call
2180 post_options here.
2181 (general_init): Initialize GC, pools and tree hash here,
2182 instead of lang_independent_init.
2183 (lang_independent_init): Rename backend_init.
2184 (do_compile): Call post_options hook; exit early if there
2185 have been errors after switch processing.
2186 (toplev_main): Update.
2187
6bf346d4
GDR
21882002-08-14 Gabriel Dos Reis <gdr@nerim.net>
2189
2190 * c-pretty-print.h: Guard against multiple inclusion.
2191 Robustify macros.
2192 (pp_c_attributes): Declare.
2193 * c-pretty-print.c (pp_c_attributes): New function.
2194
cbf2f479
KG
21952002-08-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2196
2197 * m68k.c (m68k_output_function_prologue,
2198 m68k_output_function_epilogue): Delete versions for DPX2/MOTOROLA
2199 and NEWS/MOTOROLA.
2200 * genattrtab.c: Remove dpx2 comment.
2201 * libgcc2.c (__enable_execute_stack): Delete versions for
2202 NeXT/__MACH__, __convex__, __sysV88__, __pyr__ and
2203 sony_news/SYSTYPE_BSD.
2204 * longlong.h: Delete code for __a29k__, _AM29K, __clipper__,
2205 __gmicro__, __i860__, __NeXT__ and __pyr__.
2206 * rtl.h: Remove convex comment.
2207 * varasm.c: Likewise.
2208
d3969c34
KG
22092002-08-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2210
2211 * c-opts.c (lang_flags): Const-ify.
2212 * ra-build.c (undef_table): Likewise.
2213 * ra.c (eliminables): Likewise.
2214
df89f8e7
GDR
22152002-08-14 Gabriel Dos Reis <gdr@nerim.net>
2216
2217 * tree.h: Guard against multiple inclusion.
2218
cf87d551
HPN
22192002-08-14 Hans-Peter Nilsson <hp@bitrange.com>
2220
2221 * reload1.c (reload_cse_simplify): Before checking
2222 REG_FUNCTION_VALUE_P, check REG_P.
2223
a43c8986
GK
22242002-08-13 Geoffrey Keating <geoffk@redhat.com>
2225
2226 * Makefile.in (attribs.o): Remove $(OBSTACK_H) dependency.
2227
29337351
NB
22282002-08-13 Neil Booth <neil@daikokuya.co.uk>
2229
2230 * c-opts.c (c_common_init_options): Extra braces needed.
2231
8202c8c4
R
2232Tue Aug 13 17:40:25 2002 J"orn Rennecke <joern.rennecke@superh.com>
2233
2234 * sh.c (sh_init_builtins): Add PARAMS to declaration.
2235 (sh_media_init_builtins, sh_expand_builtin): Likewise.
2236 (sh_expand_unop_v2sf): Use PARAMS for variable declaration.
2237 (sh_expand_binop_v2sf): Likewise.
2238 * sh-protos.h (sh_expand_unop_v2sf): Add PARAMS to declaration.
2239 (sh_expand_binop_v2sf, sh_cfun_interrupt_handler_p): Likewise.
2240 (sh_initialize_trampoline): Likewise.
2241
07893d4f
UW
22422002-08-13 Ulrich Weigand <uweigand@de.ibm.com>
2243
2244 * s390-modes.def [CCL1, CCL2, CCT1, CCT2, CCT3, CCUR, CCSR]: Declare
2245 new condition code modes.
2246 s390.c (s390_match_ccmode_set): Handle those new CC modes.
2247 (s390_select_ccmode): Likewise.
2248 (s390_branch_condition_mask): Likewise.
2249
2250 * s390-protos.h (s390_tm_ccmode): Declare.
2251 s390.c (s390_tm_ccmode): New function.
2252 (s390_match_ccmode): Allow VOIDmode as REQ_MODE.
2253
2254 * s390.md ("*cmpdi_tm2"): Rename to "*tmdi_ext".
2255 ("*cmpsi_tm2"): Rename to "*tmsi_ext".
2256 ("*cmpqi_tm2"): Rename to "*tmqi_ext".
2257
2258 ("*cmpdi_tm_reg", "*cmpdi_tm_mem", "*cmpsi_tm_reg", "*cmpsi_tm_mem",
2259 "*cmphi_tm_sub","*cmphi_cct_0", "*cmpqi_tm", "*cmpqi_tm_sub",
2260 "*cmpqi_cct_0", "*tm_0"): Remove, replace by ...
2261 ("*tmdi_reg", "*tmsi_reg", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem",
2262 "*tmqi_mem", "*tmhi_full", "*tmqi_full"): ... these new patterns.
2263
2264 ("*ltgr", "*cmpdi_ccs_0_64", "*cmpdi_ccs_0_31", "*ltr", "*icm15",
5ce6f47b 2265 "*icm15_cconly", "*cmpsi_ccs_0", "*icm3", "*cmphi_ccs_0", "*icm1",
07893d4f
UW
2266 "*cmpqi_ccs_0"): Remove, replace by ...
2267 ("*tstdi_sign", "*tstdi", "*tstdi_cconly", "*tstdi_cconly_31",
5ce6f47b 2268 "*tstsi", "*tstsi_cconly", "*tstsi_cconly2", "*tsthi", "*tsthi_cconly",
07893d4f
UW
2269 "*tstqi", "*tstqi_cconly"): ... these new patterns.
2270
2271 ("*cmpsidi_ccs"): Remove, replace by ...
2272 ("*cmpsi_ccs_sign"): ... this new pattern.
2273 ("*cmpdi_ccs_sign", "*cmpdi_ccu_zero"): New patterns.
2274
2275 ("*cmpqi_ccu_0", "*cmpqi_ccu_immed"): Remove, replace by ...
2276 ("*cli"): ... this new pattern.
2277
2278 ("*adddi3_sign", "*adddi3_zero_cc", "*adddi3_zero_cconly",
2279 "*adddi3_zero", "*adddi3_cc", "*adddi3_cconly", "*adddi3_cconly2"):
2280 New patterns.
2281 ("adddi3_64"): Rename to "*adddi3_64".
2282 ("adddi3_31"): Replace by insn and splitter "*adddi3_31".
2283 ("adddi3"): Adapt expander.
2284
2285 ("*addsi3_cc"): Allow "general_operand" for operand 2.
5ce6f47b 2286 ("*addsi3_carry1_cc", "*addsi3_carry1_cconly",
07893d4f
UW
2287 "*addsi3_carry2_cc", "*addsi3_carry2_cconly"): New patterns.
2288
2289 ("addhi3", "addqi3"): Remove, replace by ...
2290 ("*addsi3_sign", "*addsi3_sub"): ... these new patterns.
2291
2292 ("*subdi3_sign", "*subdi3_zero_cc", "*subdi3_zero_cconly",
2293 "*subdi3_zero", "*subdi3_cc", "*subdi3_cconly"): New patterns.
2294 ("subdi3"): Replace by insn and splitter "*subdi3_31".
2295 ("subdi3"): New expander.
2296
2297 ("*subsi3_borrow_cc", "*subsi3_borrow_cconly"): New patterns.
2298
2299 ("subhi3", "subqi3"): Remove, replace by ...
2300 ("*subsi3_sign", "*subsi3_sub"): ... these new patterns.
2301
2302 ("*muldi3_sign"): New pattern.
2303 ("muldi3"): Do not clobber CC.
2304 ("mulsi3"): Likewise.
2305 ("mulsi_6432"): Likewise.
2306
db62867b
DC
23072002-08-13 Denis Chertykov <denisc@overta.ru>
2308
2309 * config/avr/avr.md: Call CC_STATUS_INIT in all peepnoles
8537ed68 2310 which can change CC0.
db62867b 2311
8ba46434
R
2312Tue Aug 13 14:49:20 2002 J"orn Rennecke <joern.rennecke@superh.com>
2313
2314 * gcse.c (adjust_libcall_notes): New function.
2315 (do_local_cprop): Use it. Add fourth parameter. Changed caller.
2316
8733892f
NS
23172002-08-13 Nathan Sidwell <nathan@codesourcery.com>
2318
2319 * libgcc2.c (L_bb): Remove unneeded #includes.
2320 (__global_counters, __gthreads_active): Remove unused globals.
2321 (__bb_exit_func): Merge counts into files rather than appending.
2322 * Makefile.in (INTERNAL_CFLAGS): Move COVERAGE_FLAGS from here ...
2323 (ALL_CFLAGS): ... to here.
2324
f4769721
DC
23252002-08-13 Denis Chertykov <denisc@overta.ru>
2326
2327 * config/ip2k/ip2k.c (commands_in_file): Variable removed.
2328 (function_epilogue): Don't calculate function size.
2329 (ip2k_set_compare): Don't use lookup_const_double.
2330 (asm_file_start): Initialization of commands_in_file removed.
2331 (asm_file_end): Output of commands_in_file removed.
5ce6f47b 2332
f4769721
DC
2333 * config/ip2k/ip2k.c (CPP_PREDEFINES): Remove definition of
2334 __INT_MAX__.
2335
c31cddfd
NB
23362002-08-13 Neil Booth <neil@daikokuya.co.uk>
2337
2338 * c-opts.c (c_common_init_options): Check option array is
2339 sorted if checking enabled.
2340
f076f0ce
GDR
23412002-08-13 Gabriel Dos Reis <gdr@nerim.net>
2342
2343 * c-pretty-print.c: #include "c-tree.h".
2344 (pp_c_simple_type_specifier): Tweak.
2345 (pp_c_storage_class_specifier): New.
2346 (pp_c_function_specifier): Likewise.
2347 (pp_c_declaration_specifiers): Likewise.
2348 (pp_c_init_declarator): Likewise.
2349 (pp_c_declaration): Likewise.
2350 (pp_c_direct_declarator): Stub.
2351 (pp_c_declarator): Likewise.
2352 (pp_c_parameter_declaration): Likewise.
2353
f4ff5a69
NB
23542002-08-13 Neil Booth <neil@daikokuya.co.uk>
2355
2356 * c-opts.c (deps_seen, deps_file, deferred_count, deferred_size,
2357 handle_deferred_opts, sanitize_cpp_opts, defer_opt,
2358 struct deferred_opt): New.
2359 (COMMAND_LINE_OPTIONS): Add -M*.
2360 (missing_arg): Update.
2361 (c_common_decode_option): Handle -M*.
2362 (c_common_post_options): Handle -M*. Use sanitize_cpp_opts;
2363 don't call cpp_post_options.
2364 (c_common_finish, check_deps_environment_vars): Update.
2365 * cppfiles.c (stack_include_file, handle_missing_header): Update.
2366 * cpphash.h (CPP_PRINT_DEPS): Remove.
2367 * cppinit.c: Don't include version.h.
2368 (cpp_create_reader): Don't call deps_init. Initialize
2369 warn_long_long.
2370 (cpp_read_main_file): Init deps if necessary.
2371 (cpp_destroy): Conditionally free deps.
2372 (cpp_finish): Update.
2373 (no_tgt): Remove.
2374 (COMMAND_LINE_OPTIONS, cpp_handle_option): Remove -M*.
2375 (cpp_post_options): Rename post_options.
2376 * cpplib.h (struct cpp_options): Remove some dependency options;
2377 move others to a new structure.
2378 (cpp_post_options): Remove.
2379 (cpp_finish): Comment.
2380 * fix-header.c (read_scan_file): Don't call cpp_post_options.
2381
34116c2a
HPN
23822002-08-12 Hans-Peter Nilsson <hp@bitrange.com>
2383
2384 * config/mmix/mmix.md (define_constants): Add MMIX_rR_REGNUM.
2385 ("divdi3", "*divdi3_nonknuth", "moddi3", "*moddi3_nonknuth"): Mark
2386 MMIX_rR_REGNUM as clobbered.
2387 * config/mmix/mmix.h (MMIX_REMAINDER_REGNUM): Use MMIX_rR_REGNUM.
2388
9b32718c
GDR
23892002-08-12 Gabriel Dos Reis <gdr@nerim.net>
2390
2391 * diagnostic.h (output_formatted_scalar): Rename from
5ce6f47b 2392 output_formatted_integer.
9b32718c
GDR
2393 * diagnostic.def: Add DK_DEBUG.
2394 * diagnostic.c (output_decimal): Adjust.
2395 (output_long_decimal): Likewise.
2396 (output_unsigned_decimal): Likewise.
2397 (output_octal): Likewise.
2398 (output_long_octal): Likewise.
2399 (output_hexadecimal): Likewise.
2400 (output_long_hexadecimal): Likewise.
2401 * c-pretty-print.c (pp_c_type_specifier): New function.
2402 (pp_c_specifier_qualifier_list): Likewise.
2403 (pp_c_abstract_declarator): Likewise.
2404 (pp_c_char): Replace pp_format_integer with pp_format_scalar.
2405
032613df
DE
24062002-08-12 David Edelsohn <edelsohn@gnu.org>
2407
2408 * doc/trouble.texi (Disappointments): Add static constructor and
2409 destructor dependency information for AIX.
2410
a3737481
NB
24112002-08-12 Neil Booth <neil@daikokuya.co.uk>
2412
2413 * cpphash.h (struct printer): New from cppmain.c.
2414 (cpp_reader): New member.
2415 * cppmain.c (struct printer): Move to cpphash.h.
2416 (options, print): Remove.
2417 (account_for_newlines, print_line, maybe_print_line,
2418 cpp_preprocess_file, setup_callbacks, scan_translation_unit,
2419 scan_translation_unit_trad, cb_line_change, cb_ident,
2420 cb_define, cb_undef, cb_include, cb_file_change, dump_macro,
2421 cb_def_pragma): Make reentrant.
2422
d71f7700
KG
24232002-08-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2424
2425 * real.c (ieee_64): Always define.
2426 (ieee_113): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
2427 (dec_h): Not used yet, hide it.
2428 (emdnorm): Mark parameter in ATTRIBUTE_UNUSED. Guard label with
2429 macro controlling use.
2430 (TFbignan, TFlittlenan): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
2431
c16576e6
JH
2432Mon Aug 12 12:48:20 CEST 2002 Jan Hubicka <jh@suse.cz>
2433
2434 * i386.md (tablejump): Sign extend the operand.
2435 * i386.c (classify_argument): Fix missed case from previous patch.
2436
460bd0e3
NB
24372002-08-12 Neil Booth <neil@daikokuya.co.uk>
2438
2439 * c-common.c (STDC_0_IN_SYSTEM_HEADERS, c_common_init): Move
2440 to c-copts.c.
2441 (warn_multichar): Die.
2442 (cb_register_builtins): Export.
2443 * c-common.h (warn_multichar, preprocess_file): Remove.
2444 (cb_register_builtins): New.
2445 * c-lang.c (c_init): Remove.
2446 (LANG_HOOKS_INIT): Use c_objc_common_init.
2447 * c-lex.c (init_c_lex): Don't canonicalize filename.
2448 * c-opts.c (in_fname, STDC_0_IN_SYSTEM_HEADERS): New.
2449 (preprocess_file): Make static. Update for cpplib.
2450 (c_common_decode_option): Remove warn_multichar. Use in_fname.
2451 (c_common_post_options): Set some cpp options here.
2452 (c_common_init): Move from c-common.c.
2453 * cppinit.c (cpp_post_options): Don't canonicalize in_fname.
2454 * cpplib.h (struct cpp_options): Remove in_fname.
2455 (cpp_preprocess_file): Update.
2456 * cppmain.c (cpp_preprocess_file): Update for new prototypes.
2457
f3f268dd
KG
24582002-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2459
2460 * config.gcc (mips*-*-netbsd*): Include ${tm_file}.
2461
f0201fba
KG
24622002-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2463
2464 * i370.h (TARGET_CPU_CPP_BUILTINS): Remove spurious trailing
2465 backslash in comment preceeding macro definition.
2466 * i370/linux.h (TARGET_OS_CPP_BUILTINS): Likewise.
2467 * i370/mvs.h (TARGET_OS_CPP_BUILTINS): Likewise.
2468 * i370/oe.h (TARGET_OS_CPP_BUILTINS): Likewise.
2469
e56fc090
HPN
24702002-08-12 Hans-Peter Nilsson <hp@bitrange.com>
2471
2472 * expr.c (store_expr): In condition for checking if value is
2473 generated in TARGET, move call to expr_size last.
2474
76c3e73e
NB
24752002-08-11 Neil Booth <neil@daikokuya.co.uk>
2476
2477 * c-common.c (c_common_init): Call preprocess_file instead.
2478 (c_common_finish): Move to c-opts.c.
2479 * c-common.h (preprocess_file): new.
2480 * c-opts.c (out_fname, out_stream, deps_append, preprocess_file,
2481 check_deps_environment_vars, c_common_finish): New.
2482 (c_common_decode_option): Update for out_fname and dependencies.
2483 * cppinit.c (init_dependency_output, output_deps): Remove.
2484 (cpp_destroy): Update prototype.
2485 (cpp_add_dependency_target): New.
2486 (cpp_read_main_file): Don't overlay a buffer.
2487 (cpp_finish): Take a deps output stream and write deps to it.
2488 Return the error count.
2489 (cpp_post_options): Don't canonicalize out_fname, or do anything
2490 with dependencies.
2491 * cpplib.h (struct cpp_options): Remove out_fname and
2492 preprocess_only.
2493 (cpp_add_dependency_target): New.
2494 (cpp_destroy, cpp_finish, cpp_preprocess_file): Update.
2495 * cppmain.c (cpp_preprocess_file): Update prototype. Don't
2496 set preprocess_only. Don't handle the output stream directly.
2497
e0c32c62
KG
24982002-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2499
2500 * dsp16xx.c (print_operand): Fix format specifier.
2501 * dsp16xx.md: Avoid automatic aggregate initialization.
2502 * frv.h (REG_CLASS_FROM_LETTER): Avoid char as array index.
2503 * h8300.c (emit_a_rotate, h8300_adjust_insn_length): Avoid U
2504 integer constant modifier.
2505 * ip2k.c (ip2k_set_compare): Avoid signed/unsigned warning.
2506 * mmix-protos.h (mmix_use_simple_return): Move outside TREE_CODE
2507 guards.
2508 * sh/netbsd-elf.h (FUNCTION_PROFILER): Fix format specifier.
2509 * v850.c (v850_select_section): Mark parameter with
2510 ATTRIBUTE_UNUSED.
2511 * global.c (global_alloc): Const-ify.
2512 * ra-colorize.c (hardregset_to_string): Fix format specifier.
2513
7ae8cf75
KG
25142002-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2515
2516 * darwin-c.c (darwin_pragma_options): Const-ify.
2517 * darwin.c (machopic_non_lazy_ptr_name,
2518 machopic_validate_stub_or_non_lazy_ptr): Likewise.
2519 (machopic_indirect_data_reference): Wrap variables in macros
2520 controlling their use.
2521 (machopic_finish, update_non_lazy_ptrs, update_stubs): Const-ify.
2522 (machopic_select_section): Use parentheses around && within ||.
2523 * i386/darwin.h (ASM_OUTPUT_ALIGN): Avoid ambiguous-else.
2524
8819cab5
KG
25252002-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2526
2527 * ip2k.c (mdr_resequence_xy_yx, mdr_propagate_reg_equivs,
2528 mdr_try_move_dp_reload, ip2k_check_can_adjust_stack_ref,
2529 ip2k_adjust_stack_ref, mdr_try_move_pushes, mdr_try_propagate_clr,
2530 ip2k_xexp_not_uses_reg_for_mem, mdr_try_propagate_move,
2531 mdr_try_remove_redundant_insns, track_w_reload,
2532 mdr_try_wreg_elim): Make function static to match prototype.
2533 * mmix.c (mmix_target_asm_function_epilogue): Likewise. Mark
2534 parameter with ATTRIBUTE_UNUSED.
2535
ab2877a3
KG
25362002-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2537
2538 * arc.c (arc_init): Don't use ISO C style function definitions.
2539 * arm.c (count_insns_for_constant, thumb_far_jump_used_p,
2540 arm_get_strip_length, arm_strip_name_encoding): Likewise.
2541 * avr.h (progmem_section): Likewise.
2542 * h8300.c h8300_asm_insn_count): Likewise.
2543 * m32r.c (init_idents): Likewise.
2544 * s390.c (s390_split_branches, s390_chunkify_pool): Likewise.
2545 * sh.c (sh_cfun_interrupt_handler_p): Likewise.
2546 * xtensa.c (xtensa_build_va_list): Likewise.
2547
08767a6f
NB
25482002-08-11 Neil Booth <neil@daikokuya.co.uk>
2549
2550 * c-common.h (enum c_language_kind): Emphasize that clk_c is 0.
2551 * c-opts.c (parse_option): Rename find_opt.
2552 (set_std_c99): New function.
2553 (COMMAND_LINE_OPTIONS): Handle -remap and -o. Remove OPT_std_bad.
2554 (missing_arg): Remove OPT_std_bad. Handle -o.
2555 (c_common_decode_option): Handle input and output file names,
2556 -o and -remap. Clean up -std= handling.
2557 * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_o and OPT_remap.
2558 (cpp_handle_option): Similarly. Don't handle filenames.
2559
db01f480
JH
2560Sun Aug 11 14:43:17 CEST 2002 Jan Hubicka <jh@suse.cz>
2561
2562 * i386.c (classify_argument): Fix computing of field's offsets.
2563
a7701995
AJ
25642002-08-11 Andreas Jaeger <aj@suse.de>
2565
2566 PR target/7531:
2567 * doc/invoke.texi (i386 and x86-64 Options): Document -mcmodel.
2568
2516f236
ZL
25692002-08-10 Ziemowit Laski <zlaski@apple.com>
2570
2571 * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Replace
2572 reference to clk_objective_c with flag_objc.
2573 * config/i386/i386-interix.h (TARGET_OS_CPP_BUILTINS):
2574 Likewise.
2575 * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Likewise.
2576
f749a36b
NB
25772002-08-10 Neil Booth <neil@daikokuya.co.uk>
2578
2579 * c-opts.c (set_std_cxx98, set_std_c89): New.
2580 (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
2581 (c_common_decode_option): Handle new switches from cppinit.c.
2582 Add -std=gnu++98.
2583 * cppinit.c (set_lang): Rename cpp_set_lang. Export.
2584 (no_arg, no_num): Remove.
2585 (COMMAND_LINE_OPTIONS): Move more to c-opts.c. Drop all lang-
2586 switches apart from -lang-objc and lang-asm.
2587 (cpp_handle_option): Similarly.
2588 * cpplib.h (cpp_set_lang): New.
2589 * doc/cppopts.texi, doc/invoke.texi: Document -std=c++98,
2590 -std=gnu++98.
2591 * objc/lang-specs.h: Remove -ansi.
2592
77abb5d8
JH
2593Sat Aug 10 19:59:43 CEST 2002 Jan Hubicka <jh@suse.cz>
2594 Graham Stott
2595
2596 * cfg.c (redirect_edge_succ_nodup): Avoid overflows due to roundoff
2597 errors.
2598
fac37dc4
KG
25992002-08-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2600
d950dee3
KG
2601 * emit-rtl.c (emit_jump_insn_before, emit_call_insn_before,
2602 emit_jump_insn): Fix uninitialized variable.
2603 * gcov.c (init_line_info): Likewise.
2604 * genautomata.c (transform_3): Add braces around ambiguous
2605 else.
2606 * ifcvt.c (cond_exec_process_insns): Mark parameter with
2607 ATTRIBUTE_UNUSED.
2608 * ra-build.c (parts_to_webs_1): Fix uninitialized variable.
2609 * regrename.c (copyprop_hardreg_forward): Fix uninitialized
2610 variable.
2611
fac37dc4
KG
2612 * gengtype.c (write_gc_structure_fields): Avoid signed/unsigned
2613 warnings in output files.
2614
0f7866e7
ZL
26152002-08-09 Ziemowit Laski <zlaski@apple.com>
2616
2617 * c-common.c (flag_objc): New.
2618 * c-common.h (c_language_kind): Get rid of clk_objective_c
2619 enum value.
2620 (flag_objc): New extern declaration.
2621 * c-decl.c (implicitly_declare): Call objc_check_decl
2622 instead of maybe_objc_check_decl.
2623 (finish_decl): Likewise.
2624 (grokfield): Likewise.
2625 (finish_struct): Likewise.
2626 * c-lang.c (maybe_objc_check_decl): Rename to objc_check_decl.
2627 (maybe_objc_comptypes): Rename to objc_comptypes.
a7701995 2628 (maybe_building_objc_message_expr): Rename to
0f7866e7
ZL
2629 objc_message_selector.
2630 * c-lex.c (lex_charconst): Remove uses of clk_objective_c,
2631 replace with flag_objc as needed.
2632 * c-opts.c (c_common_init_options): Likewise.
2633 (c_common_decode_option): Likewise.
2634 * c-parse.in (init_reswords): Likewise.
2635 * c-tree.h (maybe_objc_check_decl): Rename to objc_check_decl.
2636 (maybe_objc_comptypes): Rename to objc_comptypes.
a7701995 2637 (maybe_building_objc_message_expr): Rename to
0f7866e7
ZL
2638 objc_message_selector.
2639 * c-typeck.c (comptypes): Call objc_comptypes instead of
2640 maybe_objc_comptypes, and/or objc_message_selector instead of
2641 maybe_building_objc_message_expr.
2642 (comp_target_types): Likewise.
2643 (convert_for_assignment): Likewise.
2644 (warn_for_assignment): Likewise.
2645 * cppinit.c (init_builtins): Set __OBJC__ manifest constant
2646 independently of those for other languages.
2647 * objc/objc-act.c (maybe_objc_comptypes): Delete.
2648 (maybe_objc_check_decl): Delete.
a7701995 2649 (maybe_building_objc_message_expr): Rename to
0f7866e7
ZL
2650 objc_message_selector.
2651 * objc/objc-lang.c (objc_init_options): Use clk_c instead of
2652 clk_objective_c; set flag_objc flag.
2653
c512fd7b
TM
26542002-08-09 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
2655
2656 * ifcvt.c (find_if_case_2): Test correct basic block for size.
2657
5e1bf043 26582002-08-09 Dale Johannesen <dalej@apple.com>
c512fd7b 2659
5e1bf043
DJ
2660 * config/rs6000/rs6000.md: Add sibcall patterns.
2661 * config/rs6000/rs6000.h (FUNCTION_OK_FOR_SIBCALL): Define.
2662 * config/rs6000/rs6000.c (rs6000_ra_ever_killed):
2663 Rewritten to handle sibcalls.
2664 * config/rs6000/rs6000.c (function_ok_for_sibcall): New.
2665 * config/rs6000/rs6000-protos.h (function_ok_for_sibcall): New.
2666
2043c38e
NS
26672002-08-08 Nathan Sidwell <nathan@codesourcery.com>
2668
2669 * profile.c (da_file_name): New static var.
2670 (init_branch_prob): Initialize it.
2671 (end_branch_prob): Remove da file.
2672
2673 * Makefile.in (stage1_build): Pass empty COVERAGE_FLAGS.
41685063 2674 * configure.in (coverage_flags): Default to nothing.
2043c38e
NS
2675 * configure: Rebuilt.
2676
4b7091eb
NB
26772002-08-09 Neil Booth <neil@daikokuya.co.uk>
2678
2679 * Makefile.in (c-opts.o): Update
2680 * c-opts.c: Include intl.h.
2681 (print_help): Move from cppinit.c. Remove unused options.
2682 (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
2683 (missing_arg): Complain for switches without an argument.
2684 (c_common_decode_option): Reject missing joined arguments.
2685 Handle new switches from cppinit.c.
2686 * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
2687 (cpp_handle_option): Similarly.
2688 (print_help): Moved to c-opts.c.
2689 * cpplib.h (struct cpp_options): Remove help_only.
2690 * gcc.c (cpp_unique_options): Remove -$.
2691 * doc/cppopts.texi: Undocument -h.
2692
9e20be0c
JJ
26932002-08-08 Jakub Jelinek <jakub@redhat.com>
2694
2695 * config/i386/i386.c (legitimate_constant_p): UNSPEC_TP is not
2696 legitimate constant.
2697 (legitimate_pic_operand_p): Neither pic operand.
2698 (legitimate_address_p): But legitimate address.
2699 (get_thread_pointer): Generate MEM/u instead of CONST around
2700 UNSPEC_TP.
2701 (print_operand): Remove printing of UNSPEC_TP.
2702 (print_operand_address): And print it here.
2703
7b9be5c7 27042002-08-08 Devang Patel <dpatel@apple.com>
9e20be0c 2705
a7701995
AJ
2706 * objc/objc-act.c (build_selector_translation_table): Issue warning,
2707 when -Wselector is used,if method for which selector is being
7b9be5c7 2708 created does not exist.
a7701995 2709
5615d8fd
SC
27102002-08-08 Stephen Clarke <stephen.clarke@superh.com>
2711
2712 * config/sh/sh.c (prepare_move_operands): Only call
2713 target_reg_operand if TARGET_SHMEDIA.
a7701995 2714
3b85fe5f
JJ
27152002-08-08 Jakub Jelinek <jakub@redhat.com>
2716
2717 * config/rs6000/rs6000.h, config/rs6000/aix.h,
2718 config/rs6000/darwin.h, config/rs6000/linux64.h: Revert last
2719 two patches.
2720 * config/rs6000/sysv4.h: Likewise, remove #undef ADJUST_FIELD_ALIGN.
2721
e10c79fe
LB
27222002-08-08 Lars Brinkhoff <lars@nocrew.org>
2723 Richard Henderson <rth@redhat.com>
2724
2725 * emit-rtl.c (gen_rtx_REG): After reload, only return
2726 frame_pointer_rtx or hard_frame_pointer_rtx if frame_pointer_needed.
2727
aa2a83dc
JJ
27282002-08-08 Jakub Jelinek <jakub@redhat.com>
2729
2730 * config/rs6000/rs6000-protos.h (rs6000_field_alignment): Remove.
2731 * config/rs6000/rs6000.c (rs6000_field_alignment): Move...
2732 * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): ...inline into the
2733 macro.
2734
aeaf4d25
AN
27352002-08-08 Adam Nemet <anemet@lnxw.com>
2736
2737 * config/arm/arm.c (thumb_unexpanded_epilogue): Stack the PIC
2738 register.
2739 (thumb_expand_prologue): Likewise.
2740 (thumb_output_function_prologue): Likewise.
2741 * config/arm/arm.h (THUMB_INITIAL_ELIMINATION_OFFSET): Account for
2742 the additional push of the PIC register.
2743
22aa533e
NS
27442002-08-08 Nathan Sidwell <nathan@codesourcery.com>
2745
2746 * configure.in (enable_coverage): New enable switch.
2747 * configure: Rebuilt.
2748 * Makefile.in (COVERAGE_FLAGS, coverageexts): New variables.
2749 (INTERNAL_CFLAGS): Append COVERAGE_FLAGS.
2750 (ALL_FLAGS): Reorder so INTERNAL_CFLAGS comes after CFLAGS.
2751 (mostlyclean): Remove coverage files.
2752 * doc/install.texi: Document enable_coverage.
2753
2754 * cp/Make-lang.in (c++.mostlyclean): Remove coverage files.
2755 * ada/Make-lang.in (ada.mostlyclean): Remove coverage files.
2756 * f/Make-lang.in (f.mostlyclean): Remove coverage files.
2757 * java/Make-lang.in (java.mostlyclean): Remove coverage files.
2758 * objc/Make-lang.in (objc.mostlyclean): Remove coverage files.
2759 * treelang/Make-lang.in (treelang.mostlyclean): Remove coverage
2760 files.
a7701995 2761
18bdccaa
NB
27622002-08-08 Neil Booth <neil@daikokuya.co.uk>
2763
2764 * c-opts.c (cpp_opts): New.
2765 (COMMAND_LINE_OPTIONS): Add switches from cppinit.c.
2766 (c_common_decode_options): Handle cpplib switches.
2767 (c_common_init_options): Set cpp_opts.
2768 * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
2769 (cpp_handle_option): Similarly.
2770
774b5662
DE
27712002-08-08 David Edelsohn <edelsohn@gnu.org>
2772
2773 * config/rs6000/aix.h (TARGET_ALTIVEC): Define to 0.
2774 (TARGET_ALTIVEC_ABI): Same.
2775 (TARGET_ALTIVEC_VRSAVE): Same.
2776
2777 * config/rs6000/rs6000.c (rs6000_expand_ternop_builtin): Check
2778 icode not CODE_FOR_nothing. Change switch to if.
2779
957e9e48
AM
27802002-08-08 Alan Modra <amodra@bigpond.net.au>
2781
2782 * config/rs6000/rs6000.h (ASM_CPU_SPEC): Pass -mpower4 when cpu=power4.
2783
daf06049
JJ
27842002-08-08 Jakub Jelinek <jakub@redhat.com>
2785
2786 * stor-layout.c (place_union_field): For bitfields if
2787 PCC_BITFIELD_TYPE_MATTERS and TYPE_USER_ALIGN, set record's
2788 TYPE_USER_ALIGN.
2789
043d39a6
JDA
27902002-08-07 John David Anglin <dave@hiauly1.hia.nrc.ca>
2791
2792 * pa.c (struct deferred_plabel): Constify name field.
2793
34bb92e3
NB
27942002-08-07 Neil Booth <neil@daikokuya.co.uk>
2795
2796 * cppmacro.c (_cpp_builtin_macro_text): Remove unused variable.
2797
3ec5d64d
JDA
27982002-08-07 John David Anglin <dave@hiauly1.hia.nrc.ca>
2799
2800 * configure.in (PREFIX_INCLUDE_DIR): Don't define if prefix and
2801 local_prefix are the same.
2802 * configure: Rebuilt.
2803
ad9335eb
JJ
28042002-08-07 Jakub Jelinek <jakub@redhat.com>
2805 Richard Henderson <rth@redhat.com>
2806
2807 * stor-layout.c (place_union_field): Apply ADJUST_FIELD_ALIGN
2808 to type_align when PCC_BITFIELD_TYPE_MATTERS. Only apply
2809 ADJUST_FIELD_ALIGN if not DECL_USER_ALIGN resp. TYPE_USER_ALIGN.
2810 (place_field): Likewise.
2811 * config/i386/i386.c (x86_field_alignment): Don't check
2812 DECL_USER_ALIGN here.
2813 * config/rs6000/rs6000.c (rs6000_field_alignment): New.
2814 * config/rs6000/rs6000-protos.h (rs6000_field_alignment): New
2815 prototype.
2816 * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): Define.
2817 * config/rs6000/aix.h (ADJUST_FIELD_ALIGN): Remove.
2818 * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Remove.
2819 * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Remove.
2820 * config/rs6000/sysv4.h (ADJUST_FIELD_ALIGN): Remove.
2821 * doc/tm.texi (ADJUST_FIELD_ALIGN): Update description.
2822
0b6f2917
NB
28232002-08-07 Neil Booth <neil@daikokuya.co.uk>
2824
2825 * Makefile.in (c-opts.o, c-common.o, C_AND_OBJC_OBJS): Update.
2826 * c-common.c: Don't include tree-inline.h.
2827 (c_common_init_options, c_common_post_options): Move to c-opts.c.
2828 * c-common.h (c_common_decode_option): New.
2829 * c-decl.c (c_decode_option): Remove.
2830 * c-lang.c (LANG_HOOKS_DECODE_OPTION): Use c_common_decode_option.
2831 * c-opts.c: New file.
2832 * c-tree.h (c_decode_option): Remove.
2833 * doc/passes.texi: Update.
2834 * objc/objc-act.c (objc_decode_option): Remove.
2835 * objc/objc-act.h (objc_decode_option): Remove.
2836 * objc/ojbc-lang.c (LANG_HOOKS_DECODE_OPTION): Use
2837 c_common_decode_option.
2838
e49ec17d
CD
28392002-08-07 Chris Demetriou <cgd@broadcom.com>
2840
2841 * config/mips/mips.md (sunlt_sf, suneq_sf, sunle_sf): Remove
2842 dependency on TARGET_DOUBLE_FLOAT.
2843
ac1ca451
SC
28442002-08-07 Stephen Clarke <stephen.clarke@superh.com>
2845
2846 * config/sh/lib1funcs.asm (GCC_shcompact_incoming_args): Don't
2847 overwrite callee-save registers. Fix comment.
2848
af34e51e
CD
28492002-08-06 Chris Demetriou <cgd@broadcom.com>
2850
2851 * config/mips/mips.c (override_options): Set MASK_BRANCHLIKELY
2852 in target_flags based on ISA, if it was not set on the command
2853 line. Warn if MASK_BRANCHLIKLEY is set but the ISA does not
2854 support Branch Likely instructions.
2855 * config/mips/mips.h (MASK_BRANCHLIKLEY): New macro.
2856 (TARGET_BRANCHLIKELY): Likewise.
2857 (TARGET_SWITCHES): Add -mbranch-likely and -mno-branch-likely.
2858 (GENERATE_BRANCHLIKELY): Use TARGET_BRANCHLIKELY rather than
2859 ISA_HAS_BRANCHLIKELY.
2860 (ISA_HAS_BRANCHLIKELY): Do not include MIPS16 check.
2861 * doc/invoke.texi: Document new MIPS -mbranch-likely and
2862 -mno-branch-likely options.
2863
2631af95
KG
28642002-08-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2865
f538618e
KG
2866 * ip2k.c (ip2k_set_compare): Add missing iteration variable.
2867
2631af95
KG
2868 * Makefile.in (dummy-conditions.o): Depend on $(HCONFIG_H) not
2869 $(GCONFIG_H).
2870
1ae0ccb6
AH
28712002-08-06 Aldy Hernandez <aldyh@redhat.com>
2872
8537ed68
ZW
2873 * c-decl.c (duplicate_decls): Error out for incompatible TLS
2874 declarations.
1ae0ccb6 2875
8537ed68 2876 * testsuite/gcc.dg/tls/diag-3.c: New.
1ae0ccb6 2877
8d3e27d1 28782002-08-06 Dale Johannesen <dalej@apple.com>
db4c55f6 2879
8d3e27d1 2880 * c-common.c (fname_decl): Use line number 0 for
8537ed68 2881 __func__, to avoid confusing debuggers.
8d3e27d1 2882
8b219a76
NS
28832002-08-06 Nathan Sidwell <nathan@codesourcery.com>
2884
2885 * gcov.c: Tidy.
2886 (struct line_info, struct coverage): New structures.
2887 (gcov_file_name, gcov_file): Remove globals.
2888 (output_data): Take source file parameter. Fix memory leak. Break
2889 up into ...
2890 (init_line_info, output_line_info, make_gcov_file_name,
2891 accumulate_branch_counts): ... here.
2892 (calculate_branch_probs, function_summary): Adjust.
2893 (main): Adjust.
2894 (function_*): Remove global variables.
2895
317e98c0
NB
28962002-08-06 Neil Booth <neil@daikokuya.co.uk>
2897
2898 * dwarf2out.c: Remove unused macros.
2899
81d41e74
NB
29002002-08-06 Neil Booth <neil@daikokuya.co.uk>
2901
2902 * function.c (TRAMPOLINE_ALIGNMENT): Always defined.
2903
58551c23
NB
29042002-08-06 Neil Booth <neil@daikokuya.co.uk>
2905
2906 * cppinit.c (struct lang_flags): Rename trigraphs std.
2907 (set_lang): Update.
2908 * cpplib.h (struct cpp_options): New member std.
2909 * cppmacro.c (_cpp_builtin_macro_text): Use std.
2910 (collect_args): Flag whether to swallow a possible future
2911 comma pasted with varargs.
2912 (replace_args): Use this flag.
2913 * doc/cpp.texi: Update varargs extension documentation.
2914
daeabcd0
JJ
29152002-08-06 Jakub Jelinek <jakub@redhat.com>
2916
2917 * config/i386/mmintrin.h (__m64): Make the type 64-bit aligned.
2918
39e3a681
JJ
29192002-08-06 Jakub Jelinek <jakub@redhat.com>
2920
9812691e
JJ
2921 * config/i386/i386.c (x86_field_alignment): Apply min for all MODE_INT
2922 and MODE_CLASS_INT modes.
39e3a681 2923
609a87f3
JJ
29242002-08-06 Jakub Jelinek <jakub@redhat.com>
2925
2926 * config.gcc (*-*-linux*): Default to --enable-threads=posix if no
2927 --{enable,disable}-threads is given to configure.
2928 (alpha*-*-linux*, hppa*-*-linux*, i[34567]86-*-linux*,
2929 x86_64-*-linux*, ia64*-*-linux*, m68k-*-linux*, mips*-*-linux*,
2930 powerpc-*-linux-gnualtivec*, powerpc-*-linux*, s390-*-linux*,
2931 s390x-*-linux*, sh-*-linux*, sparc-*-linux*, sparc64-*-linux*):
2932 Remove thread_file setting here.
2933
ff4c5e7b
DE
29342002-08-06 David Edelsohn <edelsohn@gnu.org>
2935
2936 * doc/install.texi (Binaries): Update Bull Freeware URL.
2937
54f3aa9e
GP
29382002-08-06 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
2939
2940 * doc/gcc.texi (Top): Rename Index to Keyword Index.
2941
d19202ba
NS
29422002-08-05 Nathan Sidwell <nathan@codesourcery.com>
2943
2944 * gcov.c (output_data): Round to % to nearest, tweak formatting.
2945
1bed5ee3
JJ
29462002-08-05 Jakub Jelinek <jakub@redhat.com>
2947
2948 * fold-const.c (associate_trees): Only optimize NEGATE_EXPR in one
2949 of the operands into MINUS_EXPR if code is PLUS_EXPR.
2950
84512347
DR
29512002-08-05 Douglas B Rupp <rupp@gnat.com>
2952
2953 * config.gcc (i[34567]86-*-interix*): Replace interix.o with winnt.o
2954 * config/i386/i386-interix.h (TARGET_NOP_FUN_DLLIMPORT,
2955 drectve_section): Define.
2956 * config/i386/t-interix: Replace interix.o rule with winnt.o.
2957 * config/i386/interix.c: Remove.
2958
b835f6f1
GK
29592002-08-05 Geoffrey Keating <geoffk@redhat.com>
2960
2961 * attribs.c: Don't include obstack.h.
2962 * builtins.c: Likewise.
2963 * cfganal.c: Likewise.
2964 * cfgbuild.c: Likewise.
2965 * cfgcleanup.c: Likewise.
2966 * emit-rtl.c: Likewise.
2967 * loop.c: Likewise.
2968 * stmt.c: Likewise.
2969
2970 * Makefile.in (s-gtype): Re-add dependency on $(GTFILES).
2971
fd291392
GDR
29722002-08-05 Gabriel Dos Reis <gdr@nerim.net>
2973
2974 * doc/c-tree.texi (Expression trees): Document VA_ARG_EXPR
2975
054b7507
CD
29762002-08-04 Chris Demetriou <cgd@broadcom.com>
2977
2978 * doc/invoke.texi: Remove duplicated paragraph describing
2979 TARGET_SWITCHES.
2980
6d9f628e
GK
29812002-08-04 Geoffrey Keating <geoffk@redhat.com>
2982
2983 * Makefile.in (sdbout.o): Doesn't need $(OBSTACK_H).
2984 * collect2.h (permanent_obstack): Delete declaration.
2985 * collect2.c (permanent_obstack): Delete definition.
2986 (main): Don't initialise permanent_obstack. Use xstrdup instead.
2987 * expr.c: Don't include obstack.h.
2988 (permanent_obstack): Delete declaration.
2989 * function.c: Don't include obstack.h.
2990 (permanent_obstack): Delete declaration.
2991 * integrate.c: Don't include obstack.h.
2992 (function_maybepermanent_obstack): Delete declaration.
2993 * print-tree.c (debug_tree): Use x*alloc not permalloc.
2994 * sdbout.c (gen_fake_label): Use x*alloc not permalloc.
2995 * tlink.c (pfgets): Use xstrdup not permanent_obstack.
2996 * toplev.c (lang_independent_init): Rename init_obstacks to init_ttree.
2997 * tree.h: Rename init_obstacks to init_ttree. Remove declarations
2998 of permalloc, expralloc, perm_calloc.
2999 * tree.c (permanent_obstack): Delete definition.
3000 (init_ttree): Rename from init_obstacks.
3001 (permalloc): Delete.
3002 (perm_calloc): Delete.
3003 (dump_tree_statistics): Don't print information about
3004 permanent_obstack.
3005 * varasm.c (assemble_start_function): Use xstrdup instead of
3006 permalloc/strcpy.
3007 (assemble_variable): Likewise.
3008 * config/alpha/alpha.c (unicosmk_need_dex): Use xmalloc instead of
3009 permalloc.
3010 (unicosmk_add_extern): Likewise.
3011 * config/c4x/c4x.c (c4x_external_ref): Likewise.
3012 (c4x_global_label): Likewise.
3013 * config/frv/frv.c (frv_encode_section_info): Likewise.
3014 * config/i386/winnt.c (i386_pe_record_external_function): Likewise.
3015 (i386_pe_record_exported_symbol): Likewise.
3016 * config/mips/mips.c (mips_output_external): Likewise.
3017 (mips_output_external_libcall): Likewise.
3018 * config/pa/pa.c: (permanent_obstack): Delete declaration.
3019 (output_call): Use ggc_strdup instead of allocating on
3020 permanent_obstack.
3021 * config/romp/romp.c: Include ggc.h.
3022 (get_symref): Don't declare permanent_obstack, use ggc_strdup
3023 intead of permanent_obstack.
3024 * config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use concat
3025 instead of permalloc.
3026 * config/rs6000/rs6000.c (rs6000_gen_section_name): Use xmalloc
3027 instead of permalloc
3028 * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Use concat
3029 instead of permalloc.
3030 * config/vax/vax.c (vms_check_external): Use xmalloc instead of
3031 permalloc.
3032
36a05131
BS
30332002-08-04 Bernd Schmidt <bernds@redhat.com>
3034
3035 Contribute a port developed primarily by Michael Meissner,
3036 Catherine Moore, and Richard Sandiford <rsandifo@redhat.com>.
3037 * config.gcc: Add frv-elf target.
3038 * config/frv/cmovd.c: New file.
3039 * config/frv/cmovh.c: New file.
3040 * config/frv/cmovw.c: New file.
3041 * config/frv/frv-abi.h: New file.
3042 * config/frv/frv-asm.h: New file.
3043 * config/frv/frv-modes.def: New file.
3044 * config/frv/frv-protos.h: New file.
3045 * config/frv/frv.c: New file.
3046 * config/frv/frv.h: New file.
3047 * config/frv/frv.md: New file.
3048 * config/frv/frvbegin.c: New file.
3049 * config/frv/frvend.c: New file.
3050 * config/frv/lib1funcs.asm: New file.
3051 * config/frv/media.h: New file.
3052 * config/frv/modi.c: New file.
3053 * config/frv/t-frv: New file.
3054 * config/frv/uitod.c: New file.
3055 * config/frv/uitof.c: New file.
3056 * config/frv/ulltod.c: New file.
3057 * config/frv/ulltof.c: New file.
3058 * config/frv/umodi.c: New file.
3059 * config/frv/xm-frv.h: New file.
86a0cbcb
BS
3060
3061 * config/frv/media.h: Removed again.
3062
37b8715b
NS
30632002-08-04 Nathan Sidwell <nathan@codesourcery.com>
3064
3065 * gcov.c (bb_file_time): New static variable.
3066 (object_directory): May also be object file.
3067 (preserve_paths): New static variable.
3068 (print_usage): Adjust.
3069 (options): Adjust.
3070 (process_args): Adjust.
3071 (open_files): Simplify. Cope when OBJECT_DIRECTORY is an object
3072 file. Find modification date on bb file.
3073 (read_profile): Don't rewind a NULL file.
3074 (format_hwint): New static function.
3075 (function_summary): Use format_hwint.
3076 (output_data): SOURCE_FILE_NAME is never relative to
3077 OBJECT_DIRECTORY. Use format_hwint. Adjust gcov file name
3078 mangling. Adjust output format to make it more machine readable.
3079 * doc/gcov.texi: Document & clarify semantics.
a7701995 3080
d500c5d7
JM
30812002-08-04 Joseph S. Myers <jsm@polyomino.org.uk>
3082
3083 * doc/include/gcc-common.texi (version-GCC): Increase to 3.3.
3084
ea67fe71
NS
30852002-08-04 Nathan Sidwell <nathan@codesourcery.com>
3086
3087 * gcc.c (cc1_options): Pass output file as auxbase when
3088 appropriate.
3089 * profile.c (init_branch_prob): FILENAME has already had ending
3090 stripped.
3091 * final.c (end_final): Likewise.
3092 * toplev.c (aux_base_name): New global.
3093 (compile_file): Pass aux_base_name to init init_branch_prob and
3094 end_final.
3095 (independent_decode_option, case 'a'): New auxinfo options.
3096 (case 'd'): Protect against mising basename.
3097 (do_compile): Initialize aux_base_name.
3098 * toplev.h (aux_base_name): New global.
3099 * doc/invoke.texi: Adjust documentation.
3100
b23c054d
NS
31012002-08-04 Nathan Sidwell <nathan@codesourcery.com>
3102
3103 * config/i386/i386.c (x86_field_alignment): Remove duplicate test
3104 of TARGET_ALIGN_DOUBLE.
3105
04c1334c 31062002-08-04 Gabriel Dos Reis <gdr@nerim.net>
a7701995 3107
04c1334c
GDR
3108 * diagnostic.c (inform): New function.
3109 * diagnostic.h (inform): Declare.
a7701995 3110
e34eaae5
DE
31112002-08-03 David Edelsohn <edelsohn@gnu.org>
3112
3113 * config/rs6000/rs6000.md (movsi_internal1): Add nop mnemonic.
3114 (movhi_internal): Same.
3115 (movqi_internal): Same.
3116 (movdi_internal64): Same.
3117
3118 * config/rs6000/t-ppccomm (MULTILIB_MATCHES_FLOAT): Add mcpu=405.
3119
3120 * config/rs6000/xcoff.h (SKIP_ASM_OP): Define.
3121 (ASM_OUTPUT_SKIP): Use it. SIZE unsigned.
3122 (COMMON_ASM_OP): Define.
3123 (ASM_OUTPUT_ALIGNED_COMMON): Use it. SIZE unsigned.
3124 Use ALIGN parameter.
3125 (LOCAL_COMMON_ASM_OP): Define.
3126 (ASM_OUTPUT_LOCAL): Use it. SIZE unsigned.
3127
e7b489c8
RS
31282002-08-03 Roger Sayle <roger@eyesopen.com>
3129
3130 * builtins.def: Define new builtin functions exp, expf, expl,
3131 log, logf and logl (and their __builtin_* variants).
3132 * optabs.h (enum optab_index): Add new OTI_exp and OTI_log.
3133 Define exp_optab and log_optab.
3134 * optabs.c (init_optans): Initialize exp_optab and log_optab.
3135 * genopinit.c (optabs): Implement exp_optab and log_optab
3136 using exp?f2 and log?f2 patterns.
3137 * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_EXP*
3138 and BUILT_IN_LOG* using exp_optab and log_optab respectively.
3139 (expand_builtin): Ignore the new builtins (and all cos and
3140 sin variants) when not optimizing. Expand new builtins via
3141 expand_builtin_mathfn when flag_unsafe_math_optimizations.
3142
3143 * doc/extend.texi: Document new exp and log builtins.
3144 * doc/md.texi: Document new exp?f2 and log?f2 patterns
3145 (and previously undocumented cos?f2 and sin?f2 patterns).
3146
de8920be
JM
31472002-08-03 Jason Merrill <jason@redhat.com>
3148
3149 * explow.c (int_expr_size): New fn.
3150 * expr.c (expand_expr) [CONSTRUCTOR]: Use it.
3151 * expr.h: Declare it.
3152
ba462c8e
KW
31532002-08-02 Krister Walfridsson <cato@df.lth.se>
3154
3155 * Makefile.in (gengtype-lex.o, gengtype-yacc.o): Add path to
3156 gengtype-* dependencies.
3157
2017ed61
EC
31582002-08-02 Eric Christopher <echristo@redhat.com>
3159
3160 * config.gcc (mips*-*-linux*): Fix ordering of tm_file.
3161 * config/mips/mips.h (READONLY_DATA_SECTION_ASM_OP): Change
3162 #ifndef to #undef.
3163 (TARGET_MEM_FUNCTIONS): Define instead of define to 1.
3164
055dd007
DE
31652002-08-02 David Edelsohn <edelsohn@gnu.org>
3166
3167 PR optimize/7067
3168 * config/rs6000/rs6000.h (RTX_COSTS): Artificially make MULT
3169 small if optimizing for size.
3170
771a2a66
DJ
31712002-08-02 Daniel Jacobowitz <drow@mvista.com>
3172
3173 * configure.in (FORBUILD): Use $build_alias.
3174 * configure: Regenerated.
3175
ac8ab9fe
RS
31762002-08-02 Richard Sandiford <rsandifo@redhat.com>
3177
3178 * config.gcc: Don't include mips/abi64.h in $tm_file.
3179 * hard-reg-set.h (call_really_used_regs): Declare.
3180 * config/mips/abi64.h: Remove file.
3181 * config/mips/linux.h,
3182 * config/mips/iris6.h: Don't include it.
3183 * config/mips/mips-protos.h (mips_conditional_register_usage): Declare.
3184 * config/mips/mips.h (CONDITIONAL_REGISTER_USAGE): Use it.
3185 (REG_PARM_STACK_SPACE, STACK_BOUNDARY, STRICT_ARGUMENT_NAMING,
3186 FUNCTION_ARG_PASS_BY_REFERENCE, FUNCTION_ARG_PADDING,
3187 FUNCTION_ARG_CALLEE_COPIES, MUST_PASS_IN_STACK, MIPS_STACK_ALIGN):
3188 Bring across definitions from abi64.h.
3189 (GP_ARG_LAST, FP_ARG_LAST): Use MAX_ARGS_IN_REGISTERS.
3190 (BIGGEST_MAX_ARGS_IN_REGISTERS): New.
3191 (struct mips_args): Use it.
3192 * config/mips/mips.c (mips_conditional_register_usage): Define.
3193
a77a9a18
JM
31942002-08-02 Jason Merrill <jason@redhat.com>
3195
3196 * langhooks-def.h (LANG_HOOKS_EXPR_SIZE): New macro.
3197 * langhooks.c (lhd_expr_size): Define default.
3198 * langhooks.h (struct lang_hooks): Add expr_size.
3199 * explow.c (expr_size): Call it.
3200 * expr.c (store_expr): Don't copy an expression of size zero.
3201 (expand_expr) [CONSTRUCTOR]: Use expr_size to calculate how much
3202 to store.
3203 * Makefile.in (builtins.o): Depend on langhooks.h.
3204
a6be5aee
KG
32052002-08-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3206
3207 * Makefile.in (ra-debug.o): Depend on $(TM_P_H).
3208 * ra-debug.c: Include "tm_p.h".
3209 * ra-rewrite.c (is_partly_live_1): Change return type to bool.
3210
e3e16ee3
TM
32112002-08-02 Toon Moene <toon@moene.indiv.nluug.nl>
3212
3213 * simplify-rtx.c (simplify_binary_operation): x * 1 is allowed
3214 when not honoring signalling NaNs.
3215 (simplify_ternary_operation): a == b has a definite value
3216 when not honoring NaNs.
3217
b9d8832d
JM
32182002-08-02 Jason Merrill <jason@redhat.com>
3219
3220 * gdbinit.in (pct): New macro.
3221
825abef4
SS
32222002-08-01 Stan Shebs <shebs@apple.com>
3223 Andreas Tobler <toa@pop.agri.ch>
3224
3225 * ginclude/stddef.h (_BSD_SIZE_T_DEFINED_): Define if not defined,
3226 plays nice with Darwin headers.
bf2e488f 3227 (_BSD_RUNE_T_DEFINED_): Likewise.
825abef4 3228
56da7207
ZW
32292002-08-01 Zack Weinberg <zack@codesourcery.com>
3230
3231 * c-common.c (c_common_init): -Wtraditional also implies -Wlong-long.
3232 * cppinit.c (cpp_post_options): Likewise.
3233
3234 * cppexp.c (cpp_classify_number): Suppress -Wtraditional
3235 warning about 'LL' suffix (but not 'ULL' etc) when
3236 -Wno-long-long is in effect.
3237
3238 * cppmacro.c (_cpp_builtin_macro_text) [BT_TIME, BT_DATE]:
3239 Check for failing time()/localtime(), issue a warning, and
3240 make __TIME__ and __DATE__ expand to fallback strings.
3241
3242 * doc/cpp.texi, doc/extend.texi: Document behavior of __DATE__
3243 and __TIME__ when the date and time cannot be determined.
3244
f4857b9b
AM
32452002-08-02 Alan Modra <amodra@bigpond.net.au>
3246
3247 * config/rs6000/rs6000.c (output_cbranch): Hint differently for power4.
3248
77ca7b2e
DJ
32492002-08-01 Daniel Jacobowitz <drow@mvista.com>
3250
3251 * Makefile.in ($(BUILD_PREFIX_1)ggc-none.o): Use $(GGC_H).
3252
5b552f76
CD
32532002-08-01 Chris Demetriou <cgd@broadcom.com>
3254
3255 * config.gcc (mipsisa64sb1-*-elf*): New configuration.
3256 (mipsisa64sb1el-*-elf*): Likewise.
3257 * config/mips/mips.c (mips_cpu_info_table): Add sb1.
3258 * config/mips/mips.h (processor_type): Add PROCESSOR_SB1.
3259 (TARGET_SB1, TUNE_SB1): New macros.
3260 * doc/invoke.texi: Add sb1 to documentation for MIPS -march and
3261 -mtune flags.
3262
54fbf6a1
DE
32632002-08-01 David Edelsohn <edelsohn@gnu.org>
3264
3265 * varasm.c (asm_emit_uninitialized): Return false if global BSS
3266 and ASM_EMIT_BSS not supported by target.
3267 (assemble_variable): Do not duplicate uninitialized logic.
3268 Fall through if asm_emit_uninitialized failed.
3269
3d16b407
CD
32702002-08-01 Chris Demetriou <cgd@broadcom.com>
3271
3272 * config/mips/mips.h (BRANCH_LIKELY_P): Remove unused macro.
3273
fb52d8de
AM
32742002-08-02 Alan Modra <amodra@bigpond.net.au>
3275
80926cc1
AM
3276 * config/rs6000/linux64.h (DBX_OUTPUT_BRAC): Define.
3277 (DBX_OUTPUT_LBRAC, DBX_OUTPUT_RBRAC): Define.
3278
fb52d8de
AM
3279 * config/rs6000/rs6000.c (output_toc): Don't use lshift_double when
3280 HOST_BITS_PER_WIDE_INT == 64.
3281
a4b5414c
KG
32822002-08-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3283
3284 * df.c (df_insn_table_realloc): Change parameter to unsigned.
3285 * optabs.c (expand_binop): Make variable unsigned.
3286 * simplify-rtx.c (simplify_subreg): Likewise.
3287 * unroll.c (unroll_loop): Cast to avoid signed/unsigned warnings.
3288
a03e67c3
FS
32892002-08-01 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
3290
3291 * c-common.c (cb_register_builtins): Always define __GXX_ABI_VERSION.
3292
de273d3f
RH
32932002-08-01 Richard Henderson <rth@redhat.com>
3294
56da7207 3295 * toplev.c (parse_options_and_default_flags): Don't set
de273d3f
RH
3296 flag_reorder_blocks for -Os.
3297
3298 * config/avr/avr.c (avr_optimization_options): Remove.
3299 * config/avr/avr.h (OPTIMIZATION_OPTIONS): Remove.
3300 * config/m68hc11/m68hc11.c (m68hc11_optimization_options): Remove.
3301 * config/m68hc11/m68hc11.h (OPTIMIZATION_OPTIONS): Remove.
3302
4e4d733e
L
33032002-08-01 H.J. Lu <hjl@gnu.org>
3304 Richard Henderson <rth@redhat.com>
3305
3306 * output.h (DECL_READONLY_SECTION): Remove.
3307 (decl_readonly_section): Declare.
3308 * varasm.c (decl_readonly_section): New.
3309 (default_section_type_flags, default_select_section): Use it.
3310 * config/arm/pe.c (arm_pe_unique_section): Likewise.
3311 * config/i386/interix.c (i386_pe_unique_section): Likewise.
3312 * config/i386/winnt.c (i386_pe_unique_section): Likewise.
3313 * config/mcore/mcore.c (mcore_unique_section): Likewise.
3314 * config/mips/mips.c (mips_unique_section): Likewise.
3315
32e9b960
RH
33162002-08-01 Richard Henderson <rth@redhat.com>
3317
3318 * integrate.c (copy_rtx_and_substitute): Squash MEM_EXPR when it
3319 refers to a subroutine parameter.
3320
81e602b5
JJ
33212002-08-01 Jakub Jelinek <jakub@redhat.com>
3322
3323 * varasm.c (assemble_visibility): Strip name encoding.
3324
ac14c725
ID
33252002-08-01 Ian Dall <ian@sibyl.beware.dropbear.id.au>
3326
3327 * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE): Correct earlier patch.
3328 (RETURN_ADDR_RTX): Cannot determine return address for FRAME > 0
3329 when there is no frame pointer.
3330 (INITIAL_FRAME_POINTER_OFFSET): Count stack space for saved fp
3331 registers properly.
3332 * config/ns32k/__unorddf2.c: New file.
3333 * config/ns32k/__unordsf2.c: New file.
3334 * config/ns32k/t-ns32k: New file.
3335 * config.gcc (ns32k-*-netbsd*): Use it.
3336
17072732
AH
33372002-08-01 Aldy Hernandez <aldyh@redhat.com>
3338
3339 * config/rs6000/rs6000.h (SPU_CONST_OFFSET_OK): Change to 0xff.
3340
c288218a
NB
33412002-08-01 Neil Booth <neil@daikokuya.co.uk>
3342
3343 * c-common.c (__GXX_ABI_VERSION): Correct spelling.
3344
43bfc248
BK
33452002-08-01 Benjamin Kosnik <bkoz@redhat.com>
3346
3347 * c-common.c (cb_register_builtins): Set __GXX_ABI_VERSION__ to 102.
3348
479f2cea
RS
33492002-08-01 Richard Sandiford <rsandifo@redhat.com>
3350
3351 * config/mips/mips.md: Add [!]TARGET_MIPS16 to sgtu conditions.
3352
02280659
ZD
33532002-08-01 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3354
3355 * gcse.c (expr_hash_table_size, n_exprs, set_hash_table_size,
3356 n_sets): Removed.
3357 (expr_hash_table, set_hash_table): Type changed to ...
3358 (struct hash_table): New type.
3359 (hash_scan_insn, hash_scan_set, hash_scan_clobber, hash_scan_call,
3360 insert_expr_in_table, insert_set_in_table, compute_hash_table,
3361 dump_hash_table, lookup_expr, lookup_set, compute_local_properties,
3362 compute_ae_gen, compute_ae_kill): Modified to pass the table explicitly.
3363 (alloc_set_hash_table, alloc_expr_hash_table): Merged to ...
3364 (alloc_hash_table): New.
3365 (free_set_hash_table, free_expr_hash_table): Merged to ...
3366 (free_hash_table): New.
3367 (compute_set_hash_table, compute_expr_hash_table): Merged to ...
3368 (compute_hash_table_work): New.
3369 (classic_gcse, one_classic_gcse_pass, compute_cprop_data,
3370 find_avail_set, one_cprop_pass, find_bypass_set, compute_pre_data,
3371 pre_edge_insert, pre_insert_copies, pre_delete, pre_gcse,
3372 one_pre_gcse_pass, compute_transpout, compute_code_hoist_vbeinout,
3373 hoist_code, one_code_hoisting_pass,
3374 trim_ld_motion_mems): Altered due to changed type of hash tables.
3375
905173eb
ZW
33762002-08-01 Zack Weinberg <zack@codesourcery.com>
3377
3378 * final.c (output_alternate_entry_point):
3379 If ASM_OUTPUT_TYPE_DIRECTIVE is defined, use it.
3380
83321d36
KG
33812002-08-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3382
ad0f1765
KG
3383 * objc/objc-act.c (encode_complete_bitfield): Add prototype and
3384 avoid ISO C style function definition.
3385
83321d36
KG
3386 * expr.c (expand_assignment): Delete unused variable.
3387
73e42cf3
TM
33882002-08-01 Toon Moene <toon@moene.indiv.nluug.nl>
3389
3390 * c-common.c (cb_register_builtins): Set
3391 __FINITE_MATH_ONLY__ to 1 if -ffinite-math-only
3392 is given, and to 0 otherwise.
3393 * combine.c (simplify_if_then_else): HONOR_NANS
3394 implies FLOAT_MODE_P.
3395
78df51fe
NB
33962002-08-01 Neil Booth <neil@daikokuya.co.uk>
3397
3398 * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_dollar.
3399 (cpp_handle_option): Don't handle it.
3400 (print_help): Update.
3401 * doc/cppopts.texi: Update.
3402
abecfc8f
NB
34032002-08-01 Neil Booth <neil@daikokuya.co.uk>
3404
3405 * c-common.c (cb_register_builtins): If C++, define
3406 __EXCEPTIONS, __DEPRECATED and __GXX_ABI_VERSION as appropriate.
3407 * gcc.c (cpp_unique_options): Remove __GXX_ABI_VERSION.
3408cp:
3409 * lang-specs.h: Simplify in accordance with new code in
3410 c-common.c.
3411
4078b403
NB
34122002-08-01 Neil Booth <neil@daikokuya.co.uk>
3413
3414 * c-common.c: Define all C/ObjC/C++ warning and flag variables.
3415 * c-common.h: Declare all C/ObjC/C++ warning and flag variables.
3416 * c-decl.c: Move all warning and flag variables to c-common.c.
3417 * c-format.c: Move all warning variables to c-common.c.
3418 * c-tree.h: Move all warning and flag declarations to c-common.h.
3419 * objc/objc-act.c: Move all warning variables to c-common.c.
3420 (flag_warn_protocol): Rename warn_protocol.
3421
692f5611
JDA
34222002-07-31 John David Anglin <dave@hiauly1.hia.nrc.ca>
3423
3424 * pa-linux.h (GLOBAL_ASM_OP): Fix typo.
3425
c7a009a2 34262002-07-31 Graham Stott <graham.stott@btinternet.com>
480e7ded 3427
905173eb 3428 * config/stormy16/stormy16.h (BSS_SECTION_ASM_OP): Add missing
480e7ded
GS
3429 .section prefix.
3430
b069de3b
SS
34312002-07-31 Stan Shebs <shebs@apple.com>
3432
3433 * config.gcc (i[34567]86-*-darwin*): New configuration.
3434 * config/darwin.h (TARGET_ENCODE_SECTION_INFO): Undefine before
3435 defining.
3436 (TARGET_ENCODE_SECTION_INFO): Ditto.
3437 (ASM_PREFERRED_EH_DATA_FORMAT): Ditto.
3438 * config/darwin.c (machopic_indirect_data_reference): Remove
3439 setting of RTX_UNCHANGING_P.
3440 (machopic_legitimize_pic_address): Move RTX_UNCHANGING_P up so as
3441 not to be applied to sums.
3442 * config/i386/t-darwin: New file.
3443 * config/i386/darwin.h: New file.
3444 * config/i386/i386.h (TARGET_MACHO): Add default definition.
3445 * config/i386/i386.md (tablejump): Add TARGET_MACHO case.
3446 * config/i386/i386.c (output_set_got): For Mach-O, output Mach-O
3447 label and not the GOT add.
3448 (constant_address_p): For Mach-O, seeing a CONST is enough.
3449 (legitimate_pic_address_disp_p): Add a Mach-O case.
3450 (legitimate_address_p): Also test machopic_operand_p if Mach-O.
3451 (legitimize_pic_address): Use generic Mach-O code to legitimize.
3452 (output_pic_addr_const): Suppress @PLT if Mach-O, and parens
3453 if outputting a difference.
3454 (ix86_output_addr_diff_elt): Add Mach-O case.
3455 (ix86_expand_move): Similarly.
3456 (ix86_expand_call): Similarly.
3457 (current_machopic_label_num): New global.
3458 (machopic_output_stub): New function.
3459 (ix86_value_regno): New function.
3460 (ix86_function_value): Use it instead of VALUE_REGNO.
3461 (ix86_libcall_value): Ditto.
3462 * config/i386/unix.h (VALUE_REGNO): Remove.
3463
1de4ecb6
GS
34642002-07-31 Graham Stott <grahas@btinternet.com>
3465
3466 * config/rs6000/rs6000.c(rs6000_hash_constant): Fix
905173eb 3467 hash for LABEL_REF's.
1de4ecb6 3468
23368455
GS
34692002-07-31 Graham Stott <grahams@btinternet.com>
3470
3471 * config/rs6000/rs6000.c (spe_init_builtins,
3472 altivec_init_builtins, rs6000_common_init_builtins):
905173eb 3473 Replace ANSI with K&R function def.
23368455 3474
ad72b533
DE
34752002-07-31 David Edelsohn <edelsohn@gnu.org>
3476
3477 * rs6000.c (validate_condition_mode): Test flag_finite_math_only
3478 for CCFPmode.
3479
302359da
RS
34802002-07-31 Richard Sandiford <rsandifo@redhat.com>
3481
3482 * config/mips/crtn.asm: Don't use __mips16 to determine the
3483 return-address offset. Define RA to a suitable temporary
3484 register for the return address.
3485
ead0c1d5
RS
34862002-07-31 Richard Sandiford <rsandifo@redhat.com>
3487
3488 * config/mips/mips.md (eh_set_lr_si, eh_set_lr_di): Change
3489 constraints to 'd'.
3490
3fb9d48a
CD
34912002-07-30 Chris Demetriou <cgd@broadcom.com>
3492
3493 * config/mips/elf.h (STARTFILE_SPEC): Define differently if
3494 default ABI is MEABI. (Undoes incorrect change in Eric Christopher's
3495 patch on 2002-07-29.)
3496 * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
3497
072cdaed
KG
34982002-07-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3499
506a61b1
KG
3500 * alpha.h, arc.h, arm/aout.h, avr.h, cris.h, d30v.h, dsp16xx.h,
3501 fr30.h, h8300.h, i370.h, i386/sco5.h, i386/unix.h, i960.h, ia64.h,
3502 ip2k.h, m32r.h, mcore.h, mips.h, mn10200.h, mn10300.h, ns32k.h,
3503 openbsd.h, pa/pa-linux.h, pdp11.h, romp.h, rs6000/sysv4.h,
3504 s390/linux.h, sh.h, sparc.h, stormy16.h, v850.h, vax.h, xtensa.h:
3505 (ASM_GLOBALIZE_LABEL): Delete.
3506 (GLOBAL_ASM_OP): Define.
3507
072cdaed 3508 * m68hc11.h, m68k.h, m88k.h (ASM_GLOBALIZE_LABEL): Delete.
905173eb 3509
072cdaed
KG
3510 * defaults.h (ASM_GLOBALIZE_LABEL): Provide a default.
3511 * doc/tm.texi (ASM_GLOBALIZE_LABEL): Update docs.
3512
6fd14075
GK
35132002-07-30 Geoffrey Keating <geoffk@redhat.com>
3514
3515 * doc/extend.texi (Hints implementation): Document that GCC
3516 mostly ignores `register'.
3517
2e8f2e8f
TM
35182002-07-30 Toon Moene <toon@moene.indiv.nluug.nl>
3519
3520 * flags.h: Declare flag_finite_math_only.
3521 Use it in definition of HONOR_NANS and
3522 HONOR_INFINITIES.
3523 * c-common.c (cb_register_builtins): Emit
3524 __FINITE_MATH_ONLY__ when flag_finite_math_only
3525 is set.
3526 * combine.c (simplify_if_then_else): If
3527 flag_finite_math_only is set, a == b has a
3528 definite value.
3529 * toplev.c: Initialize flag_finite_math_only.
3530 (set_flags_fast_math): Set it on -ffast-math.
3531 (flag_fast_math_set_p): Test it.
3532 * doc/invoke.texi: Document -ffinite-math-only.
3533
a538e580
RH
35342002-07-30 Richard Henderson <rth@redhat.com>
3535
3536 * ifcvt.c (noce_get_alt_condition): Use reg_overlap_mentioned_p.
3537 (noce_process_if_block): Likewise.
3538
26e20555
BS
35392002-07-30 Bernd Schmidt <bernds@redhat.com>
3540
3541 * ifcvt.c (cond_exec_process_if_block): Fix a merging error.
3542 Bail out early if false_expr is NULL and we'd crash due to this.
79cbc1f7
BS
3543 * genemit.c (gen_expand): Recognize return insns even if the return
3544 appears in a parallel.
d8088c6f
BS
3545 * libgcc2.c: Expand macro DECLARE_LIBRARY_RENAMES if it is defined.
3546 * config/fp-bit.c: Likewise.
3547 * doc/tm.texi: Document it.
905173eb 3548
0559cc77
DE
35492002-07-30 David Edelsohn <edelsohn@gnu.org>
3550 Zack Weinberg <zack@codesourcery.com>
3551
3552 * rs6000.c (rs6000_expand_unop_builtin): Check icode not
3553 CODE_FOR_nothing. Change switch to if.
3554 (rs6000_expand_binop_builtin): Same.
3555 (rs6000_expand_builtin): Expand builtin if target support enabled.
3556 (rs6000_init_builtins): Init builtin if target support enabled.
3557 (rs6000_common_init_builtins): Check icode not CODE_FOR_nothing.
3558
60b8aa94
FS
35592002-07-30 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
3560
3561 * gcc.c (cpp_unique_options): Define __GXX_ABI_VERSION, bump it to 101.
3562
714fb710
RS
35632002-07-30 Richard Sandiford <rsandifo@redhat.com>
3564
3565 * config/mips/mips.h (SUBTARGET_ASM_DEBUGGING_SPEC): Fix typo.
3566
c608a684
R
3567Tue Jul 30 18:31:31 2002 J"orn Rennecke <joern.rennecke@superh.com>
3568
3569 * sh.md (cond_delay_slot): New attribute.
3570 (cbranch delay): Use it for anulled-true case.
3571 (stuff_delay_slot): New pattern.
3572 * sh.c (print_operand, case '.'): Don't print .s / /s fore zero-length
3573 delay slot insn.
3574 (gen_far_branch): Emit stuff_delay_slot pattern.
3575
0a756401
R
3576Tue Jul 30 11:21:44 2002 J"orn Rennecke <joern.rennecke@superh.com>
3577
3578 * unroll.c (copy_loop_body): Don't copy NOTE_INSN_LOOP_CONT.
3579
68e82b83
KH
35802002-07-30 Kazu Hirata <kazu@cs.umass.edu>
3581
3582 * fold-const.c: Fix comment typos.
3583 * gcse.c: Likewise.
3584 * reload1.c: Likewise.
3585
fe6b547a
AH
35862002-07-29 Aldy Hernandez <aldyh@redhat.com>
3587
3588 * config/rs6000/rs6000.md: Disallow CCEQ compare with crnor/crnot
3589 for TARGET_SPE.
3590
7ff4a7ef
GDR
35912002-07-30 Gabriel Dos Reis <gdr@nerim.net>
3592
3593 * c-pretty-print.h (pp_c_statement): Declare.
3594 * c-pretty-print.c (pp_c_postfix_expression): #if 0 support for SRCLOC.
3595 (pp_c_statement): Define.
3596
4ad5e05d
KG
35972002-07-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3598
3599 * alpha.h, arc.h, arm/aout.h, avr.h, c4x.h, cris.h, d30v.h,
3600 darwin.h, dsp16xx.h, fr30.h, h8300.h, i370.h, i386.h, i960.h,
3601 ip2k.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mips.h,
3602 mn10200.h, mn10300.h, ns32k.h, pa/pa-linux.h, pdp11.h, romp.h,
3603 rs6000/sysv4.h, s390/linux.h, sh.h, sparc.h, stormy16.h,
3604 v850.h, vax.h, xtensa.h (ASM_OUTPUT_LABEL): Delete definition.
3605
3606 * defaults.h (ASM_OUTPUT_LABEL): Provide a default.
3607 * doc/tm.texi (ASM_OUTPUT_LABEL): Update docs.
3608
1e6a3e1e
GDR
36092002-07-30 Gabriel Dos Reis <gdr@nerim.net>
3610
3611 * c-pretty-print.c (pp_c_primary_expression): Handle STMT_EXPR.
3612 (pp_c_postfix_expression): Handle ARROW_EXPR, FFS_EXPR,
3613 COMPOUND_LITERAL_EXPR, VA_ARG_EXPR.
3614 (pp_c_expression): Update.
3615
1dcd444b
KG
36162002-07-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3617
3618 * alpha/vms-cc.c (preprocess_args, main): Use xstrdup and/or
3619 concat in lieu of xmalloc/strcpy/memcpy/sprintf.
3620 * alpha/vms-ld.c (main): Likewise.
3621 * dsp16xx.c (double_reg_to_memory): Likewise.
3622 * mcore.c (mcore_expand_prolog): Likewise.
3623 * cppfiles.c (read_name_map): Likewise.
3624 * gensupport.c (process_rtx, identify_predicable_attribute,
3625 alter_test_for_insn): Likewise.
3626 * vmsdbgout.c (write_rtnbeg, vmsdbgout_init): Likewise.
3627
e62f4abc
RS
36282002-07-29 Roger Sayle <roger@eyesopen.com>
3629
3630 * builtins.c (expand_builtin): Change the default behavior to
905173eb 3631 only issue an error if the builtin function doesn't have a
e62f4abc
RS
3632 fallback library call. Remove several cases handled by the
3633 new default.
3634
0cd2fb44
JDA
36352002-07-29 John David Anglin <dave@hiauly1.hia.nrc>
3636
3637 * real.c (ieee_24, ieee_53, ieee_64, ieee_113): Define only if the
3638 floating point format of the target is IEEE.
3639 * (dec_f, dec_d, dec_g, dec_h): Define only if the floating point
3640 format of the target is DEC.
3641
b642261e
RH
36422002-07-29 Richard Henderson <rth@redhat.com>
3643
3644 * unroll.c (verify_addresses): Remove.
3645 (find_splittable_givs): Never split DEST_ADDR givs.
3646
cba57c9d
GK
36472002-07-29 Geoffrey Keating <geoffk@redhat.com>
3648
3649 * doc/gty.texi (GGC Roots): Clarify that the list of syntaxes
3650 is exhaustive.
3651 (Files): Improve documentation on generated source files.
3652
3653 * doc/extend.texi (Translation implementation): Document what
3654 diagnostics look like.
3655 (Identifiers implementation): Document that there's normally no
3656 limit on identifier names.
3657 (Integers implementation): Document two's complement.
3658 (Hints implementation): Document that GCC honours 'inline', mostly.
3659 (Preprocessing directives implementation): Document that GCC
3660 requires the current time.
3661
76a8ecba
GDR
36622002-07-30 Gabriel Dos Reis <gdr@nerim.net>
3663
3664 * c-pretty-print.h (struct c_pretty_print_info): Add new member.
3665 (pp_initializer): New macro.
3666 (pp_c_initializer): Declare.
3667 * c-pretty-print.c (pp_c_primary_expression): HAndle TARGET_EXPR.
3668 (pp_c_initializer): Define.
3669 (pp_c_initializer_list): New function.
3670 (pp_c_postfix_expression): Handle ABS_EXPR, COMPLEX_CST,
3671 VECTOR_CST, CONSTRUCTOR.
3672 (pp_c_unary_expression): Handle CONJ_EXPR, REALPART_EXPR,
905173eb 3673 IMAGPART_EXPR.
76a8ecba
GDR
3674 (pp_c_cast_expression): Handle FLOAT_EXPR.
3675 (pp_c_assignment_expression): Handle INIT_EXPR.
3676 (pp_c_expression): Update.
3677
4307be72
NB
36782002-07-30 Neil Booth <neil@daikokuya.co.uk>
3679
3680 * objc/objc-act.c (objc_init): Return immediately if filename
3681 is NULL.
3682
6d439235
EC
36832002-07-29 Eric Christopher <echristo@redhat.com>
3684
905173eb
ZW
3685 * config/mips/elf.h: Remove ecoff.h and gofast includes.
3686 (DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO): Define unconditionally.
3687 (SDB_DEBUGGING_INFO): Undefine.
3688 (PREFERRED_DEBUGGING_TYPE): Set to DWARF2_DEBUG.
6d439235
EC
3689 (PUT_SDB_SIZE): Remove.
3690 (SUBTARGET_ASM_DEBUGGING_SPEC): Redefine.
905173eb
ZW
3691 (STARTFILE_SPEC): Add isa3264 define.
3692 * config/mips/elf64.h: Ditto. Move TARGET_MEM_FUNCTIONS from here...
3693 * config/mips/ecoff.h: Remove. and here...
3694 * config/mips/iris3.h: and here...
3695 * config/mips/sni-svr4.h: and here...
3696 * config/mips/mips.h: To here. Remove OBJECT_FORMAT_ROSE ifdefs.
6d439235
EC
3697 Add assembler -mmdebug options for non-dwarf debugging.
3698 * config/mips/r3900.h: Remove debug info defines.
905173eb
ZW
3699 * config/mips/isa32-linux.h: Remove, move functionality to config.gcc.
3700 * config/mips/isa3264.h: Ditto.
3701 * config/mips/t-isa3264: Fix up for file removal and gofast configure
3702 change.
3703 * config/mips/t-elf: Ditto.
3704 * config/mips/t-ecoff: Ditto.
3705 * config/mips/t-r3900: Ditto.
3706 * config/mips/t-iris5-6: Ditto.
3707 * config/mips/t-isa3264: Ditto.
3708 * config/mips/t-linux: Remove.
3709 * config/mips/t-netbsd: Remove.
3710 * config/mips/t-mips: New file.
3711 * config/mips/t-gofast: Ditto.
3712 * config/mips/netbsd.h: Remove unnecessary undefines.
3713 * config/mips/linux.h: Remove #include of mips.h.
3714 * config.gcc: Add mips.h include for elf targets. Remove tm_file
3715 for ecoff. Add gofast configure option for mips.
6d439235 3716
4357a6c3
CD
37172002-07-29 Chris Demetriou <cgd@broadcom.com>
3718
3719 * configure.in (mips*-*-*): Add a test to see if MIPS libgloss
3720 linker scripts use STARTUP directives consistently.
3721 * configure: Regenerate.
3722 * config.in: Regenerate.
3723 * config/mips/elf.h (STARTFILE_SPEC): Define conditionally, based
3724 on whether HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is defined.
3725 * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
3726 * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine if
3727 HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is set; the result
3728 will be the same.
3729
9a5cd606
AH
37302002-07-29 Aldy Hernandez <aldyh@redhat.com>
3731
3732 * config/rs6000/rs6000.md ("cpu"): Add ppc8540 to attribute.
3733
a23acaa6
AH
37342002-07-29 Aldy Hernandez <aldyh@redhat.com>
3735
3736 * config/rs6000/rs6000.h (RTX_COSTS): Add MULT case for 8540.
3737
10ed84db
AH
37382002-07-29 Aldy Hernandez <aldy@quesejoda.com>
3739
3740 * config/rs6000/rs6000.md: Move altivec patterns from here...
3741
3742 * config/rs6000/altivec.md: ...to here.
3743
c3021e5d
AH
37442002-07-29 Aldy Hernandez <aldyh@redhat.com>
3745
3746 * config/rs6000/spe.md ("spe_evmra"): Change to unspec.
3747
6f1087be
RH
37482002-07-29 Richard Henderson <rth@redhat.com>
3749
3750 * emit-rtl.c (set_mem_attributes_minus_bitpos): Rename from
3751 set_mem_attributes and add BITPOS argument. Subtract it from
3752 OFFSET when same is adjusted.
3753 (set_mem_attributes): New wrapper function.
3754 * expr.c (expand_assignment): Use set_mem_attributes_minus_bitpos;
3755 remove offset adjustment hack.
3756 * expr.h (set_mem_attributes_minus_bitpos): Declare.
3757
61ccbcfd
GDR
37582002-07-29 Gabriel Dos Reis <gdr@nerim.net>
3759
3760 * Makefile.in (C_OBJS): Include c-pretty-print.o
3761 (c-pretty-print.o): Add depency rule.
3762 * pretty-print.h: Add more macros.
3763 * c-pretty-print.c: New file.
3764 * c-pretty-print.h: Likewise.
3765
09101f56
AH
37662002-07-29 Aldy Hernandez <aldyh@redhat.com>
3767
3768 * config/rs6000/spe.h (__internal_ev_mwhgumian): Cast vector
3769 constants to __ev64_s32__.
3770 (__internal_ev_mwhgsmian): Same.
3771 (__internal_ev_mwhgsmfan): Same.
3772 (__internal_ev_mwhgssfan): Same.
3773 (__internal_ev_mwhgumiaa): Same.
3774 (__internal_ev_mwhgsmiaa): Same.
3775 (__internal_ev_mwhgsmfaa): Same.
3776 (__internal_ev_mwhgssfaa): Same.
3777
af673a52
DE
37782002-07-29 David Edelsohn <edelsohn@gnu.org>
3779
3780 * varasm.c (assemble_variable): Narrow test for uninitialized
3781 without BSS target support.
3782
6c208acd
NS
37832002-07-29 Nathan Sidwell <nathan@codesourcery.com>
3784
3785 * profile.c: Add file comment describing the overall algorithm and
3786 structures.
3787 (struct edge_info): Add comments.
3788 (struct bb_info): Add comments.
3789 * basic-block.h (EDGE_*): Add comments.
3790 * doc/gcov.texi (Gcov Data Files): Document bit flags.
3791
624f0d60
BW
37922002-07-29 Bob Wilson <bob.wilson@acm.org>
3793
3794 * config/xtensa/elf.h, config/xtensa/linux.h
3795 (TARGET_OS_CPP_BUILTINS): Define.
3796 (CPP_PREDEFINES): Remove.
3797 * config/xtensa/xtensa.h (TARGET_CPU_CPP_BUILTINS): Define.
3798 (CPP_SPEC): Remove.
3799
2199e5fa
ZW
38002002-07-29 Zack Weinberg <zack@codesourcery.com>
3801
3802 * gensupport.c: Include hashtab.h.
3803 (insn_elision, condition_table, hash_c_test, cmp_c_test,
3804 maybe_eval_c_test): New routines and data structures to
3805 support insn elision.
3806 (init_md_reader): Read and initialize the condition_table.
3807 (read_md_rtx): Discard insn patterns whose C test is provably
3808 always false.
3809 * gensupport.h: Declare new functions and data structures.
3810
3811 * genconditions.c, dummy-conditions.c: New files.
3812 * Makefile.in: Build genconditions; run it to construct
3813 insn-conditions.c; build that and link it into most gen*
3814 programs.
3815 (HOST_SUPPORT, HOST_EARLY_SUPPORT): New variables.
3816 (GEN): Delete, unused.
3817 (STAGESTUFF): Update.
3818
3819 * gencodes.c: (gen_insn): #define CODE_FOR_xxx equal to
3820 CODE_FOR_nothing for all elided patterns.
3821 (main): Tweaked to support this.
3822 * genflags.c (gen_proto): Emit a static inline generator
3823 function here for all elided patterns, which simply returns
3824 NULL_RTX.
3825 (gen_insn): Do not define HAVE_xxx for elided patterns.
3826 (main): Tweaked to support this. No need to forward-declare
3827 struct rtx_def.
3828 * genrecog.c: Do not bother emitting the C test if it's known
3829 to be true at compile time.
3830
6ab185d6
MS
38312002-07-29 Mike Stump <mrs@apple.com>
3832
6d439235 3833 * config.gcc (target_gtfiles): Initialize, as otherwise cross
2199e5fa 3834 compilers hosted on powerpc-apple-darwin6.0 won't even build.
6ab185d6 3835
72b075d1
RE
38362002-07-29 Richard Earnshaw <rearnsha@arm.com>
3837
3838 * arm.md (sibcall, sibcall_value): Add RETURN as part of the pattern,
3839 remove clobber of LR.
3840 (sibcall_insn, sibcall_value_insn): Update accordingly.
3841 (sibcall_epilogue): Remove debugging comment from assembler stream.
3842
f63c45ec
GDR
38432002-07-29 Gabriel Dos Reis <gdr@nerim.net>
3844
3845 * pretty-print.h: Define more macros.
3846 * diagnostic.h (output_formatted_integer): Moved from...
3847 * diagnostic.c: ... here.
3848
c27c15db
KG
38492002-07-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3850
3851 * stormy16.h (ASM_OUTPUT_SYMBOL_REF): Use ASM_OUTPUT_LABEL_REF.
3852
99086d59
ZW
38532002-07-28 Zack Weinberg <zack@codesourcery.com>
3854
3855 * defaults.h (ASM_OUTPUT_MEASURED_SIZE): Take only two
3856 arguments. Always use ".-symbol" as expression argument.
3857 * doc/tm.texi: Update to match. Document requirement for
3858 ".size symbol, .-symbol" to be acceptable to assembler.
3859
3860 * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
3861 config/arm/elf.h, config/avr/avr.h, config/cris/aout.h,
3862 config/i386/freebsd-aout.h, config/i386/sco5.h,
3863 config/ip2k/ip2k.h, config/m88k/m88k.h, config/xtensa/elf.h,
3864 config/xtensa/linux.h: Update uses of ASM_OUTPUT_MEASURED_SIZE.
3865
dd86aabf
KG
38662002-07-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3867
6fd327e9
KG
3868 * Makefile.in (gengtype-lex.c): Fix error in last change.
3869
8155cedd
KG
3870 * alpha/freebsd.h (TARGET_OS_CPP_BUILTINS): Add missing
3871 backslash.
3872
dd86aabf
KG
3873 * Makefile.in (vmsdbgout.o): Depend on function.h.
3874
3875 * vmsdbgout.c: Include function.h.
3876
d4348177
AM
38772002-07-28 Alan Modra <amodra@bigpond.net.au>
3878
3879 * prefix.c (update_path): Don't strip single `.' path components
3880 unless stripping a later `..' component. Exit loop as soon as
3881 a valid path is found.
3882
c2ef6d34
RS
38832002-07-27 Roger Sayle <roger@eyesopen.com>
3884
3885 * builtins.def [DEF_GCC_BUILTIN]: Require an explicit ATTRS
3886 argument. Mark BUILT_IN_RETURN, BUILT_IN_EH_RETURN,
3887 BUILT_IN_LONGJMP and BUILT_IN_TRAP as noreturn, the ISO C99
3888 floating point unordered comparisons (e.g. __builtin_isgreater)
3889 as const, and leave the remaining GCC_BUILTINs unchanged.
3890
3891 * c-decl.c (builtin_function): No need to explicitly mark
3892 BUILT_IN_RETURN and BUILT_IN_EH_RETURN as noreturn.
3893
52bfebf0
RS
38942002-07-27 Roger Sayle <roger@eyesopen.com>
3895
3896 * Makefile.in: rtlanal.o now depends upon real.h.
3897
3898 * flags.h [flag_signaling_nans]: New flag.
3899 [HONOR_SNANS]: New macro.
3900
3901 * toplev.c [flag_signaling_nans]: Initialize to false.
99086d59 3902 (f_options): Add processing for "-fsignaling-nans".
52bfebf0
RS
3903 (set_fast_math_flags): Clear flag_signaling_nans with -ffast-math.
3904 (process_options): flag_signaling_nans implies flag_trapping_math.
3905
3906 * c-common.c (cb_register_builtins): Define __SUPPORT_SNAN__
3907 when -fsignaling-nans. First step to implementing WG14's N965.
3908
3909 * fold-const.c (fold) [MULT_EXPR]: Conditionalize transforming
3910 1.0 * x into x, and -1.0 * x into -x on !HONOR_SNANS.
3911 [RDIV_EXPR]: Conditionalize x/1.0 into x on !HONOR_SNANS.
3912
3913 * simplify-rtx.c (simplify_relational_operation): Conditionalize
3914 transforming abs(x) < 0.0 into false on !HONOR_SNANS.
3915
3916 * rtlanal.c: #include real.c for TARGET_FLOAT_FORMAT definitions
3917 required by HONOR_SNANS. (may_trap_p): Floating point DIV, MOD,
99086d59
ZW
3918 UDIV, UMOD, GE, GT, LE, LT and COMPARE may always trap with
3919 -fsignaling_nans. EQ and NE only trap for flag_signaling_nans
52bfebf0
RS
3920 not flag_trapping_math (i.e. HONOR_SNANS but not HONOR_NANS).
3921
3922 * doc/invoke.texi: Document new -fsignaling-nans compiler option.
3923
e66f55b8
KG
39242002-07-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3925
3926 * Makefile.in (gengtype-lex.c): Work around a bug in flex.
3927 * gengtype-lex.l (YY_USE_PROTOS): Undef.
3928 (YY_DECL): Define.
3929
a3926fe1
RS
39302002-07-27 Roger Sayle <roger@eyesopen.com>
3931
3932 * doc/invoke.texi: Document that both -fno-builtin-foo and
3933 -fno-builtin are supported by the g++ front-end.
3934
ef69da62
SS
39352002-07-27 Stan Shebs <shebs@apple.com>
3936
3937 * configure.in: Rename config_gtfiles to target_gtfiles.
3938 * configure: Regenerate.
3939 * doc/gty.texi: Update reference.
3940 * config.gcc (powerpc-*-darwin*): Set target_gtfiles
3941 instead of appending to it.
3942
a4b0320c
AH
39432002-07-25 Aldy Hernandez <aldyh@redhat.com>
3944
3945 * config/rs6000/rs6000.c (function_arg_advance): SPE vararg
3946 vectors are split into two registers.
3947 (function_arg): Same.
3948
c427db5d
R
3949Thu Jul 26 23:00:13 2002 J"orn Rennecke <joern.rennecke@superh.com>
3950
3951 * pa.md (extv): Check predicates before emitting extv_32.
3952
57ac7be9
AM
39532002-07-27 Alan Modra <amodra@bigpond.net.au>
3954
3955 * config/rs6000/rs6000.c (rs6000_traceback_name): New var.
3956 (rs6000_traceback): New var.
3957 (rs6000_override_options): Set rs6000_traceback.
3958 (rs6000_output_function_epilogue): Implement traceback options.
3959 * config/rs6000/rs6000.h (TARGET_OPTIONS): Add "traceback=".
3960 (rs6000_traceback_name): Declare.
3961
3962 * config/rs6000/rs6000.c (output_profile_hook): Don't generate profile
3963 label reference when NO_PROFILE_COUNTERS.
3964
8e51619a
JM
39652002-07-26 Jason Merrill <jason@redhat.com>
3966
3967 * function.c (assign_parms): Handle frontend-directed pass by
3968 invisible reference.
3969
b41f25cf
NB
39702002-07-26 Neil Booth <neil@daikokuya.co.uk>
3971
3972 * doc/cppopts.texi: Update.
3973
c2734e05
NB
39742002-07-26 Neil Booth <neil@daikokuya.co.uk>
3975
3976 * cppmacro.c (_cpp_create_definition): Don't attempt redefinition
3977 warnings on assertions.
3978
c372b0fa
NB
39792002-07-26 Neil Booth <neil@daikokuya.co.uk>
3980
3981 * c-common.h (RID_AND, RID_AND_EQ, RID_NOT, RID_NOT_EQ,
3982 RID_OR, RID_OR_EQ, RID_XOR, RID_XOR_EQ, RID_BITAND, RID_BITOR,
3983 RID_COMPL): Remove.
3984 * c-parse.in (rid_to_yy): Similarly.
3985
558ee214
JM
39862002-07-26 Jason Merrill <jason@redhat.com>
3987
3988 * c-dump.c: Resurrect.
3989 * tree-dump.c: Move C-specific stuff to c-dump.c.
3990 * c-common.h: Declare c_dump_tree.
3991 * c-lang.c (LANG_HOOKS_TREE_DUMP_DUMP_TREE_FN): Define.
3992 * Makefile.in (C_AND_OBJC_OBJS): Add c-dump.o.
3993 (c-dump.o): New rule.
3994
ce71f754
AM
39952002-07-26 Alan Modra <amodra@bigpond.net.au>
3996
3997 * config/rs6000/rs6000.md: Enable patterns using rlwinm for
3998 PowerPC64. Replace "T" and "S" constraints with "n" when the
3999 predicate will do. Formatting fixes.
4000 (extzvsi_internal2): Use "andi.", "andis." and attr type of "compare"
4001 as for extzvsi_internal1.
4002
e179e7d7
NB
40032002-07-25 Neil Booth <neil@daikokuya.co.uk>
4004
4005 * dwarfout.c (VERSION_ASM_OP, DERIV_BEGIN_LABEL_FMT,
4006 DERIV_END_LABEL_FMT): Remove.
4007 (SL_BEGIN_LABEL_FMT, SL_END_LABEL_FMT): Move.
4008
a2056183
NB
40092002-07-25 Neil Booth <neil@daikokuya.co.uk>
4010
4011 * objc/objc-act.c (UTAG_STATICS, UTAG_PROTOCOL_LIST, USERTYPE):
4012 Remove.
4013
308c142a
SS
40142002-07-25 Stan Shebs <shebs@apple.com>
4015
4016 * config/rs6000/rs6000.c (rs6000_emit_prologue): Remove unused
4017 local var dwarfp.
4018 (output_compiler_stub): Remove unused locals.
4019 (output_call): Always initialize line number.
4020
59324685
R
4021Thu Jul 25 20:34:50 2002 J"orn Rennecke <joern.rennecke@superh.com>
4022
4023 * sh.h (LOAD_EXTEND_OP): QImode zero-extends on SHmedia.
4024 * sh.md (truncdiqi2, movqi_media): Likewise.
4025
77bbd421
NB
40262002-07-25 Neil Booth <neil@daikokuya.co.uk>
4027
4028 * gcse.c (obstack_chunk_alloc): Remove.
4029 (gcse_alloc): Fix to count allocated bytes.
4030 * collect2.c (SYMBOL__MAIN): Remove.
4031
7bad45b0
NB
40322002-07-25 Neil Booth <neil@daikokuya.co.uk>
4033
4034 * gcc.c (TARGET_EXECUTABLE_SUFFIX): Only used if
4035 HAVE_TARGET_EXECUTABLE_SUFFIX.
4036
184166b5
R
4037Thu Jul 25 18:57:50 2002 J"orn Rennecke <joern.rennecke@superh.com>
4038
4039 * rtl.h (mem_attrs): Spell out more clearly the roles of ALIGN,
4040 SIZE, EXPR and OFFSET.
4041
40cb04f1
RH
40422002-07-25 Richard Henderson <rth@redhat.com>
4043
4044 * emit-rtl.c (set_mem_attributes): Fix size and alignment thinkos
4045 in ARRAY_REF of DECL_P case.
4046
a27fb29b
RS
40472002-07-25 Richard Sandiford <rsandifo@redhat.com>
4048
4049 * doc/invoke.texi: Document -mabi=meabi, and expand on the EABI
4050 description. Document -mips32, -mips64, and the associated -march
4051 values. Describe the "mipsN" arguments to -march. Say that the
4052 -mipsN options are equivalent to -march. Reword the description
4053 of default type sizes.
4054 * toplev.h (target_flags_explicit): Declare.
4055 * toplev.c (target_flags_explicit): New var.
4056 (set_target_switch): Update target_flags_explicit.
4057 * config/mips/abi64.h (SUBTARGET_TARGET_OPTIONS): Undefine.
4058 * config/mips/elf64.h (MIPS_ISA_DEFAULT): Undefine.
4059 * config/mips/iris6.h (SUBTARGET_ASM_SPEC): -mabi=64 implies -mips3.
4060 * config/mips/isa3264.h (MIPS_ENABLE_EMBEDDED_O32): Undefine.
4061 * config/mips/mips.h (mips_cpu_info): New struct.
4062 (mips_cpu_string, mips_explicit_type_size_string): Remove.
4063 (mips_cpu_info_table, mips_arch_info, mips_tune_info): Declare.
4064 (MIPS_CPP_SET_PROCESSOR): New macro.
4065 (TARGET_CPP_BUILTINS): Declare a macro for each supported processor.
4066 Define _MIPS_ARCH and _MIPS_TUNE.
4067 (MIPS_ISA_DEFAULT): Don't provide a default value. Instead...
4068 (MIPS_CPU_STRING_DEFAULT): Set to "from-abi" if neither it nor
4069 MIPS_ISA_DEFAULT were already defined.
4070 (MULTILIB_DEFAULTS): Add MULTILIB_ABI_DEFAULT.
4071 (TARGET_OPTIONS): Remove -mcpu and -mexplicit-type-size.
4072 (ABI_NEEDS_32BIT_REGS, ABI_NEEDS_64BIT_REGS): New.
4073 (GAS_ASM_SPEC): Remove -march, -mcpu, -mgp* and -mabi rules.
4074 (ABI_GAS_ASM_SPEC): Remove.
4075 (MULTILIB_ABI_DEFAULT, ASM_ABI_DEFAULT_SPEC): New macros.
4076 (ASM_SPEC): Add -mgp32, -mgp64, -march, -mabi=eabi and -mabi=o64.
4077 Invoke %(asm_abi_default_spec) if no ABI was specified.
4078 (CC1_SPEC): Remove ISA -> register-size rules.
4079 (EXTRA_SPECS): Remove abi_gas_asm_spec. Add asm_abi_default_spec.
4080 * config/mips/mips.c (mips_arch_info, mips_tune_info): New vars.
4081 (mips_cpu_string, mips_explicit_type_size_string): Remove.
4082 (mips_cpu_info_table): New array.
4083 (mips_set_architecture, mips_set_tune): New fns.
4084 (override_options): Rework to make -mipsN equivalent to -march.
4085 Detect more erroneous cases, including those removed from CC1_SPEC.
4086 Don't change the ABI based on architecture, or vice versa.
4087 Unify logic with GAS.
4088 (mips_asm_file_start): Get architecture name from mips_arch_info.
4089 (mips_strict_matching_cpu_name_p, mips_matching_cpu_name_p): New fns.
4090 (mips_parse_cpu): Take the name of the option as argument. Handle
4091 'from-abi'. Raise an error if the option is wrong.
4092 (mips_cpu_info_from_isa): New fn.
4093
6bbdc759
RS
40942002-07-25 Richard Sandiford <rsandifo@redhat.com>
4095
4096 * config/mips/mips.md (tablejump_mips161): Use gen_rtx_LABEL_REF.
4097 (tablejump_mips162): Likewise.
4098
80a62484
R
4099Thu Jul 25 10:23:41 2002 J"orn Rennecke <joern.rennecke@superh.com>
4100
4101 * simpify-rtx.c (simplify_subreg): Don't pass MODE_CC mode to
4102 int_mode_for_mode.
4103
ea793912
GDR
41042002-07-25 Gabriel Dos Reis <gdr@nerim.net>
4105
4106 * c-common.c (c_sizeof_or_alignof_type): Take a third argument for
99086d59 4107 complaining.
ea793912
GDR
4108 * c-common.h (c_sizeof): Adjust definition.
4109 (c_alignof): Likewise.
4110 * c-tree.h (c_sizeof_nowarn): Now macro.
4111 * c-typeck.c (c_sizeof_nowarn): Remove definition.
4112
2d615444
NB
41132002-07-25 Neil Booth <neil@daikokuya.co.uk>
4114
4115 * c-decl.c (c_decode_option): No need to handle switches
4116 cpplib handles.
4117
2be2ac70
ZW
41182002-07-24 Zack Weinberg <zack@codesourcery.com>
4119
4120 * defaults.h (ASM_OUTPUT_TYPE_DIRECTIVE, ASM_OUTPUT_SIZE_DIRECTIVE,
4121 ASM_OUTPUT_MEASURED_SIZE): New default definitions of new macros.
4122 * doc/tm.texi: Document them. Also document SIZE_ASM_OP,
4123 TYPE_ASM_OP, and TYPE_OPERAND_FMT.
4124
4125 * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
4126 config/alpha/elf.h, config/arm/elf.h, config/avr/avr.h,
4127 config/cris/aout.h, config/i386/freebsd-aout.h,
4128 config/i386/sco5.h, config/ia64/ia64.c, config/ip2k/ip2k.h,
4129 config/m68k/m68kelf.h, config/m68k/m68kv4.h, config/m88k/m88k.h,
4130 config/mcore/mcore-elf.h, config/mips/elf.h, config/mips/elf64.h,
4131 config/mips/iris6.h, config/mips/linux.h, config/pa/pa-linux.h,
4132 config/pa/pa64-hpux.h, config/rs6000/sysv4.h,
4133 config/xtensa/elf.h, config/xtensa/linux.h:
4134 Use the new macros.
4135 Where possible, remove redundant definitions of SIZE_ASM_OP,
4136 TYPE_ASM_OP, and TYPE_OPERAND_FMT.
4137
518878e1
AH
41382002-07-24 Aldy Hernandez <aldyh@redhat.com>
4139
4140 * config/rs6000/eabi.h: Define TARGET_SPE_ABI, TARGET_SPE,
4141 TARGET_ISEL, and TARGET_FPRS.
99086d59 4142
518878e1
AH
4143 * doc/invoke.texi (RS/6000 and PowerPC Options): Document
4144 -mabi=spe, -mabi=no-spe, and -misel=.
4145
4146 * config/rs6000/rs6000-protos.h: Add output_isel.
4147 Move vrsave_operation prototype here.
4148
4149 * config/rs6000/rs6000.md (sminsi3): Allow pattern for TARGET_ISEL.
4150 (smaxsi3): Same.
4151 (uminsi3): Same.
4152 (umaxsi3): Same.
4153 (abssi2_nopower): Disallow when TARGET_ISEL.
4154 (*ne0): Same.
4155 (negsf2): Change to expand and rename old pattern to *negsf2.
4156 (abssf2): Change to expand and rename old pattern to *abssf2.
99086d59 4157
518878e1
AH
4158 New expanders: fix_truncsfsi2, floatunssisf2, floatsisf2,
4159 fixunssfsi2.
4160
4161 Change patterns that check for TARGET_HARD_FLOAT or
4162 TARGET_SOFT_FLOAT to also check TARGET_FPRS.
4163
4164 * config/rs6000/rs6000.c: New globals: rs6000_spe_abi,
4165 rs6000_isel, rs6000_fprs, rs6000_isel_string.
4166 (rs6000_override_options): Add 8540 case to
4167 processor_target_table.
4168 Set rs6000_isel for the 8540.
4169 Call rs6000_parse_isel_option.
4170 (enable_mask_for_builtins): New.
4171 (rs6000_parse_isel_option): New.
4172 (rs6000_parse_abi_options): Add spe and no-spe.
4173 (easy_fp_constant): Treat !TARGET_FPRS as soft-float.
4174 (rs6000_legitimize_address): Check for TARGET_FPRS when checking
4175 for TARGET_HARD_FLOAT.
4176 Add case for SPE_VECTOR_MODE.
4177 (rs6000_legitimize_reload_address): Handle SPE vector modes.
4178 (rs6000_legitimate_address): Disallow PRE_INC/PRE_DEC for SPE
4179 vector modes.
4180 Check for TARGET_FPRS when checking for TARGET_HARD_FLOAT.
4181 (rs6000_emit_move): Check for TARGET_FPRS.
4182 Add cases for SPE vector modes.
4183 (function_arg_boundary): Return 64 for SPE vector modes.
4184 (function_arg_advance): Check for TARGET_FPRS and
4185 Handle SPE vectors.
4186 (function_arg): Same.
4187 (setup_incoming_varargs): Check for TARGET_FPRS.
4188 (rs6000_va_arg): Same.
4189 (struct builtin_description): Un-constify mask field. Move up in
4190 file.
4191 (bdesc_2arg): Un-constify and add SPE builtins.
4192 (bdesc_1arg): Same.
4193 (bdesc_spe_predicates): New.
4194 (bdesc_spe_evsel): New.
4195 (rs6000_expand_unop_builtin): Add SPE 5-bit literal builtins.
4196 (rs6000_expand_binop_builtin): Same.
4197 (bdesc_2arg_spe): New.
4198 (spe_expand_builtin): New.
4199 (spe_expand_predicate_builtin): New.
4200 (spe_expand_evsel_builtin): New.
4201 (rs6000_expand_builtin): Call spe_expand_builtin for SPE.
4202 (rs6000_init_builtins): Initialize SPE builtins. Call
4203 rs6000_common_init_builtins.
4204 (altivec_init_builtins): Move all non-altivec builtin code to...
4205 (rs6000_common_init_builtins): ...here. New function.
4206 (branch_positive_comparison_operator): Allow NE code for SPE.
4207 (ccr_bit): Return correct ccr bit for SPE fp.
4208 (print_operand): Emit crnor in 'D' case for SPE.
4209 New case 't'.
4210 Add SPE code for 'y' case.
4211 (rs6000_generate_compare): Generate rtl for SPE fp.
4212 (output_cbranch): Handle SPE hard floats.
4213 (rs6000_emit_cmove): Handle isel.
4214 (rs6000_emit_int_cmove): New.
4215 (output_isel): New.
4216 (rs6000_stack_info): Adjust stack frame so GPRs are saved in
4217 64-bits for SPE.
4218 (debug_stack_info): Add SPE info.
4219 (gen_frame_mem_offset): New.
4220 (rs6000_emit_prologue): Save GPRs in 64-bits for SPE abi.
4221 Change mode of frame pointer, when saving it, to Pmode.
4222 (rs6000_emit_epilogue): Restore GPRs in 64-bits for SPE abi.
4223 Misc cleanups and use gen_frame_mem_offset when appropriate.
4224
4225 * config/rs6000/rs6000.h (processor_type): Add PROCESSOR_PPC8540.
4226 (TARGET_SPE_ABI): New.
4227 (TARGET_SPE): New.
4228 (TARGET_ISEL): New.
4229 (TARGET_FPRS): New.
4230 (FIXED_SCRATCH): New.
4231 (RTX_COSTS): Add PROCESSOR_PPC8540.
4232 (ASM_CPU_SPEC): Add case for 8540.
4233 (TARGET_OPTIONS): Add isel= case.
4234 (rs6000_spe_abi): New.
4235 (rs6000_isel): New.
4236 (rs6000_fprs): New.
4237 (rs6000_isel_string): New.
4238 (UNITS_PER_SPE_WORD): New.
4239 (LOCAL_ALIGNMENT): Adjust for SPE.
4240 (HARD_REGNO_MODE_OK): Same.
4241 (DATA_ALIGNMENT): Same.
4242 (MEMBER_TYPE_FORCES_BLK): New.
4243 (FIRST_PSEUDO_REGISTER): Set to 113.
4244 (FIXED_REGISTERS): Add SPE registers.
4245 (reg_class): Same.
4246 (REG_CLASS_NAMES): Same.
4247 (REG_CLASS_CONTENTS): Same.
4248 (REGNO_REG_CLASS): Same.
4249 (REGISTER_NAMES): Same.
4250 (DEBUG_REGISTER_NAMES): Same.
4251 (ADDITIONAL_REGISTER_NAMES): Same.
4252 (CALL_USED_REGISTERS): Same.
4253 (CALL_REALLY_USED_REGISTERS): Same.
4254 (SPE_ACC_REGNO): New.
4255 (SPEFSCR_REGNO): New.
4256 (SPE_SIMD_REGNO_P): New.
4257 (HARD_REGNO_NREGS): Adjust for SPE.
4258 (VECTOR_MODE_SUPPORTED_P): Same.
4259 (REGNO_REG_CLASS): Same.
4260 (FUNCTION_VALUE): Same.
4261 (LIBCALL_VALUE): Same.
4262 (LEGITIMATE_OFFSET_ADDRESS_P): Same.
4263 (SPE_VECTOR_MODE): New.
4264 (CONDITIONAL_REGISTER_USAGE): Disable FPRs when target does FP on
4265 the GPRs. Set FIXED_SCRATCH fixed in SPE case.
4266 (rs6000_stack): Add spe_gp_size, spe_padding_size,
4267 spe_gp_save_offset.
4268 (USE_FP_FOR_ARG_P): Check for TARGET_FPRS.
4269 (LEGITIMATE_LO_SUM_ADDRESS_P): Same.
4270 (SPE_CONST_OFFSET_OK): New.
4271 (rs6000_builtins): Add SPE builtins.
4272
4273 * testsuite/gcc.dg/ppc-spe.c: New.
99086d59 4274
518878e1
AH
4275 * config/rs6000/eabispe.h: New.
4276
4277 * config/rs6000/spe.h: New.
4278
4279 * config/rs600/spe.md: New.
4280
4281 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
4282 __SIMD__ for TARGET_SPE.
4283
4284 * config.gcc: Add powerpc-*-eabispe* case.
4285 Add spe.h to user headers for powerpc.
4286
8d1b7ba1
CD
42872002-07-24 Chris Demetriou <cgd@broadcom.com>
4288
4289 * config/mips/elf.h (STARTFILE_SPEC): Undo previous change.
4290 * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
4291 * config/mips/isa3264.h (STARTFILE_SPEC): Likewise.
4292
8ad8135a
RH
42932002-07-24 Richard Henderson <rth@redhat.com>
4294
4295 * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Use GOTO_SUBROUTINE_EXPR
4296 form when not optimizing.
4297
dc44a4d8
DM
42982002-07-24 David Mosberger <davidm@hpl.hp.com>
4299
4300 * config/ia64/ia64.c (gen_thread_pointer): Fix typo in marking
4301 thread_pointer_rtx as unchanging.
4302
c5605318
MM
43032002-07-24 Michael Matz <matz@suse.de>
4304
4305 * ra-colorize.c (INV_REG_ALLOC_ORDER): New macro.
4306 (free_reg): Use it.
4307
3ade30ea
RE
43082002-07-24 Richard Earnshaw <rearnsha@arm.com>
4309
4310 * arm.md (arm_buneq, arm_bltgt): put '\' before ';' in output
4311 pattern.
4312 (arm_buneq_reversed, arm_bltgt_reversed): Likewise.
4313 (movsicc, movsfcc, movdfcc): FAIL if UNEQ or LTGT.
4314
8a3ad737
CD
43152002-07-24 Chris Demetriou <cgd@broadcom.com>
4316
4317 * config/mips/elf.h (STARTFILE_SPEC): Never include crt0.o.
4318 * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
4319 * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine.
4320
7e51e626
JH
4321Wed Jul 24 17:59:12 CEST 2002 Jan Hubicka <jh@suse.cz>
4322
4323 * toplev.c (rest_of_compilation): Dump loops before clobbering
4324 the structure.
4325
5df533b3
JH
4326Wed Jul 24 17:23:16 CEST 2002 Jan Hubicka <jh@suse.cz>
4327
4328 * rtlanal.c (keep_with_call_p): Avoid overflow in fixed_regs.
4329
79258dce
RS
43302002-07-24 Frank van der Linden <fvdl@wasabisystems.com>
4331
4332 PR optimization/7291
4333 * config/i386/i386.c (ix86_expand_clrstr): Fix bzero alignment
4334 problem on x86_64.
4335
26ff2117
GDR
43362002-07-24 Gabriel Dos Reis <gdr@nerim.net>
4337
4338 * pretty-print.h: Add macros from cp/error.c
4339
0ba1b2ff
AM
43402002-07-24 Alan Modra <amodra@bigpond.net.au>
4341
4342 * config/rs6000/rs6000-protos.h (mask_operand_wrap): Declare.
4343 (mask64_2_operand): Declare.
4344 (build_mask64_2_operands): Declare.
4345 (and64_2_operand): Declare.
4346 (extract_MB): Declare.
4347 (extract_ME): Declare.
4348 * config/rs6000/rs6000.c (mask64_operand): Allow all ones. Remove
4349 CONST_DOUBLE code.
4350 (mask_operand_wrap): New insn predicate.
4351 (mask64_2_operand): Likewise.
4352 (and64_2_operand): Likewise.
4353 (build_mask64_2_operands): New function.
4354 (extract_MB): New function.
4355 (extract_ME): New function.
4356 (print_operand <case m,M>): Use extract_MB and extract_ME.
4357 (print_operand <case S>): Allow all ones. Remove CONST_DOUBLE support.
4358 * config/rs6000/rs6000.h (EXTRA_CONSTRAINT): Add 't'.
4359 (PREDICATE_CODES): Add and64_2_operand, mask_operand_wrap and
4360 mask64_2_operand. Remove CONST_DOUBLE from mask64_operand.
4361 * config/rs6000/rs6000.md (andsi3_internal3): New
4362 (andsi3_internal3+1): Enable split for powerpc64.
4363 (andsi3_internal3+2): New split.
4364 (andsi3_internal4): Renamed old andsi3_internal3.
4365 (andsi3_internal5): New.
4366 (andsi3_internal5+1): Enable split for powerpc64.
4367 (andsi3_internal5+2): New split.
4368 (andsi3_internal6, andsi3_internal7, andsi3_internal8): New.
4369 (anddi3): Handle 't' constraint.
4370 (anddi3+1): New split.
4371 (anddi3_internal2): Handle 't' constraint.
4372 (anddi3_internal2+1): New split.
4373 (anddi3_internal3): Handle 't' constraint.
4374 (anddi3_internal3+1): New split.
4375
097657c3
AM
43762002-07-24 Alan Modra <amodra@bigpond.net.au>
4377
4378 * config/rs6000/rs6000.md: Remove scratch reg on insns using
4379 addze and similar (plus (comparison r1 r2) r3) insns. Add
4380 missing scratch reg in one case. Formatting fixes.
4381
a69cbaac
NB
43822002-07-24 Neil Booth <neil@daikokuya.co.uk>
4383
4384 * cppexp.c (parse_defined): Mark macro used.
4385 * cpphash.h (struct cpp_macro): New member "used".
4386 (_cpp_mark_macro_used, _cpp_warn_if_unused_macro): New.
4387 (struct cpp_reader): New member.
4388 * cppinit.c (cpp_finish_options): Set first_unused_line.
4389 (cpp_finish): Warn of unused macros if requested.
4390 (OPT_TABLE): New switches.
4391 (cpp_handle_option): Handle them.
4392 * cpplib.c (do_undef): Warn if macro unused.
4393 (do_ifdef, do_ifndef): Mark macro used.
4394 * cpplib.h (struct cpp_options): New member.
4395 * cppmacro.c (_cpp_warn_if_unused_macro): New.
4396 (enter_macro_context): Mark macro used.
4397 (_cpp_create_definition): Mark macro unused; warn if unused
4398 when redefined.
4399 * cpptrad.c (scan_out_logcial_line, push_replacement_text):
4400 Mark macros used.
4401 * doc/cppopts.texi: Update.
4402
c0667597
NB
44032002-07-23 Neil Booth <neil@daikokuya.co.uk>
4404
4405 * dwarf2out.c (SECTION_ASM_OP,
4406 ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
4407 * system.h (SECTION_ASM_OP): Poison.
4408 * tree.c (FILE_FUNCTION_PREFIX_LEN): Remove.
4409 * config/alpha/alpha-interix.h, config/mips/linux.h
4410 (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
4411 * config/mmix/mmix-protos.h, config/mmix/mmix.c
4412 (mmix_asm_output_define_label_difference_symbol): Remove.
4413 * config/mmix/mmix.h
4414 (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
b841421a 4415 * doc/tm.texi: Remove documentation.
c0667597 4416
bf7cd754
R
4417Tue Jul 23 21:49:24 2002 J"orn Rennecke <joern.rennecke@superh.com>
4418
4419 * recog.c (asm_operand_ok): Allow float CONST_VECTORs for 'F'.
4420 (constrain_operands): Likewise.
4421 * regclass.c (record_reg_classes): Likewise.
4422 * reload.c (find_reloads): Likewise.
4423 * doc/md.texi: Likewise.
451f86fd
R
4424
4425 * reload.c (find_reloads_toplev): Use simplify_gen_subreg.
4426 * simplify-rtx.c (simplify_subreg): When converting to a non-int
4427 mode, try to convert to an integer mode of matching size first.
1d5fa6b4
R
4428
4429 * simplify-rtx.x (simplify_subreg): When constructing a CONST_VECTOR
4430 from individual subregs, check that each subreg has been generated
4431 sucessfully.
4432
10d6af32
NB
44332002-07-23 Neil Booth <neil@daikokuya.co.uk>
4434
4435 * genautomata.c (VLA_HWINT_SHORTEN, VLA_HWINT_LAST): Remove.
4436 * df.c (HANDLE_SUBREG, FOR_EACH_BB_IN_BITMAP_REV,
4437 FOR_EACH_BB_IN_SBITMAP): Remove.
4438 * gcse.c (NEVER_SET, FOLLOW_BACK_EDGES): Remove.
4439 * haifa-sched.c (DONE_PRIORITY, MAX_PRIORITY, TAIL_PRIORITY,
4440 LAUNCH_PRIORITY, DONE_PRIORITY_P, LOW_PRIORITY_P): Remove.
4441 * loop.c (PREFETCH_BLOACK_IN_LOOP_MIN,
4442 PREFETCH_LIMIT_TO_SIMULTANEOUS): Remove.
4443 * regrename.c (REGNO_MODE_OK_FOR_BASE_P): Remove.
4444
6aaae39a
GDR
44452002-07-23 Gabriel Dos Reis <gdr@nerim.net>
4446
4447 * pretty-print.h: New file.
4448
45e574d0
JDA
44492002-07-23 Paul Koning <pkoning@equallogic.com>
4450
4451 * real.c (REAL_WORDS_BIG_ENDIAN): Make 1 for DEC.
4452 (LARGEST_EXPONENT_IS_NORMAL): Ditto.
4453 (VAX_HALFWORD_ORDER): Define (1 for DEC VAX, 0 otherwise).
4454 (TARGET_G_FLOAT): Default to 0 if not defined.
99086d59 4455 (ieeetoe): New, common routine to convert target format floats
45e574d0
JDA
4456 to internal form.
4457 (e24toe, e53toe): Change to use ieeetoe, distinguish DEC
4458 vs. others.
4459 (e113toe): Change to use ieeetoe.
4460
44612002-07-23 Roman Lechtchinsky <rl@cs.tu-berlin.de>
4462
4463 * real.c (REAL_WORDS_BIG_ENDIAN): Make sure it is 0 for DEC and 1 for
4464 IBM.
4465 (e53toe): Assume IEEE if non of DEC, IBM and C4X is defined.
4466 (e64toe): Remove special cases for DEC and IBM. Remove support for
4467 ARM_EXTENDED_IEEE_FORMAT.
4468 (e24toe): Remove special cases for DEC.
4469 (significand_size): Simplify. Indent.
4470 (ieee_format, ieee_24, ieee_53, ieee_64, ieee_113): New.
4471 (etoieee, toieee): New.
4472 (etoe113, toe113, etoe64, toe64, etoe53, toe53, etoe24, toe24): Use
4473 etoieee and toieee for IEEE arithmetic.
4474
3764f879
GDR
44752002-07-23 Gabriel Dos Reis <gdr@nerim.net>
4476
4477 * doc/extend.texi: Say ISO C90, not ISO C89.
4478 * doc/invoke.texi: Likewise.
4479 * doc/standards.texi: Likewise.
4480
aa0f70e6
SE
44812002-07-23 Steve Ellcey <sje@cup.hp.com>
4482
4483 * gcc/explow.c (convert_memory_address): Fix conversion of CONSTs.
4484 Fix permutation of conversion and plus/mult.
4485 * gcc/builtins.c (expand_builtin_memcpy) Ensure return pointer is
4486 ptr_mode and not Pmode when POINTERS_EXTEND_UNSIGNED is defined.
4487 (expand_builtin_strncpy) Ditto.
4488 (expand_builtin_memset) Ditto.
4489
fa72b064
GDR
44902002-07-23 Gabriel Dos Reis <gdr@nerim.net>
4491
4492 Fix PR/7363:
4493 * c-common.c (c_sizeof_or_alignof_type): New function.
4494 (c_alignof): Remove definition.
4495 * c-common.h (c_sizeof, c_alignof): Define as macros.
4496 (c_sizeof_or_alignof_type): Declare.
4497 (my_friendly_assert): Moved from cp/cp-tree.h
4498 * c-typeck.c (c_sizeof): Remove definition.
4499
2b773ee2
JH
45002002-07-23 Jan Hubicka <jh@suse.cz>
4501
4502 * gcse.c (try_replace_reg): Use num_changes_pending.
4503 * recog.c (num_changes_pending): New function.
4504 (validate_replace_src): Use validate_repalce_src_group.
4505 (validate_replace_src_group): New.
4506 * recog.h (validate_repalce_src_group): New.
4507 (num_changes_pending): Likewise.
4508
a0dc500c
R
4509Tue Jul 23 12:16:58 2002 J"orn Rennecke <joern.rennecke@superh.com>
4510
4511 * calls.c (emit_library_call_value_1): If
4512 FUNCTION_ARG_PASS_BY_REFERENCE is true, pretend this is neither
4513 libcall, const call nor pure call.
4514
d22eda7b
NB
45152002-07-23 Neil Booth <neil@daikokuya.co.uk>
4516
4517 * config/m88k/m88k.h (SECTION_ASM_OP): Remove.
4518
b5e66e65
NB
45192002-07-23 Neil Booth <neil@daikokuya.co.uk>
4520
4521 * vmsdbgout.c (SECTION_ASM_OP): Remove.
4522
c3a600c0
NB
45232002-07-23 Neil Booth <neil@daikokuya.co.uk>
4524
4525 * config/i386/i386.c (AT_BP): Remove.
4526
4fa31c2a
NB
45272002-07-23 Neil Booth <neil@daikokuya.co.uk>
4528
4529 * defaults.h (obstack_chunk_alloc, obstack_chunk_free):
4530 Default definition.
4531 * gcse.c: Don't define obstack_chunk_free.
4532 * collect2.c, conflict.c, df.c, diagnostic.c, fix-header.c,
4533 flow.c, gcc.c, genattrtab.c, genautomata.c, genflags.c, gensupport.c,
4534 integrate.c, loop.c, ra.c, read-rtl.c, regrename.c, reload1.c,
4535 reorg.c, tlink.c, tree.c, config/arm/arm.c, objc/objc-act.c:
4536 Don't define obstack macros.
4537
fd576c86
SC
45382002-07-22 Stephane Carrez <stcarrez@nerim.fr>
4539
4540 PR target/6744
4541 * config/m68hc11/m68hc11.c (m68hc11_z_replacement): Also replace
4542 ASM_OPERANDS instructions.
4543
b791ff31
SC
45442002-07-22 Stephane Carrez <stcarrez@nerim.fr>
4545
4546 PR target/7361
4547 * config/m68hc11/m68hc11.c (go_if_legitimate_address_internal): Accept
4548 constant addresses only on 68HC12.
4549
4a941115
NB
45502002-07-22 Neil Booth <neil@daikokuya.co.uk>
4551
4552 * cppfiles.c (stack_include_file): Correct test of whether
4553 a dependency should be output.
4554
7488cc6d
DE
45552002-07-22 David Edelsohn <edelsohn@gnu.org>
4556
4557 * collect2.c (is_ctor_dtor): Add other possible JOINER values.
4558
b41caf7c
RE
45592002-07-22 Richard Earnshaw <rearnsha@arm.com>
4560
4561 * arm.md (movqi): If optimizing and we can create pseudos, use
4562 a ZERO_EXTEND to load from memory, then copy the result into the
4563 target.
4564 (movhi): Likewise, but only for ARMv4.
4565
492e9934
NB
45662002-07-22 Neil Booth <neil@daikokuya.co.uk>
4567
4568 * ssa-ccp.c (PHI_PARMS): Remove.
4569
f01f01a6
RS
45702002-07-22 Richard Sandiford <rsandifo@redhat.com>
4571
4572 * config/mips/mips.h (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS
4573 on big-endian targets.
4574
c2ae8aef
KG
45752002-07-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4576
4577 * hwint.h (HOST_WIDE_INT_PRINT_DEC_SPACE,
4578 HOST_WIDE_INT_PRINT_UNSIGNED_SPACE,
4579 HOST_WIDEST_INT_PRINT_DEC_SPACE, HOST_WIDEST_INT_PRINT_DEC_SPACE):
4580 New formatting macros.
4581
4582 * ra-debug.c (dump_static_insn_cost): Avoid string concatenation.
4583
eab2120d
R
4584Mon Jul 22 15:27:25 2002 J"orn Rennecke <joern.rennecke@superh.com>
4585
4586 * rtlanal.c (subreg_regno_offset): Return correct offset for
4587 big endian paradoxical subregs.
0d541696
R
4588
4589 * optabs.c (expand_vector_unop): Don't expand using sub_optab
4590 if we got the wrong mode.
bb9b3805
R
4591
4592 * hwint.c (define HOST_WIDE_INT_PRINT_DEC_C): New define.
4593 * genrecog.c (write_switch, write_cond): Use it.
4594 * genemit.c (gen_exp): Likewise.
4595
e96eb215
JJ
45962002-07-22 Jakub Jelinek <jakub@redhat.com>
4597
4598 * c-decl.c (build_compound_literal): Set decl TREE_READONLY from TYPE.
4599
cf3c4f56
JJ
46002002-07-22 Jakub Jelinek <jakub@redhat.com>
4601
4602 * c-decl.c (build_compound_literal): Defer compound literal decls
4603 until until file end to emit them only if they are actually used.
4604
533c4863
KG
46052002-07-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4606
4607 * ra-build.c (check_conflict_numbers): Hide unused function.
4608 (livethrough_conflicts_bb): Avoid automatic aggregate
4609 initialization.
4610 (parts_to_webs_1): Avoid `U' integer constant modifier.
4611 (conflicts_between_webs): Wrap a variable in the macro controlling
4612 its usage.
4613 * ra-debug.c (ra_debug_msg): Use VA_OPEN/VA_CLOSE.
4614 (dump_igraph, dump_graph_cost): Avoid string concatenation
4615 (dump_static_insn_cost): Avoid automatic aggregate
4616 initialization.
4617 * ra-rewrite.c (insert_stores): Avoid automatic aggregate
4618 initialization.
4619 (dump_cost): Avoid string concatenation
4620
8943a0b4
RH
46212002-07-21 Richard Henderson <rth@redhat.com>
4622
4623 * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Don't use
4624 GOTO_SUBROUTINE_EXPR when finally_block can be re-expanded.
4625
b1aef35b
RH
46262002-07-21 Richard Henderson <rth@redhat.com>
4627
4628 * unroll.c (find_splittable_givs): Do not split DEST_ADDR givs
4629 that are not unrolled completely.
4630
5e1afb11
RH
46312002-07-21 Richard Henderson <rth@redhat.com>
4632
4633 * loop.h (LOOP_AUTO_UNROLL): Rename from LOOP_FIRST_PASS.
4634 * loop.c (strength_reduce): Update.
4635 * toplev.c (rest_of_compilation): Do unrolling in the first
4636 loop pass, not the second.
4637
c67a1cf6
RH
46382002-07-21 Richard Henderson <rth@redhat.com>
4639
4640 * emit-rtl.c (set_mem_attributes): Preserve indirection of PARM_DECL
4641 when flag_argument_noalias == 2.
4642 * alias.c (nonoverlapping_memrefs_p): Handle that.
4643 * print-rtl.c (print_mem_expr): Likewise.
4644
b68daef4
HS
46452002-07-21 Hartmut Schirmer <hartmut.schirmer@arcor.de>
4646
4647 * libgcc2.c (__divdi3, __moddi3): Use unary minus operator
4648 instead of __negdi2 directly.
4649
060a58c5
NB
46502002-07-21 Neil Booth <neil@daikokuya.co.uk>
4651
4652 * gengenrtl.c (gencode): Don't define obstack_alloc_rtx.
4653 * function.c (SYMBOL__MAIN): Remove definition.
4654 * global.c (SET_CONFLICT, REGBITP, ALLOCNO_LIVE_P): Remove.
99086d59 4655 * predict.c (PROB_NEVER, PROB_LIKELY, PROB_UNLIKELY): Remove.
060a58c5
NB
4656 * profile.c (GCOV_INDEX_TO_BB): Remove.
4657 * sched-rgn.c (ABS_VALUE, MIN_DIFF_PRIORITY, MIN_PROB_DIFF): Remove.
4658 * simplify-rtx.c (FIXED_BASE_PLUS_P): Remove.
4659
2f8dd115
NB
46602002-07-21 Neil Booth <neil@daikokuya.co.uk>
4661
4662 * c-lex.c (GET_ENVIRONMENT): Remove.
4663 * collect2.c (GET_ENV_PATH_LIST): Remove.
4664 (prefix_from_env): Use GET_ENVIRONMENT.
4665 * cppinit.c (GET_ENV_PATH_LIST): Remove.
4666 (init_standard_includes): Use GET_ENVIRONMENT.
4667 * defaults.h (GET_ENVIRONMENT): Define here if not already.
4668 * gcc.c (GET_ENV_PATH_LIST): Remove.
4669 (make_relative_prefix, process_command): Update.
4670 * protoize.c (GET_ENV_PATH_LIST): Remove.
4671 (do_processing): Update.
4672
56508306
GDR
46732002-07-21 Gabriel Dos Reis <gdr@nerim.net>
4674
4675 * c-decl.c (build_array_declarator): Say 'ISO C90', not 'ISO C89'.
4676 (grokdeclarator): Likewise.
4677 * c-format.c (C_STD_NAME): Likewise.
4678 * c-lex.c (interpret_integer): Likewise.
4679 * c-typeck.c (build_array_ref): Likewise.
4680 * cpplex.c (_cpp_lex_direct): Likewise.
4681 * toplev.c (documented_lang_options): Likewise.
4682
e2f62855
NB
46832002-07-21 Neil Booth <neil@daikokuya.co.uk>
4684
4685 * c-format.c (T99_I, T99_UI): Remove.
4686
c89d1dfd
NB
46872002-07-21 Neil Booth <neil@daikokuya.co.uk>
4688
4689 * c-typeck.c (SAVE_SPELLING_DEPTH): Remove.
4690
46690369
JH
4691Sun Jul 21 21:36:41 CEST 2002 Jan Hubicka <jh@suse.cz>
4692
4693 * gcse.c (do_local_cprop): Do not extend lifetimes of registers set by
4694 do_local_cprop.
4695
60ffc1b8
AJ
46962002-07-21 Andreas Jaeger <aj@suse.de>
4697
99086d59 4698 * reload1.c (fixup_abnormal_edges): Remove unused variable.
60ffc1b8 4699
c05ffc49
BS
47002002-07-21 Bernd Schmidt <bernds@redhat.com>
4701
4702 Improvements for the ifcvt pass from Michael Meissner, with patches
4703 by Richard Sandiford <rsandifo@redhat.com>
4704 * basic-block.h (struct ce_if_block, ce_if_block_t): New types.
4705 * ifcvt.c (cond_exec_changed_p): New static variable.
4706 (last_active_insn): New function, renamed from last_active_insn_p
4707 and changed to return the last active insn in a basic block. All
4708 callers updated.
4709 (block_fallthru): New function.
4710 (cond_exec_process_insns): New argument CE_INFO. Pass it to
4711 IFCVT_MODIFY_INSN. All callers updated.
4712 Return false if START or END are NULL.
4713 Handle case where we're processing an insn that is already
4714 conditional.
4715
4716 (noce_process_if_block): CE_INFO argument rather than
4717 multiple args containing the involved basic blocks. All callers
4718 changed.
4719 (process_if_block, merge_if_block, find_if_block,
4720 cond_exec_process_if_block): Likewise.
4721
4722 (cond_exec_process_if_block): New arg DO_MULTIPLE_P. All callers
4723 changed.
4724 Use new function last_active_insn to simplify some code.
4725 New code to handle multiple tests.
4726 Call IFCVT_MODIFY_CANCEL in all failure cases, otherwise set
4727 cond_exec_changed_p to TRUE.
4728
4729 (process_if_block): New code to handle multiple tests.
4730 (merge_if_block): Likewise.
4731 (find_if_header): New arg PASS. Changed to return the currently
4732 processed basic block or NULL instead of true/false. All callers
4733 changed.
4734 Call IFCVT_INIT_EXTRA_FIELDS.
4735 (block_jumps_and_fallthru_p): New function.
4736 (find_if_block): Discover opportunities to convert multiple tests.
4737 Add additional debugging output.
4738 Update the ce_info structure before returning.
4739
4740 (if_convert): Run multiple passes of if-conversion.
4741 * doc/tm.texi (IFCVT_MODIFY_TESTS, IFCVT_MODIFY_INSN,
4742 IFCVT_MODIFY_FINAL, IFCVT_MODIFY_CANCEL, IFCVT_MODIFY_MULTIPLE_TESTS,
4743 IFCVT_INIT_EXTRA_FIELDS, IFCVT_EXTRA_FIELDS): Update documentation for
4744 these macros.
4745
ae860ff7
JH
4746Sun Jul 21 00:54:54 CEST 2002 Jan Hubicka <jh@suse.cz>
4747
4748 * gcse.c: Include cselib.h
4749 (constptop_register): Break out from ...
4750 (cprop_insn): ... here; kill basic_block argument.
4751 (do_local_cprop, local_cprop_pass): New functions.
4752 (one_cprop_pass): Call local_cprop_pass.
4753
0da65b89
RS
47542002-07-20 Roger Sayle <roger@eyesopen.com>
4755
4756 * simplify-rtx.c (simplify_relational_operation): Optimize
4757 abs(x) < 0.0 (and abs(x) >= 0.0 when using -ffast-math).
4758
47cc673a
MM
47592002-07-20 Michae Matz <matz@suse.de>
4760
4761 * ra-build.c: (remember_web_was_spilled): Use GENERAL_REGS.
4762
68e65275
NB
47632002-07-20 Neil Booth <neil@daikokuya.co.uk>
4764
4765 * cppexp.c (struct op): Add token pointer.
4766 (check_promotion, CHECK_PROMOTION): New.
4767 (optab): Update.
4768 (_cpp_parse_expr): Update, use token pointer of struct op.
4769 (reduce): Warn about change of sign owing to promotion.
4770 * cppinit.c (cpp_handle_option): New warning if -Wall.
4771 * cpplib.h (struct cpp_options): New member.
4772
e3485bbc
DE
47732002-07-19 David Edelsohn <edelsohn@gnu.org>
4774
4775 * config/rs6000/rs6000.md: Remove ppc630 fpcompare from single
4776 fpu list. Separate Power4 compare and delayed_compare. Correct
4777 Power4 fpcompare.
4778 (fix_truncdfsi2_internal): Restore FPR preference.
4779 * config/rs6000/t-aix43 (MULTILIB_MATCHES): Add mcpu?power3,
4780 mcpu?power4, mcpu?604e. Remove mpower, mpower2, mpowerpc.
4781
449655a6
MV
47822002-07-19 Momchil Velikov <velco@fadata.bg>
4783
4784 * reload1.c (reload_as_needed): Duplicate oldpat.
4785
8b583747
AM
47862002-07-20 Alan Modra <amodra@bigpond.net.au>
4787
4788 PR optimization/7130
4789 * loop.h (struct loop_info): Add "preconditioned".
4790 * unroll.c (unroll_loop): Set it.
4791 * doloop.c (doloop_modify_runtime): Correct count for unrolled loops.
4792
0dc36574
ZW
47932002-07-19 Zack Weinberg <zack@codesourcery.com>
4794
4795 * rtl.def (CODE_LABEL): Remove slot 8.
4796 * rtl.h (struct rtx_def): Document new uses of jump and call fields.
4797 (LABEL_ALTERNATE_NAME): Delete.
4798 (LABEL_KIND, SET_LABEL_KIND, LABEL_ALT_ENTRY_P): New.
4799 * defaults.h: Remove default for ASM_OUTPUT_ALTERNATE_LABEL_NAME.
4800
4801 * final.c (output_alternate_entry_point): New.
4802 (final_scan_insn): Use it instead of
4803 ASM_OUTPUT_ALTERNATE_LABEL_NAME. Do not consider possibility
4804 of a case label being an alternate entry point.
4805
4806 * cfgbuild.c (make_edges, find_bb_boundaries): Use LABEL_ALT_ENTRY_P.
4807 * emit-rtl.c (gen_label_rtx): Adjust call to gen_rtx_CODE_LABEL.
4808 Do not clear LABEL_NUSES (unnecessary) or LABEL_ALTERNATE_NAME
4809 (field deleted).
4810 * print-rtl.c, ra-debug.c: Update code to output CODE_LABELs.
4811
4812 * doc/rtl.texi: Document LABEL_KIND, SET_LABEL_KIND, and
4813 LABEL_ALT_ENTRY_P; not LABEL_ALTERNATE_NAME.
4814 * doc/tm.texi: Delete documentation of
4815 ASM_OUTPUT_ALTERNATE_LABEL_NAME.
4816
59267987
RO
48172002-07-19 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4818
4819 * config/mips/iris5gas.h (DWARF2_DEBUGGING_INFO): Define.
4820 (PREFERRED_DEBUGGING_TYPE): Use DWARF2_DEBUG.
4821 (LINK_SPEC): Define.
4822 (STARTFILE_SPEC): Define.
4823 (ENDFILE_SPEC): Define.
4824
4825 * config/mips/iris6-o32.h (LINK_SPEC): Move ...
4826 * config/mips/iris6-o32-as.h (LINK_SPEC): ... here.
4827
4828 * config/mips/iris6-o32-gas.h: New file.
4829 * config.gcc (mips-sgi-irix6*o32): Use it.
4830
4831 * config/mips/t-iris5-gas: New file.
4832 * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
4833
75aef48a
NB
48342002-07-19 Neil Booth <neil@daikokuya.co.uk>
4835
4836 * cppexp.c (ALWAYS_EVAL): Remove.
4837 (optab, reduce): Always evaluate.
4838 (num_unary_op, num_binary_op, num_div_op): Issue diagnostics
4839 only if not skipping evaluation.
4840
72a5503d
MM
48412002-07-19 Marek Michalkiewicz <marekm@amelek.gda.pl>
4842
4843 * config/avr/avr.c (debug_hard_reg_set): Remove.
4844
059ba716
CD
48452002-07-19 Chris Demetriou <cgd@broadcom.com>
4846
4847 * gcc.c (cpp_options): Include "%1" (cc1_spec).
4848
544823b6
RH
48492002-07-19 Richard Henderson <rth@redhat.com>
4850
4851 * loop.c (loop_givs_rescan): Delete the REG_EQUAL note, not the insn.
4852
c35383cb
AM
48532002-07-19 Alan Modra <amodra@bigpond.net.au>
4854
4855 * prefix.c (update_path): Don't zap single `.' path components
4856 unless followed by another `.' and fix typo last patch.
4857
ad28cff7
NB
48582002-07-18 Neil Booth <neil@daikokuya.co.uk>
4859
4860 * cppexp.c (cpp_num_mul): Remove unused parameter.
4861 (UNARY, BINARY, OTHER, binary_handler): Remove.
4862 (ALWAYS_EVAL): New.
4863 (optab): Update.
4864 (reduce): Refactor to a large switch, don't use a function
4865 pointer.
4866
139b7f86
BT
48672002-07-18 Bo Thorsen <bo@berlioz.suse.de>
4868
4869 * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Define this always.
4870
e69d1422
R
4871Thu Jul 18 19:39:18 2002 J"orn Rennecke <joern.rennecke@superh.com>
4872
4873 * sh-protos.h (sh_expand_unop_v2sf): Move inside #ifdef RTX_CODE guard.
4874 (sh_expand_binop_v2sf): Likewise.
4875 * sh.c (machine_dependent_reorg): Add move for UNSPEC_MOVA.
4876 (int_gpr_dest, trunc_hi_operand): New functions.
4877 * sh.h (PREDICATE_CODES): Add any_register_operand, int_gpr_dest and
4878 trunc_hi_operand.
4879 (SPECIAL_MODE_PREDICATES, any_register_operand): Define.
4880 * sh.md (cmpeqdi_t+1): Remove comments that genrecog warns about.
4881 (adddi3_compact+1, subdi3_compact+1, ashlsi3_n+1, ashlhi3+1): Likewise.
4882 (ashrsi2_16+1, ashrsi2_31+1, lshrsi3_n+1, ashrdi3+[12]): Likewise.
4883 (and_shl_scratch+[12], zero_extendhidi2+1): Likewise.
4884 (zero_extendhisi2_media+1, extendhidi2+1, extendqidi2+1): Likewise.
4885 (extendhisi2_media+1, extendqisi2_media+1): Likewise.
4886 (movsi_media_nofpu+[12], movhi_media+1, movdi_media_nofpu+1): Likewise.
4887 (movdi_const_16bit+[12], movdf_i4+[123], reload_outdf+[2-5]): Likewise.
4888 (movsf_ie+1): Likewise.
4889 (loaddi_trunc): Use int_gpr_dest predicate.
4890 (use_sfunc_addr, indirect_jump_scratch, sibcall_compact): Add mode(s).
4891 (mova, mova_const, GOTaddr2picreg, ptrel, casesi_worker_0): Likewise.
4892 (casesi_worker_0+[12], casesi_worker): Likewise.
4893 (shcompact_preserve_incoming_args): Likewise.
4894 (mov_nop): Use any_register_operand predicate.
4895 (mperm_w0): Use trunc_hi_operand predicate.
4896
47a4976f
JDA
48972002-07-18 John David Anglin <dave@hiauly1.hia.nrc.ca>
4898
4899 * pa-linux.h (DWARF2_UNWIND_INFO): Delete define.
4900 * pa.h (EH_RETURN_DATA_REGNO): Revise TARGET_64BIT and correct
4901 numbering.
4902
f3a4e54e
JDA
49032002-07-18 John David Anglin <dave@hiauly1.hia.nrc.ca>
4904
4905 * pa.c (output_deferred_plabels): Remove unused millicode enum mulU.
4906
30484ccf
RH
49072002-07-18 Richard Henderson <rth@redhat.com>
4908
4909 PR optimization/7147
4910 * ifcvt.c (noce_get_condition): Make certain that the condition
4911 is valid at JUMP.
4912
d042370e
R
4913Thu Jul 18 13:44:51 2002 J"orn Rennecke <joern.rennecke@superh.com>
4914
4915 * sh.c (barrier_align, push): Shut up compiler warnings.
4916 (initial_elimination_offset,sh_media_init_builtins): Likewise.
4917 (reg_no_subreg_operand): Delete.
4918
61fee9b3
BT
49192002-07-17 Bo Thorsen <bo@suse.de>
4920
4921 * config/i386/linux64.h (LINK_SPEC): Remove bogus -Y option.
4922 (STARTFILE_PREFIX_SPEC): Define for NATIVE_CROSS compilations.
4923 (STARTFILE_SPEC): Remove hardcoded library paths.
4924 (ENDFILE_SPEC): Likewise.
4925
f305679f
JH
4926Thu Jul 18 09:38:59 CEST 2002 Jan Hubicka <jh@suse.cz>
4927
4928 * gcse.c (hoist_expr_reaches_here_p): Stop once expr_bb is reached.
4929
4930 * gcse.c (try_replace_reg): Do not return false positives.
4931
99bcb625
AM
49322002-07-18 Alan Modra <amodra@bigpond.net.au>
4933
f6f23ad2
AM
4934 * prefix.c: (update_path): Strip ".." components when prior dir
4935 doesn't exist. Pass correct var to UPDATE_PATH_HOST_CANONICALIZE.
4936
99bcb625
AM
4937 * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Remove 64-bit support.
4938 (ASM_OUTPUT_REG_POP): Likewise.
4939
09eeeacb
AM
49402002-07-18 Alan Modra <amodra@bigpond.net.au>
4941
4942 * config/rs6000/rs6000.c (first_reg_to_save): Remove bogus
4943 adjustments to first_reg for profiling case.
4944 (output_function_profiler): Correct lr save slot for ABI_AIX_NODESC.
4945 Disable profiling for 64 bit code on both ABI_V4 and ABI_AIX_NODESC.
4946 Save static chain reg to sp + 12 on ABI_AIX_NODESC.
4947 * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Define.
4948 (ASM_OUTPUT_REG_POP): Define.
4949 * config/rs6000/linux64.h (ASM_OUTPUT_REG_PUSH): Undef.
4950 (ASM_OUTPUT_REG_POP): Undef.
4951
74d06cf2
NB
49522002-07-17 Neil Booth <neil@daikokuya.co.uk>
4953
4954 * cpplib.c (do_sccs): Handle #sccs on all systems.
4955 * system.h (SCCS_DIRECTIVE): Poison.
4956 * config/darwin.h, config/freebsd.h, config/netbsd.h,
4957 config/ptx4.h, config/svr3.h, config/svr4.h, config/alpha/elf.h,
4958 config/arm/linux-elf.h, config/c4x/c4x.h, config/d30v/d30v.h,
4959 config/i370/i370.h, config/i386/gas.h, config/i386/sco5.h,
4960 config/i960/i960.h, config/m68hc11/m68hc11.h, config/m68k/3b1.h,
4961 config/m68k/3b1g.h, config/m68k/crds.h, config/m68k/mot3300.h,
4962 config/m68k/pbb.h, config/m88k/m88k.h, config/mips/mips.h,
4963 config/sparc/pbd.h, config/stormy16/stormy16.h, config/vax/vaxv.h:
4964 Remove all references to SCCS_DIRECTIVE.
4965 * doc/cpp.texi, doc/tm.texi: Update.
4966
61dde664
R
4967Wed Jul 17 19:23:32 2002 J"orn Rennecke <joern.rennecke@superh.com>
4968
4969 * regrename.c (maybe_mode_change): New function.
4970 (find_oldest_value_reg, copyprop_hardreg_forward_1): Use it.
4971
97f51ac4
RB
49722002-07-17 Rodney Brown <rbrown64@csc.com.au>
4973
4974 * config/i386/i386.c (ix86_expand_int_movcc): In the general case
4975 suppress addition when either ct or cf are zero.
4976
f1a73cfe 49772002-06-17 Eric Botcazou <ebotcazou@multimania.com>
30484ccf 4978 Glen Nakamura <glen@imodulo.com>
f1a73cfe
EB
4979
4980 PR optimization/6713
4981 * loop.c (loop_givs_rescan): Explicitly delete the insn that
4982 sets a non-replaceable giv after issuing the new one.
4983
23ff0223
NB
49842002-07-17 Neil Booth <neil@daikokuya.co.uk>
4985
4986 * cppexp.c (cpp_interpret_integer, append_digit, parse_defined,
4987 eval_token): Clarify and correct use of "bool" variables.
4988 * cpplib.h (struct cpp_options): Similarly.
4989 * cppmacro.c (parse_params, _cpp_save_parameter): Ditto.
4990 * cpptrad.c (recursive_macro): Similarly.
4991
ac09192a
R
4992Wed Jul 17 17:08:06 2002 J"orn Rennecke <joern.rennecke@superh.com>
4993
d28586ab 4994 * config/sh/lib1funcs.asm (udivsi3_i4): Implement SHcompact version in
ac09192a 4995 SHmedia code.
68cef009
R
4996
4997 * sh.md (cmpgtudi_media): Remove spurious @.
701e3726
R
4998
4999 * config/sh/lib1funcs.asm (FMOVD_WORKS): Don't define for little endian.
5000 * sh.h (OVERRIDE_OPTIONS): Don't set FMOVD_BIT for little endian.
ca903bba
R
5001
5002 * config/sh/lib1funcs.asm (init_trampoline): New entry point.
5003 * sh-protos.h (sh_initialize_trampoline): Declare.
5004 * sh.c (sh_initialize_trampoline): New function.
5005 * sh.h (TRAMPOLINE_SIZE): Only 24 for TARGET_SHMEDIA32.
5006 (TRAMPOLINE_ALIGNMENT): Need cache-line alignment for TARGET_SHMEDIA.
5007 (INITIALIZE_TRAMPOLINE): Call sh_initialize_trampoline.
5008 (TRAMPOLINE_ADJUST_ADDRESS): Not needed for SHcompact.
5009 * sh.md (initialize_trampoline, double_shori): New patterns.
5010 (initialize_trampoline_compact): Likewise.
5011 (shmedia32_initialize_trampoline_big): Remove.
5012 (shmedia32_initialize_trampoline_little): Likewise.
0ac78517
R
5013
5014 * sh-protos.h (binary_float_operator): Remove declaration.
5015 (sh_expand_unop_v2sf, sh_expand_binop_v2sf): Declare.
5016 * sh.c (print_operand, case 'N'): Check against CONST0_RTX.
5017 (unary_float_operator, sh_expand_unop_v2sf): New functions.
5018 (sh_expand_binop_v2sf): Likewise.
5019 (zero_vec_operand): Delete.
5020 (SH_BLTIN_UDI): New builtin shared signature define. Renumbered
5021 all non-shared ones.
5022 (bdesc): Change all the mextr builtins to use SH_BLTIN_UDI.
5023 Enable nsb and byterev.
5024 * sh.h (CONDITIONAL_REGISTER_USAGE): Initialize DF_HI_REGS.
5025 (HARD_REGNO_MODE_OK): Allow TImode in fp regs. Allow V2SFmode
5026 in general regs.
5027 (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add DF_HI_REGS.
5028 (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise. Remove clause for
5029 immediate operands.
5030 (SECONDARY_INPUT_RELOAD_CLASS): Add clause for immediate operands.
5031 Add DF_HI_REGS.
5032 (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P): Allow
5033 lowpart fp regs - only for big endian for now.
5034 (LEGITIMATE_CONSTANT_P): Don't allow non-zero float vectors
5035 when FPU is in use.
5036 (EXTRA_CONTRAINT_U): Check against CONST0_RTX.
5037 (LOAD_EXTEND_OP): NIL for SImode.
5038 (REGISTER_MOVE_COST): Add DF_HI_REGS. Const for moves between
5039 general and fp registers is 4.
5040 PREDICATE_CODES: Amend binary_float_operator entry.
5041 Remove zero_vec_operand. Add unary_float_operator.
5042 * sh.md (udivsi3_i4_media): Use truncate instead of paradoxical
5043 subreg SET_DEST.
5044 (truncdisi2, truncdihi2, movv2sf): Allow memory destinations.
5045 (truncdiqi2): Do sign extension.
5046 (movsi_media, movdi_media): Allow to use r63 to an fp register.
5047 (movdf_media, movsf_media): Likewise.
5048 (movv2sf_i, movv2sf_i+1): Don't use f{ld,st}.p or SUBREGS.
5049 Collapse to one define_insn_and_split. Allow immediate sources.
5050 (addv2sf3, subv2sf3, mulv2sf3, divv2sf3): New patterns.
5051 (movv4sf_i): Allow immediate sources. Use simplify_gen_subreg.
5052 (movv4sf): Allow immediate sources.
5053 (movsf_media_nofpu+1): Don't split moves to FP registers.
5054 (unary_sf_op, binary_sf_op, mshflo_w_x, concat_v2sf): New patterns.
5055 (movv8qi_i+3): Check against CONST0_RTX.
5056 (mextr1, mextr2. mextr3. mextr4, mextr5, mextr6, mextr7): Use DImode
5057 for input and output operands. Fix argument 3 to gen_mextr_rl.
5058 (mmul23_wl, mmul01_wl, mmulsum_wq_i): s/const_vector/parallel/
5059 (msad_ubq_i, mshf4_b, mshf0_b, mshf4_l, mshf0_l, mshf4_w): Likewise.
5060 (mshf0_w, fipr, ftrv): Likewise.
5061 (mshfhi_l_di): Now insn_and_split. Can handle FP regs.
5062
e9d7b180
JD
50632002-07-17 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
5064
5065 * arm.h (ARM_NUM_INTS, ARM_NUM_REGS, ARM_NUM_REGS2): Renamed from
5066 NUM_INTS, NUM_REGS and ARM_NUM_REGS2 respectively. All uses changed.
5067 * arm.c: Similarly.
5068
8214bf98
RS
50692002-07-17 Richard Sandiford <rsandifo@redhat.com>
5070
5071 * config/mips/mips-protos.h (mips_sign_extend): Declare.
5072 * config/mips/mips.h (MASK_DEBUG_H, TARGET_DEBUG_H_MODE): Remove.
5073 (TARGET_SWITCHES): Remove debugh.
5074 (ISA_HAS_TRUNC_W): New macro.
5075 (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS if TARGET_FLOAT64.
5076 (PREDICATE_CODES): Remove se_nonimmediate_operand.
5077 * config/mips/mips.c (movdi_operand): Allow sign-extensions of
5078 any SImode move_operand.
5079 (se_nonimmediate_operand): Remove.
5080 (mips_sign_extend): New.
5081 (mips_move_2words): Use it for sign-extended source operands.
5082 (override_options): Allow integers to be put into single FPRs.
5083 (mips_secondary_reload_class): Handle integers in float registers.
5084 * config/mips/mips.md (extendsidi2): Turn into a define_expand.
5085 (fix_truncsfsi2, fix_truncdfsi2): Likewise.
5086 (fix_truncdfsi2_insn, fix_truncdfsi2_macro): New.
5087 (fix_truncsfsi2_insn, fix_truncsfsi2_macro): New.
5088 (fix_truncdfdi2): Provide only a single alternative, in which the
5089 integer is in a float register. Depend on TARGET_FLOAT64 rather
5090 than TARGET_64BIT.
5091 (fix_truncsfdi2, floatdidf2, floatdisf2): Likewise.
5092 (floatsidf2, floatsisf2): Likewise, but no TARGET_FLOAT64 dependency.
5093 (movdi_internal2): Don't allow the source operand to be sign-extended.
5094 Add alternatives for float registers.
5095 (*movdi_internal2_extend): New. Version of movdi_internal2 that
5096 allows sign-extension.
5097 (*movdi_internal2_mips16): Name the existing mips16 movdi pattern.
5098 (movsi_internal2): Rename to movsi_internal. Add alternatives for
5099 float registers. Remove TARGET_DEBUG_H_MODE test.
5100 (movhi_internal1): Rename to movhi_internal. Don't check
5101 TARGET_DEBUG_H_MODE. Fix transposed *d and *f source constraints.
5102 (movqi_internal1): Rename to movqi_internal and remove
5103 TARGET_DEBUG_H_MODE dependency.
5104 (movsi_internal1, movhi_internal2, movqi_internal2): Remove.
5105
7ab0121e
JW
51062002-07-16 Jim Wilson <wilson@redhat.com>
5107
5108 * toplev.c (lang_dependent_init): Create function context for
5109 init_expr_once.
5110
349ccf2e
HPN
51112002-07-16 Hans-Peter Nilsson <hp@axis.com>
5112
5113 * config/cris/linux.h (CRIS_LINK_SUBTARGET_SPEC): Don't
5114 --gc-sections if -r.
5115 * config/cris/cris.h: Ditto.
5116
06ec023f
RB
51172002-07-16 Rodney Brown <rbrown64@csc.com.au>
5118
5119 * config/i386/i386.c (ix86_expand_int_movcc): In the case where
5120 the comparison directly gives a mask suppress addition when cf is
5121 zero by complementing the mask.
5122
39cef914
NN
51232002-07-16 Nathanael Nerode <neroden@gcc.gnu.org>
5124
5125 * Makefile.in: Delete references to enquire.
5126 * enquire.c: Move to contrib.
5127
92c1a778
SS
51282002-07-16 Stan Shebs <shebs@apple.com>
5129
2aa9948d
SS
5130 * config/darwin.h (ASM_OUTPUT_LABEL): Move to here from
5131 config/rs6000/darwin.h.
5132 (ASM_OUTPUT_SKIP): Ditto.
5133 (TEXT_SECTION_ASM_OP): Ditto.
5134 (DATA_SECTION_ASM_OP): Ditto.
5135 (ASM_APP_ON): Define.
5136 (ASM_APP_OFF): Define.
5137 * config/rs6000/darwin.h (ASM_OUTPUT_LABEL, ASM_OUTPUT_SKIP,
5138 TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): Remove.
5139
5140 * config/darwin.c (func_name_maybe_scoped): Remove unused decl.
92c1a778
SS
5141 (machopic_function_base_name): Declare result to be const.
5142 (machopic_non_lazy_ptr_name): Ditto.
5143 (machopic_stub_name): Ditto.
2aa9948d 5144 * config/darwin-protos.h: Ditto for the prototypes.
92c1a778 5145
daaab00a
JH
5146Wed Jul 17 00:22:39 CEST 2002 Jan Hubicka <jh@suse.cz>
5147
5148 * m68hc11.c (m68hc11_reorg): Do not rebuild CFG.
5149
63c574cc
JH
5150Wed Jul 17 00:20:48 CEST 2002 Jan Hubicka <jh@suse.cz>
5151
5152 * i386.md (prefetch): Fix for 64bit mode.
5153 (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
5154
2a500b9e
JH
5155Wed Jul 17 00:19:20 CEST 2002 Jan Hubicka <jh@suse.cz>
5156
5157 * i386.h (MACHINE_DEPENDENT_REORG): New macro.
5158 * i386.c (x86_machine_dependent_reorg): New function.
5159 * i386-protos.h (x86_machine_dependent_reorg): Declare.
5160
e5faf155
ZW
51612002-07-16 Zack Weinberg <zack@codesourcery.com>
5162
5163 * builtins.c (std_expand_builtin_va_start): Remove unused
5164 first argument.
5165 (expand_builtin_va_start): Call EXPAND_BUILTIN_VA_START and
5166 std_expand_builtin_va_start with just two arguments.
5167 * expr.h: Update prototypes.
5168
5169 * alpha-protos.h, alpha.h, alpha.c, arc-protos.h, arc.h,
5170 arc.c, d30v-protos.h, d30v.h, d30v.c, i386-protos.h, i386.h,
5171 i386.c, i960-protos.h, i960.h, i960.c, m88k-protos.h, m88k.h,
5172 m88k.c, mips-protos.h, mips.h, mips.c, mn10300-protos.h,
5173 mn10300.h, mn10300.c, pa-protos.h, pa.h, pa.c,
5174 rs6000-protos.h, rs6000.h, rs6000.c, s390-protos.h, s390.h,
5175 s390.c, sh-protos.h, sh.h, sh.c, sparc-protos.h, sparc.h,
5176 sparc.c, stormy16-protos.h, stormy16.h, stormy16.c,
5177 xtensa-protos.h, xtensa.h, xtensa.c: Remove unused first
5178 argument from all implementations of EXPAND_BUILTIN_VA_START
5179 and all uses of std_expand_builtin_va_start.
5180
dbf65c2f
R
5181Tue Jul 16 19:32:58 2002 J"orn Rennecke <joern.rennecke@superh.com>
5182
5183 * regrename.c (copy_value): Don't record high part copies.
5184
6acb6d3e 51852002-07-16 Steve Ellcey <sje@cup.hp.com>
99b823ca 5186
6acb6d3e
SE
5187 * gcc/config/pa/long_double.h (FIXUNS_TRUNCTFDI2_LIBCALL): New define.
5188 (fixunstfdi_libfunc): Change to use FIXUNS_TRUNCTFDI2_LIBCALL.
5189 * gcc/config/pa/quadlib.c (_U_Qfcnvfxt_quad_to_udbl): New function.
5190
5d7c2819
ID
51912002-07-16 Ian Dall <ian@sibyl.beware.dropbear.id.au>
5192
5193 * doc/invoke.texi (NS32K Options): Document -mieee-compare option
5194
5195 * config/ns32k/ns32k.md (addsi3, *frame_addr, *stack_addr): merge
5196 into addsi3 using register class "x" and "y".
5197
5198 * config/ns32k/ns32k.md (*madddf, *maddsf, *msubdf, *msubsf):
5199 "earlyclobber" constraint modifier for some alternative.
e5faf155 5200
5d7c2819
ID
5201 * config/ns32k/ns32k.md (tstdf, tstsf, cmpdf, cmpsf, blt, ble)
5202 (*ble, *blt): Flag to indicate bCOND and sCOND should check for
5203 unordered.
5204 config/ns32k/ns32k.h (CC_UNORD): define corresponding mask.
5205
5206 * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE, MASK_IEEE_COMPARE)
5207 (TARGET_SWITCHES): Add -mieee-compare option.
5208 (OVERRIDE_OPTIONS): 32332 is a subset of
5209 32532. Don't use IEEE_COMPARE -funsafe-math-optimizations.
5210 (TARGET_SWITCHES): Fix description of bitfield option.
5211 * config/ns32k/netbsd.h (TARGET_DEFAULT): Add
5212 -mieee-compare option. Remove 32332 flag.
5213
5da4f548 52142002-07-16 Steve Ellcey <sje@cup.hp.com>
5d7c2819
ID
5215
5216 * explow.c (convert_memory_address): Remove special handling
5da4f548 5217 when POINTERS_EXTEND_UNSIGNED < 0.
5d7c2819 5218 * config/ia64.md (movsi_symbolic): New instruction for ILP32 mode.
5da4f548
SE
5219 (movedi_symbolic): Fix typo.
5220 (load_fptr): Remove mode restriction so it works for SI and DI.
5221 (load_fptr_internal1): Ditto.
5222 (load_gprel): Ditto.
5223 (load_symptr_internal1): Ditto.
5224 (call_pic): Ditto.
5d7c2819 5225 * config/ia64.c (call_operand): Modify mode check.
5da4f548
SE
5226 (ia64_expand_load_address): Handle DI and SI addresses and symbols.
5227 (ia64_expand_move): Ditto.
5228 (ia64_assemble_integer): Handle SImode function pointers.
5229 (ia64_expand_fetch_and_op): Handle SImode mem addresses.
5230 (ia64_expand_op_and_fetch): Ditto.
5231 (ia64_expand_compare_and_swap): Ditto.
5232 (ia64_expand_lock_test_and_set): Ditto.
5233 (ia64_expand_lock_release): Ditto.
5234
1575c31e
JD
52352002-07-16 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
5236
5237 * arm.c (emit_sfm): Don't set RTX_FRAME_RELATED_P on DWARF.
5238
52392002-07-16 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
5240 Richard Earnshaw <rearnsha@arm.com>
5241
e5faf155 5242 * arm.h (LEGITIMATE_PIC_OPERAND_P): Only test
1575c31e
JD
5243 CONSTANT_POOL_ADDRESS_P if a SYMBOL_REF. Simplify logic.
5244
3894f59e
RE
52452002-07-16 Richard Earnshaw <rearnsha@arm.com>
5246
5247 * arm.md (stack_tie): New insn. Use an idiom that the alias code
5248 understands to be a memory clobber.
5249 * arm.c (arm_expand_prologue): Use it.
5250
e0b89be2 52512002-07-16 Daniel Berlin <dberlin@dberlin.org>
54b2a7f8
DB
5252
5253 * ra-rewrite.c: #include reload.h, insn-config.h
5254 * ra-build.c: #include reload.h
5255 * Makefile.in: Update ra-rewrite.o, ra-build.o dependencies to
e5faf155 5256 depend on reload.h, insn-config.h.
54b2a7f8 5257
cffa2189
R
5258Tue Jul 16 11:57:45 2002 J"orn Rennecke <joern.rennecke@superh.com>
5259
5260 * expr.c (emit_move_insn_1): Handle arbitrary moves that are
5261 the same size as a word.
5262
5263 * regrename.c (find_oldest_value_reg): Take WORDS_BIG_ENDIAN /
5264 BYTES_BIG_ENDIAN into account.
5265
052c96b1
JH
5266Tue Jul 16 12:22:44 CEST 2002 Jan Hubicka <jh@suse.cz>
5267
5268 * i386.md (prefetch): Fix for 64bit mode.
5269 (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
5270
5271 * i386.md (movss, movsd): Use xorps/xorpd for Athlon.
5272
ae32926b
MM
52732002-07-16 Marek Michalkiewicz <marekm@amelek.gda.pl>
5274
5275 * hard-reg-set.h (TEST_HARD_REG_BIT): Return 1 if the bit is set.
5276
6c535c69
ZW
52772002-07-15 Zack Weinberg <zack@codesourcery.com>
5278
5279 * ginclude/varargs.h: Replace with stub which issues #error.
5280 * ginclude/stdarg.h: __builtin_stdarg_start is renamed
5281 __builtin_va_start.
5282
5283 * builtins.def (BUILT_IN_VARARGS_START): Delete.
5284 (BUILT_IN_VA_START): New.
5285 * builtins.c (expand_builtin_va_start): Eliminate first
5286 argument and code to implement pre-ISO varargs.
5287 (std_expand_builtin_va_start): Ignore first argument; it is
5288 always 1.
5289 (expand_builtin): Handle BUILT_IN_VA_START and
5290 BUILT_IN_STDARG_START identically. Delete
5291 BUILT_IN_VARARGS_START case.
5292
5293 * function.c (assign_parms): Delete hide_last_arg and all
5294 its uses.
5295 (mark_varargs): Delete function.
5296 * function.h (struct function): Delete 'varargs' bit.
5297 (current_function_varargs): Delete macro.
5298 * tree.h: Don't declare mark_varargs.
5299
5300 * c-decl.c (c_function_varargs, c_mark_varargs): Delete.
5301 (c_expand_body): Don't call mark_varargs.
5302 * c-objc-common.c: Handle BUILT_IN_VA_START and
5303 BUILT_IN_STDARG_START identically. Delete
5304 BUILT_IN_VARARGS_START case.
5305 * c-tree.h: Don't declare c_mark_varargs.
5306 * c-parse.in: Remove grammar rules for '&...' (which has been
5307 commented out since before 2.7.2) and for '...' in K+R
5308 argument declarations.
5309
5310 * builtins.c, function.c, integrate.c, sibcall.c,
5311 config/alpha/unicosmk.h, config/arc/arc.c, config/arc/arc.h,
5312 config/avr/avr.c, config/cris/cris.c, config/fr30/fr30.c,
5313 config/i960/i960.c, config/i960/i960.md, config/m32r/m32r.c,
5314 config/m32r/m32r.h, config/m88k/m88k.c, config/m88k/m88k.h,
5315 config/mips/mips.c, config/mmix/mmix.c, config/mmix/mmix.h,
5316 config/mn10300/mn10300.c, config/pa/som.h, config/s390/s390.c,
5317 config/sh/sh.c, config/sh/sh.h, config/sparc/sparc.h,
5318 config/stormy16/stormy16.c: Delete all references to
5319 current_function_varargs, and code predicated on that flag.
5320
5321 * config/alpha/alpha.c (alpha_va_start),
5322 config/arc/arc.c (arc_va_start),
5323 config/i386/i386.c (ix86_va_start),
5324 config/mips/mips.c (mips_va_start),
5325 config/mn10300/mn10300.c (mn10300_va_start),
5326 config/rs6000/rs6000.c (rs6000_va_start),
5327 config/s390/s390.c (s390_va_start),
5328 config/sh/sh.c (sh_va_start),
5329 Ignore first argument; it is always 1.
5330
5331 * config/c4x/c4x-protos.h, config/c4x/c4x.c: Delete c4x_va_start.
5332 * config/ia64/ia64-protos.h, config/ia64/ia64.c: Delete ia64_va_start.
5333 * config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c:
5334 Delete m68hc11_va_start.
5335 * config/c4x/c4x.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h:
5336 No need to define EXPAND_BUILTIN_VA_START.
5337
5338 * doc/invoke.texi, doc/sourcebuild.texi, doc/tm.texi,
5339 doc/trouble.texi: Remove references to GCC-provided <varargs.h>.
5340
6d80a854
EB
53412002-07-15 Eric Botcazou <ebotcazou@multimania.com>
5342
5343 PR optimization/7153
5344 * regmove.c (optimize_reg_copy_3): Don't optimize if the register
5345 dies in more than one insn.
5346
043cfcbe
JT
53472002-07-15 Jason Thorpe <thorpej@wasabisystems.com>
5348
5349 * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Remove.
5350
ed8d2920 53512002-07-15 Michael Matz <matz@suse.de>,
6c535c69 5352 Daniel Berlin <dberlin@dberlin.org>,
ed8d2920
MM
5353 Denis Chertykov <denisc@overta.ru>
5354
5355 Add a new register allocator.
5356
5357 * ra.c: New file.
5358 * ra.h: New file.
5359 * ra-build.c: New file.
5360 * ra-colorize.c: New file.
5361 * ra-debug.c: New file.
5362 * ra-rewrite.c: New file.
5363
5364 * Makefile.in (ra.o, ra-build.o, ra-colorize.o, ra-debug.o,
5365 (ra-rewrite.o): New .o files for libbackend.a.
5366 (GTFILES): Add basic-block.h.
5367
5368 * toplev.c (flag_new_regalloc): New.
5369 (f_options): New option "new-ra".
5370 (rest_of_compilation): Call initialize_uninitialized_subregs()
5371 only for the old allocator. If flag_new_regalloc is set, call
5372 new allocator, instead of local_alloc(), global_alloc() and
5373 friends.
5374
5375 * doc/invoke.texi: Document -fnew-ra.
5376 * basic-block.h (FOR_ALL_BB): New.
5377 * config/rs6000/rs6000.c (print_operand): Write small constants
5378 as @l+80.
5379
5380 * df.c (read_modify_subreg_p): Narrow down cases for a rmw subreg.
5381 (df_reg_table_realloc): Make size at least as large as max_reg_num().
5382 (df_insn_table_realloc): Size argument now is absolute, not relative.
5383 Changed all callers.
5384
5385 * gengtype.c (main): Add the pseudo-type "HARD_REG_SET".
5386 * regclass.c (reg_scan_mark_refs): Ignore NULL rtx's.
5387
5388 2002-06-20 Michael Matz <matz@suse.de>
5389
5390 * df.h (struct ref.id): Make unsigned.
5391 * df.c (df_bb_reg_def_chain_create): Remove unsigned cast.
5392
5393 2002-06-13 Michael Matz <matz@suse.de>
5394
5395 * df.h (DF_REF_MODE_CHANGE): New flag.
5396 * df.c (df_def_record_1, df_uses_record): Set this flag for refs
5397 involving subregs with invalid mode changes, when
5398 CLASS_CANNOT_CHANGE_MODE is defined.
5399
5400 2002-05-07 Michael Matz <matz@suse.de>
5401
5402 * reload1.c (fixup_abnormal_edges): Don't insert on NULL edge.
5403
5404 2002-05-03 Michael Matz <matz@suse.de>
5405
5406 * sbitmap.c (sbitmap_difference): Accept sbitmaps of different size.
5407
5408 Sat Feb 2 18:58:07 2002 Denis Chertykov <denisc@overta.ru>
5409
5410 * regclass.c (regclass): Work with all regs which have sets or
5411 refs.
5412 (reg_scan_mark_refs): Count regs inside (clobber ...).
5413
5414 2002-01-04 Michael Matz <matzmich@cs.tu-berlin.de>
5415
5416 * df.c (df_ref_record): Correctly calculate SUBREGs of hardregs.
5417 (df_bb_reg_def_chain_create, df_bb_reg_use_chain_create): Only
5418 add new refs.
5419 (df_bb_refs_update): Don't clear insns_modified here, ...
5420 (df_analyse): ... but here.
5421
5422 * sbitmap.c (dump_sbitmap_file): New.
5423 (debug_sbitmap): Use it.
5424
5425 * sbitmap.h (dump_sbitmap_file): Add prototype.
5426
5427 2001-08-07 Daniel Berlin <dan@cgsoftware.com>
5428
5429 * df.c (df_insn_modify): Grow the UID table if necessary, rather
5430 than assume all emits go through df_insns_modify.
5431
5432 2001-07-26 Daniel Berlin <dan@cgsoftware.com>
5433
5434 * regclass.c (reg_scan_mark_refs): When we increase REG_N_SETS,
5435 increase REG_N_REFS (like flow does), so that regclass doesn't
5436 think a reg is useless, and thus, not calculate a class, when it
5437 really should have.
5438
5439 2001-01-28 Daniel Berlin <dberlin@redhat.com>
5440
5441 * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP_REV): New macro, needed for
5442 dataflow analysis.
5443
794a292d
JJ
54442002-07-15 Jakub Jelinek <jakub@redhat.com>
5445
5446 PR middle-end/7245
5447 * config/i386/i386.c (const_int_1_31_operand): New.
5448 * config/i386/i386.h (PREDICATE_CODES): Add it.
5449 * config/i386/i386.md (ashlsi3_cmp, ashlsi3_cmp_zext, ashlhi3_cmp,
5450 ashlqi3_cmp, ashrsi3_cmp, ashrsi3_cmp_zext, ashrhi3_cmp, ashrqi3_cmp,
5451 lshrsi3_cmp, lshrsi3_cmp_zext, lshrhi3_cmp, lshrqi3_cmp): Use it.
5452
05d49501
AM
54532002-07-14 Alan Modra <amodra@bigpond.net.au>
5454
5455 PR target/7282
5456 * config/rs6000/rs6000.md (floatsidf2): Enable for POWERPC64.
5457 (floatunssidf2): Likewise.
5458 (floatsidf_ppc64): New insn_and_split.
5459 (floatunssidf_ppc64): Likewise.
5460
e89617fe
AJ
54612002-07-14 Andreas Jaeger <aj@suse.de>
5462
5463 * config.gcc (sh64): Remove unused
5464 target_requires_64bit_host_wide_int.
5465
78762e3b
RS
54662002-07-12 Roger Sayle <roger@eyesopen.com>
5467
5468 * expr.c [CLEAR_RATIO]: New macro defining the maximum number
5469 of move instructions to use when clearing memory, c.f. MOVE_RATIO.
5470 [CLEAR_BY_PIECES]: New macro, using CLEAR_RATIO, to determine
5471 whether clear_by_pieces should be used to clear storage.
5472 (clear_storage): Use CLEAR_BY_PIECES instead of MOVE_BY_PIECES.
5473
5474 * doc/tm.texi: Document these two new target macros.
5475
f7a454e9
SC
54762002-07-12 Stephane Carrez <stcarrez@nerim.fr>
5477
5478 * config/m68hc11/m68hc11.md ("zero_extendsidi2"): Use D_REG only for
5479 the scratch register.
5480 ("*movhi2_push"): Accept Z_REG because a split pattern can make use
5481 of it, forbid reload to use it.
5482
26af4041
MM
54832002-07-12 Marek Michalkiewicz <marekm@amelek.gda.pl>
5484
5485 * config/avr/avr.c (test_hard_reg_class): Fix TEST_HARD_REG_BIT
5486 usage on 64-bit hosts, return value was truncated to 32 bits.
5487
226cfe61
R
5488Fri Jul 12 00:49:36 2002 J"orn Rennecke <joern.rennecke@superh.com>
5489
5490 * simplify-rtx.c (simplify_subreg): Handle floating point
5491 CONST_DOUBLEs. When an integer subreg of a smaller mode than
5492 the element mode is requested, compute a subreg with an
5493 integer mode of the same size as the element mode first.
5494
25c25947
R
5495Thu Jul 11 22:02:57 2002 J"orn Rennecke <joern.rennecke@superh.com>
5496
5497 * combine.c (try_combine): When converting a paradoxical subreg
5498 to an extension, take LOAD_EXTEND_OP into account.
5499
789b7de5
RO
55002002-07-11 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
5501
5502 * config.gcc (mips-sgi-irix6*o32): New configuration.
5503
5504 * configure.in (libgcc_visibility): Disable for mips-sgi-irix6*o32
5505 configurations.
5506 * configure: Regenerate.
5507
5508 * config/mips/iris6-o32-as.h: New file.
5509 * config/mips/iris6-o32.h: New file.
e89617fe 5510
789b7de5
RO
5511 * config/mips/iris5gas.h (TARGET_ASM_NAMED_SECTION): Define.
5512 (NM_FLAGS): Define.
5513 (HAVE_AS_SHF_MERGE): Undefine.
5514
5515 * config/mips/t-iris5-as: New file.
5516 * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
5517
5518 * config/mips/t-iris6 (SHLIB_EXT, SHLIB_SOLINK, SHLIB_SONAME,
5519 SHLIB_NAME, SHLIB_MAP, SHLIB_OBJS, SHLIB_SLIBDIR_QUAL, SHLIB_LINK,
5520 SHLIB_INSTALL, SHLIB_MKMAP, SHLIB_MAPFILES, FPBIT, DPBIT,
5521 dp-bit.c, fp-bit.c): Move ...
5522 * config/mips/t-iris5-6: ... here.
5523 New file, shared by IRIX 5 and IRIX 6.
5524 * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix6*,
5525 mips-sgi-irix5*): Use it.
5526
5527 * config/mips/iris6.h: Remove duplicate comment.
5528
5529 * config/mips/mips.c (TARGET_ASM_UNALIGNED_DI_OP) [TARGET_IRIX5 &&
5530 !TARGET_IRIX6]: Define.
5531 (mips_asm_file_start): Don't emit mdebug.<ABI> sections on IRIX 5/6.
5532
5533 * config/mips/mips.h (ASM_DECLARE_FUNCTION_NAME): Fix comment.
5534
a18c2c5f
JDA
55352002-07-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
5536
5537 * pa.md (adddi3): Change predicate of operand 2 to adddi3_operand
5538 and delete code to force constant to register.
5539 * pa-protos.h (adddi3_operand): Add prototype.
5540 * pa.c (adddi3_operand): New function.
5541
e65a2d65
RS
55422002-07-11 Roger Sayle <roger@eyesopen.com>
5543
5544 * c-decl.c (duplicate_decls): Preserve the noreturn attribute on
5545 non-ANSI builtin functions.
5546
a06e3c40
R
5547Thu Jul 11 11:31:12 2002 J"orn Rennecke <joern.rennecke@superh.com>
5548
5549 * rtl.h (gen_rtx_CONST_VECTOR): Declare.
5550 * gengenrtl.c (special_rtx): Check for CONST_VECTOR.
5551 * emit-rtl.c (gen_rtx_CONST_VECTOR): New function.
5552 (gen_const_vector_0): Use it.
5553
47abc309
JDA
55542002-07-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
5555
5556 * pa.md (adddi3): For 32-bit targets, force constants to a register
5557 if they don't fit in an 11-bit immediate. Change insn predicate to
5558 arith11_operand. Remove comment.
5559 * pa.c (cint_ok_for_move): Fix comment.
5560 (emit_move_sequence): Don't directly split DImode constants on 32-bit
5561 targets.
5562
8ac9d31f
TJ
55632002-07-11 Tim Josling <tej@melbpc.org.au>
5564
e89617fe 5565 Remove front end hard coding from gengtype.c.
8ac9d31f
TJ
5566
5567 * Makefile.in
5568 (STAGESTUFF): add gtyp-gen.h
5569 (GTFILES): Remove front end specific files.
5570 (GTFILES_FILES_LANGS): New, from configure..
5571 (GTFILES_FILES_FILES): Likewise.
5572 (GTFILES_LANG_DIR_NAMES): Likewise.
5573 (GTFILES_SRCDIR): Likewise.
5574 (gtyp-gen.h): Build from configure information.
5575 (s-gtype): Remove command line parameters from gengtype.
5576 (gengtype.o): Remove dependency on GTFILES. Depend on gtyp-gen.h.
5577 (mostlyclean): Delete files generated by and for gengtype.
5578
5579 * c-config-lang.in: New file.
5580
5581 * configure.in (all_gtfiles_files_langs): New. Accumulate files
5582 for each language.
5583 (all_gtfiles_files_files): New. Accumulate language for each file
5584 accumulated.
5585 (gtfiles): Pick up value for C.
5586 (srcdir): AC-SUBST this variable.
5587 (all_gtfiles_files_langs): AC-SUBST this variable.
5588 (all_gtfiles_files_files): AC-SUBST this variable.
e89617fe 5589
8ac9d31f 5590 * configure: Regenerate.
e89617fe 5591
8ac9d31f
TJ
5592 * gengtype-lex.l (parse_file): Make parameter const.
5593
5594 * gengtype.c (toplevel): include gtyp-gen.h.
5595 (BASE_FILE_<language> unnamed enum): Delete.
5596 (lang_names): Delete (replaced by gtyp-gen.h)
5597 (lang_dir_names): From gtyp-gen.h, replaces lang_names; changed
5598 all references.
5599 (NUM_GT_FILES): New.
5600 (NUM_LANG_FILES): New.
5601 (srcdir_len): New.
5602 (NUM_BASE_FILES): Change calculation.
5603 (open_base_files): Change prototype to avoid warning.
5604 (startswith): Delete.
5605 (get_file_basename): Iterate through generated language list not
5606 hard coded list.
5607 (get_base_file_bitmap): Use generated list of files and languages.
5608 (close_output_files): Add prototype to rmove warning.
5609 (main): Iterate through list of generated files from gtyp-gen.h
5610 rather than command line paramaters. Ignore duplicated file
e89617fe 5611 names.
8ac9d31f
TJ
5612
5613 * gengtype.h (parse_file): Amend prototype for const parameter.
e89617fe 5614
8ac9d31f
TJ
5615 * doc/sourcebuild.texi: Document gtfiles variable.
5616
5617 * doc/gty.texi: Document changes to gtfiles variable for front
5618 ends.
5619
5620 * objc/config-lang.in (gtfiles): Add files needed for objc front
5621 end.
5622
0e603223
RS
56232002-07-10 Roger Sayle <roger@eyesopen.com>
5624
5625 PR c/2454
5626 * combine.c (nonzero_bits): LOAD_EXTEND_OP should only apply
5627 to SUBREGs of MEMs. (num_sign_bit_copies): Likewise.
5628
c5358a5d
RS
56292002-07-10 Roger Sayle <roger@eyesopen.com>
5630 Zack Weinberg <zack@codesourcery.com>
5631
5632 * builtins.def: Make the argument types of abort and exit
5633 independent of the front-end.
5634
a35f8b74
AM
56352002-07-11 Alan Modra <amodra@bigpond.net.au>
5636
5637 * config/rs6000/linux64.h (ASM_SPEC): Define.
5638
89e7058f
AH
56392002-07-10 Aldy Hernandez <aldyh@redhat.com>
5640
6c535c69
ZW
5641 * config/rs6000/rs6000.c (emit_frame_save): New.
5642 (rs6000_frame_related): Replace reg2 before reg.
5643 (rs6000_emit_prologue): Use emit_frame_save for saving gprs, fprs,
5644 and eh_return registers.
89e7058f 5645
086bbd21
TM
56462002-07-10 Toon Moene <toon@moene.indiv.nluug.nl>
5647
5648 Revert all patches for optimization of Complex .op. Real.
5649 * complex_part_zero_p: Remove
5650 * expand_cmplxdiv_straight: Replace complex_part_zero_p(x)
5651 with x.
5652 * expand_cmplxdiv_wide: Ditto.
5653 * expand_binop: Ditto.
5654
126dbce0
MM
56552002-07-10 Marek Michalkiewicz <marekm@amelek.gda.pl>
5656
5657 * config/avr/avr.md: Fix two 0x80000000 constants to make them
5658 negative also on 64-bit hosts.
5659
5660 Default to -fno-reorder-blocks when optimizing for size.
5661 * config/avr/avr-protos.h (avr_optimization_options): Declare.
5662 * config/avr/avr.c (avr_optimization_options): New function.
5663 * config/avr/avr.h (OPTIMIZATION_OPTIONS): New.
5664
5665 Optimize returning from simple functions.
5666 * config/avr/avr-protos.h (avr_simple_epilogue): Declare.
5667 * config/avr/avr.c (avr_simple_epilogue): New function.
5668 * config/avr/avr.md (return): New insn.
5669
21c318ba
DR
56702002-07-10 Douglas B Rupp <rupp@gnat.com>
5671
5672 * config/i386/i386.c (ix86_svr3_asm_out_constructor): Add
5673 HAS_INIT_SECTION to protection.
5674
537834c8
MM
56752002-07-10 Mark Mitchell <mark@codesourcery.com>
5676
5677 * doc/invoke.texi (Debugging Options): Mention that -gdwarf is
5678 deprecated.
5679
80ba02b1
R
5680Wed Jul 10 19:50:03 2002 J"orn Rennecke <joern.rennecke@superh.com>
5681
5682 * combine.c (gen_lowpart_for_combine): Handle vector modes.
5683 Supply non-VOID mode to simplify_gen_subreg.
5684
ae3aa00d
JH
5685Wed Jul 10 18:48:55 CEST 2002 Jan Hubicka <jh@suse.cz>
5686
5687 * i386.c (ix86_init_mmx_sse_builtins): Fix thinko.
5688
029f3983
JL
56892002-07-10 Jeffrey A Law <law@redhat.com>
5690
7a464913
JL
5691 * mn10200.c (expand_prologue): Create REG_MAYBE_DEAD notes
5692 as appropriate.
5693
6c535c69
ZW
5694 * mn10200.c (expand_epilogue): Fix test to determine which scratch
5695 register to use.
029f3983 5696
ff27a429
R
5697Wed Jul 10 16:06:00 2002 J"orn Rennecke <joern.rennecke@superh.com>
5698
5699 * cse.c (cse_insn): Supply proper SUBREG_BYTE to simplify_gen_subreg.
5700 Get mode from dest.
5701 If simplify_gen_subreg fails, try next equivalent.
5702
e6986399
GDR
57032002-07-09 Gabriel Dos Reis <gdr@codesourcery.com>
5704
5705 * diagnostic.h: #include location.h
5706 (location_t): Move definition to..
5707 * location.h: ... here. New file.
5708 * tree.h: #include location.h
5709 (DECL_SOURCE_LOCATION): New macro.
5710 (DECL_SOURCE_FILE): Use.
5711 (DECL_SOURCE_LINE): Likewise.
5712 (struct tree_decl): REplace filename and linenum with locus.
5713 * Makefile.in (TREE_H): add location.h
5714 (diagnostic.o): Depends on gt-location.h
5715 (gt-location.h): Depends on s-gtype
5716
7990b46f
MK
57172002-07-09 Matt Kraai <kraai@alumni.cmu.edu>
5718
5719 * config/rs6000/aix.h: Convert CPP_PREDEFINES to
5720 TARGET_OS_CPP_BUILTINS.
5721 * config/rs6000/aix31.h: Likewise.
5722 * config/rs6000/aix41.h: Likewise.
5723 * config/rs6000/aix43.h: Likewise.
5724 * config/rs6000/aix51.h: Likewise.
5725 * config/rs6000/beos.h: Likewise.
5726 * config/rs6000/darwin.h: Likewise.
5727 * config/rs6000/eabi.h: Likewise.
5728 * config/rs6000/eabisim.h: Likewise.
5729 * config/rs6000/linux.h: Likewise.
5730 * config/rs6000/linux64.h: Likewise.
5731 * config/rs6000/lynx.h: Likewise.
5732 * config/rs6000/mach.h: Likewise.
5733 * config/rs6000/rtems.h: Likewise.
5734 * config/rs6000/sysv4.h: Likewise.
5735 * config/rs6000/vxppc.h: Likewise.
efa39e99
DP
5736
57372002-07-09 Devang Patel <dpatel@apple.com>
5738 * objc/objc-act.c (adjust_type_for_id_default): Fix my previous patch.
5739 Do not allow ObjC objects as a parameter type for Objective-C methods.
5740 My previous patch restricted 'struct' also.
e89617fe 5741
cd98faa1
NB
57422002-07-09 Neil Booth <neil@daikokuya.co.uk>
5743
5744 * cpperror.c (cpp_error): Default to directive_line within
5745 directives here.
5746 * cppexp.c (cpp_interpret_integer): Only use traditional
5747 number semantics in directives.
5748 * cpplib.c (prepare_directive_trad): Don't reset pfile->line.
5749 (do_include_common): Similarly.
5750 * cpptrad.c (scan_out_logical_line): Implement accurate
5751 quoting of <> in #include.
5752 * doc/cpp.texi: Update.
5753
2ad65b0e 5754Tue Jul 9 22:37:44 2002 Stephen Clarke <stephen.clarke@superh.com>
6c535c69 5755 J"orn Rennecke <joern.rennecke@superh.com>
2ad65b0e
SC
5756
5757 * sh.c (sh_adjust_cost): Special handling of SHMEDIA code.
5758 * sh.md (attribute issues): Replace with:
5759 (attribute pipe_model). All users changed.
5760 (attribute type): Change pt / ptabs to pt_media / ptabs_media.
5761 All users changed.
5762 (function units sh5issue, sh5fds): New.
5763 (attribute is_mac_media): New.
5764 (adddi3_media, subdi3_media, divsi3_i1_media, anddi3): Add type.
5765 (andcdi3, iordi3, xordi3, ashldi3_media, lshrdi3_media): Likewise.
5766 (ashrdi3_media, negdi_media, extendsidi2, movqi_media): Likewise.
5767 (movhi_media, shori_media, movv2sf_i, jump_media): Likewise.
5768 (call_media, call_value_media, sibcall_media): Likewise.
5769 (casesi_jump_media, casesi_shift_media, casesi_load_media): Likewise.
5770 (return_media_i, addsf3_media, subsf3_media, mulsf3_media): Likewise.
5771 (mac_media, divsf3_media, floatdisf2, floatsisf2_media): Likewise.
5772 (fix_truncsfdi2, fix_truncsfsi2_media, cmpeqsf_media): Likewise.
5773 (cmpgtsf_media, cmpgesf_media, cmpunsf_media, negsf2_media): Likewise.
5774 (sqrtsf2_media, abssf2_media, adddf3_media, subdf3_media): Likewise.
5775 (muldf3_media, divdf3_media, floatdidf2, floatsidf2_media): Likewise.
5776 (fix_truncdfdi2, fix_truncdfsi2_media, cmpeqdf_media): Likewise.
5777 (cmpgtdf_media, cmpgedf_media,cmpundf_media, negdf2_media): Likewise.
5778 (sqrtdf2_media, absdf2_media, extendsfdf2_media): Likewise.
5779 (truncdfsf2_media): Likewise.
5780 (movsi_media, movsi_media_nofpu, movdi_media): Use new types.
5781 (movdi_media_nofpui, movdf_media, movdf_media_nofpu): Likewise.
5782
b6d33983
R
5783Tue Jul 9 21:39:50 2002 J"orn Rennecke <joern.rennecke@superh.com>
5784
5785 * sh.h (PREDICATE_CODES): Add general_extend_operand and inqhi_operand.
5786 * sh.c (general_extend_operand, inqhi_operand): New functions.
5787 * sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): Collapse
5788 alternatives using 'N' modifier. Add type.
5789 (adddi3z_media): Likewise. Enable generator function generation.
5790 (movdicc_false, movdicc_true, addsi3_media, subsi3_media): Use more
5791 exact predicates / constraints. Add type.
5792 (subsi3): Allow 0 for SHMEDIA.
5793 (udivsi3_i4_media): Use match_operand for input values
5794 rather than hard registers.
5795 (udivsi3 - TARGET_SHMEDIA_FPU case): Don't ferry values
5796 unnecessarily through hard registers. Keep copies of pseudo
5797 registers outside of the libcall sequence.
5798 (mulsidi3_media, umulsidi3_media): Use more exact predicates. Add type.
5799 (ashlsi3_media, ashrsi3_media, lshrsi3_media): Likewise.
5800 (zero_extendsidi2, zero_extendhidi2, zero_extendqidi2): Likewise.
5801 (extendhidi2, extendqidi2): Likewise.
5802 (andsi3_compact): Name.
5803 (andcdi3): Enable generator function generation.
5804 (zero_extendhisi2, zero_extendqisi2): Rename to
5805 (zero_extendhisi2_compact, zero_extendqisi2_compact).
5806 (extendhisi2, extendqisi2): Rename to
5807 (extendhisi2_compact, extendqisi2_compact).
5808 (rotldi3, rotldi3_mextr, rotrdi3, rotrdi3_mextr): New patterns.
5809 (loaddi_trunc, zero_extendhisi2, zero_extendhisi2_media): Likewise.
5810 (zero_extendhisi2_media+1, zero_extendqisi2): Likewise.
5811 (zero_extendqisi2_media, extendhisi2, extendhisi2_media): Likewise.
5812 (extendhisi2_media, extendhisi2_media+1, extendqisi2): Likewise.
5813 (extendqisi2_media, extendqisi2_media+1, truncdisi2): Likewise.
5814 (truncdihi2, truncdiqi2, reload_inqi, reload_inhi): Likewise.
5815 (shmedia32_initialize_trampoline_big): Likewise.
5816 (shmedia32_initialize_trampoline_little): Likewise.
5817 (nsb, nsbsi, nsbdi, ffsdi2, ffssi2, byterev): Likewise.
5818 (negdi2): Remove spurious T clobber.
5819 (zero_extendhidi2+1, extendhidi2+1, extendqidi2+1): Handle TRUNCATE.
5820 (movsi_media, movsi_media_nofpu): Remove spurious *k after b.
5821 (movdi_media, movdi_media_nofpu, pt, ptb): Likewise.
5822 (movsi_media_nofpu+2, movhi_media+1): Only do split after reload.
5823 (ic_invalidate_line_media): Write back data cache before invalidating
5824 instruction cache. Add type.
5825 (movsf_media): Sign-extend when the destination is a general
5826 purpose register. Add type.
5827 (bgt_media, bge_media, bgtu_media, bgeu_media, blt_media_i): Allow 0.
5828 (casesi_worker_0+1): Only increment ref count for proper label.
5829 (casesi_worker_0+2): Likewise.
5830
7ca0873c
MM
58312002-07-09 Mark Mitchell <mark@codesourcery.com>
5832
5833 * dwarfout.c (dwarfout_init): Warn that DWARF1 is deprecated.
5834
26b10ae0 58352002-07-09 Steve Ellcey <sje@cup.hp.com>
7ca0873c 5836
26b10ae0
SE
5837 * gcc/except.c (expand_eh_region_end_cleanup): Change exception pointer
5838 from Pmode to ptr_mode.
5839 (get_exception_pointer): Ditto.
5840 (connect_post_landing_pads): Ditto.
5841 (dw2_build_landing_pads): Ditto.
5842
0c3a2ea0
SE
58432002-07-08 Steve Ellcey <sje@cup.hp.com>
5844 * gcc/c-pragma.h (add_to_renaming_pragma_list): New function.
5845 * gcc/c-pragma.c (add_to_renaming_pragma_list): New function.
5846 (handle_pragma_redefine_extname): Change to use new function.
5847
26c34780
RS
58482002-07-08 Roger Sayle <roger@eyesopen.com>
5849
5850 * combine.c (combine_simplify_rtx): Add an explicit cast
5851 to avoid signed/unsigned comparison warning.
5852 (simplify_if_then_else): Likewise.
5853 (extended_count): Likewise.
5854 (simplify_shift_const): Likewise.
5855 (simplify_comparison): Likewise.
5856
1d4047e0
RS
58572002-07-08 Richard Sandiford <rsandifo@redhat.com>
5858
5859 * config/mips/mips.md: Add imadd type. Update scheduler description
5860 to use imadd as well as imul.
5861 (*mul_acc_si, *madsi): Change imul alternatives to imadd.
5862 (*mul_acc_di, *mul_acc_64bit_di): Likewise.
5863 (*mul_sub_si): Likewise for first alternative. Change second
5864 alternative from imul to multi.
5865
5351f1ca
NB
58662002-07-07 Neil Booth <neil@daikokuya.co.uk>
5867
5868 * c-common.c (c_common_post_options): Update prototype;
5869 don't init backends if preprocessing only.
5870 * langhooks-def.h (LANG_HOOKS_POST_OPTIONS): Update.
5871 * langhooks.h (struct lang_hooks): Update post_options to
5872 return a boolean.
5873 * toplev.c (parse_options_and_default_flags, do_compile,
5874 lang_independent_init): Update prototypes. Allow the
5875 front end to specify that there is no need to initialize
5876 the back end.
5877 (general_init): Move call to hex_init here...
5878 (toplev_main): ...from here. Pass flag for back end init
5879 suppression.
5880
c8cc4417
R
5881Sun Jul 7 20:38:38 2002 J"orn Rennecke <joern.rennecke@superh.com>
5882
5883 * sh.h (PRINT_OPERAND_PUNCT_VALID_P): Allow '\''.
5884 (PREDICATE_CODES): Add entries for equality_comparison_operator,
5885 greater_comparison_operator and less_comparison_operator.
5886 * sh.c (print_operand): Add '\'' code. Make 'o' handle
5887 more operators.
5888 (equality_comparison_operator): New function.
5889 (greater_comparison_operator, less_comparison_operator): Likewise.
5890 * sh.md (beq_media_i): Disable generator function generation.
5891 Use match_operator to handle a whole class of comparisons. Add
5892 modifier in output template to provide branch prediction. Add type.
5893 (bgt_media_i, ble_media_i): Likewise. Allow zero operands.
5894 (bne_media_i, bge_media_i, bgtu_media_i, bgeu_media_i): Delete.
5895 (blt_media_i, bleu_media_i, bltu_media_i): Likewise.
5896 (bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Allow zero operands.
5897
957ec0f9
HPN
58982002-07-07 Hans-Peter Nilsson <hp@bitrange.com>
5899
5900 Emit MMIX function prologue and epilogue as rtl.
5901 * config/mmix/mmix.md ("call"): Use mmix_get_hard_reg_initial_val,
5902 not unprototyped get_hard_reg_initial_val.
5903 ("call_value", "nonlocal_goto_receiver"): Ditto.
5904 ("return"): Make define_expand. Move real insn to...
5905 ("*expanded_return"): New pattern.
5906 ("prologue", "epilogue"): New define_expands.
5907 * config/mmix/mmix.h (MMIX_rO_REGNUM): New macro.
5908 (struct machine_function): New member in_prologue.
5909 (FIRST_PSEUDO_REGISTER): Adjust for including rO as register.
5910 (FIXED_REGISTERS, CALL_USED_REGISTERS): Ditto.
5911 (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Ditto.
5912 (MMIX_GNU_ABI_REG_ALLOC_ORDER, REG_CLASS_CONTENTS): Ditto.
5913 (REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Ditto.
5914 (LOCAL_REGNO): Define. Adjust comment.
5915 * config/mmix/mmix.c (MMIX_CFUN_NEEDS_SAVED_EH_RETURN_ADDRESS):
5916 Consider regs_ever_live[MMIX_rJ_REGNUM], not just
5917 leaf_function_p.
5918 (MMIX_OUTPUT_REGNO): Don't translate registers while outputting
5919 the prologue.
5920 (mmix_target_asm_function_prologue): Make static. Just mark that
5921 the prologue is being emitted. Move guts to...
5922 (mmix_expand_prologue): New function. Adjust for emitting
5923 prologue as rtl. For sizes, use HOST_WIDE_INT only.
5924 (mmix_target_asm_function_epilogue): Make static. Simply emit a
5925 \n. Move guts to...
5926 (mmix_expand_epilogue): New function. Adjust for emitting
5927 epilogue as rtl. For sizes, use HOST_WIDE_INT only.
5928 (mmix_target_asm_function_end_prologue): Mark that the prologue
5929 has ended.
5930 (TARGET_ASM_FUNCTION_END_PROLOGUE): Define.
5931 (mmix_conditional_register_usage): Improve comments.
5932 (mmix_local_regno): New function.
5933 (mmix_emit_sp_add, mmix_get_hard_reg_initial_val): Ditto.
5934 * config/mmix/mmix-protos.h (mmix_local_regno): Prototype.
5935 (mmix_expand_prologue, mmix_expand_epilogue): Ditto.
5936 (mmix_get_hard_reg_initial_val): Ditto.
5937
7ab5c789
AJ
59382002-07-06 Andreas Jaeger <aj@suse.de>
5939
5940 * toplev.c (set_fast_math_flags): Don't use ISO C style function
5941 definitions.
5942 * gengtype.c (open_base_files): Likewise.
5943 (close_output_files): Likewise.
5944 * tracer.c (find_best_predecessor): Likewise.
5945 (find_best_successor): Likewise.
5946 (ignore_bb_p): Likewise.
5947
df061a43
RS
59482002-07-05 Roger Sayle <roger@eyesopen.com>
5949
5950 PR c++/7099
5951 * builtin-attrs.def: Define new attribute lists for use in
5952 builtins.def.
5953 * builtins.def [DEF_BUILTIN]: Modify to take an additional
5954 ATTRS argument, an enumerated value defined in builtin-attrs.def
5955 that represents the attribute list for the builtins. Modify
5956 all builtin functions to pass an appropriate attribute list.
5957 Specify "abort", "exit", "_exit" and "_Exit" builtins here with
5958 their required noreturn attributes.
5959 * tree.h (enum_builtin_function): Ignore the additional parameter
5960 to DEF_BUILTIN.
5961 * builtins.c (built_in_names): Likewise.
5962 * c-common.c: (builtin_function_2): Replace the "int noreturn_p"
5963 argument with a tree representing the functions attribute list.
5964 Pass this "attrs" argument to builtin_function. No longer handle
5965 the noreturn_p processing manually.
5966 (built_in_attributes): Move the definitions from builtin-attrs.def
5967 before c_common_nodes_and_builtins.
5968 (c_common_nodes_and_builtins): Handle the new ATTRS parameter in
5969 DEF_BUILTIN, passing it to both builtin_function and the changed
5970 builtin_function_2.
5971
5972 * doc/extend.texi: Document __builtin_abort, __builtin_exit,
5973 __builtin__exit and __builtin__Exit.
5974
e5eb8de8
SC
59752002-07-05 Stephane Carrez <stcarrez@nerim.fr>
5976
5977 * config/m68hc11/m68hc11.md ("*movqi_68hc12"): Avoid allocating
5978 QI mode registers in soft registers.
7ab5c789 5979 ("zero_extendqihi2"): Do not take into account soft registers
e5eb8de8
SC
5980 for register allocation (use '*' constraint).
5981
4c8aed14
SC
59822002-07-05 Stephane Carrez <stcarrez@nerim.fr>
5983
5984 * config/m68hc11/m68hc11.md ("*ashlsi3"): Avoid saving y if we know
5985 it is dead.
5986 ("*ashrsi3"): Likewise.
5987 ("*lshrsi3"): Likewise.
5988
99ed68ea
VM
59892002-07-05 Vladimir Makarov <vmakarov@redhat.com>
5990
5991 * genautomata.c (output_max_insn_queue_index_def): Take latencies
5992 into account.
5993
4c8aed14 59942002-07-05 Stephane Carrez <stcarrez@nerim.fr>
581fd392
SC
5995
5996 * config/m68hc11/m68hc11.md (peephole2): New peephole2 to optimize
5997 address computation and memory moves.
5998
9833f679
MM
59992002-07-03 Mark Mitchell <mark@codesourcery.com>
6000
6001 PR c++/6706
6002 * dwarfout.c (output_reg_number): Fix warning message.
6003 (output_bound_representation): Check SAVE_EXPR_RTL is not NULL
6004 before using it.
7ab5c789 6005
81bca2f5
RO
60062002-07-05 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
6007
6008 * gcc/gcc.c (asm_debug): Move initialization ...
6009 (init_spec): ... here.
6010
17f44f02
NS
60112002-07-05 Nathan Sidwell <nathan@codesourcery.com>
6012
6013 * c-parse.in (extdef): Append ';'.
6014 (old_style_parm_decls): Append ';'.
6015
da77408f
DJ
60162002-07-04 Daniel Jacobowitz <drow@mvista.com>
6017
6018 * configure.in: Correct typos: gcc_cv_as_gdwarf2_debug_flag to
6019 gcc_cv_as_gdwarf2_flag and gcc_cv_as_gstabs_debug_flag
6020 to gcc_cv_as_gstabs_flag.
6021 * configure: Rebuilt.
6022
ec52b446
GK
60232002-07-04 Geoffrey Keating <geoffk@redhat.com>
6024
6025 * ggc.h (ggc_add_root): Document as obsolete.
6026
8721e3df
R
6027Thu Jul 4 07:58:01 2002 J"orn Rennecke <joern.rennecke@superh.com>
6028
6029 * sh.md (mshfhi_b, mshflo_b, mshfhi_l, mshflo_l, mshfhi_w): Add DONE.
6030 (mshflo_w): Likewise.
6031
3767c0fd
R
6032Thu Jul 4 07:36:29 2002 J"orn Rennecke <joern.rennecke@superh.com>
6033
6034 * simplify-rtx.c (simplify_subreg): Reduce problem of finding
6035 vector mode subregs of constants to finding integer mode
6036 subregs of constants.
6037 * cse.c (cse_insn): Use simplify_gen_subreg.
6038 * convert.c (convert_to_integer): Don't strip a NOP_EXPR
6039 From a vector mode expression of different size than the
6040 target mode.
6041
4e314d1f
EC
60422002-07-03 Eric Christopher <echristo@redhat.com>
6043
6044 * config/mips/linux.h: Add #undef for SUBTARGET_CPP_SPEC.
6045 * config/mips/mips.h: Remove deprecated -m<processor> options
6046 and cc1_cpu_spec associated.
6047 (CONSTANT_ADDRESS_P): Fix last patch.
6048 (ASM_DECLARE_FUNCTION_NAME): Declare. Fix comment.
6049 * config/mips/mips.md (bungt, bunge, sungt_df, sungt_sf, sunge_df,
6050 sunge_sf): Remove.
6051
6f0361e3
SS
60522002-07-03 Stan Shebs <shebs@apple.com>
6053
6054 * config/darwin.h (APPLE_CC): Remove, not meaningful in FSF GCC.
6055 (STRINGIFY_THIS, REALLY_STRINGIFY): Remove.
6056 (CPP_SPEC): Remove insertion of APPLE_CC definition.
6057
3129af4c
RS
60582002-07-03 Roger Sayle <roger@eyesopen.com>
6059
6060 * combine.c (struct_undo): Change types of recorded substitutions
6061 to be either "int" or "rtx", instead of "unsigned int" and "rtx".
6062 (do_SUBST_INT): Change types of the substitution from unsigned int
6063 to int, to avoid compilation warning from SUBST_INT's only caller.
6064
6065 (make_extraction): Add cast to avoid compilation warning.
6066 (force_to_mode): Remove cast to avoid compilation warning.
6067
c7375e61
EB
60682002-07-03 Eric Botcazou <ebotcazou@multimania.com>
6069 Jeff Law <law@redhat.com>
6070
6071 * i386.md (length_immediate attribute): Fix typo.
6072 (length_address attribute): Likewise.
6073 (modrm attribute): Set it to 0 for immediate call instructions.
6074 (jcc_1 pattern): Set modrm attribute to 0.
6075 (jcc_2 pattern ): Likewise.
6076 (jump pattern): Likewise.
6077 (doloop_end_internal pattern): Explicitly set length.
6078 (leave pattern): Fix typo.
6079 (leave_rex64 pattern): Likewise.
6080
61c07d3c
DE
60812002-07-03 David Edelsohn <edelsohn@gnu.org>
6082
6083 * config/rs6000/rs6000.md (fix_truncdfsi2_internal): Ignore DImode
6084 in FPR as preference.
6085 (fctiwz): Same.
6086 (floatdidf2, fix_truncdfdi2): Same.
6087 (floatdisf2, floatditf2, fix_trunctfdi2): Same.
6088 (floatditf2): Same.
6089 (floatsitf2, fix_trunctfsi2): SImode in GPR.
6090 (ctrdi): Remove FPR alternative and splitter.
6091
60922002-07-03 Will Cohen <wcohen@redhat.com>
77966be3
WC
6093
6094 * config/i386/i386.c (x86_integer_DFmode_moves): Disable for PPro.
6095
34a80643
R
6096Wed Jul 3 10:24:16 2002 J"orn Rennecke <joern.rennecke@superh.com>
6097
6098 * optabs.c (expand_vector_binop): Don't store using a SUBREG smaller
6099 than UNITS_PER_WORD, unless this is little endian and the first unit
6100 in this word. Let extract_bit_field decide how to load an element.
6101 Force arguments to matching mode.
6102 (expand_vector_unop): Likewise.
6103
6104 * simplify-rtx.c (simplify_subreg): Don't assume that all vectors
6105 consist of word_mode elements.
6106 * c-typeck.c (build_binary_op): Allow vector types for BIT_AND_EXPR,
6107 BIT_ANDTC_EXPR, BIT_IOR_EXPR and BIT_XOR_EXPR.
6108 (build_unary_op): Allow vector types for BIT_NOT_EPR.
6109 * emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg for
6110 CONST_VECTOR.
6111 * optabs.c (expand_vector_binop): Try to perform operation in
6112 smaller vector modes with same inner size. Add handling of AND, IOR
6113 and XOR. Reject expansion to inner-mode sized scalars when using
6114 OPTAB_DIRECT. Use simplify_gen_subreg on constants.
6115 (expand_vector_unop): Try to perform operation in smaller vector
6116 modes with same inner size. Add handling of one's complement.
6117 When there is no vector negate operation, try a vector subtract
6118 operation. Use simplify_gen_subreg on constants.
6119 * simplify-rtx.c (simplify_subreg): Add capability to convert vector
6120 constants into smaller vectors with same inner mode, and to
6121 integer CONST_DOUBLEs.
6122
622d3731
KG
61232002-07-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6124
6125 * c-parse.in (parsing_iso_function_signature): New variable.
6126 (extdef_1): New, copied from...
6127 (extdef): ... here. Reset parsing_iso_function_signature.
6128 (old_style_parm_decls): Reset parsing_iso_function_signature.
6129 (old_style_parm_decls_1): New, copied from old_style_parm_decls.
6130 Warn about ISO C style function definitions.
6131 (nested_function, notype_nested_function): Reset
6132 parsing_iso_function_signature.
6133 (parmlist_2): Set parsing_iso_function_signature.
6134
6135 * doc/invoke.texi (-Wtraditional): Document new behavior.
6136
9bb46191
CD
61372002-07-02 Chris Demetriou <cgd@broadcom.com>
6138
6139 * config.gcc (mips*el-*-*): Use tm_defines to set
6140 TARGET_ENDIAN_DEFAULT, rather than including mips/little.h.
6141 * config/mips/little.h: Remove.
6142
e1c2dd26 61432002-07-02 Devang Patel <dpatel@apple.com>
c40da518 6144
c40da518 6145 * objc/objc-act.c (adjust_type_for_id_default): Do not allow an
31e25abd
CD
6146 object as parameter. Prevent something like 'NSObject' to be
6147 used as the type for a method argument.
c40da518 6148
0879540b
NB
61492002-07-03 Neil Booth <neil@daikokuya.co.uk>
6150
6151 * cpptrad.c: Update comment.
6152
b6fb43ab 61532002-07-02 Neil Booth <neil@daikokuya.co.uk>
4e314d1f 6154
b6fb43ab
NB
6155 * doc/cpp.texi: Update for traditional preprocessing changes.
6156 * goc/cppopts.texi: Similarly.
6157
c1c5187c
ZL
61582002-07-02 Ziemowit Laski <zlaski@apple.com>
6159
6160 * c-parse.in (designator): Enable designated initializers if ObjC.
6161 (objcmessageexpr): Remove references to objc_receiver_context.
6162 * objc/objc-act.h (objc_receiver_context): Remove decl.
6163 * objc/objc-act.c (objc_receiver_context): Remove.
6164 (lookup_objc_ivar): Test objc_method_context instead of
6165 objc_receiver_context.
6166
52702ae1
R
6167Tue Jul 2 18:45:45 2002 J"orn Rennecke <joern.rennecke@superh.com>
6168
6169 * sh.c (print_operand, case 'N'): Allow zero vector.
6170 (arith_reg_or_0_operand): Likewise.
6171 (zero_vec_operand): Check for CONST_VECTOR, not PARALLEL.
4e314d1f 6172 * sh.h (CONST_COSTS): 0 has 0 cost. Check OUTER_CODE for
52702ae1
R
6173 IOR, XOR, PLUS and SET and take their respective constant
6174 ranges into account.
6175 (PREDICATE_CODES, arith_reg_or_0_operand): Can be CONST_VECTOR.
6176 * sh.md (subdi3, subdi3_media): Allow zero operand.
6177 (movv8qi_i+3): Only vector that is not split is the zero vector.
6178 Fix operand 3 to simplify_subreg.
6179 (movv2si_i): Split alternative 1.
6180 (mshfhi_l_di_rev+1): New splitter.
6181
49e7b251
NB
61822002-07-02 Neil Booth <neil@daikokuya.co.uk>
6183
ba57a9c0 6184 PR preprocessor/7029
49e7b251
NB
6185 * cppinit.c (cpp_handle_option): Suppress warnings with an
6186 implicit "-w" for "-M" and "-MM".
6187 * doc/cppopts.texi: Update.
6188
a3acdc0c
RS
61892002-07-01 Roger Sayle <roger@eyesopen.com>
6190
6191 * config/sh/sh.c (sh_media_init_builtins): Change use of poisoned
6192 identifier "bzero" to "memset". Pass extra NULL_TREE argument to
6193 builtin_function.
6194
0b558962
AM
61952002-07-02 Alan Modra <amodra@bigpond.net.au>
6196
6197 * README.Portability: Fix typos.
6198
9a81c5b7
HPN
61992002-07-01 Hans-Peter Nilsson <hp@axis.com>
6200
6201 PR target/7177
6202 * config/cris/cris.h (LEGITIMIZE_RELOAD_ADDRESS): Correct number
6203 of indirections for register inside sign-extended mem part.
6204
6a2dd09a
RS
62052002-07-01 Roger Sayle <roger@eyesopen.com>
6206
6207 * tree.h: Modify builtin_function interface to take an extra
6208 argument ATTRS, which is a tree representing an attribute list.
6209
6210 * c-decl.c (builtin_function): Accept additional parameter.
6211 * objc/objc-act.c (builtin_function): Likewise.
6212 * f/com.c (builtin_function): Likewise.
6213 * java/decl.c (builtin_function): Likewise.
6214 * ada/utils.c (builtin_function): Likewise.
6215 * cp/decl.c (builtin_function): Likewise.
6216 (builtin_function_1): Likewise.
6217
6218 * c-common.c (c_common_nodes_and_builtins): Pass an additional
6219 NULL_TREE argument to builtin_function. (builtin_function_2):
6220 Likewise.
6221 * cp/call.c (build_java_interface_fn_ref): Likewise.
6222 * objc/objc-act.c (synth_module_prologue): Likewise.
6223 * java/decl.c (java_init_decl_processing): Likewise.
6224 * f/com.c (ffe_com_init_0): Likewise.
6225
6226 * config/alpha/alpha.c (alpha_init_builtins): Pass an additional
6227 NULL_TREE argument to builtin_function.
6228 * config/arm/arm.c (def_builtin): Likewise.
6229 * config/c4x/c4x.c (c4x_init_builtins): Likewise.
6230 * config/i386/i386.c (def_builtin): Likewise.
6231 * config/ia64/ia64.c (def_builtin): Likewise.
6232 * config/rs6000/rs6000.c (def_builtin): Likewise.
6233
e20569ae
ZW
62342002-07-01 Zack Weinberg <zack@codesourcery.com>
6235
6236 * config/ip2k/t-ip2k: Remove LIBGCC1, CROSS_LIBGCC1, and LIBGCC1_TEST.
6237 * config/mips/t-isa3264: Likewise.
6238 * config/mmix/t-mmix: Likewise.
6239
f1b690f1
JDA
62402002-07-01 John David Anglin <dave@hiauly1.hia.nrc.ca>
6241
6242 * emit-rtl.c (init_emit_once): Add missing cast to HOST_WIDE_INT.
6243
6bfa5aac
RS
62442002-07-01 Roger Sayle <roger@eyesopen.com>
6245
6246 PR opt/4046
6247 * fold-const.c (fold) [COND_EXPR]: Simplify A ? 0 : 1 to !A,
6248 A ? B : 0 to A && B and A ? B : 1 into !A || B if both A and
6249 B are truth values.
6250
9a5c1b9d
NN
62512002-07-01 Nathanael Nerode <neroden@gcc.gnu.org>
6252
6253 * config/mmix/t-mmix: Eliminate last reference to LIBGCC1_TEST.
6254
d3fc4dbc
MK
62552002-07-01 Matt Kraai <kraai@alumni.cmu.edu>
6256
3b2124df
MK
6257 * README.Portability (Function prototypes): Give an example of
6258 declaring and defining a function with no arguments.
6259
d3fc4dbc
MK
6260 * README.Portability (Function prototypes): Document new
6261 variable-argument function macros.
6262
c1b92d09
R
6263Mon Jul 1 19:55:17 2002 J"orn Rennecke <joern.rennecke@superh.com>
6264
6265 * sh.c (langhooks.h): Include.
6266 (sh_init_builtins, sh_media_init_builtins): New functions.
6267 (sh_expand_builtin, arith_reg_dest,and_operand): Likewise.
6268 (mextr_bit_offset, extend_reg_operand, zero_vec_operand): Likewise.
6269 (sh_rep_vec, sh_1el_vec, sh_const_vec): Likewise.
6270 (builtin_description): New struct tag.
6271 (signature_args, bdesc): New arrays.
6272 (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Undef / define.
6273 (print_operand): Add 'N' modifier.
6274 * sh.h (VECTOR_MODE_SUPPORTED_P): Add SHmedia vector modes.
6275 (EXTRA_CONSTRAINT_U, EXTRA_CONSTRAINT_W): New macros.
6276 (EXTRA_CONSTRAINT): Add 'U' and 'W' cases.
6277 (CONST_COSTS): Add special case for SHmedia AND.
6278 (PREDICATE_CODES): Add and_operand, arith_reg_dest,
6279 extend_reg_operand, extend_reg_or_0_operand, mextr_bit_offset,
6280 sh_const_vec, sh_1el_vec, sh_rep_vec, zero_vec_operand.
6281 target_operand can also be const or unspec.
6282 * sh.md (UNSPEC_INIT_TRAMP, UNSPEC_FCOSA UNSPEC_FSRRA): New constants.
6283 (UNSPEC_FSINA, UNSPEC_NSB, UNSPEC_ALLOCO): Likewise.
6284 (attribute type): Add new types.
6285 (anddi3): Add splitter.
6286 (movdi_const_16bit+1): Add code to handle vector constants and
6287 bitmasks efficiently.
6288 (shori_media): Have generator function made.
6289 (movv8qi, movv8qi_i, movv8qi_i+1, movv8qi_i+2): New patterns.
6290 (movv8qi_i+3, movv2hi, movv2hi_i, movv4hi, movv4hi_i): Likewise.
6291 (movv2si, movv2si_i, absv2si2, absv4hi2, addv2si3, addv4hi3): Likewise.
6292 (ssaddv2si3, usaddv8qi3, ssaddv4hi3, negcmpeqv8qi): Likewise.
6293 (negcmpeqv2si, negcmpeqv4hi, negcmpgtuv8qi, negcmpgtv2si): Likewise.
6294 (negcmpgtv4hi, mcmv, mcnvs_lw, mcnvs_wb, mcnvs_wub): Likewise.
6295 (mextr_rl, mextr_lr, mextr1, mextr2, mextr3, mextr4, mextr5): Likewise.
6296 (mextr6, mextr7, mmacfx_wl, mmacfx_wl_i, mmacnfx_wl): Likewise.
6297 (mmacnfx_wl_i, mulv2si3, mulv4hi3, mmulfx_l, mmulfx_w): Likewise.
6298 (mmulfxrp_w, mmulhi_wl, mmullo_wl, mmul23_wl, mmul01_wl): Likewise.
6299 (mmulsum_wq, mmulsum_wq_i, mperm_w, mperm_w_little): LIkewise.
6300 (mperm_w_big, mperm_w0, msad_ubq, msad_ubq_i, mshalds_l): Likewise.
6301 (mshalds_w, ashrv2si3, ashrv4hi3, mshards_q, mshfhi_b): Likewise.
6302 (mshflo_b, mshf4_b, mshf0_b, mshfhi_l, mshflo_l, mshf4_l): Likewsie.
6303 (mshf0_l, mshfhi_w, mshflo_w, mshf4_w, mshf0_w, mshfhi_l_di): Likewise.
6304 (mshfhi_l_di_rev, mshflo_l_di, mshflo_l_di_rev): Likewise.
6305 (mshflo_l_di_x, mshflo_l_di_x_rev, ashlv2si3, ashlv4hi3): Likewise.
6306 (lshrv2si3, lshrv4hi3, subv2si3, subv4hi3, sssubv2si3): Likewise.
6307 (ussubv8qi3, sssubv4hi3, fcosa_s, fsina_s, fipr, fsrra_s): Likewise.
6308 (ftrv): Likewise.
6309
6310 (fpu_switch+1, fpu_switch+2): Remove constraint.
6311
97ebc06f
AH
63122002-07-01 Aldy Hernandez <aldyh@redhat.com>
6313
6c535c69
ZW
6314 * tree.c (build_function_type_list): Update function comment.
6315 Rename first argument to return_type.
97ebc06f 6316
353a10d0
NB
63172002-07-01 Neil Booth <neil@daikokuya.co.uk>
6318
6319 * Makefile.in: Remove all trace of tradcpp.c, tradcpp.h,
6320 tradcif.y and related files.
6321
e34cabb3
NB
63222002-07-01 Neil Booth <neil@daikokuya.co.uk>
6323
6324 * cpptrad.c (skip_whitespace): Pass pointer to prior char.
6325
8bf3ccbb
KG
63262002-07-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6327
6328 * mips.h (FUNCTION_ARG_REGNO_P): Fix parentheses.
6329
118f8dc1
DP
63302002-06-30 Devang Patel <dpatel@apple.com>
6331
6332 * objc/objc-act.c (finish_file): Avoid finish_objc() if
6333 -fsyntax-only.
6334
e3223ea2
DC
6335Fri Jun 28 17:22:37 2002 Denis Chertykov <denisc@overta.ru>
6336 Frank Ch. Eigler <fche@redhat.com>
6c535c69 6337 Matthew Green <mrg@redhat.com>
e3223ea2
DC
6338 Richard Henderson <rtl@redhat.com>
6339 Dave Hudson <dave.hudson@ubicom.com>
6340 Jeff Johnston <jjohnstn@redhat.com>
6341 Alan Lehotsky <apl@alum.mit.edu>
6342 Bernd Schmidt <bernds@redhat.com>
6343 Graham Stott <grahams@redhat.com>
4e314d1f 6344
e3223ea2
DC
6345 * doc/extend.texi: Add ip2k port to description of attribute
6346 naked.
6347 * doc/install.texi (Specific): Add ip2k description.
6348 * doc/install-old.texi (Configurations): Add ip2k to possible
6349 cpu types.
6350 * doc/md.texi: Document ip2k constraints.
6351 * config/ip2k/crt0.S: New file.
6352 * config/ip2k/ip2k-protos.h: New file.
6353 * config/ip2k/ip2k.c: New file.
6354 * config/ip2k/ip2k.h: New file.
6355 * config/ip2k/ip2k.md: New file.
6356 * config/ip2k/libgcc.S: New file.
6357 * config/ip2k/t-ip2k: New file.
6358
66b8c57f
HPN
63592002-06-30 Hans-Peter Nilsson <hp@bitrange.com>
6360
6361 * config/mmix/mmix.md ("return"): New pattern.
6362 * config/mmix/mmix.h (TARGET_MASK_USE_RETURN_INSN)
6363 (TARGET_USE_RETURN_INSN): New macros.
6364 (TARGET_DEFAULT): Include TARGET_MASK_USE_RETURN_INSN.
6365 (TARGET_SWITCHES): Add -msingle-exit and -mno-single-exit.
6366 * config/mmix/mmix.c (MMIX_OUTPUT_REGNO): Fix spacing.
6367 (MMIX_POP_ARGUMENT): New macro.
6368 (mmix_target_asm_function_prologue): When no epilogue is executed,
6369 just emit a blank line. Use MMIX_POP_ARGUMENT with final POP insn.
6370 (mmix_print_operand) <case '.'>: New case.
6371 (mmix_print_operand_punct_valid_p): Match '.'.
6372 (mmix_use_simple_return): New function.
6373 * config/mmix/mmix-protos.h (mmix_use_simple_return): Prototype.
6374 * doc/invoke.texi (Option Summary) <MMIX Summary>: Add
6375 -msingle-exit, -mno-single-exit.
6376 (MMIX Options): Ditto.
6377
e7a60f56
AH
63782002-06-30 Aldy Hernandez <aldyh@redhat.com>
6379
6c535c69 6380 * config/i386/i386.c (ix86_init_mmx_sse_builtins): Fix typos.
e7a60f56 6381
1ef7d32b
KG
63822002-06-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6383
6384 * gengtype.c (oprintf): Move VA_CLOSE after all fixedarg uses.
6385
c8b64bf2
AM
63862002-06-30 Alan Modra <amodra@bigpond.net.au>
6387
6388 * unroll.c (loop_iterations): Handle EQ loops.
6389
35aba846
DE
63902002-06-29 David Edelsohn <edelsohn@gnu.org>
6391
6392 * config/rs6000/rs6000.md (ctrdi): Allocate pseudo for FPR
6393 constraint in define_expand, not splitter.
6394 Formatting.
6395
b4de2f7d
AH
63962002-06-29 Aldy Hernandez <aldyh@redhat.com>
6397
6c535c69
ZW
6398 * config/i386/i386.c (ix86_init_mmx_sse_builtins): Use
6399 build_function_type_list instead of build_function_type.
b4de2f7d 6400
6c535c69 6401 * config/ia64/ia64.c (ia64_init_builtins): Same.
b4de2f7d 6402
6c535c69 6403 * config/alpha/alpha.c (alpha_init_builtins): Same.
b4de2f7d 6404
6c535c69 6405 * config/rs6000/rs6000.c (altivec_init_builtins): Same.
b4de2f7d 6406
6c535c69 6407 * config/arm/arm.c (arm_init_builtins): Same.
b4de2f7d 6408
6c535c69 6409 * tree.h: Add build_function_type_list prototype.
b4de2f7d 6410
6c535c69 6411 * tree.c (build_function_type_list): New.
b4de2f7d 6412
1691051f
KG
64132002-06-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6414
6415 * collect2.c (scan_prog_file): Fix typo in message.
6416
7bfb14f1
AL
64172002-06-28 Aaron Lehmann <aaronl@vitelus.com>
6418
6c535c69 6419 * fold-cont.c: Remove unused CHARMASK.
7bfb14f1 6420
38800fe8
NB
64212002-06-29 Neil Booth <neil@daikokuya.co.uk>
6422
6423 PR preprocessor/7150
6424 * cppmain.c (scan_translation_unit_trad): Simplify.
590e1987 6425 * cppmacro.c (cpp_scan_nooutput): Handle traditional case.
38800fe8 6426
f60ed6be
NB
64272002-06-29 Neil Booth <neil@daikokuya.demon.co.uk>
6428
6429 * config/i386/crtdll.h: Define EXTRA_OS_CPP_BUILTINS.
6430 Don't use CPP_PREDEFINES.
6431 * config/i386/cygwin.h (EXTRA_OS_CPP_BUILTINS): New.
6432 Used TARGET_OS_CPP_BUILTINS in preference to CPP_PREDEFINES.
6433 * config/i386/djgpp.h, config/i386/i386-coff.h,
6434 config/i386/i386-interix.h, config/i386/i386-interix3.h,
6435 config/i386/lynx-ng.h, config/i386/lynx.h, config/i386/mingw32.h,
6436 config/i386/openbsd.h, config/i386/ptx4-i.h, config/i386/sysv3.h,
6437 config/i386/uwin.h: Similarly.
6438
76118c11
HB
64392002-06-29 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
6440
6c535c69 6441 * c4x.h: (TARGET_CPU_CPP_BUILTINS): Check flag_inline_functions and
76118c11
HB
6442 flag_inline_trees to enable inlining.
6443
9137b119
PE
64442002-06-28 Phil Edwards <pme@gcc.gnu.org>
6445
6446 * configure.in (gcc_gxx_include_dir): Change to match versioned
6447 C++ headers if --enable-version-specific-runtime-libs is used.
6448 * configure: Regenerate.
6449
6bdb8dd6
JH
64502002-06-28 Jan Hubicka <jh@suse.cz>
6451
6452 * gcse.c (gcse_emit_move_after): Use gen_move_insn to produce the move.
6453
f1b1186f
SC
64542002-06-28 Stephen Clarke <stephen.clarke@superh.com>
6455
6456 * combine.c (combine_simplify_rtx): Pass the mode of the
6457 shift count, not the shift operation when trying to simplify
6458 a shift on a SHIFT_COUNT_TRUNCATED target.
6459
ae9bd481
SC
64602002-06-28 Stephane Carrez <stcarrez@nerim.fr>
6461
6462 * config/m68hc11/m68hc11.md ("*addsi3"): Use 'o' constraint to
6463 avoid the auto increment addressing modes.
6464 ("*subsi3"): Likewise.
4e314d1f 6465 (split for add/sub on address): For 68HC12 push the value on
ae9bd481
SC
6466 the stack and do the operation with a pop.
6467
1d63a28a
NB
64682002-06-28 Neil Booth <neil@daikokuya.co.uk>
6469
6470 * cpplib.c (_cpp_handle_directive): Move #define-specific
6471 code to the #define handler...
6472 (do_define): ...here.
6473 (lex_macro_node): No longer a need to check for comments here.
6474
4caff360
SC
64752002-06-28 Stephane Carrez <stcarrez@nerim.fr>
6476
6477 * config/m68hc11/m68hc11.h (OPTIMIZATION_OPTIONS): Define.
6478 * config/m68hc11/m68hc11-protos.h (m68hc11_optimization_options):
6479 Declare.
6480 * config/m68hc11/m68hc11.c (m68hc11_optimization_options): New,
6481 do not reorder basic blocks at the end when optimizing for size.
6482
2cc21497
SC
64832002-06-28 Stephane Carrez <stcarrez@nerim.fr>
6484
6485 * config/m68hc11/m68hc11.c (autoinc_mode): New function.
6486 (m68hc11_make_autoinc_notes): New function.
6487 (m68hc11_split_move): Be very cautious when spliting a move with
6488 auto increment/decrement modes because this may result in incompatible
6489 directions; add REG_INC notes to the resulting insn for CSE reg.
6490
3cdd2821
SC
64912002-06-28 Stephane Carrez <Stephane.Carrez@nerim.fr>
6492
6493 * config/m68hc11/m68hc11.c (register_indirect_p): For 68HC12 a constant
6494 can be a valid address.
6495
e6a82e80
AH
64962002-06-28 Aldy Hernandez <aldyh@redhat.com>
6497
6c535c69
ZW
6498 * config/rs6000/rs6000.c: Remove unusued variables from last
6499 patch.
e6a82e80 6500
a7ae18e2
AH
65012002-06-27 Aldy Hernandez <aldyh@redhat.com>
6502
6503 Revert:
6c535c69
ZW
6504 * config/rs6000/rs6000.c (rs6000_override_options): Move
6505 *SUBTARGET_OVERRIDE_OPTIONS before the -m options.
a7ae18e2 6506
3a9b8c7e
AH
65072002-06-27 Aldy Hernandez <aldyh@redhat.com>
6508
6c535c69
ZW
6509 * config/rs6000/rs6000.c (altivec_expand_builtin): Move
6510 lvx/stv/dst builtins...
6511 (altivec_expand_ld_builtin): ...to here.
6512 (altivec_expand_st_builtin): ...here.
6513 (altivec_expand_dst_builtin): ...and here (respectively).
3a9b8c7e 6514
5f9dc214
BW
65152002-06-28 Bob Wilson <bob.wilson@acm.org>
6516
6517 * config/xtensa/xtensa.h (RETURN_IN_MEMORY): Update comment.
6518
53501a19
BS
65192001-06-08 Bernd Schmidt <bernds@redhat.com>
6520
6521 * emit-rtl.c (gen_lowpart_common): Don't create paradoxical FLOAT_MODE
6522 subregs.
6523 * recog.c (general_operand, register_operand): Disallow them.
6524
d1a58688
NB
65252002-06-28 Neil Booth <neil@daikokuya.co.uk>
6526
6527 PR preprocessor/7138
6528 * cpplib.c (_cpp_handle_directive): Do traditional
6529 preparation after setting state.angled_headers.
6530 * cpptrad.c (scan_out_logical_line): Fix potential
6531 quote bug.
6532
55c1c60d
AH
65332002-06-27 Aldy Hernandez <aldyh@redhat.com>
6534
6c535c69
ZW
6535 * config/rs6000/rs6000.c (rs6000_override_options): Move
6536 *SUBTARGET_OVERRIDE_OPTIONS before the -m options.
55c1c60d 6537
3219c65b
BW
65382002-06-27 Bob Wilson <bob.wilson@acm.org>
6539
6540 * config/xtensa/xtensa.md: Give "*xxx" names to all unnamed insn's.
6541 (*lsiu, *ssiu, movstrsi_internal, zero_cost_loop_start,
6542 zero_cost_loop_end): Remove unnecessary "parallel" from insns.
6543
c8f863fc
RS
65442002-06-27 Roger Sayle <roger@eyesopen.com>
6545
6546 * config/d30v/d30v.h: Remove commented out STACK_REGS #defines.
6547 * config/stormy16/stormy16.h: Likewise.
6548
6549 * config/stormy16/stormy16.h (CUMULATIVE_ARGS): Replace typedef
6550 with #define.
6551
8d5362b7
GP
65522002-06-26 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
6553
6554 * doc/install.texi (Binaries): Add Sinix/Reliant Unix. Move
6555 Hitachi entry. Make punctuation more consistent.
6556
57694e40
MK
65572002-06-27 Matt Kraai <kraai@alumni.cmu.edu>
6558
6559 * doc/install.texi: Change ` bit' to `-bit'.
6560 * doc/md.texi: Change `-bits' to `-bit'.
6561 * doc/tm.texi: Change `-bits' to ` bits'.
6562
c635a1ec
DB
65632002-06-27 Daniel Berlin <dberlin@dberlin.org>
6564
6565 * gcse.c (hoist_code): Rewrite to only get list of dominated
4e314d1f 6566 blocks once per BB. Also fix reversed test (by removing need for
c635a1ec
DB
6567 the test at all).
6568
951a0766
NB
65692002-06-27 Neil Booth <neil@daikokuya.co.uk>
6570
6571 * cpphash.h (_cpp_set_trad_context): Remove.
6572 * cpplib.c (prepare_directive_trad): Do nothing for #define.
6573 (cpp_push_buffer, _cpp_pop_buffer): Don't call _cpp_set_trad_context.
6574 * cpptrad.c: Update comments.
6575 (_cpp_read_logical_line_trad): Let scan_logical_line handle
6576 updating the current context.
6577 (scan_logical_line): Update the current context.
6578 (_cpp_create_trad_definition): Similarly.
6579 (_cpp_set_trad_context): Remove.
6580
06470238
NB
65812002-06-27 Neil Booth <neil@daikokuya.co.uk>
6582
6583 PR preprocessor/7070
6584 * c-lex.c (cb_def_pragma): Don't try to spell CPP_EOF.
6585
0c14a54d
BW
65862002-06-26 Bob Wilson <bob.wilson@acm.org>
6587
6588 * config/xtensa/xtensa-protos.h (xtensa_return_addr): Declare.
6589 config/xtensa/xtensa.c (xtensa_return_addr): New function.
6590 config/xtensa/xtensa.h (RETURN_ADDR_RTX): Use xtensa_return_addr.
6591 config/xtensa/xtensa.md (fix_return_addr): New pattern.
6592
e9873fd5
KG
65932002-06-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6594
6595 * mips.c (coprocessor_operand, coprocessor2_operand,
6596 symbolic_operand): Move prototypes from here...
6597 * mips-protos.h (coprocessor_operand, coprocessor2_operand,
6598 symbolic_operand): ...to here.
6599
650e8d05
R
6600Wed Jun 26 16:32:57 2002 J"orn Rennecke <joern.rennecke@superh.com>
6601
6602 * config/sh/crt1.asm: remove _stack label definition
6603 and sentinel value.
6604
c7836bcd
KG
66052002-06-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6606
6607 * varasm.c: Include real.h before output.h.
6608
6e1f54e2
AH
66092002-06-26 Aldy Hernandez <aldyh@redhat.com>
6610
6c535c69
ZW
6611 * config/rs6000/rs6000.h (ALTIVEC_VECTOR_MODE): Revert change to
6612 check for TARGET_ALTIVEC.
6e1f54e2 6613
18fbcbcf
NN
66142002-06-26 Nathanael Nerode <neroden@gcc.gnu.org>
6615
6616 * config.gcc (vax-*-vms*): Make obselete.
6617
09bed167
KG
66182002-06-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6619
6620 * gcc.c (warn_std): Delete.
6621
8254cb45
LR
66222002-06-25 Loren J. Rittle <ljrittle@acm.org>
6623
6624 * doc/extend.texi: Fix formatting of last checkin.
6625
f9ee10ab
RO
66262002-06-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
6627
6628 * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Remove leading
6629 underscore from __IEEE_FP and __IEEE_FP_INEXACT.
6630
90989b26
AH
66312002-06-25 Aldy Hernandez <aldyh@redhat.com>
6632
6c535c69
ZW
6633 * doc/extend.texi (PowerPC AltiVec Built-in Functions): Document
6634 discrepancies from motorola's documentation.
90989b26 6635
9881adff
R
6636Tue Jun 25 21:51:13 2002 J"orn Rennecke <joern.rennecke@superh.com>
6637
6638 * optabs.c (expand_vector_binop, expand_vector_unop): Don't assume
6639 GET_MODE_UNIT_SIZE (mode) == UNITS_PER_WORD.
4de1b7a9 6640
4e314d1f 6641 * config/sh/lib1funcs.asm (udivdi3): Make first divide step
4de1b7a9
R
6642 produce a 32 bit result before normalization, then normalize with a
6643 left shift. Compute approximative error of 2nd reciprocal
6644 approximation in 2's complement. Fix mask generation from upper
6645 longword of second divide stage result.
6646 For large divisor, fix shift count used to truncate first stage
6647 divide result; make decision if to adjust upwards based on comparison
6648 of higher parts of normalized values.
6649 (udivdi): Likewise. Undo normalization of result for large divisor
6650 case.
6651
16b46035
DM
66522002-06-25 David S. Miller <davem@redhat.com>
6653
6654 * config/sparc/sparc.md: Change \\{t,n} to \{t,n}.
6655
0c6db544
NB
66562002-06-25 Neil Booth <neil@daikokuya.co.uk>
6657
6658 * cpplib.c (do_include_common): Revert to correct line number
6659 if -traditional.
6660 * cpptrad.c (scan_out_logical_line): Treat null directive as
6661 white space. Invlidate MI optimization for non-whitespace
6662 text outside a directive.
6663
eef709c7
KG
66642002-06-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6665
b41e09a7
KG
6666 * Makefile.in (SHELL): Set to @SHELL@.
6667 * fixinc/Makefile.in (SHELL): Likewise.
6668
eef709c7
KG
6669 * mips.md (fixuns_truncdfsi2, fixuns_truncdfdi2,
6670 fixuns_truncsfsi2, fixuns_truncsfdi2): Avoid automatic aggregate
6671 initialization.
6672
b0ac73f8
JL
66732002-06-24 Jeff Law <law@redhat.com>
6674
6675 * flow.c (propagate_one_insn): When removing an insn
6676 with a REG_LIBCALL note but not the entire libcall sequence,
6677 delete the associated REG_RETVAL note.
6678
9e96203d
R
6679Mon Jun 24 21:05:09 2002 J"orn Rennecke <joern.rennecke@superh.com>
6680
6681 * lib1funcs.asm (sdivsi3): Add optimized SH64 implementations.
6682 (udivsi3): Likewise. Rewrite SH1 implementation.
6683 (udivdi3, divdi3, umoddi3, moddi3): New SHmedia functions.
6684 * sh.md (R20_REG, R21_REG, R22_REG, R23_REG, FR23_REG): New constants.
6685 (udivsi3_i1_media, divsi3_i1_media): Fix clobber list.
6686 * config/sh/t-sh64 (LIB1ASMFUNCS): (_udivdi3, _divdi3, _umoddi3): Add.
6687 (_moddi3): Likewise.
6688
6689 * lib1funcs.asm (ic_invalidate): Add data cache line writeback.
87912be7
R
6690
6691 * sh.h (FUNCTION_ARG_ADVANCE): Take SHCOMPACT_FORCE_ON_STACK
6692 arguments into account for stack_regs.
6693
0d893a63
MK
66942002-06-24 Matt Kraai <kraai@alumni.cmu.edu>
6695
6696 * doc/extend.texi: Change `@dots{}' to `/* @r{@dots{}} */'
6697 in examples.
4e314d1f 6698
04a5176a
AH
66992002-06-24 Art Haas <ahaas@neosoft.com>
6700
6701 * doc/extend.texi (Other Builtins): Change `...' to `@dots{}'.
6702 * doc/tm.texi (Frame Layout): Likewise.
6703
cad61762 67042002-06-20 Steve Ellcey <sje@cup.hp.com>
ec52b446 6705
cad61762
SE
6706 * gcc/config.gcc (ia64*-*-hpux*): Set use_collect2 to no.
6707 Set float_format to i128.
6708
556a56ac
DM
67092002-06-24 David S. Miller <davem@redhat.com>
6710
6711 * config/sparc/sparc.c (INIT_TARGET_OPTABS): If ARCH64, set the
6712 32-bit ABI libfuncs to NULL.
6713
563facba
DM
6714 * config/sparc/sparc.md: Use define_insn_and_split. Use braced
6715 strings instead of quoted strings for code blocks.
b776892b 6716
556a56ac
DM
6717 * expmed.c (expand_divmod): Do not set optab1/optab2 to the shift
6718 optabs if op1 is const0_rtx.
6719
a8106207
DM
6720 * Makefile.in (GTFILES): Add basic-block.h
6721 * basic-block.h (label_value_list, tail_recursion_label_list):
6722 Mark with GTY.
6723
2c088b53
NB
67242002-06-24 Neil Booth <neil@daikokuya.co.uk>
6725
6726 * cpptrad.c (scan_out_logical_line): Check recursing only when
6727 we know we have a macro invocation in the function-like case.
6728 Only call _cpp_handle_directive if we know we have a good
6729 directive, or we want to reject a bad directive.
6730
0228d06b
AM
67312002-06-24 Alan Modra <amodra@bigpond.net.au>
6732
6733 * doloop.c (doloop_valid_p): Correct comment.
6734 (doloop_modify_runtime <abs_inc != 1>): Simplify.
6735 (doloop_modify_runtime <do-while>): Don't emit code when NE.
6736
2f9021d3
DC
6737Thu Jun 20 00:26:53 2002 Denis Chertykov <denisc@overta.ru>
6738
6739 * config.gcc: Add support for ip2k.
6740
bc9c2952 67412002-06-23 Jan Hubicka <jh@suse.cz>
f81a79ef
JH
6742 Jeff Law <law@redhat.com>
6743
6744 * function.h (struct emit_status): Clarify potential contents
6745 of regno_reg_rtx array.
6746 * integrate.c (copy_rtx_and_substitute): Update comments. Make
6747 sure entry in regno_reg_rtx is a REG before checking REG_POINTER.
bc9c2952
AJ
6748
6749 * reg-stack.c (convert_regs_exit): Push the registers to stack in
6750 proper order.
6751
faa964e5
UW
67522002-06-22 Ulrich Weigand <uweigand@de.ibm.com>
6753
6754 PR middle-end/6963
6755 * function.c (assign_stack_temp_for_type): Do not return
6756 the same MEM rtx for multiple uses of a stack slot.
6757
7ae3e57c
DM
67582002-06-22 David S. Miller <davem@redhat.com>
6759
6760 PR target/6841 target/6770 target/6719
6761 * config/sparc/sparc.h (PREFERRED_RELOAD_CLASS): Return
6762 NO_REGS for constant X when CLASS is GENERAL_OR_FP_REGS or
6763 GENERAL_OR_EXTRA_FP_REGS.
6764
847c76c8
NB
67652002-06-22 Neil Booth <neil@daikokuya.co.uk>
6766
6767 * cpptrad.c (struct fun_macro): Add line number.
6768 (scan_out_logical_line): Set it, and use it to report unterminated
6769 macro invocations.
6770
813674e0
KG
67712002-06-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6772
6773 * genautomata.c (copy_node, VLA_PTR_CREATE, VLA_PTR_EXPAND,
6774 VLA_PTR_ADD, VLA_HWINT_CREATE, VLA_HWINT_EXPAND, VLA_HWINT_ADD,
6775 DECL_UNIT, DECL_BYPASS, DECL_AUTOMATON, DECL_EXCL, DECL_PRESENCE,
6776 DECL_ABSENCE, DECL_RESERV, DECL_INSN_RESERV, REGEXP_UNIT,
6777 REGEXP_RESERV, REGEXP_SEQUENCE, REGEXP_REPEAT, REGEXP_ALLOF,
6778 REGEXP_ONEOF, check_name): Const-ify.
6779
23361093
MT
67802002-06-21 Matt Thomas <matt@3am-software.com>
6781
6782 * config/vax/vax.c (vax_output_function_prologue): Use
bc9c2952 6783 REGISTER_PREFIX. Fix some indentation.
23361093
MT
6784 * config/vax/vax.h (FUNCTION_PROFILER): Use reg_names[].
6785 (VAX_ISTREAM_SYNC): Define.
6786 (INITIALIZE_TRAMPOLINE): Use VAX_ISTREAM_SYNC. Move the
bc9c2952
AJ
6787 i-stream sync to the end.
6788 (REGISTER_PREFIX): Define as "".
23361093
MT
6789 (ASM_OUTPUT_MI_THUNK): Use REGISTER_PREFIX.
6790
1c655a0d
JT
67912002-06-21 Jason Thorpe <thorpej@wasabisystems.com>
6792
6793 * config.gcc (ns32k-*-netbsd*): Remove from list of obsolete
6794 configurations.
6795
3e16bfe2
KG
67962002-06-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6797
6798 * tree.c (tree_node_kind, tree_node_counts, tree_node_sizes,
6799 tree_node_kind_names): Wrap in GATHER_STATISTICS macro.
6800
6b0760fd
MT
68012002-06-21 Matt Thomas <matt@3am-software.com>
6802
6803 * config/vax/netbsd.h: Adjust a comment.
6804 (TARGET_DEFAULT): Redefine as 0.
6805
31a78298
RH
68062002-06-21 Richard Henderson <rth@redhat.com>
6807
6808 * bb-reorder.c (make_reorder_chain_1): Search harder for the
bc9c2952
AJ
6809 vax casesi fallthru edge.
6810 * cfglayout.c (cleanup_unconditional_jumps): Use
31a78298
RH
6811 redirect_edge_succ_nodup. Do not delete ADDR_VEC insns as dead.
6812 * cfgrtl.c (force_nonfallthru_and_redirect): Place redirection
6813 block after ADDR_VEC.
6814
d8bf1785
RO
68152002-06-21 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
6816
6817 * config/sparc/t-linux64 (EXTRA_MULTILIB_PARTS): Add crtfastmath.o.
6818
00b94a44
NB
68192002-06-21 Neil Booth <neil@daikokuya.co.uk>
6820
6821 * cpperror.c (cpp_error): For traditional CPP, default to
6822 diagnostics on pfile->line.
6823 * cpplib.c (prepare_directive_trad): Set line number for
6824 diagnostics for #define too.
6825 * cpptrad.c (skip_whitespace): Skip comments properly.
6826 (_cpp_expansions_different_trad): Initialize quote2.
6827
c583c5c3
HPN
68282002-06-21 Hans-Peter Nilsson <hp@bitrange.com>
6829
6830 * config/mmix/mmix.md: Change GNU CC to GCC in file header comment.
6831 * config/mmix/mmix.h: Ditto.
6832 * config/mmix/mmix-protos.h: Ditto.
6833 * config/mmix/mmix.c: Ditto. Fix typo in comment.
6834 * config/mmix/mmix-modes.def: Change GNU CC to GCC in file header
6835 comment. Comment extra CC modes.
6836
1292ec0c
JH
68372002-06-20 Jan Hubicka <jh@suse.cz>
6838
6839 * cfglayout.c (scope_to_insns_initialize): Call set_block_levels.
6840 (scope_to_insns_finalize): Do not call set_block_levels; handle
6841 sequences.
6842 (choose_inner_scope): New.
6843 * rtl.h (choose_inner_scope): Declare.
6844
0f8e3849
JDA
68452002-06-20 John David Anglin <dave@hiauly1.hia.nrc.ca>
6846
6847 * pa-protos.h (pa_asm_output_mi_thunk): Change third argument to
6848 HOST_WIDE_INT.
6849 * pa.c (pa_asm_output_mi_thunk): Likewise.
6850 (n_deferred_plabels): Change type to size_t.
6851 (output_deferred_plabels, output_call): Use size_t instead of int.
6852
0655301f
RH
68532002-06-20 Richard Henderson <rth@redhat.com>
6854
6855 PR target/4041
6856 * config/m68k/m68k.md (zero_extendsidi2): Create expander; duplicate
6857 pattern and adjust constraints for coldfire.
6858
2b3aadfc
RH
68592002-06-20 Richard Henderson <rth@redhat.com>
6860
6861 * explow.c (probe_stack_range): Use gen_rtx_fmt_ee.
6862
5c44e275
CD
68632002-06-20 Chris Demetriou <cgd@broadcom.com>
6864
6865 * config.gcc (mipsisa64-*-elf*, mipsisa64el-*-elf*): New targets.
6866
8fff5435
CD
68672002-06-20 Chris Demetriou <cgd@broadcom.com>
6868
6869 * config/mips/mips.h (ISA_HAS_FP4): Fix comment to reflect use.
6870
8a67e083
SS
68712002-06-20 Stan Shebs <shebs@apple.com>
6872
6873 * dominance.c: Include errors.h instead of error.h.
6874
017acb41
NB
68752002-06-20 Neil Booth <neil@daikokuya.co.uk>
6876
6877 * cppexp.c (cpp_interpret_integer): Don't force traditional
6878 numbers to be unsigned.
6879 * cpplib.c (prepare_directive_trad): Set line number for
6880 diagnostics.
6881 * cpptrad.c (scan_out_logical_line): Continue scanning out
6882 at start of buffer.
6883 * gcc.c (trad_capable_cpp): Use cc1 always.
6884
0ed4a390
JL
68852002-06-20 Jeffrey Law <law@redhat.com>
6886
6887 * i386.h (TARGET_DEFAULT): Do not turn on frame pointer
6888 elimination in leaf functions by default yet.
6889
988ef418
RS
68902002-06-20 Richard Sandiford <rsandifo@redhat.com>
6891
6892 * combine.c (make_extraction): Reapply to the argument of an ASHIFT.
6893
0ab2e54b
RO
68942002-06-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
6895
6896 * config/sparc/t-crtfm (crtfastmath.o): Prefix with $(T) for
6897 multilibs.
6898 * config/sparc/t-sol2-64 (EXTRA_MULTILIB_PARTS): Add crtfastmath.o.
d8bf1785 6899 Fixes PR other/6836.
0ab2e54b 6900
355be0dc
JH
6901Thu Jun 20 19:42:21 CEST 2002 Jan Hubicka <jh@suse.cz>
6902 Pavel Nejedly <bim@atrey.karlin.mff.cuni.cz>
6903
6904 Mon Jun 10 20:42:34 CEST 2002 Jan Hubicka <jh@suse.cz>
6905
6906 * basic-block.h: Do not include et-forest.h
6907 (dominance_info): Declare as struct dominance-info.
6908 * cfglayout.c (cleanup_unconditional_jumps): Remove the edge before
6909 deleting block.
6910 * dominance.c (struct dominance_info): Define.
6911 (BB_NODE, SET_BB_NODE): New macros.
6912 (bb_hash_func, bb_eq_func): Kill.
6913 (calculate_dominace_info, free_dominacne_info, set_immediate_dominator,
6914 nearest_common_dominator, dominated_by_p, recount_dominator,
6915 add_to_dominance_info, delete_from_dominance_info): update for new
6916 representation.
6917 (get_dominated_by, redirect_immediate_dominators): Rewrite using
6918 enumerate_sons.
6919 * ifcvt.c (process_double_test_block, merge_if_block, find_cond_trap,
6920 find_if_case_1, find_if_case_2): Remove killed blocks from dominance
6921 structure.
6922
6923 * et-forest.h: Update copyright; revamp all function to operate on
6924 nodes
6925 (et_forest_value): Kill.
6926 (et_forest_enumerate_sons, et_forest_node_value): New.
6927 * et-forest.c: Update copyright.
6928 * et-forest.h: Update copyright; revamp all function to operate on
6929 nodes
6930 (et_forest_value): Kill.
6931 (et_forest_enumerate_sons, et_forest_node_value): New.
6932
6933 Thu Jun 6 22:43:43 CEST 2002 Jan Hubicka <jh@suse.cz>
6934
6935 * basic-block.h: Inlude et-forest.h
6936 (basic_block_def): Kill dominator.
6937 (dominance_info): New type.
6938 (loops): Use dominace_info.
6939 (dominace handling functions): Take dominace_info as argument
6940 instead of bitmaps.
6941 (create_preheader): Likewise.
6942 * cfg.c (entry_exit_blocks): Kill dominator.
6943 (dump_flow_info): Do not dump dominators.
6944 * cfglayout.c (cleanup_unconditonal_jumps): Delete deleted block from
6945 dominators.
6946 * cfgloop.c (flow_pre_header_find): Use dominacne_info.
6947 (flow_loops_pre_header_scan, make_forwarder_block,
6948 canonicale_loop_headers, flow_loops_find): Likewise.
6949 * dominance.c: Include error.h
6950 (idoms_to_doms): Kill.
6951 (bb_hash_func, bb_eq_func): New static functions.
6952 (debug_dominace_info): New global function.
6953 (calculate_dominance_info): Use new et forest structure.
6954 (free_dominace_info, get_immediate_dominator, set_immediate_dominator,
6955 get_dominated_by, redirect_immediate_dominators,
6956 nearest_common_dominator, dominated_by_p, verify_dominators,
6957 recount_dominator, iterate_fix_dominators, add_to_dominace_info,
6958 delete_from_dominance_info): New global functions.
6959 * gcse.c (domnators): CHange to dominance_info.
6960 (alloc_hoist_mem): Do not alloc dominators
6961 (free_code_hoist_mem): Use free_dominance_info.
6962 (compute_code_hoist_data): Use dominance_info.
6963 (hoist_code): Likewise.
6964 * ifcvt.c (post_dominators): Likewise.
6965 (find_if_case_2, if_convert): Likewise.
6966 * predict.c (process_note_predictions, process_note_prediction,
6967 estimate-probability): Likewise.
6968 * sched-rgn.c (find_rgns, init_regions): Likewise.
6969 * ssa-dce.c (find_all_control_dependences, fint_control_depemndence,
6970 find_pdom, delete_insn_bb, ssa_eliminate_dead_code): Likewise.
6971 * ssa.c (compute_dominance_frontiers_1, rename_block, rename_registers,
6972 find_evaluations, convert_to_ssa): Likewise.
6973 * ssa.h (compute_dominance_frontiers): Likewise.
6974
6975 Thu Jun 6 22:57:34 CEST 2002 Pavel Nejedly <bim@atrey.karlin.mff.cuni.cz>
6976
6977 * Makefile.in (et-forest.c): Add.
6978 * et-forest.c: New file.
6979 * at-forest.h: New file.
6980
ef9772c8
KG
69812002-06-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6982
62c71f4b
KG
6983 * c-decl.c (c_decode_option): Use ARRAY_SIZE in lieu of explicit
6984 array size calculation.
6985 * gengtype.c (NUM_BASE_FILES, create_file, write_gc_root):
6986 Likewise.
6987
ef9772c8
KG
6988 * diagnostic.c (diagnostic_kind_text): Const-ify.
6989 * gengtype.c (lang_names): Likewise.
6990
b0dd4808
JH
6991Thu Jun 20 17:25:29 CEST 2002 JAn HUbicka <jh@suse.cz>
6992
6993 * combine.c (subst): Be prepared for simplify_subreg to return VOIDmode.
6994
8433a25e
RO
69952002-06-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
6996
6997 * config/sol2.h: New file.
6998 * config.gcc (i?86-*-solaris2*): Include it before i386/sol2.h.
6999 (sparc64-wrs-vxworks*): Include it before sparc/sol2.h.
7000 (sparc-*-chorusos*): Likewise.
7001 (sparc-*-elf*): Likewise.
7002 (sparc-*-rtems*, sparc-*-rtemself*): Likewise.
7003 (sparc64-*-solaris2*, sparcv9-*-solaris2*): Likewise.
7004 (sparc-hal-solaris2*): Likewise.
7005 (sparc-*-solaris2*): Likewise.
7006 (sparclite-*-elf*): Likewise.
7007 (sparc86x-*-elf*): Likewise.
7008 (sparc64-*-elf*): Likewise.
bc9c2952 7009
8433a25e
RO
7010 * config/i386/sol2.h (PREFERRED_DEBUGGING_TYPE): Moved to
7011 config/sol2.h.
7012 (ASM_SPEC): Override config/sol2.h version for now.
7013 Removed obsolete GAS_REJECTS_MINUS_S variant.
7014 (WINT_TYPE, WINT_TYPE_SIZE): Moved to config/sol2.h.
7015 (HANDLE_PRAGMA_REDEFINE_EXTNAME): Likewise.
7016 (TARGET_OS_CPP_BUILTINS): Likewise.
7017 Assert system=unix.
7018 (CPP_SPEC): Simplified using new CPP_SUBTARGET_SPEC.
7019 (LIB_SPEC, ENDFILE_SPEC, STARTFILE_SPEC, LINK_SPEC): Moved to
7020 config/sol2.h.
7021 (SWITCH_TAKES_ARG, STDC_0_IN_SYSTEM_HEADERS): Likewise.
7022 (ASM_CPU_SPEC): Define.
7023 (SUBTARGET_EXTRA_SPECS): Define.
bc9c2952 7024
8433a25e
RO
7025 * config/sparc/sol2-bi.h (LONG_DOUBLE_TYPE_SIZE): Removed, already
7026 in config/sparc/sol2.h.
7027 (ASM_SPEC): Moved to config/sol2.h.
7028 (CPP_CPU_SPEC): Simplified.
7029 (STARTFILE_SPEC32): Likewise, renamed to STARTFILE_ARCH32_SPEC for
7030 consistency.
7031 (STARTFILE_SPEC64): Renamed to STARTFILE_ARCH64_SPEC.
7032 (STARTFILE_ARCH_SPEC): Use new names STARTFILE_ARCH32_SPEC,
7033 STARTFILE_ARCH64_SPEC.
7034 (STARTFILE_SPEC): Moved to config/sol2.h
7035 (SUBTARGET_EXTRA_SPECS): Add startfile_arch.
7036 (LINK_ARCH32_SPEC): Moved to config/sol2.h.
7037 (LINK_ARCH64_SPEC): Simplified.
7038 (LINK_ARCH_SPEC): Redefined config/sol2.h version for 64-bit support.
7039 (LINK_SPEC): Moved to config/sol2.h
bc9c2952 7040
8433a25e
RO
7041 * config/sparc/sol2.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Moved to
7042 config/sol2.h.
7043 Use BITS_PER_WORD for size.
7044 (WINT_TYPE, WINT_TYPE_SIZE): Likewise.
7045 (HANDLE_PRAGMA_REDEFINE_EXTNAME): Likewise.
7046 (CPP_PREDEFINES): Removed OS-specific part handled by
7047 TARGET_OS_CPP_BUILTINS.
7048 (CPP_SUBTARGET_SPEC): Moved to config/sol2.h.
7049 (CPLUSPLUS_CPP_SPEC): Removed, handled by TARGET_OS_CPP_BUILTINS.
7050 (ASM_SPEC): Moved to config/sol2.h.
7051 (PREFERRED_DEBUGGING_TYPE): Likewise.
7052 (STARTFILE_SPEC, LIB_SPEC, LINK_SPEC): Likewise.
7053 (SWITCH_TAKES_ARG, STDC_0_IN_SYSTEM_HEADERS): Likewise.
7054 (TARGET_DEFAULT): Reordered to match config/sparc/sol2-bi.h version.
7055 (TRANSFER_FROM_TRAMPOLINE): Moved to config/sol2.h
bc9c2952 7056
8433a25e
RO
7057 * config.gcc (i?86-*-solaris2*): Removed obsolete gas support.
7058 * config/i386/sol2gas.h: Removed.
7059
b6bb1d56
JH
7060Thu Jun 20 12:14:01 CEST 2002 Jan Hubicka <jh@suse.cz>
7061
7062 * i386.md (xorqi_1_slp, xorqi_2_slp): New patterns.
7063
e50b19ce 70642002-06-16 Aldy Hernandez <aldyh@redhat.com>
4e314d1f 7065
e50b19ce
AH
7066 * gcc.c-torture/execute/simd-1.c: New.
7067
7068 * gcc.dg/simd-1.c: New.
7069
7070 * doc/extend.texi (Vector Extensions): Document that we can
7071 specify simd types not specifically supported by the hardware.
7072 Document that simd types can be used as function arguments.
7073 Document that signness does make a difference in SIMD types.
7074 Misc cleanups and revisions to the vector extensions section.
7075
7076 * simplify-rtx.c (simplify_subreg): Simplify subregs of vector
7077 constants.
7078
7079 * expr.c (vector_mode_valid_p): New.
7080
7081 * expr.h: Add vector_mode_valid_p.
7082
7083 * defaults.h (VECTOR_MODE_SUPPORTED_P): Set default.
7084
7085 * c-common.c (type_for_mode): Always build vector nodes regardless
7086 of VECTOR_MODE_SUPPORTED_P.
7087 (handle_mode_attribute): Error if we can't emulate a nonexisting
7088 vector mode.
7089 (handle_vector_size_attribute): Same.
7090
7091 * optabs.c (expand_binop): Open-code vector operations.
7092 (expand_unop): Open-code vector unops.
7093 (expand_vector_binop): New.
7094 (expand_vector_unop): New.
4e314d1f 7095
e50b19ce
AH
7096 * c-typeck.c (build_binary_op): Allow vectors in binops.
7097 Allow vectors in conditional operatiors.
7098 (build_unary_op): Allow vectors in unary minus.
7099
7100 * config/rs6000/rs6000.h (ALTIVEC_VECTOR_MODE): Conditionalize on
7101 TARGET_ALTIVEC.
7102
74d86f4f
RH
71032002-05-20 Richard Henderson <rth@redhat.com>
7104
7105 * c-common.c (c_common_get_alias_set): Correctly handle characters.
7106 Rearrange order of expressions; don't handle vectors here.
7107 * alias.c (get_alias_set): Let vectors match their components.
7108
1867b624
CD
71092002-06-19 Chris Demetriou <cgd@broadcom.com>
7110
6c535c69 7111 * config/mips/mips.c (mips_emit_prefetch): Use hints which
1867b624
CD
7112 match desired locality.
7113
2c1d2fcb
DD
71142002-06-19 Dhananjay R. Deshpande <dhananjayd@kpit.com>
7115
7116 * config/h8300/h8300.c (TARGET_INSERT_ATTRIBUTES): Define.
7117 (h8300_insert_attributes): New.
7118
84d901be
AD
71192002-06-19 Akim Demaille <akim@epita.fr>
7120
7121 * c-parse.in (initelt: identifier ':' initval): Add an empty
7122 action to fix a type clash.
7123 (aliasdecl, classdef): Add the missing closing `;'.
7124 Whitespace changes.
7125 * gengtype-yacc.y (typedef_struct): Add an empty action to preevnt
7126 $$ = $1 type clashes.
7127
8f2e3902
EC
71282002-06-19 Eric Christopher <echristo@redhat.com>
7129
7130 * config/mips/mips.c (symbol_operand): New function.
7131 (mips_emit_prefetch): Ditto.
7132 * config/mips/mips-protos.h: Define.
7133 * config/mips/mips.h (ISA_HAS_PREFETCH): Define.
7134 (CONSTANT_ADDRESS_P): Adjust, use TARGET_GAS.
7135 (LEGITIMIZE_ADDRESS): Ditto.
7136 * config/mips/mips.md (prefetch, prefetch_si_address,
7137 prefetch_si, prefetch_di_address, prefetch_di): New patterns.
7138
c894819c
EC
71392002-06-19 Eric Christopher <echristo@redhat.com>
7140
7141 * config/fp-bit.h: Add unordered defines for gofast.
7142
4005971c
VM
71432002-06-19 Vladimir Makarov <vmakarov@redhat.com>
7144
7145 * genautomata.c (DECL_UNIT, DECL_BYPASS, DECL_AUTOMATON,
7146 DECL_EXCL, DECL_PRESENCE, DECL_ABSENCE, DECL_RESERV,
7147 DECL_INSN_RESERV, REGEXP_UNIT, REGEXP_RESERV, REGEXP_SEQUENCE,
7148 REGEXP_REPEAT, REGEXP_ALLOF, REGEXP_ONEOF): New macros with
7149 checking and without it.
7150 (decl_name, decl_mode_check_failed, regexp_name,
7151 regexp_mode_check_failed): New functions.
7152 (gen_cpu_unit, gen_query_cpu_unit, gen_bypass, gen_excl_set,
7153 gen_presence_set, gen_absence_set, gen_automaton,
7154 gen_regexp_repeat, gen_regexp_allof, gen_regexp_oneof,
7155 gen_regexp_sequence, gen_reserv, gen_insn_reserv,
7156 automaton_decl_hash, automaton_decl_eq_p): Use the macros.
7157 (find_automaton_decl): Ditto. Set up mode of work_automaton_decl.
7158 (insn_decl_hash, insn_decl_hash, insn_decl_eq_p): Use the macros.
7159 (find_insn_decl): Ditto. Set up mode of work_insn_decl.
7160 (decl_hash, decl_eq_p): Use the macros.
7161 (find_decl): Ditto. Set up mode of work_decl.
7162 (process_excls, process_presence_absence, process_decls,
7163 check_automaton_usage, process_regexp, process_regexp_decls,
7164 check_usage, loop_in_regexp, check_loops_in_regexps,
7165 process_regexp_cycles, add_advance_cycle_insn_decl,
7166 initiate_states, initiate_excl_sets,
7167 initiate_presence_absence_sets, copy_insn_regexp, transform_1,
7168 transform_2): Use the macros.
7169 (transform_3): Ditto. Check mode before making transformations of
7170 ALLOF.
7171 (regexp_transform_func, transform_insn_regexps,
7172 process_unit_to_form_the_same_automaton_unit_lists,
7173 form_the_same_automaton_unit_lists_from_regexp,
7174 form_the_same_automaton_unit_lists,
7175 process_seq_for_forming_states, process_alts_for_forming_states,
7176 create_alt_states, form_ainsn_with_same_reservs, make_automaton,
7177 form_arcs_marked_by_insn, NDFA_to_DFA, set_new_cycle_flags,
7178 estimate_one_automaton_bound, compare_max_occ_cycle_nums,
7179 units_to_automata_heuristic_distr, create_ainsns,
7180 units_to_automata_distr, create_automata): Use the macros.
7181 (form_regexp): Ditto. Fix typo in access to fields of ALLOF.
7182 (longest_path_length, min_issue_delay_pass_states,
7183 output_dead_lock_vect, output_tables, output_insn_code_cases,
7184 output_internal_insn_latency_func, output_print_reservation_func,
7185 output_description, output_automaton_units, generate): Use the
7186 macros.
7187 (make_insn_alts_attr): Ditto. Check case when there are not
7188 alternatives in the reservation.
7189 (make_internal_dfa_insn_code_attr, make_default_insn_latency_attr,
7190 make_bypass_attr, form_important_insn_automata_lists,
7191 expand_automata): Use the macros.
c894819c 7192
015089dd
TJ
71932002-06-20 Tim Josling <tej@melbpc.org.au>
7194
7195 * Makefile.in: Clean up code to check for misspecified languages
7196 in enable-languages.
7197
7999462c
AP
71982002-06-19 Andrew Pinski <pinskia@physics.uc.edu>
7199
84d901be 7200 * cpptrad.c (_cpp_replacement_text_len): initialize len.
7999462c 7201
9c8d079c
JM
72022002-06-19 Jason Merrill <jason@redhat.com>
7203
7204 * Makefile.in (unstrap, restrap): New targets.
7205 (bootstrap): Mention restrap.
7206
d90a95fb
MK
72072002-06-19 Matt Kraai <kraai@alumni.cmu.edu>
7208
7209 * except.c (ehl_free): Remove.
7210
7211 * doc/tm.texi (TARGET_CPU_CPP_BUILTINS): Correct misnamings of
7212 builtin_define and builtin_define_std.
7213
f01a0d8d
ID
72142002-06-19 Ian Dall <ian@sibyl.beware.dropbear.id.au>
7215
7216 * config/ns32k/ns32k.md: Give "*xxx" names to all unnamed insn's.
7217 (sCOND): Restrict operand class so that gcc knows how to reload them.
7218 (bitfield_set): Merge two unnamed insn's using alternatives.
7219 (call_value): Remove constraint on unused uperand.
7220 (udivmodhi4, udivmodsi4, udivmoddihi4_internal): Remove.
7221 (udivmoddiqi4_internal, udivmoddihi4, udivmoddiqi4): Remove.
c894819c 7222
f01a0d8d
ID
7223 * longlong.h (count_trailing_zeros): Escape newline and beautify.
7224
62363d99
MM
72252002-06-19 Mark Mitchell <mark@codesourcery.com>
7226
7227 * Makefile.in (QMTEST_DIR): Simplify definition.
7228
099bd656
NC
72292002-06-19 Nick Clifton <nickc@cambridge.redhat.com>
7230
7231 * config/d30v/d30v.h (CUMULATIVE_ARGS): Replace typedef with
7232 #define.
7233
278c4662
NB
72342002-06-19 Neil Booth <neil@daikokuya.co.uk>
7235
7236 * cpphash.h (struct cpp_reader): Make date and time strings.
7237 (_cpp_builtin_macro_text, _cpp_copy_replacement_text,
7238 _cpp_replacement_text_len): New.
7239 * cppinit.c (cpp_create_reader): Update.
7240 (init_builtins): Register appropriate builtins for -traditional-cpp.
7241 * cppmacro.c (new_number_token): Remove.
7242 (_cpp_builtin_macro_text): New.
7243 (builtin_macro): Use it.
7244 (cpp_macro_definition): Update to handle traditional macros.
7245 * cppmain.c (cb_line_change): Don't do column positioning for
7246 traditional output.
7247 * cpptrad.c (enum ls): Rename ls_fun_macro to ls_fun_open. New
7248 state ls_fun_close.
7249 (skip_whitespace): Fix.
7250 (maybe_start_funlike): Don't set state.parsing_args.
7251 (scan_out_logical_line): Remove duplicate error. Use lex_state
7252 rather than state.parsing_args.
7253 (push_replacement_text): Handle builtins.
7254 (_cpp_replacement_text_len, _cpp_copy_replacement_text): New.
7255
afd1930f 72562002-06-18 Hans-Peter Nilsson <hp@axis.com>
f01a0d8d 7257 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
afd1930f
HPN
7258
7259 * config/fp-bit.c (_fpmul_parts, _fpdiv_parts): Mark with
7260 attribute __always_inline__.
7261
5ee924c2
BW
72622002-06-18 Bob Wilson <bob.wilson@acm.org>
7263
7264 * config/xtensa/xtensa.h (FUNCTION_PROFILER): Respect flag_pic
7265 when generating the call to _mcount.
7266 (NO_PROFILE_COUNTERS): Define.
7267
32c36ac8
RH
72682002-06-18 Richard Henderson <rth@redhat.com>
7269
7270 * print-rtl.c (print_rtx): Adjust NOTE argument numbers for
7271 2002-06-02 change.
7272
c985dc5e
R
7273Tue Jun 18 20:53:32 2002 J"orn Rennecke <joern.rennecke@superh.com>
7274
7275 * t-sh (MULTILIB_EXCEPTIONS): Set to ml.
7276 config/sh/t-linux (MULTILIB_EXCEPTIONS): Clear.
7277 * config/sh/t-netbsd (MULTILIB_EXCEPTIONS): Likewise.
7278 * config/sh/t-sh64 (MULTILIB_EXCEPTIONS): Likewise.
e3ba8d11
R
7279
7280 * sh-protos.h (sh_pr_interrupt): Declare.
7281 * sh.c (sh_pr_interrupt): New function.
7282 (print_operand, calc_live_regs, sh_expand_prologue): Use it.
7283 (sh_hard_regno_rename_ok): Likewise.
7284 * sh.h (NORMAL_MODE): FP_MODE_NONE for interupt handlers.
7285
e3c8eb86
VM
72862002-06-18 Vladimir Makarov <vmakarov@redhat.com>
7287
7288 * rtl.def (DEFINE_AUTOMATON): Add description of new options
7289 `time' and `v'. Fix incorrect description of option `w'.
7290
7291 * doc/md.texi: Ditto.
7292
7293 * genautomata.c (TIME_OPTION, V_OPTION): New macros.
7294 (gen_automata_option): Process the new options.
7295 (transform_2, transform_3): Initialize some variables.
7296 (initiate_automaton_gen): Use the new macros.
c894819c 7297
b2471838
RS
72982002-06-18 Richard Sandiford <rsandifo@redhat.com>
7299
7300 * config/mips/mips-protos.h (mips_initial_elimination_offset): Declare.
7301 (mips_set_return_address, mips_restore_gp): Declare.
7302 * config/mips/mips.h (struct mips_frame_info): Move to mips.c
7303 (current_frame_info): Remove.
7304 (INITIAL_ELIMINATION_OFFSET): Use mips_initial_elimination_offset.
7305 * config/mips/mips.c: Remove uses of current_frame_info.
7306 (struct mips_frame_info): Moved from mips.h. Remove 'insns_len'.
7307 (struct machine_function): Add 'frame' and 'insns_len'.
7308 (current_frame_info, zero_frame_info): Remove.
7309 (mips_restore_gp, mips_set_return_address): New.
7310 (mips_initial_elimination_offset): New.
7311 * config/mips/mips.md (exception_receiver): Use mips_restore_gp.
7312 (eh_return define_split): Use mips_set_return_address.
7313
d97371e0
NB
73142002-06-18 Neil Booth <neil@daikokuya.demon.co.uk>
7315
7316 * cpplib.c (dtable): Update.
7317 (end_directive): Decrement expansion prevention count.
7318 Clear state.in_expression.
7319 (prepare_directive_trad): Set state.in_expression.
7320 Increment expansion prevention count.
7321 * cpptrad.c (enum ls): New.
7322 (_cpp_overlay_buffer): Set overlaid_buffer.
7323 (_cpp_remove_overlay): Use overlaid_buffer.
7324 (_cpp_read_logcial_line_trad): Update buffer when it might
7325 have changed.
7326 (scan_out_logical_line): Handle state transitions for assertions
7327 and defined() in #if, and for funlike invocations including the
7328 directive case. Handle '<' and '>' as a quote mechanism in
7329 #include. Warn about unterminated macro invocations.
7330 * cpphash.h (struct lexer_state): New member in_expression.
7331 (struct cpp_reader): New member overlaid buffer.
7332
807b20b0
HPN
73332002-06-18 Hans-Peter Nilsson <hp@axis.com>
7334
7335 * config/cris/arit.c (do_31div, __Udiv, __Umod): Mark prototype
7336 __always_inline__.
7337
8a09a7e5
AM
73382002-06-18 Alan Modra <amodra@bigpond.net.au>
7339
147d5f6f
AM
7340 * config/ia64/ia64.md (doloop_end_internal): Correct rtl.
7341
8a09a7e5
AM
7342 * doloop.c (doloop_optimize): Extract pattern from insn.
7343
390de769
MK
73442002-06-17 Matt Kraai <kraai@alumni.cmu.edu>
7345
7346 * doc/extend.texi (Function Attributes): Remove `,...' from @var.
7347
0ed4a390 73482002-06-17 Jeff Law <law@redhat.com>
912ce297
JL
7349
7350 * libgcc2.c: Do not include symcat.h or machmode.h.
7351
5c45425b
RH
73522002-06-17 Richard Henderson <rth@redhat.com>
7353
7354 PR target/6922
7355 * expmed.c (make_tree): Handle SIGN_EXTEND/ZERO_EXTEND.
7356
9aa497ae
TT
73572002-06-17 Tom Tromey <tromey@redhat.com>
7358
7359 * dwarfout.c: Include function.h.
7360
7f11f1f9
AS
73612002-06-17 Andreas Schwab <schwab@suse.de>
7362
7363 * print-rtl.c (print_rtx): Print space before vector, not after.
7364 (debug_rtx): Clear sawclose before printing.
7365 (debug_rtx_list): Print newline after each list element.
7366 (debug_rtx_range): Likewise.
7367
df696a75
RH
73682002-06-17 Richard Henderson <rth@redhat.com>
7369
7370 * function.h (struct function) [funcdef_no]: Rename profile_label_no.
7371 (current_function_funcdef_no): Similarly.
7372 * function.c (funcdef_no): Similarly.
7373 (prepare_function_start): Set current_function_funcdef_no.
7374 (expand_function_start): Don't set current_function_profile_label_no.
7375 * dwarf2out.h (current_funcdef_number): Remove.
7376 * dwarf2out.c (current_funcdef_number): Remove. Replace with
7377 current_function_funcdef_no throughout.
7378 * dwarfout.c, vmsdbgout.c: Similarly.
7379 * except.c (sjlj_funcdef_number): Remove.
7380 (sjlj_emit_function_enter): Use current_function_funcdef_no instead.
7381 (output_function_exception_table): Likewise.
7382 * final.c (profile_function): Use current_function_funcdef_no
7383 instead of current_function_profile_label_no.
7384
97272202
VM
73852002-06-17 Vladimir Makarov <vmakarov@redhat.com>
7386
7387 * sched-ebb.c (init_ready_list): Check INSN_P first.
7388
8bccce2d
R
7389Mon Jun 17 17:26:15 2002 J"orn Rennecke <joern.rennecke@superh.com>
7390
7391 * sh.md (divsi3): Update way how to find insns in a sequence.
dec0798e
R
7392
7393 * reload1.c (merge_assigned_reloads): Don't change reloads
7394 other than RELOAD_FOR_INPUT_ADDRESS / RELOAD_FOR_INPADDR_ADDRESS
7395 to RELOAD_OTHER when there are conflicting input reloads.
7396
0af5c896
RE
73972002-06-17 Richard Earnshaw (rearnsha@arm.com)
7398
7399 * function.c (epilogue_done): Correctly build a sequence of insns for
7400 a sibcall epilogue.
7401
9d0fa9d6
NC
74022002-06-17 Nick Clifton <nickc@cambridge.redhat.com>
7403
845b1456
NC
7404 * config/fr30/fr30.h (CUMULATIVE_ARGS): Replace typedef with
7405 #define.
7406
9d0fa9d6
NC
7407 * config/m32r/m32r.md: Replace gen_sequence with get_insns.
7408
e83f3cff
RH
74092002-06-16 Richard Henderson <rth@redhat.com>
7410
7411 * config/i386/i386.h (BIGGEST_FIELD_ALIGNMENT): Define instead
7412 of ADJUST_FIELD_ALIGN if IN_TARGET_LIBS.
7413
caecc099
RH
74142002-06-16 Richard Henderson <rth@redhat.com>
7415
7416 PR opt/6722
7417 * regclass.c (globalize_reg): Update regs_invalidated_by_call.
7418
3d05b15f
NB
74192002-06-16 Neil Booth <neil@daikokuya.demon.co.uk>
7420
caecc099
RH
7421 * config.gcc: Add i386/sysv4-cpp.h; remove i386-aout.h from vxworks.
7422 * config/i386/i386-aout.h, config/i386/i386elf.h,
7423 config/i386/sysv4.h: Remove CPP_PREDEFINES.
7424 * config/i386/linux64.h, config/i386/i386elf.h, config/i386/mach.h,
7425 config/i386/netware.h, config/i386/rtemself.h, config/i386/sco5.h,
7426 config/i386/sol2.h, config/i386/vsta.h, config/i386/vxi386.h,
7427 config/i386/win32.h: Use TARGET_OS_CPP_BUILTINS rather than
3d05b15f 7428 CPP_PREDEFINES and part of CPP_SPEC.
caecc099 7429 * config/i386/sysv4-cpp.h: New.
3d05b15f 7430
8370aa3a
RH
74312002-06-16 Richard Henderson <rth@redhat.com>
7432
65a90f3c 7433 PR c/7030
8370aa3a
RH
7434 * dwarf2out.c (modified_type_die): Don't assign the qualified die
7435 to the unqualified type.
7436
e932b21b
JH
7437Sun Jun 16 22:16:10 CEST 2002 Jan Hubicka <jh@suse.cz>
7438
7439 * i386-protos.h (x86_field_alignment): Declare.
7440 * i386.c (x86_field_alignment): Define.
7441 * i386.h (ADJUST_FIELD_ALIGNMENT): New.
7442 (BIGGEST_FIELD_ALIGNMENT): Kill.
7443
7ee02381
RH
74442002-06-16 Richard Henderson <rth@redhat.com>
7445
f01a0d8d 7446 * vax.md (casesi): Use emit_jump_insn. Tidy expander pattern.
7ee02381 7447
750491fc
RH
74482002-06-16 Richard Henderson <rth@redhat.com>
7449
7450 * c-common.c (flag_ms_extensions): Move from c++ front end.
7451 * c-common.h (flag_ms_extensions): Declare.
7452 * c-decl.c (c_decode_option): Add -fms-extensions.
7453 (grokfield): Don't accept anonymous structures in ISO C mode;
7454 accept only unnamed anonymous structures in GNU C mode; accept
7455 Plan 9 extensions in MS mode.
7456 * c-parse.in (SAVE_EXT_FLAGS, RESTORE_EXT_FLAGS): Rename from
7457 SAVE/RESTORE_WARN_FLAGS; add flag_iso frobbing; update all callers.
7458 (extension): Clear flag_iso.
7459 * doc/invoke.texi (C Dialect Options): Add -fms-extensions.
7460
c134da6b
HPN
74612002-06-16 Hans-Peter Nilsson <hp@axis.com>
7462
7463 PR target/7042
7464 * reorg.c (make_return_insns) [DELAY_SLOTS_FOR_EPILOGUE]: Exit
7465 early if current_function_epilogue_delay_list is non-empty.
7466 * config/cris/cris.md ("return"): Add sanity check asserting that
7467 current_function_epilogue_delay_list is empty.
7468
038c7976
JL
74692002-06-16 Jeff Law <law@redhat.com>
7470
006a94b0
JL
7471 * emit-rtl.c (gen_rtx_REG): Temporarily turn off automatic
7472 sharing of hard registers.
7473
7474 * toplev.c (rest_of_compilation): Remove redundant conditional.
7475
038c7976
JL
7476 * toplev.c (rest_of_compilation): Perform a simpler, less costly
7477 cleanup of the CFG when not optimizing.
7478
0797741a
AM
74792002-06-16 Alan Modra <amodra@bigpond.net.au>
7480
7481 * gcc.c (main): Correct startfile_prefix_spec check.
7482
a6e2e53e
GK
74832002-06-12 Geoffrey Keating <geoffk@redhat.com>
7484
7485 * config.gcc: Revert rth's patch of 2002-05-18. Instead,
7486 include both darwin.o and rs6000-c.o.
7487
129e0ee8
RS
74882002-06-15 Roger Sayle <roger@eyesopen.com>
7489
7490 * expr.c (compare_from_rtx): Call simplify_relational_operation
7491 on all comparisons, not just those between integer constants,
7492 with the correct (possibly unsigned) comparison code.
7493 (do_compare_rtx_and_jump): Likewise.
7494
d5355cb2
JDA
74952002-06-15 John David Anglin <dave@hiauly1.hia.nrc.ca>
7496
7497 * Makefile.in (tm_defines): New configuration variable.
7498 (cs-config.h, cs-hconfig.h, cs-tconfig.h): Rename DEFINES to XM_DEFINES.
7499 Pass tm_defines in TM_DEFINES.
7500 (cs-tm_p.h): Rename DEFINES to XM_DEFINES. Pass TM_DEFINES.
7501 * config.gcc (tm_defines): New configuration variable.
7502 (hppa*-*-* | parisc*-*-*): Use tm_defines instead of pa-700.h and
7503 pa-7100.h headers. Change hppa1* scheduling default to 7100LC.
7504 * configure.in: Substitute tm_defines.
7505 * configure: Rebuilt.
7506 * mkconfig.sh: Rename DEFINES to XM_DEFINES. Output TM_DEFINES.
7507 * doc/install.texi: Update.
7508 * pa/pa-700.h: Delete file.
7509 * pa/pa-7100.h: Delete file.
7510
8dcb27ed
RS
75112002-06-15 Roger Sayle <roger@eyesopen.com>
7512
7513 * fold-const.c (comparison_to_compcode): New function to convert
7514 an comparison TREE CODE into a bit-based representation.
7515 (compcode_to_comparison): New function to convert from this bit
7516 based representation back to a comparison TREE CODE.
7517 (fold_truthop): Simplify (x<y) && (x==y) and related composite
7518 comparisons.
7519
182e515e
AH
75202002-06-15 Aldy Hernandez <aldyh@redhat.com>
7521
f01a0d8d 7522 * tm.texi (MEMBER_TYPE_FORCES_BLK): Document MODE argument.
182e515e 7523
f01a0d8d
ID
7524 * stor-layout.c (compute_record_mode): Remove check for
7525 FUNCTION_ARG_REG_LITTLE_ENDIAN and VOIDmode when checking for
7526 MEMBER_TYPE_FORCES_BLK. Pass new mode field to
7527 MEMBER_TYPE_FORCES_BLK.
182e515e 7528
f01a0d8d 7529 * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Same.
182e515e 7530
f01a0d8d 7531 * config/c4x/c4x.h (MEMBER_TYPE_FORCES_BLK): Same.
182e515e 7532
8773135d
JS
75332002-06-14 Jeff Sturm <jsturm@one-point.com>
7534
7535 * config/sparc/sparc.h (DYNAMIC_CHAIN_ADDRESS): Add SPARC_STACK_BIAS.
7536
893a047c
SE
75372002-06-14 Steve Ellcey <sje@cup.hp.com>
7538
7539 * configure.in (USE_UNWIND_EXCEPTIONS): Add support to set
7540 USE_UNWIND_EXCEPTIONS if --enable-libunwind-exceptions is set.
7541 * configure, config.in: Regenerate.
7542
045d7161
EB
75432002-06-14 Eric Botcazou <ebotcazou@multimania.com>
7544
7545 * loop.c (check_final_value): Use v->always_executed
7546 instead of v->always_computable.
7547 * unroll.c (final_giv_value): Don't calculate the final
7548 value as a function of the biv if the giv is not computed
7549 for every loop iteration.
7550
048c8616 75512002-06-14 Eric Botcazou <ebotcazou@multimania.com>
c894819c 7552
048c8616
EB
7553 * loop.c (for_each_insn_in_loop): Fix formatting and comments.
7554
43e4a9d8
EB
75552002-06-14 Eric Botcazou <ebotcazou@multimania.com>
7556
52689a98 7557 PR c/6677
43e4a9d8
EB
7558 * convert.c (convert_to_integer) [LSHIFT_EXPR]: Don't pass
7559 the truncation down when the target type is signed.
7560 [trunc1]: Use unsigned arithmetic for LSHIFT_EXPR.
7561 * fold-const.c (extract_muldiv) [NOP_EXPR]: Don't pass through
7562 the conversion if the target type is a smaller type.
7563
fa4a5557
RH
75642002-06-14 Richard Henderson <rth@redhat.com>
7565
7566 * fold-const.c (fold) [compare ops]: Move X>=C / X<C transfomation
7567 earlier. Re-factor comparisons vs extrema.
7568
d95eb49f
RH
75692002-06-14 Richard Henderson <rth@redhat.com>
7570
7571 * config/alpha/alpha.md (builtin_zapnot): Fix op2 mode.
7572
be202ec2
FS
75732002-06-14 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
7574
7575 * rtl.h (SCHED_GROUP_P): Disallow CODE_LABEL, BARRIER and NOTE.
7576 * sched-deps.c (add_dependence): Likewise.
7577 (group_leader): Likewise.
7578 * sched-rgn.c (init_ready_list): Likewise.
7579 * doc/rtl.texi: Adjust accordingly.
7580
e56c4463
JL
75812002-06-13 Jeffrey Law <law@redhat.com>
7582
99a15921
JL
7583 * gcse.c (delete_null_pointer_checks_1): Inform caller if any
7584 null pointer checks were eliminated. Update prototype.
7585 (delete_null_pointer_checks): Similarly.
7586 * rtl.h (delete_null_pointer_checks): Update prototype.
7587 * toplev.c (rest_of_compilation): Only run cleanup_cfg if
7588 delete_null_pointer_checks deletes one or more null
7589 pointer checks. Do not run cleanup_cfg before gcse, the
7590 CFG is accurate and optimized at that point..
7591
e56c4463
JL
7592 * rs6000.c (rs6000_frame_related): Avoid unwanted sharing
7593 of hard registers.
7594
556b821e
UW
75952002-06-14 Ulrich Weigand <uweigand@de.ibm.com>
7596
7597 * Makefile.in (libgcc.mk): Depend on specs.
7598
fa60f36d
R
7599Fri Jun 14 12:15:11 2002 J"orn Rennecke <joern.rennecke@superh.com>
7600
7601 * sh.md (mulsi3): Update way how to find insns in a sequence.
7602
03b8ec29
DD
7603Fri Jun 14 12:04:02 2002 Dhananjay R. Deshpande <dhananjayd@kpit.com>
7604
7605 * sh.h: Define HARD_REGNO_RENAME_OK
7606 * sh.c: sh_hard_regno_rename_ok: New. If current function has
7607 interrupt_handler attribute, only registers saved on stack are OK.
7608 * sh-protos.h: Declare sh_hard_regno_rename_ok.
7609
8e831557
KK
76102002-06-14 Kaz Kojima <kkojima@gcc.gnu.org>
7611
7612 * config/sh/sh.md (jump): Emit jump insn.
7613 (call_pcrel): Get pattern of the result of gen_call_site.
7614 (call_value_pcrel, sibcall_pcrel, GOTaddr2picreg): Likewise.
7615
bf9d5852
NB
76162002-06-14 Neil Booth <neil@daikokuya.demon.co.uk>
7617
7618 * cpphash.h (struct cpp_buffer): Remove saved_line_base.
7619 * cpptrad.c: Update comments.
7620 (skip_whitespace, copy_comment): Take a new parameter.
7621 (skip_escaped_newlines): Don't duplicate escaped newline test.
7622 (copy_comment): Different location for CUR, decide here how
7623 to copy / replace the comment.
7624 (skip_whitespace): Copy whitespace.
7625 (_cpp_overlay_buffer, _cpp_remove_overlay): Don't play with line_base.
7626 (scan_out_logical_line): Let copy comment handle keeping or
7627 replacing comments.
7628 (scan_parameters, _cpp_create_trad_definition): Update.
7629
57292ec3
AL
76302002-06-13 Alan Lehotsky <apl@alum.mit.edu>
7631
7632 * reload.c (get_secondary_mem,find_reloads_address,
7633 find_reloads_address_1): Pass reference to MEM to find_reloads_address
7634 so that LEGITIMIZE_RELOAD_ADDRESS will be called.
c894819c 7635
a6f5e048
RH
76362002-06-13 Jessica Han <jessica@cup.hp.com>
7637
7638 * defaults.h (TARGET_VTABLE_ENTRY_ALIGN): New.
7639 (TARGET_VTABLE_DATA_ENTRY_DISTANCE): New.
7640 * doc/tm.texi: Document them.
7641 * config/ia64/ia64.h (TARGET_VTABLE_ENTRY_ALIGN): New.
7642 (TARGET_VTABLE_DATA_ENTRY_DISTANCE): New.
7643 (TARGET_VTABLE_USES_DESCRIPTORS): 4 word descriptors for 32-bit mode.
7644 (ASM_OUTPUT_FDESC): Likewise.
7645
3aafa0bb
EC
76462002-06-13 Eric Christopher <echristo@redhat.com>
7647
7648 * diagnostic.c (output_format): Fix thinko.
7649
8e581963
R
7650Thu Jun 13 22:34:33 2002 J"orn Rennecke <joern.rennecke@superh.com>
7651
7652 * config/sh/coff.h (HAS_INIT_SECTION, INVOKE__MAIN): Don't define.
7653 (DWARF2_UNWIND_INFO): Define to 0.
9d7ed806
R
7654
7655 * config/sh/sh.c (calc_live_regs): Don't use initial_value
7656 optimization for PR_MEDIA_REG.
7657
b66377c1
NB
76582002-06-13 Neil Booth <neil@daikokuya.demon.co.uk>
7659
7660 * cpphash.h (_cpp_lex_identifier_trad): Remove.
7661 * cpplib.c (end_directive): Don't skip, always remove overlay
7662 apart from #define.
7663 (prepare_directive_trad): Handle NULL pfile->directive.
7664 (_cpp_handle_directive): Always call prepare_directive_trad
7665 if traditional.
7666 * cppmain.c (check_multiline_token): Rename account_for_newlines,
7667 generalize inputs.
7668 (scan_translation_unit_trad): Use it.
7669 * cpptrad.c (skip_comment): Rename copy_comment, copy comment to
7670 output, get escaped newline in comment close correct.
7671 (check_output_buffer, skip_whitespace): Update.
7672 (_cpp_lex_identifier_trad): Remove.
7673 (scan_out_logical_line): Handle -C and comments in directives
7674 properly.
7675
8bc6e101
R
7676Thu Jun 13 20:18:38 2002 J"orn Rennecke <joern.rennecke@superh.com>
7677
7678 * config.gcc: Add support for sh[234]*-*-elf*, sh[2346lbe]*-*-linux*.
7679 * config/sh/linux.h (TARGET_DEFAULT): Use TARGET_CPU_DEFAULT.
7680 * sh.h (SELECT_SH1, SELECT_SH2, SELECT_SH3, SELECT_SH3E): New macros.
7681 (SELECT_SH4_NOFPU, SELECT_SH4_SINGLE_ONLY, SELECT_SH4): Likewise.
7682 (SELECT_SH4_SINGLE, SELECT_SH5_64, SELECT_SH5_64_NOFPU): Likewise.
7683 (SELECT_SH5_32, SELECT_SH5_32_NOFPU, SELECT_SH5_COMPACT): Likewise.
7684 (SELECT_SH5_COMPACT_NOFPU): Likewise.
7685 (TARGET_SWITCHES): Use them.
7686 (TARGET_CPU_DEFAULT): Define if not already defined.
7687 (TARGET_DEFAULT): Use it.
7688 (LINK_DEFAULT_CPU_EMUL): Value now depends on TARGET_CPU_DEFAULT.
7689 * config/sh/t-linux (MULTILIB_OPTIONS): Use MULTILIB_ENDIAN.
7690 * config/sh/t-monolib: New file.
7691
2181005d
RS
76922002-06-13 Roger Sayle <roger@eyesopen.com>
7693
7694 * toplev.c (rest_of_compilation): Simplify (and correct) the
7695 logic of the first delete-null-pointer-checks pass.
7696
aaae0bb9
JH
7697Thu Jun 13 18:24:17 CEST 2002 Jan Hubicka <jh@suse.cz>
7698
7699 * i386.c (ix86_expand_movstr): Fix pasto.
7700
7701Thu Jun 13 18:18:17 CEST 2002 Jan Hubicka <jh@suse.cz>
b80cb6e2
JH
7702
7703 * reload.c (find_valid_class): Fix thinko in my previous patch.
7704
dd3fbd93
UW
77052002-06-13 Ulrich Weigand <uweigand@de.ibm.com>
7706
7707 * config/s390/s390.h (TARGET_CPU_CPP_BUILTINS): New macro.
7708 * config/s390/linux.h (TARGET_OS_CPP_BUILTINS): New macro.
7709 (CPP_PREDEFINES, CPP_SPEC, CPP_ARCH31_SPEC, CPP_ARCH64_SPEC): Remove.
7710 (EXTRA_SPECS): Remove cpp_arch31 and cpp_arch64.
7711
0d0f605c
GDR
77122002-06-13 Gabriel Dos Reis <gdr@codesourcery.com>
7713
7714 * tree-inline.c (expand_call_inline): Don' mess with _DECL
3aafa0bb 7715 fields.
0d0f605c 7716
c92bcccb
GDR
77172002-06-13 Gabriel Dos Reis <gdr@codesourcery.com>
7718
7719 * diagnostic.c (output_format): Recognize "%H" as a format
7720 specifier for a location_t.
7721 (text_specifies_location): New function.
7722 (diagnostic_set_info): Use it.
7723
7f243674
JL
77242002-06-13 Jeffrey Law <law@redhat.com>
7725
6cde4876
JL
7726 * emit-rtl.c (static_regno_reg_rtx): Define.
7727 (init_emit_once): Initialize static_regno_reg_rtx.
7728 (init_emit): Copy static_regno_reg_rtx into regno_reg_rtx instead
7729 of building new hard reg objects once per function.
7730 (gen_rtx_REG): Try to share hard regs.
7731 * regclass.c (init_fake_stack_mems): New function broken out from
7732 init_regs.
7733 * rtl.h (init_fake_stack_mems): Declare.
7734 * toplev.c (lang_independent_init): Call init_regs before
7735 init_emit_once. Call init_fake_stack_mems after init_emit_once.
7736
110b3faa
JL
7737 * i386.md (extenddfxf2, extenddftf2): Fix typo/thinko.
7738
7f243674
JL
7739 * alias.c (argument_registers): Remove.
7740 (init_alias_once): Initialize static_reg_base_value here. Remove
7741 initialization of argument_registers.
7742 (init_alias_once_per_function): Remove.
7743 (init_alias_analysis): Copy all the entries from static_reg_base_value
7744 into new_reg_base_value all at once.
7745 * rtl.h (init_alias_once_per_function): Remove declaration.
7746 * function.c (prepare_function_start): Do not call
7747 init_alias_once_per_function.
7748
7749 * caller-save.c (init_caller_save): Use gen_rtx_INSN instead of
7750 starting a sequence and emitting an INSN.
7751
a336f2e5
RS
77522002-06-13 Richard Sandiford <rsandifo@redhat.com>
7753
7754 * config/mips/r3900.h (MIPS_CPU_STRING_DEFAULT): Make lower case.
7755
2acf0fa9
DM
77562002-06-13 David S. Miller <davem@redhat.com>
7757
7758 * expmed.c (init_expmed): Remove duplicate init of 'reg'.
7759
974c43f1
NB
77602002-06-13 Neil Booth <neil@daikokuya.demon.co.uk>
7761
7762 * cpplib.c (end_directive): Handle line skipping. Only remove
7763 the rest of the line if the directive was valid.
7764 * cppmacro.c (_cpp_push_text_context): Set NODE_DISABLED when
7765 expanding a traditional macro.
7766 * cpptrad.c (recursive_macro): New.
7767 (read_logical_line_trad): Handle skipping.
7768 (scan_out_logical_line): Continue after a successful directive.
7769 Don't expand macros whilst skipping, or if recursing.
7770 (_cpp_create_trad_definition): scan_out_logical_line now sets
7771 the output current position.
7772
12bf26b6
EC
77732002-06-12 Eric Christopher <echristo@redhat.com>
7774
7775 From Chris Demetriou <cgd@broadcom.com>
7776 * config/mips/mips.h (ISA_HAS_FP4): Add ISA_MIPS64 and fix
7777 comment.
7778 (ISA_HAS_MADD_MSUB): Ditto.
7779 (ISA_HAS_NMADD_NMSUB): Ditto.
7780
be95b8a5
EC
77812002-06-12 Eric Christopher <echristo@redhat.com>
7782
7783 * config.gcc: Consolidate little endian handling and
7784 little/big endian targets.
7785 * config/mips/elfl.h: Remove file.
7786 * config/mips/elfl64.h: Ditto.
7787 * config/mips/ecoffl.h: Ditto.
7788 * config/mips/r3900.h (SUBTARGET_CPP_SPEC): Remove.
7789
e03856fe
GK
77902002-06-12 Geoffrey Keating <geoffk@redhat.com>
7791
7792 * gengtype.h (xvasprintf): New prototype.
7793 (xasprintf): New prototype.
7794 (struct outf): New.
7795 (get_output_file): Return an outf_p.
7796 (header_file): Is now an outf_p.
7797 (base_files): Now are outf_p.
7798 (oprintf): New.
7799 * gengtype.c: Replace all output FILE * with outf_p; use oprintf
7800 rather than stdio operations. Use xasprintf in a few places,
7801 when appropriate.
7802 (xvasprintf): New.
7803 (xasprintf): New.
7804 (struct filemap): Delete.
7805 (files): Delete.
7806 (output_files): New.
7807 (oprintf): New.
7808 (create_file): Create an outf_p. Add parameter to indicate output
7809 file name, change all callers.
7810 (open_base_files): Create gtype-desc.c here.
7811 (get_output_file_with_visibility): Rewrite.
7812 (get_output_file_name): Just look at 'name' field in struct outf.
7813 (close_output_files): Rewrite.
7814
ec01703c
JT
78152002-06-12 Jason Thorpe <thorpej@wasabisystems.com>
7816
7817 * config/vax/vax.h (MASK_UNIX_ASM, MASK_VAXC_ALIGNMENT)
be95b8a5 7818 (MASK_G_FLOAT): Define.
ec01703c
JT
7819 (TARGET_UNIX_ASM, TARGET_VAXC_ALIGNMENT, TARGET_G_FLOAT): Use them.
7820 (TARGET_SWITCHES): Likewise.
7821 (TARGET_DEFAULT): Likewise.
7822
8b0397a6
DJ
78232002-06-12 Daniel Jacobowitz <drow@mvista.com>
7824
7825 * config/mips/elf.h (DWARF2_DEBUG_INFO): Define.
7826 * config/mips/mips.c (mips_output_filename): Don't print a
7827 ".file" directive if we are using DWARF-2.
7828 (mips_output_function_prologue): Do not emit source file
7829 name for TARGET_GAS.
7830
495333a6
JH
7831Wed Jun 12 16:45:13 CEST 2002 Jan Hubicka <jh@suse.cz>
7832
7833 * i386.md (shift patterns): Use (TARGET_SHIFT1 || optimize_size) to
7834 decide whether emit the short opcode.
7835 * i386.h (x86_shift1): Declare.
7836 (TARGET_SHIFT1): New macro.
7837 * i386.c (x86_shift1): New global variable.
7838
8b0397a6
DJ
7839 * toplev.c (rest_of_compilation): Call find_basic_block pre-loop
7840 unconditionally; make loop to rebuild CFG; kill unnecesary
7841 find_basic_block calls; kill compute_bb_for_insn call.
495333a6
JH
7842 * cfgbuild.c (find_basic_blocks): Kill compute_bb_for_insn call.
7843 * haifa-sched.c (sched_init): Likewise.
7844 * ssa-ccp.c (ssa_const_prop): Likewise.
7845 * ssa-dce.c (ssa_eliminate_dead_code): Likewise.
7846
d11cea13
DM
78472002-06-11 David S. Miller <davem@redhat.com>
7848
7849 * emit-rtl.c (emit_*_scope): Only access INSN_SCOPE if
7850 active_insn_p.
7851
676997cf
RH
78522002-06-11 Richard Henderson <rth@redhat.com>
7853
7854 * c-common.c (builtin_define_type_max): New.
7855 (cb_register_builtins): Define __SCHAR_MAX__, __SHRT_MAX__,
7856 __INT_MAX__, __LONG_MAX__, __LONG_LONG_MAX__, __CHAR_BIT__.
7857
7858 From Joseph S. Myers:
7859 * glimits.h: Rewrite to expect the double underscore definitions
7860 from the compiler.
7861
7862 * config/alpha/unicosmk.h, config/avr/avr.h, config/h8300/h8300.h,
7863 config/i386/linux64.h, config/ia64/aix.h, config/ia64/hpux.h,
7864 config/ia64/ia64.h, config/m68hc11/m68hc11.h, config/m68hc11/m68hc12.h,
7865 config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
7866 config/pa/pa.h, config/rs6000/aix43.h, config/rs6000/aix51.h,
7867 config/rs6000/linux64.h, config/s390/linux.h, config/sh/sh.h,
7868 config/stormy16/stormy16.h: Don't define any of __SHRT_MAX__,
7869 __INT_MAX__, __LONG_MAX__, or __LONG_LONG_MAX__.
7870
116b7a5e
RH
78712002-06-11 Richard Henderson <rth@redhat.com>
7872
7873 * config/alpha/alpha.c (ALPHA_BUILTIN_THREAD_POINTER): New.
7874 (ALPHA_BUILTIN_SET_THREAD_POINTER): New.
7875 (code_for_builtns): Update.
7876 (alpha_init_builtins): Add __builtin_thread_pointer and
7877 __builtin_set_thread_pointer.
7878 (alpha_expand_builtin): Handle void builtins.
7879 * doc/extend.texi (Alpha Built-in Functions): Update.
7880
0cec6af1
HPN
78812002-06-11 Hans-Peter Nilsson <hp@axis.com>
7882
7883 PR target/6997
7884 * config/cris/cris.md ("sleu"): Set attribute "cc" to "none".
7885
1c0ca89d
ZW
78862002-06-11 Zack Weinberg <zack@codesourcery.com>
7887
7888 * config.gcc: Make the name of the extra-modes file adjustable
7889 by target stanzas.
7890 (s390x, strongarm, xscale stanzas): Use this facility.
7891 * configure.in: Update to match.
7892 * configure: Regenerate.
7893
5dc8d536
AH
78942002-06-11 Aldy Hernandez <aldyh@redhat.com>
7895
1c0ca89d
ZW
7896 * config/rs6000/rs6000.c (rs6000_emit_minmax): Treat unsigned
7897 max/mins as unsigned GE compares.
5dc8d536 7898
169274cd
JT
78992002-06-11 Jason Thorpe <thorpej@wasabisystems.com>
7900
1c0ca89d 7901 * config.gcc (vax-*-bsd*): Add vax/bsd.h to ${tm_file}.
169274cd
JT
7902 * config/vax/bsd.h: New file.
7903 * config/vax/netbsd.h: Add missing notice.
1c0ca89d
ZW
7904 (CPP_PREDEFINES): Remove.
7905 (TARGET_OS_CPP_BUILTINS): Define.
7906 (CPP_SPEC): Use NETBSD_CPP_SPEC.
169274cd
JT
7907 * config/vax/openbsd.h: Update copyright years.
7908 (CPP_PREDEFINES): Remove.
7909 (TARGET_OS_CPP_BUILTINS): Define.
7910 * config/vax/ultrix.h: Likewise.
7911 * config/vax/vaxv.h: Likewise.
7912 * config/vax/vms.h: Likewise.
7913 * config/vax/vax.h (TARGET_CPU_CPP_BUILTINS): Define.
7914 (CPP_PREDEFINES, CPP_SPEC): Remove.
7915
2f41793e
JH
7916Wed Jun 12 01:50:28 CEST 2002 Jan Hubicka <jh@suse.cz>
7917
7918 * i386.md (addqi_1_slp, subqi_1_slp
7919 (andqi_ext0, testqi_ext0): Remove unnecesary check.
7920 (addhi*, addqi*): Simplify "dec" condition.
7921 (testsi to testqi splitters): Remove TARGET_PROMOTE_QImode check.
7922 (and, or, xor to QImode splitters): New.
7923 (iorqi_ext*): New.
7924 (xorqi_ext_0): New.
7925 (xorqi_ext_1): Rename to xorqi_ext_2; bring to sync with and versions.
7926 (andqi_ext_1_rex64): New.
7927 (ashrqi*_slp): New.
7928 (ashlqi*_slp): New.
7929 (lshlqi*_slp): New.
7930 (rotrqi3*_slp): New.
7931 (rotlqi3*_slp): New.
7932
fc5c400a
GK
79332002-06-11 Geoffrey Keating <geoffk@redhat.com>
7934
4c4eb375
GK
7935 * config.gcc (powerpc*-*-*, rs6000-*-*-*): Don't bother including
7936 softfloat.h.
7937 * config/rs6000/vxppc.h (CPP_ENDIAN_BIG_SPEC): Delete.
7938 (CPP_ENDIAN_LITTLE_SPEC): Delete.
7939 * config/rs6000/sysv4le.h (CPP_ENDIAN_DEFAULT_SPEC): Delete.
7940 * config/rs6000/sysv4.h (CPP_SYSV_SPEC): Delete _SOFT_FLOAT setting,
7941 __LONG_DOUBLE_128__ setting, _CALL_* setting.
7942 (CPP_DEFAULT_SPEC): Delete.
7943 (CPP_FLOAT_DEFAULT_SPEC): Delete.
7944 (CPP_LONGDOUBLE_DEFAULT_SPEC): Delete.
7945 (CPP_SYSV_DEFAULT_SPEC): Delete.
7946 (CPP_ENDIAN_BIG_SPEC): Delete.
7947 (CPP_ENDIAN_LITTLE_SPEC): Delete.
7948 (CPP_ENDIAN_SPEC): Delete.
7949 (CPP_SPEC): Don't include cpp_endian, cpp_cpu.
7950 (SUBTARGET_EXTRA_SPECS): Delete cpp_sysv_default, cpp_endian_default,
7951 cpp_endian, cpp_endian_big, cpp_endian_little, cpp_float_default,
7952 cpp_longdouble_default.
7953 * config/rs6000/softfloat.h: Delete.
7954 * config/rs6000/rs6000.h (CPP_CPU_SPEC): Delete.
7955 (EXTRA_SPECS): Delete cpp_cpu.
7956 (TARGET_CPU_CPP_BUILTINS): New.
7957 * config/rs6000/rs6000-protos.h (rs6000_cpu_cpp_builtins): New
7958 prototype.
7959 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): New.
7960 * config/rs6000/linux64.h (CPP_PREDEFINES): Remove endianness defines.
7961 (CPP_DEFAULT_SPEC): Delete.
7962 * config/rs6000/eabiaix.h (CPP_SYSV_DEFAULT_SPEC): Delete.
7963 * config/rs6000/darwin.h (CPP_PREDEFINES): Don't define __BIG_ENDIAN__.
7964 * config/rs6000/beos.h (CPP_SPEC): Remove cpp_cpu.
7965 (CPP_DEFAULT_SPEC): Delete.
7966 * config/rs6000/aix51.h (CPP_SPEC): Remove cpp_cpu, -D_ARCH_PPC.
7967 (CPLUSPLUS_CPP_SPEC): Likewise.
7968 (CPP_CPU_SPEC): Delete.
7969 (CPP_DEFAULT_SPEC): Delete.
7970 * config/rs6000/aix43.h (CPP_SPEC): Remove cpp_cpu, -D_ARCH_PPC.
7971 (CPLUSPLUS_CPP_SPEC): Likewise.
7972 (CPP_CPU_SPEC): Delete.
7973 (CPP_DEFAULT_SPEC): Delete.
7974 * config/rs6000/aix41.h (CPP_SPEC): Remove cpp_cpu.
7975 (CPP_DEFAULT_SPEC): Delete.
7976 * config/rs6000/aix.h (CPP_SPEC): Remove cpp_cpu.
7977 (CPP_DEFAULT_SPEC): Delete.
7978
fc5c400a
GK
7979 * doc/gty.texi: Small updates.
7980
13f0d49c
GDR
79812002-06-12 Gabriel Dos Reis <gdr@codesourcery.com>
7982
7983 * objc/objc-act.c (warn_with_ivar): Adjust calls to
7984 diagnostic_count_error.
7985 (warn_with_method): Likewise.
7986
7987 * diagnostic.h (warnings_are_errors_message): New field of
7988 diagnostic_context.
7989 (diagnostic_count_error): Rename to diagnostic_count_diagnostic to
7990 match semantics.
7991 * diagnostic.c: Adjust calls to diagnostic_count_error through out.
7992 (diagnostic_count_diagnostic): Make aware of other kinds of
1c0ca89d 7993 diagnostics.
13f0d49c
GDR
7994 (diagnostic_initialize): Initialize warnings_are_errors_message field.
7995
0797e472
TT
79962002-06-11 Tom Tromey <tromey@redhat.com>
7997
7998 For PR java/6520:
7999 * fold-const.c (fold_convert): Don't modify existing tree's type.
8000
f288d4aa
GK
80012002-06-11 Geoffrey Keating <geoffk@redhat.com>
8002
8003 * config/rs6000/ppc-asm.h: Remove some Windows NT leftovers.
8004
d27bab4c
RH
80052002-06-11 Richard Henderson <rth@redhat.com>
8006
8007 * caller-save.c (init_caller_save): Clear INSN_CODE each iteration.
8008
bc2a8f08
RH
80092002-06-11 Richard Henderson <rth@redhat.com>
8010
1c0ca89d 8011 * defaults.h (EH_FRAME_SECTION_NAME): Don't define if
bc2a8f08
RH
8012 DWARF2_UNWIND_INFO is false.
8013
b217ec1b
BW
80142002-06-11 Bob Wilson <bob.wilson@acm.org>
8015
8016 * config/xtensa/t-xtensa (LIBGCC1_TEST, CROSS_LIBGCC1): Delete.
8017
11819f80
UW
8018 * config/s390/s390.c (emit_prologue): gen_store_multiple
8019 returns an insn now, not a pattern.
8020
c2727579
RO
80212002-06-11 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
8022
8023 * Makefile.in (gccinstall.dvi): Pass absolute pathnames to
8024 $(TEXI2DVI) -o.
8025
285464d0
JH
8026Tue Jun 11 21:53:37 CEST 2002 Jan Hubicka <jh@suse.cz>
8027
8028 * i386.c (x86_promote_QImode): Set for Athlon
8029 (x86_fast_prefix): New global variable.
8030 (x86_arch_always_fancy_math_387): Fix formating.
8031 * i386.h (x86_fast_prefix): Declare
8032 (TARGET_FAST_PREFIX): define.
8033 * i386.md (and to strict_low_part, HI to SI
8034 promoting splitter): Use new macro.
8035
8036 * i386.h (RTX_COSTS): float_extend is not for free for SSE.
8037
1bb1f121
ZW
80382002-06-11 Zack Weinberg <zack@codesourcery.com>
8039
8040 * Makefile.in (distclean): Delete junk left in testsuite
8041 directory, too.
8042
88c65786
JL
80432002-06-11 Jeffrey Law <law@redhat.com>
8044
c6a3fcf0
JL
8045 * emit-rtl.c (try_split): Use INSN_LAST, not LAST_INSN to get the
8046 last insn created by the splitter.
8047
0db79a6b
JL
8048 * caller-save.c (init_caller_save): Move creation of SAVEINSN
8049 and RESTINSN into into the scope of the sequence.
8050
47eb2ca8
JL
8051 * mips.c (mips_expand_prologue): Use emit_jump_insn for trivial
8052 RETURN insns.
8053
603b4b92
JL
8054 * loop.c (loop_regs_scan): Avoid useless generation of REG objects.
8055
88c65786
JL
8056 * mips.c (function_arg_advance): gen_ashldi3 returns an INSN now,
8057 not the pattern. So extract the pattern from the insn.
882c7223
JL
8058
8059 * mips.c (embedded_pic_fnaddr_reg): Fix typo.
8060
df14489a
UW
80612002-06-11 Ulrich Weigand <uweigand@de.ibm.com>
8062
8063 * config/s390/s390.md (movsi): Only use floating point
8064 register alternatives when operands are already fprs.
8065 (movdi_31, movdi_64): Likewise.
8066
6f9703af
DM
80672002-06-11 David S. Miller <davem@redhat.com>
8068
8069 * emit-rtl.c (try_split): Do not abort on non-INSN_P.
8070 Only run RTX equality checks on INSN_P rtl.
8071
b2ccb744
UW
80722002-06-11 Ulrich Weigand <uweigand@de.ibm.com>
8073
8074 * config/s390/s390.md (reload_base, ltorg): Remove.
1c0ca89d 8075 * s390.c (s390_stop_dump_lit_p, s390_dump_literal_pool,
b2ccb744 8076 s390_asm_output_pool_prologue, s390_pool_start_insn): Remove.
1c0ca89d 8077 * s390-protos.h (s390_stop_dump_lit_p, s390_dump_literal_pool,
b2ccb744
UW
8078 s390_asm_output_pool_prologue): Likewise.
8079 * s390.h (s390_pool_start_insn): Likewise.
8080
1c0ca89d 8081 * s390.c (s390_output_symbolic_const): Remove support for
b2ccb744
UW
8082 old-style pool chunks.
8083 (s390_function_epilogue): Likewise.
1c0ca89d 8084 (s390_output_constant_pool): Likewise. Also, fix incorrect
b2ccb744
UW
8085 alignment for 64-bit literal pools.
8086 (print_operand_address): Remove 'y' and 'Y' format flags.
1c0ca89d 8087 * s390.h (ASM_OUTPUT_POOL_PROLOGUE): Remove support for
b2ccb744
UW
8088 old-style pool chunks.
8089 (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Likewise.
8090 (ASM_OUTPUT_POOL_EPILOGUE): Remove.
8091 (S390_CHUNK_MAX, S390_CHUNK_OV, S390_POOL_MAX): Remove.
8092
8093 * s390.c (consttable_operand): New function.
8094 * s390-protos.h (consttable_operand): Declare it.
8095 * s390.h (PREDICATE_CODES): Add consttable_operand.
1c0ca89d
ZW
8096 * s390.md (consttable_qi, consttable_hi, consttable_si, consttable_di,
8097 consttable_sf, consttable_df, pool_start_31, pool_end_31,
b2ccb744
UW
8098 pool_start_64, pool_end_64, reload_base, reload_base2): New insns.
8099 * s390.c (struct constant, struct constant_pool): New data types.
8100 (constant_modes, gen_consttable): New variables.
1c0ca89d 8101 (s390_start_pool, s390_end_pool, s390_add_pool,
b2ccb744 8102 s390_dump_pool, s390_free_pool): New functions.
1c0ca89d 8103 (s390_chunkify_pool): Completely reimplement literal pool
b2ccb744
UW
8104 overflow handling.
8105
8106 * s390.c (s390_pool_overflow): New variable.
8107 * s390.h (s390_pool_overflow): Declare it.
1c0ca89d 8108 * s390.md (cjump, icjump): Use it to adapt length for out-of-range
b2ccb744
UW
8109 jumps in literal pool overflow situations.
8110
8111 * s390.c (s390_decompose_address): Accept new-style pool chunk offsets.
1c0ca89d 8112 (s390_frame_info): Account for possible use of RETURN_REGNUM
b2ccb744
UW
8113 by new literal pool overflow code.
8114 (s390_emit_prologue): Likewise.
8115
2f937369
DM
81162002-06-05 David S. Miller <davem@redhat.com>
8117
8118 Delete SEQUENCE rtl usage outside of reorg and ssa passes.
8119 * rtl.h (gen_sequence, emit_insns, emit_insns_before,
8120 emit_insns_before_scope, emit_insns_after,
8121 emit_insns_after_scope): Delete declaration.
8122 * ada/misc.c (insert_code_for): Use emit_insn* instead of
8123 emit_insns_foo.
8124 * config/alpha/alpha.c (alpha_set_memflags_1): Abort on SEQUENCE.
8125 (alpha_set_memflags): Fix comment.
8126 (set_frame_related_p): Use get_insns instead of gen_sequence.
8127 * config/alpha/alpha.md (setjmp receiver splitter): Avoid
8128 emitting no insns.
8129 * config/arm/arm.c (arm_finalize_pic): Use get_insns instead of
8130 gen_sequence.
8131 (arm_gen_load_multiple, arm_gen_store_multiple): Likewise.
8132 * config/fr30/fr30.c (fr30_move_double): Likewise.
8133 * config/i386/i386.c (ix86_expand_int_movcc, ix86_expand_movstr):
8134 Likewise.
8135 * config/ia64/ia64.c (spill_restore_mem): Likewise.
8136 * config/ia64/ia64.md (conditional move spliiter): Avoid emitting
8137 no insns.
8138 * config/m32r/m32r.c (gen_split_move_double): Use get_insns
8139 instead of gen_sequence.
8140 * config/mips/mips.c (embedded_pic_fnaddr_reg): Likewise.
8141 (mips_expand_prologue, mips16_gp_pseudo_reg): Likewise.
8142 * config/sh/sh.c (sh_need_epilogue): Likewise.
8143 * config/sparc/sparc.md (current_function_calls_alloca, flat): New
8144 attributes.
8145 (setjmp pattern and split): Use them to avoid splitter which emits
8146 no RTL.
8147 * genattrtab.c (main): Emit include of function.h
8148 * config/stormy16/stormy16.c (xstormy16_split_cbranch): Use
8149 get_insns instead of gen_sequence.
8150 * config/cris/cris.c (cris_split_movdx): Likewise.
8151 * emit-rtl.c (emit_insns*): Kill.
8152 (try_split): Expect insn list instead of SEQUENCE.
8153 (make_jump_insn_raw, make_call_insn_raw): Fix comments.
8154 (emit_*insn*): Reimplement to work with INSN lists and PATTERNs.
8155 Make them abort if a SEQUENCE is given and RTL checking is
8156 enabled.
8157 (emit_*_scope): Don't forget to set scope on final insn.
8158 (gen_sequence): Move from here...
8159 * ssa.c (gen_sequence): To here as private function.
8160 * builtins.c (expand_builtin_apply_args): Use emit_insn_foo, fix
8161 comments.
8162 (expand_builtin_return, expand_builtin_mathfn): Likewise.
8163 (expand_builtin_strlen): Use get_insns instead of gen_sequence.
8164 (expand_builtin_saveregs): Use emit_insn_foo, fix comments.
8165 (expand_builtin_expect_jump): Use get_insns and fix comments.
8166 * calls.c (try_to_integrate): Use emit_insn_foo.
8167 (expand_call, emit_library_call_value_1): Likewise.
8168 * expr.c (emit_queue): Handle insn lists instead of SEQUENCE.
8169 (emit_move_insn_1): Use get_insns instead of gen_sequence.
8170 (expand_expr): Use emit_insn_foo.
8171 * cfgrtl.c (commit_one_edge_insertion): Use emit_insn_foo.
8172 * except.c (build_post_landing_pads): Likewise.
8173 * flow.c (attempt_auto_inc): Likewise.
8174 * stmt.c (expand_fixup, fixup_gotos, expand_nl_handler_label,
8175 expand_nl_goto_receivers, expand_decl_cleanup): Likewise.
8176 * function.c (fixup_var_refs_insn): Use get_insns instead of
8177 gen_sequence.
8178 (fixup_var_refs_1): Likewise and expect insn list from gen_foo.
8179 (fixup_memory_subreg): Use get_insns instead of gen_sequence.
8180 (fixup_stack_1, purge_addressof_1, expand_main_function,
8181 get_arg_pointer_save_area): Likewise.
8182 (optimize_bit_field, instantiate_virtual_regs_1, assign_parms,
8183 expand_function_end): Use emit_insn_foo.
8184 (record_insns, keep_stack_depressed): Work with insn list instead
8185 of SEQUENCE, fix comments.
8186 * ifcvt.c (noce_emit_store_flag, noce_try_store_flag,
8187 noce_try_store_flag_constants, noce_try_store_flag_inc,
8188 noce_try_store_flag_mask, noce_emit_cmove, noce_try_cmove_arith,
8189 noce_try_minmax, noce_try_abs): Use emit_insn_foo.
8190 (noce_process_if_block): Use get_insns instead of gen_sequence.
8191 * optabs.c (add_equal_note): Work with insn list, fix comments.
8192 (expand_binop): Expect insn list from GEN_FCN(), use emit_insn_foo.
8193 (expand_unop, expand_complex_abs, expand_unop_insn,
8194 expand_no_conflict_block): Likewise.
8195 (gen_move_insn): Use get_insns instead of gen_sequence.
8196 (gen_cond_trap): Likewise.
8197 * integrate.c (copy_rtx_and_substitute): Likewise.
8198 (emit_initial_value_sets): Use emit_insn_foo.
8199 * reload1.c (emit_output_reload_insns, emit_reload_insns): Likewise.
8200 (fixup_abnormal_edges): Avoid losing REG_NOTES more intelligently
8201 now that RTL generators give insn lists.
8202 * sibcall.c (replace_call_placeholder): Use emit_insn_foo.
8203 * doloop.c (doloop_modify, doloop_modify_runtime): Use get_insns
8204 instead of gen_sequence.
8205 (doloop_optimize): Work with insn lists instead of SEQUENCE rtl.
8206 * explow.c (emit_stack_save, emit_stack_restore): Use get_insns
8207 instead of gen_sequence.
8208 * loop.c (move_movables, emit_prefetch_instructions,
8209 gen_add_mult, check_dbra_loop, gen_load_of_final_value):
8210 Likewise.
8211 (loop_regs_update): Work with insn list instead of SEQUENCE rtl.
8212 (product_cheap_p): Likewise, and add commentary about RTL wastage
8213 here.
8214 * lcm.c (optimize_mode_switching): Use get_insns instead of
8215 gen_sequence.
8216 * profile.c (gen_edge_profiler): Likewise.
8217 * regmove.c (copy_src_to_dest): Likewise.
8218 * reg-stack.c (compensate_edge): Likewise and fix comment.
8219 * gcse.c (process_insert_insn): Likewise.
8220 (insert_insn_end_bb): Work with insn list instead of SEQUENCE rtl.
8221 * jump.c (delete_prior_computation): Update comment.
8222 * genemit.c (gen_expand, gen_split, main): Use get_insns instead
8223 of gen_sequence, update comments to match.
8224 * recog.c (peephole2_optimize): Work with insn lists instead of
8225 SEQUENCE rtl.
8226 * sched-vis.c (print_pattern): Abort on SEQUENCE.
8227 * unroll.c (unroll_loop, find_splittable_givs, final_giv_value):
8228 Use get_insns instead of gen_sequence.
8229 (copy_loop_body): Likewise and don't emit dummy NOTE.
8230 * genrecog.c: Don't mention SEQUENCE rtl in comments.
8231 * combine.c (try_combine): Expect insn lists from split generator.
8232 * reorg.c (relax_delay_slots): Emit SEQUENCE into insn list by
8233 hand.
1c0ca89d 8234
43cf10b5
RS
82352002-06-11 Roger Sayle <roger@eyesopen.com>
8236 Andreas Jaeger <aj@suse.de>
8237
8238 * cfgbuild.c: Update copyright years.
8239
1062f15a
AS
82402002-06-11 Andreas Schwab <schwab@suse.de>
8241
1c0ca89d 8242 * config/m68k/m68k.h (PREDICATE_CODES): Define.
1062f15a 8243
ce3649d2
EC
82442002-06-11 Eric Christopher <echristo@redhat.com>
8245
8246 * doc/tm.texi (Run-time Target): Add comment about flag_iso
8247 and strict ANSI.
8248 * config/mips/ecoff.h (CPP_PREDEFINES): Remove.
8249 * config/mips/ecoffl.h: Ditto.
8250 * config/mips/elf64.h (SUBTARGET_CPP_SPEC): Remove.
8251 (CPP_PREDEFINES): Ditto.
8252 * config/mips/elfl64.h: Ditto.
8253 * config/mips/elfl.h: Ditto.
8254 * config/mips/iris3.h (CPP_PREDEFINES, SUBTARGET_CPP_SPEC): #if 0
8255 out until irix header consolidation.
8256 * config/mips/iris5.h (CPP_PREDEFINES, SUBTARGET_CPP_SPEC): Replace
8257 with SUBTARGET_OS_CPP_BUILTINS.
8258 * config/mips/iris6.h: Ditto.
8259 (CPLUSPLUS_CPP_SPEC): Remove.
8260 * config/mips/linux.h: Ditto.
8261 * config/mips/netbsd.h: Ditto.
8262 * config/mips/openbsd.h: Ditto.
8263 * config/mips/rtems.h: Ditto.
8264 * config/mips/rtems64.h: Ditto.
8265 * config/mips/sni-svr4.h: Ditto.
8266 * config/mips/mips.h (ISA_MIPS1, ISA_MIPS2, ISA_MIPS3, ISA_MIPS4,
8267 ISA_MIPS32, ISA_MIPS64): New defines.
8268 (GENERATE_MULT3_SI, HAVE_SQRT_P, ISA_HAS_64BIT_REGS,
8269 ISA_HAS_BRANCHLIKELY, ISA_HAS_CONDMOVE, ISA_HAS_8CC, ISA_HAS_FP4,
8270 ISA_HAS_COND_TRAP, ISA_HAS_MADD_MSUB, ISA_HAS_NMADD_NMSUB,
8271 ISA_HAS_CLZ_CLO, ISA_HAS_DCLZ_DCLO): Use.
8272 (TARGET_CPU_CPP_BUILTINS): Define.
8273 (CPP_PREDEFINES, LONG_MAX_SPEC, CPP_FPR_SPEC, CPP_SPEC): Remove.
8274 * config/mips/mips.md (mulsi3_mult3): Use ISA_MIPS32/64.
8275 (movdicc): Remove check for ISA_MIPS32.
8276 (bunordered, bordered, bungt, bunlt, buneq, bunge, bunle,
8277 sunordered_df, sunordered_sf, sordered_df, sordered_sf,
8278 sunlt_df, sunlt_sf, sungt_df, sungt_sf, suneq_df, suneq_sf, sunge_df,
8279 sunge_sf, sunle_df, sunle_sf): New patterns.
8280
bc3437ba
NB
82812002-06-11 Neil Booth <neil@daikokuya.demon.co.uk>
8282
8283 * Makefile.in: Update cppmain.o.
8284 * cpphash.h (struct cpp_reader): Move some members to a
8285 nested structure.
8286 (trad_line): Rename saved_line.
8287 (_cpp_read_logical_line_trad): Update.
8288 (_cpp_remove_overlay): New.
8289 * cppinit.c (cpp_create_reader): No need to set saved_line.
8290 (cpp_destroy): Update.
8291 (cpp_read_main_file): Only overlay if compiling.
8292 * cpplex.c (continue_after_nul): Return false if in directive.
8293 * cpplib.c (EXPAND): New.
8294 (directive_table, SEEN_EOL): Update.
8295 (end_directive): Remove overlay if traditional; don't skip
8296 line in traditional #define.
8297 (prepare_directive_trad): New.
8298 (_cpp_handle_directive, run_directive): Update for traditional
8299 directives.
8300 (lex_macro_node): Simplify, don't use lex_identifier_trad.
8301 * cpplib.h (struct options): Add preprocess_only.
8302 * cppmain.c: Don't include intl.h.
8303 (cpp_preprocess_file): Set options->preprocess_only.
8304 (scan_translation_unit_trad): Fix, and print line numbers.
8305 * cpptrad.c (check_output_buffer, lex_identifier, scan_parameters,
8306 maybe_start_funlike, scan_out_logical_line, replace_args_and_push,
8307 save_replacement_text, _cpp_create_trad_definition): Update for
8308 variable renaming.
8309 (_cpp_overlay_buffer): Save line number.
8310 (_cpp_remove_overlay): Rename from restore_buff, restore line.
8311 (_cpp_read_logical_line_trad): Don't handle overlays here.
8312 (scan_out_logical_line): Process directives.
8313
b25bb36a
DS
83142002-06-11 Danny Smith <dannysmith@users.sourforge.net>
8315
8316 * gthr-win32.h: Wrap functions in extern "C".
8317 (__gthread_key_t): Typedef as unsigned long,
8318 not win32 DWORD.
8319 (__GTHREAD_ONCE_INIT): Use 0, not win32 FALSE.
8320 (__gthread_mutex_t): Typedef as void*, not win32 HANDLE.
8321 (__gthr_win32_once, __gthr_win32_key_create,
8322 __gthr_win32_key_delete, __gthr_win32_getspecific,
8323 __gthr_win32_setspecific, __gthr_win32_mutex_init_function,
8324 __gthr_win32_mutex_lock,__gthr_win32_mutex_trylock,
8325 __gthr_win32_mutex_unlock): Declare.
8326 (__gthread_once,__gthread_key_create,
8327 __gthread_key_delete, __gthread_getspecific,
8328 __gthread_setspecific, __gthread_mutex_init_function,
8329 __gthread_mutex_lock,__gthread_mutex_trylock,
8330 __gthread_mutex_unlock): Call corresponding
8331 __gthr_win32_* extern implementations if #defined
8332 __GTHREAD_HIDE_WIN32API.
8333 * config/i386/t-mingw32 (LIB2FUNCS_EXTRA): Set to
ce3649d2 8334 $(srcdir)/config/i386/gthr-win32.c
b25bb36a
DS
8335 * config/i386/gthr-win32.c: New implementation file.
8336 (__gthr_win32_once, __gthr_win32_key_create,
8337 __gthr_win32_key_delete, __gthr_win32_getspecific,
8338 __gthr_win32_setspecific, __gthr_win32_mutex_init_function,
8339 __gthr_win32_mutex_lock,__gthr_win32_mutex_trylock,
8340 __gthr_win32_mutex_unlock): New functions, based on
8341 static inlines in gthr-win32.h.
8342
a69c385e
BW
83432002-06-10 Bob Wilson <bob.wilson@acm.org>
8344
8345 * config/xtensa/xtensa.c (override_options): Don't warn about
8346 using -fpic or -fPIC when PIC is enabled by default.
8347
e654730d
RS
83482002-06-10 Roger Sayle <roger@eyesopen.com>
8349
8350 * toplev.c (rest_of_compilation): Revert flag_if_conversion change.
8351
a5381466
ZW
83522002-06-10 Zack Weinberg <zack@codesourcery.com>
8353
8354 * Makefile.in (MACHMODE_H): Add @extra_modes_file@.
ce3649d2 8355 * configure.in: If $srcdir/config/${cpu_type}/${cpu_type}-modes.def
a5381466
ZW
8356 exists, substitute its pathname as @extra_modes_file@, define
8357 EXTRA_MODES_FILE to be an appropriate string to #include it
8358 with, and define EXTRA_CC_MODES to 1.
8359
8360 * machmode.def: Update comments. Include EXTRA_MODES_FILE if
8361 it's defined. Get rid of redundancy in calling sequence for
8362 CC; don't use it to define CCmode, to avoid a warning.
8363 * libgcc2.c: Include symcat.h for the sake of machmode.def.
8364
8365 * arc-modes.def, arm-modes.def, c4x-modes.def, i386-modes.def,
8366 i960-modes.def, ia64-modes.def, m88k-modes.def, mmix-modes.def,
8367 pa-modes.def, pdp11-modes.def, rs6000-modes.def, sparc-modes.def:
8368 New files.
8369 * arc.h, arm.h, c4x.h, i386.h, i960.h, ia64.h, m88k.h, mmix.h,
8370 pa.h, pdp11.h, rs6000.h, sparc.h: Don't define EXTRA_CC_MODES.
8371
8372 * doc/sourcebuild.texi, doc/tm.texi: Document new scheme for
8373 defining extra CC modes.
8374
852c6ec7
RS
83752002-06-10 Roger Sayle <roger@eyesopen.com>
8376 Andreas Jaeger <aj@suse.de>
8377
8378 * cfgrtl.c (create_basic_block_structure): Remove index argument
8379 and use last_basic_block++ instead. (create_basic_block): Update.
8380 * cfgbuild.c (find_basic_blocks_1): Likewise.
8381
8382 * cfgrtl.c (compute_bb_for_insn): Remove unused "max" argument.
8383 * haifa-sched.c (sched_init): Update compute_bb_for_insn caller.
8384 * sched-ebb.c (schedule_ebbs): Likewise.
8385 * sched-rgn.c (schedule_insns): Likewise.
8386 * ssa-ccp.c (ssa_const_prop): Likewise.
8387 * ssa-dcs.c (ssa_eliminate_dead_code): Likewise.
8388 * toplev.c (rest_of_compilation): Likewise.
8389 * config/ia64/ia64.c (ia64_reorg): Likewise.
8390
60c86d4e
RS
83912002-06-10 Roger Sayle <roger@eyesopen.com>
8392
8393 * simplify-rtx.c (simplify_replace_rtx): Allow replacement
8394 of matching registers.
8395
9543a9d2
RS
83962002-06-10 Roger Sayle <roger@eyesopen.com>
8397
8398 * toplev.c (rest_of_compilation): Disable early if-conversion pass.
8399 * gcse.c (bypass_conditional_jumps): Fix typo in setcc test.
8400
38e18619
HPN
84012002-06-10 Hans-Peter Nilsson <hp@bitrange.com>
8402
8403 * config/mmix/mmix.h: Improve comments.
8404 (CPP_SPEC, CPP_PREDEFINES): Don't define.
8405 (TARGET_CPU_CPP_BUILTINS): Define.
8406 (CANONICALIZE_COMPARISON): Don't define, replace with comment.
8407 (PREDICATE_CODES) <"mmix_reg_or_8bit_or_256_operand">: Remove
8408 unused predicate.
8409 * config/mmix/mmix.c (MMIX_OUTPUT_REGNO): Add cast to avoid
8410 compiler warning.
8411 (mmix_constant_address_p): Remove another
8412 redundant test before case.
8413 (mmix_canonicalize_comparison): Remove unused function.
8414 (mmix_print_operand_address): Don't test and adjust for operand in
8415 non-canonical format.
8416 (mmix_reg_or_8bit_or_256_operand): Remove unused predicate.
8417 (mmix_gen_compare_reg): Don't use CANONICALIZE_COMPARISON.
8418
ac17cd8f
ZW
84192002-06-10 Zack Weinberg <zack@codesourcery.com>
8420
8421 * config/m32r/m32r.h: Don't define SELECT_CC_MODE.
8422 * config/m32r/m32r-protos.h: Don't prototype m32r_select_cc_mode.
8423 * config/m32r/m32r.c: Don't define m32r_select_cc_mode.
8424 (gen_compare): Use CCmode unconditionally.
8425
7b668f9e
JJ
84262002-06-10 Jakub Jelinek <jakub@redhat.com>
8427
8428 PR optimization/6759
8429 * cse.c (cse_insn): Fold src_eqv just once, store it folded back into
8430 the REQ_EQUAL note.
8431
85d49058
JJ
84322002-06-10 Jakub Jelinek <jakub@redhat.com>
8433
8434 PR c/6660
8435 * c-decl.c (grokfield): Allow user defined types if they declare
8436 structs or unions for unnamed fields.
8437
50f30e6b
JJ
84382002-06-10 Jakub Jelinek <jakub@redhat.com>
8439
8440 PR c/6809
8441 * print-rtl.c (print_mem_expr): Don't crash on unnamed fields.
8442
156755ac
JJ
84432002-06-10 Jakub Jelinek <jakub@redhat.com>
8444
8445 PR optimization/6842
8446 * combine.c (combine_simplify_rtx) [SUBREG]: Don't ICE if VOIDmode
8447 operand subreg cannot be simplified.
8448
5d056e9b
JJ
84492002-06-10 Jakub Jelinek <jakub@redhat.com>
8450
8451 * varasm.c (const_hash): Handle FDESC_EXPR like ADDR_EXPR.
8452 (compare_constant): Likewise.
8453 (output_addressed_constants): Likewise.
8454
2bf87216
JJ
84552002-06-10 Jakub Jelinek <jakub@redhat.com>
8456
8457 * cfgcleanup.c (try_optimize_cfg): Make sure merge_blocks doesn't
8458 merge bb with itself.
8459
135fd2d8
RH
84602002-06-10 Richard Henderson <rth@redhat.com>
8461
8462 * config/alpha/alpha.md (builtin_zap): Fix thinkos expanding mask.
8463 (builtin_zapnot): Likewise.
8464
8465 * config/alpha/ev5.md: Don't combine shift and mvi insns in one
8466 reservation.
8467
fce5a9f2
EC
84682002-06-10 Eric Christopher <echristo@redhat.com>
8469
8470 * config/i386/i386.c (ix86_osf_output_function_prologue): Remove
8471 prototype and function.
8472 (TARGET_ASM_FUNCTION_PROLOGUE): Remove OSF version.
8473 (call_insn_operand): Remove half pic references.
8474 (legitimate_address_p): Ditto.
8475 * config/i386/i386.h: Remove half pic defines.
8476
95b1627e
EC
84772002-06-10 Eric Christopher <echristo@redhat.com>
8478
8479 * doc/extend.texi (Return Address): Add note explaining the side-
8480 effects of inlining on __builtin_return_address.
8481
aea185b3
TT
84822002-06-10 Tom Tromey <tromey@redhat.com>
8483
8484 * Makefile.in (LANGHOOKS_DEF_H): Include langhooks-def.h.
8485 (c-common.o): Depend on langhooks.h.
8486
afb03408
NB
84872002-06-10 Neil Booth <neil@daikokuya.demon.co.uk>
8488
8489 * cpphash.h (_cpp_read_logical_line_trad,
8490 _cpp_expansions_different_trad): Update prototypes.
8491 * cpplex.c (continue_after_nul): New.
8492 * cppmain.c: Include cpphash.h.
8493 (scan_translation_unit_trad): New.
8494 (cpp_preprocess_file): Call it.
8495 * cpptrad.c (_cpp_read_logical_line_trad): Take new parameter
8496 overlay.
8497 (_cpp_expansions_different_trad): Update prototype.
8498
2754d3c5
R
8499Mon Jun 10 18:02:24 2002 J"orn Rennecke <joern.rennecke@superh.com>
8500
8501 Fix cfi generation for SH[1-4]:
8502
8503 * sh.c (frame_insn): New function.
8504 (output_stack_adjust): Add parameter emit_fn. All callers changed.
8505 (push): Now returns rtx. Use frame_insn.
8506 (sh_expand_prologue): Clear RTX_FRAME_RELATED_P for second push
8507 of a DF register.
8508 * sh.h (INCOMING_RETURN_ADDR_RTX, DWARF_FRAME_RETURN_COLUMN): Define.
8509
ad854f24
ZW
85102002-06-10 Zack Weinberg <zack@codesourcery.com>
8511
8512 * Makefile.in (STAGESTUFF): Add s-gtype, gt-*.h, gtype-*.h,
8513 and gtype-desc.c.
8514 (mostlyclean): Delete specs.h, options.h, gencheck.h here...
8515 (distclean): ... not here. But do delete all testsuite/*.log,
8516 testsuite/*.sum files here. Delete mkheaders. Delete
8517 po/*.gmo and the testsuite directory in a split tree build.
8518
bf1660a6
JL
85192002-06-10 Jeffrey Law <law@redhat.com>
8520
8521 * alias.c (static_reg_base_value): New to hold RTL for
8522 items allocated once per function for the aliasing code.
8523 (init_alias_once_per_function): Initialize static_reg_base_value.
8524 (init_alias_analysis): Avoid throw-away allocations of RTL by
8525 using pre-computed values in static_reg_base_value.
8526 * function.c (prepare_function_start): Call
8527 init_alias_once_per_function appropriately.
8528 * rtl.h (init_alias_once_per_function): Declare.
8529 * caller-save (init_caller_save): Restructure slightly to
8530 avoid lots of silly RTL generation.
8531 * expr.c (init_expr_once): Likewise.
8532 * reload1.c (reload_cse_regs_1): Allocate throw-away register
8533 RTL object here. Pass it into children.
8534 (reload_cse_simplify_operands): Use passed-in register RTL
8535 object.
8536 (reload_cse_simplify): Pass through throw-away register
8537 RTL object.
8538
8dc58484 85392002-06-10 Daniel Berlin <dberlin@dberlin.org>
ad854f24 8540
8dc58484
DB
8541 * Makefile.in (ssa.o): Add dependency on $(RTL_H), which was missing.
8542
ea16b5ee
RS
85432002-06-10 Richard Sandiford <rsandifo@redhat.com>
8544
8545 * gcc.c (process_command): Avoid assignment to read-only location.
8546 Fix sizeof calculation.
8547
6618c5d4
NB
85482002-06-10 Neil Booth <neil@daikokuya.demon.co.uk>
8549
8550 * cpphash.h (struct cpp_macro): Put comments on their own lines.
8551 (_cpp_expansions_different_trad): New.
8552 * cppmacro.c (warn_of_redefinition): Fix for traditional case.
8553 * cpptrad.c (canonicalize_text): New.
8554 (scan_out_logical_line): Handle no arguments correctly.
8555 (save_replacement_text): Commit memory when finished.
8556 (_cpp_expansions_different_trad): New.
8557
96e3ac4f
TJ
85582002-06-10 Tim Josling <tej@melbpc.org.au>
8559
8560 * gengtype.c (unnamed enum containing BASE_FILE_*): Add languages
8561 TREELANG and COBOL.
8562 (lang_names): Add treelang and cobol.
8563 (get_file_basename): Add code to support treelang and cobol as
8564 4th and 5th users of c-common.c.
8565
37a4aa31
GK
85662002-06-09 Geoffrey Keating <geoffk@redhat.com>
8567
8568 * Makefile.in (install-driver): Install driver as
8569 $(target_alias)-gcc-$(version).
8570 * gcc.c (spec_version): Make const.
8571 (process_command): Handle -V and -b by using exec.
8572 * doc/invoke.texi (Target Options): Restore -V option,
8573 update docs for -b option.
8574
02ef40d9
TJ
85752002-06-10 Tim Josling <tej@melbpc.org.au>
8576
ad854f24
ZW
8577 * configure.in (remaining_languages_check):
8578 Added check that all languages specified were found.
02ef40d9
TJ
8579 Exit if not found. Previous behaviour was silent failure.
8580 * configure: Regenerated.
8581
b38b97c4 85822002-06-10 Tim Josling <tej@melbpc.org.au>
ad854f24 8583
1c0ca89d 8584 First steps to making treelang documentation compliant, based on
b38b97c4
TJ
8585 instructions in sourcebuild.texi. Also add to gcc.c list of
8586 default languages.
ad854f24 8587
b38b97c4
TJ
8588 * doc/contrib.texi: Add self as contributor of treelang.
8589
8590 * doc/frontends.texi: Add mention of treelang.
8591
8592 * doc/invoke.texi (Overall Options): Add mention of treelang.
8593
8594 * doc/standards.texi: Add mention of treelang.
8595
ae9dbf1f
HPN
85962002-06-09 Hans-Peter Nilsson <hp@axis.com>
8597
8598 * config/cris/cris.c: Include ggc.h
8599
1ce676a0
NB
86002002-06-09 Neil Booth <neil@daikokuya.demon.co.uk>
8601
8602 * cpphash.h (_cpp_push_text_context): Update.
8603 (_cpp_arguments_ok): New.
8604 * cppmacro.c (_cpp_arguments_ok): New, split out from...
8605 (collect_args): ...here.
8606 (_cpp_push_text_context): Change inputs.
8607 * cpptrad.c (struct fun_macro, maybe_start_funlike, save_argument,
8608 replace_args_and_push): New.
8609 (lex_identifier, _cpp_lex_identifier_trad, scan_parameters):
8610 Don't use IS macros directly.
8611 (scan_out_logical_line): Handle function-like macro argument
8612 collection.
8613 (push_replacement_text): Update.
8614 (replacement_length): Remove.
8615 (_cpp_create_trad_definition): Don't skip whitespace before
8616 checking for '('.
8617
25f2e176
MM
86182002-06-09 Marek Michalkiewicz <marekm@amelek.gda.pl>
8619
8620 * config/avr/avr.c (avr_mcu_types): Update for new devices.
8621 * config/avr/avr.h (TARGET_SWITCHES, AVR_MEGA): Add -mshort-calls.
8622 (LINK_SPEC, CRT_BINUTILS_SPECS): Update for new devices.
8623 * config/avr/avr.md ("type" and "length" attributes): New type
8624 "xcall", length 1 or 2 if AVR_MEGA. Use in all patterns that
8625 output a single "call" or "rcall" insn depending on device size.
8626 * config/avr/t-avr (MULTILIB_MATCHES): Update for new devices.
8627
309323c2
DE
86282002-06-09 David Edelsohn <edelsohn@gnu.org>
8629
8630 * config/rs6000/{aix43.h,aix5.1} (ASM_CPU_SPEC): Add power3
8631 synonym for 630. Add power4. Remove embedded processors. Use -m604
8632 assembler option.
8633 (CPP_CPU_SPEC): Add power3 and power4.
8634 (PROCESSOR_DEFAULT): Change to 604e.
8635 * config/rs6000/rs6000.h (ASM_CPU_SPEC): Similar additions.
8636 (CPP_CPU_SPEC): Similar additions.
8637 (enum process_type): Add POWER4.
8638 (RTX_COSTS): Add POWER4.
8639 (CPP_CPU_SPEC): Similar additions.
8640 * config/rs6000/linux64.h (PROCESSOR_DEFAULT): Define.
6ef0903d 8641 (PROCESSOR_DEFAULT64): Define.
309323c2
DE
8642 * config/rs6000/rs6000.c (rs6000_override_options): Add power4.
8643 (rs6000_adjust_cost): Add 603, 604, 604e, 620, 630, Power4 to
8644 branch adjustment.
8645 (rs6000_issue_rate): Add Power4.
8646 * config/rs6000/rs6000.md (cpu attr): Add power4.
8647 (iu compare): Remove 604, 604e, 620, 630.
8648 Add basic Power4 scheduling information.
8649 (mfcr/mtcrf): Change type attribute to cr_logical.
8650
1f8e4682
KG
86512002-06-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8652
57d80297
KG
8653 * gengtype.h (error_at_line): Use PARAMS, not VPARAMS. Add
8654 ATTRIBUTE_PRINTF_2.
8655 * gengtype-lex.l: Fix format specifier warning.
8656
1f8e4682
KG
8657 * genautomata.c: Don't include ctype.h or limits.h. Use ISSPACE,
8658 not isspace.
8659 * gengtype-lex.l: Don't include ctype.h and use ISSPACE/ISIDNUM in
8660 lieu of isspace/IDchar.
8661 * gengtype.c: Likewise for ctype.h and ISALNUM vs isalnum.
8662 * read-rtl.c: Likewise for ctype.h. Don't define ISDIGIT or
8663 ISSPACE.
8664
5a9ee623
ZW
86652002-06-08 Zack Weinberg <zack@codesourcery.com>
8666
8667 * Makefile.in (LIBCPP_OBJS): Take out version.o.
8668 * cpphash.h (cpp_reader): Take out print_version member.
8669 * cppinit.c: (cpp_handle_option): Don't do anything with
8670 -version. Just set help_only for --version, --target-help.
8671 Just set verbose option for -v.
8672 (cpp_post_options): Don't print a version string.
8673
c16e5a35
MM
86742002-06-08 Marek Michalkiewicz <marekm@amelek.gda.pl>
8675
8676 * config/avr/avr.c (TARGET_SECTION_TYPE_FLAGS): New.
8677 (avr_section_type_flags): New, handle .noinit* sections.
8678
79bc889e
JT
86792002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
8680
8681 * config/sh/netbsd-elf.h (SUBTARGET_EXTRA_SPECS): Define
8682 and include netbsd_entry_point.
8683 (SUBTARGET_LINK_SPEC): Define as NETBSD_LINK_SPEC_ELF.
8684 (NETBSD_ENTRY_POINT): Define.
8685
6a79bb0a
JT
86862002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
8687
8688 * config/sh/sh.h (SUBTARGET_EXTRA_SPECS): Define empty
5a9ee623 8689 if not already defined.
6a79bb0a
JT
8690 (EXTRA_SPECS): Add SUBTARGET_EXTRA_SPECS.
8691
e52b6b63
MM
86922002-06-08 Marek Michalkiewicz <marekm@amelek.gda.pl>
8693
8694 * config/avr/avr.c (avr_regs_to_save): No need to save any registers
8695 in a noreturn function.
8696 (avr_output_function_prologue, avr_output_function_epilogue):
8697 Correct function size calculation. Do not crash on empty function.
8698 (avr_output_function_epilogue): No need for epilogue after a BARRIER.
8699
1569d670
JT
87002002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
8701
8702 * config/mips/netbsd.h (SUBTARGET_EXTRA_SPECS): Add
8703 netbsd_link_spec and netbsd_entry_point.
8704 (LINK_SPEC): Use %(netbsd_link_spec).
8705 (NETBSD_ENTRY_POINT): Define.
8706
cfb06024
JT
87072002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
8708
8709 * config/sparc/netbsd-elf.h (LINK_ARCH32_SPEC): Only specify
8710 linker emulation.
8711 (LINK_ARCH64_SPEC): Likewise.
8712 (LINK_SPEC, NETBSD_ENTRY_POINT): Define.
8713 (SUBTARGET_EXTRA_SPECS): Add netbsd_link_spec and netbsd_entry_point.
8714
5a9ee623
ZW
87152002-06-08 Marc Espie <espie@openbsd.org>
8716
8717 * lists.c (free_list): Fix typo in comment.
e3623158 8718
272cdf58
AJ
87192002-06-08 Andreas Jaeger <aj@suse.de>
8720
8721 * lcm.c (optimize_mode_switching): Add unused attribute for
8722 variable.
8723
8724 * sched-deps.c (sched_analyze): Remove unused variable.
8725
bf3f2a12
GDR
87262002-06-08 Gabriel Dos Reis <gdr@codesourcery.com>
8727
8728 * diagnostic.def: Don't capitalize diagnostict descriptors.
8729
523a5f2f
JT
87302002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
8731
8732 * config/m68k/netbsd-elf.h (EXTRA_SPECS): Add netbsd_entry_point.
8733 (LINK_SPEC): Define as NETBSD_LINK_SPEC_ELF.
8734 (NETBSD_ENTRY_POINT): Define.
8735
a3e944f9
JT
87362002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
8737
8738 * config/i386/netbsd-elf.h (LINK_SPEC): Define as
8739 NETBSD_LINK_SPEC_ELF.
8740 (SUBTARGET_EXTRA_SPECS): Add netbsd_entry_point.
8741 (NETBSD_ENTRY_POINT): Define.
8742 * config/i386/netbsd64.h (LINK_SPEC): Use %(netbsd_link_spec).
8743 (SUBTARGET_EXTRA_SPECS): Add netbsd_link_spec and
8744 netbsd_entry_point.
8745 (NETBSD_ENTRY_POINT): Define.
8746
854928a0
JT
87472002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
8748
8749 * config/alpha/netbsd.h (SUBTARGET_EXTRA_SPECS): Add
8750 netbsd_link_spec and netbsd_entry_point.
8751 (LINK_SPEC): Use %(netbsd_link_spec).
8752 (NETBSD_ENTRY_POINT): Define.
8753
6bb5d2e7
JT
87542002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
8755
8756 * config/netbsd-elf.h (LINK_SPEC): Rename to...
8757 (NETBSD_LINK_SPEC_ELF): ...this. Use %(netbsd_entry_point)
8758 to specify program entry point.
8759
e50126e8
JL
87602002-06-07 Jeff Law <law@redhat.com
8761
8762 * emit-rtl.c (init_emit): Add hard registers to regno_reg_rtx.
272cdf58 8763 * combine.c (move_deaths): Use regno_reg_rtx for hard regs rather
e50126e8
JL
8764 than creating a new register.
8765 (distribute_notes): Likewise.
8766 * df.c (df_reg_use_gen): Likewise.
8767 (df_reg_clobber_gen): Likewise.
8768 (df_ref_record): Likewise.
8769 * expr.c (use_regs): Likewise.
8770 * flow.c (propagate_one_insn): Likewise.
8771 (mark_set_1): Likewise.
8772 (mark_used_reg): Likewise.
8773 * reload.c (emit_reload_insns): Likewise.
8774
bc9c18c3
RS
87752002-06-07 Roger Sayle <roger@eyesopen.com>
8776
8777 * simplify-rtx.c (simplify_gen_relational): Simplify RTL of the form
8778 (ne (comp x y) 0) into (comp x y) where comp is a comparison code.
8779 Simplify (eq (comp x y) 0) into (revcomp x y) if the sense of the
8780 comparison code comp can be reversed.
8781
437f1df1
RS
87822002-06-07 Roger Sayle <roger@eyesopen.com>
8783
8784 * fold-const.c (fold) [EQ_EXPR]: Place both integer and real
8785 constants last in comparisons. Optimize (x+1.0)>0.0 into the
8786 equivalent x > -1.0 when -ffast-math.
8787
cd24b8a4
JT
87882002-06-07 Jason Thorpe <thorpej@wasabisystems.com>
8789
8790 * config.gcc (mips*-*-netbsd*): Add mips/t-netbsd to ${tmake_file}.
8791 * config/mips/t-netbsd: New file.
8792
09e77dee
ZW
87932002-06-07 Zack Weinberg <zack@codesourcery.com>
8794
8795 * cppinit.c (COMMAND_LINE_OPTIONS): Give all relevant -W
8796 options their own entries.
8797 (parse_option): Clarify comment.
8798 (cpp_handle_option): Remove 'ignore' parameter and OPT_W
8799 special case. Replace if/strcmp chain for -W options with
8800 use of new OPT_* entries for them.
8801 (cpp_handle_options): Update to match.
8802 * cpplib.h: Remove last parameter to cpp_handle_option from prototype.
8803 * c-decl.c: Update call to cpp_handle_option.
8804
942030dc
AD
88052002-06-07 Akim Demaille <akim@epita.fr>
8806
8807 * gengtype-yacc.y (optionseqopt): Add the ending `;' to the action.
8808 Whitespace changes.
8809
f2846820
JL
88102002-06-07 Jeffrey Law <law@redhat.com>
8811
8812 * sched-deps.c (free_deps): Avoid calling free_INSN_LIST_list
8813 on empty lists.
8814
4bafaa6f
L
88152002-06-07 H.J. Lu (hjl@gnu.org)
8816
8817 * configure.in: Add --enable-__cxa_atexit.
8818 * configure: Regenerated.
8819 * config.in: Likewise.
8820
8821 * defaults.h (DEFAULT_USE_CXA_ATEXIT): New. Defined to be 0 if
8822 not defined.
8823
caef5b46
GDR
88242002-06-07 Gabriel Dos Reis <gdr@merlin.nerim.net>
8825
8826 * diagnostic.c (diagnostic_build_prefix): Fix initialization.
8827
ac64a17c
JT
88282002-06-07 Jason Thorpe <thorpej@wasabisystems.com>
8829
8830 * config/mips/netbsd.h (CACHE_FLUSH_FUNC): Define.
8831
97459791
JM
88322002-06-07 Jason Merrill <jason@redhat.com>
8833
8834 * cppexp.c (num_equality_op): Use a temporary variable to work
8835 around gcc 3.0.4 bug.
8836
4b1d52c7
GDR
88372002-06-07 Gabriel Dos Reis <gdr@codesourcery.com>
8838
8839 * diagnostic.c (diagnostic_build_prefix): Tidy.
8840
c70f6ed3
NB
88412002-06-07 Neil Booth <neil@daikokuya.demon.co.uk>
8842
8843 * cpptrad.c (struct block, BLOCK_HEADER_LEN, BLOCK_LEN,
8844 scan_parameters, save_replacement_text, replacement_length): New.
8845 (scan_out_logical_line): Take a macro and save parameters if
8846 non-NULL.
8847 (_cpp_logical_line_trad): Update.
8848 (_cpp_create_trad_definition): Update to handle function-like
8849 macros.
8850 * cpplex.c (new_buff): Update.
8851 (struct dummy, DEFAULT_ALIGNMENT, CPP_ALIGN): Move...
8852 * cpphash.h: ...here.
8853 (CPP_ALIGN2, _cpp_save_parameter): New.
8854 * cppmacro.c (save_parameter): Rename, export.
8855 (parse_params): Update.
8856
aec2ac46
AJ
88572002-06-07 Andreas Jaeger <aj@suse.de>
8858
8859 * config/mmix/mmix.c: Remove extra broken prototype for
8860 mmix_init_machine_status.
8861
9f313342
GK
88622002-06-06 Geoffrey Keating <geoffk@redhat.com>
8863
8864 * gengtype.c: Add comments before all the routines.
8865
3fa1b448
JT
88662002-06-07 Jason Thorpe <thorpej@wasabisystems.com>
8867
8868 * config.gcc (sh5*-*-netbsd*): Remove sh/t-netbsd-sh5-32
8869 from and add t-sh64 to ${tmake_file}.
8870 (sh64*-*-netbsd*): Add t-sh64 to ${tmake_file}.
8871 * config/sh/t-netbsd-sh5 (LIB1ASMFUNCS): Remove.
8872 * config/sh/t-netbsd-sh5-32: Remove.
8873 * config/sh/t-netbsd-sh5-64 (MULTILIB_OPTIONS): Use
8874 MULTILIB_ENDIAN.
8875 (MULTILIB_DIRNAMES): Define.
8876
0d682900
JH
8877Thu Jun 6 23:14:46 CEST 2002 Jan Hubicka <jh@suse.cz>
8878
8879 * i386.md (and promoting splitters): Disable QI to SImode promoting
8880 when doing so changes immediate to be 32bit.
8881
8882 * rtl.h (emit_*_scope): Declare.
8883 * emit-rtl.c (emit_*_scope): New global functions.
8884 (try_split): Copy scope.
8885 * ifcvt.c (noce_try_store_flag, noce_try_store_flag_constants,
8886 noce_try_flag_inc, noce_try_store_flag_mask, noce_try_cmove,
8887 noce_try_cmove_arith, noce_try_minmax, noce_try_abs,
8888 noce_process_if_block, find_cond_trap): Copy scopes.
8889 * recog.c (peephole2_optimize): likewise.
8890
c991649c
JL
88912002-06-06 Jeffrey Law <law@redhat.com>
8892
8893 * h8300.h (OK_FOR_U): Fix thinko exposed by flag checking.
8894
8a5d66c4
R
8895Thu Jun 6 21:06:25 2002 J"orn Rennecke <joern.rennecke@superh.com>
8896
8897 * gengtype-lex.l (INITIAL): New rule for "'"("\\".|[^\\])"'".
8898
d7f8491b
RO
88992002-06-06 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
8900
8901 * Makefile.in (TEXI_GCCINSTALL_FILES): Define.
8902 ($(docdir)/gccinstall.info): New target.
8903 (info): Depend on it.
8904 (gccinstall.dvi): New target.
8905 (dvi): Depend on it.
8906 * doc/.cvsignore: Ignore new info files.
8907 * doc/install.texi (@setfilename): Reflect new info filename.
8908
eaeb7de8
R
8909Thu Jun 6 15:57:23 2002 J"orn Rennecke <joern.rennecke@superh.com>
8910
8911 * sh.c (machine_dependent_reorg): Don't set RTX_UNCHANGING_P
8912 on an UNSPEC.
8913
0c7aeb88
NP
8914Thu Jun 6 07:17:43 2002 Nicola Pero <n.pero@mi.flashnet.it>
8915
8916 PR objc/6834
8917 * objc/objc-lang.c (LANG_HOOKS_GET_ALIAS_SET): Define to be
8918 c_common_get_alias_set.
aec2ac46 8919 (LANG_HOOKS_SAFE_FROM_P): Define to be c_safe_from_p.
0c7aeb88 8920
2a496e8b
JDA
89212002-06-06 John David Anglin <dave@hiauly1.hia.nrc.ca>
8922
8923 * emit-rtl.c (get_first_nonnote_insn, get_last_nonnote_insn): New
8924 functions.
8925 * rtl.h (get_first_nonnote_insn, get_last_nonnote_insn): Declare.
8926 * avr/avr.c (avr_output_function_epilogue): Use above to determine
8927 function size.
8928 * pa/pa.c (pa_output_function_prologue): Likewise.
8929
2ff581c3
DM
89302002-06-05 David S. Miller <davem@redhat.com>
8931
8932 * integrate.c (subst_constants): Handle 'B' RTL format.
8933
b2e2d0cc
EC
89342002-06-05 Eric Christopher <echristo@redhat.com>
8935
8936 * varasm.c (make_decl_rtl): Fix comment for removed
8937 halfpic.c.
8938
0f81faf6
EC
89392002-06-05 Eric Christopher <echristo@redhat.com>
8940
8941 * Makefile.in: Remove missed halfpic bits.
8942
33005162
EC
89432002-06-05 Eric Christopher <echristo@redhat.com>
8944
8945 * toplev.c: Remove half-pic.
8946 * config/mips/mips.c: Ditto.
8947 * config/mips/mips.h: Ditto. Remove unused defines.
8948 * config/mips/openbsd.h: Update comment to reflect above.
8949 * config/mips/mips.md: Remove half-pic constraints.
8950 * halfpic.h: Delete.
8951 * halfpic.c: Ditto.
8952
80081028
JL
89532002-06-05 Jeffrey Law <law@redhat.com>
8954
5a9ee623
ZW
8955 * pa.h (EXTRA_CONSTRAINT, T case): Further refine so that it
8956 rejects (mem (lo_sum (reg) (unspec))), but will allow
8957 (mem (lo_sum (reg) (symbol_ref)) for PA2.0.
80081028 8958
cbc69f84
NB
89592002-06-05 Neil Booth <neil@daikokuya.demon.co.uk>
8960
8961 * cpphash.h (_cpp_create_definition): Update prototype.
8962 (_cpp_push_text_context, _cpp_create_trad_definition): New.
8963 ( cpp_lex_identifier_trad): New.
8964 (_cpp_set_trad_context): New.
8965 * cppinit.c (cpp_finish_options): Don't conditionalize builtins.
8966 * cpplib.c (SEEN_EOL): Update.
8967 (lex_macro_node): Update for -traditional.
8968 (cpp_push_buffer, _cpp_pop_buffer): Similarly.
8969 * cppmacro.c (_cpp_create_definition): Split into
8970 create_iso_definition() and _cpp_create_trad_definition().
8971 (warn_of_redefinition): Update prototype; handle traditional
8972 macros.
8973 (_cpp_push_text_context): New.
8974 * cpptrad.c (skip_whitespace, push_replacement_text): New.
8975 (lex_identifier): Call ht_lookup with correct start.
8976 (_cpp_lex_identifier_tradm _cpp_create_trad_definition,
8977 _cpp_set_trad_context): New.
8978 (scan_out_logical_line): Update to handle changing contexts.
8979
dbf87f32
R
8980Wed Jun 5 20:42:31 2002 J"orn Rennecke <joern.rennecke@superh.com>
8981
8982 * config.gcc (sh-*-elf*, sh64*-*-elf*): Unify.
8983 (shl*-*-elf*): Add.
8984 * config/sh/t-be (MULTILIB_ENDIAN): Set.
8985 * config/sh/t-le (MULTILIB_ENDIAN): Likewise.
8986 * t-sh (MULTILIB_ENDIAN): Set.
8987 (MULTILIB_OPTIONS): Use it.
8988 * t-sh64 (MULTILIB_OPTIONS): Likewise.
8989 (MULTILIB_DIRNAMES): Likewise.
8990
47b69537
GDR
89912002-06-05 Gabriel Dos Reis <gdr@codesourcery.com>
8992
8993 * toplev.h (report_error_function): Remove.
8994
8995 * diagnostic.h (location_t): New datatype.
8996 (text_info): Likewise.
8997 (diagnostic_info): Likewise.
8998 (output_prefix): New macro.
8999 (diagnostic_last_function_changed): Likewise.
9000 (diagnostic_set_last_function): Likewise.
9001 (diagnostic_last_module_changed): Likewise.
9002 (diagnostic_set_last_module): Likewise.
9003 (report_diagnostic): Now macro.
9004 (diagnostic_set_info): Declare.
9005
9006 * diagnostic.c (report_problematic_module): Rename to
33005162 9007 diagnostic_repor_current_module.
47b69537
GDR
9008 (set_diagnostic_context): Remove.
9009 (count_error): Rename to diagnostic_error_count.
9010 (error_function_changed): Remove.
9011 (record_last_error_function): Likewise.
9012 (error_module_changed): Likewise.
9013 (record_last_error_module): Likewise.
9014 (context_as_prefix): Rename to diagnostic_build_prefix.
9015 (flush_diagnostic_buffer): Rename to diagnostic_flush_buffer.
9016 (diagnostic_set_info): New function.
9017
9018 * objc/objc-act.c: #include diagnostic.h
9019 (error_with_ivar): Adjust call to count_error.
9020 (warn_with_method): Likewise.
9021 * objc/Make-lang.in (objc-act.o): Depend on diagnostic.h
9022
540eaea8
BW
90232002-06-05 Bob Wilson <bob.wilson@acm.org>
9024
9025 * config/xtensa/xtensa.c (xtensa_build_va_list): Use
9026 lang_hooks.types.make_type instead of make_node; set up
9027 __va_list_tag type decl.
9028 (xtensa_builtin_saveregs): Remove broken use of
9029 RTX_UNCHANGING_P and unnecessary use of MEM_IN_STRUCT_P
9030 for saved registers; add varargs alias set.
9031
f23a084d
NB
90322002-06-05 Neil Booth <neil@daikokuya.demon.co.uk>
9033
9034config:
9035 * alpha/gnu.h: Undef TARGET_OS_CPP_BUILTINS.
9036 * i386/beos-elf.h: Use TARGET_OS_CPP_BUILTINS rather than
9037 CPP_PREDEFINES and part of CPP_SPEC.
9038 i386/freebsd-aout.h, i386/gas.h, i386/gnu.h, i386/linux-aout.h,
9039 i386/linux.h, i386/moss.h, i386/xm-vsta.h: Similarly.
9040
3fe3a596
JH
9041Wed Jun 5 15:20:58 CEST 2002 Jan Hubicka <jh@suse.cz>
9042
9043 * reg-stack.c (reg_to_stack): Do not call find_basic_blocks.
9044
1fd9ba59
AM
90452002-06-05 Alan Modra <amodra@bigpond.net.au>
9046
9047 * config/rs6000/linux64.h (ASM_OUTPUT_SOURCE_LINE): Define.
9048
cea554e0
ZW
90492002-06-04 Zack Weinberg <zack@codesourcery.com>
9050
9051 * gengtype-yacc.y: Make sure all rules end with a semicolon.
9052
07232638
BW
90532002-06-04 Bob Wilson <bob.wilson@acm.org>
9054
9055 * config/xtensa/xtensa.c (xtensa_init_machine_status): Fix
9056 typo in function prototype and include "ggc.h" header.
9057
c4b50f1a
RH
90582002-06-04 Richard Henderson <rth@redhat.com>
9059
9060 * config/alpha/alpha.c (mode_mask_operand): Simplify without ifdefs.
9061 (print_operand) ['U']: Likewise.
9062 (alpha_expand_unaligned_store): Correct constants for 32-bit cross.
9063 (alpha_expand_unaligned_store_words): Likewise.
9064 (alpha_expand_builtin_vector_binop): Fix typo.
9065 (enum alpha_builtin, code_for_builtin): Add remaining ext, ins, msk,
9066 umulh, and cix insns.
9067 (one_arg_builtins): Add cix builtins.
9068 (two_arg_builtins): Add ext, ins, msk, umulh builtins.
9069 (alpha_expand_builtin): Fix typo in arity.
9070 * config/alpha/alpha.md (UNSPEC_CTLZ, UNSPEC_CTPOP): New.
9071 (builtin_extbl, builtin_extwl, builtin_extll, builtin_extwh,
9072 builtin_extlh, builtin_insbl, builtin_inswl, builtin_insll,
9073 builtin_insql, builtin_inswh, builtin_inslh, builtin_insqh,
9074 builtin_mskbl, builtin_mskwl, builtin_mskll, builtin_mskql,
9075 builtin_mskwh, builtin_msklh, builtin_mskqh, builtin_cttz,
9076 builtin_ctlz, builtin_ctpop): New.
9077 * doc/extend.texi (Alpha Built-in Functions): Update.
9078
aaab35ae
GK
90792002-06-04 Geoffrey Keating <geoffk@redhat.com>
9080
afb0f770
GK
9081 * gengtype.c (write_gc_root): Don't unnecessarily prevent
9082 global variable-length arrays being roots.
9083
aaab35ae
GK
9084 * config.gcc (powerpc-*-darwin*): Set config_gtfiles.
9085 * configure.in (config_gtfiles): New variable.
9086 (all_gtfiles): Initialise from config_gtfiles.
9087 * configure: Regenerate.
9088
1ba7b414
NB
90892002-06-04 Neil Booth <neil@daikokuya.demon.co.uk>
9090
9091config/i386:
9092 * beos-elf.h, cygwin.h, djgpp.h, gas.h, gnu.h, i386-interix.h,
9093 i386-interix3.h, i386elf.h, linux-aout.h, linux.h, linux64.h,
9094 mingw32.h, netbsd-elf.h, netbsd.h, netbsd64.h, rtemself.h,
9095 sco5.h, sol2.h, sysv3.h, sysv4.h, sysv5.h, uwin.h, vxi386.h,
9096 win32.h (CPP_SPEC): Remove cpp_cpu.
9097 * i386.h (TARGET_CPU_CPP_BUILTINS): Use.
9098 (CPP_CPU_DEFAULT_SPEC, CPP_CPU_SPEC): Die!
9099
135ca7b2
JJ
91002002-06-04 Janis Johnson <janis187@us.ibm.com>
9101
9102 * config/ia64/ia64.c (gen_thread_pointer): Fix variable name.
9103
85d69216 91042002-06-04 Jeff Law <law@redhat.com.
5a9ee623
ZW
9105 David Edelsohn <edelsohn@gnu.org>
9106 Michael Matz <matz@kde.org>
85d69216
JL
9107
9108 * sched-int.h (struct deps): New field libcall_block_tail_insn.
9109 * sched_deps.c (init_deps): Initialize libcall_block_tail_insn.
9110 * sched_deps.c (sched_analyze_insn): If libcall_block_tail_insn
9111 is set, then mark the current insn as being part of a libcall
9112 scheduling group.
9113 (sched_analyze): Set and clear libcall_block_tail_insn appropriately.
9114
9115 * haifa-sched.c (schedule_block): Do not count USE or CLOBBER
9116 insns against the issue rate.
9117
63f4a88e
JH
9118Tue Jun 4 19:29:42 CEST 2002 Jan Hubicka <jh@suse.cz>
9119
9120 * cfglayout.c (duplicate_insn_chain): Kill NOTE_INSN_RANGE notes.
9121 * final.c (final_scan_insn): Likewise.
9122 * ggc-common.c (ggc_mark_rtx_children_1): Likewise; use
9123 NOTE_EXPECTED_VALUE instead of NOTE_RANGE.
9124 * haifa-sched.c (unlink_other_notes): Likeewise.
9125 (reemit_notes): Likewise.
9126 * print-rtl.c (print_rtx): Likewise.
9127 * sched-deps (sched-analyze): Likewise.
9128 * rtl.c (note_insn_name): Likewise.
9129 * rtl.h (NOTE_RANGE_INFO, NOTE_LIVE_INFO): Kill.
9130 (enum insn_note): Kill NOTE_INSN_RANGE_*, NOTE_INSN_LIVE.
9131 (RANGE_*): Kill.
9132
a5d1f75b
JT
91332002-06-04 Jason Thorpe <thorpej@wasabisystems.com>
9134
9135 * varasm.c (mark_constants): Handle RTX format 'B'.
9136
82eda77e
NB
91372002-06-04 Neil Booth <neil@daikokuya.demon.co.uk>
9138
9139 * cpphash.h (FIRST, LAST, CUR, RLIMIT): New.
9140 (struct cpp_context): Add traditional fields.
9141 * cppmacro.c (paste_all_tokens, push_ptoken_context,
9142 push_token_context, cpp_get_token, _cpp_backup_tokens): Update.
9143 * cpptrad.c (skip_comment, lex_identifier,
9144 _cpp_read_logical_line_trad, scan_out_logical_line): Update.
9145
589005ff
KH
91462002-06-04 Kazu Hirata <kazu@cs.umass.edu>
9147
9148 * gbl-ctors.h: Fix formatting.
9149 * gcc.c: Likewise.
9150 * gccspec.c: Likewise.
9151 * gcov.c: Likewise.
9152 * gcov-io.h: Likewise.
9153 * gcse.c: Likewise.
9154 * ggc-common.c: Likewise.
9155 * ggc.h: Likewise.
9156 * ggc-page.c: Likewise.
9157 * ggc-simple.c: Likewise.
9158 * global.c: Likewise.
9159 * graph.h: Likewise.
9160 * gthr-dce.h: Likewise.
9161 * gthr.h: Likewise.
9162 * gthr-posix.h: Likewise.
9163 * gthr-rtems.h: Likewise.
9164 * gthr-solaris.h: Likewise.
9165 * gthr-win32.h: Likewise.
9166
e2500fed
GK
91672002-06-03 Geoffrey Keating <geoffk@redhat.com>
9168
9169 Merge from pch-branch:
33005162 9170
e2500fed
GK
9171 * gengtype.h (UNION_OR_STRUCT_P): New macro.
9172 * gengtype.c (write_gc_structure_fields): Use it.
9173 (write_gc_root): Use it here too.
9174
9175 * gengtype.c (write_gc_structure_fields): Assume that lengths
9176 of typenames fit into an 'int'; don't pass a size_t to "%d" in
9177 printf.
9178 (write_gc_marker_routine_for_structure): Likewise.
9179 (write_gc_types): Likewise.
9180 (write_gc_root): Likewise.
9181
9182 * varray.h (VARRAY_CLEAR): New.
9183 (varray_clear): Prototype.
9184 * varray.c (varray_clear): New.
9185 * cselib.c (reg_values_old): New.
9186 (used_regs_old): New.
9187 (cselib_init): Use cached varrays if available to avoid
9188 generating large amounts of garbage.
9189 (cselib_finish): Don't throw away old varrays.
9190
9191 * final.c (insn_addresses_): Move out of ifdef.
9192
9193 * varray.c (uses_ggc): Make more varray kinds GCable.
9194 * varray.h (union varray_data_tag): Let gengtype see
9195 fields 'generic' and 'te'.
9196 * reg-stack.c: Include gt-reg-stack.h, ggc.h.
9197 (stack_regs_mentioned_data): Move out of ifdef; mark with gengtype.
9198 (reg_to_stack): Don't call VARRAY_FREE.
9199 * insn-addr.h (INSN_ADDRESSES_FREE): Don't use VARRAY_FREE.
9200 (insn_addresses_): Use gengtype to mark.
9201 * gengtype.c (write_gc_structure_fields): Handle arrays of generic
9202 pointers; handle generic pointers in unused union fields.
9203 (get_output_file_with_visibility): Include cselib.h,
9204 insn-addr.h in gtype-desc.c.
9205 * function.c (prologue): Use gengtype to mark.
9206 (epilogue): Likewise.
9207 (sibcall_epilogue): Likewise.
9208 * dependence.c: Include gt-dependence.h, ggc.h.
9209 (struct def_use): Use gengtype to mark.
9210 (struct loop): Likewise.
9211 (struct induction): Likewise.
9212 (struct dependence): Likewise.
9213 (def_use_chain): Likewise.
9214 (dep_chain): Likewise.
9215 (loop_chain): Likewise.
9216 (induction_chain): Likewise.
9217 (init_dependence_analysis): Don't free anything, just clear pointers.
9218 (build_def_use): Use GGC to allocate def_use.
9219 (add_loop): Use GGC to allocate loop.
9220 (find_induction_variable): Use GGC to allocate induction.
9221 (check_node_dependence): Use GGC to allocate induction, dependence.
9222 (dump_node_dependence): Don't free varrays.
9223 (end_dependence_analysis): Likewise.
9224 * cselib.h (struct cselib_val_struct): Use gengtype to mark.
9225 (struct elt_loc_list): Likewise.
9226 (struct elt_list): Likewise.
9227 * cselib.c: Don't include obstack.h.
9228 (hash_table): Use gengtype to mark.
9229 (reg_values): Use gengtype to mark.
9230 (used_regs): Use gengtype to mark.
9231 (cselib_obstack): Delete.
9232 (cselib_startobj): Delete.
9233 (empty_vals): Mark as deletable.
9234 (empty_elt_lists): Mark as deletable.
9235 (empty_elt_loc_lists): Mark as deletable.
9236 (new_elt_list): Use GGC to allocate struct elt_list.
9237 (new_elt_loc_list): Use GGC to allocate struct elt_loc_list.
9238 (clear_table): Don't delete obstack; don't unnecessarily clear
9239 deletable variables.
9240 (new_cselib_val): Use GGC to allocate struct cselib_val.
9241 (cselib_init): Don't set up obstacks. Use GGC to allocate
9242 hash table.
9243 (cselib_finish): Just clear variables, don't free anything.
9244 * Makefile.in (cselib.o): Remove dependency on $(OBSTACK_H).
9245 (reg-stack.o): Add dependency on gt-reg-stack.h, $(GGC_H).
9246 (dependence.o): Add dependency on gt-dependence.h, $(GGC_H).
9247 (GTFILES): Add insn-addr.h, cselib.h, dependence.c, reg-stack.c.
9248 (gt-reg-stack.h): New rule.
9249 (gt-dependence.h): New rule.
9250 (gtype-desc.o): Add cselib.h, insn-addr.h.
9251
9252 * varray.c: Use only necessary headers.
9253 (element_size): New.
9254 (uses_ggc): New.
9255 (varray_init): Take type, not size. Use GGC if appropriate.
9256 (varray_grow): Update for change to struct varray_head_tag.
9257 Use GGC if appropriate.
9258 * varray.h (struct const_equiv_data): Use gengtype.
9259 (enum varray_data_enum): New.
9260 (union varray_data_tag): Use gengtype.
9261 (struct varray_head_tag): Use gengtype. Replace size field with
9262 enum varray_data_enum.
9263 (varray_init): Update prototype.
9264 (VARRAY_SCHED_INIT): Delete.
9265 (VARRAY_*_INIT): Update for change to varray_init.
9266 (VARRAY_SCHED): Delete.
9267 (VARRAY_PUSH_SCHED): Delete.
9268 (VARRAY_TOP_SCHED): Delete.
9269 * tree.h: Update for change to length specifier.
9270 * tree-inline.c (optimize_inline_calls): Don't use VARRAY_FREE.
9271 (clone_body): Likewise.
9272 * ssa.h (ssa_definition): Use gengtype to mark.
9273 * ssa.c (convert_from_ssa): Don't use VARRAY_FREE.
9274 * ssa-dce.c (ssa_eliminate_dead_code): Don't use VARRAY_FREE.
9275 * rtl.h (struct rtvec_def): Update for change to length specifier.
9276 * integrate.c (expand_inline_function): Don't use VARRAY_FREE.
9277 (struct initial_value_struct): Update for change to length specifier.
9278 * ggc.h (ggc_add_rtx_varray_root): Delete prototype.
9279 (ggc_add_tree_varray_root): Delete prototype.
9280 (ggc_mark_rtx_varray): Delete prototype.
9281 (ggc_mark_tree_varray): Delete prototype.
9282 * ggc-common.c (ggc_add_rtx_varray_root): Delete.
9283 (ggc_add_tree_varray_root): Delete.
9284 (ggc_mark_rtx_varray): Delete.
9285 (ggc_mark_tree_varray): Delete.
9286 (ggc_mark_rtx_varray_ptr): Delete.
9287 (ggc_mark_tree_varray_ptr): Delete.
9288 * gengtype.h (enum typekind): Remove TYPE_VARRAY.
9289 (create_varray): Delete prototype.
9290 * gengtype.c (varrays): Delete.
9291 (create_varray): Delete.
9292 (adjust_field_type): Detect array of string pointers.
9293 (process_gc_options): Remove code to handle varray_type option.
9294 (set_gc_used_type): Remove TYPE_VARRAY case.
9295 (output_escaped_param): New.
9296 (write_gc_structure_fields): Use output_escaped_param on all
9297 parameters. Handle 'skip' with 'use_param' option. Handle
9298 arrays of strings. Remove TYPE_VARRAY handling.
9299 (write_gc_roots): Use boolean to detect 'length' option.
9300 * gengtype-yacc.y (VARRAY_TYPE): Delete token.
9301 (struct_fields): Call adjust_field_type on array fields.
9302 (type): Remove VARRAY_TYPE case.
9303 (type_option): Likewise.
9304 * gengtype-lex.l: Don't consider varray_type a keyword.
9305 * function.h: Update for change to length specifier.
9306 (free_eh_status): Delete prototype.
9307 * function.c (free_after_compilation): Don't call free_eh_status.
9308 (reorder_blocks): Don't use VARRAY_FREE.
9309 * except.c (struct eh_status): Update for change to length specifier.
9310 remove varray_type specifier.
9311 (free_eh_status): Delete.
9312 * dwarf2out.c: Include gt-dwarf2out.h.
9313 (used_rtx_varray): Use gengtype to mark, move
9314 outside ifdefs.
9315 (incomplete_types): Likewise.
9316 (decl_scope_table): Likewise.
33005162 9317 (dwarf2out_init): Don't call ggc_add_tree_varray_root.
e2500fed
GK
9318 * cfglayout.c (scope_to_insns_finalize): Don't use VARRAY_FREE.
9319 * c-tree.h (struct lang_type): Update for change to length specifier.
9320 * c-parse.in (yylexstring): Don't use VARRAY_FREE.
9321 * c-objc-common.c: Include gt-c-objc-common.h.
9322 (deferred_fns): Mark for gengtype.
9323 (c_objc_common_init): Don't call ggc_add_tree_varray_root.
9324 (expand_deferred_fns): Just set deferred_fns to 0 to free it.
9325 * Makefile.in (c-objc-common.o): Add gt-c-objc-common.h.
9326 (gtype-desc.o): Update dependencies.
9327 (dwarf2out.o): Add gt-dwarf2out.h.
9328 (varray.o): Update dependencies.
9329 (GTFILES): Add varray.h, ssa.h, dwarf2out.c, c-objc-common.c.
9330 (gt-c-objc-common.h): New rule.
9331 (gt-dwarf2out.h): New rule.
9332 * objc/objc-act.c (build_objc_string_object): Don't use VARRAY_FREE.
9333
9334 * doc/gty.texi (GTY Options): Correct spelling.
9335 (GGC Roots): Likewise.
9336 * Makefile.in (TEXI_CPP_FILES): New.
9337 (TEXI_GCC_FILES): New.
9338 (TEXI_GCCINT_FILES): New.
9339 (TEXI_CPPINT_FILES): New.
9340 ($(docdir)/cpp.info): Use new macros.
9341 ($(docdir)/gcc.info): Likewise.
9342 ($(docdir)/gccint.info): Likewise.
9343 ($(docdir)/cppinternals.info): Likewise.
9344 (cpp.dvi): Likewise.
9345 (gcc.dvi): Likewise.
9346 (gccint.dvi): Likewise.
9347 (cppinternals.dvi): Likewise.
9348
9349 * Makefile.in ($(docdir)/gccint.info): Depend on gty.texi.
9350 * doc/gccint.texi (Top): Include gty.texi.
9351 * doc/gty.texi: New file.
9352
9353 * bitmap.c: Include ggc.h, gt-bitmap.h.
9354 (bitmap_ggc_free): New.
9355 (bitmap_elem_to_freelist): New.
9356 (bitmap_element_free): Use bitmap_elem_to_freelist.
9357 (bitmap_element_allocate): Allow use of GGC.
9358 (bitmap_clear): Use bitmap_elem_to_freelist.
9359 (bitmap_copy): Update for change to bitmap_element_allocate.
9360 (bitmap_set_bit): Likewise.
9361 (bitmap_operation): Update for changes elsewhere.
9362 (bitmap_initialize): Allow to create bitmaps that will use GGC.
9363 * bitmap.h (struct bitmap_element_def): Use gengtype.
9364 (struct bitmap_head_def): Likewise. Also add 'using_obstack' field.
9365 (bitmap_initialize): Add extra parameter.
9366 (BITMAP_OBSTACK_ALLOC): Update for change to bitmap_initialize.
9367 (BITMAP_ALLOCA): Delete.
9368 (BITMAP_XMALLOC): Update for change to bitmap_initialize.
9369 (BITMAP_GGC_ALLOC): New.
9370 * Makefile.in (gtype-desc.o): Add bitmap.h.
9371 (bitmap.o): Add gt-bitmap.h, $(GGC_H).
9372 (GTFILES): Add bitmap.c.
9373 (gt-bitmap.h): New rule.
9374 ($(HOST_PREFIX_1)bitmap.o): Add gt-bitmap.h.
9375 * basic-block.h: Update for changes to bitmap_initialize.
9376 * except.c (exception_handler_label_map): Move into...
9377 (struct eh_status): Here.
9378 (struct eh_region): Make 'aka' GCable.
9379 (free_eh_status): Don't need to specially handle
9380 exception_handler_label_map.
9381 (add_ehl_entry): Update for changes to exception_handler_label_map.
9382 (find_exception_handler_labels): Likewise.
9383 (remove_exception_handler_label): Likewise.
9384 (maybe_remove_eh_handler): Likewise.
9385 (for_each_eh_label): Likewise.
9386 (remove_eh_handler): Allocate 'aka' using GGC.
9387 * gengtype.c (get_output_file_with_visibility): Add bitmap.h
9388 to list of includes.
9389
9390 * gengtype.c (write_gc_marker_routine_for_structure): Name
33005162 9391 the routines 'gt_ggc_mx_*' instead of 'gt_ggc_m_*'.
e2500fed
GK
9392 (write_gc_types): Arrange for the tests with NULL to be inlined.
9393 (write_gc_roots): Update uses of procedure pointers.
9394 * ggc-common.c (gt_ggc_mx_rtx_def): Rename from gt_ggc_m_rtx_def.
9395
9396 * Makefile.in (explow.o): Add dependency on gt-explow.h.
9397 (sdbout.o): Add dependency on gt-sdbout.h.
9398
9399 * emit-rtl.c (const_int_htab): Use gengtype to clear unused entries.
9400 (mem_attrs_htab): Likewise.
9401 (init_emit_once): Don't call ggc_add_deletable_htab.
9402 * fold-const.c (size_htab): Use gengtype to clear unused entries.
9403 (size_int_type_wide): Don't call ggc_add_deletable_htab.
9404 * gengtype.c (finish_root_table): Add LASTNAME and TNAME
9405 parameters, use them, change callers.
9406 (write_gc_root): Add IF_MARKED parameter, use it, change callers.
9407 (write_gc_roots): Handle 'if_marked' option.
9408 (main): Don't need to call set_gc_used_type any more.
9409 * ggc.h (ggc_htab_marked_p): Delete.
9410 (ggc_htab_mark): Delete.
9411 (struct ggc_cache_tab): New.
9412 (gt_ggc_cache_rtab): New declaration.
9413 * ggc-common.c (struct d_htab_root): Delete.
9414 (d_htab_roots): Delete.
9415 (ggc_add_deletable_htab): Delete.
9416 (ggc_htab_delete): Handle new htab-deleting mechanism.
9417 (ggc_mark_roots): Use new htab-deleting mechanism.
9418 * tree.c (type_hash_table): Use gengtype to clear unused entries.
9419 Make static.
9420 (init_obstacks): Don't call ggc_add_deletable_htab.
9421
9422 * objc/objc-act.h (struct hashed_attribute): Use gengtype.
9423 (struct hashed_entry): Likewise.
9424 (nst_method_hash_list): Likewise.
9425 (cls_method_hash_list): Likewise.
9426 (HASH_ALLOC_LIST_SIZE): Delete.
9427 (ATTR_ALLOC_LIST_SIZE): Delete.
9428 * objc/objc-act.c (hash_init): Use ggc to allocate
9429 nst_method_hash_list, cls_method_hash_list.
9430 (hash_enter): Use ggc to allocate; allocate one entry at a time.
9431 (hash_add_attr): Likewise.
9432 (ggc_mark_hash_table): Delete.
9433 (objc_act_parse_init): Delete.
9434 (objc_init): Delete reference to objc_act_parse_init.
9435 * tlink.c: Replace hash.h with hashtab.h. Explicitly include
9436 obstack.h. Replace references to 'struct hash_table' with htab_t.
9437 (struct symbol_hash_entry): Replace hash header with key field.
9438 (struct file_hash_entry): Replace hash header with key field.
9439 (struct demangled_hash_entry): Replace hash header with key field.
9440 (hash_string_eq): New.
9441 (hash_string_hash): New.
9442 (symbol_hash_newfunc): Delete.
9443 (symbol_hash_lookup): Modify to use htab_t.
9444 (file_hash_newfunc): Delete.
9445 (file_hash_lookup): Modify to use htab_t.
9446 (demangled_hash_newfunc): Delete.
9447 (demangled_hash_lookup): Modify to use htab_t.
9448 (tlink_init): Modify to use htab_t.
9449 * hash.h: Delete.
9450 * hash.c: Delete.
9451 * ggc.h: Delete forward structure declarations.
9452 Delete prototypes for deleted functions.
9453 * ggc-common.c: Don't include hash.h.
9454 (ggc_add_tree_hash_table_root): Delete.
9455 (ggc_mark_tree_hash_table_entry): Delete.
9456 (ggc_mark_tree_hash_table): Delete.
9457 (ggc_mark_tree_hash_table_ptr): Delete.
9458 * gengtype.c (write_gc_structure_fields): Allow param_is option.
9459 (write_gc_marker_routine_for_structure): Use visibility of
9460 the parameter if there is one.
9461 * function.c: Replace hash.h with hashtab.h. Replace references
9462 to 'struct hash_table *' with htab_t.
9463 (struct insns_for_mem_entry): Include a plain key.
9464 (fixup_var_refs_insns_with_hash): Update to use htab_t.
9465 (insns_for_mem_newfunc): Delete.
9466 (insns_for_mem_hash): Update to use htab_t.
9467 (insns_for_mem_comp): Likewise.
9468 (insns_for_mem_walk): Likewise.
9469 * c-lang.c: Include ggc.h.
9470 * Makefile.in (OBJS): Remove hash.o.
9471 (c-lang.o): Add GGC_H.
9472 (COLLECT2_OBJS): Remove hash.o.
9473 (tlink.o): Remove hash.h, add HASHTAB_H and OBSTACK_H.
9474 (ggc-common.o): Remove hash.h.
9475 (function.o): Remove hash.h, add HASHTAB_H.
9476 (genautomata.o): Remove hash.h, add HASHTAB_H.
9477
9478 * varasm.c (mark_const_str_htab_1): Delete.
9479 (mark_const_str_htab): Delete.
9480 (const_str_htab_del): Delete.
9481 (const_str_htab): Use gengtype to mark.
9482 (init_varasm_once): Use gengtype to mark hashtables. Use GC to
9483 allocate them.
9484 * tree.c (mark_tree_hashtable_entry): Delete.
9485 (mark_tree_hashtable): Delete.
9486 * tree.h (mark_tree_hashtable): Delete prototype.
9487 * ggc.h (ggc_test_and_set_mark): Treat (void *)1 like NULL.
9488 (ggc_mark): Likewise.
9489 (ggc_calloc): New.
9490 (htab_create_ggc): New.
9491 * ggc-common.c (ggc_calloc): New.
9492 * gengtype.h (enum typekind): Add TYPE_PARAM_STRUCT.
9493 (struct type): Add param_struct structure.
9494 * gengtype.c (param_structs): New.
9495 (adjust_field_type): Handle param_is option.
9496 (set_gc_used_type): Handle TYPE_PARAM_STRUCT.
9497 (get_output_file_with_visibility): Include hashtab.h in gtype-desc.c.
9498 (write_gc_structure_fields): Add new PARAM parameter. Update
9499 callers. Handle use_param option. Handle TYPE_PARAM_STRUCT.
9500 (write_gc_marker_routine_for_structure): Add new PARAM parameter.
9501 Use it to generate function name. Update callers.
9502 (write_gc_types): Add new PARAM_STRUCTS parameter. Update callers.
9503 Process them.
9504 (write_gc_roots): Handle TYPE_PARAM_STRUCT. Allow param_is
9505 option.
9506 (main): Define PTR as pointer-to-scalar. Don't specially
9507 mark deferred_string or ehl_map_entry.
9508 * gengtype-yacc.y (PARAM_IS): Add new token.
9509 (externstatic): Use adjust_field_type.
9510 (type_option): Add PARAM_IS.
9511 * gengtype-lex.l: Add rule for typedef of function pointers.
9512 Add rule for PARAM_IS.
9513 (IWORD): Add size_t.
9514 * except.c (exception_handler_label_map): Use gengtype to mark.
9515 (type_to_runtime_map): Likewise.
9516 (mark_ehl_map_entry): Delete.
9517 (mark_ehl_map): Delete.
9518 (init_eh): Use gengtype for roots; use GC to allocate hash tables.
9519 (t2r_mark_1): Delete.
9520 (t2r_mark): Delete.
9521 * Makefile.in (gtype-desc.o): Correct dependencies.
9522 (GTFILES): Add hashtab.h.
9523 (genautomata.o): Actually uses hashtab.h.
9524
9525 * Makefile.in (stringpool.o): Add $(GGC_H).
9526 (dwarf2asm.o): Likewise.
9527 (GTFILES): Add hashtable.h.
9528 * c-common.h (struct c_common_identifier): Use gengtype.
9529 * c-decl.h (c_mark_tree): Delete.
9530 * c-lang.c (LANG_HOOKS_MARK_TREE): Delete.
9531 * c-tree.h (struct lang_identifier): Use gengtype.
9532 (union lang_tree_node): New.
9533 (c_mark_tree): Delete prototype.
33005162 9534 * dwarf2out.c [!DWARF2_DEBUGGING_INFO]: Define dummy
e2500fed
GK
9535 dwarf2_debug_hooks.
9536 * gengtype-lex.l (IWORD): Allow 'bool'.
9537 (ptr_alias): Match.
9538 * gengtype-yacc.y (ALIAS): New token.
9539 (type_option): New rule.
9540 (option): Use type_option.
9541 * gengtype.c (process_gc_options): New.
9542 (set_gc_used_type): Use it.
9543 (write_gc_structure_fields): Add 'bitmap' parameter, change callers.
9544 Add new variable 't' to hold the type of the field being processed.
9545 Add more error checking. Use UNION_P when looking at 'desc' option.
9546 Handle language-specific structures containing other
9547 language-specific structures.
9548 (write_gc_types): Handle 'ptr_alias' option.
9549 (main): Don't need to specially output lang_type, lang_decl, lang_id2.
9550 * ggc-common.c (ggc_pending_trees): Delete.
9551 (ggc_mark_roots): Don't manipulate ggc_pending_trees.
9552 (ggc_mark_trees): Delete.
9553 (gt_ggc_m_tree_node): Delete.
9554 * ggc.h (ggc_pending_trees): Delete.
9555 (ggc_mark_tree): Make alias of gt_ggc_m_tree_node.
9556 * hashtable.h (ht_identifier): Use gengtype.
9557 * langhooks-def.h (LANG_HOOKS_MARK_TREE): Delete.
9558 * langhooks.h (struct lang_hooks): Delete mark_tree.
9559 * sdbout.c [! SDB_DEBUGGING_INFO]: Define dummy sdb_debug_hooks
9560 anyway.
9561 * system.h: Poison LANG_HOOKS_MARK_TREE.
9562 * tree.c (tree_node_structure): New.
9563 * tree.h (struct tree_common): Use gengtype.
9564 (struct tree_int_cst): Likewise.
9565 (struct tree_real_cst): Likewise.
9566 (struct tree_string): Likewise.
9567 (struct tree_complex): Likewise.
9568 (struct tree_vector): Likewise.
9569 (struct tree_identifier): Likewise.
9570 (struct tree_list): Likewise.
9571 (struct tree_vec): Likewise.
9572 (struct tree_exp): Likewise.
9573 (struct tree_block): Likewise.
9574 (struct tree_type): Likewise.
9575 (struct tree_decl): Likewise.
9576 (enum tree_structure_enum): New.
9577 (union tree_node): Use gengtype, with an alias.
9578 (tree_node_structure): Prototype.
9579 * objc/objc-lang.c (LANG_HOOKS_MARK_TREE): Delete.
9580
9581 Merge to tag pch-merge-20020430. The LANG_HOOKS_FUNCTION_MARK
9582 macro was deleted. The LANG_HOOKS_FUNCTION_FREE macro was renamed
9583 to LANG_HOOKS_FUNCTION_FINAL.
9584 * Makefile.in (GTFILES): Add bitmap.h.
9585 * except.c (struct eh_region): Mark field 'aka' to be skipped.
9586
9587 * config/alpha/alpha.c [TARGET_ABI_UNICOSMK]
9588 (alpha_init_machine_status): Give proper type.
9589 * Makefile.in (c-lang.o): Depend on gtype-c.h.
9590 (optabs.o): Depend on gt-optabs.h.
9591 (GTFILES): Add optabs.o.
9592 (gt-optabs.h): Add rule.
9593 * optabs.c: Include gt-optabs.h.
9594
9595 * gengtype.c (set_gc_used_type): Correct some errors in last change.
9596 (write_gc_structure_fields): If a field which should be NULL is
9597 not, abort.
9598 * c-pragma.c: Move struct align_stack and variable alignment_stack
9599 out from the ifdef.
9600
9601 * config/xtensa/t-xtensa: Add dependencies for gt-xtensa.h.
9602 * config/xtensa/xtensa.c: Include gt-cris.h.
9603 (struct machine_function): Use gengtype to mark.
9604 * config/mmix/mmix.h (struct machine_function): Use gengtype
9605 to mark.
9606 * config/cris/t-cris: Add dependencies for gt-cris.h.
9607 * config/cris/cris.c: Include gt-cris.h.
9608 (struct machine_function): Use gengtype to mark.
9609 * config/rs6000/rs6000.h (struct machine_function): Use gengtype
9610 to mark.
9611 * doc/tm.texi (Per-Function Data): Delete references to
9612 mark_machine_status.
9613 * config/ia64/ia64.c (ia64_override_options): Don't set
9614 mark_machine_status.
9615 * config/i386/i386.c (override_options): Likewise.
9616 * config/d30v/d30v.c (d30v_init_expanders): Likewise.
9617 * config/arm/arm.c (arm_init_expanders): Likewise.
9618 * config/alpha/alpha.c (override_options): Likewise.
33005162 9619 * gengtype.h (enum gc_used_enum): Add GC_MAYBE_POINTED_TO.
e2500fed
GK
9620 * gengtype.c (set_gc_used_type): Handle 'maybe_null' option.
9621 (write_gc_structure_fields): Don't handle 'really' option.
9622 Handle 'maybe_null' option.
9623 (write_gc_types): Handle 'maybe_null' option.
9624 * function.h (struct function): Don't use "really".
9625 (mark_machine_status): Delete declaration.
9626 (mark_lang_status): Delete declaration.
9627 (gt_ggc_mr_machine_function): Delete prototype.
9628 (gt_ggc_mr_language_function): Delete prototype.
9629 * function.c (mark_machine_status): Delete.
9630 (mark_lang_status): Delete.
9631 (gt_ggc_mr_machine_function): Delete.
9632 (gt_ggc_mr_language_function): Delete.
9633 * c-tree.h (mark_c_function_context): Delete prototype.
9634 * c-objc-common.c (c_objc_common_init): Don't set mark_lang_status.
9635 * c-decl.c (struct language_function): Rename from struct
9636 c_language_function. Update uses. Use gengtype to mark.
9637 (mark_c_function_context): Delete.
9638 * c-common.h (struct c_language_function): Rename from struct
9639 language_function.
9640 (mark_stmt_tree): Delete prototype.
9641 (c_mark_lang_decl): Delete prototype.
9642 (mark_c_language_function): Delete prototype.
9643 * c-common.c (mark_stmt_tree): Delete.
9644 (c_mark_lang_decl): Delete.
9645 (mark_c_language_function): Delete.
9646
9647 * gengtype.h (enum typekind): Add TYPE_LANG_STRUCT.
9648 (lang_bitmap): New typedef. Use where appropriate.
9649 (struct type): Add gc_used field, lang_struct field.
9650 (UNION_P): New macro.
9651 (new_structure): New prototype.
9652 (find_structure): Remove 'pos' parameter. Change all callers.
9653 * gengtype-lex.l: Update for changes to find_structure.
9654 * gengtype-yacc.y (typedef_struct): Use new_structure.
9655 (yacc_ids): Suppress warning.
9656 (type): Use new_structure.
9657 * gengtype.c (string_type): Update for changes to struct type.
9658 (find_structure): Just find a structure, don't worry about
9659 creating one.
9660 (new_structure): New.
9661 (note_yacc_type): Use new_structure.
9662 (set_gc_used_type): New.
9663 (set_gc_used): New.
9664 (write_gc_structure_fields): Allow for pointers to TYPE_LANG_STRUCT.
9665 (write_gc_types): Handle TYPE_LANG_STRUCT.
9666 (write_gc_marker_routine_for_structure): New.
9667 (main): Call set_gc_used. Add some calls to set_gc_used_type
9668 for places where GCC doesn't use gengtype properly yet.
9669 * ggc.h (gt_ggc_m_rtx_def): Don't prototype.
9670 (gt_ggc_m_tree_node): Likewise.
9671
9672 * varasm.c (copy_constant): Call expand_constant if we hit
9673 something we can't recognise.
9674
9675 * ggc-common.c (ggc_mark_rtvec_children): Delete.
9676 (ggc_mark_rtx_children): Use generic name for ggc_mark_rtvec.
9677 (lang_mark_false_label_stack): Delete.
9678 * rtl.h (struct rtvec_def): Use gengtype to mark.
9679 * ggc.h (ggc_mark_rtvec): Delete.
9680 (gt_ggc_m_rtvec_def): Delete.
9681 (ggc_mark_nonnull_tree): Delete.
9682 (ggc_mark_rtvec_children): Delete prototype.
9683 (lang_mark_false_label_stack): Delete declaration.
9684
9685 * gengtype.h (note_yacc_type): Add prototype.
9686 * gengtype.c (note_yacc_type): New function.
9687 * gengtype-lex.l: Add lexer support for yacc files.
9688 * gengtype-yacc.y (start): Extract union from yacc files.
9689 (yacc_union): New rule.
9690 (yacc_typematch): New rule.
9691 (yacc_ids): New rule.
9692 (enum_items): Tweak for efficiency.
9693 (optionseq): Likewise.
9694
9695 * c-common.h (struct language_function): Use gengtype.
9696 (struct c_lang_decl): Likewise.
9697 * c-tree.h (struct lang_decl): Likewise.
9698 (struct lang_type): Likewise.
9699 * c-decl.c (lang_mark_tree): Use generated marker routines to mark
9700 tree language substructures.
9701
9702 * stringpool.c (mark_ident): Replace ggc_mark_nonnull_tree with
9703 ggc_mark_tree.
9704 * dwarf2asm.c (mark_indirect_pool_entry): Likewise.
9705
9706 * varasm.c (struct rtx_const): Remove 'skip' tags for scalar arrays.
9707
9708 * stmt.c (struct nesting): Add discriminator. Use gengtype to
9709 mark. Remove 'data.block.cleanup_ptr' field.
9710 (struct stmt_status): Use usual technique to mark struct nesting.
9711 (gt_ggc_mr_nesting_cond): Delete.
9712 (gt_ggc_mr_nesting_loop): Delete.
9713 (gt_ggc_mr_nesting_block): Delete.
9714 (gt_ggc_mr_nesting_case_stmt): Delete.
9715 (expand_start_cond): Set discriminator.
9716 (expand_start_loop): Likewise.
9717 (expand_start_null_loop): Likewise.
9718 (expand_start_bindings_and_block): Set discriminator. Don't set
9719 deleted fields.
9720 (expand_decl_cleanup): Replace 'cleanup_ptr' with
9721 &thisblock->data.block.cleanups.
9722 (expand_start_case): Set discriminator.
9723 (expand_start_case_dummy): Set discriminator.
9724
9725 * ggc-callbacks.c: Remove.
9726
9727 * gengtype.h (struct type): Add 'u.s.bitmap' field.
9728 (find_structure): Add 'pos' parameter.
9729 * gengtype-lex.l: Update callers to find_structure.
9730 * gengtype-yacc.y: Likewise.
9731 * gengtype.c (find_structure): Allow for structures to be defined
9732 in multiple language backends.
9733 (get_output_file_with_visibility): Include debug.h in gtype-desc.c.
9734 (counter): Rename to gc_counter.
9735 (write_gc_structure_fields): Fail when writing out fields for
9736 an incomplete structure. Ignore arrays of scalars. Handle
9737 'tree_vec' special.
9738 (write_gc_types): Reset counter for each procedure written.
9739
9740 * stmt.c (add_case_node): Use GGC to allocate struct case_node.
9741 (free_case_nodes): Delete.
9742 (expand_end_case_type): Delete call to free_case_nodes.
9743
9744 * Makefile.in (cselib.o): Include gt-<filename>.h.
9745 (gcse.o): Likewise.
9746 (profile.o): Likewise.
9747 (alias.o): Likewise.
9748 (GTFILES): Add alias.c, cselib.c, gcse.c, profile.c, and
9749 alphabetize backend files.
9750 (gt-alias.h, gt-cselib.h, gt-gcse.h, gt-profile.h): New rules.
9751 * alias.c: Use gengtype for roots.
9752 * c-common.h (struct stmt_tree_s): Use gengtype.
9753 * c-decl.c: Use gengtype for roots.
9754 * cselib.c: Use gengtype for roots.
9755 * expr.c: Use gengtype for roots.
9756 * fold-const.c: Use gengtype for roots.
9757 * gcse.c: Use gengtype for roots.
9758 * gengtype-lex.l: Handle typedefs of function types.
9759 Allow for empty array bounds.
9760 Allow processing to stop on initialisers.
9761 * gengtype-yacc.y (externstatic): Stop processing on initialisers.
9762 (semiequal): New rule.
9763 * gengtype.c (create_file): Tidy output files.
9764 (get_output_file_with_visibility): Fix paren warning. Fix bug
9765 involving multiple input files mapping to one output file.
9766 (write_gc_structure_fields): Skip arrays of scalars.
9767 (write_gc_types): Tidy output files.
9768 (write_gc_root): New function.
9769 (write_gc_roots): Fix bugs, add support for roots that are
9770 structures.
9771 * ggc-common.c (ggc_mark_rtx_ptr): Delete.
9772 (ggc_mark_tree_ptr): Delete.
9773 (ggc_add_rtx_root): Delete.
9774 (ggc_add_tree_root): Delete.
9775 (ggc_del_root): Delete.
9776 * integrate.c (get_func_hard_reg_initial_val): Use ggc_alloc to
9777 allocate struct initial_value_struct.
9778 * profile.c: Use gengtype for roots.
9779 * sdbout.c: Use gengtype for roots.
9780 * varasm.c (mark_weak_decls): Delete unused prototype.
9781 (mark_const_hash_entry): Delete unused function.
9782 * config/darwin-protos.h: Use gengtype for roots.
9783 (machopic_add_gc_roots): Delete.
9784 * config/arm/arm.c: Use gengtype for roots.
9785 * config/arm/arm.h: Use gengtype for roots.
9786 * config/c4x/c4x-protos.h: Use gengtype for roots.
9787 * config/c4x/c4x.c (c4x_add_gc_roots): Delete.
9788 * config/d30v/d30v-protos.h: Use gengtype for roots.
9789 * config/d30v/d30v.c (d30v_add_gc_roots): Delete.
9790 * config/dsp16xx/dsp16xx.c (override_options): Use gengtype for roots.
9791 * config/dsp16xx/dsp16xx.h: Use gengtype for roots.
9792 * config/ia64/ia64-protos.h: Use gengtype for roots.
9793 * config/ia64/ia64.c (ia64_add_gc_roots): Delete.
9794 * config/m68hc11/m68hc11-protos.h: Use gengtype for roots.
9795 * config/m68hc11/m68hc11.c (z_reg): Make global.
9796 (z_reg_qi): Make global.
9797 (m68hc11_add_gc_roots): Delete.
9798 * config/mcore/mcore-protos.h: Use gengtype for roots.
9799 * config/mcore/mcore.c (mcore_add_gc_roots): Delete.
9800 * config/mips/mips.c (mips_add_gc_roots): Delete.
9801 * config/mips/mips.h: Use gengtype for roots.
9802 * config/mmix/mmix.c (override_options): Use gengtype for roots.
9803 * config/mmix/mmix.h: Use gengtype for roots.
9804 * config/mn10200/mn10200.c (asm_file_start): Use gengtype for roots.
9805 * config/mn10200/mn10200.h: Use gengtype for roots.
9806 * config/pa/pa.c: Use gengtype for roots, marking.
9807 (struct deferred_plabel): Use GGC, gengtype.
9808 (pa_add_gc_roots): Delete.
9809 (mark_deferred_plabels): Delete.
9810 * config/pj/pj-protos.h: Use gengtype for roots.
9811 * config/pj/pj.h (OVERRIDE_OPTIONS): Don't define.
9812 * config/rs6000/rs6000.c: Use gengtype for roots. Don't call
9813 machopic_add_gc_roots.
9814 * config/rs6000/rs6000.h: Use gengtype for roots.
9815 * config/rs6000/t-darwin (darwin.o): Add dependency on gt-darwin.h.
9816 (gt-darwin.h): Add rule.
9817 * config/sh/sh.c: Use gengtype for roots.
9818 * config/sh/t-sh ($(out_object_file)): Add dependency on gt-sh.h.
9819 (gt-sh.h): Add rule.
9820 * config/sparc/sparc.c: Use gengtype for roots.
9821 (sparc_add_gc_roots): Delete.
9822 (struct ultrasparc_pipeline_state): Use GGC, gengtype.
9823 (mark_ultrasparc_pipeline_state): Delete.
9824 * config/sparc/sparc.h: Use gengtype for roots.
9825
9826 * Makefile.in (c-parse.o): Update dependencies.
9827 (c-common.o): Likewise.
9828 (GTFILES): Add c-common.h, c-tree.h, c-common.c, c-parse.in.
9829 Add dependencies for the files they generate.
9830 * c-common.c: Replace ggc_add_* uses with GTY annotations.
9831 * c-common.h: Likewise.
9832 * c-decl.c: Likewise.
9833 (gt_ggc_mp_binding_level): Delete.
9834 * c-lang.c: Include gtype-c.h.
9835 * c-parse.in: Replace ggc_add_* uses with GTY annotations. Include
9836 gt-c-parse.h.
9837 * c-pragma.h: Replace ggc_add_* uses with GTY annotations.
9838 (gt_ggc_mp_align_stack): Delete.
9839 * c-tree.h: Replace ggc_add_* uses with GTY annotations.
9840 * function.c: Replace ggc_add_* uses with GTY annotations.
9841 (gt_ggc_mp_function): Delete.
9842 * function.h: Replace ggc_add_* uses with GTY annotations.
9843 * gengtype.c (lang_names): New.
9844 (NUM_BASE_FILES): New.
9845 (open_base_files): Create language base files.
9846 (startswith): New.
9847 (get_file_basename): New.
9848 (get_base_file_bitmap): New.
9849 (get_output_file_with_visibility): Rename from get_output_file.
9850 Add more mappings for various C/Objc filenames.
9851 (finish_root_table): New.
9852 (write_gc_roots): Handle dependencies and scoping properly.
9853 * gengtype.h: Add prototypes for new functions.
9854 * ggc-common.c (struct deletable_root): Delete.
9855 (deletables): Delete.
9856 (ggc_add_deletable_root): Delete.
9857 (ggc_mark_roots): No need to deal with deleted functionality.
9858 * ggc.h (ggc_add_deletable_root): Delete prototype.
9859 * objc/Make-lang.in (objc-act.o): Add gtype-objc.h dependency.
9860 (gtype-objc.h): Add rule to create.
9861 * objc/config-lang.in (gtfiles): New.
9862 * objc/objc-act.c: Allocate imp_list using GGC. Replace uses of
9863 ggc_add_* with GTY markers. Include gtype-objc.h.
9864 (ggc_mark_imp_list): Delete.
9865 * objc/objc-act.h: Replace uses of ggc_add_* with GTY markers.
9866 * objc/objc-lang.c: Random Whitespace Change.
9867
9868 * except.h (exception_handler_labels): Delete.
9869 (get_exception_handler_labels): New.
9870 * except.c (exception_handler_labels): Delete.
9871 (struct eh_status): Add exception_handler_labels field.
9872 (doing_eh): Don't add exception_handler_labels as root.
9873 (free_eh_status): Don't need to free exception_handler_labels.
9874 (get_exception_handler_labels): New.
9875 (find_exception_handler_labels): Update for move of
9876 exception_handler_labels.
9877 (remove_exception_handler_label): Likewise.
9878 * cfgrtl.c (can_delete_label_p): Use get_exception_handler_labels.
9879 * jump.c (rebuild_jump_labels): Likewise.
9880 * loop.c (find_and_verify_loops): Likewise.
9881 * sched-rgn.c (is_cfg_nonregular): Likewise.
9882
9883 * gengtype.c (write_gc_structure_fields): Handle variable-length
9884 TYPE_ARRAYs.
9885
9886 * varasm.c (struct weak_syms): Use GGC, gengtype.
9887 (mark_weak_decls): Delete.
9888 (weak_decls): Likewise.
9889 (add_weak): Likewise.
9890 (remove_from_pending_weak_list): Likewise.
9891 (init_varasm_once): Likewise.
9892
9893 * Makefile.in (gtype-desc.o): Add libfuncs.h dependency.
9894 (GTFILES): Add tree.h, libfuncs.h, emit-rtl.c, explow.c,
9895 stor-layout.c, regclass.c, and lists.c.
9896 Add dependencies of gt-emit-rtl.h gt-explow.h gt-stor-layout.h
9897 gt-regclass.h and gt-lists.h on s-gtype.
9898 * emit-rtl.c: Use gengtype for roots. Include gt-emit-rtl.h.
9899 * except.c: Use gengtype for roots.
9900 * explow.c: Use gengtype for roots. Include gt-explow.h.
9901 * expr.h (init_stor_layout_once): Delete prototype.
9902 * function.c: Use gengtype for roots.
9903 * gengtype-lex.l: Add ENT_EXTERNSTATIC lexing.
9904 * gengtype-yacc.y (start): Can also be an externstatic.
9905 (externstatic): New production.
9906 (struct_fields): Correct array bounds inversion for 2-d arrays.
9907 * gengtype.c (variables): New variable.
9908 (note_variable): New function.
9909 (get_output_file): Include libfuncs.h into gtype-desc.c.
9910 (get_output_file_name): New function.
9911 (write_gc_structure_fields): Suppress warnings.
9912 (write_gc_types): Make static.
9913 (put_mangled_filename): New function.
9914 (write_gc_roots): New function.
9915 (main): Call write_gc_roots.
9916 * gengtype.h (note_variable): Prototype.
9917 (get_output_file_name): Prototype.
9918 (write_gc_types): Delete prototype.
9919 * ggc.h: Clean up unnecessary structure predefinitions.
9920 (struct ggc_root_tab): Define.
9921 (gt_ggc_m_rtx_def): Make function, not macro.
9922 (gt_ggc_m_tree_node): Likewise.
9923 * libfuncs.h: Use gengtype for roots.
9924 * lists.c: Use gengtype for roots. Include gt-lists.h.
9925 (init_EXPR_INSN_LIST_cache): Delete.
9926 * optabs.c: Use gengtype for roots.
9927 (gt_ggc_mp_optab): Delete.
9928 * optabs.h: Use gengtype for roots.
9929 * regclass.c: Use gengtype for roots. Include gt-regclass.h.
9930 * rtl.h: Use gengtype for roots.
9931 (init_EXPR_INSN_LIST_cache): Delete prototype.
9932 * stor-layout.c: Use gengtype for roots.
9933 Include gt-stor-layout.h.
9934 (init_stor_layout_once): Delete.
9935 * toplev.c: Use gengtype for roots. Delete calls to deleted
9936 routines.
9937 * tree.c: Use gengtype for roots.
9938 * tree.h: Use gengtype for roots.
9939 * varasm.c: Use gengtype for roots.
33005162 9940
e2500fed
GK
9941 * Makefile.in (GTFILES): Add @all_gtfiles@.
9942 * configure: Regenerate.
9943 * configure.in: Construct all_gtfiles from the gtfiles definitions
9944 in config-lang.in.
9945 * gengtype-yacc.y (type): Warn about duplicate structure names.
9946 * gengtype.c (get_output_file): Handle .c files in language
9947 subdirectories.
9948
9949 * Makefile.in (GTFILES): Run gengtype on all the config files
9950 and on the target .c file.
9951 * except.c (mark_eh_region): Delete.
9952 (init_eh_for_function): Use GGC on struct eh_status.
9953 (mark_eh_status): Delete.
9954 (free_eh_status): Use GGC.
9955 (expand_eh_region_start): Use GGC to
9956 (collect_eh_region_array): Allocate last_region_number using GGC.
9957 (duplicate_eh_region_1): Use GGC to allocate struct eh_region.
9958 (remove_eh_handler): Let GGC free struct eh_region.
9959 (add_call_site): Use GGC to reallocate call_site_record array.
9960 * function.c (init_machine_status): Update calling sequence.
9961 (mark_machine_status): Likewise.
9962 (mark_lang_status): Likewise.
9963 (prepare_function_start): Update init_machine_status call.
9964 (mark_function_status): Delete.
9965 (maybe_mark_struct_function): Delete.
9966 (ggc_mark_struct_function): Delete.
9967 (gt_ggc_mp_function): New.
9968 (gt_ggc_mr_machine_function): New.
9969 (gt_ggc_mr_language_function): New.
9970 (init_function_once): Use canonical names.
9971 * function.h (struct function): Use gengtype.
9972 (init_machine_status): Return the structure.
9973 (mark_machine_status): Take a 'void *'.
9974 (mark_lang_status): Likewise.
9975 * ggc-common.c (ggc_mark_trees): Use canonical name for
9976 ggc_mark_struct_function.
9977 * tree.h (ggc_mark_struct_function): Delete prototype.
9978 * config/alpha/alpha.c (alpha_mark_machine_status): Delete.
9979 (alpha_init_machine_status): Likewise.
9980 (override_options): Use canonical name for alpha_mark_machine_status.
9981 * config/alpha/unicosmk.h (struct machine_function): Use gengtype.
9982 * config/arm/arm.h (struct machine_function): Use gengtype.
9983 * config/arm/arm.c (arm_mark_machine_status): Delete.
9984 (arm_init_machine_status): Update calling sequence.
9985 (arm_init_expanders): Use canonical name for arm_mark_machine_status.
33005162 9986 * config/cris/cris.c (cris_init_machine_status): Update
e2500fed
GK
9987 calling sequence.
9988 * config/d30v/d30v.h (struct machine_function): Use gengtype.
33005162 9989 * config/d30v/d30v.c (d30v_init_machine_status): Update
e2500fed
GK
9990 calling sequence.
9991 (d30v_mark_machine_status): Delete.
9992 * config/i386/i386.c: Include gt-i386.h.
9993 (struct machine_function): Use gengtype.
9994 (ix86_init_machine_status): Update calling sequence.
9995 (ix86_mark_machine_status): Delete.
9996 (override_options): Use canonical namke for ix86_mark_machine_status.
9997 * config/ia64/ia64.h (struct machine_function): Use gengtype.
33005162 9998 * config/ia64/ia64.c (ia64_init_machine_status): Update calling
e2500fed
GK
9999 sequence.
10000 (ia64_mark_machine_status): Delete.
33005162 10001 (ia64_override_options): Use canonical name for
e2500fed 10002 ia64_mark_machine_status.
33005162 10003 * config/mmix/mmix.c (mmix_init_machine_status): Update calling
e2500fed
GK
10004 sequence.
10005 * config/rs6000/rs6000.c (rs6000_init_machine_status): Likewise.
10006 * config/xtensa/xtensa.c (xtensa_init_machine_status): Likewise.
10007 * gengtype.c (get_output_file): Fix warning.
10008 (main): Add prototype to suppress warning.
10009 * tree.c: Remove tree_hash_mark prototype.
10010
10011 * tree.h (init_stmt): Delete prototype.
10012 * toplev.c (lang_independent_init): Don't call init_stmt.
10013 * stmt.c (ALLOC_NESTING): Use GGC for 'struct nesting'.
10014 (stmt_obstack): Delete.
10015 (POPSTACK): No need to free 'struct nesting'.
10016 (gt_ggc_mr_nesting_cond): Use canonical names.
10017 (gt_ggc_mr_nesting_loop): Use canonical names.
10018 (gt_ggc_mr_nesting_block): Use canonical names.
10019 (gt_ggc_mr_nesting_case_stmt): Use canonical names.
10020 (mark_stmt_status): Delete.
10021 (init_stmt): Delete.
10022 (clear_last_expr): Clear both last_expr_type and last_expr_value.
10023 Use it everywhere that last_expr_type was cleared.
10024 * lists.c (init_EXPR_INSN_LIST_cache): Use ggc_add_deletable_root.
10025 (zap_lists): Delete.
10026 * ggc.h (ggc_add_deletable_root): Prototype.
10027 (mark_stmt_status): Remove prototype.
10028 * ggc-common.c (ggc_add_deletable_root): New.
10029 (ggc_mark_roots): Handle deletable roots.
10030 * function.c (ggc_mark_struct_function): Use canonical name
10031 for mark_stmt_status.
10032 * emit-rtl.c (free_sequence_stack): New.
10033 (start_sequence): Use a freelist for sequences.
10034 (end_sequence): Likewise.
10035 (init_emit_once): Add free_sequence_stack as a deleteable root.
10036 * c-pragma.c Include gt-c-pragma.h.
10037 (struct align_stack): Use gengtype.
10038 (push_alignment): Use GGC for struct align_stack.
10039 (mark_align_stack): Delete.
10040 (gt_ggc_mp_align_stack): New.
10041 (init_pragma): Use canonical name for mark_align_stack.
10042 * c-decl.c: Include gt-c-decl.h.
10043 (struct binding_level): Use gengtype.
10044 (make_binding_level): Use GGC; handle the freelist here.
10045 (pop_binding_level): New.
10046 (pushlevel): Move code into make_binding_level.
10047 (push_label_level): Likewise.
10048 (poplevel): Move code into pop_binding_level.
10049 (pop_label_level): Likewise.
10050 (mark_binding_level): Delete.
10051 (gt_ggc_mp_binding_level): New.
10052 (c_init_decl_processing): Use canonical name for mark_binding_level.
10053 Add free_binding_level as deletable root.
10054 (mark_c_function_context): Use canonical name for mark_binding_level.
10055 * Makefile.in (c-decl.o): Add gt-c-decl.h.
10056 (c-pragma.o): Add gt-c-pragma.h.
10057 (GTFILES): Add c-decl.c and c-pragma.c.
10058 (gt-c-decl.h, gt-c-pragma.h): Create using gengtype.
10059
10060 * tree.c (struct type_hash): Use gengtype.
10061 (init_obstacks): Use canonical name for type_hash_mark.
10062 (type_hash_mark): Delete.
10063 Include gt-tree.h.
10064 * rtl.h (struct mem_attrs): Use gengtype.
10065 * optabs.h (struct optab): Use gengtype.
10066 * optabs.c (expand_binop): Squish signed/unsigned warning.
10067 (mark_optab): Make local, use canonical name, use autogenerated
10068 marker procedure.
10069 (init_optabs): Use canonical name for mark_optab.
10070 (new_optab): Use GGC to allocate optabs.
10071 * ggc.h: Delete mark_optab prototype.
10072 * ggc-common.c (ggc_mark_rtx_children): Use canonical name for
10073 mem_attrs marker procedure.
10074 * gengtype.c (get_output_file): Include headers in gtype-desc.c
10075 explicitly rather than deducing them from file names.
10076 (write_gc_structure_fields): Handle arrays of structures.
10077 (main): Return non-zero exit code if errors occur during output.
10078 * emit-rtl.c (mem_attrs_mark): Delete.
10079 (init_emit_once): Use canonical name for mem_attrs marker procedure.
10080 * Makefile.in (gtype-desc.o): Explicitly name dependencies.
10081 (tree.o): Depend on gt-tree.h.
10082 (GTFILES): Add rtl.h, optabs.h, tree.c.
10083 (gt-tree.h): Add it to s-gtype rule.
10084
10085 * .cvsignore: Ignore gengtype flex/bison generated files.
10086 * Makefile.in (GGC_H): Add gtype-desc.h.
10087 (OBJS): Add gtype-desc.o.
10088 (GEN): Add gengtype.
10089 (STAGESTUFF): Add gengtype.
10090 (varasm.o): Add gt-varasm.h.
10091 (stmt.o): Add gt-stmt.h.
10092 (except.o): Add gt-except.h.
10093 (integrate.o): Add gt-integrate.h.
10094 (GTFILES): New.
10095 Add new rules for new files.
10096 * configure: Regenerate.
10097 * configure.in: Correct defaults.h paths.
10098 * emit-rtl.c (mark_sequence_stack): Delete.
10099 (mark_emit_status): Delete.
10100 (start_sequence): Allocate sequence structures using GGC.
10101 (end_sequence): Allocate sequence structures using GGC.
10102 * except.c: Use gengtype for various structures. Include
10103 gt-except.h.
10104 * expr.c (mark_expr_status): Delete.
10105 * function.c: Use gengtype for various structures. Include
10106 gt-function.h.
10107 (mark_function_status): Use standard gt_ggc names for marker functions.
10108 (ggc_mark_struct_function): Likewise.
10109 * function.h: Use gengtype for various structures.
10110 * gengtype-lex.l: New file.
10111 * gengtype-yacc.y: New file.
10112 * gengtype.c: New file.
10113 * gengtype.h: New file.
10114 * ggc.h: Include gtype-desc.h. Alias some marker procedures to
10115 the standard names. Remove some now-unnecessary prototypes.
10116 * integrate.c: Use gengtype for various structures. Include
10117 gt-integrate.h.
10118 (mark_hard_reg_initial_vals): Delete.
10119 * integrate.h (mark_hard_reg_initial_vals): Delete.
10120 * stmt.c: Use gengtype for various structures. Include
10121 gt-stmt.h.
10122 (mark_case_node): Delete.
10123 (mark_goto_fixup): Delete.
10124 (mark_stmt_status): Use standard gt_ggc names for marker functions.
10125 * system.h: Define GTY to empty. In flex/bison files,
10126 don't poison malloc or realloc, instead just define them to
10127 xmalloc and xrealloc.
10128 * varasm.c: Use gengtype for various structures. Include
10129 gt-varasm.h. Use standard gt_ggc names for marker functions.
10130 (mark_pool_constant): Delete.
10131 (mark_varasm_status): Delete.
10132 (decode_rtx_const): #if 0 out non-typesafe hack.
10133
10134 * function.h (free_lang_status): Mark as obsolete.
10135 * function.c (free_lang_status): Mark as obsolete.
10136 * c-decl.c (push_c_function_context): Use GC to allocate and free
10137 struct language_function.
10138 (pop_c_function_context): Likewise.
10139 * c-common.c (mark_c_language_function): Mark struct
10140 language_function.
10141
10142 * doc/tm.texi (Per-Function Data): Don't document free_machine_status.
10143 Document that the machine_function structures must be allocated
10144 using GC. Update mark_machine_status documentation.
10145 * function.h: Don't declare free_machine_status.
33005162 10146 * function.c (free_machine_status): Don't define.
e2500fed
GK
10147 (free_after_compilation): Don't call free_machine_status.
10148 (ggc_mark_struct_function): Mark f->machine. Call
10149 mark_machine_status only on non-NULL pointers.
10150 * system.h: Poison free_machine_status.
10151 * config/xtensa/xtensa.c (xtensa_init_machine_status): Use GC on
10152 struct machine_function.
10153 (xtensa_free_machine_status): Delete.
10154 (override_options): Don't set free_machine_status.
10155 * config/rs6000/rs6000.c (rs6000_override_options): Don't set
10156 free_machine_status.
10157 (rs6000_init_machine_status): Use GC on struct machine_function.
10158 (rs6000_free_machine_status): Delete.
10159 * config/ia64/ia64.c (ia64_init_machine_status): Use GC on struct
10160 machine_function.
10161 (ia64_mark_machine_status): Likewise.
10162 (ia64_free_machine_status): Delete.
10163 (ia64_override_options): Don't set free_machine_status.
10164 * config/i386/i386.c (override_options): Don't set
10165 free_machine_status.
10166 (ix86_init_machine_status): Use GC on struct machine_function.
10167 (ix86_mark_machine_status): Likewise.
10168 (ix86_free_machine_status): Delete.
10169 * config/d30v/d30v.c: (d30v_init_machine_status): Use GC on struct
10170 machine_function.
10171 (d30v_mark_machine_status): Likewise.
10172 (d30v_free_machine_status): Delete.
10173 (d30v_init_expanders): Don't set free_machine_status.
10174 * config/arm/arm.c (arm_mark_machine_status): Use GC on struct
10175 machine_function.
10176 (arm_init_machine_status): Likewise.
10177 (arm_free_machine_status): Delete.
10178 (arm_init_expanders): Don't set free_machine_status.
10179 * config/alpha/alpha.c (override_options): Don't set
10180 free_machine_status.
10181 (alpha_init_machine_status): Use GC on struct machine_function.
10182 (alpha_mark_machine_status): Likewise.
10183 (alpha_free_machine_status): Delete.
10184
10185 * varasm.c (compare_constant): Fix typo.
10186
10187 * varasm.c: Don't include obstack.h.
10188 (struct varasm_status): x_const_rtx_hash_table is a hash of rtxes.
10189 (struct rtx_const): Give substructures names, improve formatting.
10190 (struct constant_descriptor): Delete.
10191 (struct constant_descriptor_tree): New, based on constant_descriptor.
10192 (const_hash_table): Is a hash table of trees.
10193 (mark_const_hash_entry): Is used for hashes of trees. Mark
10194 constant_descriptor_tree structure.
10195 (mark_const_str_htab_1): Mark deferred_string structure.
10196 (compare_constant): Rewrite to compare trees.
10197 (compare_constant_1): Delete.
10198 (record_constant): Delete.
10199 (record_constant_1): Delete.
10200 (output_constant_def): Use struct constant_descriptor_tree.
10201 Don't duplicate trees twice.
10202 (struct constant_descriptor_rtx): New.
10203 (struct pool_constant): Used for rtx constants.
10204 (init_varasm_status): Update for change to struct varasm_status.
10205 (mark_varasm_status): Likewise.
10206 (free_varasm_status): Delete.
10207 (compare_constant_rtx): Rewrite to handle constant_descriptor_rtx.
10208 (record_constant_rtx): Likewise.
10209 (mem_for_const_double): Update to use struct constant_descriptor_rtx.
10210 (force_const_mem): Likewise.
10211 * Makefile.in (varasm.o): Doesn't depend on obstack.h.
10212 * function.c (free_after_compilation): Don't use free_varasm_status.
10213 * function.h: Don't prototype free_varasm_status.
10214
10215 * ggc-common.c (ggc_realloc): Handle X being NULL.
10216
10217 * ggc-common.c (ggc_realloc): New function.
10218 * ggc.h: Prototype it.
10219 * emit-rtl.c (free_emit_status): Delete.
10220 (init_emit): Allocate emit subarrays using GC.
10221 (gen_reg_rtx): Reallocate subarrays using GC.
10222 (init_emit): Use GC to allocate 'struct emit_status' and its
10223 subarrays.
10224 (mark_emit_status): Mark structure and its subarrays.
10225 * stmt.c (free_stmt_status): Delete.
10226 * expr.c (free_expr_status): Delete.
10227 * function.h: Remove prototypes for deleted functions.
10228 * function.c (free_after_compilation): Don't use deleted functions.
10229 Don't call free() on x_parm_reg_stack_loc.
10230 (free_after_parsing): Don't use free_stmt_status.
10231 (assign_parms): Use GC to allocate and resize x_parm_reg_stack_loc.
10232 (mark_function_status): Mark x_parm_reg_stack_loc.
10233
10234 * varasm.c (init_varasm_status): Use GC to allocate
10235 'struct varasm_status' and its fields x_const_rtx_hash_table
10236 and x_const_rtx_sym_hash_table.
10237 (mark_varasm_status): Mark them.
10238 (free_varasm_status): Use GC to free them.
10239 * expr.c (init_expr): Use GC to allocate 'struct expr_status'.
10240 (mark_expr_status): Mark the structure itself.
10241 (free_expr_status): Use GC to free the structure.
10242 * stmt.c (free_stmt_status): Use GC to free 'struct stmt_status'.
10243 (mark_stmt_status): Mark the 'struct stmt_status' itself.
10244 (init_stmt_for_function): Allocate the structure for GC.
10245
10246 * dwarf2out.c (lookup_type_die): Use TYPE_SYMTAB_DIE.
10247 (equate_type_number_to_die): Likewise.
10248 * tree.h (TYPE_SYMTAB_DIE): New macro.
10249 (struct die_struct): Predeclare.
10250 (struct tree_type): Add field symtab.die. Add a tag
10251 to the union type of field symtab.
10252
10253 * varray.h (VARRAY_RTVEC_INIT): A varray of rtvec contains
10254 'struct rtvec_def *', not 'struct rtvec_def'.
10255
10256 * function.h (original_arg_vector): Make a real rtvec.
10257 * function.c (ggc_mark_struct_function): Adjust.
10258 * integrate.c (expand_inline_function): Adjust.
10259
b655555e
JT
102602002-06-04 Jason Thorpe <thorpej@wasabisystems.com>
10261
10262 * config.gcc (sh5-*-netbsd*, sh5l*-*-netbsd*)
10263 (sh64-*-netbsd*, sh64l*-*-netbsd*): New targets.
10264 * config/sh/netbsd-elf.h (TARGET_VERSION_ENDIAN)
10265 (TARGET_VERSION_CPU): Define according to the
10266 default target.
10267 (TARGET_VERSION): Use TARGET_VERSION_ENDIAN and
10268 TARGET_VERSION_CPU.
10269 (TARGET_OS_CPP_BUILTINS): Use NETBSD_OS_CPP_BUILTINS_LP64
10270 if TARGET_SHMEDIA64.
10271 (LINK_DEFAULT_CPU_EMUL): Define according to the
10272 default target.
10273 (SUBTARGET_LINK_EMUL_SUFFIX): Define.
10274 (SUBTARGET_LINK_SPEC): Define.
10275 (LINK_SPEC): Use SH_LINK_SPEC.
10276 (ASM_SPEC): Remove.
10277 (TARGET_DEFAULT): Use TARGET_CPU_DEFAULT.
10278 (FUNCTION_PROFILER): Add cases for TARGET_SHMEDIA32
10279 and TARGET_SHMEDIA64 which abort, for now.
10280 * config/sh/t-netbsd-sh5: New file.
10281 * config/sh/t-netbsd-sh5-32: New file.
10282 * config/sh/t-netbsd-sh5-64: New file.
10283
6d8fd7bb
RH
102842002-06-03 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
10285 Richard Henderson <rth@redhat.com>
10286
10287 * config/alpha/alpha.c (reg_or_const_int_operand): New.
10288 (some_operand, input_operand): Accept CONST_VECTOR.
10289 (alpha_extra_constraint): Add 'W'.
10290 (alpha_expand_zap_mask): New.
10291 (alpha_expand_builtin_vector_binop): New.
10292 (enum alpha_builtin): New.
10293 (zero_arg_builtins, one_arg_builtins, two_arg_builtins): New.
10294 (alpha_init_builtins, alpha_expand_builtin): New.
10295 (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): New.
10296 * config/alpha/alpha.h (VECTOR_MODE_SUPPORTED_P): New.
10297 (PREDICATE_CODES): Update.
10298 * config/alpha/alpha-protos.h: Update.
10299 * config/alpha/alpha.md (UNSPEC_CMPBGE, UNSPEC_ZAP,
10300 UNSPEC_AMASK, UNSPEC_IMPLVER, UNSPEC_PERR, UNSPECV_RPCC): New.
10301 (movv8qi, movv8qi_fix, movv8qi_nofix): New.
10302 (movv4hi, movv4hi_fix, movv4hi_nofix): New.
10303 (movv2si, movv2si_fix, movv2si_nofix): New.
10304 (uminv8qi3, sminv8qi3, uminv4hi3, sminv4hi3): New.
10305 (umaxv8qi3, smaxv8qi3, umaxv4hi3, smaxv4hi3): New.
10306 (builtin_cmpbge, builtin_extql, builtin_extqh, builtin_zap,
10307 builtin_zap_1, builtin_zapnot, builtin_zapnot_1, builtin_amask,
10308 builtin_implver, builtin_rpcc, builtin_minub8, builtin_minsb8,
10309 builtin_minuw4, builtin_minsw4, builtin_maxub8, builtin_maxsb8,
10310 builtin_maxuw4, builtin_maxsw4, builtin_perr, builtin_pklb,
10311 pklb, builtin_pkwb, pkwb, builtin_unpkbl, unpkbl,
10312 builtin_unpkbw, unpkbw): New.
10313 * doc/extend.texi (Alpha Built-in Functions): New.
10314
618939de
RH
103152002-06-03 Richard Henderson <rth@redhat.com>
10316
10317 * crtstuff.c (__EH_FRAME_BEGIN__): Conditionalize on
10318 USE_EH_FRAME_REGISTRY, not EH_FRAME_SECTION_NAME.
10319
73db7137
RH
103202002-06-03 Richard Henderson <rth@redhat.com>
10321
6933647a
RH
10322 * config/alpha/alpha-protos.h: Eliminate unneeded ifdefs.
10323
73db7137
RH
10324 * config/alpha/alpha.c (reg_or_0_operand): Use CONST0_RTX.
10325 (const0_operand): New.
10326 (reg_or_fp0_operand, fp0_operand): Remove.
10327 * config/alpha/alpha.h (PREDICATE_CODES): Update.
10328 * config/alpha/alpha-protos.h: Update.
10329 * config/alpha/alpha.md: Replace all uses of reg_or_fp0_operand
10330 and fp0_operand with reg_or_0_operand and const0_operand.
10331
a6f7c915
DN
103322002-06-03 Dan Nicolaescu <dann@godzilla.ics.uci.edu>
10333
10334 * alias.c (nonoverlapping_memrefs_p): Fix off by one error.
10335
b2f02503
RS
103362002-06-03 Roger Sayle <roger@eyesopen.com>
10337
10338 * gcse.c (cprop_jump): Use single_set to get the pattern
10339 from the setcc argument.
10340
4fcc2065
GDR
103412002-06-03 Gabriel Dos Reis <gdr@codesourcery.com>
10342
33005162 10343 * diagnostic.h (diagnostic_count): Move from output_buffer to
4fcc2065
GDR
10344 diagnostic_context.
10345 (diagnostic_kind_count): Adjust definition.
10346
5204d665
JH
10347Mon Jun 3 19:11:53 CEST 2002 Jan Hubicka <jh@suse.cz>
10348
10349 * except.c (except.c): Do not rebuild CFG.
10350 * toplev.c (rest_of_compilation): Recompute CFG after sibcall
10351 optimization.
10352
0478a14c
JH
10353Mon Jun 3 11:53:01 CEST 2002 Jan Hubicka <jh@suse.cz>
10354
10355 * integrate.c (copy_insn_list): Properly pace the INSN_SCOPE copies.
10356 * toplev.c: Include cfglahout.h
10357 * Makefile.in (toplev.c): Add dependnecy.
10358
30efe578
NB
103592002-06-03 Neil Booth <neil@daikokuya.demon.co.uk>
10360
10361 * config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): New.
10362 (CPP_CPU32_SPEC, CPP_CPU64_SPEC): Kill.
10363 (CPP_CPUCOMMON_SPEC): Rename CPP_CPU_SPEC.
10364
a782515b
JT
103652002-06-03 Jason Thorpe <thorpej@wasabisystems.com>
10366
10367 * config/ns32k/netbsd.h: Update copyright years.
10368 (TARGET_OS_CPP_BUILTINS): Define.
10369 (CPP_PREDEFINES): Remove.
10370 * config/ns32k/ns32k.h (CPP_PREDEFINES): Remove.
10371 (TARGET_CPU_CPP_BUILTINS): Define.
10372
0fb7aeda
KH
103732002-06-02 Kazu Hirata <kazu@cs.umass.edu>
10374
589005ff 10375 * emit-rtl.c: Fix formatting.
0fb7aeda
KH
10376 * errors.h: Likewise.
10377 * except.c: Likewise.
10378 * explow.c: Likewise.
10379 * expmed.c: Likewise.
10380 * expr.c: Likewise.
10381 * expr.h: Likewise.
10382
1c8ec18b
KH
103832002-06-02 Kazu Hirata <kazu@cs.umass.edu>
10384
10385 * config/h8300/elf.h: Fix formatting.
10386 * config/h8300/rtems.h: Likewise.
10387
86cb04f6
JT
103882002-06-03 Jason Thorpe <thorpej@wasabisystems.com>
10389
10390 * config/rs6000/netbsd.h (DRAFT_V4_STRUCT_RET): Remove.
10391
5d83269d
TT
103922002-06-02 Tom Tromey <tromey@redhat.com>
10393
10394 * fixinc/fixincl.x: Rebuilt.
10395 * fixinc/inclhack.def (thread_keyword): Match `*__thread'.
10396
62f6a494
NB
103972002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
10398
10399config/i370:
10400 * i370.h (TARGET_CPU_CPP_BUILTINS): Use.
10401 * linux.h: Use TARGET_OS_CPP_BUILTINS rather than CPP_PREDEFINES.
10402 * mvs.h: Similarly.
10403 * oe.h: Similarly.
10404
0acb0203
JH
10405Mon Jun 3 00:18:20 CEST 2002 Jan Hubicka <jh@suse.cz>
10406
10407 * final.c (final): Allow notes to not have computed addresses;
10408 kill no longer needed STACK_REGS ifdef.
10409
ada8d98a
RH
104102002-06-02 Richard Henderson <rth@redhat.com>
10411
10412 * gcse.c (bypass_conditional_jumps): Fix typo last change.
10413
ba4f7968
JH
10414Sun Jun 2 23:02:11 CEST 2002 Jan Hubicka <jh@suse.cz>
10415
ada8d98a
RH
10416 * loop.c (emit_prefetch_instructions): Properly place the address
10417 computation.
ba4f7968
JH
10418
10419Sun Jun 2 22:56:48 CEST 2002 Jan Hubicka <jh@suse.cz>
10420
10421 * basic-block.h (basic_block_for_insn, BLOCK_FOR_INSN): Kill.
10422 (set_block_for_insn): Turn into macro.
10423 * cfgbuild.c (find_basic_block): Do not clear basic_block_for_insn.
10424 * cfglayout.c (insn_scopes): Kill.
10425 (scope_to_insns_initialize): Do not use insn_scopes.
10426 (scope_to_insns_finalize): Likewise.
10427 (duplicate_insn_chain): Likewise.
10428 (cfg_layout_initialize, cfg_layout_finalize): Do not turn scopes to notes.
10429 * cfgrtl.c (basic_block_for_insn): Kill.
10430 (delete_insn_and_edges, delete_insn_chain_and_edges): Simplify.
10431 (create_basic_block_structure): Use reorder_insns.
10432 (compute_bb_for_insn): Do not use basic_block_for_insn.
10433 (merge_blocks_nomove): Likewise.
10434 (update_bb_for_insn): Likewise.
10435 (verify_flow_info): Likewise.
10436 (set_block_for_insn): Kill.
10437 * combine.c (try_combine): Update gen_rtx_INSN call.
10438 * emit-rtl.c (gen_label_rtx): Update gen_rtx_CODE_LABEL call.
10439 (mark_insn_raw, make_jump_insn_raw, make_call_insn_raw): Clear
10440 scopes and BBs.
10441 (add_insn_after, add_insn_before, remove_insn, reorder_insns): Simplify.
10442 (emit_note_before, emit_note_after, emit_line_note_after, emit_note):
10443 Clear BB.
10444 (emit_insns_after): Simplify.
10445 (emit_copy_of_insn_after): Copy scope.
10446 * final.c (final_start_function): Lower scopes.
10447 * flow.c (check_function_return_warnings): Do not rely on deleted insn.
10448 * integrate.c (copy_insn_list): Cope scopes.
10449 * jump.c (duplicate_loop_exit_test): LIkewise; simplify.
10450 * loop.c (loop_optimize): Do not care block notes.
10451 * print-rtl.c (print_rtx): Print BB.
10452 * recog.c (apply_change_group): Simplify.
10453 * rtl.c (copy_rtx): Handle 'B'.
10454 * rtl.def (INSN, CALL_INSN, JUMP_INSN, NOTE): Add extra fields.
10455 * rtl.h (Field accessors): Update indexes.
10456 * sched-ebb.c (schedule_ebbs): Do not lower notes.
10457 * sched-rgn.c (schedule_insns): Likewise.
10458 * toplev.c (rest_of_compilation): Lower notes.
10459 * unroll.c (unroll_loop): Do not care scoping notes.
10460 (copy_loop_body): Copy scopes.
10461
537fc532
NB
104622002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
10463
10464config/h8300:
10465 * elf.h: Use TARGET_OS_CPP_BUILTINS rather than
10466 SUBTARGET_SPEC.
10467 * rtems.h: Similarly.
10468 * h8300.h (CPP_PREDEFINES, CPP_SPEC, SUBTARGET_CPP_SPEC,
10469 EXTRA_SPECS, SUBTARGET_EXTRA_SPECS): Remove.
10470 (TARGET_CPU_CPP_BUILTINS): Use.
10471
ab780373
RH
104722002-06-02 Richard Henderson <rth@redhat.com>
10473
10474 * alias.c: Include target.h.
10475 (mark_constant_function): Use targetm.binds_local_p instead
10476 of checking TREE_PUBLIC ourselves.
10477 * Makefile.in (alias.o): Add TARGET_H.
10478
b9305c66
NB
104792002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
10480
10481 * c-lex.c: Update copyright and file description.
10482
0ac3e0c4
NB
104832002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
10484
10485 * config/fr30/fr30.h: Update to new CPP macros.
10486
be3a1d46
NB
104872002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
10488
10489 * config/dsp16xx/dsp16xx.h: Update to new CPP macros.
10490
ceeedfc1 104912002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
a8fd5963 10492 Zack Weinberg <zack@codesourcery.com>
ceeedfc1
NB
10493
10494 * c-common.c (c_common_init): Override cpplib's default
10495 warn_long_long setting.
10496 * c-lex.c (lex_number): Replace with interpret_integer,
10497 interpret_float, narrowest_unsigned_type and
10498 narrowest_signed_type, taking advantage of the new
10499 cpplib functionality.
10500 * cpperror.c (_cpp_begin_message): If a warning is turned
10501 into an error, avoid printing "warning:".
10502 * cppexp.c (cpp_num_sign_extend): New.
10503 * cppinit.c: Update comment.
10504 * cpplib.h (cpp_num_sign_extend): New.
10505 * tree.h: Update comment.
10506
27e511e0
GDR
105072002-06-02 Gabriel Dos Reis <gdr@codesourcery.com>
10508
10509 * diagnostic.h (struct diagnostic_context): Add new member
33005162 10510 internal_error.
27e511e0
GDR
10511 (internal_error_function): Remove declaration.
10512 * diagnostic.c (internal_error_function): Remove definition..
10513 (internal_error): Adjust use.
10514
818b6b7f
RH
105152002-06-02 Richard Henderson <rth@redhat.com>
10516
10517 * rtl.h (CC0_P): New.
10518 * gcse.c (cprop_jump): Use it with single_set. Tweak dump text.
10519 (cprop_insn): Allow any mode register; use CC0_P. CSE out single_set.
10520 (bypass_block): Save old dest block for dump text.
10521 (bypass_conditional_jumps): Allow any mode register; use CC0_P.
10522 Allow only true SET insns, not single_set.
10523
167143a0
GDR
105242002-06-02 Gabriel Dos Reis <gdr@codesourcery.com>
10525
10526 * diagnostic.c (diagnostic_finish): Rename to output_flush.
10527 (clear_disgnostic_info): Rename to output_clear_data. Use false
10528 instead of 0 for boolean value.
10529 Adjust function call throughout.
10530
eae4bc56
JH
10531Sun Jun 2 19:15:27 CEST 2002 Jan Hubicka <jh@suse.cz>
10532
10533 * cfgrtl.c (commit_one_edge_insertion): Fix warning.
10534 * gcse.c (bypass_conditional_jumps): CSE out single_set call.
10535
9eb404a0
NB
105362002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
10537
10538 * d30v.h (CPP_PREDEFINES): Replace with
10539 (TARGET_CPU_CPP_BUILTINS): New.
10540
53e8b0b8
RS
105412002-06-02 Roger Sayle <roger@eyesopen.com>
10542
10543 * config/alpha/alpha.h [ASM_OUTPUT_LABELREF]: Fix typo.
10544
92e34b67
JH
10545Sun Jun 2 12:11:52 CEST 2002 Jan Hubicka <jh@suse.cz>
10546
10547 * gcse.c (bypass_conditional_jumps): Use single set to obtain set.
10548
e7e9d242
RH
105492002-06-02 Richard Henderson <rth@redhat.com>
10550
10551 * rtlanal.c (volatile_refs_p): Not automatically true for CALL.
10552
9af145ae
MM
105532002-06-02 Marek Michalkiewicz <marekm@amelek.gda.pl>
10554
10555 Support for C++ constructors/destructors.
10556 * config/avr/avr.c (avr_output_function_epilogue): Jump to exit()
10557 instead of looping if main() returns.
10558 (asm_file_start): Output global symbols that cause .data and .bss
10559 initialization code to be linked in, unconditionally for now.
10560 (avr_asm_out_ctor, avr_asm_out_dtor): New functions.
10561 * config/avr/avr.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): New.
10562 (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
10563 (LIBSTDCXX): New.
10564 * config/avr/libgcc.S (_exit): Split in .fini9 and .fini0 sections.
10565 (__tablejump__): New.
10566 (__do_copy_data, __do_clear_bss): New.
10567 (__do_global_ctors, __do_global_dtors): New.
10568 * config/avr/t-avr (LIB1ASMFUNCS): Add _copy_data, _clear_bss,
10569 _ctors, _dtors.
10570
0d66ad57
NB
105712002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
10572
10573 * c4x/c4x.h (TARGET_CPU_CPP_BUILTINS): New.
10574 (CPP_SPEC, CPP_PREDEFINES): Kill.
10575 * c4x/rtems.h (CPP_PREDEFINES): Kill.
10576 (TARGET_OS_CPP_BUILTINS): New.
10577
5c856b23
JH
10578Sat Jun 1 23:29:51 CEST 2002 Jan Hubicka <jh@suse.cz>
10579
10580 * Makefile.in (tracer.o): New.
10581 * params.def (TRACER_*): New options.
10582 * rtl.h (tracer): Declare.
10583 * timevar.def (TV_TRACER): New.
10584 * toplev.c (dump_file_index): Add DFI_tracer.
10585 (dump_file_info): Add tracer.
10586 (flag_tracer): New.
10587 (lang_indepdenent_options): Add tracer.
10588 (rest_of_compilation): Call tracer.
10589 * tracer.c: New file.
10590 * invoke.texi (-ftracer): Document.
10591 (--param tracer-*): Document.
10592
e2405951
DB
105932002-06-01 Daniel Berlin <dberlin@dberlin.org>
10594
10595 * tree-inline.c (expand_call_inline): Make the statement
33005162 10596 expression we generate have a COMPOUND_STMT.
e2405951 10597
0e3f0221
RS
105982002-06-01 Roger Sayle <roger@eyesopen.com>
10599
10600 * gcse.c (cprop_cc0_jump): Function deleted.
10601 (cprop_jump): Take an additional argument which is the possibly
10602 NULL cc setting insn immediately before the conditional jump.
10603 When a MODE_CC set is present, substitute it into the JUMP_INSN
10604 before attempting the constant propagation.
10605 (cprop_insn): Recognize cc setters followed by conditional jumps
10606 as a special case. Use cprop_jump instead of cprop_cc0_jump.
10607 (cprop_one_pass): Call bypass_conditional_jumps if altering jumps.
10608 (find_bypass_set): New function based upon find_avail_set used by
10609 cprop, but finds constant expressions available at the end of
10610 basic blocks.
10611 (bypass_block): New function. Given a basic block that begins
10612 with a conditional jump and multiple incoming edges, perform
10613 the jump bypass optimization.
10614 (bypass_conditional_jumps): New function. Call bypass_block with
10615 each suitable basic block in the CFG using a simple single pass.
10616
378393da
RS
106172002-06-01 Roger Sayle <roger@eyesopen.com>
10618
10619 * tree.c (real_minus_onep): New function to test for -1.0.
10620 * fold-const.c (fold) [MULT_EXPR]: Optimize -1.0*x into -x.
10621
01c58f26
RS
106222002-06-01 Roger Sayle <roger@eyesopen.com>
10623
10624 * fold-const.c (fold_truthop): Transform "a || b" into "(a|b) != 0"
10625 and "!p && !q" into "(p|q) == 0" under suitable conditions.
10626
91b12472
AJ
106272002-06-01 Andreas Jaeger <aj@suse.de>
10628
10629 * cppexp.c (cpp_classify_number): Cast precission to int for
10630 correct printf format.
10631
01e9ae86
MM
106322002-06-01 Marek Michalkiewicz <marekm@amelek.gda.pl>
10633
10634 * config/avr/avr.c (avr_mcu_types): Remove devices that were once
10635 expected, but don't really exist: atmega83, atmega85, attiny10.
10636 * config/avr/avr.h (LINK_SPEC): Update to use the new avr[1-5] ld
10637 emulations for all devices.
10638 (CRT_BINUTILS_SPECS): Remove atmega83, atmega85, attiny10.
10639 * config/avr/t-avr (MULTILIB_MATCHES): Remove atmega83, atmega85.
10640
be1e06df
KH
106412002-06-01 Kazu Hirata <kazu@cs.umass.edu>
10642
10643 * config/h8300/h8300-protos.h: Add a prototype for
10644 h8300_shift_needs_scratch_p.
10645 * config/h8300/h8300.c (h8300_shift_needs_scratch_p): New.
10646 * config/h8300/h8300.h (OK_FOR_R): New.
10647 (OK_FOR_S): Likewise.
10648 (OK_FOR_T): Likewise.
10649 (EXTRA_CONSTRAINT): Call OK_FOR_R, OK_FOR_S, and OK_FOR_T.
10650 * config/h8300/h8300.md (anonymous shift patterns): Use
10651 constraints R, S, and T.
10652
2ecfd709
ZD
10653Sat Jun 1 11:23:22 CEST 2002 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
10654
10655 * basic-block.h (struct basic_block_def): New field loop_father.
10656 (BB_VISITED): New flag.
10657 (struct loop): New field pred, removed field shared.
10658 (struct loops): New field parray.
10659 (LOOP_EXITS_DOMS): Removed.
10660 (flow_loop_tree_node_add, flow_loop_tree_node_remove,
10661 flow_loop_nested_p, flow_bb_inside_loop_p, get_loop_body,
10662 dfs_enumerate_from, loop_preheader_edge, loop_latch_edge,
10663 add_bb_to_loop, remove_bb_from_loops, find_common_loop,
10664 verify_loop_structure): Declare.
10665 * cfg.c (entry_exit_blocks): Initialize loop_father field.
10666 * cfganal.c (dfs_enumerate_from): New function.
10667 * cfgloop.c (HEAVY_EDGE_RATIO): New constant.
10668 (flow_loop_entry_edges_find, flow_loop_exit_edges_find,
10669 flow_loop_nodes_find, flow_loop_level_compute, flow_loop_nested_p,
10670 flow_loop_dump, flow_loops_dump, flow_loops_free,
10671 flow_loop_tree_node_add, flow_loop_level_compute,
10672 flow_loops_level_compute, flow_loop_scan, flow_loops_update,
10673 flow_loop_outside_edge_p): Modified for new infrastructure.
10674 (make_forwarder_block, canonicalize_loop_headers, glb_enum_p,
10675 redirect_edge_with_latch_update, flow_loop_free): New static functions.
10676 (flow_loop_tree_node_remove, flow_bb_inside_loop_p,
10677 get_loop_body, add_bb_to_loop, remove_bb_from_loops,
10678 find_common_loop, verify_loop_structure, loop_latch_edge,
10679 loop_preheader_edge): New functions.
10680 (flow_loops_cfg_dump): Do not show dominators, as this information
10681 does not remain up to date long.
10682 (flow_loops_find): Store results in new format.
10683 * predict.c (propagate_freq, estimate_probability,
10684 estimate_loops_at_level, estimate_bb_frequencies): Use new loop
10685 infrastructure.
10686
d9763749 106872002-06-01 Alan Lehotsky <apl@alum.mit.edu>
91b12472 10688
d9763749
AL
10689 * except.c (nothrow_function_p): Walk epilogue delay list
10690 checking the insn, not the chain for potential throws.
91b12472 10691
1e730c5c
ZW
106922002-05-31 Zack Weinberg <zack@codesourcery.com>
10693
10694 * Makefile.in (INSTALL_CPP, UNINSTALL_CPP): Remove.
10695 (install): Refer to install-cpp directly.
10696 (uninstall-cpp): Folded into uninstall rule.
10697 * configure.in: Delete all code relating to --disable-cpp.
10698 * configure: Regenerate.
10699 * config/t-install-cpp: Delete.
10700
6f9b006d
RH
107012002-05-31 Richard Henderson <rth@redhat.com>
10702
10703 * configure.in (HAVE_AS_TLS): Add alpha tests.
10704 * configure: Rebuild.
10705 * config/alpha/alpha.c (TARGET_AS_TLS): New.
10706 (alpha_tls_size, alpha_tls_size_string): New.
10707 (overide_options): Set it. Always install machine_status hooks.
10708 (input_operand): Accept got tls predicates.
10709 (local_symbol_p): Merge into ...
10710 (local_symbolic_operand): ... here. Reject tls symbols.
10711 (global_symbolic_operand): Likewise.
10712 (tls_symbolic_operand_1, dtp16_symbolic_operand): New.
10713 (dtp32_symbolic_operand, gotdtp_symbolic_operand): New.
10714 (tp16_symbolic_operand, tp32_symbolic_operand): New.
10715 (gottp_symbolic_operand, tls_symbolic_operand_type): New.
10716 (alpha_encode_section_info): Handle TLS symbols.
10717 (alpha_strip_name_encoding): Likewise.
10718 (alpha_legitimate_address_p): Likewise.
10719 (alpha_legitimize_address): Likewise.
10720 (alpha_expand_mov): Early exit to avoid nop moves.
10721 (struct machine_function): Move from unicosmk.h. Add some_ld_name.
10722 (alpha_init_machine_status, alpha_mark_machine_status,
10723 alpha_free_machine_status): Always define.
10724 (get_some_local_dynamic_name, get_some_local_dynamic_name_1): New.
10725 (print_operand, print_operand_address): Add TLS relocs.
10726 * config/alpha/alpha.h (HAVE_AS_TLS): Default 0.
10727 (MASK_TLS_KERNEL, TARGET_TLS_KERNEL): New.
10728 (TARGET_SWITCHES): Add -mtls-kernel.
10729 (alpha_tls_size, alpha_tls_size_string): New.
10730 (TARGET_OPTIONS): Add -mtls-size=.
10731 (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS,
10732 REGNO_REG_CLASS, REG_CLASS_FROM_LETTER): Add R0_REG.
10733 (ASM_OUTPUT_LABELREF): Skip %.
10734 (PRINT_OPERAND_PUNCT_VALID_P): Add &.
10735 (PREDICATE_CODES): Update.
10736 * config/alpha/alpha.md (UNSPEC_TLSGD_CALL, UNSPEC_TLSLDM_CALL,
10737 UNSPEC_TLSGD, UNSPEC_TLSLDM, UNSPEC_DTPREL, UNSPEC_TPREL,
10738 UNSPEC_TP, UNSPECV_SET_TP): New.
10739 (adddi_er_lo16_dtp, adddi_er_hi32_dtp, adddi_er_lo32_dtp,
10740 adddi_er_lo16_tp, adddi_er_hi32_tp, adddi_er_lo32_tp, load_tp,
10741 set_tp, movdi_er_tlsgd, movdi_er_tlsldm, movdi_er_gotdtp,
10742 movdi_er_gottp, call_value_osf_tlsgd, call_value_osf_tlsldm): New.
10743 (call_value_osf_2_er): Accept anything as op4.
10744 * config/alpha/alpha-protos.h: Update.
10745 * config/alpha/unicosmk.h (struct machine_function): Move to alpha.c.
10746
39e5db1a
ZW
107472002-05-31 Zack Weinberg <zack@codesourcery.com>
10748
10749 * cppinit.c (append_include_chain): Always pay attention to
10750 cxx_aware when setting new->sysp. Remove ATTRIBUTE_UNUSED
10751 marker on argument.
10752
41077ce4
KH
107532002-05-31 Kazu Hirata <kazu@cs.umass.edu>
10754
10755 * target.h: Fix formatting.
10756 * timevar.h: Likewise.
10757 * tlink.c: Likewise.
10758 * toplev.c: Likewise.
10759 * toplev.h: Likewise.
10760 * tree.c: Likewise.
10761 * tree-dump.h: Likewise.
10762 * tree.h: Likewise.
10763 * tree-inline.h: Likewise.
10764 * unroll.c: Likewise.
10765 * unwind-dw2.c: Likewise.
10766 * unwind-dw2-fde.c: Likewise.
10767 * unwind-dw2-fde-glibc.c: Likewise.
10768 * unwind-dw2-fde.h: Likewise.
10769 * unwind.h: Likewise.
10770 * unwind-sjlj.c: Likewise.
10771 * varasm.c: Likewise.
10772 * varray.h: Likewise.
10773 * vmsdbg.h: Likewise.
10774 * vmsdbgout.c: Likewise.
10775 * xcoffout.h: Likewise.
10776
b2e426a0
IS
107772002-05-31 Igor Shevlyakov <igor@microunity.com>
10778
1e730c5c 10779 * expr.c (compare_from_rtx): Generate comparison between op0 and op1
b2e426a0
IS
10780 rather than cc0 and 0 in a case when HAVE_cc0 is not defined.
10781
8b968bd1
MW
107822002-05-31 Matthew Woodcraft <mattheww@chiark.greenend.org.uk>
10783
10784 * gcc.c (cpp_unique_options): Remove "-d" options.
10785 (cpp_debug_options): New spec string.
10786 (default_compilers): Use it.
10787 * objc/lang-specs.h: Likewise.
10788
5c35940c
NN
107892002-05-31 Nathanael Nerode <neroden@twcny.rr.com>
10790
1e730c5c 10791 * gcc/Makefile.in: Replace HOST_PREFIX, HOST_PREFIX_1 with
5c35940c
NN
10792 BUILD_PREFIX, BUILD_PREFIX_1, to correct nomenclature.
10793 * gcc/mklibgcc.in: Likewise.
10794 * gcc/config/arc/t-arc: Likewise.
10795 * gcc/configure.in: Likewise.
10796 * gcc/configure: Regenerate.
10797
8b496ceb
SS
107982002-05-31 Stan Shebs <shebs@apple.com>
10799 Turly O'Connor <turly@apple.com>
10800
10801 * c-decl.c (struct binding_level): Change int field n_incomplete
10802 to tree list incomplete_list.
10803 (clear_binding_level): Init field with NULL.
10804 (pushdecl): Add incomplete type to list.
10805 (mark_binding_level): Mark the incomplete list.
10806 (finish_struct): Scan the incomplete list for types instead
10807 of all decls in the current binding level.
10808
4722213d
JDA
108092002-05-31 John David Anglin <dave@hiauly1.hia.nrc.ca>
10810
10811 * pa.c (output_millicode_call): Add missing '%' characters.
10812 (output_call): Likewise.
10813
1086fcb1
DE
108142002-05-31 David Edelsohn <edelsohn@gnu.org>
10815
10816 * config/rs6000/xcoff.h (HOT_TEXT_SECTION_NAME): Define.
10817 (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Define.
10818
afdfb380 108192002-05-31 Alan Lehotsky <apl@alum.mit.edu>
91b12472 10820
afdfb380
AL
10821 * varasm.c (mark_constant_pool): Walk epilogue delay list
10822 checking the insn, not the chain for potential constants.
1e730c5c 10823
f2df45f6
R
10824Fri May 31 12:38:43 2002 J"orn Rennecke <joern.rennecke@superh.com>
10825
10826 * config/sh/elf.h (ASM_SPEC): Use subtarget_endian_asm_spec.
10827
91ea38f9
JH
10828Fri May 31 13:50:19 CEST 2002 Jan Hubicka <jh@suse.cz>
10829
10830 * i386.c (classify_argument): Properly handle base types.
10831
10832 * dwarf2out.c (expand_builin_init_dwarf_reg_sizes):
10833 Store first DWARF_FRAME_REGISTERS dwarf registers, not pseudo
10834 registers.
10835
10d1bb36
JH
10836Fri May 31 13:37:54 CEST 2002 Jan Hubicka <jh@suse.cz>
10837
10838 * gcse.c (gcse_emit_move_after): New.
10839 (pre_delete, hoist_store): Use it.
10840
10841 * reload1.c (emit_input_reload_insns): Use constrain_operands
10842 instead of constraint_accepts_reg_p to verify optimization.
10843 (constraint_accepts_reg_p): Kill
10844
10845 * reload1.c (reload_cse_delete_noop_set): Kill.
10846 (reload_cse_simplify): use delte_insn_and_edges.
10847
8a72fb76
ZD
108482002-05-31 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
10849
10850 * cfgloop.c (flow_loops_find): Initialize first and last fields
10851 correctly.
10852
a9da2e5b
NB
108532002-05-31 Neil Booth <neil@daikokuya.demon.co.uk>
10854
10855 * c-common.c (builtin_define_std): Correct logic.
10856
6248c4dd
JDA
108572002-05-31 John David Anglin <dave@hiauly1.hia.nrc.ca>
10858
10859 * pa.c (output_millicode_call): Correct "be,l" insn for TARGET_PA_20.
10860 (output_call): Likewise.
10861
d499455b
JDA
108622002-05-31 John David Anglin <dave@hiauly1.hia.nrc.ca>
10863
10864 * pa.c: Move output.h include after tree.h include.
10865 (pa_asm_output_mi_thunk): Constify identifier lab.
10866
2eb2901a
JT
108672002-05-31 Jason Thorpe <thorpej@wasabisystems.com>
10868
10869 * config/ns32k/ns32k.h: Define named constants for the
10870 bits in target_flags and use them.
10871 * config/ns32k/netbsd.h (TARGET_DEFAULT): Use named constants.
10872
806bf413
JDA
108732002-05-30 John David Anglin <dave@hiauly1.hia.nrc.ca>
10874
10875 * config.gcc (tm_file): Prefix pa/pa-700.h to tm_file list for PA1.0
10876 architecture and pa/pa-7100.h for PA1.1 architecture, respectively.
10877 * pa/pa.c (override_options): Use TARGET_SCHED_DEFAULT to select
10878 default scheduling model.
10879 * pa/pa.h (TARGET_SCHED_DEFAULT): Define if not defined to "8000".
10880 * pa/pa-700.h (TARGET_SCHED_DEFAULT): New file for "700" scheduling.
10881 * pa/pa-7100.h (TARGET_SCHED_DEFAULT): New file for "7100" scheduling.
10882 * doc/install.texi (hppa*-*-*): Document default scheduling.
10883
6d8d2bbc
JDA
108842002-05-30 John David Anglin <dave@hiauly1.hia.nrc.ca>
10885
10886 * pa.c (following_call): Check TARGET_JUMP_IN_DELAY.
10887
c8eb9785
JT
108882002-05-31 Jason Thorpe <thorpej@wasabisystems.com>
10889
10890 * config.gcc (ns32k-*-netbsd*): Set tm_file to
10891 "${tm_file} netbsd.h netbsd-aout.h ns32k/netbsd.h"
10892 * config/ns32k/netbsd.h: Don't include ns32k/ns32k.h,
10893 netbsd.h, or netbsd-aout.h.
10894
6e2e5b6a
JT
108952002-05-31 Jason Thorpe <thorpej@wasabisystems.com>
10896
10897 * longlong.h (count_trailing_zeros): Add missing \, and clean up
10898 whitespace in __ns32000__ case.
10899
00182e1e
AH
109002002-05-31 Aldy Hernandez <aldyh@redhat.com>
10901
1e730c5c
ZW
10902 * expr.c (expand_expr): Output partially zeroed out vectors with
10903 output_constant_def.
00182e1e 10904
b4eb03fe
JT
109052002-05-30 Jason Thorpe <thorpej@wasabisystems.com>
10906
10907 * config.gcc (sh[123456789l]*-*-*): Set cpu_type to sh.
10908 (sh-*-netbsdelf*)
10909 (shl*-*-netbsdelf*): New targets.
10910 * config/sh/netbsd-elf.h: New file.
8fd0df91 10911 * config/sh/t-netbsd: New file.
b4eb03fe 10912
261376e7
RH
109132002-05-30 Richard Henderson <rth@redhat.com>
10914 Eric Botcazou <ebotcazou@multimania.com>
10915
10916 PR optimization/6822
10917 * config/i386/i386.c (ix86_expand_int_movcc): Don't cast INTVAL
10918 to unsigned int for op1 comparisons. Use gen_int_mode.
10919
ce60bf25
EB
109202002-05-30 Eric Botcazou <ebotcazou@multimania.com>
10921
10922 * expmed.c (const_mult_add_overflow_p): New.
10923 * expr.h: Declare it.
10924 * loop.c (maybe_eliminate_biv_1) [COMPARE]: Use it.
10925 Don't eliminate the biv if the giv has a constant multiplier and
10926 the rhs argument of the comparison does satisfy the predicate.
10927 Use expand_mult_add to compute the replacement constant.
10928
d18b1ed8
OS
109292002-05-30 Osku Salerma <osku@iki.fi>
10930
10931 * c-common.c (c_common_attribute_table): Add "may_alias" entry.
10932 (c_common_get_alias_set): Handle it.
10933 * doc/extend.texi: Document it.
10934
a7943381
RH
109352002-05-30 Richard Henderson <rth@redhat.com>
10936
10937 * defaults.h (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER): Kill.
10938 * toplev.c (process_options): Don't check it.
10939 * doc/tm.texi: Don't document it.
10940 * config/i386/linux.h (SUBTARGET_FRAME_POINTER_REQUIRED): New.
10941 (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER): Kill.
10942 * config/i386/i386.c (ix86_frame_pointer_required): Suppress leaf
10943 frame pointer optimization if current_function_profile.
10944
e11e816e
KH
109452002-05-30 Kazu Hirata <kazu@cs.umass.edu>
10946
10947 * langhooks.c: Fix formatting.
10948 * langhooks.h: Likewise.
10949 * lcm.c: Likewise.
10950 * libgcc2.c: Likewise.
10951 * lists.c: Likewise.
10952 * local-alloc.c: Likewise.
10953 * loop.c: Likewise.
10954 * loop.h: Likewise.
10955
109562002-05-30 Marc Espie <espie@openbsd.org>
10957
10958 * config.gcc (sparc64-*-openbsd*): New.
10959 * config/sparc/openbsd1-64.h: New.
10960 * config/sparc/openbsd64.h: New.
91f0fcee 10961
d35dfca9
JL
109622002-05-30 Jeff Law <law@redhat.com>
10963
10964 * flow.c (propagate_one_insn): Revise yesterday's patch. Delete
10965 a dead insn with a REG_RETVAL note when the entire libcall is not
10966 dead and remove the associated REG_LIBCALL note at the same time.
10967
81b40b72
R
10968Thu May 30 19:54:30 2002 J"orn Rennecke <joern.rennecke@superh.com>
10969
10970 * lcm.c (output.h): #include.
10971 (compute_earliest): Remove hack to treat renumbered EXIT_BLOCK
10972 as an ordinary block.
10973 (optimize_mode_switching): Don't pretend that the exit block is
10974 an ordinary block, or handle sucessors of entry block specially.
10975 Instead, split edges from entry block and to exit block, and
10976 put a computing definition on the thus gained post-entry-block,
10977 and a need on the pre-exit-block.
10978
c8ea9a0f
JH
10979Thu May 30 20:28:01 CEST 2002 Jan Hubicka <jh@suse.cz>
10980
10981 * gengenrtl.c (type_from_format, accessor_from_format): Support 'B'.
10982 * rtl.texi: Document 'B'
10983
348f0869
JT
109842002-05-30 Jason Thorpe <thorpej@wasabisystems.com>
10985
10986 * config/m68k/netbsd-elf.h (LONG_DOUBLE_TYPE_SIZE): Compute
10987 at run-time.
10988 (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Set to 96 if not __mc68010__.
10989
9a171fcd
AH
109902002-05-30 Aldy Hernandez <aldyh@redhat.com>
10991
1e730c5c
ZW
10992 * config/rs6000/rs6000.c (rs6000_expand_unop_builtin): Return
10993 const0_rtx instead of NULL_RTX when in error.
10994 (altivec_expand_abs_builtin): Same.
10995 (rs6000_expand_binop_builtin): Same.
10996 (altivec_expand_predicate_builtin): Same.
10997 (altivec_expand_stv_builtin): Same.
10998 (rs6000_expand_ternop_builtin): Same.
10999 (altivec_expand_builtin): Same.
9a171fcd 11000
62a35e60
DM
110012002-05-29 David S. Miller <davem@redhat.com>
11002
11003 * rtl.h (clear_emit_caches): Delete.
11004 * integrate.c (output_inline_function): Don't call it.
11005 * emit-rtl.c (restore_emit_status, init_emit): Likewise.
11006 (clear_emit_caches): Delete definition.
11007 (SEQUENCE_RESULT_SIZE, sequence_result, free_insn): Likewise.
11008
cbc39da8
HPN
110092002-05-30 Hans-Peter Nilsson <hp@bitrange.com>
11010
11011 * config/mmix/mmix.c: Include real.h.
11012 (mmix_constant_address_p): Remove redundant test before switch.
11013
50efa737
JT
110142002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
11015
11016 * config/mips/mips.h (READONLY_DATA_SECTION_ASM_OP): Define
11017 only if not already defined.
11018
2e760b15
KH
110192002-05-29 Kazu Hirata <kazu@cs.umass.edu>
11020
11021 * config/h8300/h8300-protos.h: Remove prototypes for
11022 ok_for_bclr and small_power_of_two.
11023 * config/h8300/h8300.c (small_power_of_two): Remove.
11024 (ok_for_blcr): Likewise.
11025 (fix_bit_operand): Make WHAT deal with an integer instead of a
11026 constraint character.
11027 * config/h8300/h8300.h (CONST_OK_FOR_O): Remove.
11028 (CONST_OK_FOR_P): Likewise.
11029 (CONST_OK_FOR_LETTER_P): Do not call CONST_OK_FOR_O or
11030 CONST_OK_FOR_P any more.
11031 * config/h8300/h8300.md (andqi3): Adjust to the new prototype
11032 of fix_bit_operand.
11033 (iorqi3): Likewise.
11034 (xorqi3): Likewise.
11035
e1c293ae
JT
110362002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
11037
11038 * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Define.
11039 (CPP_PREDEFINES): Make sure this is undefined.
11040 (CPP_SPEC): Place -D__mips=1 at the beginning of the spec,
11041 since it is no longer in CPP_PREDEFINES. Don't -U__MIPSEL__
11042 or -U__MIPSEB__ before defining one or the other. Instead,
11043 use %(subtarget_endian_default) if neither -EB nor -EL are
11044 specified.
11045 (SUBTARGET_EXTRA_SPECS): Define.
11046 (SUBTARGET_CPP_SPEC): Remove __LONG64 handling. Use
11047 %(netbsd_cpp_spec).
11048
fde6d81f
HPN
110492002-05-29 Hans-Peter Nilsson <hp@axis.com>
11050
11051 * doc/md.texi (Patterns): Note pattern condition pitfall
11052 for unnamed insn.
11053
92898235
AH
110542002-05-29 Aldy Hernandez <aldyh@redhat.com>
11055
1e730c5c
ZW
11056 * rs6000.c: (altivec_expand_builtin): Only expand altivec builtins
11057 when TARGET_ALTIVEC. Move handling of generic unary, binary, and
11058 ternary operations from here...
11059 (rs6000_expand_builtin): ...to here.
11060 New argument expandedp.
11061 Change all instances of altivec_expand_binop_builtin to
11062 rs6000_expand_binop_builtin.
11063 (altivec_expand_unop_builtin): Rename to
11064 rs6000_expand_unop_builtin.
11065 (altivec_expand_binop_builtin): Rename to
11066 rs6000_expand_binop_builtin.
11067 (altivec_expand_ternop_builtin): Rename to
11068 rs6000_expand_ternop_builtin.
92898235 11069
67adf6a9
RH
110702002-05-29 Richard Henderson <rth@redhat.com>
11071
11072 * config/i386/biarch64.h (TARGET_64BIT_DEFAULT): Define with value.
11073 (TARGET_BI_ARCH): Likewise.
11074 * config/i386/i386.h: Test TARGET_64BIT_DEFAULT by value.
11075 (TARGET_SWITCHES): Combine target defaults here not in TARGET_DEFAULT.
11076 (TARGET_64BIT_DEFAULT): Default to 0.
11077 (TARGET_DEFAULT): Default to MASK_OMIT_LEAF_FRAME_POINTER.
11078
145aacc2
RH
110792002-05-29 Richard Henderson <rth@redhat.com>
11080
11081 * config/i386/i386.c (USE_HIDDEN_LINKONCE): New.
11082 (get_pc_thunk_name): New.
11083 (output_set_got): Use it.
11084 (ix86_asm_file_end): If USE_HIDDEN_LINKONCE, emit get_pc thunks
11085 into linkonce sections.
11086
a5b49bbc
JT
110872002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
11088
11089 * config/sparc/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Define.
11090 (CPP_PREDEFINES): Make sure this is undefined.
11091 (CPP_SUBTARGET_SPEC64, CPP_SUBTARGET_SPEC32): Remove.
11092 (CPP_SUBTARGET_SPEC): Don't provide different versions for
11093 default-32 and default-64. Just always use %(netbsd_cpp_spec).
11094 (SUBTARGET_EXTRA_SPECS): Remove cpp_subtarget_spec32 and
11095 cpp_subtarget_spec64. Add netbsd_cpp_spec.
11096 * config/sparc/netbsd.h (TARGET_OS_CPP_BUILTINS): Define.
11097 (CPP_PREDEFINES): Make sure this is undefined.
11098 (SUBTARGET_EXTRA_SPECS): Define.
11099 (CPP_SPEC): Use %(netbsd_cpp_spec).
11100
54374491
JL
111012002-05-29 Jeff Law <law@redhat.com>
11102
ae02eae8
JL
11103 * pa.h (ASM_OUTPUT_MI_THUNK): Remove unwanted semi-colon.
11104
b862c2aa
JL
11105 * flow.c (propagate_one_insn): Do not remove a dead insn if it
11106 contains a REG_RETVAL note.
11107
d10791ba
JL
11108 * haifa-sched (sched_analyze): Remove another useless clearing
11109 of SCHED_GROUP_P I missed yesterday.
11110
54374491
JL
11111 * pa.h (ASM_OUTPUT_MI_THUNK): Move implementation into pa.c.
11112 * pa.c (pa_asm_output_mi_thunk): New function.
11113 * pa-protos.h (pa_asm_output_mi_thunk): Declare.
11114
92c392e6
NB
111152002-05-29 Neil Booth <neil@daikokuya.demon.co.uk>
11116 Marek Michalkiewicz <marekm@amelek.gda.pl>
11117
11118 * config/avr/avr.c (avr_base_arch_macro, avr_extra_arch_macro): New.
11119 (avr_asm_only_p): Make non-static.
11120 (enum avr_arch): Remove.
11121 (avr_arch_types): New.
11122 (avr_mcu_types): Update.
11123 (avr_override_options): Use avr_arch_types table instead of switch.
11124 * avr.h (CPP_PREDEFINES): Die.
11125 (avr_base_arch_macro, avr_extra_arch_macro): New.
11126 (TARGET_CPU_CPP_BUILTINS): New.
11127 (CPP_SPEC, EXTRA_SPECS): Simplify.
11128 (CPP_AVR1_SPEC, CPP_AVR2_SPEC, CPP_AVR3_SPEC, CPP_AVR4_SPEC,
11129 CPP_AVR5_SPEC): Die.
11130
4528173e
JT
111312002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
11132
11133 * config/arm/netbsd.h (TARGET_OS_CPP_BUILTINS): Use
11134 NETBSD_OS_CPP_BUILTINS_AOUT.
11135 (SUBTARGET_EXTRA_SPECS): Define.
11136 (CPP_SPEC): Use %(netbsd_cpp_spec).
11137
bd09bdeb
RH
111382002-05-29 Richard Henderson <rth@redhat.com>
11139
11140 * config/i386/i386.c (ix86_output_function_epilogue): New.
11141 (TARGET_ASM_FUNCTION_EPILOGUE): New.
11142 (pic_label_name): Remove.
11143 (pic_labels_used): New.
11144 (ix86_asm_file_end): Emit one pc load stub for each register used.
11145 (output_set_got): Generate deep pc load to any register.
11146 (ix86_select_alt_pic_regnum): New.
11147 (ix86_save_reg): Don't save pic register if we can find a valid
11148 call-clobbered replacement.
11149 (ix86_expand_prologue): If we found a valid replacement, renumber
11150 pic_offset_table_rtx.
11151 * config/i386/i386.h (PIC_OFFSET_TABLE_REGNUM): Look at
11152 pic_offset_table_rtx after reload.
11153 (REAL_PIC_OFFSET_TABLE_REGNUM): New.
11154 * config/i386/i386.md (set_got): Make insn, not expander.
11155 (set_got_nopic, set_got_deep, set_got_nodeep): Remove.
11156
002ff5bc
RH
111572002-05-29 Richard Henderson <rth@redhat.com>
11158
11159 * config/i386/i386.c (ix86_compute_frame_layout): Do add bottom
11160 alignment for alloca.
11161
edfe8595
RH
111622002-05-29 Richard Henderson <rth@redhat.com>
11163
11164 * config/i386/i386.c (output_pic_addr_const): Lowercase rip.
11165 (print_operand_address): Only add rip for symbolic addresses
11166 for which we do not have another relocation type.
11167
cd7714ee
JT
111682002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
11169
11170 * config/m68k/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Define.
11171 (EXTRA_SPECS): Add netbsd_cpp_spec.
11172 (CPP_SPEC): Use %(netbsd_cpp_spec).
11173 (CPP_PREDEFINES): Remove.
11174 * config/m68k/netbsd.h (TARGET_OS_CPP_BUILTINS): Define.
11175 (EXTRA_SPECS): Define.
11176 (CPP_SPEC): Use %(netbsd_cpp_spec).
11177 (CPP_PREDEFINES): Remove.
11178
8dc901de
NB
111792002-05-29 Neil Booth <neil@daikokuya.demon.co.uk>
11180
11181 PR preprocessor/6844
11182 * cppmacro.c (cpp_macro_definition): Reserve space for terminating
11183 NUL.
11184
2274b31a
EC
111852002-05-29 Eric Christopher <echristo@redhat.com>
11186
11187 * config/mips/linux.h (SUBTARGET_CPP_SPEC): Add support for
11188 mips5/mips32/mips64 and _MIPS_ISA_MIPSXX.
11189
5c7666c1
NC
111902002-05-29 Nick Clifton <nickc@cambridge.redhat.com>
11191
11192 * config/fr30/fr30.md: Remove previous restriction on splits.
11193 Enforce conformance through gen_lowpart and cont_int_operand.
1e730c5c 11194 * config/fr30/fr30.h (BSS_SECTION_ASM_OP): Use ".section .bss"
5c7666c1
NC
11195 as the assembler does not support ".bss".
11196
45beef47
JT
111972002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
11198
11199 * config/i386/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Define.
11200 (CPP_PREDEFINES): Remove.
11201 (SUBTARGET_EXTRA_SPECS): Define.
11202 (CPP_SPEC): Use %(netbsd_cpp_spec).
11203 * config/i386/netbsd.h (TARGET_OS_CPP_BUILTINS): Define.
11204 (CPP_PREDEFINES): Remove.
11205 (SUBTARGET_EXTRA_SPECS): Define.
11206 (CPP_SPEC): Use %(netbsd_cpp_spec).
11207 * config/i386/netbsd64.h (TARGET_OS_CPP_BUILTINS): Define.
11208 (CPP_PREDEFINES, CPP_LP64_SPEC, CPP_SUBTARGET_SPEC): Remove.
11209 (SUBTARGET_EXTRA_SPECS): Remove cpp_lp64 and cpp_subtarget.
11210 Add netbsd_cpp_spec.
11211 (CPP_SPEC): Remove %(cpp_subtarget), add %(netbsd_cpp_spec).
11212
cd7ab83f
NB
112132002-05-29 Neil Booth <neil@daikokuya.demon.co.uk>
11214 Zack Weinberg <zack@codesourcery.com>
11215
11216 * cppexp.c (cpp_num): Move to cpplib.h.
11217 (CPP_ERROR): Remove.
11218 (interpret_float_suffix, interpret_int_suffix): New.
11219 (struct suffix, vsuf_1, vsuf_2, vsuf_3): Remove.
11220 (cpp_classify_number, cpp_interpret_integer): New.
11221 (interpret_number): Remove.
11222 (eval_token): Update to use new routines.
11223 * cpphash.h (cpp_num_part): Move to cpplib.h.
11224 * cppinit.c (cpp_post_options): Set warn_long_long.
11225 * cpplib.h (struct cpp_options): Add warn_long_long.
11226 (cpp_num, cpp_num_part, CPP_N_CATEGORY, CPP_N_INVALID,
11227 CPP_N_INTEGER, CPP_N_FLOATING, CPP_N_WIDTH, CPP_N_SMALL,
11228 CPP_N_MEDIUM, CPP_N_LARGE, CPP_N_RADIX, CPP_N_DEC, CPP_N_HEX,
11229 CPP_N_OCTAL, CPP_N_UNSIGNED, CPP_N_IMAGINARY, cpp_classify_number,
11230 cpp_interpret_integer): New.
11231
61a8515c
JS
112322002-05-29 Joel Sherrill <joel@OARcorp.com>
11233
11234 * config/rs6000/rs6000.h (ASM_CPU_SPEC): Use -m403 and -m405.
11235
53a428b5
JT
112362002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
11237
11238 * config/alpha/netbsd.h (TARGET_OS_CPP_BUILTINS): Use
2274b31a
EC
11239 NETBSD_OS_CPP_BUILTINS_ELF and NETBSD_OS_CPP_BUILTINS_LP64.
11240 (CPP_SUBTARGET_SPEC): Define.
11241 (SUBTARGET_EXTRA_SPECS): Define.
53a428b5
JT
11242 (CPP_SPEC): Remove.
11243
45b1f7c7
CL
112442002-05-29 Chris Lattner <sabre@nondot.org>
11245
1e730c5c
ZW
11246 * ssa.c (rename_insn_1): Rename uses of undefined registers to
11247 prevent confusion if/when the register is defined.
45b1f7c7 11248
049746c2
HPN
112492002-05-29 Hans-Peter Nilsson <hp@axis.com>
11250
11251 PR target/6838
11252 * config/cris/cris.md: Fix typos and thinkos in comments.
11253 ("*mov_sideqi_biap_mem"): Remove '*' in constraint for operand 4,
11254 second alternative.
11255 ("*mov_sidehi_biap_mem", "*mov_sidesi_biap_mem"): Ditto.
11256 ("*mov_sideqi_mem"): Similar, but for operand 3.
11257 ("*mov_sidehi_mem", "*mov_sidesi_mem"): Ditto.
11258 (splitter for mov_sideqi_mem, mov_sidehi_mem, mov_sidesi_mem):
11259 Remove spurious mode specifier on operand 2.
11260
4d4d89e2
KH
112612002-05-29 Kazu Hirata <kazu@cs.umass.edu>
11262
11263 * config/h8300/h8300-protos.h: Remove the prototype for
11264 o_operand.
11265 Add prototypes for single_one_operand and single_zero_operand.
11266 * config/h8300/h8300.c (o_operand): Remove.
11267 (single_one_operand): New.
11268 (single_zero_operand): Likewise.
11269 (print_operand): For 'V' operand, and the operand with 0xff.
11270 For 'V' and 'W' operands, do not and the bit position with 7.
11271 * config/h8300/h8300.md (various anonymous patterns): Replace
11272 use of exact_log2 with single_one_operand/single_zero_operand.
11273
abd6ddec
UW
112742002-05-29 Ulrich Weigand <uweigand@de.ibm.com>
11275
11276 * config/s390/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New.
11277
da06d85a
UW
112782002-05-29 Ulrich Weigand <uweigand@de.ibm.com>
11279
11280 * config/s390/s390.c (legitimate_pic_operand_p): Do not
11281 accept symbolic LARL operands.
2274b31a 11282 (s390_emit_epilogue): Do not set FRAME_RELATED_P on
da06d85a 11283 epilogue insns.
2274b31a 11284
f8766020
HP
112852002-05-29 Hartmut Penner <hpenner@de.ibm.com>
11286
11287 * config/s390/s390.md (cmpstr_64/31): Mark whole
2274b31a 11288 input registers as used.
f8766020 11289
66edd3b4
RH
112902002-05-28 Richard Henderson <rth@redhat.com>
11291
11292 * config/i386/i386.c (ix86_save_reg): Examine regs_ever_live,
11293 not current_function_uses_pic_offset_table and
11294 current_function_uses_const_pool; examine current_function_profile.
11295 (ix86_expand_prologue): Likewise. Add pic_offset_table_rtx as
11296 input to blockage if needed.
11297 (ix86_expand_call): Do not set current_function_uses_pic_offset_table.
11298 (legitimize_pic_address): Likewise. Set regs_ever_live for
11299 pic_offset_table_rtx when invoked during reload.
11300 * config/i386/i386.h (FINALIZE_PIC): Remove.
11301 * config/i386/i386.md (tablejump): Reformat. Do not set
11302 current_function_uses_pic_offset_table.
11303 (tls_global_dynamic, tls_local_dynamic_base): Likewise.
11304 (blockage): Accept anything as operand 0.
11305
52f4fff6
JT
113062002-05-28 Jason Thorpe <thorpej@wasabisystems.com>
11307
11308 * config/netbsd-aout.h (NETBSD_OS_CPP_BUILTINS_AOUT): Define
11309 common CPP built-ins for all NetBSD a.out targets.
11310 * config/netbsd-elf.h (NETBSD_OS_CPP_BUILTINS_ELF): Define
11311 common CPP built-ins for all NetBSD ELF targets.
11312 * config/netbsd.h: Add missing notice.
11313 (NETBSD_OS_CPP_BUILTINS_COMMON): Define common CPP built-ins
11314 for all NetBSD targets.
11315 (NETBSD_OS_CPP_BUILTINS_LP64): Define common CPP built-ins
11316 for all NetBSD targets using an LP64 code model.
11317 (NETBSD_CPP_SPEC): Define CPP_SPEC parts common to all
11318 NetBSD targets.
11319
e0e577a2
RH
113202002-05-28 Richard Henderson <rth@redhat.com>
11321
11322 * flow.c (update_life_info_in_dirty_blocks): Only do a partial
11323 update if UPDATE_LIFE_LOCAL.
11324
113252002-05-28 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
62526ec3
TM
11326
11327 * config/sh/sh.c: Include real.h for REAL_VALUE_TYPE.
11328
f1a58d92 11329Tue May 28 21:16:18 2002 J"orn Rennecke <joern.rennecke@superh.com>
1e730c5c 11330 Jason R. Thorpe <thorpej@wasabisystems.com>
f1a58d92
R
11331
11332 config/sh reorganization to factor out endianness and coff:
11333
11334 * config/sh/little.h: New file.
1e730c5c
ZW
11335 * config/sh/sh.h (TARGET_ENDIAN_DEFAULT): If not already
11336 defined, define to 0 to select big-endian.
f1a58d92 11337 (SUBTARGET_ASM_ENDIAN_SPEC): Define according to TARGET_ENDIAN_DEFAULT.
1e730c5c
ZW
11338 (TARGET_DEFAULT): Include TARGET_ENDIAN_DEFAULT.
11339 * config/sh/sh64.h (TARGET_DEFAULT): Include TARGET_ENDIAN_DEFAULT.
11340 * config/sh/t-be: New file.
11341 * config/sh/t-le: New file.
f1a58d92
R
11342
11343 * sh.h (SDB_DEBUGGING_INFO, #include "dbxcoff.h"): Moved to sh/coff.h.
11344 (SDB_DELIM, MAX_OFILE_ALIGNMENT, IDENT_ASM_OP): Likewise.
11345 (TARGET_ASM_NAMED_SECTION, ASM_OUTPUT_SKIP): Likewise.
11346 (USER_LABEL_PREFIX, LOCAL_LABEL_PREFIX): Likewise.
11347 (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11348 (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
11349 (ASM_FILE_END, ASM_DECLARE_FUNCTION_NAME): Deleted.
11350 (CPP_SPEC, SUBTARGET_CPP_ENDIAN_SPEC): Likewise.
11351 (SUBTARGET_CPP_SPEC, CPP_DEFAULT_CPU_SPEC, CPP_PREDEFINES): Likewise.
11352 (EXTRA_SPECS): Remove SUBTARGET_CPP_ENDIAN_SPEC and
11353 CPP_DEFAULT_CPU_SPEC. Add LINK_EMUL_PREFIX, LINK_DEFAULT_CPU_EMUL,
11354 SUBTARGET_LINK_EMUL_SUFFIX and SUBTARGET_LINK_SPEC.
11355 (LINK_SPEC): Define to SH_LINK_SPEC.
11356 (TARGET_CPU_CPP_BUILTINS, SH_LINK_SPEC): Define.
11357 (LINK_EMUL_PREFIX, LINK_DEFAULT_CPU_EMUL): Likewise.
11358 (SUBTARGET_LINK_EMUL_SUFFIX, SUBTARGET_LINK_SPEC): Likewise.
11359 (CPP_SPEC): Reduce to %(subtarget_cpp_spec).
11360 (TARGET_ENDIAN_DEFAULT): Define if not already defined.
11361 * config/sh/coff.h: New file.
11362 (TARGET_ASM_NAMED_SECTION): Now default_coff_asm_named_section
11363 (TARGET_OBJFMT_CPP_BUILTINS): Define.
11364 * config/sh/elf.h (IDENT_ASM_OP): No need to #undef at the start.
11365 (ASM_FILE_END, ASM_OUTPUT_SOURCE_LINE): Likewise.
11366 (DBX_OUTPUT_MAIN_SOURCE_FILE_END, TARGET_ASM_NAMED_SECTION): Likewise.
11367 (ASM_DECLARE_FUNCTION_NAME, MAX_OFILE_ALIGNMENT, SIZE_TYPE): Likewise.
11368 (PTRDIFF_TYPE): Likewise.
11369 ("dbxelf.h", "elfos.h", "svr4.h"): Don't #include.
11370 (CPP_PREDEFINES): Don't define.
11371 (TARGET_OBJFMT_CPP_BUILTINS): Define.
11372 (LINK_SPEC): Define to SH_LINK_SPEC.
11373 (LINK_EMUL_PREFIX): Redefine.
11374 * config/sh/linux.h: (SUBTARGET_CPP_SPEC): Remove -fpic / -fPIC cases.
11375 (SUBTARGET_CPP_ENDIAN_SPEC, CPP_DEFAULT_CPU_SPEC): Remove redefinition.
11376 (CPP_PREDEFINES, SUBTARGET_ASM_ENDIAN_SPEC): Likewise.
11377 (CC1_SPEC, CC1PLUS_SPEC, LINK_SPEC): Likewise.
11378 (TARGET_OS_CPP_BUILTINS): Define.
11379 (TARGET_DEFAULT): Redefine.
11380 (SUBTARGET_LINK_EMUL_SUFFIX, SUBTARGET_LINK_SPEC): Likewise.
11381 * config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): Remove.
11382 (LINK_SPEC): Don't redefine.
11383 (LINK_DEFAULT_CPU_EMUL): Redefine.
11384 (TARGET_DEFAULT): Include TARGET_ENDIAN_DEFAULT.
11385 * sh.c (sh_asm_named_section): Don't declare / define.
11386 * t-linux (MULTILIB_OPTIONS): Rely on pre-set endianness option.
11387 * config.gcc (sh-*-elf* tm_file): Add dbxelf.h elfos.h svr4.h.
11388 (sh64-*-elf* tm_file): Likewise.
11389 (sh-*-rtemself* tm_file): Likewise.
11390 (sh-*-linux* tm_file): Likewise. Add sh/little.h.
11391 (sh-*-linux* tmake_file): Add sh/t-le.
11392 (sh-*-rtems* tm_file): Add sh/coff.h
11393 (sh-*-* tm_file): Likewise.
11394
11395Tue May 28 21:16:18 2002 J"orn Rennecke <joern.rennecke@superh.com>
11396
11397 * sh.h (LEGITIMATE_PIC_OPERAND_P): Check for SYMBOL_REF before using
11398 CONSTANT_POOL_ADDRESS_P.
11399
11400 * coff.h (HAS_INIT_SECTION, INVOKE__MAIN): Define.
11401
d10791ba 114022002-05-28 David Edelsohn <edelsohn@gnu.org>
33a3dfc4
DE
11403 Jeff Law <law@redhat.com>
11404
64de6c0a
DE
11405 * optabs.c (expand_binop): Fix nwords sign warnings.
11406 generate pseudo for add_optab.
11407
33a3dfc4
DE
11408 * sched-deps.c (sched_analyze): Do not clear SCHED_GROUP_P.
11409 * haifa-sched.c (move_insn): Clear SCHED_GROUP_P after it is used.
11410
972957ba 114112002-05-28 Marc Espie <espie@openbsd.org>
33a3dfc4 11412
2274b31a 11413 * config/i386/openbsd.h (HAVE_GAS_MAX_SKIP_P2ALIGN): Remove,
972957ba
ME
11414 inherited from gas.h.
11415 (ASM_QUAD): Undef. OpenBSD does not support it.
11416
cc92b8ab
DS
114172002-05-28 Danny Smith <dannysmith@users.sourceforge.net>
11418
11419 * doc/install.texi (binaries): Change mingw binaries
11420 link to www.mingw.org.
11421
f8088d55
ZD
114222002-05-28 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
11423
11424 * cfgloop.c (flow_loops_cfg_dump): Use bb->index, not i.
11425
0b7ae565
RH
114262002-05-28 Richard Henderson <rth@redhat.com>
11427
11428 * config/i386/i386.c (ix86_compute_frame_layout): Do not add
11429 bottom alignment for leaf functions.
11430
16069d69
ZW
114312002-05-28 Zack Weinberg <zack@codesourcery.com>
11432
11433 * config/pa/milli32.S, config/pa/lib1funcs.asm,
11434 config/sparc/sol2-g1.asm: Delete unused files.
11435
04653686
RH
114362002-05-28 Richard Henderson <rth@redhat.com>
11437
11438 * cfg.c (dump_flow_info): Print bb->index, not i, for block number.
11439
f3ea5f6a
RH
11440 * flow.c (calculate_global_regs_live): Rename call_used to
11441 invalidated_by_call. Initialize from regs_invalidated_by_call
11442 instead of call_used_regs.
11443
923c7cdf
RH
11444 * varasm.c (default_binds_local_p): Check TREE_PUBLIC before
11445 DECL_EXTERNAL.
11446
11ad4784
ZW
114472002-05-28 Zack Weinberg <zack@codesourcery.com>
11448
8abbd76a
ZW
11449 * tree.h: Don't include real.h.
11450 Forward-declare struct realvaluetype.
11ad4784
ZW
11451 (struct tree_real_cst): Point to the REAL_VALUE_TYPE, do not
11452 contain it.
11453 (TREE_REAL_CST_PTR): New accessor.
11454 (TREE_REAL_CST): Update.
11455 * real.h: Include machmode.h.
2274b31a 11456 (realvaluetype): Make it struct realvaluetype, not a typedef.
11ad4784
ZW
11457 (build_real): Prototype here.
11458
11459 * tree.c: Include real.h.
2274b31a
EC
11460 (build_real): Allocate the REAL_VALUE_TYPE as a separate
11461 object in GC memory, set TREE_REAL_CST_PTR to point to it.
11ad4784
ZW
11462 (build_real_from_int_cst): Use build_real.
11463 * ggc-common.c (ggc_mark_trees): Mark TREE_REAL_CST_PTR of a
11464 REAL_CST.
11465
11466 * builtins.c, c-common.c, c-lex.c, dwarf2out.c, expr.c,
11467 fold-const.c, print-tree.c, real.c: Include real.h.
11468 * Makefile.in: Update dependency lists.
11469
bf77398c
ZD
114702002-05-28 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
11471
11472 * basic-block.h (last_basic_block): Declare.
11473 (expunge_block_nocompact): Declaration removed.
11474 (compact_blocks): Declare.
11475 * cfg.c (last_basic_block): New variable.
11476 (expunge_block_nocompact): Removed.
11477 (expunge_block): Do not compact basic blocks.
11478 (compact_blocks): New.
11479 * cfganal.c (flow_call_edges_add): Use the fact that bb indices no
11480 longer change.
11481 * cfgbuild.c (find_basic_blocks_1, find_basic_blocks): Set
11482 last_basic_block.
11483 * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Do not change
11484 real positions of blocks.
11485 (delete_unreachable_blocks): Simplified -- quadratic behavior now
11486 cannot occur.
11487 (cleanup_cfg): Compact blocks.
11488 * cfgrtl.c (create_basic_block): Insert basic blocks to the end of
11489 basic_block_info varray.
11490 (flow_delete_block): Comment update.
11491 (back_edge_of_syntactic_loop_p): Modify position check code.
11492 (verify_flow_info): Update checking.
11493 * flow.c (calculate_global_regs_live): Use FOR_EACH_BB.
11494 * ifcvt.c (SET_ORIG_INDEX, ORIG_INDEX): Removed.
11495 (find_if_case_1, find_if_case_2, if_convert): Use the fact that bb
11496 indices no longer change.
11497 * lcm.c (optimize_mode_switching): Replace n_basic_blocks with
11498 last_basic_block.
11499 * predict.c (estimate_bb_frequencies): Remove unneccessary code.
11500 * profile.c (branch_prob): Compact blocks.
11501 * sched-rgn.c (find_rgns): Replace n_basic_blocks with
11502 last_basic_block.
11503
ae12a094
KH
115042002-05-28 Kazu Hirata <kazu@cs.umass.edu>
11505
11506 * config/h8300/h8300.md (two anonymous patterns): New.
11507
c6172f14
DM
115082002-05-28 David S. Miller <davem@redhat.com>
11509
11510 * config/sparc/sparc.md (cpu): Tidy.
11511 (type): Delete 'return', add 'ialuX', 'flushw', 'iflush', and
11512 'trap'.
11513 (in_call_delay): Delete reference to 'return' type.
11514 (eligible_for_return_delay, in_return_delay, define_delay
11515 referencing those): Delete.
11516 (rest of file): Use new type attributes as appropriate.
11517 * config/sparc/sparc-protos.h (eligible_for_return_delay): Delete.
11518 * config/sparc/sparc.c (eligible_for_return_delay): Likewise.
11519 * config/sparc/ultra1_2.md (us1_single): New reservation.
11520 (us1_ialuX): Likewise.
11521 * config/sparc/ultra3.md (us3_single): Likewise.
11522 (us3_ialuX): Likewise.
11523 (us3_imul, us3_idiv): Tweak.
2274b31a 11524
34a6c2ec
RH
115252002-05-28 Richard Henderson <rth@redhat.com>
11526
11527 * config/alpha/alpha.c (alpha_in_small_data_p): Return false for
11528 STRING_CST.
11529
9c075570
RH
115302002-05-28 Richard Henderson <rth@redhat.com>
11531
11532 * config.gcc: Obsolete mn10200.
11533
359b0bec
NB
115342002-05-28 Neil Booth <neil@daikokuya.demon.co.uk>
11535
11536 * cppexp.c (interpret_number): Optimize for single-digit
11537 and less-than-half-precision cases.
11538 (num_trim, num_positive, num_div_op): Cast constants.
11539
4075db8f
BT
115402002-05-27 Bo Thorsen <bo@suse.de>
11541
11542 * config/i386/libgcc-x86_64-glibc.ver: Copy this file from the
11543 3.1 branch. The file was made by Jakub Jelinek.
11544 * config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Add i386
11545 support so multilib doesn't break. And don't define this at all
11546 when -Dinhibit_libc is used.
11547 (MULTILIB_DEFAULTS): Always set default to 64 bit compilation.
11548 * config/i386/t-linux64: Implement full multilib support. Patch
11549 originally done by Andreas Jaeger and Jakub Jelinek.
11550
39f2f3c8
RS
115512002-05-27 Roger Sayle <roger@eyesopen.com>
11552
11553 * c-common.c: Add support for __attribute__((nothrow)) to specify
11554 that a function cannot throw an exception (using TREE_NOTHROW).
11555 (handle_nothrow_attribute): New function to process this attribute.
11556
11557 * doc/extend.texi: Document the new nothrow function attribute.
11558
d51b0053
L
115592002-05-27 H.J. Lu (hjl@gnu.org)
11560
11561 * cppexp.c (num_trim): Use 1UL instead of 1 for long int.
11562 (num_positive): Likewise.
11563 (num_div_op): Likewise.
11564
630363b4
NB
115652002-05-27 Neil Booth <neil@daikokuya.demon.co.uk>
11566
11567 * c-common.c (c_common_init): Always use intmax_t.
11568
d94cde01
NB
115692002-05-27 Neil Booth <neil@daikokuya.demon.co.uk>
11570
11571 * c-common.c (c_common_init): Use intmax_t for now.
11572
57f851a3
AH
115732002-05-24 Andrew Haley <aph@redhat.com>
11574
11575 * fold-const.c (fold): Don't convert (T)(x & c) into (T)x & (T)c
11576 if T is a boolean type.
11577
d55bc081
ZD
115782002-05-27 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
11579
11580 * basic-block.h (last_basic_block): Defined as synonym for
11581 n_basic_blocks.
11582 * cfganal.c (mark_dfs_back_edges, flow_reverse_top_sort_order_compute,
11583 flow_depth_first_order_compute, flow_preorder_transversal_compute,
11584 flow_dfs_compute_reverse_init): Replaced relevant occurences of
11585 n_basic_blocks with last_basic_block.
11586 * cfgbuild.c (make_edges): Likewise.
11587 * cfgloop.c (flow_loop_scan, flow_loops_find): Likewise.
11588 * cfgrtl.c (verify_flow_info, purge_all_dead_edges): Likewise.
11589 * combine.c (combine_instructions): Likewise.
11590 * df.c (df_alloc, df_analyse_1, df_analyse, iterative_dataflow_sbitmap,
11591 iterative_dataflow_bitmap): Likewise.
11592 * dominance.c (init_dom_info, calc_dfs_tree_nonrec, calc_dfs_tree,
11593 calc_idoms, idoms_to_doms): Likewise.
11594 * flow.c (update_life_info_in_dirty_blocks, free_basic_block_vars):
11595 Likewise.
11596 * gcse.c (gcse_main, alloc_gcse_mem, compute_local_properties,
11597 compute_hash_table, expr_reaches_here_p, one_classic_gcse_pass,
11598 one_cprop_pass, compute_pre_data, pre_expr_reaches_here_p,
11599 one_pre_gcse_pass, compute_transpout, delete_null_pointer_checks_1,
11600 delete_null_pointer_checks, compute_code_hoist_vbeinout,
11601 hoist_expr_reaches_here_p, hoist_code, one_code_hoisting_pass,
11602 compute_store_table, build_store_vectors): Likewise.
11603 * haifa-sched.c (sched_init): Likewise.
11604 * ifcvt.c (if_convert): Likewise.
11605 * lcm.c (compute_antinout_edge, compute_laterin, compute_insert_delete,
11606 pre_edge_lcm, compute_available, compute_nearerout,
11607 compute_rev_insert_delete, pre_edge_rev_lcm, optimize_mode_switching):
11608 Likewise.
11609 * predict.c (estimate_probability, process_note_prediction,
11610 note_prediction_to_br_prob): Likewise.
11611 * profile.c (GCOV_INDEX_TO_BB, BB_TO_GCOV_INDEX): Likewise.
11612 * recog.c (split_all_insns, peephole2_optimize): Likewise.
11613 * regrename.c (copyprop_hardreg_forward): Likewise.
11614 * resource.c (init_resource_info): Likewise.
11615 * sched-rgn.c (build_control_flow, find_rgns, compute_trg_info,
11616 init_regions, schedule_insns): Likewise.
11617 * ssa-ccp.c (ssa_const_prop): Likewise.
11618 * ssa-dce.c (ssa_eliminate_dead_code): Likewise.
11619 * ssa.c (compute_dominance_frontiers,
11620 compute_iterated_dominance_frontiers, convert_to_ssa): Likewise.
11621
11622 * df.c (df_refs_unlink): Fix FOR_EACH_BB usage (in #if 0'ed code)
11623 * gcse.c (alloc_rd_mem, alloc_avail_expr_mem): Use n_blocks for vector
11624 sizes consistently.
11625
71d2c5bd
JH
11626Mon May 27 14:28:12 CEST 2002 Jan Hubicka <jh@suse.cz>
11627
11628 * basic-block.h (can_hoist_p, hoist_insn_after, hoist_insn_to_edge):
11629 new.
11630 * rtlanal.c (hoist_test_store, can_hoist_insn_p, hoist_update_store,
11631 hoist_insn_after, hoist_insn_to_edge): New.
11632
5149f070
JH
11633Mon May 27 12:14:02 CEST 2002 Jan Hubicka <jh@suse.cz>
11634
11635 * basic-block.h (PEOP_SCAN_DEAD_STORES): New.
11636 (PROP_FINAL): Include.
11637 * flow.c (life_analysis, update_life_info,
11638 init_propagate_block_info, mark_set_1, mark_used_rgs):
11639 Support SCAN_DEAD_STORE.
11640
c9220e3a
NB
116412002-05-27 Neil Booth <neil@daikokuya.demon.co.uk>
11642
11643 * c-common.c (c_common_init): Set CPP arithmetic precision.
11644 * cppexp.c (cpp_num_part): Move typedef ...
11645 * cpphash.h: ...here; make unsigned HOST_WIDE_INT.
11646 * cppinit.c (cpp_create_reader): Default to host long arithmetic.
11647 (sanity_checks): Update.
11648
e34a3d31
GK
116492002-05-26 Geoffrey Keating <geoffk@redhat.com>
11650
11651 * Makefile.in (INSTALL_HEADERS): Add 'install-mkheaders'.
11652 (mkheaders): New rule.
11653 (install-mkheaders): New rule.
11654 * configure.in (all_outputs): Add mkheaders.
11655 * configure: Regenerate.
11656 * mkheaders.in: New file.
11657
9059e33c
JJ
116582002-05-26 Jakub Jelinek <jakub@redhat.com>
11659
11660 * cse.c (fold_rtx): Don't optimize if SUBREG changes mode class.
11661
291cc0fe
AJ
116622002-05-26 Andreas Jaeger <aj@suse.de>
11663
11664 * cfg.c (dump_flow_info): Remove extra argument to fprintf.
11665
91318908
NB
116662002-05-26 Neil Booth <neil@daikokuya.demon.co.uk>
11667
11668 * cppexp.c (possible_sum_sign, integer_overflow, left_shift,
11669 right_shift): Remove.
11670 (cpp_num, cpp_num_part, PART_PRECISION, HALF_MASK, LOW_PART,
11671 HIGH_PART): New.
11672 (struct op): Use cpp_num.
11673 (num_zerop, num_eq, num_positive, num_greater_freq, num_trim,
11674 num_part_mul, num_unary_op, num_binary_op, num_negate,
11675 num_bitwise_op, num_inequality_op, num_equality_op, num_mul,
11676 num_div_op, num_lshift, num_rshift, append_digit): New.
11677 (interpret_number, parse_defined, eval_token, reduce): Update
11678 for two-integer arithmetic.
11679 (binary_handler): New typedef.
11680 (optab): Update.
11681 (COMPARE, EQUALITY, BITWISE, MINMAX, UNARY, SHIFT): Delete.
11682 (_cpp_parse_expr, reduce): Update to handle two-integers.
11683 * cpplib.c (_cpp_test_assertion): Back up on CPP_EOF.
11684
331ca350
MM
116852002-05-26 Marek Michalkiewicz <marekm@amelek.gda.pl>
11686
11687 * config/avr/avr-protos.h (avr_out_sbxx_branch): Declare.
11688 * config/avr/avr.c (jump_over_one_insn_p): Take length of the
11689 branch insn into account, do not assume 1.
11690 (avr_out_sbxx_branch): New function. Optimize cases of skipping
11691 over single word insn. Handle upper half of I/O space too.
11692 * config/avr/avr.md (*sbrx_branch): Use it.
11693 (*sbrx_and_branchhi, *sbrx_and_branchsi): Likewise.
11694 (*sbix_branch, *sbix_branch_bit7): Likewise.
11695 (*sbix_branch_tmp, *sbix_branch_tmp_bit7): New.
11696 Use RTL peepholes to optimize register operand sign tests.
11697
bcb6a2be
MM
116982002-05-26 Marek Michalkiewicz <marekm@amelek.gda.pl>
11699
11700 * config/avr/avr.c (avr_asm_only_p): New variable.
11701 (avr_override_options): Set it here if AVR1.
11702 (asm_file_start): Test it here, report an error if set.
11703
ca7fd9cd
KH
117042002-05-26 Kazu Hirata <kazu@cs.umass.edu>
11705
11706 * alias.c: Fix formatting.
11707 * attribs.c: Likewise.
11708 * bb-reorder.c: Likewise.
11709 * bitmap.c: Likewise.
11710 * bitmap.h: Likewise.
11711 * builtins.c: Likewise.
11712
a65dc37d
JH
11713Sun May 26 14:00:44 CEST 2002 Jan Hubicka <jh@suse.cz>
11714
11715 * reload.c (find_valid_class): Accept new argument DEST,
11716 choose class accordingly.
11717 (push_reload): Update callers.
11718
9b89393b
AJ
117192002-05-26 Andreas Jaeger <aj@suse.de>
11720
11721 * combine.c (combine_instructions): Do not indent #if for
11722 traditional C.
11723
b53bb376
RH
117242002-05-25 Richard Henderson <rth@redhat.com>
11725
11726 * c-pragma.c (apply_pragma_weak): Convert value identifier to
11727 string for decl_attributes.
11728 (handle_pragma_weak): Call assemble_alias if we're modifying
11729 an existing decl.
11730
e133041b
RH
117312002-05-25 Richard Henderson <rth@redhat.com>
11732
11733 PR target/6788
11734 * config/sparc/sparc.c (sparc_output_mi_thunk): New implementation
11735 using rtl instead of fprintf.
11736 * config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Use it.
11737 * config/sparc/sparc-protos.h: Update.
11738
81a75f0f
NB
117392002-05-25 Neil Booth <neil@daikokuya.demon.co.uk>
11740
11741 * Makefile.in (C_COMMON_H): Fix.
11742 Update other targets.
11743 * c-common.c: Don't include c-lex.h.
11744 (builtin_define_with_value): Make static and prototype.
11745 (builtin_define_std): Move from c-lex.h.
11746 * c-common.h (init_c_lex): Move from c-lex.h.
11747 * c-decl.c: Don't include c-lex.h.
11748 (make_pointer_declarator): Move from c-parse.in.
11749 * c-lex.c: Don't include c-lex.h.
11750 * c-lex.h: Remove.
11751 * c-parse.in: Don't include c-lex.h; include c-pragma.h.
11752 (make_pointer_declarator): Move to c-decl.c.
11753 * c-pragma.c: Don't include c-lex.h.
11754 * c-pragma.h (yydebug, YYDEBUG, parse_in, c_lex): Move from c-lex.h.
11755 * c-tree.h (make_pointer_declarator): New.
11756doc:
11757 * passes.texi, tm.texi: Update.
11758objc:
11759 * Make-lang.in: Update and correct.
11760 * objc-act.c: Don't include c-lex.h or cpplib.h.
11761treelang:
11762 * treetree.c: Don't include c-lex.h.
11763config:
11764 * darwin-c.c: Don't include c-lex.h.
11765 * c4x/c4x-c.c: Don't include c-lex.h.
11766 * c4x/t-c4x: Update.
11767 * i370/i370-c.c: Don't include c-lex.h.
11768 * i370/t-i370: Update.
11769 * i960/i960-c.c: Don't include c-lex.h.
11770 * i960/i960.c: Don't include cpplib.h, c-lex.h or c-pragma.h.
11771 * i960/t-960bare: Update.
11772 * i960/t-vxworks: Update.
11773 * rs6000/rs6000-c.c: Don't include c-lex.h; include c-pragma.h.
11774 * rs6000/t-darwin: Update.
11775 * rs6000/t-rs6000-c-rule: Update.
11776 * v850/v850-c.c: Don't include c-lex.h.
11777 * v850/v850.c: Don't include c-lex.h or cpplib.h.
11778
11779
04d2be8e
KH
117802002-05-25 Kazu Hirata <kazu@cs.umass.edu>
11781
11782 * tree.def: Fix typos.
11783 * doc/install.texi: Likewise.
11784
7b6e506e
RH
117852002-05-25 Richard Henderson <rth@redhat.com>
11786
11787 * configure.in (HAVE_AS_TLS): Add ia64 test.
11788 * configure: Rebuild.
11789 * config/ia64/ia64.c (ia64_tls_size_string, ia64_tls_size): New.
11790 (override_options): Set it.
11791 (TARGET_HAVE_TLS): New.
11792 (sdata_symbolic_operand): Look for 's'.
11793 (tls_symbolic_operand): New.
11794 (ia64_expand_load_address): Abort for tls symbols.
11795 (gen_tls_get_addr): New.
11796 (gen_thread_pointer): New.
11797 (ia64_expand_move): Split out from movdi. Handle tls symbols.
11798 (rtx_needs_barrier): Add new unspecs.
11799 (ia64_encode_section_info): Handle tls symbols.
11800 (ia64_strip_name_encoding): Strip two encoding chars.
11801 * config/ia64/ia64.h (ia64_tls_size, ia64_tls_size_string): New.
11802 (TARGET_TLS14, TARGET_TLS22, TARGET_TLS64): New.
11803 (TARGET_OPTIONS): Add tls-size.
11804 (ENCODE_SECTION_INFO_CHAR): Rename from SDATA_NAME_FLAG_CHAR.
11805 * config/ia64/ia64.md (UNSPEC_LTOFF_DTPMOD, UNSPEC_LTOFF_DTPREL,
11806 UNSPEC_DTPREL, UNSPEC_LTOFF_TPREL, UNSPEC_TPREL, UNSPEC_LD_BASE): New.
11807 (movqi, movhi, movsi, movdi, movti): Use ia64_expand_move.
11808 (movsf, movdf): Likewise.
11809 (movdi_symbolic): Use match_scratch. Don't split if we won't
11810 have a scratch availiable.
11811 (load_ltoff_dtpmod, load_dtprel, load_dtprel64, load_dtprel22,
11812 add_dtprel, add_dtprel14, add_dtprel22, load_ltoff_tprel, load_tprel,
11813 load_tprel64, load_tprel22, add_tprel, add_tprel14, add_tprel22): New.
11814 * config/ia64/ia64-protos.h: Update.
11815 * config/ia64/sysv4.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Use
11816 sdata_symbolic_operand.
11817 (ASM_OUTPUT_LABELREF): Strip two characters.
11818
8c1d52a3
KH
118192002-05-25 Kazu Hirata <kazu@cs.umass.edu>
11820
11821 * combine.c (simplify_set): Remove an unnecessary subreg.
11822
b47cae3d
MM
118232002-05-25 Marek Michalkiewicz <marekm@amelek.gda.pl>
11824
11825 * config/avr/avr.c (avr_handle_progmem_attribute): Handle TYPE_DECL.
11826
11827 * config/avr/avr.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_BSS): New.
11828
ce9e3a6d
GDR
118292002-05-25 Gabriel Dos Reis <gdr@codesourcery.com>
11830
11831 * toplev.c (output_clean_symbol_name): Fix another thinko. Gosh.
11832
fb2c6841
RS
118332002-05-25 Roger Sayle <roger@eyesopen.com>
11834
11835 * simplify-rtx.c (simplify_gen_relational): Simplify the RTX
11836 (cond (compare x y) 0) into the equivalent (cond x y).
11837
da7ac8f1
GDR
118382002-05-25 Gabriel Dos Reis <gdr@codesourcery.com>
11839
11840 * toplev.c (output_clean_symbol_name): Use xstrdup. Fix thinko.
11841
c7bdf0a6
ZW
118422002-05-24 Zack Weinberg <zack@codesourcery.com>
11843
11844 * config.gcc: Remove all stanzas for previously obsoleted
11845 systems. Where necessary, add explicit error stanzas to
11846 prevent removed systems from being misidentified as something
11847 else. Begin a fresh obsoletions list, with the systems that
11848 were reprieved last round.
11849 * doc/install.texi: Remove all mention of dead targets.
11850 * fixinc/mkfixinc.sh: Likewise.
11851
11852 * config/arm/arm.h: Bit 31 of target_flags is no longer
11853 reserved.
11854
11855 * config/1750a/1750a-protos.h, config/1750a/1750a.c,
11856 config/1750a/1750a.h, config/1750a/1750a.md, config/1750a/ms1750.inc,
11857 config/a29k/a29k-protos.h, config/a29k/a29k.c, config/a29k/a29k.h,
11858 config/a29k/a29k.md, config/a29k/rtems.h, config/a29k/t-a29kbare,
11859 config/a29k/t-vx29k, config/a29k/unix.h, config/a29k/vx29k.h,
11860 config/alpha/osf12.h, config/alpha/osf2or3.h,
11861 config/arm/arm-wince-pe.h, config/arm/arm.h, config/arm/riscix.h,
11862 config/arm/riscix1-1.h, config/arm/rix-gas.h, config/arm/t-riscix,
11863 config/clipper/clipper-protos.h, config/clipper/clipper.c,
11864 config/clipper/clipper.h, config/clipper/clipper.md,
11865 config/clipper/clix.h, config/convex/convex-protos.h,
11866 config/convex/convex.c, config/convex/convex.h,
11867 config/convex/convex.md, config/convex/fixinc.convex,
11868 config/convex/proto.h, config/elxsi/elxsi-protos.h,
11869 config/elxsi/elxsi.c, config/elxsi/elxsi.h, config/elxsi/elxsi.md,
11870 config/i386/386bsd.h, config/i386/aix386.h, config/i386/aix386ng.h,
11871 config/i386/bsd386.h, config/i386/dgux.h, config/i386/djgpp-rtems.h,
11872 config/i386/isc.h, config/i386/iscdbx.h, config/i386/linux-oldld.h,
11873 config/i386/next.h, config/i386/osf1-ci.asm, config/i386/osf1-cn.asm,
11874 config/i386/osf1elf.h, config/i386/osf1elfgdb.h, config/i386/osfelf.h,
11875 config/i386/osfrose.h, config/i386/rtems.h, config/i386/seq-gas.h,
11876 config/i386/seq-sysv3.h, config/i386/seq2-sysv3.h,
11877 config/i386/sequent.h, config/i386/sun.h, config/i386/sun386.h,
11878 config/i386/t-dgux, config/i386/t-next, config/i386/t-osf,
11879 config/i386/t-osf1elf, config/i860/bsd-gas.h, config/i860/bsd.h,
11880 config/i860/fx2800.h, config/i860/i860-protos.h, config/i860/i860.c,
11881 config/i860/i860.h, config/i860/i860.md, config/i860/mach.h,
11882 config/i860/paragon.h, config/i860/sysv3.h, config/i860/sysv4.h,
11883 config/i860/t-fx2800, config/i860/varargs.asm, config/m68k/a-ux.h,
11884 config/m68k/altos3068.h, config/m68k/apollo68.h,
11885 config/m68k/aux-crt1.c, config/m68k/aux-crt2.asm,
11886 config/m68k/aux-crtn.asm, config/m68k/aux-exit.c,
11887 config/m68k/aux-low.gld, config/m68k/aux-mcount.c,
11888 config/m68k/auxas.h, config/m68k/auxgas.h, config/m68k/auxgld.h,
11889 config/m68k/auxld.h, config/m68k/ctix.h, config/m68k/dpx2.h,
11890 config/m68k/dpx2.ifile, config/m68k/dpx2cdbx.h, config/m68k/dpx2g.h,
11891 config/m68k/isi-nfp.h, config/m68k/isi.h, config/m68k/lynx-ng.h,
11892 config/m68k/lynx.h, config/m68k/math-3300.h, config/m68k/news.h,
11893 config/m68k/news3.h, config/m68k/news3gas.h, config/m68k/newsgas.h,
11894 config/m68k/next.h, config/m68k/next21.h, config/m68k/rtems.h,
11895 config/m68k/t-aux, config/m68k/t-lynx, config/m68k/t-next,
11896 config/m68k/x-next, config/m88k/dgux.h, config/m88k/dgux.ld,
11897 config/m88k/dguxbcs.h, config/m88k/dolph.h, config/m88k/dolphin.ld,
11898 config/m88k/luna.h, config/m88k/m88k-coff.h, config/m88k/sysv3.h,
11899 config/m88k/t-bug, config/m88k/t-dgux, config/m88k/t-dgux-gas,
11900 config/m88k/t-dguxbcs, config/m88k/t-dolph, config/m88k/t-m88k-gas,
11901 config/m88k/t-tekXD88, config/m88k/tekXD88.h, config/m88k/tekXD88.ld,
11902 config/mips/bsd-4.h, config/mips/bsd-5.h, config/mips/dec-bsd.h,
11903 config/mips/dec-osf1.h, config/mips/elflorion.h,
11904 config/mips/iris4loser.h, config/mips/mips-5.h, config/mips/news4.h,
11905 config/mips/news5.h, config/mips/nws3250v4.h, config/mips/osfrose.h,
11906 config/mips/svr3-4.h, config/mips/svr3-5.h, config/mips/svr4-4.h,
11907 config/mips/svr4-5.h, config/mips/svr4-t.h, config/mips/t-bsd,
11908 config/mips/t-bsd-gas, config/mips/t-svr3, config/mips/t-svr3-gas,
11909 config/mips/t-svr4, config/mips/t-svr4-gas, config/mips/t-ultrix,
11910 config/mips/ultrix.h, config/nextstep-protos.h, config/nextstep.c,
11911 config/nextstep.h, config/nextstep21.h, config/ns32k/encore.h,
11912 config/ns32k/merlin.h, config/ns32k/pc532-mach.h,
11913 config/ns32k/pc532-min.h, config/ns32k/pc532.h,
11914 config/ns32k/sequent.h, config/ns32k/tek6000.h,
11915 config/ns32k/tek6100.h, config/ns32k/tek6200.h, config/pj/lib1funcs.S,
11916 config/pj/linux.h, config/pj/pj-protos.h, config/pj/pj.c,
11917 config/pj/pj.h, config/pj/pj.md, config/pj/pjl.h, config/pj/t-pj,
11918 config/sparc/rtems.h, config/we32k/we32k-protos.h,
11919 config/we32k/we32k.c, config/we32k/we32k.h, config/we32k/we32k.md:
11920 Delete file.
11921
755ac5d4
RH
119222002-05-24 Richard Henderson <rth@redhat.com>
11923
11924 * flags.h (TLS_MODEL_GLOBAL_DYNAMIC): Set to 1.
11925 * toplev.c (flag_tls_default) Set to TLS_MODEL_GLOBAL_DYNAMIC.
11926 * config/i386/i386.c (tls_model_chars): Add leading space.
11927 (tls_symbolic_operand): Don't bias by 1.
11928 (legitimize_address): Don't unbias by 1.
11929
c429f12e
TM
119302002-05-24 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
11931
11932 * lcm.c (optimize_mode_switching): Change bb used as indices
11933 to bb->index.
11934
8beda321
RH
119352002-05-24 Richard Henderson <rth@redhat.com>
11936
11937 * config/ia64/ia64.c (ia64_reorg): Use update_life_info instead
11938 of update_life_info_in_dirty_blocks.
11939
90442291
JJ
119402002-05-24 Jakub Jelinek <jakub@redhat.com>
11941
11942 PR other/6782
11943 * final.c (get_mem_expr_from_op): Return 0 if op is NULL.
11944
3620711b
NB
119452002-05-24 Neil Booth <neil@daikokuya.demon.co.uk>
11946
11947 PR preprocessor/6780
11948 * cppmacro.c (enter_macro_context): Clear state.angled_headers.
11949
2f8d482e
JB
119502002-05-24 Jim Blandy <jimb@redhat.com>
11951
11952 * dwarf2out.c (dwarf2out_finish): Don't forget to emit a final
11953 entry with a type code of zero, marking the end of the compilation
11954 unit's macro info.
11955
95bfe95f
RH
119562002-05-24 Richard Henderson <rth@redhat.com>
11957
c7bdf0a6
ZW
11958 * varasm.c (asm_output_bss): Always output one byte.
11959 * config/alpha/elf.h (ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
95bfe95f 11960
7efda054
BM
119612002-05-24 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
11962
11963 * tree.c (decl_type_context): Return NULL_TREE if decl's context is a
11964 namespace.
11965
8a951190
AJ
119662002-05-24 Andreas Jaeger <aj@suse.de>
11967
11968 * ggc-page.c (alloc_page): Cast variables of type size_t to
11969 unsigned long, adjust printf format string.
11970 (ggc_alloc): Likewise.
11971 (ggc_print_statistics): Likewise.
11972 (ggc_print_statistics): Correct printf format string for SCALE to
11973 use unsigned long.
11974
f29e2ec0
DS
119752002-05-24 Danny Smith <dannysmith@users.sourceforge.net>
11976
11977 * config/i386/mingw32.h (CPP_SPEC): Remove -remap.
11978
211a0cbe 119792002-05-23 Gabriel Dos Reis <gdr@codesourcery.com>
c7bdf0a6 11980 Zack Weinberg <zack@codesourcery.com>
211a0cbe
GDR
11981
11982 * config/i386/mingw32.h (OUTPUT_QUOTED_STRING): Properly output
11983 quoted strings.
11984 * dwarf2out.c (lookup_filename): Properly quote filename in .file
8a951190 11985 directive in assembly file.
211a0cbe
GDR
11986 * config/m68k/dpx2.h (ASM_OUTPUT_SOURCE_FILENAME): Likewise.
11987 * config/m88k/m88k.h (ASM_OUTPUT_SOURCE_FILENAME): Likewise.
11988 * config/pj/pj.h (ASM_FILE_START): Likewise.
11989 * config/rs6000/xcoff.h (ASM_FILE_START): Likewise.
11990 * config/avr/avr.c (asm_file_end): Likewise.
11991 * toplev.c (output_quoted_string): Handle possibly signed plain
8a951190 11992 char.
211a0cbe
GDR
11993 * toplev.h (output_clean_symbol_name): Declare
11994 * toplev.c (output_clean_symbol_name): Define.
11995 * config/alpha/alpha.c (unicosmk_output_module_name): Use it.
11996 * config/1750a/1750a.h (ASM_FILE_START): Likewise.
11997
2f0552b6
AM
119982002-05-24 Alan Modra <amodra@bigpond.net.au>
11999
12000 * config/rs6000/rs6000.c (output_toc): Mask longs to 32 bits.
12001
b326b2c1
VM
120022002-05-23 Vladimir Makarov <vmakarov@redhat.com>
12003
12004 * genautomata.c (reserv_sets_hash_value): Use shift equal to 3/4
12005 of size of unsigned.
12006
f996902d
RH
120072002-05-23 Richard Henderson <rth@redhat.com>
12008
12009 * configure.in (HAVE_AS_TLS): New test.
12010 * config.in, configure: Rebuild.
12011 * config/i386/i386.c (TARGET_HAVE_TLS): Set if HAVE_AS_TLS.
12012 (ix86_tls_dialect_string, ix86_tls_dialect): New.
12013 (override_options): Set it.
12014 (tls_model_chars, tls_symbolic_operand): New.
12015 (tls_symbolic_operand_1, global_dynamic_symbolic_operand): New.
12016 (local_dynamic_symbolic_operand, initial_exec_symbolic_operand): New.
12017 (local_exec_symbolic_operand): New.
12018 (get_pic_label_name): Merge into output_set_got.
12019 (ix86_asm_file_end): Emit pic_label_name if defined.
12020 (legitimate_constant_p, constant_address_p): New.
12021 (legitimate_pic_operand_p): New.
12022 (legitimate_pic_address_disp_p): Handle GOTTPOFF, NTPOFF, DTPOFF.
12023 (legitimate_address_p): Likewise.
12024 (ix86_encode_section_info): Rename from i386_; handle tls decls.
12025 (ix86_strip_name_encoding): New.
12026 (get_thread_pointer): New.
12027 (legitimize_address): Handle tls symbols.
12028 (output_pic_addr_const): Handle GOTTPOFF, TPOFF, NTPOFF, DTPOFF.
12029 Remove UNSPEC_PLT.
12030 (struct machine_function): Add some_ld_name.
12031 (get_some_local_dynamic_name, get_some_local_dynamic_name_1): Set it.
12032 (print_operand) [&]: Use it. Handle UNSPEC_TP.
12033 (output_addr_const_extra): New.
12034 (maybe_get_pool_constant): New.
12035 (ix86_split_to_parts): Use it.
12036 (ix86_expand_move): Handle tls symbols.
12037 (ix86_tls_get_addr): New.
12038 * config/i386/i386.h (TARGET_GNU_TLS, TARGET_SUN_TLS): New.
12039 (TARGET_OPTIONS): Add tls-dialect.
12040 (CONSTANT_ADDRESS_P): Use new out-of-line function.
12041 (LEGITIMATE_CONSTANT_P): Likewise.
12042 (LEGITIMATE_PIC_OPERAND_P): Likewise.
12043 (TARGET_STRIP_NAME_ENCODING): New.
12044 (ASM_OUTPUT_LABELREF): New.
12045 (PRINT_OPERAND_PUNCT_VALID_P): Add '&'.
12046 (OUTPUT_ADDR_CONST_EXTRA): New.
12047 (PREDICATE_CODES): Update.
12048 (ix86_tls_dialect, ix86_tls_dialect_string): New.
12049 * config/i386/i386.md: Regroup and renumber unspec constants.
12050 (tls_global_dynamic_gnu, tls_global_dynamic_sun): New.
12051 (tls_local_dynamic_base_gnu, tls_local_dynamic_base_sun): New.
12052 (tls_global_dynamic, tls_local_dynamic_base): New.
12053 (tls_local_dynamic_once): New.
12054 * config/i386/i386-protos.h: Update.
12055
821e35ba
RH
120562002-05-23 Richard Henderson <rth@redhat.com>
12057
12058 * genemit.c (gen_insn): Print file:lineno comment before function.
12059 (main): likewise.
12060 * gensupport.c (struct queue_elem): Add filename member.
12061 (queue_pattern): Initialize it; update all callers.
12062 (process_include): Don't free filename.
12063 (read_md_rtx): Set read_rtx_filename.
12064
0f1ffa23 120652002-05-23 Hans Boehm <Hans_Boehm@hp.com>
821e35ba
RH
12066
12067 * config/ia64/linux.h (IA64_GATE_AREA_END): Adjust for 64K pages.
0f1ffa23 12068
8e9fadc3
RH
120692002-05-23 Richard Henderson <rth@redhat.com>
12070
12071 * config/i386/i386.c (output_set_got): Fix typo in pic no-deep case.
12072
244c2241
RH
120732002-05-23 Richard Henderson <rth@redhat.com>
12074
12075 * doc/extend.texi (C++98 Thread-Local Edits): Update with
12076 commentary from Mark.
12077
e0082a72
ZD
120782002-05-23 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
12079
12080 * bb-reorder.c (make_reorder_chain, make_reorder_chain_1):
12081 Use FOR_EACH_BB macros to iterate over basic block chain.
12082 * cfg.c (clear_edges, clear_bb_flags, dump_flow_info,
12083 alloc_aux_for_blocks, clear_aux_for_blocks, alloc_aux_for_edges):
12084 Likewise.
12085 * cfganal.c (set_edge_can_fallthru_flag, flow_call_edges_add,
12086 find_unreachable_blocks, create_edge_list, verify_edge_list,
12087 remove_fake_edges, add_noreturn_fake_exit_edges,
12088 flow_preorder_transversal_compute, flow_dfs_compute_reverse_execute):
12089 Likewise.
12090 * cfgbuild.c (make_edges, find_basic_blocks, find_many_sub_basic_blocks,
12091 find_sub_basic_blocks): Likewise.
12092 * cfgcleanup.c (try_optimize_cfg, delete_unreachable_blocks):
12093 Likewise.
12094 * cfglayout.c (record_effective_endpoints, cleanup_unconditional_jumps):
12095 Likewise.
12096 * cfgloop.c (flow_loops_cfg_dump, flow_loops_find):
12097 Likewise.
12098 * cfgrtl.c (compute_bb_for_insn, tidy_fallthru_edges,
12099 commit_edge_insertions, commit_edge_insertions_watch_calls,
12100 print_rtl_with_bb, verify_flow_info, purge_all_dead_edges): Likewise.
12101 * combine.c (combine_instructions, reg_dead_at_p): Likewise.
12102 * conflict.c (conflict_graph_compute): Likewise.
12103 * df.c (df_bitmaps_alloc, df_bitmaps_free, df_alloc, df_analyse_1,
12104 df_modified_p, df_refs_unlink, df_dump): Likewise.
12105 * dominance.c (calc_dfs_tree, calculate_dominance_info): Likewise.
12106 * final.c (compute_alignments): Likewise.
12107 * flow.c (update_life_info, update_life_info_in_dirty_blocks,
12108 delete_noop_moves, calculate_global_regs_live, allocate_bb_life_data,
12109 count_or_remove_death_notes): Likewise.
12110 * gcse.c (oprs_unchanged_p, record_last_reg_set_info,
12111 compute_hash_table, compute_kill_rd, compute_rd, compute_ae_kill,
12112 classic_gcse, compute_transp, cprop, compute_pre_data,
12113 compute_transpout, invalidate_nonnull_info,
12114 delete_null_pointer_checks_1, delete_null_pointer_checks,
12115 compute_code_hoist_vbeinout, hoist_code, compute_ld_motion_mems,
12116 compute_store_table, build_store_vectors, store_motion): Likewise.
12117 * global.c (global_conflicts, mark_elimination): Likewise.
12118 * graph.c (print_rtl_graph_with_bb): Likewise.
12119 * haifa-sched.c (sched_init): Likewise.
12120 * ifcvt.c (if_convert): Likewise.
12121 * lcm.c (compute_antinout_edge, compute_laterin, compute_insert_delete,
12122 compute_available, compute_nearerout, compute_rev_insert_delete,
12123 optimize_mode_switching): Likewise.
12124 * local-alloc.c (local_alloc, update_equiv_regs): Likewise.
12125 * predict.c (estimate_probability, note_prediction_to_br_prob,
12126 propagate_freq, counts_to_freqs, expensive_function_p,
12127 estimate_bb_frequencies): Likewise.
12128 * profile.c (instrument_edges, get_exec_counts,
12129 compute_branch_probabilities, compute_checksum, branch_prob,
12130 find_spanning_tree): Likewise.
12131 * recog.c (split_all_insns, peephole2_optimize): Likewise.
12132 * reg-stack.c (reg_to_stack, convert_regs_entry, convert_regs):
12133 Likewise.
12134 * regclass.c (scan_one_insn, regclass): Likewise.
12135 * regmove.c (mark_flags_life_zones, regmove_optimize,
12136 record_stack_memrefs): Likewise.
12137 * regrename.c (regrename_optimize, copyprop_hardreg_forward): Likewise.
12138 * reload1.c (reload, reload_combine, fixup_abnormal_edges): Likewise.
12139 * resource.c (find_basic_block): Likewise.
12140 * sched-ebb.c (schedule_ebbs): Likewise.
12141 * sched-rgn.c (is_cfg_nonregular, build_control_flow,
12142 find_single_block_region, find_rgns, schedule_insns)
12143 * sibcall.c (optimize_sibling_and_tail_recursive_call)
12144 * ssa-ccp.c (optimize_unexecutable_edges,
12145 ssa_ccp_df_delete_unreachable_insns): Likewise.
12146 * ssa-dce.c (ssa_eliminate_dead_code): Likewise.
12147 * ssa.c (find_evaluations, compute_dominance_frontiers_1,
12148 rename_block, convert_to_ssa, compute_conservative_reg_partition,
12149 compute_coalesced_reg_partition, rename_equivalent_regs,
12150 convert_from_ssa): Likewise.
12151 * config/ia64/ia64.c (emit_predicate_relation_info, process_epilogue,
12152 process_for_unwind_directive): Likewise.
12153
12154 * df.c (FOR_ALL_BBS): Removed.
12155 * gcse.c (struct null_pointer_info): Type of current_block field
12156 changed.
12157 (struct reg_avail_info): Type of last_bb field changed.
12158 * config/ia64/ia64.c (block_num): Removed.
12159 (need_copy_state): Type changed.
12160 (last_block): New.
12161
17645b15
NB
121622002-05-23 Neil Booth <neil@daikokuya.demon.co.uk>
12163
12164 * cppinit.c (mark_named_operators): Split out from init_builtins.
12165 (cpp_finish_options): Call it from here instead.
12166
79ed7328
JT
121672002-05-23 Jason Thorpe <thorpej@wasabisystems.com>
12168
12169 * builtin-attrs.def: Update copyright years.
12170 (ATTR_NONNULL): New attribute identifier.
12171 (ATTR_NONNULL_1, ATTR_NONNULL_2, ATTR_NONNULL_3): New
12172 attribute tree lists.
12173 (DEF_FORMAT_ATTRIBUTE): Chain a nonnull attribute for the
12174 format operand.
12175 (ATTR_FORMAT_ARG_1, ATTR_FORMAT_ARG_2): Use...
12176 (DEF_FORMAT_ARG_ATTRIBUTE): ...this to generate format_arg
12177 attribute lists. Chain the appropriate nonnull attribute.
12178 * c-format.c (check_format_arg): Remove null format string
12179 warning.
12180 * testsuite/gcc.dg/format/null-1.c: New test.
12181
7d600178
RO
121822002-05-23 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
12183
12184 * Makefile.in (ADAC): Define.
12185 (SYSLIBS): Define.
12186 (.SUFFIXES): Move before language makefile fragments.
12187 (STAGE2_FLAGS_TO_PASS): Use stage CC as ADAC.
12188
5ff225fc
MM
121892002-05-23 Mark Mitchell <mark@codesourcery.com>
12190
12191 * varasm.c (make_decl_rtl): Don't allow weak variables to be
12192 placed in common.
12193
0f72964f
JH
12194Thu May 23 19:43:41 CEST 2002 Jan Hubicka <jh@suse.cz>
12195
12196 * cfg.c (dump_flow_info): Print results of
12197 maybe_hot/probably_never_executed predicates.
12198 * toplev.c (open_dump_file): Print function frequency.
12199
c863f8c2
DM
122002002-05-23 David S. Miller <davem@redhat.com>
12201
12202 * cse.c (approx_reg_cost_1, approx_reg_cost): Recode to not use
12203 regsets.
12204
b34c7881
JT
122052002-05-23 Jason Thorpe <thorpej@wasabisystems.com>
12206
12207 * c-common.c (warn_nonnull): Declare.
12208 (c_common_attribute_table): Add "nonnull" attribute.
12209 (handle_nonnull_attribute, check_function_nonnull, nonnull_check_p,
12210 check_nonnull_arg, get_nonnull_operand, check_function_arguments,
12211 check_function_arguments_recurse): New functions.
12212 * c-common.h (warn_nonnull): Declare extern.
12213 (check_function_arguments, check_function_arguments_recurse): New
12214 prototypes.
12215 * c-decl.c (c_decode_option): Add -Wnonnull option.
12216 * c-format.c (set_Wformat): Set warn_nonnull if enabling
12217 format checking.
12218 (format_check_context): New structure.
12219 (check_format_info_recurse): Remove recursion and rename to...
12220 (check_format_arg): ...this. Update comment.
12221 (check_format_info): Use check_function_arguments_recurse.
12222 * c-typeck.c (build_function_call): Call check_function_arguments
12223 instead of check_function_format.
12224 * doc/extend.texi: Document "nonnull" attribute.
12225 * doc/invoke.texi: Docuemnt -Wnonnull option.
12226 * testsuite/gcc.dg/nonnull-1.c: New test.
12227 * testsuite/gcc.dg/nonnull-2.c: New test.
12228
95479831
DM
122292002-05-23 David S. Miller <davem@redhat.com>
12230
12231 * basic-block.h (CLEANUP_NO_INSN_DEL): Define it.
12232 * cfgcleanup.c (cleanup_cfg): If it is set do not
12233 attempt to delete trivially dead insns.
12234 * except.c (finish_eh_generation): Pass it to cleanup_cfg.
12235 * toplev.c (rest_of_compilation): Document non-trivial aspect
12236 the RTL before optimize_save_area_alloca is run.
12237
a97d1398
NB
122382002-05-23 Neil Booth <neil@daikokuya.demon.co.uk>
12239
12240 * c-lex.c (indent_level): Remove.
12241 (cb_file_change, c_lex): Remove indent level handling.
12242 * c-lex.h (indent_level): Remove.
12243 * input.h (struct file_stack): Remove indent_level.
12244 * toplev.c (push_srcloc): Remove indent_level handling.
12245
66b408f2
JJ
122462002-05-23 Jakub Jelinek <jakub@redhat.com>
12247
12248 PR target/6753
12249 * config/i386/i386.md (sse_movdfcc, sse_movdfcc_eq): Use Y instead
12250 of x in constraints for clarity.
12251 (sse_mov?fcc split): abort if op2 == op3.
12252 (sse_movsfcc_const0_1, sse_movsfcc_const0_2, sse_movsfcc_const0_3,
12253 sse_movsfcc_const0_4): Add earlyclobber.
12254 (sse_movdfcc_const0_1, sse_movdfcc_const0_2, sse_movdfcc_const0_3,
12255 sse_movdfcc_const0_4): Likewise. Use DFmode, not SFmode.
12256 Use Y instead of x in constraints.
12257
5bf0ebab
RH
122582002-05-23 Richard Henderson <rth@redhat.com>
12259
9217ef40
RH
12260 * doc/extend.texi (C99 Thread-Local Edits): New subsection.
12261 (C++98 Thread-Local Edits): New subsection.
12262
5bf0ebab
RH
12263 * config/i386/i386.c, config/i386/i386.h: Tidy comments and whitespace.
12264 (ix86_arch): Set type to enum processor_type.
12265
8a951190 12266 * config/i386/i386.md (movsi_1, movdi_1_rex64): Use
5bf0ebab
RH
12267 LEGITIMATE_PIC_OPERAND_P not SYMBOLIC_CONST.
12268
4832c9e1
JJ
122692002-05-23 Jakub Jelinek <jakub@redhat.com>
12270
12271 * configure.in: Fix as version test for binutils 2.12.1 releases
12272 (without dates).
12273 * configure: Rebuilt.
12274
c8c03509
RH
122752002-05-23 Richard Henderson <rth@redhat.com>
12276
12277 * config/i386/i386.c (get_pic_label_name): New.
12278 (load_pic_register): Remove.
12279 (output_set_got): New.
12280 (ix86_expand_prologue): Use gen_set_got; mark insn REG_MAYBE_DEAD.
12281 * config/i386/i386.md (UNSPEC_SET_GOT): New.
12282 (UNSPECV_PROLOGUE_SET_GOT, UNSPECV_PROLOGUE_GET_PC): Remove.
12283 (prologue_set_got, prologue_get_pc): Remove.
12284 (set_got, set_got_nopic, set_got_deep, set_got_nodeep): New.
12285 (builtin_setjmp_receiver): Use gen_set_got.
12286 * config/i386/i386-protos.h: Update.
12287
d51f3632
JH
12288Thu May 23 09:22:23 CEST 2002 Jan Hubicka <jh@suse.cz>
12289
12290 * gcse.c (hash_expr): Do not use alias set for hashing.
12291
b0a93386
KB
122922002-05-22 Kevin Buettner <kevinb@redhat.com>
12293
12294 * dbxout.c (dbxout_class_name_qualifiers): New function.
12295 (dbxout_symbol): Output class/struct qualifiers for a .stabs entry.
12296
bdee42b1
NB
122972002-05-23 Neil Booth <neil@daikokuya.demon.co.uk>
12298
12299 * cpperror.c (_cpp_begin_message): No special casing
12300 of CPP_FATAL_LIMIT.
12301 * cppinit.c (sanity_checks): s/DL_FATAL/DL_ICE/.
12302 (output_deps, cpp_handle_option, cpp_post_options): Use DL_ERROR.
12303 * cpplib.c (do_include_common): Use DL_ERROR.
12304 * cpplib.h (CPP_FATAL_LIMIT, CPP_FATAL_ERRORS, DL_FATAL): Remove.
12305 (DL_ICE): Renumber.
12306 * fix-header.c (read_scan_file): Update.
12307
0e07aff3
RH
123082002-05-22 Richard Henderson <rth@redhat.com>
12309
12310 * config/i386/i386.c (ix86_expand_call): New function, extracted
12311 from md call patterns. Add pic_offset_table_rtx to
12312 CALL_INSN_FUNCTION_USAGE when needed.
12313 * config/i386/i386.md (call_pop, call): Use ix86_expand_call.
12314 (call_value_pop, call_value, untyped_call): Likewise.
12315 (call_exp, call_value_exp): Remove.
12316 * config/i386/i386-protos.h: Update.
12317
6f001fdf
RH
123182002-05-22 Richard Henderson <rth@redhat.com>
12319
12320 * varasm.c (default_section_type_flags): Check for VAR_DECL
12321 before using DECL_THREAD_LOCAL.
12322
cbaaba19
DE
123232002-05-22 David Edelsohn <edelsohn@gnu.org>
12324
12325 * config/rs6000/aix43.h (LINK_SPEC): Add PE initializer.
12326 (STARTFILE_SPEC): Delete PE crt0.o.
12327 * config/rs6000/aix51.h: Same.
12328 * config/rs6000/rs6000.c: Use TARGET_XCOFF, not OBJECT_FORMAT_COFF.
12329 * config/rs6000/rs6000.h (ASM_WEAKEN_DECL): Append [DS] to
12330 function descriptor symbol. Use RS6000_OUTPUT_BASENAME.
12331 (ASM_OUTPUT_DEF_FROM_DECLS): Use RS6000_OUTPUT_BASENAME.
12332 * config/rs6000/xcoff.h (ASM_OUTPUT_DEF): Define.
12333
c711ba8e
RH
123342002-05-22 Richard Henderson <rth@redhat.com>
12335
12336 * varasm.c (default_section_type_flags): Handle tls data and
12337 default sections.
12338 (default_unique_section): Handle tls sections.
12339
343f59d9
AM
123402002-05-23 Alan Modra <amodra@bigpond.net.au>
12341
12342 * configure.in (CROSS): Define NATIVE_CROSS.
12343 * configure: Regenerate.
12344 * gcc.c (STARTFILE_PREFIX_SPEC): Define.
12345 (startfile_prefix_spec): New var.
12346 (static_specs): Add startfile_prefix_spec.
12347 (do_spec_2): Split out from..
12348 (do_spec): ..here.
12349 (main): Process startfile_prefix_spec.
12350 * config/rs6000/linux64.h (LINK_OS_LINUX_SPEC) Change name of
12351 dynamic linker.
12352 (STARTFILE_PREFIX_SPEC): Define.
12353 (STARTFILE_LINUX_SPEC, ENDFILE_LINUX_SPEC): Rewrite without
c7bdf0a6 12354 absolute paths.
343f59d9 12355
df383483
KH
123562002-05-22 Kazu Hirata <kazu@cs.umass.edu>
12357
12358 * cpperror.c: Fix formatting.
12359 * cppexp.c: Likewise.
12360 * cppfiles.c: Likewise.
12361 * cpphash.c: Likewise.
12362 * cpphash.h: Likewise.
12363 * cppinit.c: Likewise.
12364 * cpplex.c: Likewise.
12365 * cpplib.c: Likewise.
12366 * cppmacro.c: Likewise.
12367 * cppmain.c: Likewise.
12368 * cppspec.c: Likewise.
12369
2dd36f90
JJ
123702002-05-22 Jakub Jelinek <jakub@redhat.com>
12371
12372 * combine.c (force_to_mode): Use gen_int_mode.
12373 Don't clear CONST_INT bits outside of mode.
12374
8dc02d7f
RH
123752002-05-22 Richard Henderson <rth@redhat.com>
12376
12377 * fixinc/inclhack.def (thread_keyword): Match __thread as last arg.
12378 * fixinc/fixincl.x, fixinc/tests/base/pthread.h: Rebuild.
12379
45f79783
JJ
123802002-05-22 Jakub Jelinek <jakub@redhat.com>
12381
12382 PR c/6643
12383 * emit-rtl.c (widen_memory_access): Only call compare_tree_int
12384 if DECL_SIZE_UNIT is INTEGER_CST.
12385
19f71cd7
RH
123862002-05-22 Richard Henderson <rth@redhat.com>
12387
12388 * flow.c (life_analysis): Delete broken reg_label check.
12389
d5bcfcce
RH
123902002-05-22 Richard Henderson <rth@redhat.com>
12391
12392 * fixinc/inclhack.def (thread_keyword): Allow as any prototype arg.
12393 * fixinc/fixincl.x, fixinc/tests/base/pthread.h: Rebuild.
12394
985d311b 12395Wed May 22 18:39:57 2002 J"orn Rennecke <joern.rennecke@superh.com>
5ff94354
R
12396
12397 * t-sh (LIB2FUNCS_EXTRA): Now embed-bb.c.
12398 (embed-bb.c): New rule.
985d311b 12399 * t-sh64 (LIB2FUNCS_EXTRA): Don't change.
5ff94354
R
12400 * config/sh/embed_bb.c: Delete.
12401
985d311b
R
12402Wed May 22 18:25:29 2002 J"orn Rennecke <joern.rennecke@superh.com>
12403
12404 * c-common.c (cb_register_builtins): Don't indent '#' of #define.
12405
f6d45746
KH
124062002-05-22 Kazu Hirata <kazu@cs.umass.edu>
12407
12408 * config/h8300/h8300.md (*andorqi3): New.
12409
e5f3b786
NB
124102002-05-22 Neil Booth <neil@daikokuya.demon.co.uk>
12411
12412 PR preprocessor/6517
12413 * Makefile.in: Update.
12414 * c-common.c (c_common_post_options): Add preprocessor
12415 errors to the error count.
12416 * c-lang.c (c_post_options): Kill.
12417 (LANG_HOOKS_POST_OPTIONS): Use c_common_post_options.
12418 * hooks.h: Add header guards.
12419 * langhooks-def.h: Include hooks.h.
12420 (LANG_HOOKS_POST_OPTIONS): Update.
12421 * langhooks.h (struct lang_hooks): Update post_options.
12422 * toplev.c (parse_options_and_default_flags): Update.
12423objc:
12424 * objc-lang.c (objc_post_options): Kill.
12425 (LANG_HOOKS_POST_OPTIONS): Use c_common_post_options.
12426
4c526be3
BK
124272002-05-21 Bruce Korb <bkorb@gnu.org>
12428
12429 * fixinc/tests/base/pthread.h(THREAD_KEYWORD_CHECK): add fix check
021c1f34
BK
12430 * fixinc/inclhack.def(thread_keyword): use c_fix = format.
12431 * fixinc/fixincl.x: regen.
4c526be3 12432
f87c27b4
KH
124332002-05-21 Kazu Hirata <kazu@cs.umass.edu>
12434
12435 * cfgbuild.c: Fix formatting.
12436 * cfg.c: Likewise.
12437 * cfgcleanup.c: Likewise.
12438 * cfglayout.c: Likewise.
12439 * cfgloop.c: Likewise.
12440 * cfgrtl.c: Likewise.
12441
3d78f2e9
RH
124422002-05-21 Richard Henderson <rth@redhat.com>
12443
12444 * c-common.h (enum rid): Add RID_THREAD.
12445 * c-decl.c (start_decl): Do not set DECL_COMMON for tls variables.
12446 (grokdeclarator): Grok __thread.
12447 * c-parse.in (reswords): Add __thread.
12448 (rid_to_yy): Add RID_THREAD.
12449
12450 * tree.h (DECL_THREAD_LOCAL): New.
12451 (struct tree_decl): Add thread_local_flag.
12452 * print-tree.c (print_node): Dump DECL_THREAD_LOCAL.
12453 * tree.c (staticp): TLS variables are not static.
12454
12455 * target-def.h (TARGET_HAVE_TLS): New.
12456 * target.h (have_tls): New.
12457 * output.h (SECTION_TLS): New.
12458 * varasm.c (assemble_variable): TLS variables can't be common for now.
12459 (default_section_type_flags): Handle .tdata and .tbss.
12460 (default_elf_asm_named_section): Handle SECTION_TLS.
12461 (categorize_decl_for_section): Handle DECL_THREAD_LOCAL.
12462
12463 * flags.h (flag_tls_default): Declare.
12464 * toplev.c (flag_tls_default): Define.
12465 (display_help): Display help for it.
12466 (decode_f_option): Set it.
12467
12468 * doc/extend.texi (Thread-Local): New node describing language-level
12469 thread-local storage.
12470 * doc/invoke.texi (-ftls-model): Document.
12471
12472 * fixinc/inclhack.def (thread_keyword): New.
12473 * fixinc/fixincl.x: Rebuild.
12474
a151daf0
JL
124752002-05-21 Jeffrey A Law <law@redhat.com>
12476
8a951190 12477 * optabs.c (expand_binop): For double-word integer multiplies,
c7539aa0
JL
12478 do not compute intermediate results into something that is
12479 not a register (such as a SUBREG or MEM).
12480
a151daf0
JL
12481 * i386.c (ix86_sched_reorder_ppro): Fix typo/thinko.
12482 (ix86_sched_reorder): Make sure to initialize scheduling
12483 data even when there's only one insn in the ready queue.
12484
96b1f73b
VM
124852002-05-21 Vladimir Makarov <vmakarov@redhat.com>
12486
12487 * genautomata.c (reserv_sets_hash_value): Fix a typo.
12488
dceb2b75
VM
124892002-05-21 Vladimir Makarov <vmakarov@redhat.com>
12490
12491 * genautomata.c (reserv_sets_hash_value): Define hash_value as
12492 set_el_t. Transform the hash value into unsigned.
12493 (output_cycle_reservs): Fix bug with output of repeated `nothing'.
12494 (transform_3): Add code to process `(A,B)+(D,E)'.
12495
159d5964
NY
124962002-05-21 NIIBE Yutaka <gniibe@m17n.org>
12497
12498 * reload1.c (do_output_reload): Run delete_output_reload
12499 only if optimizing.
12500
cf5124f6
RS
125012002-05-21 Roger Sayle <roger@eyesopen.com>
12502
12503 PR middle-end/6600
12504 * expr.c (STORE_MAX_PIECES): New macro to avoid immediate constants
12505 larger than INTEGER_CST. (store_by_pieces_1): Use it here...
12506 (can_store_by_pieces): ... and here to limit the largest mode used.
12507 Add a comment to document this function.
12508
380e6ade
RH
125092002-05-21 Richard Henderson <rth@redhat.com>
12510
12511 * flow.c (life_analysis): Fix test for deleted label.
12512
1f95326c
NB
125132002-05-21 Neil Booth <neil@daikokuya.demon.co.uk>
12514
12515 * doc/tm.texi: Fix typo.
12516
2a1dc0d8
ZW
125172002-05-21 Zack Weinberg <zack@codesourcery.com>
12518
12519 * c-common.c (c_common_init): Set options->unsigned_char from
12520 flag_signed_char.
12521 (cb_register_builtins): Define __STRICT_ANSI__ and
12522 __CHAR_UNSIGNED__ here...
12523 * cppinit.c (init_builtins): Not here.
12524 (cpp_create_reader): unsigned_char option defaults to 0, not
12525 !DEFAULT_SIGNED_CHAR.
12526 (COMMAND_LINE_OPTIONS, cpp_handle_option): Lose -fsigned-char
12527 and -funsigned-char.
12528
12529 * cpphash.h (struct spec_nodes): Kill n__STRICT_ANSI__.
12530 * cpphash.c (_cpp_init_hashtable): Don't set it.
12531 * cppmacro.c (builtin_macro) [BT_STDC]: Use the language setting
12532 directly. Clarify comment.
12533
d29146f2 125342002-05-21 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2a1dc0d8 12535
f5eb2fc8
ZD
12536 * bb-reorder.c (make_reorder_chain_1): Use prev_bb/next_bb to get to
12537 neighbouring basic blocks. Use ENTRY_BLOCK_PTR->next_bb instead of
12538 BASIC_BLOCK (0). Use EXIT_BLOCK_PTR->prev_bb instead of
12539 BASIC_BLOCK (n_basic_blocks - 1).
d29146f2 12540 * cfganal.c (can_fallthru, flow_call_edges_add,
f5eb2fc8 12541 flow_preorder_transversal_compute): Too.
d29146f2 12542 * cfgbuild.c (make_edges, find_basic_blocks, find_many_sub_basic_blocks,
f5eb2fc8
ZD
12543 find_sub_basic_blocks): Too.
12544 * cfgcleanup.c (try_simplify_condjump, try_optimize_cfg): Too.
d29146f2 12545 * cfglayout.c (skip_insns_after_block, fixup_reorder_chain,
f5eb2fc8
ZD
12546 fixup_fallthru_exit_predecessor, cfg_layout_redirect_edge): Too.
12547 * cfgrtl.c (tidy_fallthru_edges, verify_flow_info): Too.
d29146f2
ZD
12548 * combine.c (this_basic_block): Type changed to basic_block.
12549 (combine_instructions, set_nonzero_bits_and_sign_copies, try_combine,
12550 nonzero_bits, num_sign_bit_copies, get_last_value_validate,
f5eb2fc8
ZD
12551 get_last_value, distribute_notes, distribute_links): Too.
12552 * final.c (compute_alignments): Too.
12553 * flow.c (regno_uninitialized, regno_clobbered_at_setjmp): Too.
12554 * function.c (thread_prologue_and_epilogue_insns): Too.
12555 * gcse.c (compute_code_hoist_vbeinout): Too.
12556 * global.c (build_insn_chain): Too.
12557 * ifcvt.c (find_if_block, find_cond_trap): Too.
12558 * predict.c (last_basic_block_p, note_prediction_to_br_prob): Too.
12559 * regmove.c (regmove_optimize): Too.
12560 * resource.c (find_basic_block): Too.
12561 * sched-ebb.c (schedule_ebbs): Too.
12562 * ssa-dce.c (find_control_dependence, find_pdom): Too.
d29146f2 12563
68bd6dd6
AJ
125642002-05-21 Andreas Jaeger <aj@suse.de>
12565
12566 * cppinit.c (sanity_checks): Avoid printf mismatch warnings.
12567
35a76aac
RH
125682002-05-21 Richard Henderson <rth@redhat.com>
12569
12570 * reg-stack.c (swap_rtx_condition, subst_stack_regs_pat): Use
12571 unspec names, not numbers.
12572
2870428f
JM
125732002-05-21 Joseph S. Myers <jsm28@cam.ac.uk>
12574
12575 * doc/sourcebuild.texi: Mention snapshot-README and
12576 snapshot-index.html as needing updating for new front ends.
12577
b0ad77d5
KG
125782002-05-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12579
12580 * rtl.h (SUBREG_PROMOTED_UNSIGNED_SET): Avoid warnings when
12581 disabling checking, and avoid multiple evaluation of RTX.
12582
279be7c8
RE
125832002-05-21 Richard Earnshaw <rearnsha@arm.com>
12584
12585 * bitmap.c (bitmap_find_bit): Return early if we have the correct
12586 element cached.
12587
193a563a
JH
12588Tue May 21 10:51:54 CEST 2002 Jan Hubicka <jh@suse.cz>
12589
12590 * profile.c (gen_edge_profiler): Set alias set before the memory is
12591 used.
12592
31825e57
DM
125932002-05-20 David S. Miller <davem@redhat.com>
12594
12595 * cselib.c (max_value_regs): New.
12596 (cselib_lookup, cselib_invalidate_regno): Initialize it when
12597 adding new entries to the REG_VALUES table and we are dealing with
12598 a hard register.
12599 (clear_table): Initialize it.
12600 (cselib_invalidate_regno): Use it to determine which hard
12601 registers to scan when mode is not VOIDmode.
12602
68bd6dd6 126032002-05-20 Duraid Madina <duraid@fl.net.au>
29d83d60
DM
12604
12605 * tradcpp.c (fixup_newlines): Use old-style function header.
12606
e0a09fda
KW
126072002-05-20 Krister Walfridsson <cato@df.lth.se>
12608
12609 * reload1.c (reload_cse_simplify): Fix typo in rtx code check.
12610
e0c13c70
L
126112002-05-20 H.J. Lu (hjl@gnu.org)
12612
12613 Base on suggestions from Zhang Fuxin <fxzhang@ict.ac.cn>:
12614
12615 * config/mips/mips.h (DFMODE_NAN): Defined.
12616 (SFMODE_NAN): Likewise.
12617
4c11675d 126182002-05-20 Dale Johannesen <dalej@apple.com>
e0c13c70 12619
2a1dc0d8
ZW
12620 * combine.c (cant_combine_insn_p): Back out my
12621 previous patch.
4c11675d 12622
6a4d6760
KH
126232002-05-20 Kazu Hirata <kazu@cs.umass.edu>
12624
12625 * params.c: Fix formatting.
12626 * params.h: Likewise.
12627 * predict.c: Likewise.
12628 * prefix.c: Likewise.
12629 * print-rtl.c: Likewise.
12630 * print-tree.c: Likewise.
12631 * profile.c: Likewise.
12632
5715ca64
L
126332002-05-20 H.J. Lu (hjl@gnu.org)
12634
12635 * gcc/config/mips/linux.h (SDB_DEBUGGING_INFO): Undefine.
12636
00b89f01
NC
126372002-05-20 Nick Clifton <nickc@cambridge.redhat.com>
12638
12639 * config/arm/arm-wince-pe.h (ASM_SPEC): Pass -mcpu and -march
12640 switches straight on to the assembler, do not abbreviate them.
12641 * config/arm/elf.h (ASM_SPEC): As above.
12642 * config/arm/semi.h (ASM_SPEC): As above.
12643 * config/arm/unknown-elf-oabi.h (ASM_SPEC): As above.
12644 * config/arm/xscale-coff.h (SUBTARGET_ASM_SPEC): Pass
12645 -mcpu=xscale on to the assembler by default.
12646 * config/arm/xscale-elf.h (SUBTARGET_ASM_SPEC): As above.
12647
1441374b
RH
126482002-05-20 Richard Henderson <rth@redhat.com>
12649
12650 * cse.c (canon_hash): Reorder do_not_record test. Always
12651 allow pic_offset_table_rtx.
12652
c0fe508e
TM
126532002-05-19 Toon Moene <toon@moene.indiv.nluug.nl>
12654
12655 * optabs.c (expand_cmplxdiv_wide): Use complex_part_zero_p.
12656 (expand_binop): Ditto (3 times).
12657
f362c762
MM
126582002-05-19 Mark Mitchell <mitchell@doubledemon.codesourcery.com>
12659
12660 * Makefile.in (distclean): Remove QMTest stuff.
12661 (QMTEST_PATH): New variable.
12662 (QMTESTFLAGS): Likewise.
12663 (QMTESTRUNFLAGS): Likewise.
12664 (QMTEST): Likewise.
12665 (QMTEST_GPP_TESTS): Likewise.
12666 (QMTEST_DIR): Likewise.
12667 (QMTEST_DIR/context): New target.
12668 (qmtest-g++): Likeise.
12669 (qmtest-gui): Likewise.
12670 (QMTEST_DIR/gpp-expected.qmr): Likewise.
12671
16861f33
AH
126722002-05-19 Aldy Hernandez <aldyh@redhat.com>
12673
2a1dc0d8
ZW
12674 * config/rs6000/rs6000.h (FUNCTION_VALUE): Only return vectors in
12675 an altivec register if TARGET_ALTIVEC.
16861f33 12676
2a1dc0d8
ZW
12677 * config/rs600/rs6000.c (rs6000_emit_move): Change VECTOR_MODE_P
12678 to ALTIVEC_VECTOR_MODE.
12679 (rs6000_va_arg): Only vectors of type AltiVec are 16 byte aligned.
12680 (rs6000_va_arg): Vectors may go in registers if they are not
12681 altivec vectors.
16861f33 12682
23459e15
KH
126832002-05-19 Kazu Hirata <kazu@cs.umass.edu>
12684
12685 * protoize.c: Fix formatting.
12686
174cc7d1
RH
126872002-05-19 Richard Henderson <rth@redhat.com>
12688
12689 * gensupport.c (init_include_reader): Merge into ...
12690 (process_include): ... here. Simplify composite path creation.
12691 Plug memory leaks. Fix file/line number tracking. Do not
12692 process_define_cond_exec. Return void.
12693 (process_rtx): Don't check process_include return value.
12694
918ed612
ZD
126952002-05-20 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
12696
12697 * basic_block.h (struct basic_block_def): Added prev_bb and next_bb
12698 fields.
12699 (FOR_BB_BETWEEN, FOR_ALL_BB, FOR_ALL_BB_REVERSE): New macros for
12700 traversing basic block chain.
12701 (create_basic_block_structure, create_basic_block): Declaration changed.
12702 (link_block, unlink_block): Declare.
12703 * cfg.c (entry_exit_blocks): Initialize new fields.
12704 (link_block, unlink_block): New.
12705 (expunge_block_nocompact): Unlink basic block.
12706 (dump_flow_info): Print prev_bb/next_bb fields.
12707 * cfgbuild.c (find_basic_blocks_1, find_basic_blocks): Modified.
12708 * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Modified.
12709 * cfglayout.c (fixup_reorder_chain, cfg_layout_duplicate_bb): Modified.
12710 * cfgrtl.c (create_basic_block_structure, create_basic_block,
12711 split_block, force_nonfallthru_and_redirect, split_edge): Modified.
12712 (verify_flow_info): Check that list agrees with numbering.
12713
e0322d5c
NB
127142002-05-19 Neil Booth <neil@daikokuya.demon.co.uk>
12715
12716 * c-common.c (preprocessing_asm): New macro.
12717 * c-lex.h (builtin_define, builtin_assert): Use pfile.
12718doc:
12719 * tm.texi: Update.
12720config/alpha:
12721 * alpha.h (CPLUSPLUS_CPP_SPEC): Remove.
12722 (CPP_SPEC): Simplify.
12723 (TARGET_CPU_CPP_BUILTINS): Update.
12724 * freebsd.h (TARGET_OS_CPP_BUILTINS): New.
12725 (CPP_SPEC): Simplify.
12726 * linux.h (CPLUSPLUS_CPP_SPEC): Remove.
12727 (TARGET_OS_CPP_BUILTINS): Update.
12728 * osf.h (CPP_XFLOAT_SPEC): Kill.
12729 (TARGET_OS_CPP_BUILTINS): Update.
12730 (CPP_SUBTARGET_SPEC, SUBTARGET_EXTRA_SPECS): Simplify.
12731 * osf5.h (CPP_XFLOAT_SPEC): Kill.
12732 * vms.h (CPP_SUBTARGET_SPEC): Kill.
12733 (TARGET_OS_CPP_BUILTINS): Update.
12734
121f5c2c
RH
127352002-05-19 Richard Henderson <rth@redhat.com>
12736
12737 * varasm.c (default_binds_local_p): Fix typo.
12738
651c5ed9
MM
127392002-05-19 Marek Michalkiewicz <marekm@amelek.gda.pl>
12740
12741 * config/avr/avr.c (machine_dependent_reorg): Sign extend the
12742 CONST_INT operand to the correct mode after adding 1 to it.
12743
bce0deb2
MM
127442002-05-19 Mark Mitchell <mark@codesourcery.com>
12745
12746 * config.gcc (powerpc-wrs-windiss*): New target.
12747
4aa74a4f
FS
127482002-05-19 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
12749
12750 * config/rs6000/rs6000.md (ashrdi3_no_power): New.
12751 (ashrdi3): Use it.
12752
a15135c9
MM
127532002-05-18 Mark Mitchell <mark@codesourcery.com>
12754
12755 * configure.in (AC_CHECK_FUNCS): Add checks for scandir and
12756 alphasort.
12757 * config.in: Regenerated.
12758 * configure: Regenerated.
12759
47754fd5
RH
127602002-05-19 Richard Henderson <rth@redhat.com>
12761
12762 * target-def.h (TARGET_BINDS_LOCAL_P): New.
12763 * target.h (struct gcc_target): Move boolean fields to the end.
12764 Add binds_local_p.
12765 * varasm.c (default_binds_local_p): New.
12766 * output.h: Declare it.
12767
12768 * config/alpha/alpha.c (alpha_encode_section_info): Use the new hook.
12769 * config/cris/cris.c (cris_encode_section_info): Likewise.
12770 * config/i386/i386.c (i386_encode_section_info): Likewise.
12771 * config/ia64/ia64.c (ia64_encode_section_info): Likewise.
12772 * config/sh/sh.c (sh_encode_section_info): Likewise.
12773
12774 * doc/tm.texi (TARGET_IN_SMALL_DATA_P): New.
12775 (TARGET_BINDS_LOCAL_P): New.
12776
fc881338
RH
127772002-05-19 Richard Henderson <rth@redhat.com>
12778
12779 * system.h (BLOCK_PROFILER, BLOCK_PROFILER_CODE,
12780 FUNCTION_BLOCK_PROFILER, FUNCTION_BLOCK_PROFILER_EXIT,
12781 MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Poison.
12782
12783 * toplev.c (display_help): Kill -a -ax help.
12784
68bd6dd6 12785 * config/1750a/1750a.h, config/alpha/alpha.h,
fc881338
RH
12786 config/clipper/clipper.h, config/dsp16xx/dsp16xx.h,
12787 config/h8300/h8300.h, config/i960/i960.h, config/m68k/tower-as.h,
12788 config/m88k/m88k.h, config/vax/vax.h, config/we32k/we32k.h:
12789 (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER): Kill.
12790
12791 * libgcc2.c [L_bb] (BLOCK_PROFILER_CODE): Kill.
12792 * config/m68k/sun3.h (BLOCK_PROFILER_CODE): Kill.
12793
12794 * config/i386/i386-protos.h (ix86_output_block_profiler): Kill.
12795 (ix86_output_function_block_profiler): Kill.
12796 * config/m68hc11/m68hc11.c (m68hc11_block_profiler): Kill.
12797 (m68hc11_function_block_profiler): Kill.
12798 * config/m68hc11/m68hc11-protos.h: Update.
12799 * config/m88k/m88k.c (output_block_profiler): Kill.
12800 (output_function_block_profiler): Kill.
12801 * config/m88k/m88k-protos.h: Update.
12802
772c5265
RH
128032002-05-19 Richard Henderson <rth@redhat.com>
12804
12805 * system.h (STRIP_NAME_ENCODING): Poison it.
12806 * output.h (STRIP_NAME_ENCODING): Remove.
12807 (default_strip_name_encoding): Declare.
12808 * target-def.h (TARGET_STRIP_NAME_ENCODING): New.
12809 * target.h (strip_name_encoding): New.
12810 * varasm.c (default_strip_name_encoding): New.
12811
12812 * dwarf2asm.c, varasm.c, config/darwin.c, config/darwin.h,
12813 config/alpha/alpha.c, config/arm/pe.c, config/avr/avr.c,
12814 config/cris/cris.c, config/i386/cygwin.h, config/i386/interix.c,
12815 config/i386/winnt.c, config/m32r/m32r.h, config/mcore/mcore-elf.h,
12816 config/mcore/mcore-pe.h, config/mcore/mcore.c, config/mcore/mcore.h,
12817 config/mips/mips.c, config/mn10200/mn10200.h, config/mn10300/mn10300.h,
12818 config/pa/pa.c, config/pa/pa.h, config/pa/som.h,
12819 config/rs6000/rs6000.c, config/rs6000/sysv4.h, config/rs6000/xcoff.h,
12820 config/v850/v850.h: Use the hook, not the macro.
12821
12822 * config/darwin-protos.h, config/darwin.c, config/darwin.h,
12823 config/alpha/alpha.c, config/alpha/alpha.h, config/h8300/h8300.c,
12824 config/h8300/h8300.h, config/i386/cygwin.h, config/i386/i386-interix.h,
12825 config/i386/i386-protos.h, config/i386/win32.h, config/i386/winnt.c,
12826 config/ia64/ia64.c, config/ia64/ia64.h, config/m32r/m32r.c,
12827 config/m32r/m32r.h, config/mcore/mcore.c, config/mcore/mcore.h,
68bd6dd6 12828 config/pa/pa.c, config/rs6000/rs6000.c, config/rs6000/sysv4.h,
772c5265
RH
12829 config/rs6000/xcoff.h, config/sh/sh.c, config/sh/sh.h,
12830 config/v850/v850.c, config/v850/v850.h:
12831 Move STRIP_NAME_ENCODING to out-of-line function and add
12832 TARGET_STRIP_NAME_ENCODING.
12833
12834 * config/arm/arm.c, config/arm/arm.h, config/mmix/mmix-protos.h,
12835 config/mmix/mmix.c, config/mmix/mmix.h: Replace STRIP_NAME_ENCODING
12836 with TARGET_STRIP_NAME_ENCODING referencing existing function;
12837 make function static.
12838
12839 * xcoffout.c: Include target.h
12840 * Makefile.in (xcoffout.o): Update.
12841
12842 * config/avr/avr.c (avr_encode_section_info): Correct prototype.
12843 * config/avr/avr.h (STRIP_NAME_ENCODING): Remove.
12844 * config/rs6000/rs6000.c (rs6000_xcoff_unique_section): Mark
12845 reloc argument unused.
12846 * config/sh/sh.c (TARGET_ENCODE_SECTION_INFO): New.
12847
12848 * doc/tm.texi (TARGET_STRIP_NAME_ENCODING): Update from previous
12849 STRIP_NAME_ENCODING docs.
12850
8f9eb495
AJ
128512002-05-19 Andreas Jaeger <aj@suse.de>
12852
12853 * gengenrtl.c: Add prototype for excluded_rtx.
12854
12855 * real.h: Add prototype for exact_real_truncate.
12856
fb49053f
RH
128572002-05-18 Richard Henderson <rth@redhat.com>
12858
12859 * system.h (ENCODE_SECTION_INFO): Poison it.
12860 * target-def.h (TARGET_ENCODE_SECTION_INFO): New.
12861 * target.h (encode_section_info): New.
12862 * varasm.c (make_decl_rtl, output_constant_def): Use it.
12863 * hooks.c (hook_tree_int_void): New.
12864 * hooks.h: Declare it.
12865
12866 * config/darwin.h, config/alpha/alpha-protos.h, config/alpha/alpha.c,
12867 config/alpha/alpha.h, config/arm/pe.h, config/avr/avr-protos.h,
12868 config/avr/avr.c, config/avr/avr.h, config/c4x/c4x-protos.h,
12869 config/c4x/c4x.c, config/c4x/c4x.h, config/cris/cris-protos.h,
12870 config/cris/cris.c, config/cris/cris.h, config/i386/cygwin.h,
12871 config/i386/win32.h, config/ia64/ia64-protos.h, config/ia64/ia64.c,
12872 config/ia64/ia64.h, config/m32r/m32r-protos.h, config/m32r/m32r.c,
12873 config/m32r/m32r.h, config/m68hc11/m68hc11-protos.h,
12874 config/m68hc11/m68hc11.c, config/m68hc11/m68hc11.h,
12875 config/mcore/mcore-protos.h, config/mcore/mcore.c,
12876 config/mcore/mcore.h, config/mmix/mmix-protos.h, config/mmix/mmix.c,
12877 config/mmix/mmix.h, config/rs6000/rs6000-protos.h,
12878 config/rs6000/sysv4.h, config/stormy16/stormy16-protos.h,
12879 config/stormy16/stormy16.c, config/stormy16/stormy16.h:
12880 Replace ENCODE_SECTION_INFO with TARGET_ENCODE_SECTION_INFO
12881 referencing existing function. Make function static.
12882
12883 * config/a29k/a29k.c, config/a29k/a29k.h, config/arc/arc.c,
8f9eb495 12884 config/arc/arc.h, config/arm/arm.c, config/arm/arm.h,
fb49053f
RH
12885 config/h8300/h8300.c, config/h8300/h8300.h, config/i370/i370.c,
12886 config/i370/i370.h, config/i386/i386-interix.h, config/i386/i386.c,
12887 config/i386/i386.h, config/i386/interix.c, config/m88k/m88k.c,
8f9eb495 12888 config/m88k/m88k.h, config/mips/mips.c, config/mips/mips.h,
fb49053f
RH
12889 config/ns32k/ns32k.c, config/ns32k/ns32k.h, config/pa/pa.c,
12890 config/pa/pa.h, config/romp/romp.c, config/romp/romp.h,
12891 config/rs6000/linux64.h, config/rs6000/xcoff.h, config/s390/s390.c,
12892 config/s390/s390.h, config/sh/sh.c, config/sh/sh.h,
8f9eb495 12893 config/sparc/sparc.c, config/sparc/sparc.h, config/v850/v850.c,
fb49053f
RH
12894 config/v850/v850.h, config/vax/vax.c, config/vax/vms.h,
12895 config/xtensa/xtensa.c, config/xtensa/xtensa.h:
12896 Move ENCODE_SECTION_INFO to out-of-line function and add
12897 TARGET_ENCODE_SECTION_INFO.
12898
12899 * config/darwin.h (ASM_DECLARE_FUNCTION_NAME): Use hook, not macro.
12900 (ASM_DECLARE_OBJECT_NAME, ASM_OUTPUT_ALIGNED_DECL_LOCAL): Likewise.
12901
12902 * config/arm/pe.h (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Rename
12903 from SUBTARGET_*
12904 (switch_to_section): Replace in_rdata case with in_readonly_data.
12905
12906 * config/h8300/h8300.c (h8300_encode_label): Make static.
12907 * config/h8300/h8300-protos.h: Update.
12908
12909 * config/rs6000/rs6000.c (rs6000_elf_encode_section_info): Rename
12910 from rs6000_encode_section_info; make static.
12911 (rs6000_xcoff_encode_section_info): New.
12912
12913 * config/v850/v850.c (v850_encode_data_area): Make static.
12914 * config/v850/v850-protos.h: Update.
12915
12916 * config/vax/vax.c: Include flags.h.
12917 (vms_select_section): Fix typo.
12918
12919 * doc/tm.texi (TARGET_ENCODE_SECTION_INFO): Update from previous
12920 ENCODE_SECTION_INFO docs.
12921
9fe08fd0
RH
129222002-05-18 Richard Henderson <rth@redhat.com>
12923
12924 * config/darwin.h (DARWIN_REGISTER_TARGET_PRAGMAS): Rename from
12925 REGISTER_TARGET_PRAGMAS.
12926 * config/rs6000/darwin.h (REGISTER_TARGET_PRAGMAS): Redefine.
12927
410b770f
RH
12928 * config.gcc: Do not use rs6000-c.c on powerpc-darwin.
12929
b64a1b53
RH
129302002-05-18 Richard Henderson <rth@redhat.com>
12931
12932 * system.h (SELECT_RTX_SECTION): Poison.
12933 * target-def.h (TARGET_ASM_SELECT_RTX_SECTION): New.
12934 * target.h (select_rtx_section): New.
12935 * varasm.c (output_constant_pool): Use it.
12936 (default_select_rtx_section, default_elf_select_rtx_section): New.
12937 * output.h: Declare them.
12938
12939 * config/darwin.h (SELECT_RTX_SECTION): Move ...
12940 * config/darwin.c (machopic_select_rtx_section): ... here.
12941 * config/darwin-protos.h: Update.
12942
12943 * config/nextstep.h (SELECT_RTX_SECTION): Move ...
12944 * config/nextstep.c (machopic_select_rtx_section): ... here.
12945 (nextstep_select_section): Rename variable to avoid macro clash.
12946 * config/nextstep-protos.h: Update.
12947
12948 * config/elfos.h, config/svr3.h, config/arm/aof.h, config/c4x/c4x.h,
12949 config/i386/dgux.h, config/i386/osfrose.h, config/i386/sco5.h,
12950 config/i386/svr3gas.h, config/i860/paragon.h, config/ia64/aix.h,
8f9eb495 12951 config/m32r/m32r.h, config/m68k/dpx2.h, config/m68k/lynx.h,
b64a1b53
RH
12952 config/m68k/m68k.h, config/m68k/tower-as.h, config/m88k/dgux.h,
12953 config/mcore/mcore-pe.h, config/mips/mips.h, config/mmix/mmix.h,
8f9eb495 12954 config/pa/pa-linux.h, config/pa/pa.h, config/romp/romp.h,
b64a1b53
RH
12955 config/rs6000/lynx.h, config/rs6000/sysv4.h, config/s390/linux.h,
12956 config/sparc/sysv4.h, config/xtensa/elf.h, config/xtensa/linux.h
12957 (SELECT_RTX_SECTION): Remove.
12958
12959 * config/darwin.h, config/elfos.h, config/nextstep.h,
12960 config/ia64/aix.h, config/ia64/sysv4.h, config/alpha/alpha.c,
12961 config/mips/mips.c, config/romp/romp.c, config/rs6000/sysv4.h,
12962 config/rs6000/xcoff.h, config/s390/s390.c, config/sparc/aout.h,
12963 config/sparc/lynx.h, config/xtensa/xtensa.c
12964 (TARGET_ASM_SELECT_RTX_SECTION): New.
12965
12966 * config/alpha/elf.h (SELECT_RTX_SECTION): Move ...
12967 * config/alpha/alpha.c (alpha_elf_select_rtx_section): ... here.
12968 * config/ia64/sysv4.h (SELECT_RTX_SECTION): Move ...
12969 * config/ia64/ia64.c (ia64_select_rtx_section): ... here.
12970 (ia64_aix_select_rtx_section): New.
12971 * config/mips/iris6.h (READONLY_DATA_SECTION_ASM_OP): Undef before
12972 redefining.
12973 * config/mips/mips.c (mips_select_rtx_section): Make static.
8f9eb495 12974 Support ELF SHF_MERGE features.
b64a1b53
RH
12975 * config/mips/mips-protos.h: Update.
12976 * config/rs6000/xcoff.h (SELECT_RTX_SECTION): Move ...
12977 * config/rs6000/rs6000.c (rs6000_xcoff_select_rtx_section): ... here.
12978 (rs6000_elf_select_rtx_section): Rename from rs6000_select_rtx_section;
12979 make static, fall back to default_elf_select_rtx_section.
12980 * config/rs6000/rs6000-protos.h: Update.
12981 * config/sparc/sparc.h (SELECT_RTX_SECTION): Move ...
12982 * config/sparc/sparc.c (sparc_aout_select_rtx_section): ... here.
12983 * config/sparc/sunos4.h (on_exit): Declare only if IN_LIBGCC2.
12984 * config/romp/romp.c (romp_select_rtx_section): New.
12985 * config/s390/s390.c (s390_select_rtx_section): New.
12986 * config/xtensa/xtensa.c: Include output.h. Shuffle local function
12987 declarations before target macro definition.
12988 (xtensa_emit_call): Use static buffer.
12989 (xtensa_select_rtx_section): New.
12990 * config/xtensa/xtensa.h (MAX_INT_TYPE_SIZE): Remove.
12991 (IMPLICIT_FIX_EXPR, EASY_DIV_EXPR): Remove.
12992 (ASM_OUTPUT_POOL_PROLOGUE): Update call to resolve_unique_section.
12993
12994 * doc/tm.texi (TARGET_ASM_SELECT_RTX_SECTION): Update from
12995 SELECT_RTX_SECTION docs.
12996
12997Sun May 19 00:24:23 CEST 2002 Jan Hubicka <jh@suse.cz>
5f90a099
JH
12998
12999 * i386.md (movsi/movdi): Fix template.
13000 (sse2 patterns): Set attributes consistently.
13001
13002 * i386.md (pushqi2, ashrqi_*): Fix constraint.
13003
6835a09c
TM
130042002-05-18 Toon Moene <toon@moene.indiv.nluug.nl>
13005
13006 * optabs.c (complex_part_zero_p): New.
13007 * (expand_cmplxdiv_straight): Use it.
13008 * (expand_cmplxdiv_wide): Ditto.
13009 * (expand_binop): Ditto.
13010
d48bc59a
RH
130112002-05-18 Richard Henderson <rth@redhat.com>
13012
13013 * final.c (HAVE_READONLY_DATA_SECTION): New.
13014 (shorten_branches): Use it instead of ifdefs.
13015 * varasm.c (enum in_section): Add in_readonly_data.
13016 (text_section, data_section): Tidy.
13017 (readonly_data_section): Use READONLY_DATA_SECTION_ASM_OP if present.
13018
13019 * config/darwin.h, config/nextstep.h, config/h8300/elf.h,
13020 config/i860/paragon.h, config/m68k/dpx2.h, config/m68k/hp320.h
13021 (READONLY_DATA_SECTION): Don't undef.
13022
13023 * config/alpha/unicosmk.h, config/h8300/elf.h, config/i386/aix386ng.h,
13024 config/i860/paragon.h, config/m68k/dpx2.h, config/m68k/hp320.h,
13025 config/rs6000/lynx.h (READONLY_DATA_SECTION_ASM_OP): Undef.
13026
13027 * config/elfos.h, config/svr3.h, config/alpha/alpha-interix.h,
13028 config/alpha/elf.h, config/c4x/c4x.h, config/i386/i386-interix.h,
13029 config/i386/sco5.h, config/i386/svr3gas.h, config/i860/sysv3.h,
13030 config/m88k/m88k.h, config/pa/pa64-hpux.h (USE_CONST_SECTION): Remove.
13031
13032 * config/elfos.h, config/netware.h, config/alpha/alpha-interix.h,
13033 config/alpha/elf.h, config/alpha/vms.h, config/arc/arc.h,
13034 config/arm/coff.h, config/c4x/c4x.h, config/dsp16xx/dsp16xx.h,
13035 config/i386/dgux.h, config/i386/i386-interix.h, config/i386/sco5.h,
13036 config/ia64/hpux.h, config/m32r/m32r.h, config/m68k/tower-as.h,
13037 config/m88k/m88k.h, config/mcore/mcore-pe.h, config/mips/iris6.h,
13038 config/mips/mips.h, config/mmix/mmix.h, config/pa/pa64-hpux.h,
13039 config/sparc/sysv4.h (READONLY_DATA_SECTION_ASM_OP): Rename from
13040 CONST_SECTION_ASM_OP/READONLY_SECTION_ASM_OP/RDATA_SECTION_ASM_OP.
13041
13042 * config/elfos.h, config/netware.h, config/1750a/1750a.h,
13043 config/a29k/a29k.h, config/alpha/alpha-interix.h, config/alpha/alpha.h,
13044 config/arm/coff.h, config/h8300/h8300.h, config/i386/aix386ng.h,
13045 config/i386/i386-interix.h, config/i386/osfrose.h, config/mmix/mmix.h,
13046 config/pa/pa64-hpux.h, config/sparc/litecoff.h
13047 (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Remove.
13048
13049 * config/elfos.h, config/netware.h, config/svr3.h,
13050 config/alpha/alpha-interix.h, config/alpha/alpha.h, config/alpha/elf.h,
13051 config/arm/coff.h, config/c4x/c4x.h, config/dsp16xx/dsp16xx.h,
13052 config/h8300/h8300.h, config/i386/i386-interix.h,
13053 config/i386/osfrose.h, config/i386/svr3gas.h, config/mmix/mmix.h,
13054 config/pa/pa64-hpux.h (READONLY_DATA_SECTION): Remove.
13055
13056 * config/elfos.h, config/netware.h, config/svr3.h,
13057 config/alpha/alpha-interix.h, config/alpha/alpha.h, config/alpha/elf.h,
13058 config/c4x/c4x.h, config/i386/aix386ng.h, config/i386/i386-interix.h,
13059 config/i386/sco5.h, config/i386/svr3gas.h, config/mmix/mmix.h,
13060 config/pa/pa64-hpux.h (CONST_SECTION_FUNCTION): Remove.
13061
13062 * config/lynx.h, config/svr3.h, config/alpha/elf.h, config/alpha/vms.h,
13063 config/c4x/c4x.h, config/dsp16xx/dsp16xx.h, config/i386/sco5.h,
13064 config/i386/svr3gas.h, config/i860/sysv3.h, config/i860/sysv4.h,
13065 config/ia64/sysv4.h, config/m32r/m32r.h, config/m88k/m88k.h,
13066 config/mcore/mcore-elf.h, config/mcore/mcore-pe.h, config/mips/elf.h,
13067 config/mips/elf64.h, config/mips/iris6.h, config/mips/linux.h,
13068 config/mips/mips.h, config/mips/rtems64.h, config/mips/vxworks.h,
13069 config/rs6000/sysv4.h, config/v850/v850.h
13070 (EXTRA_SECTIONS): Remove in_const/in_rdata.
13071 (EXTRA_SECTION_FUNCTIONS): Remove accompanying function.
13072
13073 * config/svr3.h, config/c4x/c4x.h, config/i386/dgux.h,
13074 config/i386/sco5.h, config/i386/svr3gas.h, config/ia64/aix.h,
13075 config/m88k/dgux.h, config/mcore/mcore-pe.h, config/mmix/mmix.h,
13076 config/sparc/sysv4.h (SELECT_RTX_SECTION): Use readonly_data_section.
13077 * config/alpha/alpha.c (alpha_start_function): Likewise.
13078 (alpha_write_linkage): Likewise.
13079 * config/m32r/m32r.c (m32r_select_section): Likewise.
13080 * config/m88k/m88k.c (m88k_select_section): Likewise.
13081 * config/mips/mips.c (mips_select_rtx_section): Likewise.
13082 * config/rs6000/rs6000.c (rs6000_select_rtx_section): Likewise.
13083 (rs6000_elf_select_section): Likewise.
13084 * config/v850/v850.c (v850_select_section): Likewise.
13085
13086 * config/1750a/1750a.h, config/i860/sysv3.h
13087 (READONLY_DATA_SECTION_ASM_OP): New.
13088 READONLY_DATA_SECTION_ASM_OP.
13089 * config/i386/interix.c, config/i386/winnt.c
13090 (i386_pe_unique_section): Always use .rdata prefix.
13091 * config/pa/som.h (readonly_data): Always switch to read-only section.
13092 (READONLY_DATA_SECTION): Predicate on flag_pic.
13093 * config/we32k/we32k.h (READONLY_DATA_SECTION): Remove parenthesis.
13094 * doc/tm.texi (READONLY_DATA_SECTION_ASM_OP): New.
13095 (READONLY_DATA_SECTION): Update.
13096
e964a556
JT
130972002-05-18 Jason Thorpe <thorpej@wasabisystems.com>
13098
13099 * c-common.c (c_common_post_options): Warn if -Wformat-zero-length
8f9eb495 13100 is used without -Wformat.
e964a556
JT
13101 * c-common.h (warn_format_zero_length): Declare extern.
13102 * c-decl.c (warn_options): Add "format-zero-length".
13103 * c-format.c (warn_format_zero_length): Declare.
13104 (set_Wformat): Set warn_format_zero_length for -Wformat.
13105 (check_format_info): Only warn about zero-length formats if
13106 warn_format_zero_length is true. Include the format type
13107 name in the warning message.
13108 * doc/invoke.texi: Document -Wformat-zero-length.
13109 * testsuite/gcc.dg/format/zero-length-1.c: New test.
13110
d92b4486
KH
131112002-05-18 Kazu Hirata <kazu@cs.umass.edu>
13112
13113 * timevar.c: Fix formatting.
13114 * tlink.c: Likewise.
13115 * toplev.c: Likewise.
13116 * tree-dump.c: Likewise.
13117 * tree-inline.c: Likewise.
13118
43612ffb
NB
131192002-05-18 Neil Booth <neil@daikokuya.demon.co.uk>
13120
13121 * cppinit.c (cpp_post_options): If preprocessed, turn off
13122 traditional. If traditional, turn off column numbers.
13123 * cpplib.c (cpp_push_buffer): Lex from stage 3 if traditional.
13124 * cpptrad.c (handle_newline): Update line_base.
13125 (skip_comment): Handle -Wcomment.
13126
f24a153a
ZW
131272002-05-17 Zack Weinberg <zack@codesourcery.com>
13128
13129 * cppinit.c (struct builtin): Remove unused fields.
13130 (CPLUS, BUILTIN, OPERATOR, O, builtin_array_end): Kill.
13131 (operator_array): New - was second half of builtin_array.
13132 (init_builtins): Simplify loop over builtin_array/operator_array.
13133
12403335
NB
131342002-05-18 Neil Booth <neil@daikokuya.demon.co.uk>
13135
13136 * defaults.h (UNIQUE_SECTION): Remove.
13137 * system.h (UNIQUE_SECTION, SELECT_SECTION): Poison.
13138
1f8c3c5b
RH
131392002-05-17 Richard Henderson <rth@redhat.com>
13140
13141 * expr.c (init_expr_once): Don't use start/end_sequence.
13142 Use rtx_alloc instead of emit_insn.
13143 * toplev.c (lang_dependent_init): Run init_expr_once here ...
13144 (lang_independent_init): ... not here.
13145
4664f4c4
JT
131462002-05-17 Jason Thorpe <thorpej@wasabisystems.com>
13147
13148 * config/sh/lib1funcs.asm (GLOBAL): Use __USER_LABEL_PREFIX__.
13149
93febe68
MM
131502002-05-17 Marek Michalkiewicz <marekm@amelek.gda.pl>
13151
13152 * config/avr/avr.c (avr_regs_to_save): New function. Also check
13153 for fixed registers, possibly used for global register variables.
13154 (initial_elimination_offset, avr_output_function_prologue,
13155 avr_output_function_epilogue): Move common code to avr_regs_to_save.
13156
004cb263
NB
131572002-05-17 Neil Booth <neil@daikokuya.demon.co.uk>
13158
13159 * Makefile.in: Update for cpptrad.c.
13160 * cpphash.h (struct cpp_buffer): New members for buffer
13161 overlays.
13162 (struct cpp_reader): New members for traditional output.
13163 (_cpp_read_logical_line, _cpp_overlay_buffer): New.
13164 * cppinit.c (cpp_create_reader): Set trad_line.
13165 (cpp_destroy): Free trad_out_base if used.
13166 (cpp_read_main_file): Overlay an empty buffer if traditional.
13167 (cpp_finish_options): Don't do builtins.
13168 (COMMAND_LINE_OPTIONS): Add -traditional-cpp.
13169 (cpp_handle_option): Handle it.
13170 * cpplex.c (continue_after_nul): New.
13171 (_cpp_lex_direct): Use handle_nul.
13172 * cpplib.h (struct cpp_options): New traditional option.
13173 * cpptrad.c: New file.
13174
bdcae02b
NB
131752002-05-17 Neil Booth <neil@daikokuya.demon.co.uk>
13176
13177 * c-common.c (c_common_init_options): Use C89 for Objective-C,
13178 and set the options flag.
13179 * cppinit.c (lang_flags): Remove objc.
13180 (lang_defaults): Remove OBJC and OBJCXX.
13181 (set_lang): Update.
13182 (COMMAND_LINE_OPTIONS): Remove -+ and -lang-objc++.
13183 (cpp_handle_option): Remove -+ and -lang-objc++.
13184 For ObjC, just set a flag.
13185 (print_help): Update.
13186 * cpplib.h (enum c_lang): Remove CLK_OBJC and CLK_OBJCXX.
13187
0fca60ab
RO
131882002-05-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
13189
13190 * doc/install.texi (Specific, mips-sgi-irix6): Document need to
13191 bootstrap with -mips3.
13192
dd3f0101
KH
131932002-05-17 Kazu Hirata <kazu@cs.umass.edu>
13194
13195 * final.c: Fix formatting.
13196 * fix-header.c: Likewise.
13197 * flow.c: Likewise.
13198 * fold-const.c: Likewise.
13199 * function.c: Likewise.
13200
5ca9299f
DM
132012002-05-17 David S. Miller <davem@redhat.com>
13202
13203 PR c/6689, PR optimization/6615
13204 * local-alloc.c (struct equivalence): Rename 'src' to 'src_p'
13205 and make it a pointer to rtx. Update comments.
13206 (update_equiv_regs): When scanning for equivalences, record
13207 address of SET_SRC (set) in reg_equiv[].src_p. Dereference
13208 it while making the equiv replacements.
13209
508bc172
RO
132102002-05-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
13211
13212 * config/sparc/sparc.c (sparc_aout_select_section): Fixed typo.
13213
5cd983a6
KK
132142002-05-17 kaz Kojima <kkojima@rr.iij4u.or.jp>
13215
13216 * config/sh/sh.h (ENCODE_SECTION_INFO): Consider MODULE_LOCAL_P
13217 when encoding visibility into SYMBOL_REF_FLAG.
13218
ce0f3925
RS
132192002-05-17 Richard Sandiford <rsandifo@redhat.com>
13220
13221 * expr.c (force_operand): Fix reversed move.
13222
06809951
GP
132232002-05-17 Kurt Wall <kwall@kurtwerks.com>
13224
13225 * doc/install.texi (Testing): Mention two common DejaGnu warnings
13226 that can be ignored.
13227
132282002-05-16 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
13229
13230 * doc/install.texi (Final install): Recommend to install into a
13231 "clean" target directory.
13232
1d5d7a21
RH
132332002-05-17 Richard Henderson <rth@redhat.com>
13234
13235 * config/ia64/ia64.md: Use braced strings instead of quoted strings
13236 for code blocks. Tidy whitespace.
13237
ae46c4e0
RH
132382002-05-17 Richard Henderson <rth@redhat.com>
13239
13240 * hooks.c (hook_tree_bool_false): New.
13241 * hooks.h: Declare it.
13242 * target-def.h (TARGET_ASM_SELECT_SECTION): New.
13243 (TARGET_ASM_UNIQUE_SECTION, TARGET_IN_SMALL_DATA_P): New.
13244 * target.h (select_section, unique_section): New.
13245 (in_small_data_p): New.
13246 * varasm.c (resolve_unique_section): Use hooks instead of macros.
13247 (variable_section, output_constant_def_contents): Likewise.
13248 (default_select_section, default_unique_section): New.
13249 (categorize_decl_for_section, default_elf_select_section): New.
13250 * output.h: Declare them.
13251
13252 * config/darwin.h (ALIAS_SECTION, try_section_alias): Remove.
13253 (TARGET_ASM_SELECT_SECTION): New.
13254 (SELECT_SECTION): Move ...
13255 * config/darwin.c (machopic_select_section): ... here.
13256 * config/darwin-protos.h: Update.
13257
13258 * config/nextstep.h (TARGET_ASM_SELECT_SECTION): New.
13259 (SELECT_SECTION): Move ...
13260 * config/nextstep.c (nextstep_select_section): ... here.
13261 * config/nextstep-protos.h: Update.
13262
13263 * config/elfos.h (UNIQUE_SECTION, SELECT_SECTION): Remove.
13264 (TARGET_ASM_SELECT_SECTION): New.
13265 * config/svr3.h (SELECT_SECTION): Remove.
13266
13267 * config/alpha/alpha.c (unicosmk_unique_section): Make static.
13268 (TARGET_ASM_UNIQUE_SECTION) [UNICOS]: New.
13269 (TARGET_IN_SMALL_DATA_P, alpha_in_small_data_p): New.
13270 (alpha_encode_section_info): Use it.
13271 * config/alpha/alpha-protos.h: Update.
13272 * config/alpha/elf.h (DO_SELECT_SECTION): Remove.
13273 (SELECT_SECTION, UNIQUE_SECTION): Remove.
13274 (TARGET_ASM_SELECT_SECTION): New.
13275 * config/alpha/unicosmk.h (UNIQUE_SECTION): Remove.
13276
13277 * config/arm/pe.h (UNIQUE_SECTION): Remove.
13278 (TARGET_ASM_UNIQUE_SECTION): New.
13279
13280 * config/avr/avr.c (TARGET_ASM_UNIQUE_SECTION): New.
13281 (avr_unique_section): Rename from unique_section; make static.
13282 * config/avr/avr-protos.h: Update.
13283 * config/avr/avr.h (UNIQUE_SECTION): Remove.
13284
13285 * config/c4x/c4x.h (SELECT_SECTION): Remove.
13286
13287 * config/i386/cygwin.h (UNIQUE_SECTION): Remove.
13288 (TARGET_ASM_UNIQUE_SECTION): New.
13289 * config/i386/i386-interix.h: Likewise.
13290 * config/i386/win32.h: Likewise.
13291 * config/i386/djgpp.h (UNIQUE_SECTION): Remove.
13292 * config/i386/i386.c (ix86_asm_file_end): Use target hook not macro.
13293 * config/i386/sco5.h (SELECT_SECTION): Remove.
13294 (TARGET_ASM_SELECT_SECTION): New.
13295 * config/i386/svr3gas.h (SELECT_SECTION): Remove.
13296
13297 * config/i860/paragon.h: Undef TARGET_ASM_SELECT_SECTION
13298 instead of SELECT_SECTION.
13299 * config/m68k/dpx2.h: Likewise.
13300 * config/rs6000/lynx.h: Likewise.
13301
13302 * config/ia64/aix.h (SELECT_SECTION, UNIQUE_SECTION): Remove.
13303 (TARGET_ASM_SELECT_SECTION, TARGET_ASM_UNIQUE_SECTION): New.
13304 * config/ia64/ia64.c (TARGET_IN_SMALL_DATA_P): New.
13305 (ia64_in_small_data_p): New.
13306 (ia64_encode_section_info): Use it. Reorganize overlarge conditional.
13307 (ia64_aix_select_section, ia64_aix_unique_section): New.
13308 * config/ia64/sysv4.h (DO_SELECT_SECTION): Remove.
13309 (SELECT_SECTION, UNIQUE_SECTION): Remove.
13310
13311 * config/m32r/m32r.h (SELECT_SECTION): Remove.
13312 (TARGET_ASM_SELECT_SECTION): New.
13313 * config/m32r/m32r.c (m32r_select_section): Take align argument.
13314 * config/m32r/m32r-protos.h: Update.
13315
13316 * config/m88k/m88k.h (TARGET_ASM_SELECT_SECTION): New.
13317 (SELECT_SECTION): Move ...
13318 * config/m88k/m88k.c (m88k_select_section): ... here.
13319
13320 * config/mcore/mcore-pe.h (SELECT_SECTION): Remove.
13321 * config/mcore/mcore.h (UNIQUE_SECTION): Remove.
13322 * config/mcore/mcore.c (TARGET_ASM_UNIQUE_SECTION): New.
13323 (mcore_unique_section): Make static.
13324 * config/mcore/mcore-protos.h: Update.
13325
13326 * config/mips/elf.h (UNIQUE_SECTION): Remove.
13327 (TARGET_ASM_UNIQUE_SECTION): New.
13328 * config/mips/elf64.h: Likewise.
13329 * config/mips/iris6gld.h: Likewise.
13330 * config/mips/linux.h: Likewise.
13331 * config/mips/mips-protos.h: Update.
13332 * config/mips/mips.c (mips_select_section): Add align argument.
13333 * config/mips/mips.h (SELECT_SECTION): Remove.
13334 (TARGET_ASM_SELECT_SECTION): New.
13335
13336 * config/mmix/mmix.h (SELECT_SECTION, UNIQUE_SECTION): Remove.
13337 * config/mmix/mmix.c (mmix_select_section): Remove.
13338 (mmix_unique_section): Remove.
13339 * config/mmix/mmix-protos.h: Update.
13340
13341 * config/pa/pa.h (TARGET_ASM_SELECT_SECTION): New.
13342 (SELECT_SECTION): Move ...
13343 * config/pa/pa.c (pa_select_section): ... here.
13344 * config/pa/pa64-hpux.h (UNIQUE_SECTION): Remove.
13345
13346 * config/rs6000/rs6000.c (rs6000_elf_select_section): Rename
13347 from rs6000_select_section and make static.
13348 (rs6000_elf_unique_section): Similarly.
13349 (rs6000_xcoff_select_section): From xcoff.h.
13350 (rs6000_xcoff_unique_section): Likewise.
13351 * config/rs6000/rs6000-protos.h: Update.
13352 * config/rs6000/sysv4.h (SELECT_SECTION, UNIQUE_SECTION): Remove.
13353 (TARGET_ASM_SELECT_SECTION, TARGET_ASM_UNIQUE_SECTION): New.
13354 * config/rs6000/xcoff.h: Likewise.
13355
13356 * config/sparc/aout.h (TARGET_ASM_SELECT_SECTION): New.
13357 (SELECT_SECTION): Move ...
13358 * config/sparc/sparc.c (sparc_aout_select_section): ... here.
13359
13360 * config/v850/v850.h (SELECT_SECTION): Move ...
13361 * config/v850/v850.c (v850_select_section): ... here.
13362 (TARGET_ASM_SELECT_SECTION): New.
13363
13364 * config/vax/vms.h (SELECT_SECTION): Move ...
13365 * config/vax/vax.c (vms_select_section): ... here.
13366 (TARGET_ASM_SELECT_SECTION): New.
13367
13368 * doc/tm.texi: Update SELECT_SECTION and UNIQUE_SECTION docs
13369 for the target hooks.
13370
eaeb23a7
NC
133712002-05-17 Nick Clifton <nickc@cambridge.redhat.com>
13372
13373 * config/arm/arm.c (emit_multi_reg_push): Do not set
13374 RTX_FRAME_RELATED_P on the SEQUENCE.
13375
a00fe19f
RH
133762002-05-16 Richard Henderson <rth@redhat.com>
13377
13378 * config/ia64/ia64.c (ia64_reorg): Rebuild bb_for_insn before
13379 splitting. Use split_all_insns; update_life_info_in_dirty_blocks.
13380
5ccff482
RH
133812002-05-16 Richard Henderson <rth@redhat.com>
13382
13383 * config/alpha/unicosmk.h (TARGET_OS_CPP_BUILTINS): Fix typo.
13384
068d7739
RH
13385 * config/ia64/ia64.c (saveable_obstack): Do not declare.
13386
0b17ab2f
RH
133872002-05-16 Richard Henderson <rth@redhat.com>
13388
13389 * basic-block.h, bb-reorder.c, cfg.c, cfganal.c, cfgbuild.c,
13390 cfgcleanup.c, cfglayout.c, cfgloop.c, cfgrtl.c, combine.c,
13391 conflict.c, df.c, df.h, dominance.c, final.c, flow.c, function.c,
13392 gcse.c, global.c, graph.c, haifa-sched.c, ifcvt.c, lcm.c,
13393 local-alloc.c, loop.c, predict.c, print-rtl.c, profile.c,
13394 recog.c, reg-stack.c, regclass.c, regmove.c, regrename.c,
13395 reload1.c, reorg.c, resource.c, sbitmap.c, sched-deps.c,
13396 sched-ebb.c, sched-rgn.c, sibcall.c, ssa-ccp.c, ssa-dce.c, ssa.c:
13397 Revert "Basic block renumbering removal", and two followup patches.
13398
8ae86b3c
JT
133992002-05-16 Jason Thorpe <thorpej@wasabisystems.com>
13400
13401 * lcm.c (optimize_mode_switching): Revert previous change.
13402
4e9f27af
ZD
134032002-05-16 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
13404
13405 * sched-rgn.c (schedule_insns): Initialize large_region_blocks
13406 with only extant block numbers.
13407
3cdc1dbc
JT
134082002-05-16 Jason Thorpe <thorpej@wasabisystems.com>
13409
13410 * lcm.c (optimize_mode_switching): Fix typo.
13411
fbfb3b09
ZD
134122002-05-16 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
13413
13414 * flow.c (calculate_global_regs_live): Queue blocks in program order.
13415
b4b0fb02
RO
134162002-05-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
13417
13418 * doc/install.texi (Configuration): Document PWDCMD.
13419
63b827c5
DJ
134202002-05-16 Dale Johannesen <dalej@apple.com>
13421
13422 * combine.c (cant_combine_insn_p): Reenable combinations
13423 involving hard regs unless CLASS_LIKELY_SPILLED_P.
13424
748d29c1
NB
134252002-05-16 Neil Booth <neil@daikokuya.demon.co.uk>
13426
13427 * c-common.c (cb_register_builtins): Handle more built-ins
13428 here rather than in gcc.c specs.
13429 * gcc.c (cpp_unique_options): Move many built-ins to c-common.c.
13430 (cpp_options): Pass -O flags even when only preprocessing.
13431 * toplev.c (set_fast_math_flags): New prototype.
13432 (fast_math_flags_set_p): New.
13433 (set_no_fast_math_flags): Remove.
13434 (decode_f_option): Update.
13435 * toplev.h (set_fast_math_flags): Update.
13436 (fast_math_flags_set_p): New.
13437 (set_no_fast_math_flags): Remove.
13438config:
13439 * c4x/c4x.c (c4x_override_options): Update.
13440
5279d739
ZW
134412002-05-16 Zack Weinberg <zack@codesourcery.com>
13442
13443 * c-common.c (STDC_0_IN_SYSTEM_HEADERS, REGISTER_PREFIX):
13444 Default-define here.
13445 (builtin_define_with_value): Can now wrap the expansion in
13446 quotation marks if such is wanted.
a00fe19f 13447 (cb_register_builtins): Update calls to builtin_define_with_value.
5279d739
ZW
13448 Define __REGISTER_PREFIX__, __USER_LABEL_PREFIX__, and __VERSION__
13449 here.
13450 (c_common_init): Set options->stdc_0_in_system_headers.
13451 * c-lex.h: Update prototype of builtin_define_with_value.
13452 * cppdefault.h: Remove default definitions of USER_LABEL_PREFIX
13453 and REGISTER_PREFIX.
13454
13455 * cppinit.c (VERS, ULP, C, X): Kill.
13456 (builtin_array): Remove entries for __VERSION__,
13457 __USER_LABEL_PREFIX__, __REGISTER_PREFIX__, and
13458 __HAVE_BUILTIN_SETJMP__. Make __STDC__ always a builtin, not
13459 a constant.
13460 (init_builtins): Kill off a bunch of now-dead code.
13461 (COMMAND_LINE_OPTIONS): Remove -fleading-underscore and
13462 -fno-leading-underscore.
13463 (cpp_handle_option): Remove code to set user_label_prefix.
13464 (cpp_post_options): Likewise.
13465
13466 * cpplib.h (struct cpp_options): Remove user_label_prefix.
13467 (stdc_0_in_system_headers): New.
13468 * cppmacro.c (builtin_macro): Check CPP_OPTION (pfile,
13469 stdc_0_in_system_headers) too to decide the value of __STDC__.
13470
13471 * tradcpp.c (user_label_prefix): Kill.
a00fe19f 13472 (main): Remove code handling -f(no-)leading-underscore.
5279d739
ZW
13473 (initialize_builtins): Don't define __REGISTER_PREFIX__
13474 or __USER_LABEL_PREFIX__.
13475 (install_value): Wrap compound statement in dummy loop so the
13476 macro works properly in an if statement.
13477
13478
62e6ca55
JJ
134792002-05-16 Janis Johnson <janis187@us.ibm.com>
13480
13481 * loop.h (struct loop_info): Add member has_prefetch.
13482 * loop.c (PREFETCH_CONDITIONAL): Change default to 1.
13483 (prescan_loop): Initialize has_prefetch.
13484 (struct prefetch_info): Change prefetch_in_loop and
13485 prefetch_before_loop from bit fields to ints.
13486 (emit_prefetch_instructions): Several small fixes.
13487 (check_dbra_loop): Don't reverse loop that uses prefetch.
13488
1e6347d8
RO
134892002-05-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
13490
13491 * Makefile.in: Allow for PWDCMD to override hardcoded pwd.
13492 * configure.in: Likewise.
13493 * fixinc/check.tpl: Likewise.
13494 * fixinc/fixinc.dgux: Likewise.
13495 * fixinc/fixinc.svr4: Likewise.
13496 * fixinc/fixinc.winnt: Likewise.
13497 * fixinc/fixincl.sh: Likewise.
13498 * fixproto: Likewise.
13499 * configure: Regenerate.
13500
355e4ec4
ZD
135012002-05-16 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
13502
13503 Basic block renumbering removal:
13504 * basic_block.h (struct basic_block_def): Renamed index to sindex,
13505 added prev_bb and next_bb fields.
13506 (n_basic_blocks): Renamed to num_basic_blocks.
13507 (last_basic_block): New, index of last basic block.
13508 (FOR_BB_BETWEEN, FOR_ALL_BB, FOR_ALL_BB_REVERSE): New macros for
13509 traversing basic block chain.
13510 (BLOCK_NUM): index -> sindex.
13511 (create_basic_block_structure, create_basic_block): Declaration changed.
13512 (debug_num2bb): Declare.
13513 (expunge_block_nocompact): Declaration removed.
13514 (link_block, unlink_block, compact_blocks): Declare.
13515 * bb-reorder.c (make_reorder_chain, make_reorder_chain_1): Modified.
13516 * cfg.c (entry_exit_blocks): Initialize new fields.
13517 (clear_edges, alloc_block, expunge_block, cached_make_edge,
13518 redirect_edge_pred, dump_flow_info, dump_edge_info,
13519 alloc_aux_for_blocks, clear_aux_for_blocks, alloc_aux_for_edges,
13520 free_aux_for_edges): Modified.
13521 (link_block, unlink_block, compact_blocks, debug_num2bb): New.
13522 (expunge_block_nocompact): Removed.
13523 * cfganal.c (can_fallthru, mark_dfs_back_edges, flow_call_edges_add,
13524 find_unreachable_blocks, create_edge_list, print_edge_list,
13525 verify_edge_list, flow_edge_list_print, remove_fake_successors,
13526 remove_fake_edges, flow_reverse_top_sort_order_compute,
13527 flow_depth_first_order_compute, flow_preorder_transversal_compute,
13528 flow_dfs_compute_reverse_init, flow_dfs_compute_reverse_add_bb,
13529 flow_dfs_compute_reverse_execute): Modified.
13530 * cfgbuild.c (make_edges, make_eh_edge, find_basic_blocks_1,
13531 find_basic_blocks, find_many_sub_basic_blocks, find_sub_basic_blocks):
13532 Modified.
13533 * cfgcleanup.c (try_simplify_condjump, try_forward_edges,
13534 merge_blocks_move_predecessor_nojumps,
13535 merge_blocks_move_successor_nojumps, merge_blocks,
13536 outgoing_edges_match, try_crossjump_to_edge, try_crossjump_bb,
13537 try_optimize_cfg, delete_unreachable_blocks, cleanup_cfg): Modified.
13538 * cfglayout.c (skip_insns_after_block, label_for_bb,
13539 record_effective_endpoints, scope_to_insns_finalize,
13540 fixup_reorder_chain, verify_insn_chain, cleanup_unconditional_jumps,
13541 fixup_fallthru_exit_predecessor, cfg_layout_redirect_edge,
13542 cfg_layout_duplicate_bb): Modified.
13543 * cfgloop.c (flow_loops_cfg_dump, flow_loop_dump, flow_loops_dump,
13544 flow_loop_entry_edges_find, flow_loop_exit_edges_find,
13545 flow_loop_nodes_find, flow_loop_pre_header_find, flow_loop_scan,
13546 flow_loops_find, flow_loop_outside_edge_p): Modified.
13547 * cfgrtl.c (create_basic_block_structure, create_basic_block,
13548 flow_delete_block, compute_bb_for_insn, split_block,
13549 try_redirect_by_replacing_jump, redirect_edge_and_branch,
13550 force_nonfallthru_and_redirect, tidy_fallthru_edge,
13551 back_edge_of_syntactic_loop_p, split_edge, commit_one_edge_insertion,
13552 commit_edge_insertions, commit_edge_insertions_watch_calls,
13553 dump_bb, print_rtl_with_bb, verify_flow_info, purge_dead_edges,
13554 purge_all_dead_edges): Modified.
13555 * combine.c (combine_instructions, set_nonzero_bits_and_sign_copies,
13556 try_combine, nonzero_bits, num_sign_bit_copies, get_last_value_validate,
13557 get_last_value, reg_dead_at_p, distribute_notes, distribute_links):
13558 Modified.
13559 * conflict.c (conflict_graph_compute): Modified.
13560 * df.c (FOR_ALL_BBS): Removed.
13561 (df_bitmaps_alloc, df_bitmaps_free, df_alloc, df_analyse_1,
13562 df_modified_p, df_analyse, df_refs_unlink, df_insn_modify,
13563 df_dump, hybrid_search_bitmap, iterative_dataflow_sbitmap): Modified.
13564 * df.h (DF_BB_INFO, DF_REF_BBNO): Modified.
13565 * dominance.c (init_dom_info, calc_dfs_tree_nonrec, calc_dfs_tree,
13566 calc_idoms, idoms_to_doms, calculate_dominance_info): Modified.
13567 * final.c (compute_alignments, final_scan_insn): Modified.
13568 * flow.c (verify_local_live_at_start, update_life_info,
13569 update_life_info_in_dirty_blocks, free_basic_block_vars,
13570 delete_noop_moves, calculate_global_regs_live,
13571 initialize_uninitialized_subregs, allocate_bb_life_data,
13572 regno_uninitialized, regno_clobbered_at_setjmp, mark_set_1,
13573 mark_used_reg, count_or_remove_death_notes): Modified.
13574 * function.c (thread_prologue_and_epilogue_insns): Modified.
13575 * gcse.c (struct null_pointer_info): Change typo of current_block
13576 to basic_block.
13577 (gcse_main, alloc_gcse_mem, compute_local_properties, compute_sets,
13578 oprs_unchanged_p, load_killed_in_block_p, record_last_reg_set_info,
13579 compute_hash_table, alloc_rd_mem, handle_rd_kill_set, compute_kill_rd,
13580 alloc_avail_expr_mem, expr_killed_p, compute_ae_kill,
13581 expr_reaches_here_p_work, expr_reaches_here_p, handle_avail_expr,
13582 classic_gcse, one_classic_gcse_pass, compute_transp, cprop,
13583 one_cprop_pass, compute_pre_data, pre_expr_reaches_here_p_work,
13584 pre_expr_reaches_here_p, insert_insn_end_bb, pre_edge_insert,
13585 pre_delete, one_pre_gcse_pass, compute_transpout,
13586 invalidate_nonnull_info, delete_null_pointer_checks_1,
13587 free_code_hoist_mem, compute_code_hoist_vbeinout,
13588 hoist_expr_reaches_here_p, hoist_code, one_code_hoisting_pass,
13589 compute_ld_motion_mems, store_ops_ok, find_moveable_store,
13590 compute_store_table, build_store_vectors, insert_insn_start_bb,
13591 insert_store, replace_store_insn, free_store_memory, store_motion):
13592 Modified.
13593 * global.c (global_alloc, global_conflicts, mark_elimination,
13594 build_insn_chain): Modified.
13595 * graph.c (print_rtl_graph_with_bb): Modified.
13596 * haifa-sched.c (sched_init): Modified.
13597 * ifcvt.c (SET_ORIG_INDEX, ORIG_INDEX): Removed.
13598 (find_if_block, find_cond_trap, find_if_case_1, find_if_case_2,
13599 if_convert): Modified.
13600 * lcm.c (compute_antinout_edge, compute_earliest, compute_laterin,
13601 compute_insert_delete, pre_edge_lcm, compute_available,
13602 compute_farthest, compute_nearerout, compute_rev_insert_delete,
13603 pre_edge_rev_lcm, make_preds_opaque, optimize_mode_switching):
13604 Modified.
13605 * local-alloc.c (alloc_qty, local_alloc, update_equiv_regs): Modified.
13606 * loop.c (loop_dump_aux): Modified.
13607 * predict.c (combine_predictions_for_insn, estimate_probability,
13608 last_basic_block_p, process_note_prediction, process_note_predictions,
13609 note_prediction_to_br_prob, propagate_freq, counts_to_freqs,
13610 expensive_function_p, estimate_bb_frequencies,
13611 compute_function_frequency): Modified.
13612 * print-rtl.c (print_rtx): Modified.
13613 * profile.c (GCOV_INDEX_TO_BB, BB_TO_GCOV_INDEX, instrument_edges,
13614 get_exec_counts, compute_branch_probabilities, compute_checksum,
13615 branch_prob, find_spanning_tree): Modified.
13616 * recog.c (split_all_insns, peephole2_optimize): Modified.
13617 * reg-stack.c (reg_to_stack, convert_regs_entry, compensate_edge,
13618 convert_regs_1, convert_regs_2, convert_regs): Modified.
13619 * regclass.c (scan_one_insn, regclass): Modified.
13620 * regmove.c (mark_flags_life_zones, regmove_optimize,
13621 combine_stack_adjustments): Modified.
13622 * regrename.c (regrename_optimize, copyprop_hardreg_forward): Modified.
13623 * reload1.c (reload, reload_combine, copy_eh_notes): Modified.
13624 * reorg.c (dbr_schedule): Modified.
13625 * resource.c (find_basic_block, init_resource_info): Modified.
13626 * sbitmap.c (sbitmap_intersection_of_succs,
13627 sbitmap_intersection_of_preds, sbitmap_union_of_succs,
13628 sbitmap_union_of_preds): Modified.
13629 * sched-deps.c (init_dependency_caches): Modified.
13630 * sched-ebb.c (schedule_ebbs): Modified.
13631 * sched-rgn.c (is_cfg_nonregular, build_control_flow, debug_regions,
13632 find_rgns, compute_trg_info, init_regions, schedule_insns): Modified.
13633 * sibcall.c (optimize_sibling_and_tail_recursive_call): Modified.
13634 * ssa-ccp.c (examine_flow_edges, optimize_unexecutable_edges,
13635 ssa_ccp_substitute_constants, ssa_ccp_df_delete_unreachable_insns,
13636 ssa_const_prop): Modified.
13637 * ssa-dce.c (set_control_dependent_block_to_edge_map_,
13638 find_control_dependence, find_pdom, ssa_eliminate_dead_code): Modified.
13639 * ssa.c (remove_phi_alternative, find_evaluations,
13640 compute_dominance_frontiers_1, compute_iterated_dominance_frontiers,
13641 insert_phi_node, rename_block, convert_to_ssa, eliminate_phi,
13642 make_regs_equivalent_over_bad_edges,
13643 make_equivalent_phi_alternatives_equival,
13644 compute_conservative_reg_partition,
13645 coalesce_regs_in_successor_phi_nodes, compute_coalesced_reg_partition,
13646 rename_equivalent_regs, convert_from_ssa, for_each_successor_phi):
13647 Modified.
13648
5a566bed
MM
136492002-05-16 Mark Mitchell <mark@codesourcery.com>
13650
13651 * cfgrtl.c (purge_dead_edges): Correct handling of EDGE_EH.
13652
48f6efae
NC
136532002-05-16 Nick Clifton <nickc@cambridge.redhat.com>
13654
13655 * config/arm/arm.c (arm_rtx_costs): Check for RTX being a
13656 SYMBOL_REF before calling CONSTANT_POOL_ADDRESS_P.
13657 (arm_adjust_cost): Check for RTX being a SYMBOL_REF before
13658 calling CONSTANT_POOL_ADDRESS_P.
13659 * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Fix typo in code
13660 to decide whether to define __arm__ or __thumb.
355e4ec4 13661 (THUMB_GO_IF_LEGITIMATE_ADDRESS): Check for RTX being a
48f6efae
NC
13662 SYMBOL_REF before calling CONSTANT_POOL_ADDRESS_P.
13663
b166fadd
NB
136642002-05-16 Neil Booth <neil@daikokuya.demon.co.uk>
13665
13666 * config/arc/arc.h (CPP_PREDEFINES): Remove.
13667 (CPP_SPEC): Update.
13668 (TARGET_CPU_CPP_BUILTINS): New.
13669
601328bb
NB
136702002-05-16 Neil Booth <neil@daikokuya.demon.co.uk>
13671
13672 * cpphash.h (cpp_macro): Move here, and make expansion a union.
13673 * cppmacro.c (cpp_macro): Remove.
13674 (enter_macro_context, replace_args, warn_of_redefinition,
13675 _cpp_create_definition, cpp_macro_definition): Update.
13676
ff48be5c
JM
136772002-05-16 Jason Merrill <jason@redhat.com>
13678
13679 * config/mips/mips.c (mips_output_external): Don't do sdata
13680 optimization for a variable with DECL_COMDAT set.
13681
805c42ba
AH
136822002-05-15 Aldy Hernandez <aldyh@redhat.com>
13683
355e4ec4
ZD
13684 * config/rs6000/altivec.h: Cleanups for tighter typechecking.
13685 Cleanups for accepting modifiers on pointers.
13686 Fix predicate typos.
13687 Allow long pointers as well as int pointers.
805c42ba 13688
34fb9ba5
RH
136892002-05-15 Richard Henderson <rth@redhat.com>
13690
13691 * varasm.c (merge_weak): Remove special case for extern and common.
13692
62e118f5
MH
136932002-05-15 Matt Hiller <hiller@redhat.com>
13694
13695 * testsuite/gcc.c-torture/compile/20000804-1.x: Don't return 1 if
355e4ec4 13696 XFAILing.
62e118f5
MH
13697 * testsuite/gcc.c-torture/compile/20001226-1.x: Ditto.
13698 * testsuite/gcc.c-torture/compile/920520-1.x: Ditto.
13699 * testsuite/gcc.c-torture/compile/mipscop-1.x: XFAIL for now.
13700 * testsuite/gcc.c-torture/compile/mipscop-2.x: Ditto.
13701 * testsuite/gcc.c-torture/compile/mipscop-3.x: Ditto.
13702 * testsuite/gcc.c-torture/compile/mipscop-4.x: Ditto.
13703
fefac463
AH
137042002-05-15 Aldy Hernandez <aldyh@redhat.com>
13705
355e4ec4 13706 * reload1.c (forget_old_reloads_1): Do not use subreg offset.
fefac463 13707
5f004351
AH
137082002-05-15 Aldy Hernandez <aldyh@redhat.com>
13709
355e4ec4
ZD
13710 * config/rs6000/rs6000.md ("altivec_mtvscr"): Set VSCR register.
13711 ("altivec_mfvscr"): Read from VSCR.
13712
13713 Add vscr sets for the following insns: altivec_vctuxs,
13714 altivec_vaddubs, altivec_vaddsbs, altivec_vadduhs,
13715 altivec_vaddshs, altivec_vadduws, altivec_vaddsws, altivec_vctsxs,
13716 altivec_vmhaddshs, altivec_vmhraddshs, altivec_vmsumuhs,
13717 altivec_vmsumshs, altivec_vpkuhss, altivec_vpkshss,
13718 altivec_vpkuwss, altivec_vpkswss, altivec_vpkuhus,
13719 altivec_vpkshus, altivec_vpkuwus, altivec_vpkswus,
13720 altivec_vsububs, altivec_vsubsbs, altivec_vsubuhs,
13721 altivec_vsubshs, altivec_vsubuws, altivec_vsubsws,
13722 altivec_vsum4ubs, altivec_vsum4sbs, altivec_vsum4shs,
13723 altivec_vsum2sws, altivec_vsumsws.
13724
13725 * config/rs6000/rs6000.h: Add VSCR fixed register.
13726 (CALL_REALLY_USED_REGISTERS): Add vscr.
13727 (CALL_USED_REGISTERS): Same.
13728 (FIXED_REGISTERS): Same.
13729 (REG_ALLOC_ORDER): Same.
13730 (reg_class): Add VSCR_REGS.
13731 (REG_CLASS_NAMES): Same.
13732 (REG_CLASS_CONTENTS): Same.
13733 (VSCR_REGNO): New.
13734 (REGISTER_NAMES): Add vscr.
13735 (DEBUG_REGISTER_NAMES): Same.
13736 (ADDITIONAL_REGISTER_NAMES): Same.
13737 (FIRST_PSEUDO_REGISTER): Increment.
13738 (CONDITIONAL_REGISTER_USAGE): Set VSCR as a global register.
5f004351 13739
033afd11
RH
137402002-05-15 Jakub Jelinek <jakub@redhat.com>
13741
13742 * fold-const.c (fold): Fix a typo.
13743
137442002-05-15 Eric Botcazou <ebotcazou@multimania.com>
13745
13746 * fold-const.c (fold) [LT_EXPR]: Move the transformation of a
13747 comparison against the highest or lowest integer value before
13748 the 'X >= CST to X > (CST - 1)' and 'X < CST to X <= (CST - 1)'
13749 transformation and that of an unsigned comparison against 0
13750 right after.
13751
14285ace
RH
137522002-05-15 Richard Henderson <rth@redhat.com>
13753
13754 * varasm.c (merge_weak): Error for any weakening after definition.
13755 Adjust weakening after use warning to catch more cases.
13756 (assemble_alias): Set TREE_USED and TREE_ASM_WRITTEN consistently.
13757 * config/alpha/alpha.c (alpha_encode_section_info): Do not abort.
13758
194734e9
JH
13759Wed May 15 10:38:27 CEST 2002 Jan Hubicka <jh@suse.cz>
13760
13761 * invoke.texi (-malign-double): Re-add lost warning.
13762
13763 * i386-protos.h (x86_output_mi_thunk): Declare.
13764 * unix.h (ASM_OUTPUT_MI_THUNK): Move offline to ...
13765 * i386.c (x86_output_mi_thunk): ... here; handle 64bits.
13766
13767 * dwarf2out.c (output_call_frame_info): Do not skip unwind info
13768 when flag_asynchronous_unwind_tables is set.
13769
13770 * flags.h (flag_reorder_functions): Declare.
13771 * function.c (prepare_function_start): Initialize frequnecy.
14285ace 13772 * params.def (HOT_BB_COUNT_FRACTION, HOT_BB_FREQUENCY_FRACTION): New.
194734e9
JH
13773 * Makefile.in (predict.o): Add dependency on target.h and params.h
13774 * defaults.h (HOT_TEXT_SECTION_NAME,
13775 UNLIKELY_EXECUTED_TEXT_SECTION_NAME): New macros.
13776 * predict.c (choose_function_section): New function.
13777 (estimate_bb_frequencies): Use it.
13778 * toplev.c (flag_reorder_functions): New global variable.
13779 (lang_independent_options): New.
13780 (parse_options_and_default_flags): Set.
13781 * varasm.c (assemble_start_function): Bypass functdion alignment
13782 for never executed functions.
13783 * invoke.texi (-freorder-blocks, -freorder-functions): Document.
13784 (param hot-bb-count-fraction, hot-bb-frequency-fraction): New.
13785 * tm.texi (HOT_TEXT_SECTION_NAME, UNLIKELY_EXECUTED_TEXT_SECTION_NAME):
13786 Document.
13787
13788 Thu Jan 3 21:52:09 CET 2002 Jan Hubicka <jh@suse.cz>
13789
13790 * predict.c: Inlude profile.h
13791 (MIN_COUNT): Rename to MIN_COUNT_FRACTION
13792 (maybe_hot_bb_p, probably_cold_bb_p, probably_never_executed_bb_p):
13793 Use the information about maximal counter in the program.
13794
13795 Thu Dec 20 22:14:00 CET 2001 Jan Hubicka <jh@suse.cz>
13796
13797 * basic-block.h (maybe_hot_bb_p, probably_cold_bb_p,
13798 probably_never_executed_bb_p): New functions.
13799 * cfgcleanup.c (outgoing_edges_match): Use them.
13800 * predict.c (MIN_COUNT, MIN_FREQUENCY): New macros.
13801 (maybe_hot_bb_p, probably_cold_bb_p,
13802 probably_never_executed_bb_p): New functions.
13803
13804 * function.h (function): Add new field function_frequency.
13805 * predict.c (compute_function_frequency): New function.
13806 (estimate_probability): Call it.
13807
61ad9a34
JJ
138082002-03-09 Jakub Jelinek <jakub@redhat.com>
13809
13810 PR optimization/5172, optimization/5200
13811 * gcse.c (gcse_main): Disable store_motion.
13812
a11eba95
ZW
138132002-05-14 Zack Weinberg <zack@codesourcery.com>
13814
13815 * c-parse.in (MODIFIED_WCHAR_TYPE): New macro.
13816 (c_common_nodes_and_builtins): Use it.
13817 (builtin_define_with_value): New function.
13818 (cb_register_builtins): Define __SIZE_TYPE__,
13819 __PTRDIFF_TYPE__, __WCHAR_TYPE__, and __WINT_TYPE__ here,
13820 using builtin_define_with_value. Use consistent notation when
13821 defining __GXX_WEAK__.
13822 (WCHAR_TYPE_SIZE): Don't redefine.
13823 (combine_strings): Don't use WCHAR_TYPE_SIZE.
13824
13825 * cppdefault.h: Don't provide defaults for SIZE_TYPE,
13826 PTRDIFF_TYPE, WCHAR_TYPE, or WINT_TYPE.
13827 * cppinit.c (builtin_array): Remove entries for __SIZE_TYPE__ etc.
13828 * tradcpp.c (initialize_builtins): Likewise.
13829 * gcc.c (cpp_unique_options): Don't muck with __WCHAR_TYPE__.
13830
13831 * c-lex.h (builtin_define_with_value): Prototype.
13832 * system.h: Poison NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_WCHAR_TYPE,
13833 NO_BUILTIN_PTRDIFF_TYPE, and NO_BUILTIN_WINT_TYPE.
13834 * doc/tm.texi: Remove mention of NO_BUILTIN_SIZE_TYPE etc.
13835
13836 * config/avr/avr.h, config/h8300/h8300.h, config/i386/i386.h,
13837 config/ia64/ia64.h, config/mips/dec-osf1.h, config/mips/iris6.h,
13838 config/mips/linux.h, config/mips/mips.h, config/mips/netbsd.h,
13839 config/mips/osfrose.h, config/mips/sni-svr4.h, config/rs6000/aix51.h,
13840 config/s390/linux.h, config/sh/sh.h, config/sh/sh64.h,
13841 config/sparc/linux64.h, config/sparc/netbsd-elf.h,
13842 config/sparc/sol2-bi.h, config/sparc/sparc.h:
13843 Do not define NO_BUILTIN_SIZE_TYPE etc. Remove all references
13844 to __SIZE_TYPE__ etc from all spec strings. When this makes
13845 extra specs empty, delete them.
13846
1c31ecf6
JDA
138472002-05-14 John David Anglin <dave@hiauly1.hia.nrc.ca>
13848
13849 * pa.c (override_options): Override TARGET_JUMP_IN_DELAY when scheduling
13850 for PA8000 or generating dwarf2 call frame information.
13851 (output_call): Remove DO_FRAME_NOTES check from return pointer
13852 optimization.
13853 (following_call): Return 0 when scheduling for PA8000 or generating
13854 dwarf2 call frame information. Revise comment.
13855
ac9cfada
NB
138562002-05-14 Neil Booth <neil@daikokuya.demon.co.uk>
13857
13858config/alpha:
13859 * alpha.h (TARGET_CPU_CPP_BUILTINS): Define __IEEE_FP
13860 and __IEEE_FP_INEXACT as appropriate.
13861 (CPLUSPLUS_CPP_SPEC): Don't define __cplusplus.
13862 (CPP_SPEC): Remove ieee defines.
13863 * freebsd.h, netbsd.h: Remove ieee defines and cpp_cpu.
13864
9b690711
RH
138652002-05-14 Richard Henderson <rth@redhat.com>
13866
13867 * config/i386/i386.c (ix86_save_reg): Make regno unsigned.
13868 (ix86_safe_length, ix86_safe_length_prefix, ix86_safe_memory): Kill.
13869
e6471be6
NB
138702002-05-14 Neil Booth <neil@daikokuya.demon.co.uk>
13871
e6471be6
NB
13872 * arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define.
13873 (CPP_SPEC): Update.
13874 (CPP_APCS_PC_SPEC, CPP_APCS_PC_DEFAULT_SPEC,
13875 CPP_FLOAT_SPEC, CPP_FLOAT_DEFAULT_SPEC, CPP_ENDIAN_SPEC,
13876 CPP_ENDIAN_DEFAULT_SPEC, CPP_INTERWORK_DEFAULT_SPEC,
13877 CPP_INTERWORK_SPEC, CPP_PREDEFINES): Remove.
13878 (EXTRA_SPECS): Update.
13879 * arm/conix-elf.h, arm/linux-elf.h, arm/netbsd.h, arm/riscix.h,
13880 arm/riscix1-1.h, arm/rtems-elf.h, arm/semiaof.h, arm/unknown-elf.h,
13881 arm/unknown-elf-oabi.h, arm/vxarm.h: Remove CPP_PREDEFINES and
13882 define TARGET_OS_CPP_BUILTINS if necessary.
13883
e5f5feea
NB
138842002-05-14 Neil Booth <neil@daikokuya.demon.co.uk>
13885
13886 * gcc.c (cpp_options): Must pass -m* and -f* options
13887 to the front end even when only preprocessing.
13888 (cc1_options): Remove redundant -lang-c.
13889 * tradcpp.c (main): Ignore -m options.
13890objc:
13891 * lang-specs.h: Similarly.
13892
317638a8
VM
138932002-05-14 Vladimir Makarov <vmakarov@redhat.com>
13894
13895 * genautomata.c (transform_3): Add code for transformation
13896 `(A,B,...)+C -> A+C,B,...'.
13897
4d604303
JH
13898Tue May 14 12:48:22 CEST 2002 Jan Hubicka <jh@suse.cz>
13899
13900 * final.c (end_final): Do not output profile_arcs constructor, when
13901 no functions are instrumented.
13902
b18b06ed
JH
13903Tue May 14 12:38:30 CEST 2002 Jan Hubicka <jh@suse.cz>
13904
13905 * i386.md (testsi to testqi_zext_1 splitter): Fix typo.
13906
a12f97f0
GP
139072002-05-14 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
13908
13909 * doc/install.texi: Remove special markup originally required for
13910 HTML generation with texi2html.
13911
c1ae3eb4
AS
139122002-05-14 Andreas Schwab <schwab@suse.de>
13913
13914 * config/ia64/sysv4.h (DO_SELECT_SECTION): Factored out of
13915 SELECT_SECTION.
13916 (UNIQUE_SECTION): Define to get small data correctly.
1b18fc2c
AS
13917
13918 * varasm.c (resolve_unique_section): Add third parameter
13919 flag_function_or_data_sections and use it instead of
13920 flag_function_sections.
13921 (assemble_start_function): Pass flag_function_sections.
13922 (asm_emit_uninitialised): Pass flag_data_sections.
13923 (assemble_variable): Likewise.
13924
8ee41eaf
RH
139252002-05-14 Richard Henderson <rth@redhat.com>
13926
13927 * config/i386/i386.md: Use define_constants for unspec numbers.
13928 * config/i386/i386.c: Likewise.
13929
e6471be6
NB
139302002-05-13 Neil Booth <neil@daikokuya.demon.co.uk>
13931
13932 * doc/contrib.texi: Update my entry.
13933
c297b764
MM
139342002-05-13 Mark Mitchell <mark@codesourcery.com>
13935
13936 * fixinc/inclhack.def (winidss_valist): Limit applicability.
13937 * fixinc/fixincl.x: Regenerated.
13938 * fixinc/tests/base/math.h: Update.
13939 * fixinc/tests/base/testing.h: Likewise.
13940
0b42c8f8
ZW
139412002-05-13 Zack Weinberg <zack@codesourcery.com>
13942
13943 * genattr.c (gen_attr): Don't emit a comma after the last
13944 enumerator.
13945
546c093e
RH
139462002-05-13 Richard Henderson <rth@redhat.com>
13947
13948 * cfgrtl.c (purge_dead_edges): Handle abnormal call edges created
13949 by non-local gotos.
13950 * recog.c (peephole2_optimize): Likewise.
13951
85be8c2d
AP
139522002-05-13 Andris Pavenis <pavenis@lanet.lv>
13953
13954 * cppfiles.c (open_file): Change mode (DJGPP only) of redirected
13955 input to O_BINARY.
13956
765b8f90
JL
139572002-05-13 Jeffrey A Law (law@redhat.com)
13958
fe4b3c79
JL
13959 * flow.c (invalidate_mems_from_autoinc): Rewrite to use for_each_rtx.
13960 Update prototype and callers.
13961 (propagate_one_insn): Stack pointer adjustments kill MEMs on
13962 the mem_set_list which reference the stack pointer, as do
13963 calls to constant functions as they may clobber outgoing
13964 argument space.
13965
16133d00
JL
13966 * i386.c (ia32_multipass_dfa_lookahead): Prototype.
13967
765b8f90
JL
13968 * i386.c (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Define.
13969 (ia32_multipass_dfa_lookahead): New function.
13970
63826d5b
NB
139712002-05-13 Neil Booth <neil@daikokuya.demon.co.uk>
13972
13973 * gcc.c (SWITCH_TAKES_ARG): Remove 'V'.
13974 (translate_options): Remove 'V'.
13975 (process_command): Similarly.
13976doc:
13977 * invoke.texi: Remove documentation of 'V'.
13978
dcb41ced
UW
139792002-05-13 Ulrich Weigand <uweigand@de.ibm.com>
13980
13981 * config/s390/linux.h: Revert 2002-04-22 changes.
13982
8dfea428
SM
139832002-05-13 Scott Marks <SMarks@mobile-mind.com>
13984
13985 * config/fr30/fr30.md: Only allow splits of immediate loads
13986 if the destination is a register.
13987
12a41c22
NB
139882002-05-13 Neil Booth <neil@daikokuya.demon.co.uk>
13989
13990 * Makefile.in (c-common.o, cppinit.o): Update.
13991 * c-common.c: Include except.h.
13992 (cb_register_builtins): Handle __USING_SJLJ_EXCEPTIONS__.
13993 Call TARGET_CPU_CPP_BUILTINS and TARGET_OS_CPP_BUILTINS.
13994 * cppinit.c (__USING_SJLJ_EXCEPTIONS): Not here.
13995 * defaults.h (TARGET_OS_CPP_BUILTINS, TARGET_CPU_CPP_BUILTINS,
13996 CPP_PREDEFINES): Handle here.
13997config:
13998 * alpha/alpha-interix.h, alpha/gnu.h, alpha/linux.h,
13999 alpha/netbsd.h, alpha/openbsd.h, alpha/osf.h, alpha/unicosmk.h,
14000 alpha/vms.h, alpha/vxworks.h: Remove CPP_PREDEFINES, define
14001 TARGET_OS_CPP_BUILTINS.
14002 * alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Define.
14003 (CPP_SPEC, EXTRA_SPECS): Update.
14004 (CPP_AM_BWX_SPEC, CPP_AM_MAX_SPEC, CPP_AM_FIX_SPEC,
14005 CPP_AM_CIX_SPEC, CPP_IM_EV4_SPEC, CPP_IM_EV5_SPEC,
14006 CPP_IM_EV6_SPEC, CPP_CPU_EV4_SPEC, CPP_CPU_EV5_SPEC,
14007 CPP_CPU_EV56_SPEC, CPP_CPU_PCA56_SPEC, CPP_CPU_EV6_SPEC,
14008 CPP_CPU_EV67_SPEC, CPP_CPU_DEFAULT_SPEC, CPP_CPU_SPEC): Remove.
14009doc:
14010 * tm.texi (TARGET_REGISTER_CPP_BUILTINS): Remove.
14011 (TARGET_OS_CPP_BUILTINS, TARGET_CPU_CPP_BUILTINS): Define.
14012
5692c7bc
ZW
140132002-05-12 Zack Weinberg <zack@codesourcery.com>
14014
14015 * emit-rtl.c (global_rtl): Update comment.
14016 (const_double_htab, const_double_htab_hash,
14017 const_double_htab_hash, lookup_const_double): New.
14018 (const_int_htab_hash, const_int_htab_eq): Remove const
14019 qualifiers, which cause tons of warnings with RTL checking on.
14020 (gen_rtx_CONST_DOUBLE): Deleted.
14021 (const_double_from_real_value): New function - bears some
14022 resemblance to the former immed_real_const_1.
14023 (immed_double_const): Moved here from varasm.c and
14024 simplified.
14025 (gen_rtx_REG): Make REGNO unsigned to squelch warnings.
14026 (gen_rtx_SUBREG): Use gen_rtx_raw_SUBREG.
14027 (gen_rtx): Use immed_double_const.
14028 (init_emit_once): Initialize the const_double_htab. Use
14029 REAL_VALUE_FROM_INT where possible. Can now use
14030 CONST_DOUBLE_FROM_REAL_VALUE when setting up const_tiny_rtx.
14031 * varasm.c (struct varasm_status): Remove x_const_double_chain.
14032 (const_double_chain, immed_real_const, clear_const_double_mem): Delete.
14033 (immed_double_const, immed_real_const_1): Moved to emit-rtl.c.
14034 (init_varasm_status, mark_varasm_status): Don't touch
14035 x_const_double_chain.
14036
14037 * output.h: Delete prototype for clear_const_double_mem.
14038 * real.h: Make REAL_VALUE_TYPE a macro again. Remove leading
14039 '0' slot from all CONST_DOUBLE_FORMAT definitions. Prototype
14040 const_double_from_real_value, not immed_real_const_1, and use
14041 it to define CONST_DOUBLE_FROM_REAL_VALUE. Define new macro
14042 CONST_DOUBLE_ATOF.
14043 * rtl.h (CONST_DOUBLE_CHAIN): Kill.
14044 (CONST_DOUBLE_LOW, CONST_DOUBLE_HIGH): Adjust.
14045 (gen_rtx_CONST_DOUBLE, immed_real_const): Delete prototypes.
14046 (gen_rtx_REG): Second arg is unsigned.
14047
14048 * gengenrtl.c (special_rtx): Take out CONST_DOUBLE.
14049 (excluded_rtx): New, return true for CONST_DOUBLE.
14050 (genmacro): Write nothing for excluded codes.
14051 * combine.c (combine_simplify_rtx): Use CONST_DOUBLE_FROM_REAL_VALUE.
14052 * expr.c (expand_expr): Likewise.
14053 * ggc-common.c (ggc_mark_rtx_children_1): Don't mark the
14054 CONST_DOUBLE_CHAIN.
14055 * toplev.c (rest_of_compilation): Don't call
14056 clear_const_double_mem.
14057
14058 * config/rs6000/rs6000.c (rs6000_float_const): Delete.
14059 (rs6000_hash_constant): Remove CONST_DOUBLE special case.
14060 (toc_hash_eq): Remove CONST_DOUBLE and LABEL_REF special cases.
14061 * config/rs6000/rs6000-protos.h: Don't prototype rs6000_float_const.
14062 * config/c4x/c4x.md, config/rs6000/rs6000.md: Use CONST_DOUBLE_ATOF.
14063 * config/dsp16xx/dsp16xx.md, config/mips/mips.md,
14064 config/pa/pa.md: Use CONST_DOUBLE_FROM_REAL_VALUE.
14065 * config/sparc/sparc.md, config/sparc/sparc.c: Use immed_double_const.
14066
31397a7b
KG
140672002-05-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14068
14069 * mips/iris6.h (CPLUSPLUS_CPP_SPEC): Define.
14070
1b70d38a
TT
140712002-05-12 Tom Tromey <tromey@redhat.com>
14072
14073 * tree.h (copy_node): Don't mention TREE_PERMANENT.
14074
9a5834ae
ZW
140752002-05-12 Zack Weinberg <zack@codesourcery.com>
14076
14077 * gensupport.c (n_comma_elts): Moved here from genattrtab.c.
14078 (scan_comma_elt): New function. Accepts whitespace in comma lists.
14079 * gensupport.h: Prototype new routines.
14080 * genattr.c (gen_attr): Use scan_comma_elt. Avoid unnecessary
14081 use of printf.
14082 * genattrtab.c (n_comma_elts): Moved to gensupport.c.
14083 (next_comma_elt): Use scan_comma_elt.
14084
14085 * config/i386/i386.md: Use new attribute notation to break up
14086 long lines in define_attr forms.
14087
51286de6
RH
140882002-05-12 Richard Henderson <rth@redhat.com>
14089
14090 * expr.c (compress_float_constant): New.
14091 (emit_move_insn): Use it.
14092 (float_extend_from_mem): New.
14093 (init_expr_once): Initialize it.
14094 * real.c (exact_real_truncate): New.
14095
14096 * config/i386/i386.h (CONST_COSTS): Assume CONST_DOUBLE gets
14097 dropped into memory; penalize for size.
14098 (RTX_COSTS): FLOAT_EXTEND is free.
14099 * config/i386/i386.md (extendsfdf2, extendsfxf2, extendsftf2,
14100 extenddfxf2, extenddftf2): Accept constants and drop them to memory.
14101
6412341e
RH
141022002-05-12 Richard Henderson <rth@redhat.com>
14103
14104 * profile.h (profile_info): Add missing extern to declaration.
14105 * profile.c (profile_info): Define it.
14106
12877f09
JDA
141072002-05-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
14108
14109 * pa/pa32-regs.h (HARD_REGNO_MODE_OK): Revise sets of general registers
14110 used for DImode and TImode.
14111
387f9e32
NB
141122002-05-11 Neil Booth <neil@daikokuya.demon.co.uk>
14113
14114 * cpplex.c (_cpp_lex_direct): When in a directive at EOF
14115 fake a newline.
14116
e1a0f69c
ZW
141172002-05-11 Zack Weinberg <zack@codesourcery.com>
14118
14119 * config/rs6000/rs6000.c (rs6000_default_long_calls,
14120 rs6000_longcall_switch, rs6000_set_default_type_attributes): New.
14121 (TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Set it.
14122 (rs6000_override_options): Handle -m(no-)longcall.
14123 (init_cumulative_args, output_mi_thunk): Check for both
14124 longcall and shortcall attributes on the function.
14125 (rs6000_attribute_table): Add "shortcall".
14126 (rs6000_handle_longcall_attribute): Update comment.
14127 (altivec_expand_unop_builtin, altivec_expand_binop_builtin,
14128 altivec_expand_ternop_builtin): Add default clauses to switches
14129 to silence warnings.
14130
14131 * config/rs6000/rs6000.h: Declare rs6000_longcall_switch and
14132 rs6000_default_long_calls. Define REGISTER_TARGET_PRAGMAS.
14133 (TARGET_OPTIONS): Add longcall and no-longcall.
14134
14135 * config/rs6000/rs6000.md (call_nonlocal_sysv,
14136 call_value_nonlocal_sysv): Split by alternatives. One pair
14137 accepts only SYMBOL_REFs and rejects if CALL_LONG is set in
14138 the call cookie. The other pair accepts only LR/CTR and has
14139 no restriction.
14140
14141 * config.gcc (rs6000-*-* | powerpc*-*-* trailer stanza):
14142 Set c_target_objs, cxx_target_objs; add t-rs6000-c-rule to
14143 tmake_file.
14144 * config/rs6000/rs6000-c.c: New file.
14145 * config/rs6000/t-rs6000-c-rule: New file.
14146 * config/rs6000/rs6000-protos.c: Add multiple-include guard.
14147 Prototype rs6000_pragma_longcall.
14148
14149 * doc/extend.texi: Document shortcall attribute.
14150 * doc/invoke.texi: Document -mlongcall, -mno-longcall.
14151
9c64026d
JDA
141522002-05-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
14153
14154 * reorg.c (dbr_schedule): Remove unnecessary test.
14155
6c81a490
JH
14156Sat May 11 14:34:35 CEST 2002 Jan Hubicka <jh@suse.cz>
14157
14158 * i386.md (testsi to testqi spliters): New.
14159
14160 2002-01-14 Josef Zlomek <zlomek@matfyz.cz>
14161
14162 cfg.c (dump_edge_info): added dumping of EDGE_CAN_FALLTHRU.
14163
14164 Wed Jan 9 2002 Josef Zlomek <zlomj9am@artax.karlin.mff.cuni.cz>
14165
14166 * basic-block.h: New flag EDGE_CAN_FALLTHRU
14167 * cfganal.c (set_edge_can_fallthru_flag): New function; marks the edges
14168 that can be made fallthru.
14169
14170 Mon Nov 12 16:25:53 CET 2001 Jan Hubicka <jh@suse.cz>
14171
14172 * cfglayout.c (cleanup_unconditional_jumps): New static function.
14173 (cfg_layout_initialize): Use it.
4c476cf3 14174
e4447d94
MM
141752002-05-11 Marek Michalkiewicz <marekm@amelek.gda.pl>
14176
14177 * config/avr/avr.c (avr_mcu_types): Update supported devices.
14178 * config/avr/avr.h (CPP_SPEC, LINK_SPEC, CRT_BINUTILS_SPECS): Likewise.
14179 * config/avr/t-avr (MULTILIB_MATCHES): Likewise.
14180
3a538a66
KH
141812002-05-11 Kazu Hirata <kazu@cs.umass.edu>
14182
14183 * dbxout.c: Fix formatting.
14184 * dependence.c: Likewise.
14185 * df.c: Likewise.
14186 * diagnostic.c: Likewise.
14187 * doloop.c: Likewise.
14188 * dominance.c: Likewise.
14189 * doschk.c: Likewise.
14190 * dwarf2asm.c: Likewise.
14191 * dwarf2out.c: Likewise.
14192 * dwarfout.c: Likewise.
14193
2292e8fc
RH
141942002-05-10 Richard Henderson <rth@redhat.com>
14195
14196 * final.c (end_final): Tidy whitespace. Don't honor flag_pack_struct.
14197 Convert integers constants as needed. Replace "nwords" field with
14198 "sizeof_bb".
14199 (final): Save profile data if cfun->arc_profile, not profile_arc_flag.
14200 * function.h: Fix typo in comment.
14201 * libgcc2.c (struct bb): Replace "nwords" with "sizeof_bb".
14202
dbfb1116
RS
142032002-05-10 Roger Sayle <roger@eyesopen.com>
14204
14205 * fold-const.c (build_range_check): Optimize (c>=1) && (c<=127)
14206 into the equivalent (signed char)c > 0.
14207
79a497cd
JJ
142082002-05-10 Janis Johnson <janis187@us.ibm.com>
14209
14210 * loop.c: (PREFETCH_EXTREME_DIFFERENCE, PREFETCH_BEFORE_LOOP): New.
14211 (PREFETCH_CONDITIONAL): Renamed from PREFETCH_NOT_ALWAYS.
14212 (struct prefetch_info): Fix spelling of member bytes_accessed.
14213 (emit_prefetch_instructions): Make dump messages more regular;
14214 restructure code to add more dump messages; use new macros for
14215 heuristics. (There are no code generation changes in any of this).
14216
6c45cb0d
DM
142172002-05-10 David S. Miller <davem@redhat.com>
14218
7440af14
DM
14219 * rtl.h (INSN_ANNULLED_BRANCH_P): Accept INSN too, update comment.
14220 (struct rtx_def): Update unchanging flag comment.
14221 * doc/rtl.texi (INSN_ANNULLED_BRANCH_P): Update description.
14222 * reorg.c (delete_from_delay_list): INSN_ANNULLED_BRANCH_P needs
14223 to be handled to INSN too.
14224 (dbr_schedule): Likewise.
14225 * resource.c (next_insn_no_annul): Likewise.
14226
6c45cb0d
DM
14227 * cse.c (rtx_cost): Remove multiplication by power of 2 special
14228 casing.
14229
29f21e4f
GP
142302002-05-14 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
14231
14232 * doc/install.texi (Specific, *-*-solaris2*): Update passus on
14233 setting CONFIG_SHELL to /bin/ksh and remove alternate trick to
14234 (possibly) work around broken /bin/sh.
14235
e4ba88da
RO
142362002-05-10 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
14237
14238 * config/mips/t-iris6 (SHLIB_SLIBDIR_SUFFIXES): Use mabi=64 and
14239 . as N64/N32 libgcc_s.so subdirs.
14240
4f4778ee
DM
142412002-05-10 David S. Miller <davem@redhat.com>
14242
14243 * config/sparc/sparc.md: Use define_constants for unspec numbers.
cf40ea15
DM
14244
14245 * rtl.h (struct rtx_def): Document unchanging and in_struct flags
14246 more accurately.
14247 (INSN_ANNULLED_BRANCH_P): Only valid for JUMP_INSN and CALL_INSN, fix
14248 comment.
14249 (INSN_FROM_TARGET_P): Valid also for CALL_INSN.
14250 * doc/rtl.texi: Document these macros more accurately.
14251 * recog.c (whole file): Only mess with INSN_ANNULLED_BRANCH_P for
14252 JUMP_INSNs and CALL_INSNs.
14253 * resource.c (whole file): Only mess with INSN_ANNULLED_BRANCH_P
14254 or INSN_FROM_TARGET_P if the code is appropriate.
14255
1a499b92
MM
142562002-05-10 Marek Michalkiewicz <marekm@amelek.gda.pl>
14257
14258 * config/avr/avr.c (print_operand): Check that addr is a SYMBOL_REF
14259 before using SYMBOL_REF_FLAG (addr).
14260
14261 * config/avr/avr-protos.h (avr_io_address_p): Declare.
14262 * config/avr/avr.c (io_address_p): Rename to avr_io_address_p.
14263 Make non-static. Update all callers.
14264 * config/avr/avr.md (*cbi, *sbi, *sbix_branch, *sbix_branch_bit7):
14265 New insns to clear/set/test a single bit in I/O address space.
14266
65212b66
KG
142672002-05-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14268
14269 * rtl.h (ENABLE_RTL_FLAG_CHECKING): Also check for gcc >= 2.7.
14270
3df89291
NB
142712002-05-09 Neil Booth <neil@daikokuya.demon.co.uk>
14272
14273 * Makefile.in: Update.
14274 * c-common.c (flag_iso, flag_undef, cb_register_builtins,
14275 builtin_define_std): New.
14276 (c_common_init): Register CPP builtins callback.
14277 * c-common.h (flag_iso, flag_undef): New.
14278 * c-decl.c (c_decode_option): Set flag_iso and flag_undef.
14279 * c-lex.c: Don't include target.h.
14280 (cb_register_builtins): Move to c-common.c.
14281 (init_c_lex): Don't register hook here.
14282 * c-lex.h (builtin_define, builtin_assert, builtin_define_std): New.
14283 (cpp_define, cpp_assert): Remove.
14284 * gcc.c (cc1_options): Pass -undef to front end.
14285 * target-def.h (TARGET_REGISTER_CPP_BUILTINS): Remove.
14286 (TARGET_INITIALIZER): Update.
14287 * target.h (struct cpp_reader): Don't predeclare.
14288 (struct gcc_target): Remove cpp builtin hook.
14289 * tree.c (default_register_cpp_builtins): Remove.
14290doc:
14291 * tm.texi: Update.
14292
32fa4565
NB
142932002-05-09 Neil Booth <neil@daikokuya.demon.co.uk>
14294
14295 * cppexp.c (_cpp_expand_op_stack): Set op_limit.
14296
23357c55
RO
142972002-05-09 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
14298
14299 * config/mips/t-iris6 (SHLIB_SLIBDIR_SUFFIXES): Define.
14300 (SHLIB_LINK, SHLIB_INSTALL): Adjust.
14301
5aa26af0
JJ
143022002-05-09 Jakub Jelinek <jakub@redhat.com>
14303
14304 * config/sparc/t-linux64 (SHLIB_MAPFILES): Set.
14305 * config/sparc/libgcc-sparc-glibc.ver: New file.
14306 * config/cris/t-linux (SHLIB_MAPFILES): Remove.
14307 * mklibgcc.in: Preprocess SHLIB_MAPFILES with ml flags.
14308
2937267b
JJ
143092002-05-09 Jakub Jelinek <jakub@redhat.com>
14310
14311 PR target/6429
14312 * Makefile.in (libgcc.mk): Pass SHLIB_SLIBDIR_SUFFIXES to mklibgcc.
14313 * mklibgcc.in: If SHLIB_SLIBDIR_SUFFIXES is defined, put libgcc_s
14314 shared libraries into multilib dirs, with SONAME libgcc_s.so.1 for
14315 base multilibs.
14316 * config/t-slibgcc-elf-ver (SHLIB_LINK): Adjust for the above.
14317 * config/t-slibgcc-sld (SHLIB_LINK): Likewise.
14318 * config/sparc/t-linux64 (SHLIB_SLIBDIR_SUFFIXES): Define.
14319 * config/sparc/t-sol2-64 (SHLIB_SLIBDIR_SUFFIXES): Define.
14320
086c0f96
RH
143212002-05-09 Richard Henderson <rth@redhat.com>
14322
14323 * config/ia64/ia64.md: Use define_constants for unspec numbers.
14324 * config/ia64/ia64.c: Likewise.
14325
a8b4881f
RS
143262002-05-09 Richard Sandiford <rsandifo@redhat.com>
14327
14328 * config/mips/mips.c (mips_add_large_offset_to_sp): Remove FILE arg.
14329 (save_restore_insns): Likewise.
14330 (mips_expand_prologue, mips_expand_epilogue): Update callers.
14331 (highpart_shift_operator): Attach ATTRIBUTE_UNUSED to mode argument.
14332
243e5500 14333Thu May 9 11:50:09 2002 Jeffrey A Law (law@redhat.com)
890d52e8 14334
af2728a4
JL
14335 * athlon.md, k6.md, pentium.md, ppro.md): New files.
14336 * i386.md: Move scheduling information into new files.
14337
890d52e8
JL
14338 * i386.md (type attribute): Add "rotate" for rotate insns.
14339 (rotate insns): Set type to "rotate".
14340 (various attributes and function units): Treat rotate like shift.
14341 (pent_pair attribute): Only rotates by one bit position are
14342 pairable.
14343 (sbb insns): Explicitly set pent_pair attribute on a couple
14344 that were missing it.
14345
f78ec36a
R
14346Thu May 9 18:29:24 2002 J"orn Rennecke <joern.rennecke@superh.com>
14347
14348 * sh.c (sh_builtin_saveregs): If starting with an odd fp register,
14349 make sure that buffer starts on odd word address.
14350 (sh_va_arg): Skip odd fp registers when reading a double precision
14351 value.
14352
ff431459
NB
143532002-05-09 Neil Booth <neil@daikokuya.demon.co.uk>
14354
14355 * tree.h (preserve_data, object_permanent_p, type_precision):
14356 Remove.
14357
c3bf3e6e
NB
143582002-05-09 Neil Booth <neil@daikokuya.demon.co.uk>
14359
14360 * cpplib.c (cpp_init_internal_pragmas): Remove #pragma poison.
14361 * cppmacro.c (paste_all_tokens): Bad pastes are a hard error.
14362doc:
14363 * cpp.texi: Update for removal of obsolete features.
14364
02263a8a
JH
14365Thu May 9 07:46:18 2002 Jan Hubicka <jh@suse.cz>
14366 Jeffrey A Law (law@redhat.com)
14367
14368 * i386.c (ia32_use_dfa_pipeline_interface): New function. Use
14369 the DFA interface for Pentium processors.
14370 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): DEFINE.
14371 (attr_pent_pair, ix86_pent_find_pair): Remove.
14372 (ix86_sched_reorder_pentium): Remove.
14373 (ix86_sched_reorder): Remove reordering for Pentium.
14374 * i386.md (Pentium scheduling): Rewrite using DFA description.
14375
3e638a90
JH
14376Thu May 9 14:55:39 CEST 2002 Jan Hubicka <jh@suse.cz>
14377
14378 * cfganal.c (can_fallthru): Fix fast path.
14379 * cfgrtl.c (verify_flow_info): Avoid crash on conditionals
14380 with edges to the next block.
14381
b7c9bf28
JH
14382Thu May 9 14:52:45 CEST 2002 Jan Hubicka <jh@suse.cz>
14383 Pavel Nejedly <bim@atrey.karlin.mff.cuni.cz>
14384
14385 * final.c (end_final): Use C trees to output data structures for profiling.
14386
14387 * Makefile.in (LIBGCC_DEPS): Added missing dependency on gcov-io.h
5692c7bc
ZW
14388 (profile.o): New dependency profile.h
14389 (final.o): New dependency profile.h
14390 * profile.h: New file. New global structure profile_info.
14391 * final.h (count_edges_instrumented_now): Declare.
14392 (current_function_cfg_checksum): Declare.
14393 (function_list): New structure.
14394 (functions_head, functions_tail): New static variables.
14395 (end_final): Emits more data, removed some -ax stuff.
14396 (final): Stores function names and chcksums.
14397 * gcov-io.h (__write_gcov_string): New function.
14398 (__read_gcov_string): New function.
14399 * gcov.c (read_profile): New function.
14400 (create_program_flow_graph): Uses read_profile instead of reading
b7c9bf28 14401 da_file.
5692c7bc
ZW
14402 (read_files): Removed da_file checking, it's done by read_profile now.
14403 * libgcc2.c (bb_function_info): New structure.
14404 (bb): New field in structure, removed some -ax stuff.
14405 (__bb_exit_func): Changed structure of da_file.
14406 * profile.c (count_edges_instrumented_now): New global variable.
14407 (current_function_cfg_checksum): New global variable.
14408 (max_counter_in_program): New global variable.
14409 (get_exec_counts): New function.
14410 (compute_checksum): New function.
14411 (instrument_edges): Sets count_edges_instrumented_now.
14412 (compute_branch_probabilities): Uses get_exec_counts instead of
b7c9bf28 14413 reading da_file.
5692c7bc
ZW
14414 (branch_prob): Calls compute_checksum and writes extra data to bbg_file.
14415 (init_branch_prob): Removed da_file checking, done in get_exec_counts
b7c9bf28 14416 now.
5692c7bc 14417 (end_branch_prob): Removed da_file checking, done in get_exec_counts
b7c9bf28 14418 now.
5692c7bc 14419 * gcov.texi: Updated information about gcov file format.
b7c9bf28 14420
786de7eb
KH
144212002-05-09 Kazu Hirata <kazu@cs.umass.edu>
14422
14423 * sbitmap.c: Fix formatting.
14424 * scan.c: Likewise.
14425 * scan-decls.c: Likewise.
14426 * sched-deps.c: Likewise.
14427 * sched-ebb.c: Likewise.
14428 * sched-rgn.c: Likewise.
14429 * sched-vis.c: Likewise.
14430 * sdbout.c: Likewise.
14431 * sibcall.c: Likewise.
14432 * simplify-rtx.c: Likewise.
14433 * ssa.c: Likewise.
14434 * ssa-ccp.c: Likewise.
14435 * ssa-dce.c: Likewise.
14436 * stmt.c: Likewise.
14437 * stor-layout.c: Likewise.
14438 * stringpool.c: Likewise.
14439
b7764693
DM
144402002-05-09 David S. Miller <davem@redhat.com>
14441
14442 * config/sparc/sol2.h (ASM_CPU_SPEC): Handle -mcpu=v9.
14443
4e7d5d27
DM
144442002-05-07 David S. Miller <davem@redhat.com>
14445
14446 * config/sparc/sparc.h (TARGET_BUGGY_QP_LIB): Define to zero.
14447 * config/sparc/sol2.h (TARGET_BUGGY_QP_LIB): Override to one.
14448 * config/sparc/sparc.c (emit_soft_tfmode_libcall): If the Qp
14449 library implementation clobbers the output before the inputs
14450 are fully consumed, use stack temporary for the output.
14451
f979570e
JT
144522002-05-09 Jason Thorpe <thorpej@wasabisystems.com>
14453
14454 * config/netbsd.h (CPP_SPEC): Remove.
14455 * config/i386/netbsd-elf.h (CPP_SPEC): Define.
14456 * config/i386/netbsd.h (CPP_SPEC): Define.
14457 * config/ns32k/netbsd.h (CPP_SPEC): Define.
14458 * config/sparc/netbsd-elf.h (CPP_SPEC): Remove.
14459 * config/sparc/netbsd.h (CPP_SPEC): Define.
14460 * config/vax/netbsd.h (CPP_SPEC): Define.
14461
a6a2274a
KH
144622002-05-08 Kazu Hirata <kazu@cs.umass.edu>
14463
14464 * read-rtl.c: Fix formatting.
14465 * real.c: Likewise.
14466 * recog.c: Likewise.
14467 * regclass.c: Likewise.
14468 * regmove.c: Likewise.
14469 * reg-stack.c: Likewise.
14470 * reload1.c: Likewise.
14471 * reload.c: Likewise.
14472 * resource.c: Likewise.
14473 * rtlanal.c: Likewise.
14474 * rtl.c: Likewise.
14475 * rtl-error.c: Likewise.
14476
461b48d5
JDA
144772002-05-08 John David Anglin <dave@hiauly1.hia.nrc.ca>
14478
14479 * pa/pa-64.h (MAX_WCHAR_TYPE_SIZE): Delete.
14480 * pa/pa.h (MAX_WCHAR_TYPE_SIZE): Delete.
14481
95d075ff
BS
144822002-05-08 Bernd Schmidt <bernds@redhat.com>
14483
14484 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Tweak previous change to
14485 use __SSE2__ macro instead.
14486 * config/i386/xmmintrin.h: Likewise.
14487
2d4cc6a7
JJ
144882002-05-08 Janis Johnson <janis187@us.ibm.com>
14489
14490 * rtl.h (RTL_FLAG_CHECK*): Add an argument for the macro name,
14491 and use it in all invocations of these macros. Clean up comments.
14492 * rtl.c (rtl_check_failed_flag): Add an argument for the name
14493 of the flag access macro whose check failed.
14494 * doc/rtl.texi (Flags): Document additional flag uses.
14495
3f8ffc7c
RS
144962002-05-08 Robert Spier <rspier@pobox.com>
14497 Neil Booth <neil@daikokuya.demon.co.uk>
14498
14499 PR preprocessor/6521
14500 * cppfiles.c (handle_missing_header): Don't do anything
14501 different for <> includes.
14502doc:
14503 * cppopts.texi: Update documentation for -MG.
14504
b9e2d17b
NB
145052002-05-08 Neil Booth <neil@daikokuya.demon.co.uk>
14506
14507 * cpplex.c (cpp_interpret_charconst): Truncate as well as
14508 sign-extend.
14509doc:
14510 * cpp.texi: Clarify multichar charconst valuation.
14511
8d8269fa
MM
145122002-05-08 Mark Mitchell <mark@codesourcery.com>
14513
14514 * doc/invoke.texi: Document -mwindiss option.
14515
29b91443
JM
145162002-05-08 Jason Merrill <jason@redhat.com>
14517
14518 * dwarf2out.c (output_call_frame_info): Don't emit a CIE with no FDEs.
14519
14520 * dwarf2out.c (gen_type_die): Abort on broken recursion.
14521
14522 PR c++/6381
14523 * dwarf2out.c (rtl_for_decl_location): Only expand INTEGER_CST and
14524 REAL_CST.
14525
6c76b950
NC
145262002-05-08 Nick Clifton <nickc@cambridge.redhat.com>
14527
14528 * config/arm/t-arm-elf (MULTILIB): Do not allow big-endian/
14529 little-endian multilibs to override arm/thumb multilibs.
a5c76ee6 14530 Do not build hardware floating point multilibs, nor apcs-26
6c76b950
NC
14531 multilibs for the Thumb.
14532
f90bf7ca
MM
145332002-05-08 Mark Mitchell <mark@codesourcery.com>
14534
14535 PR c/6569.
14536 * varasm.c (mark_weak): New function.
14537 (merge_weak): Use it. Do not call declare_weak.
14538 (declare_weak): Use merge_weak.
14539
1e150f2c
JH
14540Wed May 8 13:12:11 CEST 2002 Jan Hubicka <jh@suse.cz>
14541
14542 * cse.c (dead_libcall_p): Update counts.
14543 (delete_trivially_dead_insns): Update call of dead_libcall_p.
14544
969d70ca
JH
14545Wed May 8 11:08:50 CEST 2002 Jan Hubicka <jh@suse.cz>
14546
14547 * cfglayout.c (function_tail_eff_head): Rename to ...
14548 (function_footer): ... this one.
14549 (unlink_insn_chain): New functions.
14550 (label_for_bb): Only call block_label and emit debug message.
14551 (record_effective_endpoints): Actually unlink the headers and footers.
14552 (fixup_reorder_cahin): Re-insert the unlinked sequences.
14553 (cfg_layout_duplicate_bb): Use duplicate_insn_chain.
14554 * cfglayout.h (struct reorder_block_def): New fields footer/header;
14555 remove eff_head/eff_end.
14556 * rtl.h (set_first_insn): Declare.
14557 * emit-rtl.c (set_first_insn): New function.
14558
14559 * cfglayout.c (fixup_reorder_chain): Dump duplicated
14560 (cfg_layout_can_duplicate_bb_p, cfg_layout_rerirect_edge,
14561 cfg_layout_duplicate_bb): New global function.
14562 (duplicate_insn_chain): New static function.
14563 * cfglayout.h (cfg_layout_can_duplicate_bb_p, cfg_layout_rerirect_edge,
14564 cfg_layout_duplicate_bb): Declare.
14565 (struct reorder_block_def): Add "original" field.
14566 * emit-rtl.c (emit_copy_of_insn_after): New function.
14567 * rtl.h (emit_copy_of_insn_after): Declare.
14568
14569 * cfglayout.c (fixup_fallthru_exit_predecessor): Kill.
14570 (fixup_reorder_chain): properly handle edges to exit block.
14571
14572Wed May 8 11:10:31 CEST 2002 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
14573 Jan Hubicka <jh@suse.cz>
14574
14575 * basic-block.h (note_prediction_to_br_prob): declare.
14576 * c-semantics.c: Inlucde predit.h
14577 (expand_stmt): predict GOTO_STMT as not taken.
14578 * cfgcleanup.c: (delete_unreachable_blocks): Make global.
14579 (cleanup_cfg): Do not free tail_recursion_list.
14580 * cfgrtl.c (can_delete_note_p): Delete NOTE_INSN_PREDICTION.
14581 (flow_delete_block): Kill predictions past end of basic block.
14582 * output.h (delete_unreachable_blocks): Declare.
14583 * predict.c (predicted_by_p, process_note_predictions,
14584 process_note_prediction, last_block_p): New function.
14585 (estimate_probability): Bypass loop on PRED_CONTINUE;
14586 do not handle noreturn heuristics; kill PRED_RETURN; add
14587 PRED_EARLY_RETURN.
14588 * predict.def (PRED_CONTINUE, PRED_EARLY_RETURN, PRED_GOTO,
14589 PRED_CONST_RETURN, PRED_NEGATIVE_RETURN, PRED_NULL_RETURN): New.
14590 * predict.h (IS_TAKEN): New constant.
14591 * print-rtl.c (print_rtx): Pretty print NOTE_INSN_PREDICTION.
14592 * rtl.c (NOTE_INSN_PREDICTION): New.
14593 * rtl.h (NOTE_PREDICTION, NOTE_PREDICTION_ALG, NOTE_PREDICTION_FLAGS):
14594 New macro.
14595 (insn_note): add NOTE_INSN_PREDICTION.
14596 * sibcall.c (optimize_sibling_and_tail_recursive_call): Do not build
14597 CFG; free tail_recursion_label_list.
14598 * stmt.c: Include predict.h;
14599 (return_prediction): New.
14600 (expand_value_return): Use it.
14601 * toplev.c: Lower NOTE_INSN_PREDICTION before sibcall.
14602
41f8d041
RS
146032002-05-08 Richard Sandiford <rsandifo@redhat.com>
14604
14605 * config/mips/mips.md: Name the unspecs with define_constant.
14606 (*HILO_delay): Rename to 'hilo_delay' (no star).
14607 (reload_indi): Replace gen_rtx_UNSPEC with gen_hilo_delay.
14608 (reload_outdi, reload_outsi): Likewise.
14609
9cabb1d8
KH
146102002-05-07 Kazu Hirata <kazu@cs.umass.edu>
14611
14612 * toplev.c: Fix formatting.
14613
4c76f856
JJ
146142002-05-07 Janis Johnson <janis187@us.ibm.com>
14615
14616 * config.in (ENABLE_RTL_FLAG_CHECKING): New.
14617 * configure.in (ac_rtlflag_checking): New.
14618 * doc/install.texi (--enable-checking): Document RTL flag checking.
14619
44a147ad
NB
146202002-05-07 Neil Booth <neil@daikokuya.demon.co.uk>
14621
14622 * c-common.c (c_common_init): Set options->unsigned_wchar.
14623 * cppinit.c (cpp_create_reader): Default unsigned_wchar,
14624 group target dependencies.
14625 (init_builtins, cpp_handle_option): Update.
14626 * cpplex.c (cpp_interpret_charconst): Update.
14627 * cpplib.h (struct cpp_options): Add unsigned_wchar, rename
14628 signed_char to unsigned_char, group target dependencies.
14629 * defaults.h (WCHAR_UNSIGNED): Remove.
14630 * system.h (WCHAR_UNSIGNED, MAX_CHAR_TYPE_SIZE): Poison.
14631config:
14632 * freebsd.h, interix.h, alpha/freebsd.h, arm/freebsd.h,
14633 i386/386bsd.h, i386/beos-elf.h, i386/bsd386.h, i386/cygwin.h,
14634 i386/djgpp.h, i386/freebsd-aout.h, i386/i386-interix.h,
14635 i386/win32.h, ia64/freebsd.h, mips/netbsd.h, rs6000/freebsd.h,
14636 sh/elf.h, sh/sh.h, sparc/freebsd.h: Remove WCHAR_UNSIGNED.
14637doc:
14638 * tm.texi: Remove MAX_CHAR_TYPE_SIZE.
14639
cace4f93
MM
146402002-05-07 Mark Mitchell <mark@codesourcery.com>
14641
14642 * fixinc/inclhack.def (windiss_math1): New fix.
14643 (windiss_math2): Likewise.
14644 (windiss_valist): Likewise.
14645 * fixinc/fixincl.x: Regenerated.
14646
e2ff6cee
AJ
146472002-05-07 Andreas Jaeger <aj@suse.de>
14648
14649 * genautomata.c (output_internal_min_issue_delay_func): Add
14650 ATTRIBUTE_UNUSED to avoid warning with empty dfa.
14651 (output_internal_trans_func): Likewise.
14652
bdad4be5
JL
14653Tue May 7 10:06:22 2002 Jeffrey A Law (law@redhat.com)
14654
14655 * pa.c (hppa_profile_hook): Use force_reg to get the address
14656 of the profile hook into an appropriate pseudo register.
14657
a1ffecd9
MM
146582002-05-07 Mark Mitchell <mark@codesourcery.com>
14659
14660 * config/rs6000/sysv4.h (SUBTARGET_SWITCHES): Add -mwindiss.
14661 (LINK_START_SPEC): Handle it.
14662 (LINK_OS_SPEC): Likewise.
14663 (CPP_SPEC): Likewise.
14664 (STARTFILE_SPEC): Likewise.
14665 (LIB_SPEC): Likewise.
14666 (ENDFILE_SPEC): Likewise. Do not assume crtsavres.o is used on
14667 all platforms.
14668 (CRTSAVRES_DEFAULT_SPEC): New macro.
14669 (LIB_WINDISS_SPEC): New macro.
14670 (CPP_OS_WINDISS_SPEC): Likewise.
14671 (STARTFILE_WINDISS_SPEC): Likewise.
14672 (ENDFILE_WINDISS_SPEC): Likewise.
14673 (LINK_START_WINDISS_SPEC): Likewise.
14674 (LINK_OS_WINDISS_SPEC): Likewise.
14675 * config/rs6000/windiss.h: New file.
e2ff6cee 14676
df966bff
AH
146772002-05-07 Aldy Hernandez <aldyh@redhat.com>
14678
a5c76ee6 14679 * config/rs6000/rs6000.c (bdesc_2arg): Fix vmax typos.
df966bff 14680
db84f1bd
DM
146812002-05-06 David S. Miller <davem@redhat.com>
14682
14683 * config/sparc/sparc.md (shift insns): Do not mask off
14684 second operand, 'I' constraint and SHIFT_COUNT_TRUNCATED
14685 take care of it.
14686
818c0c94
RH
146872002-05-06 Richard Henderson <rth@redhat.com>
14688
14689 PR c++/6212
14690 * expr.c (highest_pow2_factor_for_type): New.
14691 (expand_assignment): Use it.
14692
61e0b50f
AH
146932002-05-06 Aldy Hernandez <aldyh@redhat.com>
14694
818c0c94
RH
14695 * config/rs6000/rs6000.md ("altivec_mtvscr"): Change to
14696 unspec_volatile.
14697 ("altivec_mfvscr"): Same.
61e0b50f 14698
5a63e069
JJ
146992002-05-06 Janis Johnson <janis187@us.ibm.com>
14700
14701 * rtl.h (struct rtx_def): Update comments.
14702 (RTL_FLAG_CHECK[12345678]): New. (rtl_check_failed_flag): Declare.
14703 (RTL_FLAG): New. (CLEAR_RTX_FLAGS): New. (flag access macros): Use
14704 RTL_FLAG_CHECK macros with list of expected RTL codes.
14705 * rtl.c (copy_rtx, shallow_copy_rtx): Use RTX_FLAG macro.
14706 (rtl_check_failed_flag): New.
14707 * reload1.c (reload): Use REG macro before changing rtx to MEM.
14708 (reload_cse_noop_set_p): Check rtx code before using access macro.
14709 * config/ia64/ia64.c (process_for_unwind_directive): Check rtx code
14710 before using access macro.
14711
4afe3952
JJ
147122002-05-06 Janis Johnson <janis187@us.ibm.com>
14713
14714 * doc/rtl.texi (Flags): Update to reflect current usage.
14715
1f77b5da
RS
147162002-05-06 Roger Sayle <roger@eyesopen.com>
14717
14718 PR opt/3995
14719 * fold-const.c (sign_bit_p): New function.
14720 (fold) [EQ_EXPR]: Use this to convert (A & C) == 0 into A >= 0 and
818c0c94 14721 (A & C) != 0 into A < 0, when constant C is the sign bit of A's type.
1f77b5da
RS
14722 Reapply fold when converting (A & C) == C into (A & C) != 0.
14723 (fold_binary_op_with_conditional_arg): Fix typo in comment.
14724
a5a49440
NB
147252002-05-07 Neil Booth <neil@daikokuya.demon.co.uk>
14726
14727 * c-common.c (warn_multichar): New.
14728 (c_common_init): Set CPP's warn_multichar.
14729 * c-common.h (warn_multichar): New.
14730 * c-decl.c (warn_multichar): Remove.
14731 * c-lex.c (lex_charconst): Update.
14732 * c-tree.h (warn_multichar): Remove.
14733 * cppexp.c (eval_token): Sign-extend charconst value.
14734 * cppinit.c (cpp_create_reader): Set warn_multichar.
14735 * cpplex.c (cpp_interpret_charconst): Don't sign-extend
14736 each character. Update prototype. Sign-extend the result.
14737 * cpplib.h: Fix conditions.
14738 (struct cpp_options): Add new warning flag.
14739 (cpp_interpret_charconst): Update prototype.
14740doc:
14741 * cpp.texi: Update documentation.
14742
83e0be55
VM
147432002-05-06 Vladimir Makarov <vmakarov@redhat.com>
14744
14745 * genautomata.c (form_the_same_automaton_unit_lists_from_regexp):
14746 Fix typo in usage of allof instead of unit.
14747
688ec718
RH
147482002-05-06 Richard Henderson <rth@redhat.com>
14749
14750 * recog.c (if_test_bypass_p): Accept multiple set insns for OUT,
14751 and any jump or call for IN.
14752
f6536266
BS
147532002-05-06 Bernd Schmidt <bernds@redhat.com>
14754
e2ff6cee 14755 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Define __SSE2_BUILTINS__ if
f6536266
BS
14756 -msse2.
14757 * config/i386/xmmintrin.h: Use it to conditionalize SSE2 support.
e2ff6cee 14758
0316d49b
RS
147592002-05-06 Roger Sayle <roger@eyesopen.com>
14760
14761 * fold-const.c (lshift-double): Cast the high word to an unsigned
14762 HOST_WIDE_INT when extracting sign bit to avoid compiler warning.
14763 (div_and_round_double): Cast carry to a signed HOST_WIDE_INT to
14764 avoid compiler warning. (fold): Remove redundant code from
14765 BIT_AND_EXPR as integer operands are canonicalized to be arg1.
14766
5d50fab3
JL
147672002-05-06 Jeff Law <law@redhat.com>
14768
14769 * pa-protos.h (hppa_fpstore_bypass_p): Declare.
14770 * pa.c (pa_adjust_cost): Remove all true dependency cost
14771 adjustments. Also remove support for non-DFA scheduling.
14772 * pa.md (700, 7100, 7100lc, 7200, 7300): Use bypass mechanism
14773 to adjust true dependency costs. Update various comments.
14774 (7100lc, 7200, 7300 scheduling): Simplify by combining the
14775 FP ALU & MPY units into a single unit.
14776
a17a104c
CM
147772002-05-06 Catherine Moore <clm@redhat.com>
14778
14779 * config/v850/v850.c (compute_register_save_size): Make sure
818c0c94 14780 to count all of the registers that will be saved.
a17a104c 14781
7799175f
JH
14782Mon May 6 18:03:11 CEST 2002 Jan Hubicka <jh@suse.cz>
14783
14784 * i386.c (q_regs_operand): Use ANY_QI_REGS_P.
14785
0ac941a0
DM
147862002-05-06 David S. Miller <davem@redhat.com>
14787
14788 * config/sparc/sparc.c (emit_soft_tfmode_libcall): Do not
14789 allow result to overlap input operands in memory.
14790
95ff5d3f
NB
147912002-05-06 Neil Booth <neil@daikokuya.demon.co.uk>
14792
14793doc:
14794 * cpp.texi: Update multichar charconst docs.
14795
639e8b0c
NB
147962002-05-06 Neil Booth <neil@daikokuya.demon.co.uk>
14797
14798 * cpplex.c (cpp_interpret_charconst): Sign-extend each
14799 character. Don't ignore excess characters. Treat
14800 multicharacter character constants as signed.
14801 (cpp_parse_escape): Clarify diagnostic.
14802
84ea5bc1
JJ
148032002-05-05 Jakub Jelinek <jakub@redhat.com>
14804
14805 * config/sparc/sparc.md (ashlsi3): If shift count is const1_rtx,
14806 use add instead of shift.
14807 (ashldi3_sp64): Likewise.
14808 (ashlsi3_const1, ashldi3_const1): Remove.
14809 * config/sparc/sparc.h (PREDICATE_CODES): Add const1_operand.
14810 * config/sparc/sparc.c (const1_operand): New.
14811
40cd22f2
JT
148122002-05-05 Jason Thorpe <thorpej@wasabisystems.com>
14813
14814 * config.gcc (alpha*-*-netbsd*): Don't use crtstuff.
14815
cac01076
JJ
148162002-05-05 Jakub Jelinek <jakub@redhat.com>
14817
14818 PR target/6561
14819 * config/sparc/sparc.md (muldi3_v8plus): Handle %1 equal to %2.
14820
98791e3a
RH
148212002-05-05 Richard Henderson <rth@redhat.com>
14822
14823 * config/alpha/alpha.c (alpha_adjust_cost): Remove everything but
14824 memory latency adjustments.
14825 (alpha_variable_issue): Remove.
14826 (alpha_use_dfa_pipeline_interface): New.
14827 (alpha_multipass_dfa_lookahead): New.
14828 * config/alpha/alpha.md: Remove define_function_unit scheduling;
14829 include new dfa scheduling.
14830 (attr type): Add none.
14831 (blockage): Use it.
14832 * config/alpha/ev4.md: New.
14833 * config/alpha/ev5.md: New.
14834 * config/alpha/ev6.md: New.
14835
309527ce
DM
148362002-05-05 David S. Miller <davem@redhat.com>
14837
14838 * recog.c (store_data_bypass_p): Handle CLOBBER inside PARALLEL.
14839
68252e27
KH
148402002-05-05 Kazu Hirata <kazu@cs.umass.edu>
14841
14842 * cse.c: Fix formatting.
14843 * emit-rtl.c: Likewise.
14844
30cc9d00
VM
148452002-05-05 Vladimir Makarov <vmakarov@redhat.com>
14846
14847 * genautomata.c (initiate_states): Add additional guard to
14848 initialize `units_array'.
14849
deb09eff
VM
148502002-05-05 Vladimir Makarov <vmakarov@redhat.com>
14851
14852 * genautomata.c (form_the_same_automaton_unit_lists_from_regexp,
14853 process_unit_to_form_the_same_automaton_unit_lists,
14854 form_the_same_automaton_unit_lists
14855 check_unit_distributions_to_automata): New prototypes and
14856 functions.
14857 (check_automata): Rename it into `check_automata_insn_issues'.
14858 (unit_decl): New fields `the_same_automaton_unit' and
14859 `the_same_automaton_message_reported_p'.
14860 (unit_decl_t): New typedef.
14861 (the_same_automaton_lists): New gloval variable.
14862 (unit_regexp, unit_set_el, units_array, units_cmp,
14863 output_get_cpu_unit_code_func): Use the typedef.
14864 (evaluate_max_reserv_cycles): Increment
14865 `description->max_insn_reserv_cycles'.
14866 (initiate_states): Don't increment `max_cycles_num'.
14867 (transform_insn_regexps): Move code around transformation of
14868 regexps from `generate'.
14869 (generate): Remove call of `transform_insn_regexps'.
14870 (expand_automata): Call `transform_insn_regexps' and
14871 `check_unit_distributions_to_automata'. Check errors before
14872 `generate'.
14873
14874 * config/sparc/ultra3.md (us3_a0, us3_a1): Move the units into
14875 automaton `ultrasparc3_1'.
e2ff6cee 14876
2443d4e1
NB
148772002-05-05 Neil Booth <neil@daikokuya.demon.co.uk>
14878
14879 * c-common.c (c_common_init): Set up CPP arithmetic.
14880 * cppinit.c (cpp_create_reader): Default CPP arithmetic to
14881 something reasonable for the host.
14882 (sanity_checks): Add checks.
14883 (cpp_read_main_file): Call sanity_checks() from here...
14884 (cpp_post_options): ... not here.
14885 * cpplex.c (cpp_interpret_charconst): Get max_chars right.
14886 * cpplib.h (struct cpp_options): New member int_precision.
14887
791a949f
FS
148882002-05-05 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
14889
14890 * doc/install.texi (powerpc-*-linux-gnu*): Update build requirements.
14891
091fb516
DM
148922002-05-04 David S. Miller <davem@redhat.com>
14893
f60ebeb7
DM
14894 * config/sparc/linux.h, config/sparc/linux64.h
14895 (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define twice.
14896
214c6394
DM
14897 * config/sparc/sparc.c (sparc_rtx_costs): Describe costs of
14898 more RTX codes.
14899 * config/sparc/sparc.h (RTX_COSTS_CASES): List those new codes.
14900
091fb516
DM
14901 * recog.c (store_data_bypass_p): Handle out_insn being a PARALLEL
14902 of SETs.
14903
f2fdc802
TJ
149042002-05-05 Tim Josling <tej@melbpc.org.au>
14905
e2ff6cee 14906 * treelang; New directory for new sample language treelang.
f2fdc802 14907
3d90d290
NB
149082002-05-04 Neil Booth <neil@daikokuya.demon.co.uk>
14909
14910 * Makefile.in (c-lex.o): Update.
14911 * c-lex.c: Include target.h.
14912 (cb_register_builtins): New.
14913 (init_c_lex): Set builtins callback.
14914 * c-lex.h (cpp_define, cpp_assert): New prototypes.
14915 * cppinit.c (init_builtins): Use callback, including for
14916 GXX_WEAK.
14917 * cpplib.h (struct cpp_callbacks): New member.
14918 * target-def.h (TARGET_REGISTER_CPP_BUILTINS): New.
14919 (TARGET_INITIALIZER): Update.
14920 * target.h (struct gcc_target): New hook.
14921 * tree.c (default_register_cpp_builtins): New.
14922 * tree.h (default_register_cpp_builtins): New.
14923doc:
14924 * tm.texi (TARGET_REGISTER_CPP_BUILTINS): Document.
14925
625458d0
NB
149262002-05-04 Neil Booth <neil@daikokuya.demon.co.uk>
14927
14928 * cppinit.c (MAX_WCHAR_TYPE_SIZE): Move to cpplib.h
14929 (cpp_post_options): Move sanity checks to...
14930 (sanity_checks): New.
14931 * cpplex.c (maybe_read_ucs): Fix prototype.
14932 (parse_string, cpp_parse_escape): Cast for %c format specifier.
14933 * cpplib.h (cppchar_t): Use unsigned long or unsigned long long
14934 if necessary.
14935
916b60b7
BS
149362002-05-04 Bernd Schmidt <bernds@redhat.com>
14937
14938 * config/i386/i386.c (bdesc_2arg): Add a couple of missing SSE2
14939 builtins. Use V2DI patterns instead of TI for logical operations.
14940 (ix86_init_mmx_sse_builtins): Add a couple of missing SSE2 builtins.
14941 Correct definitions of psadbw, pmovmskb128, movntdq, cvtdq2ps.
14942 (ix86_expand_builtins): Change the pattern used for movntdq.
14943 * config/i386/i386.md (sse2_andv2di3, sse2_iorv2di3, sse2_xorv2di3,
14944 sse2_nandv2di3): New patterns.
14945 (sse2_anddf3, sse2_nanddf3, sse2_iordf3, sse2_xordf3): Correct modes
14946 on operands.
14947 (sse2_movntv2di): Renamed from sse2_movntti and modes adjusted.
14948 (cvtdq2pd): Correct mode on operand 1.
14949 (sse2_umulsidi3): Describe without unspec.
14950 (sse2_psadbw, mmx_psadbw): Describe with unspec; use more appropriate
14951 machine modes.
14952 (lshrv2di3): Renamed from sse2_lshrv2di3 and removed unspec.
14953 (ashlv2di3): Likewise, from sse2_ashlv2di3.
14954 (ashrv8hi3, ashrv4si3, lshrv8hi3, lshrv4si3, lshrv2di3, ashlv8hi3,
14955 ashlv4si3, ashlv2di3): Use SImode for shift count.
14956 (ashrv8hi3_ti, ashrv4si3_ti, lshrv8hi3_ti, lshrv4si3_ti, lshrv2di3_ti,
14957 lshrv4si3_ti, lshrv2di3_ti, ashlv8hi3_ti, ashlv4si3_ti, ashlv2di3_ti):
14958 New patterns.
14959 * config/i386/xmmintrin.h (__v2df, __v2di, __v4si, __v8hi, __v16qi):
14960 New typedefs.
14961 (__m128i, __m128d): New macros.
14962 (_mm_add_pd, _mm_add_sd, _mm_sub_pd, _mm_sub_sd, _mm_mul_pd,
14963 _mm_mul_sd, _mm_div_pd, _mm_div_sd, _mm_sqrt_pd, _mm_sqrt_sd,
14964 _mm_min_pd, _mm_min_sd, _mm_max_sd, _mm_max_pd, _mm_and_pd,
14965 _mm_andnot_pd, _mm_xor_pd, _mm_or_pd, _mm_cmpeq_pd, _mm_cmplt_pd,
14966 _mm_cmple_pd, _mm_cmpgt_pd, _mm_cmpge_pd, _mm_cmpneq_pd,
e2ff6cee 14967 _mm_cmpnlt_pd, _mm_cmpnle_pd, _mm_cmpngt_pd, _mm_cmpnge_pd,
916b60b7
BS
14968 _mm_cmpord_pd, _mm_cmpunord_pd, _mm_cmpeq_sd, _mm_cmplt_sd,
14969 _mm_cmple_sd, _mm_cmpgt_sd, _mm_cmpge_sd, _mm_cmpneq_sd,
e2ff6cee 14970 _mm_cmpnlt_sd, _mm_cmpnle_sd, _mm_cmpngt_sd, _mm_cmpnge_sd,
916b60b7
BS
14971 _mm_cmpord_sd, _mm_cmpunord_sd, _mm_comieq_sd, _mm_comilt_sd,
14972 _mm_comile_sd, _mm_comigt_sd, _mm_comige_sd, _mm_comineq_sd,
14973 _mm_ucomieq_sd, _mm_ucomieq_sd, _mm_ucomilt_sd, _mm_ucomile_sd,
14974 _mm_ucomigt_sd, _mm_ucomige_sd, _mm_ucomineq_sd, _mm_cvtepi32_pd,
14975 _mm_cvtepi32_ps, _mm_cvtpd_epi32, _mm_cvtpd_pi32, _mm_cvtpd_ps,
14976 _mm_cvttpd_epi32, _mm_cvttpd_pi32, _mm_cvtpi32_pd, _mm_cvtps_epi32,
14977 _mm_cvttps_epi32, _mm_cvtps_pd, _mm_cvtsd_si32, _mm_cvttsd_si32,
14978 _mm_cvtsd_ss, _mm_cvtsi32_sd, _mm_cvtss_sd, _mm_unpackhi_pd,
14979 _mm_unpacklo_pd, _mm_loadh_pd, _mm_storeh_pd, _mm_storel_pd,
14980 _mm_movemask_pd, _mm_packs_epi16, _mm_packs_epi32, _mm_packus_epi16,
14981 _mm_unpackhi_epi8, _mm_unpackhi_epi16, _mm_unpackhi_epi32,
14982 _mm_unpacklo_epi8, _mm_unpacklo_epi16, _mm_unpacklo_epi32,
14983 _mm_add_epi8, _mm_add_epi16, _mm_add_epi32, _mm_add_epi64,
14984 _mm_adds_epi8, _mm_adds_epi16, _mm_adds_epu8, _mm_adds_epu16,
14985 _mm_sub_epi8, _mm_sub_epi16, _mm_sub_epi32, _mm_sub_epi64,
14986 _mm_subs_epi8, _mm_subs_epi16, _mm_subs_epu8, _mm_subs_epu16,
14987 _mm_madd_epi16, _mm_mulhi_epi16, _mm_mullo_epi16, _mm_mul_pu16,
14988 _mm_mul_epu16, _mm_sll_epi16, _mm_sll_epi32, _mm_sll_epi64,
14989 _mm_sra_epi16, _mm_sra_epi32, _mm_srl_epi16, _mm_srl_epi32,
14990 _mm_srl_epi64, _mm_slli_epi16, _mm_slli_epi32, _mm_slli_epi64,
14991 _mm_srai_epi16, _mm_srai_epi32, _mm_srli_epi16, _mm_srli_epi32,
14992 _mm_srli_epi64, _mm_and_si128, _mm_andnot_si128, _mm_or_si128,
14993 _mm_xor_si128, _mm_cmpeq_epi8, _mm_cmpeq_epi16, _mm_cmpeq_epi32,
14994 _mm_cmpgt_epi8, _mm_cmpgt_epi16, _mm_cmpgt_epi32, _mm_max_epi16,
14995 _mm_max_epu8, _mm_min_epi16, _mm_min_epu8, _mm_movemask_epi8,
14996 _mm_mulhi_epu16, _mm_maskmoveu_si128, _mm_avg_epu8, _mm_avg_epu16,
14997 _mm_sad_epu8, _mm_stream_si32, _mm_stream_si128, _mm_stream_pd,
14998 _mm_movpi64_epi64, _mm_clflush, _mm_lfence, _mm_mfence): New
14999 functions.
e2ff6cee 15000 (_mm_shufflehi_epi16, _mm_shufflelo_epi16, _mm_shuffle_epi32,
916b60b7
BS
15001 _mm_extract_epi16, _mm_insert_epi16, _mm_shuffle_pd): New macros.
15002
c26fbbca
KH
150032002-05-04 Kazu Hirata <kazu@cs.umass.edu>
15004
15005 * dwarf2out.c: Fix formatting.
15006 * varasm.c: Likewise.
15007
0387639b
DE
150082002-05-04 David Edelsohn <edelsohn@gnu.org>
15009
15010 PR c/6543
15011 * config/rs6000/rs6000.md (sCC pattern and splitter): Remove
15012 clobber and use result as temporary value.
15013
8a28dbcc
JH
15014Sat May 4 13:20:54 CEST 2002 Jan Hubicka <jh@suse.cz>
15015
15016 * expr.c (force_operand): Use expand_simple_* to handle more
15017 cases.
15018
4268e8bb
NB
150192002-05-04 Neil Booth <neil@daikokuya.demon.co.uk>
15020
15021 * c-lex.c (lex_string): Let cpp_parse_escape handles truncation
15022 and sign-extension.
15023 (lex_charconst): Update for change in prototype of
15024 cpp_interpret_charconst. Extend from cppchar_t to HOST_WIDE_INT
15025 appropriately.
15026 * cpphash.h (BITS_PER_CPPCHAR_T): New.
15027 * cppinit.c (cpp_create_reader): Initialize them for no
15028 change in semantics.
15029 (cpp_post_options): Add sanity checks.
15030 * cpplex.c (cpp_parse_escape): Handle precision, sign-extension
15031 and truncation issues. Calculate in type cppchar_t.
15032 (MAX_CHAR_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): Remove.
15033 (cpp_interpret_charconst): Calculate in type cppchar_t. Handle
15034 run-time dependent precision correctly. Return whether the
15035 result is signed or not.
15036 * cpplib.c (dequote_string): Use cppchar_t; update.
15037 * cpplib.h (cppchar_signed_t): New.
15038 struct cpp_options): New precision members.
15039 (cpp_interpret_charconst, cpp_parse_escape): Update prototypes.
ae1a07e0 15040 * cppexp.c (eval_token): Update.
4268e8bb 15041
af54350e
DM
150422002-05-03 David S. Miller <davem@redhat.com>
15043
2ce04b6b
DM
15044 * config/sparc/sparc-protos.h (sparc_rtx_costs): New.
15045 * config/sparc/sparc.c (sparc_rtx_costs): New function
15046 implementing RTX_COSTS and CONST_COSTS.
15047 * config/sparc/sparc.h (CONST_COSTS): Delete.
15048 (RTX_COSTS_CASES): Define.
15049 (RTX_COSTS): Expand RTX_COSTS_CASES and use sparc_rtx_costs to do
15050 the work.
15051
a1d9bd0c
DM
15052 * config/sparc/sparc.md (DFA schedulers): Split out...
15053 * config/sparc/cypress.md, config/sparc/hypersparc.md,
15054 config/sparc/sparclet.md, config/sparc/supersparc.md,
15055 config/sparc/ultra1_2.md, config/sparc/ultra3.md: ... into here.
15056
e87bb82e
DM
15057 * config/sparc/sparc.c (LEAF_REGISTERS): Do not do ifdef
15058 checks on it, always defined for Sparc.
15059
af54350e
DM
15060 * config/sparc/sparc.h (REG_ALLOC_ORDER, REG_LEAF_ALLOC_ORDER):
15061 Tweak, and add more detailed comments.
15062
935bfb44
ZW
150632002-05-03 Zack Weinberg <zack@codesourcery.com>
15064
15065 * Re-apply patch accidentally reverted with
15066 DFA scheduler merge: remove all rules and variables to slurp
15067 source files out of libiberty and rebuild them with HOST_CC.
15068 ($(HOST_PREFIX_1)varray.o): New rule.
15069 (genattrtab rule): Word wrap.
15070
fa7a0712
JT
150712002-05-03 Jason Thorpe <thorpej@wasabisystems.com>
15072
15073 * config/i386/netbsd64.h (CPP_LP64_SPEC): Define.
15074 (CPP_SUBTARGET_SPEC): Define.
15075 (SUBTARGET_EXTRA_SPECS): Redefine, adding cpp_lp64 and
15076 cpp_subtarget specs.
15077 (CPP_SPEC): Redefine to include %(cpp_subtarget).
15078
14c93978
DM
150792002-05-03 David S. Miller <davem@redhat.com>
15080
15081 * target-defs.h (TARGET_SCHED_CYCLE_DISPLAY): Delete.
15082 * target.h (struct gcc_target): Delete cycle_display member.
15083
14d118d6
DM
15084 * config/ia64/ia64.c (ia64_emit_insn_before): Put it back.
15085 (rtx_needs_barrier): Delete reference to cycle_display unspec.
15086 (ia64_sched_reorder2): Mention need for cycle display handling
15087 once such notes exist.
935bfb44 15088
b3ae1ccd
RH
150892002-05-03 Richard Henderson <rth@redhat.com>
15090
15091 * real.c (etoasc): Strip most trailing zeros for clarity.
15092 * sched-vis.c: Include real.h.
15093 (print_value): Use REAL_VALUE_TO_DECIMAL as needed.
15094 * Makefile.in (sched-vis.o): Add real.h.
15095
8f39865a
DM
150962002-05-03 David S. Miller <davem@redhat.com>
15097
15098 * haifa-sched.c (rank_for_schedule): Revert 2002-05-02 change,
15099 no longer needed.
15100
b44140e7
AH
151012002-05-03 Aldy Hernandez <aldyh@redhat.com>
15102
935bfb44
ZW
15103 * config/rs6000/rs6000.c (altivec_expand_binop_builtin): Error out
15104 when we get an out of range literal.
15105 (altivec_expand_ternop_builtin): Same.
15106 (altivec_expand_unop_builtin): Same.
15107 (altivec_expand_builtin): Same, for dss.
15108 (altivec_expand_builtin): Use trees instead of rtl when
15109 determining literal argument validity.
b44140e7 15110
aaaed752
DM
151112002-05-03 David S. Miller <davem@redhat.com>
15112
15113 Delete cycle display scheduling hook.
15114 * config/ia64/ia64.c (ia64_cycle_display,
15115 TARGET_SCHED_CYCLE_DISPLAY, ia64_emit_insn_before): Delete.
15116 (ia64_sched_reorder2): Don't check for CODE_FOR_cycle_display
15117 and use emit_insn_before instead of ia64_emit_insn_before.
15118 * config/ia64/ia64.md (unspec usage): Delete cycle display.
15119 (cycle_display): Delete insn pattern.
15120 * config/sparc/sparc.md (unspec usage): Delete cycle display.
15121 (cycle_display): Delete insn pattern.
15122 * config/sparc/sparc.c (sparc_cycle_display,
15123 TARGET_SCHED_CYCLE_DISPLAY): Delete.
15124 * doc/md.texi (cycle_display): Don't mention.
15125 * doc/tm.texi (TARGET_SCHED_CYCLE_DISPLAY): Likewise.
935bfb44 15126
b37c2614
RH
151272002-05-03 Richard Henderson <rth@redhat.com>
15128
15129 * recog.c (store_data_bypass_p, if_test_bypass_p): New.
15130 * recog.h: Declare them.
15131
15132 * config/sparc/sparc.c (ultrasparc_store_bypass_p): Remove.
15133 * config/sparc/sparc.md: Use store_data_bypass_p instead.
15134 * config/sparc/sparc-protos.h: Update.
935bfb44 15135
e1c1132e
JT
151362002-05-03 Jason Thorpe <thorpej@wasabisystems.com>
15137
15138 * config/sparc/netbsd-elf.c (CPP_SUBTARGET_SPEC64): Remove
15139 -D__arch64__. Add -D_LP64.
15140 (CPP_ARCH32_SPEC): Redefine to match the non-bi-arch version
15141 from sparc.h.
15142 (CPP_ARCH64_SPEC): Likewise.
15143 (NO_BUILTIN_PTRDIFF_TYPE): Undef.
15144 (NO_BUILTIN_SIZE_TYPE): Undef.
15145
0b2fb0d7
VM
151462002-05-03 Vladimir Makarov <vmakarov@redhat.com>
15147
15148 * genautomata.c (min_issue_delay_pass_states): Change return type
15149 in the prototype.
15150 (min_issue_delay_pass_states): Change the algorithm.
15151 (min_issue_delay): Set up min_insn_issue_delay for the state.
15152 (output_min_issue_delay_table): Interchange the nested loops and
15153 and initiate min_insn_issue_delay for states.
935bfb44 15154
3d4ce12a
JH
15155Fri May 3 22:59:15 CEST 2002 Jan Hubicka <jh@suse.cz>
15156
15157 * cfgcleanup.c (try_optimize_cfg): Call merge_block only when
15158 jump is simplejump.
15159
15160Fri May 3 22:53:37 CEST 2002 Jan Hubicka <jh@suse.cz>
37ad04a5
JH
15161
15162 * i386.c (expand_movstr, expand_clrstr): Fix inline-all-stringops
15163 sequence.
15164
b5482208
RH
151652002-05-03 Richard Henderson <rth@redhat.com>
15166
15167 PR opt/6534
15168 * ifcvt.c (noce_try_store_flag, noce_try_store_flag_constants,
15169 noce_try_store_flag_inc, noce_try_store_flag_mask, noce_try_cmove,
15170 noce_try_cmove_arith, noce_try_minmax, noce_try_abs): Insert new
15171 code before JUMP, not EARLIEST.
15172
5a3085c5
JM
151732002-05-03 Joseph S. Myers <jsm28@cam.ac.uk>
15174
15175 * c-format.c (check_format_info_main): Don't check for presence of
15176 parameter for * width until after operand number has been read,
15177 and only check for it if format parameters are available.
15178 Fixes PR c/6547.
15179
40039424
JT
151802002-05-03 Jason Thorpe <thorpej@wasabisystems.com>
15181
15182 * config/alpha/netbsd.h (CPP_PREDEFINES): Add -D_LP64.
15183 (LINK_SPEC): Undef before defining.
15184
8157303b
JJ
151852002-05-03 Jakub Jelinek <jakub@redhat.com>
15186
15187 PR preprocessor/6489
15188 * tradcpp.c (fixup_newlines): New.
15189 (main, finclude): Use it.
15190
66319f5c
RS
151912002-05-03 Richard Sandiford <rsandifo@redhat.com>
15192
15193 * config/mips/elf64.h (UNIQUE_SECTION): Use mips_unique_section.
15194 * config/mips/mips.c (mips_unique_section): Strip encoding from
15195 decl name.
15196
ce8076ad
JJ
151972002-05-03 Jakub Jelinek <jakub@redhat.com>
15198
15199 * config/i386/i386.c (ix86_expand_int_movcc): Truncate to proper
15200 mode.
15201
975c6e4e
RO
152022002-05-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
15203
15204 * doc/install.texi (Installing): Mention GCC 3.1 buildstats.
15205 (Specific): Removed buildstats references.
15206 (Specific, hppa*-hp-hpux11): Adjust for GCC versions > 3.0.
15207 (Specific, sparc-sun-solaris2*): Update 64-bit hints for GCC 3.1.
15208 Accomodate Solaris versions beyond 8.
15209 (Specific, sparc-sun-solaris2.7): Update as path for GCC 3.1.
15210 (Specific, *-*-solaris2.8): Removed, obsolete.
15211
d70e94ec
JJ
152122002-05-03 Jakub Jelinek <jakub@redhat.com>
15213
15214 PR target/6542
15215 * config/sparc/sparc.h (leaf_reg_remap): Remove const.
15216 (CONDITIONAL_REGISTER_USAGE): For TARGET_FLAT make
15217 fill leaf_reg_remap with identity.
15218 * config/sparc/sparc.c (leaf_reg_remap): Remove const.
15219
6b148bd9
KH
152202002-05-03 Kazu Hirata <kazu@cs.umass.edu>
15221
15222 * config/h8300/crti.asm: Remove trailing spaces.
15223 * config/h8300/h8300.c: Likewise.
15224 * config/h8300/lib1funcs.asm: Likewise.
15225
609688f3
JM
152262002-05-02 Jason Merrill <jason@redhat.com>
15227
15228 * defaults.h (BOOL_TYPE_SIZE): Move default here from cp/decl.c.
15229 * c-decl.c (c_init_decl_processing): Use it.
15230 * config/rs6000/darwin.h (BOOL_TYPE_SIZE): Define to INT_TYPE_SIZE.
15231 * config/i960/i960.h (BOOL_TYPE_SIZE): Don't define.
15232 * config/mcore/mcore.h (BOOL_TYPE_SIZE): Don't define.
15233
3b03c671
KH
152342002-05-03 Kazu Hirata <kazu@cs.umass.edu>
15235
15236 * regrename.c: Fix formatting.
15237 * tree.c: Likewise.
15238
3b4961bd
JH
15239Fri May 3 13:34:43 CEST 2002 Jan Hubicka <jh@suse.cz>
15240
15241 * i386.md (attribute memory): Handle compares properly.
15242
19cba4a0
JH
15243Fri May 3 10:51:38 CEST 2002 Jan Hubicka <jh@suse.cz>
15244
3b4961bd 15245 * i386.md (sse_clrsf, sse_clrsi): Set memory attribute
19cba4a0
JH
15246 to none.
15247
797a6ac1
KH
152482002-05-02 Kazu Hirata <kazu@cs.umass.edu>
15249
15250 * function.c: Fix formatting.
15251
6d0de005
JH
152522002-05-02 Jan Hubicka <jh@suse.cz>
15253
15254 * haifa-sched.c (schedule_insn): Print table of instructions and
15255 reservations.
15256 (sched_block): Do not print ready list at verbosity level 1.
15257 * sched-vis.c (print_insn): Make global.
15258 * sched-ebb.c (ebb_print_insn): Rename from...
15259 (print_insn): ... this one.
15260 * sched-int.h (print_insn): Declare
15261
0bfb9a69
RH
152622002-05-02 Richard Henderson <rth@redhat.com>
15263
15264 * haifa-sched.c (rank_for_schedule): Skip past last_scheduled_insn
15265 emitted by cycle_display.
15266
6b976d99
LR
152672002-05-02 Loren J. Rittle <ljrittle@acm.org>
15268
15269 * doc/install.texi (*-*-freebsd*): Update to latest status.
15270
0a295052
JJ
152712002-05-02 Jakub Jelinek <jakub@redhat.com>
15272
15273 PR target/6540
15274 * config.gcc (sparc*-*-solaris2*): Set float_format to i128.
15275 * config/float-sparc.h: Assume 128-bit long double if
15276 __LONG_DOUBLE_128__ is defined.
15277
842d5d6c
VM
152782002-05-02 Vladimir Makarov <vmakarov@redhat.com>
15279
15280 * genattrtab.c (write_function_unit_info): Add a dummy element
15281 when num_units == 0.
15282
3d7a6309
HB
152832002-05-02 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
15284
15285 * predict.c: (propagate_freq, estimate_bb_frequencies): Use
15286 TYPE_MODE (double_type_node) instead of DFmode.
15287
1b6763cf
JH
15288Thu May 2 19:50:04 CEST 2002 Jan Hubicka <jh@suse.cz>
15289
15290 * cfgrtl.c (try_redirect_by_replacing_jump): Do not kill computed
15291 jumps post reload.
15292 * toplev.c (rest_of_compilation): Revert Richard's patch.
15293
b303008e
JDA
152942001-05-02 John David Anglin <dave@hiauly1.hia.nrc.ca>
15295
15296 * pa/x-ada (ADA_CFLAGS): Rename to X_ADA_CFLAGS.
15297
6ed7412a
CM
152982002-05-02 Catherine Moore <clm@redhat.com>
15299
15300 * config/v850/v850.h (TRAMPOLINE_TEMPLATE): Change r5 to r20.
15301
e0a2f705
KH
153022002-05-02 Kazu Hirata <kazu@hxi.com>
15303
b32d6163 15304 * combine.c: Fix comment typos.
e0a2f705
KH
15305 * expr.c: Likewise.
15306 * genautomata.c: Likewise.
15307 * stmt.c: Likewise.
15308 * tree.h: Likewise.
15309
38e23049
JM
153102002-05-02 Joseph S. Myers <jsm28@cam.ac.uk>
15311
15312 * doc/install.texi: State GNAT version requirements.
15313
40f4a97d
NC
153142002-05-02 Nick Clifton <nickc@cambridge.redhat.com>
15315
15316 * config/fr30/fr30.h (GO_IF_LEGITIMATE_ADDRESS): Accept any form
15317 of the frame pointer or arg pointer register which strict register
15318 checking is not enabled.
15319
0d6d6892
AH
153202002-05-02 Aldy Hernandez <aldyh@redhat.com>
15321
b5482208 15322 * gcc.dg/altivec-8.c: New.
0d6d6892 15323
b5482208
RH
15324 * config/rs6000/rs6000.c (rs6000_legitimate_address): Disallow
15325 PRE_INC and PRE_DEC for altivec modes.
0d6d6892 15326
abaa8559
BK
153272002-05-01 Bruce Korb <bkorb@gnu.org>
15328
15329 * fixinc/check.tpl(set-writable): make sure the function exists first
15330 * fixinc/inclhack.def(alpha_assert): fix test_text
15331 * fixinc/tests/base/assert.h: add in missing result
15332
ecab2143
JL
153332002-05-01 Jeff Law <law@redhat.com>
15334
15335 * pa.h (EXTRA_CONSTRAINT): Don't accept PIC addresses for the
15336 'T' constraint.
15337
ea619b46
JB
153382002-05-01 Joel Brobecker <brobecker@gnat.com>
15339
15340 * dbxout.c (dbxout_type): Emit size information for range types,
15341 as well, but only when using GDB extensions.
15342
c72931a6
RH
153432002-05-01 Richard Henderson <rth@redhat.com>
15344
15345 * configure.in (HAVE_GAS_HIDDEN): Replace SPARC feature test with
15346 target-independent gnu binutils date test.
15347
2150ad33
RH
153482002-05-01 Richard Henderson <rth@redhat.com>
15349
15350 * cfgcleanup.c (merge_blocks_move_successor_nojumps): Emit dump
15351 info before expunging the block.
15352
1651cc96
JJ
153532002-05-01 Jakub Jelinek <jakub@redhat.com>
15354
15355 * cppinit.c (cpp_handle_option) [-dM]: Don't set no_output here...
15356 (cpp_post_options): ...but here. Disable -dD, -dN and -dI when
15357 -M -or -MM is in effect.
15358
8998d5bf
ZW
153592002-05-01 Zack Weinberg <zack@codesourcery.com>
15360
15361 * config.gcc: Correct test of --enable-obsolete. Obsolete all
15362 A29k configurations.
15363 * doc/install.texi: Update to match.
15364
a81eed10
FS
153652002-05-01 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
15366
15367 PR bootstrap/6514
15368 * varasm.c (globalize_decl): Compare DECL_ASSEMBLER_NAME to check
15369 for duplicates. Always loop over whole list.
15370
8d53318f
RK
15371Wed May 1 10:32:37 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
15372
15373 * reload.c (find_reloads, case 'p'): Set BADOP to 0.
15374
4109b118
JS
153752002-05-01 Joel Sherrill <joel@OARcorp.com>
15376
15377 * config/sparc/t-elf (sparc-rtems, sparc-elf): Build assembly
15378 support routines.
15379
c4a9c570
JS
153802002-05-01 Joel Sherrill <joel@OARcorp.com>
15381
15382 * config/arm/rtems-elf.h: Add #undef TARGET_VERSION to prevent warning.
15383
ea112fc4
DE
153842002-05-01 David Edelsohn <edelsohn@gnu.org>
15385
15386 * rs6000.md (abssi2_nopower): Convert to define_insn_and_split.
15387 (nabs_nopower): Same.
15388 (floatdisf2): New pattern.
15389 (absdi2): Convert to define_insn_and_split.
15390 (nabsdi2): Same.
15391 (trunctfsf2): Same.
15392 (floatditf2): Same.
15393 (floatsitf2): Same.
15394 (fix_trunctfdi2): Same.
15395 (fix_trunctfsi2): Same.
15396
dda78254
JM
153972002-05-01 Joseph S. Myers <jsm28@cam.ac.uk>
15398
15399 * doc/install.texi: Update Texinfo version requirement
15400 documentation.
15401
26aeede4
JJ
154022002-05-01 Jakub Jelinek <jakub@redhat.com>
15403
15404 PR target/6512, PR target/5628
15405 * config/sparc/sparc.md (movdf_insn_v9only_novis): Don't allow >= %f32
15406 when memory is not aligned.
15407 (movdf_insn_v9only_vis): Likewise.
15408 * config/sparc/sparc.h (SECONDARY_INPUT_RELOAD_CLASS): Request a FP_REGS
15409 temporary for EXTRA_FP_REGS DFmode load from unaligned memory.
15410 (SECONDARY_OUTPUT_RELOAD_CLASS): Similarly.
15411
9b7bc465
AH
154122002-05-01 Aldy Hernandez <aldyh@redhat.com>
15413
8998d5bf 15414 * gcc.dg/altivec-7.c: New.
9b7bc465 15415
8998d5bf 15416 * config/rs6000/altivec.h: Cleanup.
9b7bc465 15417
08b57fb3
AH
154182002-04-30 Aldy Hernandez <aldyh@redhat.com>
15419
8998d5bf
ZW
15420 * doc/invoke.texi (Option Summary): Add -mvrsave=.
15421 (RS/6000 and PowerPC Options): Document -mvrsave=.
08b57fb3 15422
8998d5bf
ZW
15423 * config/rs6000/rs6000.c (rs6000_altivec_vrsave): New global.
15424 (rs6000_altivec_vrsave_string): Same.
15425 (rs6000_override_options): Call rs6000_parse_vrsave_option.
15426 (rs6000_parse_vrsave_option): New.
15427 (rs6000_stack_info): Only generate vrsave instructions when
15428 TARGET_ALTIVEC_VRSAVE.
08b57fb3 15429
8998d5bf
ZW
15430 * config/rs6000/rs6000.h (TARGET_OPTIONS): Add -mvrsave= option.
15431 (rs6000_altivec_vrsave_string): Define extern.
15432 (rs6000_altivec_vrsave): Same.
15433 (TARGET_ALTIVEC_VRSAVE): New.
08b57fb3 15434
8e8c38cd
RH
154352002-04-30 Richard Henderson <rth@redhat.com>
15436
15437 PR opt/6516
15438 * toplev.c (rest_of_compilation): Don't run cross-jump before
15439 bb-reorder.
15440
4be9e9cb
TR
154412002-04-30 Tom Rix <trix@redhat.com>
15442
8998d5bf 15443 * regrename.c (build_def_use, copyprop_hardreg_forward_1): Sanity
4be9e9cb
TR
15444 check which_alternative.
15445
1eeeb6a4
KH
154462002-04-30 Kazu Hirata <kazu@hxi.com>
15447
15448 * cpplex.c: Fix comment formatting.
15449 * function.c: Likewise.
15450 * integrate.c: Likewise.
15451 * regrename.c: Likewise.
15452 * sibcall.c: Likewise.
15453 * simplify-rtx.c: Likewise.
15454 * tree-inline.c: Likewise.
15455
ed9d6ff9
JDA
154562002-04-30 John David Anglin <dave@hiauly1.hia.nrc.ca>
15457
15458 * config.gcc (hppa1.1-*-pro*, hppa1.1-*-osf*, hppa1.1-*-rtems*,
15459 hppa1.0-*-osf*, hppa1.1-*-bsd*, hppa1.1-*-hpux10*, hppa2*-*-hpux10*,
15460 hppa1.0-*-hpux10*, hppa*64*-*-hpux11*, hppa1.1-*-hpux11*,
15461 hppa2*-*-hpux11*, hppa1.0-*-hpux11*, hppa*-*-lites*): Define xmake_file.
15462 * pa/t-linux, pa/t-pa, pa/t-pa64, t-pro (T_ADAFLAGS): Delete.
15463 * pa/x-ada: New file. Define ADA_CFLAGS.
15464
1f2641b6
HPN
154652002-04-30 Hans-Peter Nilsson <hp@bitrange.com>
15466
15467 * config/mmix/mmix.h (MMIX_LAST_STACK_REGISTER_REGNUM): Renamed
15468 from MMIX_LAST_REGISTER_FILE_REGNUM.
15469 (NO_IMPLICIT_EXTERN_C): Remove cryptic obsolete comment.
15470 (struct machine_function): New member highest_saved_stack_register
15471 previously static variable in mmix.c.
15472 (MACHINE_DEPENDENT_REORG): Define.
15473 * config/mmix/mmix.c (highest_saved_stack_register): Deleted.
15474 (MMIX_OUTPUT_REGNO): New.
15475 (mmix_target_asm_function_prologue): Move calculation of last used
15476 saved-stack-register into...
15477 (mmix_machine_dependent_reorg): New function. Update to also handle
15478 !TARGET_ABI_GNU.
15479 (mmix_print_operand): Apply MMIX_OUTPUT_REGNO when emitting
15480 register names, simplify somewhat by new variable regno.
15481 <case 'p'>: Remove fixed FIXME. Always emit highest used saved
15482 register.
15483 (mmix_print_operand_address): Apply MMIX_OUTPUT_REGNO when
15484 emitting register names.
15485 (mmix_asm_output_reg_push, mmix_asm_output_reg_pop): Ditto.
15486 (mmix_dbx_register_number): Apply MMIX_OUTPUT_REGNO here too.
15487 Remove fixed FIXME.
15488 * config/mmix/mmix-protos.h (mmix_machine_dependent_reorg):
15489 Declare.
15490
15491 * config/mmix/mmix.md ("divmoddi4"): Update head comment.
15492
73985940
RH
154932002-04-30 Richard Henderson <rth@redhat.com>
15494
15495 * config/sparc/sparc.c (emit_soft_tfmode_libcall,
15496 emit_soft_tfmode_binop, emit_soft_tfmode_unop, emit_soft_tfmode_cvt,
15497 emit_hard_tfmode_operation, emit_tfmode_binop, emit_tfmode_unop,
15498 emit_tfmode_cvt): New.
15499 * config/sparc/sparc.md (extendsftf2, extenddftf2, trunctfsf2,
15500 trunctfdf2, floatsitf2, floatunssitf2, floatditf2, floatunsditf2,
15501 fix_trunctfsi2, fixuns_trunctfsi2, fix_trunctfdi2, fixuns_trunctfdi2,
15502 addtf3, subtf3, multf3, divtf3, sqrttf2): Use them.
15503 * config/sparc/sparc-protos.h: Update.
15504
2b46bc67
JJ
155052002-04-30 Janis Johnson <janis187@us.ibm.com>
15506
15507 * install.texi (Final install): Add to the list of info to include
15508 in a report of a successful bootstrap, and add link to 3.1 list.
15509
3d34cd91
JH
15510Tue Apr 30 19:15:36 CEST 2002 Jan Hubicka <jh@suse.cz>
15511
15512 * i386.md (type): Add new SSE/MMX subtypes, remove usused fop1.
15513 (mode): Add vector modes
15514 (i387): Kill attribute.
15515 (unit): New attribute.
15516 (length_immediate): Grok new types.
15517 (prefix_data16, prefix_rep, prefix_0f): Fix for SSE/MMX.
15518 (modrm): Use "unit".
15519 (memory): Handle MMX/SSE properly.
15520 (scheduling descriptions): Kill uses of fop1.
15521 (sse, mmx, fp patterns): Set type and mode properly.
15522
243e5500 15523Tue Apr 30 09:31:59 2002 Jeffrey A Law (law@redhat.com)
3193c415 15524
30482eb0
JL
15525 * pa.c (override_options): Default to PA8000 scheduling.
15526 * doc/invoke.texi (HP-PA options): Mention newly added 7300
15527 scheduling parameter.
15528
3193c415
JL
15529 * pa.md (7100lc, 7200, 7300 scheduling): Slightly refine
15530 handling of double precision multiplies.
15531
15532 * pa.md (7100lc, 7200, 7300 scheduling): Refine handling of
15533 fpdiv and fpsqrt instructions.
15534 (7200 & 7300 scheduling): Fix typo in handling of
15535 store-load and store-store penalties.
15536
c0a34cb7
GP
155372002-04-30 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
15538
15539 * doc/contrib.texi (Contributors): Use MIPS instead of Mips and
15540 mips. Add two missing commas.
15541
8bce0628
PC
155422002-04-30 Paolo Carlini <pcarlini@unitus.it>
15543
15544 * doc/contrib.texi (Contributors): Update Paolo Carlini's
15545 and Benjamin Kosnik's entries.
15546
84643cbf
DM
155472002-04-29 David S. Miller <davem@redhat.com>
15548
15549 * config/sparc/sparc.h (BRANCH_COST, PREFETCH_BLOCK,
15550 SIMULTANEOUS_PREFETCHES): Tune for UltraSPARC-III.
15551 * config/sparc/sparc.md (call + jmp 32-bit peepholes): Likewise.
15552 * config/sparc/sparc.c (sparc_initialize_trampoline): Likewise.
15553
da6886f6
FS
155542002-04-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
15555
15556 * combine.c (find_split_point): Use gen_int_mode.
15557
fae15c93
VM
155582002-04-29 Vladimir Makarov <vmakarov@redhat.com>
15559
15560 Merging code from dfa-branch:
8998d5bf 15561
fae15c93
VM
15562 2002-04-24 Vladimir Makarov <vmakarov@redhat.com>
15563
15564 * genautomata.c (output_reserv_sets): Fix typo.
15565
15566 2002-04-23 Vladimir Makarov <vmakarov@redhat.com>
15567
15568 * genautomata.c (output_reserv_sets): Remove
15569 next_cycle_output_flag.
15570
15571 Thu Apr 18 08:57:06 2002 Jeffrey A Law (law@redhat.com)
15572
8998d5bf
ZW
15573 * sched-rgn.c (init_ready_list): Make the DFA code handle
15574 USE/CLOBBER insns in the same way as the traditional
15575 scheduler.
15576 (new_ready): Similarly..
fae15c93
VM
15577
15578 2002-04-17 Vladimir Makarov <vmakarov@redhat.com>
15579
15580 * haifa-sched.c (schedule_block): Change the DFA state only after
15581 issuing insn.
15582
15583 Wed Apr 17 15:38:36 2002 Jeffrey A Law (law@redhat.com)
15584
15585 * pa.c (hppa_use_dfa_pipeline_interface): New function.
15586 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define.
15587 (override_options): Add PA7300 scheduling support.
15588 (pa_adjust_cost): Update various comments. Properly
15589 handle anti and output dependencies when using the
15590 DFA scheduler.
15591 (pa_issue_rate): Add PA7300 scheduling support.
15592 (pa_can_combine_p): Call extract_insn before calling
15593 constrain_operands (taken from mainline tree).
15594 * pa.h (enum processor_type): Add PROCESSOR_PA7300.
15595 * pa.md (cpu attr): Add 7300. Rewrite pipeline
15596 descriptions using DFA descriptions. Add PA7300
15597 scheduling support.
15598
15599 2002-03-30 David S. Miller <davem@redhat.com>
15600
15601 Add UltraSPARC-III DFA scheduling support.
15602 * config/sparc/sparc.md (define_attr type): Add fpcrmove.
15603 Update FP conditional move on register insn patterns to use it, as
15604 appropriate.
15605 (define_attr cpu): Add ultrasparc3.
15606 (define_attr us3load_type): New, update integer load patterns to
15607 set it, as appropriate.
15608 (define_automaton): Add ultrasparc3_0 and ultrasparc3_1.
15609 (rest): Add UltraSPARC3 scheduling description.
15610 * config/sparc/sparc.h (TARGET_CPU_ultrasparc3): New.
15611 (PROCESSOR_ULTRASPARC3): New.
15612 ({ASM,CPP}_CPU64_DEFAULT_SPEC): Handle ultrasparc3.
15613 ({ASM,CPP}_CPU_SPEC): Likewise.
15614 (REGISTER_MOVE_COST): Likewise.
15615 (RTX_COSTS): Likewise.
15616 * config/sparc/sparc.c (sparc_override_options,
15617 sparc_initialize_trampoline, sparc64_initialize_trampoline,
15618 sparc_use_dfa_pipeline_interface, sparc_use_sched_lookahead,
15619 sparc_issue_rate): Likewise.
15620 * config/sparc/sol2.h: Likewise.
15621 * config/sparc/sol2-sld-64.h: Likewise.
15622 * config/sparc/linux64.h: Likewise.
8998d5bf 15623
fae15c93
VM
15624 2002-03-22 Vladimir Makarov <vmakarov@redhat.com>
15625
15626 * doc/md.texi: Add comments about usage the latency time for the
15627 different dependencies and about case when two or more conditions
15628 in different define_insn_reservations returns TRUE for an insn.
15629
15630 * doc/md.texi: Add reference for automaton based pipeline
15631 description.
8998d5bf 15632
fae15c93
VM
15633 2002-03-04 Vladimir Makarov <vmakarov@redhat.com>
15634
15635 * doc/passes.texi: Add missed information about genattrtab.
15636
15637 2002-03-01 Vladimir Makarov <vmakarov@redhat.com>
15638
15639 * genautomata.c (output_automata_list_transition_code): Check
15640 automata_list on NULL.
15641
15642 2002-02-28 Vladimir Makarov <vmakarov@redhat.com>
15643
15644 * genautomata.c (output_insn_code_cases,
15645 output_automata_list_min_issue_delay_code,
15646 output_automata_list_transition_code,
15647 output_automata_list_state_alts_code): Comment the functions.
15648
15649 2002-02-22 Vladimir Makarov <vmakarov@redhat.com>
15650
15651 * genautomata.c (automata_list_el_t): New typedef.
15652 (get_free_automata_list_el,free_automata_list_el,
15653 free_automata_list, automata_list_hash, automata_list_eq_p,
15654 initiate_automata_lists, automata_list_start, automata_list_add,
15655 automata_list_finish, finish_automata_lists,
15656 output_insn_code_cases, output_automata_list_min_issue_delay_code,
15657 output_automata_list_transition_code,
15658 output_automata_list_state_alts_code, add_automaton_state,
15659 form_important_insn_automata_lists): New functions and prototypes.
15660 (insn_reserv_decl): Add members important_automata_list and
15661 processed_p.
15662 (ainsn): Add members important_p.
15663 (automata_list_el): New structure.
15664 (first_free_automata_list_el, current_automata_list,
15665 automata_list_table): New global variables.
15666 (create_ainsns): Initiate member important_p.
15667 (output_internal_min_issue_delay_func): Generate the switch and
15668 call output_insn_code_cases.
15669 (output_internal_trans_func, output_internal_state_alts_func):
15670 Ditto.
15671 (generate): Call initiate_automata_lists.
15672 (automaton_states): New global variable.
15673 (expand_automata): Call form_important_insn_automata_lists.
15674 (write_automata): Call finish_automata_lists.
8998d5bf 15675
fae15c93
VM
15676 2002-02-21 Vladimir Makarov <vmakarov@redhat.com>
15677
15678 * genautomata.c (add_excls, add_presence_absence): Check that
8998d5bf 15679 cpu units in the sets belong the same automaton.
fae15c93
VM
15680
15681 * rtl.def (EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET): Add comment
15682 about that cpu units in the sets belong the same automaton.
15683
15684 * doc/md.texi: Ditto.
8998d5bf 15685
2799d721
VM
15686 2001-12-20 Naveen Sharma <naveens@noida.hcltech.com>
15687 Nitin Gupta <niting@noida.hcltech.com>
8998d5bf 15688
fae15c93
VM
15689 * config/sh/sh.c (sh_use_dfa_interface): New function.
15690
15691 (sh_issue_rate): New Function.
15692 TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE: define.
15693 TARGET_SCHED_ISSUE_RATE: define.
15694
15695 * config/sh/sh.md: Add DFA based pipeline description for SH4.
15696
8998d5bf
ZW
15697 (define_attr insn_class): New attribute used for DFA
15698 scheduling.
fae15c93
VM
15699 (define_insn cmpgtsi_t): Set attribute insn_class mt_group.
15700 (cmpgesi_t,cmpgtusi_t,cmpgeusi_t,cmpeqsi_t,
15701 cmpeqdi_t): Likewise.
15702
15703 (add,addc1,addsi3,subc,subc1,*subsi3_internal,
8998d5bf 15704 negc,negsi2,ashldi3_k,lshrdi3_k,ashrdi3_k): Set insn_class
fae15c93
VM
15705 ex_group.
15706 (iorsi3,rotlsi3_1,rotlsi3_31,rotlsi3_16): Likewise.
8998d5bf 15707
fae15c93
VM
15708 2001-10-03 Vladimir Makarov <vmakarov@toke.toronto.redhat.com>
15709
15710 * haifa-sched.c (queue_to_ready): Remove unnecessary condition for
15711 break.
15712
15713 2001-10-03 Vladimir Makarov <vmakarov@toke.toronto.redhat.com>
15714
15715 * genautomata.c (DFA_INSN_CODES_LENGTH_VARIABLE_NAME): New macro.
15716 (output_dfa_insn_code_func): Expand dfa_insn_codes if it is
15717 necessary.
15718 (output_dfa_start_func): Initiate new variable insn_codes_length,
15719 (write_automata): Output definition of the new variable.
8998d5bf 15720
fae15c93
VM
15721 2001-10-02 David S. Miller <davem@redhat.com>
15722
15723 * haifa-sched.c (advance_one_cycle): New function.
15724 (schedule_block): Use it.
15725 (queue_to_ready): Use it, and also make sure to advance the DFA
15726 state on all stall cycles, not just those where insn_queue links
15727 are found.
15728
15729 2001-10-02 Richard Sandiford <rsandifo@redhat.com>
15730
15731 * haifa-sched.c (max_issue): Remove last_p argument. Only return
15732 non-zero if the highest-priority instruction could be scheduled.
15733 (choose_ready): Remove last argument from max_issue call.
15734
15735 2001-09-28 David S. Miller <davem@redhat.com>
15736
15737 * config/sparc/sparc.c (sparc_use_sched_lookahead): Use 4 for
15738 ultrasparc and 3 for other multi-issue sparcs.
15739
15740 2001-09-27 David S. Miller <davem@redhat.com>
15741
15742 * config/sparc/sparc.md (cycle_display): New pattern.
15743 * config/sparc/sparc.c (sparc_cycle_display): New.
15744 (TARGET_SCHED_CYCLE_DISPLAY): Set it.
15745
15746 2001-09-25 David S. Miller <davem@redhat.com>
15747
15748 Convert all of Sparc scheduling to DFA
15749 * config/sparc/sparc.md: Kill all define_function_unit
15750 directives and replace with DFA equivalent.
15751 * config/sparc/sparc.c (ultrasparc_adjust_cost,
15752 mark_ultrasparc_pipeline_state, ultra_cmove_results_ready_p,
15753 ultra_fpmode_conflict_exists, ultra_find_type,
15754 ultra_build_types_avail, ultra_flush_pipeline,
15755 ultra_rescan_pipeline_state, ultrasparc_sched_reorder,
15756 ultrasparc_variable_issue, ultrasparc_sched_init,
15757 sparc_variable_issue, sparc_sched_reorder, ultra_code_from_mask,
15758 ultra_schedule_insn, ultra_code_names, ultra_pipe_hist,
15759 ultra_cur_hist, ultra_cycles_elapsed): Kill.
15760 (sparc_use_dfa_pipeline_interface, sparc_use_sched_lookahead,
15761 ultrasparc_store_bypass_p): New.
15762 * config/sparc/sparc-protos.h (ultrasparc_store_bypass_p):
15763 Declare.
15764
15765 2001-09-24 David S. Miller <davem@redhat.com>
15766
15767 * haifa-sched.c (ready_remove): Fix thinko, we want to copy around
15768 ready->vec[foo] not ready[foo].
15769
15770 2001-09-07 Vladimir Makarov <vmakarov@redhat.com>
15771
15772 * doc/md.texi: Correct examples for define_insn_reservations
15773 `mult' and `div'.
15774
15775 2001-09-07 Vladimir Makarov <vmakarov@redhat.com>
15776
15777 * genautomata.c (create_automata): Print message about creation of
15778 each automaton.
15779 (generate): Remove printing meease about creation of
15780 automata.
15781
15782 2001-09-05 David S. Miller <davem@redhat.com>
15783
15784 * config/sparc/linux.h: Set CPLUSPLUS_CPP_SPEC.
15785 * config/sparc/linux64.h: Likewise.
15786
15787 2001-08-31 Vladimir Makarov <vmakarov@redhat.com>
15788
15789 * haifa-sched.c (insn_cost, schedule_insn, queue_to_ready,
15790 schedule_block, sched_init, sched_finish): Add missed calls of
15791 use_dfa_pipeline_interface.
15792
15793 * sched-rgn.c (init_ready_list, new_ready, debug_dependencies):
15794 Ditto.
15795
15796 * sched-vis.c (get_visual_tbl_length): Ditto.
8998d5bf 15797
fae15c93
VM
15798 2001-08-27 Richard Henderson <rth@redhat.com>
15799
15800 * genattr.c (main): Emit state_t even when not doing scheduling.
15801
15802 2001-08-27 Richard Henderson <rth@redhat.com>
15803
15804 * genautomata.c (expand_automata): Always create a description.
15805
15806 2001-08-27 Vladimir Makarov <vmakarov@touchme.toronto.redhat.com>
15807
8998d5bf 15808 * rtl.def (DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT, EXCLUSION_SET,
fae15c93
VM
15809 PRESENCE_SET, ABSENCE_SET, DEFINE_BYPASS, DEFINE_AUTOMATON,
15810 AUTOMATA_OPTION, DEFINE_RESERVATION, DEFINE_INSN_RESERVATION): New
15811 RTL constructions.
15812
15813 * genattr.c (main): New variable num_insn_reservations. Increase
15814 it if there is DEFINE_INSN_RESERVATION. Output automaton based
15815 pipeline hazard recognizer interface.
15816
15817 * genattrtab.h: New file.
15818
15819 * genattrtab.c: Include genattrtab.h.
15820 (attr_printf, check_attr_test, make_internal_attr,
15821 make_numeric_value): Move protypes into genattrtab.h. Define them
15822 as external.
15823 (num_dfa_decls): New global variable.
15824 (main): Process DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT,
15825 DEFINE_BYPASS, EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET,
15826 DEFINE_AUTOMATON, AUTOMATA_OPTION, DEFINE_RESERVATION,
15827 DEFINE_INSN_RESERVATION. Call expand_automata and write_automata.
15828
15829 * genautomata.c: New file.
15830
15831 * rtl.h (LINK_COST_ZERO, LINK_COST_FREE): Remove them.
15832
8998d5bf 15833 * sched-int.h: (curr_state): Add the external definition for
fae15c93
VM
15834 automaton pipeline interface.
15835 (haifa_insn_data): Add comments for members blockage and units.
15836
15837 * target-def.h (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
15838 TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
15839 TARGET_SCHED_DFA_PRE_CYCLE_INSN,
15840 TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
15841 TARGET_SCHED_DFA_POST_CYCLE_INSN,
15842 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
15843 TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): New
15844 macros.
15845 (TARGET_SCHED): Use the new macros.
15846
15847 * target.h (use_dfa_pipeline_interface, init_dfa_pre_cycle_insn,
15848 dfa_pre_cycle_insn, init_dfa_post_cycle_insn, dfa_post_cycle_insn,
15849 first_cycle_multipass_dfa_lookahead, init_dfa_bubbles,
15850 dfa_bubble): New members in gcc_target.sched.
15851
8998d5bf 15852 * haifa-sched.c (insert_schedule_bubbles_p): New variable.
fae15c93
VM
15853 (MAX_INSN_QUEUE_INDEX): New macro for automaton interface.
15854 (insn_queue): Redefine it as pointer to array.
15855 (NEXT_Q, NEXT_Q_AFTER): Use MAX_INSN_QUEUE_INDEX instead of
15856 INSN_QUEUE_SIZE.
15857 (max_insn_queue_index_macro_value): New variable.
15858 (curr_state, dfa_state_size, ready_try): New varaibles for
15859 automaton interface.
15860 (ready_element, ready_remove, max_issue): New function prototypes
15861 for automaton interface.
15862 (choose_ready): New function prototype.
15863 (insn_unit, blockage_range): Add comments.
15864 (unit_last_insn, unit_tick, unit_n_insns): Define them for case
15865 FUNCTION_UNITS_SIZE == 0.
15866 (insn_issue_delay, actual_hazard_this_instance, schedule_unit,
15867 actual_hazard, potential_hazard): Add comments.
15868 (insn_cost): Use cost -1 as undefined value. Remove
15869 LINK_COST_ZERO and LINK_COST_FREE. Add new code for automaton
15870 pipeline interface.
15871 (ready_element, ready_remove): New functions for automaton
15872 interface.
15873 (schedule_insn): Add new code for automaton pipeline interface.
15874 (queue_to_ready): Add new code for automaton pipeline interface.
15875 Use MAX_INSN_QUEUE_INDEX instead of INSN_QUEUE_SIZE.
15876 (debug_ready_list): Print newline when the queue is empty.
15877 (max_issue): New function for automaton pipeline interface.
15878 (choose_ready): New function.
15879 (schedule_block): Add new code for automaton pipeline interface.
15880 Print ready list before scheduling each insn.
15881 (sched_init): Add new code for automaton pipeline interface.
15882 Initiate insn cost by -1.
15883 (sched_finish): Free the current automaton state and finalize
15884 automaton pipeline interface.
15885
15886 * sched-rgn.c: Include target.h.
15887 (init_ready_list, new_ready, debug_dependencies): Add new code for
15888 automaton pipeline interface.
15889
15890 * sched-vis.c: Include target.h.
15891 (get_visual_tbl_length): Add code for automaton interface.
15892 (target_units, print_block_visualization): Add comments.
15893
8998d5bf 15894 * Makefile.in (GETRUNTIME, HASHTAB, HOST_GETRUNTIME, HOST_HASHTAB,
fae15c93
VM
15895 USE_HOST_GETRUNTIME, USE_HOST_HASHTAB, HOST_VARRAY): New variables.
15896 (sched-rgn.o, sched-vis.o): Add new dependency file target.h.
15897 (getruntime.o, genautomata.o): New entries.
15898 (genattrtab.o): Add new dependency file genattrtab.h.
15899 (genattrtab): Add new dependencies. Link it with `libm.a'.
15900 (getruntime.o, hashtab.o): New entries for canadian cross.
15901
15902 * doc/md.texi: Description of automaton based model.
15903
15904 * doc/tm.texi (TARGET_SCHED_ISSUE_RATE, TARGET_SCHED_ADJUST_COST):
15905 Add comments.
15906 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
15907 TARGET_SCHED_DFA_PRE_CYCLE_INSN,
15908 TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
15909 TARGET_SCHED_DFA_POST_CYCLE_INSN,
15910 TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
15911 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
15912 TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): The new
15913 hook descriptions.
15914 (TRADITIONAL_PIPELINE_INTERFACE, DFA_PIPELINE_INTERFACE,
15915 MAX_DFA_ISSUE_RATE): New macro descriptions.
15916
15917 * doc/contrib.texi: Add dfa based scheduler contribution.
15918
15919 * doc/gcc.texi: Add more information about genattrtab.
15920
a2ff290c
RK
15921Mon Apr 29 17:19:10 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
15922
15923 * reload1.c (eliminate_regs, case SUBREG): Fix typo in
15924 adjust_address_nv call.
15925
f97903cc
JJ
159262002-04-29 Janis Johnson <janis187@us.ibm.com>
15927
15928 * doc/install.texi (Testing): Provide additional information, and
15929 a stronger encouragement, for running the testsuites.
15930
f41a6bf1
DD
159312002-04-29 DJ Delorie <dj@redhat.com>
15932
15933 * config/mips/mips.c (mips_parse_cpu): Warn if the CPU name is
15934 given in upper case.
15935
d8af0868
RO
159362002-04-29 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
15937
15938 * fixinc/inclhack.def (solaris_widec): Include <wchar.h> in
15939 Solaris 2 <widec.h> if missing.
15940 * fixinc/fixincl.x: Regenerate.
15941 * fixinc/tests/base/widec.h: New file.
15942
1034407f
NC
159432002-04-29 Nick Clifton <nickc@cambridge.redhat.com>
15944
15945 * toplev.c (f_options): Add "profile" switch so that
15946 -fno-profile can be used to disable -p.
15947
fbe5eb6d
BS
159482002-04-29 Bernd Schmidt <bernds@redhat.com>
15949
15950 * c-common.c (type_for_mode): Add support for V2DFmode, V2DImode,
15951 UV2DImode.
15952 * tree.c (build_common_tree_nodes_2): Likewise.
15953 * tree.h (enum tree_index): Likewise.
15954 (V2DF_type_node, V2DI_type_node, unsigned_V2DI_type_node): Define.
15955
15956 * config/i386/i386.c (bdesc_comi, bdesc_2arg, bdesc_1arg): Add SSE2
15957 entries.
15958 (init_mmx_sse_builtins): Initialize SSE2 builtins.
15959 (ix86_expand_builtin): Add support for SSE2 builtins.
15960 * config/i386/i386.h (VALID_SSE2_REG_MODE): New macro.
15961 (VALID_SSE_REG_MODE): Use it.
15962 (VECTOR_MODE_SUPPORTED_P): Allow SSE2 modes here as well.
15963 (enum ix86_builtins): Add SSE2 builtins.
15964 * config/i386/i386.md (movv2df_internal, movv2df, movv8hi_internal,
15965 movv8hi, movv16qi_internal, movv16qi, pushv2df, pushv8hi, pushv16qi,
15966 addv2df3, vmaddv2df3, subv2df3, vmsubv2df3, mulv2df3, vmmulv2df3,
15967 divv2df3, vmdivv2df3, smaxv2df3, vmsmaxv2df3, sminv2df3, vmsminv2df3,
15968 sse2_anddf3, sse2_nanddf3, sse2_iordf3, sse2_xordf3, sqrtv2df2,
15969 vmsqrtv2df2, maskcmpv2df3, maskncmpv2df3, vmmaskcmpv2df3,
15970 vmmaskncmpv2df3, sse2_comi, sse2_ucomi, sse2_movmskpd, sse2_pmovmskb,
15971 sse2_maskmovdqu, sse2_movntv2df, sse2_movntti, sse2_movntsi, cvtdq2ps,
15972 cvtps2dq, cvttps2dq, cvtdq2pd, cvtpd2dq, cvttpd2dq, cvtpd2pi,
15973 cvttpd2pi, cvtpi2pd, cvtsd2si, cvttsd2si, cvtsi2sd, cvtsd2ss,
15974 cvtss2sd, cvtpd2ps, cvtps2pd, addv16qi3, addv8hi3, addv4si3, addv2di3,
15975 ssaddv16qi3, ssaddv8hi3, usaddv16qi3, usaddv8hi3, subv16qi3, subv8hi3,
15976 subv4si3, subv2di3, sssubv16qi3, sssubv8hi3, ussubv16qi3, ussubv8hi3,
15977 mulv8hi3, smulv8hi3_highpart, umulv8hi3_highpart, sse2_umulsidi3,
15978 sse2_umulv2siv2di3, sse2_pmaddwd, sse2_clrti, sse2_uavgv16qi3,
15979 sse2_uavgv8hi3, sse2_psadbw, sse2_pinsrw, sse2_pextrw, sse2_pshufd,
15980 sse2_pshuflw, sse2_pshufhw, eqv16qi3, eqv8hi3, eqv4si3, gtv16qi3,
15981 gtv8hi3, gtv4si3, umaxv16qi3, smaxv8hi3, uminv16qi3, sminv8hi3,
15982 ashrv8hi3, ashrv4si3, lshrv8hi3, lshrv4si3, sse2_lshrv2di3,
15983 ashlv8hi3, ashlv4si3, sse2_ashlv2di3, sse2_ashlti3, sse2_lshrti3,
15984 sse2_unpckhpd, sse2_unpcklpd, sse2_packsswb, sse2_packssdw,
15985 sse2_packuswb, sse2_punpckhbw, sse2_punpckhwd, sse2_punpckhdq,
15986 sse2_punpcklbw, sse2_punpcklwd, sse2_punpckldq, sse2_movapd,
15987 sse2_movupd, sse2_movdqa, sse2_movdqu, sse2_movdq2q, sse2_movq2dq,
15988 sse2_movhpd, sse2_movlpd, sse2_loadsd, sse2_movsd, sse2_storesd,
15989 sse2_shufpd, sse2_clflush, sse2_mfence, mfence_insn, sse2_lfence,
15990 lfence_insn): New patterns.
15991 (sse2_andti3, sse2_nandti3, sse2_iorti3, sse2_xorti3): Renamed from
15992 sse_andti3_sse2, sse_nandti3_sse2, sse_iorti3_sse2, sse_xorti3_sse2.
15993
44aefada
JH
15994Mon Apr 29 17:03:24 CEST 2002 Jan Hubicka <jh@suse.cz>
15995
15996 * i386.md (sse_mov?fcc*): Revert patch of Mar 14th.
15997
d5482cdc
GP
159982002-04-29 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
15999
16000 * doc/contrib.texi (Contributors): Add Paolo Carlini and
16001 Janis Johnson.
16002 Update Richard Henderson, Jakub Jelinek, and Mark Mitchell.
16003 Refer to Objective-C instead of ObjC, SPARC instead of sparc,
16004 and CPU instead of cpu.
16005
2c4b77f3
JH
16006Mon Apr 29 13:36:41 CEST 2002 Jan Hubicka <jh@suse.cz>
16007
16008 * toplev.c (flag_if_conversion, flag_if_conversion2): New static
16009 variables.
16010 (lang_independent_options): Add -fif-conversion, -fif-conversion2
16011 (rest_of_compilation): Do if conversion only when asked for.
16012 (parse_options_and_default_flags): Set new variables to 1 for -O1
16013 * invoke.texi (-fif-conversion, -fif-conversion2): Document.
16014
3de72741
JH
16015Mon Apr 29 13:02:50 CEST 2002 Jan Hubicka <jh@suse.cz>
16016
16017 * i386.c (dbx64_register_map): Fix typo.
16018
8aa18a7d
JH
16019Mon Apr 29 12:18:35 CEST 2002 Jan Hubicka <jh@suse.cz>
16020
16021 * predict.c (real_zero, real_one, real_almost_one, real_br_prob_base,
16022 real_one_half, real_bb_freq_max): New static variables.
16023 (debug_profile_bbauxs): Kill.
16024 (process_note_predictions): Kill unused variable.
16025 (block_info_def, edge_info_def): Use REAL_VALUE_TYPE instead of
16026 volatile double.
16027 (propagate_freq): Use REAL_ARITHMETICS.
16028 (estimate_bb_frequencies): Likevise; init new static variables.
16029 * Makefile.in (predict.o): Add dependency on real.h
16030
1bbad4c6
DM
160312002-04-28 David S. Miller <davem@redhat.com>
16032
16033 PR target/6500
16034 * config/sparc/sparc.md (prefetch): Emit properly for 32-bit vs.
16035 64-bit TARGET_V9. Do not use prefetch page, use prefetch for
16036 several {reads,writes} instead.
16037 * config/sparc/sparc.h (PREFETCH_BLOCK, SIMULTANEOUS_PREFETCHES):
16038 Define.
16039
3ef3f384
DM
160402002-04-27 David S. Miller <davem@redhat.com>
16041
16042 PR target/6494
16043 * config/sparc/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Be mindful
16044 of the stack bias.
16045
16046 * config/sparc/linux.h, config/sparc/linux64.h: Don't bother
16047 including signal.h and sys/ucontext.h, not needed.
16048
ec493bcb
HPN
160492002-04-29 Hans-Peter Nilsson <hp@bitrange.com>
16050
16051 * varasm.c (output_constant_def): Correct test for not calling
16052 ENCODE_SECTION_INFO for INTEGER_CST.
16053
60284a59
NB
160542002-04-29 Neil Booth <neil@daikokuya.demon.co.uk>
16055
16056 * cppexp.c (lex): Move some code to _cpp_parse_expr, but
16057 keep most cases as function eval_token.
16058 (eval_token): New function.
16059 (_cpp_parse_expr): Read token here for improved diagnostics.
16060 Don't use op_as_text. Detect bad ':' here.
16061 (reduce): Don't detect bad ':' here.
16062 (op_as_text): Remove.
16063 * cpphash.h (_cpp_test_assertion): Change prototype.
16064 * cpplib.c (_cpp_test_assertion): Change prototype.
16065
349a4b40
RH
160662002-04-28 Richard Henderson <rth@redhat.com>
16067
16068 PR c/5154
8998d5bf 16069 * ggc-common.c (ggc_mark_rtx_children_1): Rename from...
349a4b40
RH
16070 (ggc_mark_rtx_children): New.
16071
7a03f82f
JJ
160722002-04-28 Jakub Jelinek <jakub@redhat.com>
16073
16074 PR target/6496
16075 * config/sparc/sparc.md (call + jump 32-bit peepholes): Disable jump
16076 after call peepholes for UltraSPARC.
16077 (call + jump 64-bit peepholes): Remove.
16078
80103f96
FS
160792002-04-28 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
16080
16081 PR c/6497
16082 * config/rs6000/rs6000.md (sCC patterns): Remove clobber and use
16083 result as temporary value.
16084
06990986
JJ
160852002-04-28 Jakub Jelinek <jakub@redhat.com>
16086
16087 PR c++/6396
16088 * toplev.c (rest_of_compilation): Only run regrename and copy
16089 propagation if optimizing.
16090
a20fd5ac
JJ
160912002-04-28 Jakub Jelinek <jakub@redhat.com>
16092
16093 PR optimization/6475
16094 * reload1.c (alter_reg): Only call set_mem_expr if I is home pseudo
16095 register of REGNO_DECL (i).
16096 * Makefile.in (reload1.o): Add $(TREE_H).
16097
87ed109f
NB
160982002-04-28 Neil Booth <neil@daikokuya.demon.co.uk>
16099
16100 * cppexp.c (lex): Update to use state.skip_eval.
16101 (struct op): Remove prio and flags members.
16102 (FLAG_BITS, FLAG_MASK, PRIO_SHIFT, EXTRACT_PRIO, EXTRACT_FLAGS,
16103 SHORT_CIRCUIT, RIGHT_ASSOC, ..._PRIO, op_to_prio): Remove.
16104 (LEFT_ASSOC): New macro.
16105 (optab): New table of operator priorities and flags.
16106 (SHIFT): Update.
16107 (_cpp_parse_expr): Clean up logic. Return bool. Use a
16108 malloc-ed parser stack.
16109 (reduce): New; reduce the operator stack.
16110 (_cpp_expand_op_stack): Expand the operator stack as necessary.
16111 * cpphash.h (struct op): Predeclare.
16112 (struct cpp_reader): New members op_stack, op_limit.
16113 (struct lexer_state): New member skip_eval.
16114 (_cpp_parse_expr): Update.
16115 (_cpp_expand_op_stack): New.
16116 * cpplib.c (do_if): Update.
16117 * cppinit.c (cpp_create_reader): Create op stack.
16118 (cpp_destroy): And destroy it.
16119 * cpplib.h (CPP_LAST_CPP_OP): Correct.
16120 (TTYPE_TABLE): Correct.
16121
45806a3f
FS
161222002-04-28 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
16123
16124 PR c/6343
16125 * c-decl.c (duplicate_decls): Call merge_weak.
16126 * c-pragma.c (apply_pragma_weak): Warn about misuse.
16127 * output.h (merge_weak): Prototype merge_weak.
16128 * varasm.c (merge_weak): New function.
16129 (declare_weak): Make sure we don't give an error on VAR_DECLs.
16130 Mark RTL with SYMBOL_REF_WEAK.
16131
a6227154
KG
161322002-04-27 Kurt Garloff <garloff@suse.de>
16133
16134 * tree-inline.c (inlinable_function_p): Improve heuristics
16135 by using a smoother function to cut down allowable inlinable size.
16136 * param.def: Add parameters max-inline-insns-single,
16137 max-inline-slope, min-inline-insns that determine the exact
16138 shape of the above function.
16139 * param.h: Likewise.
16140
94a50397
RH
161412002-04-26 Richard Henderson <rth@redhat.com>
16142
16143 * c-parse.in (malloced_yyss, malloced_yyvs): New.
16144 (yyoverflow): Re-add. Set them.
16145 (free_parser_stacks): New.
16146 * c-common.h: Declare it.
16147 * c-lex.c (c_common_parse_file): Call it.
16148
9c0a0632
RH
161492002-04-26 Richard Henderson <rth@redhat.com>
16150
16151 * cfgrtl.c (tidy_fallthru_edge): Don't use next_real_insn
16152 for fallthru search.
16153
b875d2ee
EC
161542002-04-26 Eric Christopher <echristo@redhat.com>
16155
16156 PR optimization/3700
16157 * config/mips/mips.c (mips_issue_rate): Define. New function.
16158 (TARGET_SCHED_ISSUE_RATE): Use.
16159
1db828df
DM
161602002-04-25 David S. Miller <davem@redhat.com>
16161
16162 PR target/6422
16163 * reorg.c (optimize_skip): Do not allow exception causing
16164 instructions to be considered for delay slots.
16165 (fill_simply_delay_slots, fill_slots_from_thread): Likewise.
16166 (relax_delay_slots): Do not try to consider exception causing
16167 instructions as redundant.
16168
ae5d234e
RH
161692002-04-26 Richard Henderson <rth@redhat.com>
16170
16171 PR c/5225
16172 * c-typeck.c (build_unary_op) [CONVERT_EXPR]: Invoke non_lvalue.
16173
7d793e9b
MM
161742002-04-26 Mark Mitchell <mark@codesourcery.com>
16175
16176 PR bootstrap/6445
16177 * config/i386/i386.md (untyped_call): Return the value in a float
16178 register if TARGET_FLOAT_RETURNS_IN_80387, not just if
16179 TARGET_80387.
16180
b13ab42c
AO
161812002-04-26 Alexandre Oliva <aoliva@redhat.com>
16182
16183 * tree.c (tree_int_cst_lt): Compare constants whose types differ
16184 in unsigned-ness correctly.
16185
5e56f909
JDA
161862002-04-26 John David Anglin <dave@hiauly1.hia.nrc.ca>
16187
16188 * pa.h (FUNCTION_OK_FOR_SIBCALL): Don't do sibcalls when using the
16189 portable runtime model.
16190
bde3c0c0
RH
161912002-04-26 Richard Henderson <rth@redhat.com>
16192
a6227154 16193 * c-parse.in (yyoverflow): Revert.
bde3c0c0 16194
5276df18
DE
161952002-04-26 David Edelsohn <edelsohn@gnu.org>
16196 Richard Henderson <rth@redhat.com>
16197
16198 * config/rs6000/rs6000.md (sCC pattern): Remove clobber and use
16199 result as temporary value.
16200
b84a3874
RH
162012002-04-26 Richard Henderson <rth@redhat.com>
16202
16203 PR c/3581
16204 * c-common.c (fix_string_type): Split out of ...
16205 (combine_strings): ... here. Take a varray, not a tree list.
16206 (c_expand_builtin_printf): Use fix_string_type.
16207 * c-common.h: Update decls.
16208 * c-parse.in (string): Remove. Update all uses to use STRING
16209 instead, and not call combine_strings.
16210 (yylexstring): New.
16211 (_yylex): Use it.
16212 * c-typeck.c (simple_asm_stmt): Don't call combine_strings.
16213 (build_asm_stmt): Likewise.
16214 * objc/objc-act.c (my_build_string): Use fix_string_type.
16215 (build_objc_string_object): Build varray for combine_strings.
16216
d8ae8cd4
BT
162172002-04-26 Bo Thorsen <bo@suse.co.uk>
16218
16219 * config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Define for
16220 x86-64.
16221
f8b954fc
NB
162222002-04-26 Neil Booth <neil@daikokuya.demon.co.uk>
16223
16224 * cppexp.c (CPP_UMINUS, CPP_UPLUS): New.
16225 (HAVE_NO_R_OPERAND): Remove.
16226 (HAVE_VALUE): Remove.
16227 (op_to_prio): Update.
16228 (UNARY): Don't alter flags.
16229 (_cpp_parse_expr): want_value used to indicate whether
16230 a number or unary operator is expected next. Distinguish
16231 unary and binary +/-.
16232 (op_as_text): Update for unary operators.
16233
6052bef0
RH
162342002-04-25 Richard Henderson <rth@redhat.com>
16235
16236 PR c/2161
16237 * c-parse.in (yyoverflow): New.
16238
5c5b2283
RH
162392002-04-25 Richard Henderson <rth@redhat.com>
16240
16241 PR c/2098
16242 * c-common.c (shorten_compare): Simplfy conditions leading to
16243 the generation of a warning.
16244
28ce94d4
RH
162452002-04-25 Richard Henderson <rth@redhat.com>
16246
16247 PR c/2035
16248 * expmed.c (extract_bit_field): Fall through to generic code rather
16249 than aborting on subreg special case.
16250
6bfd0c63
DM
162512002-04-25 David S. Miller <davem@redhat.com>
16252
16253 * config/sparc/sparc.h (FUNCTION_OK_FOR_SIBCALL): Add back check
16254 for DECL being NULL.
16255
7a430e3b
SC
162562002-04-25 Steve Christiansen <smc@us.ibm.com>
16257
16258 * doc/md.texi (Machine Constraints): Add IA-64 constraints.
16259
45c42d7d
EB
162602002-04-25 Eric Botcazou <ebotcazou@multimania.com>
16261
16262 * c-decl.c (grokdeclarator): Remove outdated ??? note
16263 on invalid declaration of flexible array members.
16264
eb7715a4
RH
162652002-04-25 Richard Henderson <rth@redhat.com>
16266
16267 * doc/invoke.texi: Document -gdwarf{,-2} vs debug level.
16268
cf5ee720
UW
162692002-04-25 Ulrich Weigand <uweigand@de.ibm.com>
16270
16271 * config/s390/s390.c (s390_emit_epilogue): Always restore registers
16272 needed by the compiler, even if they are used as global regs.
16273
d604bca3
MH
162742002-04-25 Matt Hiller <hiller@redhat.com>
16275
16276 * mips.c (mips_class_max_nregs, mips_register_move_cost): New
16277 functions.
16278 * mips.h (CLASS_MAX_NREGS, REGISTER_MOVE_COST): Redefine as calls
16279 of the corresponding functions.
16280 * mips-protos.h (mips_class_max_nregs, mips_register_move_cost):
16281 New prototypes.
b875d2ee 16282
d604bca3
MH
162832002-04-25 Matt Hiller <hiller@redhat.com>
16284
16285 * config/mips/mips.h (mips_sw_reg_names): Declare as extern.
16286
16287 (ALL_COP_ADDITIONAL_REGISTER_NAMES): New macro.
16288 (FIRST_PSEUDO_REGISTER): Redefine considering coprocessor
16289 registers, adjust comment accordingly.
16290 (FIXED_REGISTERS, CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS,
16291 reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS, REGISTER_NAMES,
16292 DEBUG_REGISTER_NAMES, REG_ALLOC_ORDER): Adjust to include entries
16293 for coprocessor registers.
16294 (ADDITIONAL_REGISTER_NAMES): Include
16295 ALL_COP_ADDITIONAL_REGISTER_NAMES.
b875d2ee 16296
d604bca3
MH
16297 (COP0_REG_FIRST, COP0_REG_LAST, COP0_REG_NUM,
16298 COP2_REG_FIRST, COP2_REG_LAST, COP2_REG_NUM,
16299 COP3_REG_FIRST, COP3_REG_LAST, COP3_REG_NUM,
16300 COP0_REG_P, COP2_REG_P, COP3_REG_P, ALL_COP_REG_P,
16301 COPNUM_AS_CHAR_FROM_REGNUM, COP_REG_CLASS_P): New macros.
16302
16303 (mips_char_to_class): Adjust comment to include coprocessor
16304 constraint letters.
16305
16306 * config/mips/mips.c (coprocessor_operand, coprocessor2_operand):
16307 New functions.
16308 (mips_reg_names, mips_regno_to_class): Include coprocessor
16309 information.
16310 (mips_sw_reg_names): Ditto, make non-static.
16311 (mips_move_1word): Handle moves to and from coprocessor registers.
16312 (mips_move_2words): Handle moves to and from coprocessor
16313 registers.
16314 (mips_class_max_nregs, mips_register_move_cost): Handle
16315 coprocessor register classes.
16316 (override_options): Initialize mips_char_to_class and
16317 mips_hard_regno_mode_ok properly for coprocessor registers.
16318
16319 * config/mips/mips.md (movdi_internal, movdi_internal2,
16320 movsi_internal1, movsi_internal2): Add constraint-sets for
16321 coprocessor registers.
16322 * testsuite/gcc.c-torture/mipscop-1.c: New testcase.
16323 * testsuite/gcc.c-torture/mipscop-1.x: Disable above if target
16324 isn't mips.
16325 * testsuite/gcc.c-torture/mipscop-2.c: New testcase.
16326 * testsuite/gcc.c-torture/mipscop-2.x: Disable above if target
16327 isn't mips.
16328 * testsuite/gcc.c-torture/mipscop-3.c: New testcase.
16329 * testsuite/gcc.c-torture/mipscop-3.x: Disable above if target
16330 isn't mips.
16331 * testsuite/gcc.c-torture/mipscop-4.c: New testcase.
16332 * testsuite/gcc.c-torture/mipscop-4.x: Disable above if target
16333 isn't mips.
b875d2ee 16334
d604bca3
MH
16335 * doc/tm.texi: Document feature.
16336
b9a26d09
NB
163372002-04-25 Neil Booth <neil@daikokuya.demon.co.uk>
16338
16339 * integrate.c (function_attribute_inlinable_p): Simplify.
16340 Check the table pointer is not NULL.
16341
ab5973b7
SB
163422002-04-25 Steven Bosscher <S.Bosscher@student.tudelft.nl>
16343
16344 * doc/c-tree.texi: Fix typo in introduction.
16345
ff45c01e
NB
163462002-04-25 Neil Booth <neil@daikokuya.demon.co.uk>
16347
16348 * c-common.h (c_common_parse_file): Update.
16349 * c-lang.c (LANG_HOOKS_SET_YYDEBUG): Remove.
16350 * c-lex.c (YYDEBUG): Get from c-lex.h.
16351 (c_common_parse_file): Update.
16352 * c-lex.h (YYDEBUG, yydebug): New.
16353 * c-parse.in (YYDEBUG): Get from c-lex.h.
16354 (c_set_yydebug): Remove.
16355 * c-tree.h (c_set_yydebug): Remove.
16356 * langhooks-def.h (lhd_do_nothing_i): New.
16357 (lhd_set_yydebug, LANG_HOOKS_SET_YYDEBUG): Remove.
16358 (LANG_HOOKS_PARSE_FILE, LANG_HOOKS_INITIALIZER): Update.
16359 * langhooks.c (lhd_do_nothing_i): New.
16360 (lhd_set_yydebug): Remove.
16361 * langhooks.h (struct lang_hooks): Update.
16362 * toplev.c (set_yydebug): New.
16363 (compile_file): Update call to parse_file hook.
16364 (decode_d_option): Update.
16365objc:
16366 * objc-lang.c (LANG_HOOKS_SET_YYDEBUG): Remove.
16367
fcae219a
R
16368Wed Apr 24 23:45:37 2002 J"orn Rennecke <joern.rennecke@superh.com>
16369
16370 * loop.c (load_mems): Don't change the interface of called functions.
16371
16372 * calls.c (expand_call): Take current_function_pretend_args_size
16373 into account when setting argblock for sibcalls.
16374
d0fea45a
MH
163752002-04-24 Matt Hiller <hiller@redhat.com>
16376
16377 * cpplex.c: Remove conditional #undef of MULTIBYTE_CHARS.
16378 * c-lex.c: Ditto.
16379
16380 * cpplex.c (skip_line_comment): Process comment one multibyte
16381 character at a time rather than one char at a time, if
16382 appropriate.
16383 (parse_string): Process string one multibyte character at a time
16384 rather than one char at a time, if appropriate.
16385 * c-lex.c (lex_string): Lex and copy multibyte strings
16386 appropriately.
16387 * cpplib.h (cppchar_t): Change to unsigned.
16388
2d1b5436
RH
163892002-04-24 Richard Henderson <rth@redhat.com>
16390
16391 PR c/3467
16392 * c-decl.c (grokdeclarator): Don't pedwarn variable sized arrays
16393 for c99.
16394
5e039e6b
R
16395Wed Apr 24 21:51:54 2002 J"orn Rennecke <joern.rennecke@superh.com>
16396
16397 * sh.c (sh_va_arg): If argument was passed by reference,
16398 dereference the pointer.
309d8365
R
16399
16400 * sh.h (PIC_OFFSET_TABLE_REGNUM): Conditionalize on flag_pic.
51214775
R
16401
16402 * sh.md (divsi3_i4_media): Use match_operand for input values
16403 rather than hard registers.
16404 (divsi3 - TARGET_SHMEDIA_FPU case): Don't ferry values
16405 unnecessarily through hard registers. Keep copies of pseudo
16406 registers outside of the libcall sequence.
16407
16408 * sh.md (casesi_shift_media): Add modes.
b700634a
R
16409
16410 * sh.h (RETURN_IN_MEMORY): Return variable size BLKmode
16411 values in memory.
16412
349ae713
NB
164132002-04-24 Neil Booth <neil@daikokuya.demon.co.uk>
16414
16415 * attribs.c (c_common_attribute_table): Move table and handlers
16416 to c-common.c.
16417 (format_attribute_table, lang_attribute_table,
16418 lang_attribute_common): Remove.
16419 (init_attributes): Replace NULL pointers with pointers to the
16420 empty table.
16421 (handle_packed_attribute, handle_nocommon_attribute,
16422 handle_common_attribute, handle_noreturn_attribute,
16423 handle_noinline_attribute, handle_always_inline_attribute,
16424 handle_used_attribute, handle_unused_attribute,
16425 handle_const_attribute, handle_transparent_union_attribute,
16426 handle_constructor_attribute, handle_destructor_attribute,
16427 handle_mode_attribute, handle_section_attribute,
16428 handle_aligned_attribute, handle_weak_attribute,
16429 handle_alias_attribute, handle_visibility_attribute,
16430 handle_no_instrument_function_attribute, handle_malloc_attribute,
16431 handle_no_limit_stack_attribute, handle_pure_attribute,
16432 handle_deprecated_attribute, handle_vector_size_attribute,
16433 vector_size_helper): Move to c-common.c.
16434 * c-common.c (c_common_attribute_table,
16435 handle_packed_attribute, handle_nocommon_attribute,
16436 handle_common_attribute, handle_noreturn_attribute,
16437 handle_noinline_attribute, handle_always_inline_attribute,
16438 handle_used_attribute, handle_unused_attribute,
16439 handle_const_attribute, handle_transparent_union_attribute,
16440 handle_constructor_attribute, handle_destructor_attribute,
16441 handle_mode_attribute, handle_section_attribute,
16442 handle_aligned_attribute, handle_weak_attribute,
16443 handle_alias_attribute, handle_visibility_attribute,
16444 handle_no_instrument_function_attribute, handle_malloc_attribute,
16445 handle_no_limit_stack_attribute, handle_pure_attribute,
16446 handle_deprecated_attribute, handle_vector_size_attribute,
16447 vector_size_helper): Move from attribs.c.
16448 * c-common.h (c_common_attribute_table,
16449 c_common_format_attribute_table): New.
16450 * c-lang.c (LANG_HOOKS_COMMON_ATTRIBUTE_TABLE,
16451 LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE): Redefine.
16452 * langhooks-def.h (LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE,
16453 LANG_HOOKS_COMMON_ATTRIBUTE_TABLE, LANG_HOOKS_ATTRIBUTE_TABLE): New.
16454 (LANG_HOOKS_INITIALIZER): Update.
16455 * langhooks.h (struct lang_hooks): 3 new attribute hooks.
16456 * target-def.h (TARGET_ATTRIBUTE_TABLE): Default to NULL.
16457 * target.h: Update comment.
16458 * tree.c (default_target_attribute_table): Remove.
16459 * tree.h (default_target_attribute_table, format_attribute_table,
16460 lang_attribute_table, lang_attribute_common): Remove.
16461objc:
16462 * objc-lang.c (LANG_HOOKS_COMMON_ATTRIBUTE_TABLE,
16463 LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE): Redefine.
16464
84f0ace0
JM
164652002-04-24 Jason Merrill <jason@redhat.com>
16466
16467 * dwarf2.h (enum dwarf_attribute): Add DW_AT_GNU_vector.
16468 * dwarf2out.c (dwarf_attr_name): Support it.
16469 (gen_array_type_die): Emit it.
16470 (lookup_type_die): No special handling for VECTOR_TYPE.
16471 (gen_type_die): Hand VECTOR_TYPE off to gen_array_type_die.
16472
120eaf28
RH
164732002-04-24 Richard Henderson <rth@redhat.com>
16474
16475 * config/mips/mips.md (movdi_usd): Renumber.
16476
e732178c
DM
164772002-04-24 David S. Miller <davem@redhat.com>
16478
16479 PR target/6420
16480 * config/sparc/sparc.h (FUNCTION_OK_FOR_SIBCALL): Return false if
16481 32-bit Sparc and current_function_returns_struct is true.
16482
e879eb2f
JH
16483Wed Apr 24 13:48:25 CEST 2002 Jan Hubicka <jh@suse.cz>
16484
16485 * loop.c (canonicalize_condition): Use gen_int_mode.
16486
4287a893
AH
164872002-04-24 Aldy Hernandez <aldyh@redhat.com>
16488
16489 * config/rs6000/altivec.h: Cleanup file. Add non individual
16490 variants.
16491 (vec_vaddubm): New.
16492 (vec_vadduhm): New.
16493 (vec_vadduwm): New.
16494 (vec_vaddfp): New.
16495 (vec_vaddcuw): New.
16496 (vec_vaddubs): New.
16497 (vec_vaddsbs): New.
16498 (vec_vadduhs): New.
16499 (vec_vadduws): New.
16500 (vec_vaddsws): New.
16501 (vec_vand): New.
16502 (vec_vandc): New.
16503 (vec_vavgub): New.
16504 (vec_vavgsb): New.
16505 (vec_vavguh): New.
16506 (vec_vavgsh): New.
16507 (vec_vavguw): New.
16508 (vec_vavgsw): New.
16509 (vec_vrfip): New.
16510 (vec_vcmpbfp): New.
16511 (vec_vcmpequb): New.
16512 (vec_vcmpequh): New.
16513 (vec_vcmpequw): New.
16514 (vec_vcmpeqfp): New.
16515 (vec_vcmpgefp): New.
16516 (vec_vcmpgtub): New.
16517 (vec_vcmpgtsb): New.
16518 (vec_vcmpgtuh): New.
16519 (vec_vcmpgtsh): New.
16520 (vec_vcmpgtuw): New.
16521 (vec_vcmpgtsw): New.
16522 (vec_vcmpgtfp): New.
16523 (vec_vcmpgefp): New.
16524 (vec_vcfux): New.
16525 (vec_vcfsx): New.
16526 (vec_vctsxs): New.
16527 (vec_vctuxs): New.
16528 (vec_vexptefp): New.
16529 (vec_vrfim): New.
16530 (vec_lvx): New.
16531 (vec_lvebx): New.
16532 (vec_lvehx): New.
16533 (vec_lde): Add vector float variant.
16534 (vec_lvewx): New.
16535 (vec_lvxl): New.
16536 (vec_vlogefp): New.
16537 (vec_vmaddfp): New.
16538 (vec_vmhaddshs): New.
16539 (vec_vmaxub): New.
16540 (vec_vmaxsb): New.
16541 (vec_vmaxuh): New.
16542 (vec_vmaxsh): New.
16543 (vec_vmaxuw): New.
16544 (vec_vmaxsw): New.
16545 (vec_vmaxsw): New.
16546 (vec_vmaxfp): New.
16547 (vec_vmrghb): New.
16548 (vec_vmrghh): New.
16549 (vec_vmrghw): New.
16550 (vec_vmrglb): New.
16551 (vec_vmrglh): New.
16552 (vec_vmrglw): New.
16553 (vec_vminub): New.
16554 (vec_vminsb): New.
16555 (vec_vminuh): New.
16556 (vec_vminsh): New.
16557 (vec_vminuw): New.
16558 (vec_vminsw): New.
16559 (vec_vminfp): New.
16560 (vec_vmladduhm): New.
16561 (vec_vmhraddshs): New.
16562 (vec_msumubm): New.
16563 (vec_vmsummbm): New.
16564 (vec_vmsumuhm): New.
16565 (vec_vmsumshm): New.
16566 (vec_vmsumuhs): New.
16567 (vec_vmsumshs): New.
16568 (vec_vmuleub): New.
16569 (vec_vmulesb): New.
16570 (vec_vmuleuh): New.
16571 (vec_vmulesh): New.
16572 (vec_vmuloub): New.
16573 (vec_mulosb): New.
16574 (vec_vmulouh): New.
16575 (vec_vmulosh): New.
16576 (vec_vnmsubfp): New.
16577 (vec_vnor): New.
16578 (vec_vor): New.
16579 (vec_vpkuhum): New.
16580 (vec_vpkuwum): New.
16581 (vec_vpkpx): New.
16582 (vec_vpkuhus): New.
16583 (vec_vpkshss): New.
16584 (vec_vpkuwus): New.
16585 (vec_vpkswss): New.
16586 (vec_vpkshus): New.
16587 (vec_vpkswus): New.
16588 (vec_vperm): New.
16589 (vec_vrefp): New.
16590 (vec_vrlb): New.
16591 (vec_vrlh): New.
16592 (vec_vrlw): New.
16593 (vec_vrfin): New.
16594 (vec_vrsqrtefp): New.
16595 (vec_vsel): New.
16596 (vec_vslb): New.
16597 (vec_vslh): New.
16598 (vec_vslw): New.
16599 (vec_vsldoi): New.
16600 (vec_vsl): New.
16601 (vec_vslo): New.
16602 (vec_vspltb): New.
16603 (vec_vsplth): New.
16604 (vec_vspltw): New.
16605 (vec_vspltisb): New.
16606 (vec_vspltish): New.
16607 (vec_vspltisw): New.
16608 (vec_vsrb): New.
16609 (vec_vsrh): New.
16610 (vec_vsrw): New.
16611 (vec_vsrab): New.
16612 (vec_vsrah): New.
16613 (vec_vsraw): New.
16614 (vec_vsr): New.
16615 (vec_vsro): New.
16616 (vec_stvx): New.
16617 (vec_stvebx): New.
16618 (vec_stvehx): New.
16619 (vec_stvewx): New.
16620 (vec_stvxl): New.
16621 (vec_vsububm): New.
16622 (vec_vsubuhm): New.
16623 (vec_vsubuwm): New.
16624 (vec_vsubfp): New.
16625 (vec_vsubcuw): New.
16626 (vec_vsububs): New.
16627 (vec_vsubsbs): New.
16628 (vec_vsubuhs): New.
16629 (vec_vsubshs): New.
16630 (vec_vsubuws): New.
16631 (vec_vsubsws): New.
16632 (vec_vsum4ubs): New.
16633 (vec_vsum4sbs): New.
16634 (vec_vsum4shs): New.
16635 (vec_vsum2sws): New.
16636 (vec_vsumsws): New.
16637 (vec_vrfiz): New.
16638 (vec_vupkhsb): New.
16639 (vec_vupkhpx): New.
16640 (vec_vupkhsh): New.
16641 (vec_vupklsb): New.
16642 (vec_vupklpx): New.
16643 (vec_vupklsh): New.
16644 (vec_vxor): New.
16645
cff27795
EB
166462002-04-23 Eric Botcazou <ebotcazou@multimania.com>
16647
16648 PR c/5430
16649 * fold-const.c (split_tree): Add MINUS_LITP parameter; separate
16650 added literals from substracted literals.
16651 (associate_trees): Don't convert MINUS_EXPR into PLUS_EXPR.
16652 (fold) [associate]: Preserve MINUS_EXPR if needed.
16653
952bca84
ZW
166542002-04-23 Zack Weinberg <zack@codesourcery.com>
16655
16656 * doc/install.texi: Clarify which versions of alpha*-dec-osf*
16657 are obsoleted.
16658
50cb2154
TT
166592002-04-23 Tom Tromey <tromey@redhat.com>
16660
16661 * gcc.c: Added --resource. For PR java/6314.
16662
271f61fb
DB
166632002-04-23 David O'Brien <obrien@FreeBSD.org>
16664
9566d1e9 16665 * cp/g++spec.c: Use profiled libstdc++ and libm with -p/-pg.
271f61fb
DB
16666 * config/freebsd.h (MATH_LIBRARY_PROFILE): Use the _p verions of
16667 these libraries.
16668
bdabbc80
DB
166692002-04-23 David O'Brien <obrien@FreeBSD.org>
16670
16671 * config/freebsd.h(OBJECT_FORMAT_ELF): Define.
16672
74411039
JH
16673Tue Apr 23 14:24:25 CEST 2002 Jan Hubicka <jh@suse.cz>
16674
16675 * i386.c (ix86_output_addr_diff_elt): Avoid x86_64 binutils bug
16676 workaround.
16677 (ix86_expand_int_movcc): Avoid x86_64 compilation chrash.
16678 (ix86_expand_clrstr): Fix typo.
16679 * loop.c (gen_load_of_final_value): New.
16680 (loop_givs_rescan, strength_reduce, check_dbra_loop):
16681 Use it.
16682
1a887f86
RS
166832002-04-23 Roger Sayle <roger@eyesopen.com>
16684
16685 * builtins.c (builtin_memset_gen_str): New function.
16686 (expand_builtin_memset): Optimize the case of constant length, but
16687 unknown value.
16688
8d3441e0
AH
166892002-04-23 Aldy Hernandez <aldyh@redhat.com>
16690
cff27795
EB
16691 * config/rs6000/altivec.h (vec_step): Remove extraneous
16692 parentheses.
16693 (vec_ctu): Cast return.
8d3441e0 16694
f6f315fe
AM
166952002-04-23 Alan Modra <amodra@bigpond.net.au>
16696
16697 PR target/6413
16698 * function.h: (struct function): Add profile_label_no field.
16699 (current_function_profile_label_no): Define.
16700 * function.c: (profile_label_no): New static var.
16701 (expand_function_start): Increment it, and copy to
16702 current_function_profile_label_no.
16703 * output.h (profile_label_no): Delete.
16704 * final.c (profile_label_no): Delete.
16705 (profile_function): Use current_function_profile_label_no.
16706 (final_end_function): Don't increment profile_label_no here.
16707 * config/i386/i386.c (ix86_osf_output_function_prologue): Replace
16708 profile_label_no with current_function_profile_label_no.
16709 * config/pa/pa.c (current_function_number): Delete.
16710 (pa_output_function_prologue): Don't output profile label here.
16711 (hppa_profile_hook): Use label_no param rather than
16712 current_function_number.
16713 (FUNC_BEGIN_PROLOG_LABEL): Move to ..
16714 * config/pa/pa.h: .. here.
16715 (FUNCTION_PROFILER): Output profile label here.
16716
d239cdc0
EC
167172002-04-22 Eric Christopher <echristo@redhat.com>
16718
16719 * config/mips/mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Revert
16720 patch of 2002-04-09 due to binutils issues.
16721 (FUNCTION_ARG_REGNO_P): Ensure even numbered float register.
16722
04428ad4
AH
167232002-04-22 Aldy Hernandez <aldyh@redhat.com>
16724
cff27795
EB
16725 * config/rs6000/rs6000.md ("*movv4si_internal"): Change 'm'
16726 constraint to 'o' for m=r and r=m alternatives.
16727 ("*movv8hi_internal1"): Same.
16728 ("*movv16qi_internal1"): Same.
16729 ("*movv4sf_internal1"): Same.
04428ad4 16730
2adc7f12
JJ
167312002-04-22 Janis Johnson <janis187@us.ibm.com>
16732
16733 * rtl.h (RTX_FLAG): New macro.
16734 * emit-rtl.c (copy_most_rtx): Use macros to access rtx flags.
16735 * final.c (alter_subreg): Use macro to access rtx flag.
16736 * integrate.c (copy_rtx_and_substitute): Use new access macro.
16737 * print-rtl.c (print_rtx): Use new access macro.
16738
16739 * cse.c (insert): Check rtx code before accessing flag.
16740
16741 * genattrtab.c (ATTR_IND_SIMPLIFIED_P, ATTR_CURR_SIMPLIFIED_P,
16742 ATTR_PERMANENT_P, ATTR_EQ_ATTR_P): New.
16743 (attr_hash_add_string, attr_rtx_1, attr_copy_rtx, check_attr_test,
16744 convert_const_symbol_ref, make_canonical, make_alternative_compare,
16745 evaluate_eq_attr, attr_rtx_cost, simplify_test_exp_in_temp,
16746 simplify_test_exp, optimize_attrs, simplify_by_exploding,
16747 find_and_mark_used_attributes, unmark_used_attributes,
16748 add_values_to_cover, simplify_with_current_value,
16749 simplify_with_current_value_aux, clear_struct_flag, walk_attr_value,
16750 copy_rtx_unchanging, main): Use new access macros.
16751
b7c89afe
TR
167522002-04-22 Tom Rix <trix@redhat.com>
16753
16754 * expmed.c (init_expmed): Generate shifted constant once.
16755
9340544b
ZW
167562002-04-22 Zack Weinberg <zack@codesourcery.com>
16757
16758 * c-lex.c (lex_charconst): Call convert to get constant in
16759 proper type; don't just smash the type field.
16760 Fixes PR c/6300.
16761
16762 * config.gcc: Add list of obsolete configurations. Disallow
16763 building these without --enable-obsolete.
16764 * doc/install.texi: Document --enable-obsolete and obsoletion
16765 policy. Mention obsoletion of individual targets in
16766 appropriate places.
16767
f942d7a5
RH
167682002-04-22 Richard Henderson <rth@redhat.com>
16769
16770 * config/sparc/sol2-bi.h (ASM_DEBUG_SPEC): New.
16771
167722002-04-22 Mark Mitchell <mark@codesourcery.com>
8ed8f731
MM
16773
16774 PR f/6138.
16775 * function.c (fixup_memory_subreg): Add promoted_mode parameter.
16776 (walk_fixup_memory_subreg): Likewise.
16777 (fixup_var_refs_insn): Adjust accordingly.
16778 (fixup_var_refs_1): Likewise.
16779
232b0b45
UW
167802002-04-22 Ulrich Weigand <uweigand@de.ibm.com>
16781
16782 * config/s390/linux.h: (LIBPATH_SPEC, LIBPATH_ARCH31_SPEC,
16783 LIBPATH_ARCH64_SPEC): Define.
16784 (EXTRA_SPECS): Add libpath, libpath_arch31, libpath_arch64.
16785 (STARTFILE_SPEC, ENDFILE_SPEC): Define; use libpath.
16786 (LINK_ARCH31_SPEC): Add libpath_arch31 to search path.
16787 (LINK_ARCH64_SPEC): Add libpath_arch64 to search path.
16788
1b61552b
JS
167892002-04-22 Joel Sherrill <joel@OARcorp.com>
16790
16791 * gthr-rtems.h: Correct prototypes to remove warnings.
16792
0fe854a7
RH
167932002-04-22 Richard Henderson <rth@redhat.com>
16794
16795 PR c/6344
16796 * alias.c (canon_true_dependence): Special case (mem:blk (scratch)).
16797
16798 * gcse.c (free_insn_expr_list_list): New.
16799 (clear_modify_mem_tables): Use it. Fix bit set usage.
16800 (canon_list_insert): Use EXPR_LISTs for expressions.
16801 (record_last_mem_set_info): Factor BLOCK_NUM (insn).
16802
af0d16cd
NB
168032002-04-22 Neil Booth <neil@daikokuya.demon.co.uk>
16804
16805 * cppfiles.c (_cpp_pop_file_buffer): Return void. Move
16806 file change and include code to _cpp_pop_buffer.
16807 * cpphash.h (struct pending_option): Predeclare.
16808 (struct cpp_reader): New member next_include_file.
16809 (_cpp_pop_file_buffer): Update.
16810 (_cpp_push_next_buffer): Update, rename.
16811 * cppinit.c (cpp_destroy): Free include chain and pending here.
16812 (cpp_finish_options): Simplify.
16813 (_cpp_push_next_buffer): Rename and clean up.
16814 * cpplib.c (cpp_pop_buffer): Move code from _cpp_pop_file_buffer.
16815 Clarify.
16816 * cppmacro.c (cpp_scan_nooutput): Set return_at_eof here.
16817
0d918572
AH
168182002-04-22 Aldy Hernandez <aldyh@redhat.com>
16819
0fe854a7
RH
16820 * config/rs6000/altivec.h (vec_xor): Add variant for both args
16821 being vector signed int.
16822 (vec_andc): Same.
16823 (vec_xor): Add variant for both args being vector signed char.
16824 Remove redundant variant.
16825 (vec_andc): Same.
0d918572 16826
77e2c290
DM
168272002-04-21 David S. Miller <davem@redhat.com>
16828
16829 * config/sparc/sparc.md (set then compare DI mode peephole2): Fix
16830 compare mode in output RTL.
16831
ee2ca2a2
DE
168322002-04-22 David Edelsohn <edelsohn@gnu.org>
16833
16834 * config/rs6000/rs6000.c (rs6000_override_options): Correct
16835 style and formatting of previous patch.
16836
894bdff6
AM
168372002-04-22 Alan Modra <amodra@bigpond.net.au>
16838
16839 * config/rs6000/rs6000.c (rs6000_override_options): Always clear
16840 flag_pic for ABI_AIX.
16841
562a5c27
NB
168422002-04-21 Neil Booth <neil@daikokuya.demon.co.uk>
16843
16844 * cppexp.c (struct op, parse_number): Replace U_CHAR with uchar.
16845 * cppfiles.c (read_include_file): Similarly.
16846 * cpphash.h (DSC, U_CHAR, ustrcmp, ustrncmp, ustrlen,
16847 uxstrdup ustrchr, ufputs): Similarly.
16848 * cppinit.c (TRIGRAPH_MAP, cpp_destroy): Similarly.
16849 * cpplex.c (parse_slow, unescaped_terminator_p, save_comment,
16850 cpp_ideq, parse_identifier, parse_number): Similarly.
16851 * cpplib.c (struct directive, dequote_string, D, run_directive,
16852 cpp_push_buffer): Similarly.
16853 * cppmacro.c (new_string_token, builtin_macro, cpp_quote_string,
16854 _cpp_create_definition, check_trad_stringification,
16855 cpp_macro_definition): Similarly.
16856
9ac3b1be
NB
168572002-04-21 Neil Booth <neil@daikokuya.demon.co.uk>
16858
16859 * cppmacro.c (funlike_invocation_p): Don't step back
16860 over CPP_EOF.
16861
9dda4cc8
DE
168622002-04-21 David Edelsohn <edelsohn@gnu.org>
16863
16864 * config/rs6000/rs6000.c (output_profile_hook): Do not increment
16865 labelno.
16866
20764052
JM
168672002-04-20 Joseph S. Myers <jsm28@cam.ac.uk>
16868
16869 * doc/invoke.texi: Remove Chill references.
16870 * doc/gcc.texi: Update last modified date.
16871
26b29884
KH
168722002-04-20 Kazu Hirata <kazu@hxi.com>
16873
16874 * config/h8300/lib1funcs.asm (___mulsi3): Remove unnecessary
16875 push and pop. Replace add.l with add.w.
16876
59184677
TM
168772002-04-20 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
16878
16879 * config/h8300/lib1funcs.asm (___mulsi3): Use hardware
16880 multiply instructions for H8/300H case.
16881
b1113e0a
TM
168822002-04-20 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
16883
16884 * config/h8300/lib1funcs.asm (___cmpsi2, ___ucmpsi2):
16885 Bum three instructions from each routine.
16886
b03e38e1
NB
168872002-04-20 Neil Booth <neil@daikokuya.demon.co.uk>
16888
16889 * Makefile.in: Update.
16890 * decl.c (push_c_function_context, pop_c_function_context,
16891 mark_c_function_context): Rename for consistency.
16892 * c-objc-common.c (c_objc_common_init): Langhooks set elsewhere.
16893 * c-tree.h (push_c_function_context, pop_c_function_context,
16894 mark_c_function_context): Rename for consistency.
16895 * c-lang.c (LANG_HOOKS_FUNCTION_ENTER_NESTED,
16896 LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_FUNCTION_MARK): Redefine.
16897 * function.c (init_lang_status, save_lang_status,
16898 restore_lang_status, mark_lang_status, free_lang_status):
16899 Move to langhooks.h.
16900 (push_function_context_to, pop_function_context_from,
16901 free_after_parsing, prepare_function_start, ggc_mark_struct_function):
16902 Update.
16903 * function.h (init_lang_status, save_lang_status,
16904 restore_lang_status, mark_lang_status, free_lang_status):
16905 Move to langhooks.h.
16906 * langhooks-def.h (LANG_HOOKS_FUNCTION_INIT,
16907 LANG_HOOKS_FUNCTION_FREE, LANG_HOOKS_FUNCTION_ENTER_NESTED,
16908 LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_FUNCTION_MARK,
16909 LANG_HOOKS_FUNCTION_INITIALIZER): New.
16910 (LANG_HOOKS_INITIALIZER): Update.
16911 (lhd_do_nothing_f): New.
16912 * langhooks.h (struct lang_hooks_for_functions): New.
16913 (struct lang_hooks): New hooks.
16914 * langhooks.c (lhd_do_nothing_f): New.
16915objc:
16916 * objc-lang.c (LANG_HOOKS_FUNCTION_ENTER_NESTED,
16917 LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_FUNCTION_MARK): Redefine.
16918
db430d26
DM
169192002-04-19 David S. Miller <davem@redhat.com>
16920
16921 * config/sparc/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Define.
16922 * config/sparc/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Likewise.
16923
0f2a3457
JJ
169242002-04-19 Jakub Jelinek <jakub@redhat.com>
16925
16926 PR optimization/3756
16927 * config/i386/i386.c (ix86_expand_int_movcc): Optimize
16928 x = ((int) y < 0) ? cst1 : cst2.
16929
ce5e43d0
JJ
169302002-04-19 Jakub Jelinek <jakub@redhat.com>
16931
16932 PR c/6358
16933 * function.c: Reapply patch for c/6358.
16934 (expand_function_end): Copy decl_rtl's mode, not
16935 current_function_return_rtx mode.
16936
169372002-04-19 Joel Sherrill <joel@OARcorp.com>
9eb83f6c
JS
16938
16939 * config/rtems.h (STARTFILE_SPEC, ENDFILE_SPEC): Fix for non-ELF
16940 targets.
16941
40e7f8ea
TT
169422002-04-19 Tom Tromey <tromey@redhat.com>
16943
16944 * doc/install.texi (Specific): Update status of Solaris 2.8.
16945 For PR libgcj/6158.
16946
62a12b27
AS
169472002-04-19 Andreas Schwab <schwab@suse.de>
16948
16949 * real.c: Allow sizeof (REAL_VALUE_TYPE) > 2*NE.
16950 (PUT_REAL): Restore old definition.
16951
1405141b
DN
169522002-04-19 Dan Nicolaescu <dann@godzilla.ics.uci.edu>
16953 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
16954
16955 * doc/install.texi (Specific, sparc-sun-solaris2*): Mention that
16956 binutils 2.11.2 and higher generate smaller binaries than Sun's
16957 native tools.
16958
303a3927
MM
169592002-04-19 Mark Mitchell <mark@codesourcery.com>
16960
16961 PR c++/6352
16962 * toplev.c (rest_of_compilation): Do not defer functions for which
16963 TREE_SYMBOL_REFERENCED has already been set.
16964
de80110b
JH
16965Fri Apr 19 15:53:03 CEST 2002 Jan Hubicka <jh@suse.cz>
16966
16967 * i386.md (movsi_1, movhi_1): Force reload to use more flexible
16968 alternative.
16969
ab393bf1
NB
169702002-04-19 Neil Booth <neil@daikokuya.demon.co.uk>
16971
16972 * builtins.c: Include langhooks.h.
16973 (lang_type_promotes_to): Remove.
16974 (expand_builtin_va_arg): Use new hook.
16975 * c-common.c (c_common_nodes_and_builtins): Don't set hook.
16976 (simple_type_promotes_to): Move to c-typeck.c.
16977 * c-common.h (simple_type_promotes_to): Remove.
16978 * c-decl.c (duplicate_decls, grokdeclarator): Update.
16979 * c-format.c: Include langhooks.h.
16980 (check_format_types): Update.
16981 * c-tree.h (c_type_promotes_to): New.
16982 * c-typeck.c (c_type_promotes_to): Move from c-common.c.
16983 (type_lists_compatible_p): Update.
16984 * langhooks-def.h (lhd_type_promotes_to): New.
16985 (LANG_HOOKS_TYPE_PROMOTES_TO): New.
16986 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Update.
16987 * langhooks.c (lhd_type_promotes_to): New.
16988 * langhooks.h (struct lang_hooks_for_types): New hook.
16989 * tree.h (lang_type_promotes_to): Remove.
16990objc:
16991 * objc-lang.c (LANG_HOOKS_TYPE_PROMOTES_TO): Redefine.
16992
0cd3301b
RH
169932002-04-18 Richard Henderson <rth@redhat.com>
16994
58533fa2 16995 * function.c: Revert patch for c/6358.
0cd3301b
RH
16996
169972002-04-18 Richard Henderson <rth@redhat.com>
16998
58533fa2
RH
16999 * ifcvt.c (find_cond_trap): Handle cases with no proper THEN or JOIN
17000 blocks. Handle multiple references to the TRAP block. Handle
17001 non-adjacent THEN and OTHER blocks.
0cd3301b 17002
58533fa2
RH
170032002-04-18 Richard Henderson <rth@redhat.com>
17004
17005 * config/ia64/ia64.c (ia64_function_arg_pass_by_reference): Don't
17006 crash with no type for by-mode libcalls.
17007
17008 * config/ia64/ia64.md (conditional_trap): Fix predicate polarity.
0cd3301b 17009
57174693
BW
170102002-04-18 Bob Wilson <bob.wilson@acm.org>
17011
17012 * config/xtensa/lib2funcs.S (__xtensa_libgcc_window_spill,
17013 __xtensa_nonlocal_goto): Use a syscall instructions to flush
17014 the register windows.
17015
46468cd9
ZW
170162002-04-18 Zack Weinberg <zack@codesourcery.com>
17017
17018 * real.h: Define REAL_VALUE_TYPE_SIZE as 96 or 160, as
17019 appropriate. Document need for extended precision even when
17020 MAX_LONG_DOUBLE_TYPE_SIZE is smaller. Define REAL_WIDTH here,
17021 based on REAL_VALUE_TYPE_SIZE. Use REAL_WIDTH to size
17022 REAL_VALUE_TYPE. Define CONST_DOUBLE_FORMAT here. Use #error
17023 instead of relying on later syntax error when REAL_WIDTH > 5.
17024 * real.c: Define NE based only on whether or not we have a
17025 full 128-bit extended type (not INTEL_EXTENDED_IEEE_FORMAT).
17026 Require sizeof(REAL_VALUE_TYPE) == 2*NE. Unconditionally
17027 define GET_REAL and PUT_REAL as simple memcpy operations; no
17028 need to byteswap or round.
17029 Use #error instead of #ifdef-ing out the entire file, for
17030 prompt error detection.
17031
17032 * rtl.c, gengenrtl.c: No need to calculate CONST_DOUBLE_FORMAT here.
17033
2f82dbf8
DM
170342002-04-18 David S. Miller <davem@redhat.com>
17035
17036 * config/sparc/sparc.h (BRANCH_COST): Define.
17037
17038 * fold-const.c (BRANCH_COST): Don't provide default here, expr.h
17039 does it.
17040
566576e7
HPN
170412002-04-18 Hans-Peter Nilsson <hp@bitrange.com>
17042
17043 * flow.c (update_life_info): Ignore return value of cleanup_cfg.
17044 Mask out PROP_SCAN_DEAD_CODE | PROP_KILL_DEAD_CODE in
17045 propagate_block calls after relaxation loop using new variable
17046 stabilized_prop_flags.
17047
51dcde6f
RH
170482002-04-18 Richard Henderson <rth@redhat.com>
17049
17050 * config/ia64/ia64.c (ia64_function_arg_pass_by_reference): New.
17051 (ia64_va_arg): Expect variable sized types by reference.
17052 * config/ia64/ia64-protos.h: Update.
46468cd9 17053 * config/ia64/ia64.h (FUNCTION_ARG_PASS_BY_REFERENCE): Use
51dcde6f
RH
17054 ia64_function_arg_pass_by_reference.
17055
26406018
RH
170562002-04-18 Richard Henderson <rth@redhat.com>
17057
46468cd9
ZW
17058 * ifcvt.c: Include except.h.
17059 (block_has_only_trap): Break out from find_cond_trap.
17060 (find_cond_trap): Use it. Always delete the trap block.
17061 (merge_if_block): Allow then block null. Be less simplistic about
17062 what insns can end a block.
17063 * Makefile.in (ifcvt.o): Depend on except.h.
96b453dc 17064
26406018
RH
17065 * config/ia64/ia64.md (trap, conditional_trap): New.
17066
a3acf46d
JJ
170672002-04-18 Jakub Jelinek <jakub@redhat.com>
17068
17069 PR c/6358
17070 * function.c (assign_parms): Assign hard current_function_return_rtx
17071 register here...
17072 (expand_function_end): ...not here.
17073
7a228918
NB
170742002-04-18 Neil Booth <neil@daikokuya.demon.co.uk>
17075
17076 * c-lang.c (LANG_HOOKS_INCOMPLETE_TYPE_ERROR): Redefine.
17077 * c-tree.h (c_incomplete_type_error): New.
17078 * c-typeck.c (require_complete_type, build_component_ref): Update.
17079 (incomplete_type_error): Rename.
17080 * langhooks-def.h (lhd_incomplete_type_error): New.
17081 (LANG_HOOKS_INCOMPLETE_TYPE_ERROR): New.
17082 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Update.
17083 * langhooks.c (lhd_incomplete_type_error): New.
17084 * langhooks.h (struct lang_hooks_for_types): New hook.
17085 * tree.c (size_in_bytes): Use new hook.
17086 * tree.h (incomplete_type_error): Remove.
17087objc:
17088 * objc-lang.c (LANG_HOOKS_INCOMPLETE_TYPE_ERROR): Redefine.
17089
f18664c1
ZW
170902002-04-18 Zack Weinberg <zack@codesourcery.com>
17091
17092 * config/arc/arc.md: Remove #if HOST_FLOAT_FORMAT !=
17093 TARGET_FLOAT_FORMAT blocks.
17094
8ecab453
GP
170952002-04-18 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
17096
17097 * doc/install.texi (Downloading the source): Do not mention Chill
17098 any longer, but mention Ada.
17099 (Configuration): Do not mention Chill any longer.
17100
528d8489
HPN
171012002-04-18 Hans-Peter Nilsson <hp@axis.com>
17102
17103 * config/cris/cris.h (TARGET_VERSION): Remove local version number.
17104
91da27c5
JH
17105Thu Apr 18 17:14:08 CEST 2002 Jan Hubicka <jh@suse.cz>
17106
17107 * i386.h (SSE_FLOAT_MODE_P): Fix bogus conflict resolution
17108 in last patch.
17109
a32db605
JJ
171102002-04-18 Jakub Jelinek <jakub@redhat.com>
17111
17112 * fold-const.c (fold): Use (*lang_hooks.types.unsigned_type)
17113 instead of unsigned_type.
17114
5a28d8cc
JH
17115Thu Apr 18 15:49:12 CEST 2002 Jan Hubicka <jh@suse.cz>
17116
17117 * i386.h (SSE_FLOAT_MODE_P): Kill bogus TARGET_SSE_MATH check.
17118 * i386.md (sse_mov?fcc*): Swap operands for cases they will be swapped
17119 later.
17120
3d980b9f
BS
171212002-04-18 Bernd Schmidt <bernds@redhat.com>
17122
17123 * attribs.c (vector_type_node_list): New static variable.
17124 (handle_vector_size_attribute): Use it to avoid generating a
17125 new type node each time we are called.
17126
2e676d78
BS
17127 * combine.c (subst): Avoid trying to make a vector mode subreg of
17128 an integer constant.
17129 (gen_lowpart_for_combine): Likewise.
46468cd9 17130
58c2956c
RS
171312002-04-18 Roger Sayle <roger@eyesopen.com>
17132 Jakub Jelinek <jakub@redhat.com>
17133
17134 * fold-const.c (fold) [NOP_EXPR]: Convert (T)(x&c) into ((T)x&(T)c)
17135 for integer constant c (if x has unsigned type or sign bit is not
17136 set in c). This folds the zero/sign extension into the bit-wise and
17137 operation.
17138
692efa8e
JJ
171392002-04-18 Jakub Jelinek <jakub@redhat.com>
17140
17141 PR middle-end/6205
17142 * config/i386/i386.md (movsf_1): Use pxor only if TARGET_SSE2,
17143 otherwise xorps.
17144
1372d4ce
NY
171452002-04-17 NIIBE Yutaka <gniibe@m17n.org>
17146
17147 * config/sh/elf.h: Undefine ASM_OUTPUT_CASE_LABEL.
17148
169ce44d
NC
171492002-04-17 Nick Clifton <nickc@cambridge.redhat.com>
17150
17151 * gcc.c (read_specs): Detect and fail if an attempt is made to
17152 rename a spec string to an already existing string.
17153
b30d2115
UW
171542002-04-17 Ulrich Weigand <uweigand@de.ibm.com>
17155
17156 * config/s390/s390.c (legitimize_pic_address): Do not generate
17157 illegal address constant without CONST.
17158
d6964c30
KG
171592002-04-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17160
17161 * sparc/linux64.h (CC1_SPEC): Error for -m32 and -m64.
17162 * sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
17163
7c82a1ed
UW
171642002-04-17 Ulrich Weigand <uweigand@de.ibm.com>
17165
17166 PR optimization/6305
17167 * config/s390/s390.c (s390_expand_plus_operand): Use find_replacement
17168 to make sure previous reloads are taken into account. Generate
17169 better code if one operand is an in-range immediate constant.
17170
58db9d1a
AH
171712002-04-16 Andrew Haley <aph@cambridge.redhat.com>
17172
17173 * doc/install.texi (Building): libgcj requires GNU make.
17174
2a732575
JJ
171752002-04-17 Jakub Jelinek <jakub@redhat.com>
17176
17177 PR bootstrap/6315
17178 * config/sparc/sparc.md (movtf reg<-reg split): Allow spliting
17179 even if hard quad and register is not floating.
17180 (movtf reg<-mem split): Disallow splitting if hard quad and
17181 register is floating.
17182 (movtf mem<-reg split): Likewise.
17183 * config/sparc/sparc.c (fp_register_operand): New predicate.
17184 * config/sparc/sparc.h (PREDICATE_CODES): Add fp_register_operand.
17185
75a65e46
ZW
171862002-04-17 Zack Weinberg <zack@codesourcery.com>
17187
17188 * Makefile.in (PROTO_OBJS): Add cppdefault.o.
17189 (protoize.o): Take $(PREPROCESSOR_DEFINES) off command line.
17190 (unprotoize.o): Ditto. Build from protoize.c. Define
17191 UNPROTOIZE on command line.
17192 * protoize.c: Include cppdefault.h. Delete include_defaults.
17193 (in_system_include_dir): Use cpp_include_defaults (defined in
17194 cppdefault.o).
17195 * unprotoize.c: Delete file.
17196
650f0e97
AH
171972002-04-17 Aldy Hernandez <aldyh@redhat.com>
17198
46468cd9
ZW
17199 * config/rs6000/altivec.h (vec_ld): Add array variants.
17200 (vec_lde): Same.
17201 (vec_ldl): Same.
650f0e97 17202
71a0ab0c 172032002-04-17 Alan Matsuoka <alanm@redhat.com>
46468cd9 17204 Aldy Hernandez <aldyh@redhat.com>
71a0ab0c 17205
46468cd9
ZW
17206 * config/rs6000/altivec.h: Define __ALTIVEC__.
17207 (bool): New.
17208 (__pixel): New.
17209 (pixel): New.
17210 (vec_cfux): New.
17211 (vec_vmaddfp): New.
17212 (vec_vsldoi): New.
17213 Add parentheses to all macro arguments.
71a0ab0c 17214
ff2c46ac
RH
172152002-04-16 Richard Henderson <rth@redhat.com>
17216
17217 PR c++/6320
17218 * except.c (remove_eh_handler): Insert inner regions at beginning
17219 of sibling chain. Refactor expressions.
17220
f1ba94dd
RH
172212002-04-16 Richard Henderson <rth@redhat.com>
17222
f0871dfe
RH
17223 * config/sparc/sol2-bi.h (AS_SPARC64_FLAG): New.
17224 * config/sparc/sol2-gas-bi.h: New file.
17225 * config.gcc (sparc*-solaris): Add it as needed.
17226 * configure.in (AS_SPARC64_FLAG): Remove check.
17227 * config.in, configure: Regenerate.
17228
17229 * config/sparc/sol2-bi.h (CC1_SPEC): Error for -m32 and -m64.
17230
172312002-04-16 Richard Henderson <rth@redhat.com>
17232
17233 * config/mips/mips.c (override_options): Don't override N32 for
17234 a 64-bit ISA.
409d3c60 17235
f1ba94dd
RH
17236 PR 6202
17237 * config/mips/mips.md (can_delay): Split out of existing define_delays.
17238 (HILO_delay): Set can_delay false.
17239
178c3eff
DJ
172402002-04-16 Dale Johannesen <dalej@apple.com>
17241
17242 * config/rs6000/rs6000.c (rs6000_output_function_prologue): Compute
17243 instruction addresses.
17244 (rs6000_output_function_epilogue): Likewise.
17245
7d6f6369
PC
172462002-04-16 Paolo Carlini <pcarlini@unitus.it>
17247
17248 * c-parse.in (poplevel, compstmt_start,
17249 compstmt_primary_start): Add ending ';', in accordance
17250 with POSIX.
17251
8947df0c
RH
172522002-04-16 Richard Henderson <rth@redhat.com>
17253
17254 * config.gcc (sparcv9-solaris): Configure for 64-bit default.
17255 Adjust tm_file order to get TARGET_DEFAULT set properly.
17256 (sparc-solaris): Configure 2.[78] for 64-bit multilibs.
17257 * doc/install.texi (sparc-solaris): Update.
17258
3148ad6d
DJ
172592002-04-16 Dale Johannesen <dalej@apple.com>
17260
17261 * config/rs6000/rs6000.c (rs6000_emit_cmove): Fail if modes of
17262 comparison operands do not match each other or if modes of
17263 conditions do not match result.
17264
014cb9b6 172652002-04-16 Hartmut Penner <hpenner@de.ibm.com>
562a69be 17266
014cb9b6
HP
17267 PR target/6305
17268 * config/s390/s390.md (mulsidi3): Set both subregs of the
46468cd9 17269 multiword register.
562a69be 17270
014cb9b6 172712002-04-16 Aldy Hernandez <aldyh@redhat.com>
4c8c0dec 17272
8947df0c 17273 * config/rs6000/altivec.h (vec_addc): Type check.
4c8c0dec 17274
a9772b60
JJ
172752002-04-16 Jakub Jelinek <jakub@redhat.com>
17276
17277 PR middle-end/6279
17278 * expr.c (store_expr): Don't copy if DECL_RTL (exp) == target.
17279
17280 * expr.c (safe_from_p): Cleanup: use DECL_RTL_IF_SET.
17281
861829ed
RH
172822002-04-15 Richard Henderson <rth@redhat.com>
17283
17284 * config/mips/abi64.h (SUBTARGET_CONDITIONAL_REGISTER_USAGE): Set
17285 call_really_used_regs too.
17286
bcf2fe9c
RH
172872002-04-15 Richard Henderson <rth@redhat.com>
17288
17289 * config/alpha/gnu.h (CPP_PREDEFINES): Underscores for gnu_hurd.
17290
629111c7
DM
172912002-04-15 David S. Miller <davem@redhat.com>
17292
17293 * rtlanal.c (note_stores): Don't present PARALLEL SET_DESTs
17294 as being CLOBBERed.
17295
98ef3137
JJ
172962002-04-16 Jakub Jelinek <jakub@redhat.com>
17297
17298 PR c/6290
17299 * config/rs6000/rs6000.c (easy_vector_constant): Return 1 if the
17300 CONST_VECTOR is { 0, ... 0 }.
17301
0aa911c5
LR
173022002-04-15 Loren J. Rittle <ljrittle@acm.org>
17303
17304 * doc/install.texi (Installing GCC: Configuration): Clarify
17305 the only supported ways to configure gcc.
17306
83248d49 173072002-04-15 Roland McGrath <roland@frob.com>
46468cd9 17308
83248d49
RM
17309 * config.gcc (alpha*-*-gnu*): New target configuration.
17310 * config/alpha/gnu.h: New file for it.
17311 * config/gnu.h (TARGET_MEM_FUNCTIONS): #undef before #define.
17312
b2123dc0
MM
173132002-04-16 Mark Mitchell <mark@codesourcery.com>
17314
17315 * c-common.h (STMT_EXPR_NO_SCOPE): New macro.
17316 * c-common.c (c_expand_expr): Respect STMT_EXPR_NO_SCOPE.
17317 * tree.h (expand_start_stmt_expr): Update prototype.
17318 * stmt.c (expand_start_stmt_expr): Add has_scope parameter.
17319 * tree-inline.c (expand_call_inline): Set STMT_EXPR_NO_SCOPE
17320 on the STMT_EXPR created for the inline function.
46468cd9 17321
8fe2d853
RH
173222002-04-15 Richard Henderson <rth@redhat.com>
17323
17324 * config/alpha/linux.h, config/arm/linux-elf.h, config/i370/linux.h,
17325 config/i386/linux-aout.h, config/i386/linux-oldld.h,
17326 config/i386/linux.h, config/i386/linux64.h, config/ia64/linux.h,
17327 config/m68k/linux-aout.h, config/m68k/linux.h, config/mips/linux.h,
17328 config/pa/pa-linux.h, config/pj/linux.h, config/s390/linux.h,
17329 config/sh/linux.h, config/sparc/linux-aout.h, config/sparc/linux.h,
17330 config/sparc/linux64.h, config/xtensa/linux.h (CPP_PREDEFINES):
17331 Define __gnu_linux__, not gnu_linux.
17332 * config/rs6000/sysv4.h (CPP_OS_GNU_SPEC): Likewise for gnu_hurd.
17333
07cdae91
MM
173342002-04-15 Mark Mitchell <mark@codesourcery.com>
17335
17336 Remove Chill front end.
17337 * gcc.c (default_compilers): Remove Chill entries.
17338 * ch: Remove directory.
17339 * doc/frontends.texi: Remove information about Chill.
17340 * doc/sourcebuild.texi: Likewise.
17341 * doc/standards.texi: Likewise.
17342
41823c5e
DR
173432002-04-15 Douglas B Rupp <rupp@gnat.com>
17344
17345 * config/alpha/vms.h (INCLUDE_DEFAULTS): Add /gnu/lib/gcc-lib/include.
17346 (LONGLONG_STANDALONE): Define.
17347
eb29ddb6
DM
173482002-04-15 David S. Miller <davem@redhat.com>
17349
17350 * config/sparc/sparc.c (sparc_emit_float_lib_cmp):
17351 Call emit_library_call with LCT_NORMAL.
17352 (sparc_initialize_trampoline): Use LCT_foo instead of
17353 magic constant in emit_library_call invocations.
17354 (sparc64_initialize_trampoline): Likewise.
17355 (sparc_profile_hook): Likewise.
17356 * config/sparc/sparc.md: Likewise.
17357
17358 * config/sparc/sparc.c (sparc_extra_constraint_check):
17359 Fix type of argument 'c'.
17360 * config/sparc/sparc-protos.h (sparc_extra_constraint_check):
17361 Likewise.
17362
bd6bec6b
GDR
173632002-04-15 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
17364
17365 * diagnostic.h (output_buffer_state): Redefine.
17366 (output_format_decoder): New macro.
17367 (output_prefixing_rule): Likewise.
17368 (output_line_cutoff): Likewise.
17369 (diagnostic_format_decoder): Adjust.
17370 (diagnostic_prefixing_rule): Likewise.
17371 (diagnostic_line_cutoff): Likewise.
17372 (diagnostic_state): Likewise.
17373 (diagnostic_kind_count): Likewise.
17374 (diagnostic_buffer): Now a macro.
17375
17376 * diagnostic.c (diagnostic_buffer): Remove definition.
17377 (output_is_line_wrapping): Adjust.
17378 (set_real_maximum_length): Likewise.
17379 (output_set_maximum_length): Likewise.
17380 (init_output_buffer): Likewise.
17381 (lhd_print_error_function): Likewise.
17382 (output_do_verbatim): Likewise.
17383
ebef4e8c
NB
173842002-04-14 Neil Booth <neil@daikokuya.demon.co.uk>
17385
17386 * cpperror.c (print_location): Don't print include chain
17387 if line == 0.
17388 (cpp_begin_message): Update to use DL_ macros.
17389 (cpp_ice, cpp_fatal, cpp_error_from_errno, cpp_warning,
17390 cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line,
17391 cpp_notice, cpp_notice_from_errno): Remove.
17392 (cpp_error, cpp_error_with_line): Update to take a diagnostic
17393 level.
17394 (cpp_errno): New.
17395 * cppexp.c (CPP_ICE): Remove.
17396 (SYNTAX_ERROR, SYNTAX_ERROR2, parse_number, parse_defined,
17397 lex, integer_overflow, _cpp_parse_expr): Update.
17398 * cppfiles.c (read_include_file, find_include_file,
17399 handle_missing_header, _cpp_read_file, remap_filename): Update.
17400 * cpphash.h (enum error_type): Remove.
17401 (_cpp_begin_message): Update.
17402 * cppinit.c (append_include_chain, remove_dup_dirs, output_deps,
17403 cpp_handle_option, cpp_post_options): Update.
17404 * cpplex.c (trigraph_p, skip_escaped_newlines, skip_block_comment,
17405 skip_whitespace, parse_identifier, parse_slow, parse_string,
17406 _cpp_lex_direct, cpp_spell_token, maybe_read_ucs, cpp_parse_escape,
17407 cpp_interpret_charconst): Update.
17408 * cpplib.c (check_eol, directive_diagnostics, _cpp_handle_directive,
17409 lex_macro_node, do_undef, glue_header_name, parse_include,
17410 do_include_common, read_flag, do_line, do_linemarker, do_ident,
17411 cpp_register_pragma, do_pragma_once, do_pragma_system_header,
17412 do_pragma_poison, do_pragma_dependency, _cpp_do__Pragma, do_else,
17413 do_elif, do_endif, parse_answer, parse_assertion, do_assert,
17414 _cpp_pop_buffer, do_diagnostic): Update.
17415 * cpplib.h (DL_WARNING, DL_WARNING_SYSHDR, DL_PEDWARN, DL_ERROR,
17416 DL_FATAL, DL_ICE, DL_EXTRACT, DL_WARNING_P): New.
17417 (cpp_ice, cpp_fatal, cpp_error_from_errno, cpp_warning,
17418 cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line,
17419 cpp_notice, cpp_notice_from_errno): Remove.
17420 (cpp_error, cpp_error_with_line): Update to take a diagnostic
17421 level.
17422 (cpp_errno): New.
17423 * cppmacro.c (builtin_macro, stringify_arg, paste_all_tokens,
17424 collect_args, enter_macro_context, save_parameter, parse_params,
17425 _cpp_create_definition, check_trad_stringification,
17426 cpp_macro_definition): Update.
17427 * cppmain.c (cpp_preprocess_file): Update.
17428 * fix-header.c (read_scan_file): Update.
17429
c19a3859
AS
174302002-04-14 Andreas Schwab <schwab@suse.de>
17431
17432 * config/ia64/linux.h (CPP_PREDEFINES): Fix missing backslash.
17433
10fdbed6
JD
174342002-04-14 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
17435
17436 * config/arm/linux-elf.h (CPLUSPLUS_CPP_SPEC): Define.
17437
77660a9a
MM
174382002-04-13 Mark Mitchell <mark@codesourcery.com>
17439
17440 * config/i386/gnu.h (CPP_PREDEFINES): Define __gnu_hurd__,
17441 not gnu_hurd.
17442
e0ff1ded
HPN
174432002-04-13 Hans-Peter Nilsson <hp@axis.com>
17444
17445 * config/cris/linux.h (CRIS_CPP_SUBTARGET_SPEC): Fix typo.
17446
2341c7ea
JS
174472002-04-13 Joel Sherrill <joel@OARcorp.com>
17448
17449 * config/sparc/t-elf: Enable v8 multilibs. Impacts
17450 sparc-elf and sparc-rtems targets.
17451
d29350c0
MM
174522002-04-13 Mark Mitchell <mark@codesourcery.com>
17453
17454 * alpha/linux.h: Define __gnu_linux__ wherever __linux__ is
17455 defined, and __gnu_hurd__ wherever __GNU__ is defined.
17456 * arm/linux-elf.h: Likewise.
17457 * cris/aout.h: Likewise.
17458 * cris/linux.h: Likewise.
17459 * i370/linux.h: Likewise.
17460 * i386/gnu.h: Likewise.
17461 * i386/linux-aout.h: Likewise.
17462 * i386/linux-oldld.h: Likewise.
17463 * i386/linux.h: Likewise.
17464 * i386/linux64.h: Likewise.
17465 * ia64/linux.h: Likewise.
17466 * m68k/linux-aout.h: Likewise.
17467 * m68k/linux.h: Likewise.
17468 * mips/linux.h: Likewise.
17469 * pa/pa-linux.h: Likewise.
17470 * pj/linux.h: Likewise.
17471 * rs6000/sysv4.h: Likewise.
17472 * s390/linux.h: Likewise.
17473 * sh/linux.h: Likewise.
17474 * sparc/linux-aout.h: Likewise.
17475 * sparc/linux.h: Likewise.
17476 * sparc/linux64.h: Likewise.
17477 * xtensa/linux.h: Likewise.
17478
fc552851
RS
174792002-04-13 Richard Sandiford <rsandifo@redhat.com>
17480
17481 * stmt.c (check_unique_operand_names): Expect operand names to
17482 be strings rather than identifiers. Use simple_cst_equal to
17483 compare them.
17484 (resolve_operand_name_1): Make same identifier to string change here.
17485 * c-parse.in (asm_operand): Convert a named operand into a string.
17486 * cp/parse.y (asm_operand): Likewise.
17487
1d405c5e
AS
174882002-04-13 Andreas Schwab <schwab@suse.de>
17489
17490 * config/ia64/ia64.h (CPP_SPEC): Include %(cpp_cpu).
17491
c740732f
MM
174922002-04-12 Mark Mitchell <mark@codesourcery.com>
17493
17494 Revert these changes:
17495
17496 2002-04-06 Mark Mitchell <mark@codesourcery.com>
17497
17498 PR c++/5571
17499 * stor-layout.c (layout_decl): Reset the RTL for the decl.
17500
3fc602a0
RH
175012002-04-12 Richard Henderson <rth@redhat.com>
17502
17503 * config.gcc (sparcv9-*-solaris2): Default to 32-bit code.
17504 (sparc*-*-solaris): Clean up header files.
17505 * configure.in (AS_SPARC64_FLAG): Error out if can't find it
17506 and plan on generating 64-bit code.
17507 * toplev.c (decode_g_option): Remove LINKER_DOES_NOT_WORK_WITH_DWARF2.
17508 * config/sparc/sol2-64.h: Delete and reuse for default 64-bit code.
17509 * config/sparc/sol2-sld-64.h: Rename ...
17510 * config/sparc/sol2-bi.h: ... here. Remove the bits that checked
17511 for AS_SPARC64_FLAG not defined.
17512 * config/sparc/sol2-gld-bi.h: New.
17513 * config/sparc/sol2-sld.h: Remove.
17514 * config/sparc/sol26-sld.h: New.
17515 * config/sparc/sol2.h: Tidy comments.
17516 * doc/install.texi: Document sparc-solaris configury changes.
17517
2f15e255
RH
175182002-04-12 Richard Henderson <rth@redhat.com>
17519
17520 * recog.c (offsettable_address_p): Match the logic in adjust_address.
17521
17522 * config/sparc/sparc.h (LEGITIMIZE_RELOAD_ADDRESS): Handle TFmode
17523 in 64-bit mode only. Use only for 32-bit or MEDLOW.
17524
cc8475cb
RO
175252002-04-12 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
17526
17527 * config/alpha/osf.h (LINK_SPEC): Pass -S to silence ld warnings.
17528
6f133a4a
JL
17529Fri Apr 12 15:42:59 2002 Jeffrey A Law (law@redhat.com)
17530
ef1b8858 17531 * pa.c (pa_can_combine_p): Call extract_insn before calling
6f133a4a
JL
17532 constrain_operands.
17533
1329e600
DR
175342002-04-12 Douglas B Rupp <rupp@gnat.com>
17535
17536 * config/i386/i386-interix.h (EH_FRAME_IN_DATA_SECTION): Define.
17537 (TARGET_ASM_NAMED_SECTION, RETURN_IN_MEMORY) Define.
17538 (DEFAULT_PCC_STRUCT_RETURN): Define as 0.
2d424b9f 17539 (CPP_PREDEFINES): Handle __declspec.
1329e600
DR
17540 * config/i386/t-interix (USER_H): Remove.
17541
0339d239
DD
175422002-04-12 DJ Delorie <dj@redhat.com>
17543
17544 * integrate.c (compare_blocks): Make comparisons safe for when
17545 sizeof(int) < sizeof(char *).
17546 (find_block): Likewise.
17547
cc4d5fec
JH
175482002-04-12 Jan Hubicka <jh@suse.cz>
17549 David Edelsohn <edelsohn@gnu.org>
17550
17551 * config/rs6000/rs6000.c (call_operand): Allow LINK and COUNT
17552 registers.
17553 (symbol_ref_operand): New.
17554 * config/rs6000/rs6000.h (PREDICATE_CODES): Add symbol_ref_operand.
17555 * config/rs6000/rs6000.md (call_nonlocal_aix): Use symbol_ref_operand.
17556
93215a1b
AS
175572002-04-12 Andreas Schwab <schwab@suse.de>
17558
17559 * config/ia64/ia64.h (ASM_SPEC): Moved from here ...
17560 * config/ia64/sysv4.h (ASM_SPEC): ... to here, so that it
17561 overrides the definition in config/svr4.h.
46468cd9 17562
1d80248e
EN
175632002-04-12 Eric Norum <eric.norum@usask.ca>
17564
17565 * config/rtems.h, config/a29k/rtems.h, config/arm/rtems-elf.h,
17566 config/c4x/rtems.h, config/h8300/rtems.h, config/i386/rtems.h,
17567 config/i386/rtemself.h, config/i960/rtems.h, config/m68k/rtems.h,
17568 config/m68k/rtemself.h, config/mips/rtems.h, config/mips/rtems64.h,
17569 config/pa/rtems.h, config/rs6000/rtems.h, config/sh/rtems.h,
17570 config/sh/rtemself.h, config/sparc/rtems.h, config/sparc/rtemself.h,
17571 config/v850/rtems.h (*-rtems*): Cleanup pass to move common
17572 definitions to config/rtems.h and make the targets more similar.
17573
fa1591cb
RK
17574Fri Apr 12 08:06:54 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
17575
fa06ab5c
RK
17576 * expr.c (expand_assigment): Remove duplicate conversions #ifdef
17577 POINTERS_EXTEND_UNSIGNED.
17578 (store_constructor, expand_expr, case COMPONENT_REF): Likewise.
17579 (store_expr): Use TYPE_MODE (sizetype), not ptr_mode.
17580
fa1591cb
RK
17581 * emit-rtl.c (widen_memory_access): Don't do anything if MEMOFFSET
17582 not specified.
17583
12e85a0e
R
17584Fri Apr 12 12:11:26 2002 J"orn Rennecke <joern.rennecke@superh.com>
17585
17586 * sh.c (calc_live_regs, sh_pr_n_sets): Use of PR_MEDIA_REG / PR_REG
17587 depends on TARGET_SHMEDIA, not TARGET_SH5.
17588
1ab3e58a
HPN
175892002-04-12 Hans-Peter Nilsson <hp@bitrange.com>
17590
17591 * function.c (fixup_var_refs_1) <SET, handling VAR in SET_SRC>:
17592 For paradoxical (subreg VAR), replace VAR, don't try the subreg.
17593
18778292
R
17594Fri Apr 12 10:51:38 2002 J"orn Rennecke <joern.rennecke@superh.com>
17595
17596 * sh.c (broken_move): Constant 0. / 1. load is OK if there is
17597 no r0 clobber.
17598
9002507c
AS
175992002-04-12 Andreas Schwab <schwab@suse.de>
17600
17601 * config/ia64/ia64.h (EXTRA_SPECS): Fix missing backslash.
17602
9be40833
RH
176032002-04-12 Richard Henderson <rth@redhat.com>
17604
17605 PR bootstrap/4191
17606 * config/d30v/d30v.h (INIT_SECTION_ASM_OP): Don't undef.
17607
17608 * flow.c (mark_used_reg): Manage reg_cond_dead properly for
17609 modes spanning multiple hard regs.
46468cd9 17610
9be40833
RH
17611 * recog.c (peephole2_optimize): Rebuild jump labels as needed.
17612
3d9268b6
JDA
176132002-04-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
17614
17615 * pa.c (pa_output_function_prologue): Don't accumulate the total
17616 number of code bytes when using TARGET_64BIT, or gas, SOM and not
17617 the portable runtime.
17618 (output_deferred_plabels): Handle 64bit plabels.
17619 (output_cbranch): Use $PIC_pcrel$0 for pc relative relocations when
17620 generating pic code using the GAS assembler for object formats that
17621 are not SOM (ie., ELF32 and ELF64).
17622 (output_millicode_call): Check attribute type if attribute length is 28.
17623 Likewise use $PIC_pcrel$0. Only call get_attr_length and
17624 dbr_sequence_length once.
17625 (output_call): Likewise use $PIC_pcrel$0, and call get_attr_length and
17626 dbr_sequence_length once.
17627 * pa.h (TARGET_SOM): Define if not defined.
17628 * pa.md (pattern to load address of label): Likewise use $PIC_pcrel$0
17629 with GAS and not SOM.
17630 (jump, call_internal_reg, call_value_internal_reg): Likewise.
17631 * som.h (OBJ_SOM): Rename to TARGET_SOM. Undefine before defining.
17632
d360fd18
DB
176332002-04-11 David O'Brien <obrien@FreeBSD.org>
17634
17635 * config/freebsd.h (NO_IMPLICIT_EXTERN_C, SCCS_DIRECTIVE): Give value.
17636 (DEFAULT_PCC_STRUCT_RETURN) Do not redefine.
17637 (USER_LABEL_PREFIX, HANDLE_SYSV_PRAGMA, IDENT_ASM_OP,
17638 DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE):
17639 elfos.h and dbxelf.h values are fine now.
17640 * config/i386/freebsd.h, config/alpha/freebsd.h
17641 (DEFAULT_PCC_STRUCT_RETURN): Define to 0.
17642
5b8fcab6
DB
176432002-04-11 David O'Brien <obrien@FreeBSD.org>
17644
17645 * config/ia64/aix.h (CPP_PREDEFINES): Do not define _LP64/__LP64__
17646 or set Acpu or Amachine. Reformat.
17647 (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
17648 define.
17649 (LINK_SPEC): Do not need to undef.
17650 * config/ia64/elf.h (ASM_EXTRA_SPEC): Define.
17651 * config/ia64/freebsd.h (LINK_SPEC): Do not need to undef.
17652 (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
17653 define.
17654 * config/ia64/hpux.h (ASM_EXTRA_SPEC): Define.
17655 (ASM_SPEC): Do not define, use ASM_EXTRA_SPEC instead.
17656 (LINK_SPEC): Do not need to undef.
17657 (DONT_USE_BUILTIN_SETJMP): Do not define.
17658 * config/ia64/ia64.h (ASM_SPEC, ASM_EXTRA_SPEC): Add.
17659 (CPP_CPU_SPEC): Define _LP64, set Acpu and Amachine. Remove -Dia64.
17660 (DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Define.
17661 Remove trailing spaces.
17662 * config/ia64/linux.h (CPP_PREDEFINES): Do not define _LP64/__LP64__,
17663 __ELF__, or set Acpu or Amachine. Reformat.
17664 (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
17665 define.
17666
fee42cc1
DB
176672002-04-11 David O'Brien <obrien@FreeBSD.org>
17668
17669 * config.gcc (ia64-*-freebsd*): Fix ordering of tm_files to match
17670 all other *-*-freebsd* targets.
17671
77a403e4
RH
176722002-04-11 Richard Henderson <rth@redhat.com>
17673
17674 * config.gcc (alpha*-*-linux*ecoff): Detect and reject.
17675
cf0005c6
DB
176762002-04-11 David O'Brien <obrien@FreeBSD.org>
17677
17678 * config.gcc (alpha*-*-openbsd, alpha64-dec-*vms,alpha*-dec-*vms):
17679 Include {cpu}/{cpu}.h thru tm_file.
17680 (alpha*-*-linux*ecoff): Remove target.
17681 * config/alpha/elf.h (CPP_SUBTARGET_SPEC): Define __ELF__.
17682 (LINK_SPEC): Remove, is not OS independent.
17683 * config/alpha/freebsd.h (CPP_SPEC): Do not define __ELF__.
17684 (LINK_SPEC): Do not need to #undef any longer.
17685 * config/alpha/linux-ecoff.h (LINK_SPEC): Do not need to #undef
17686 any longer.
17687 * config/alpha/linux-elf.h (SUB_CPP_PREDEFINES): Do not define
17688 __ELF__.
17689 (LINK_SPEC): Moved here from alpha/elf.h.
17690 * config/alpha/linux.h (CPP_PREDEFINES): No longer consumer of
17691 SUB_CPP_PREDEFINES.
17692 * config/alpha/linux-ecoff.h: Remove.
17693 * config/alpha/netbsd.h (CPP_PREDEFINES): Do not define __ELF__.
17694 (CPP_SPEC): Define _POSIX_SOURCE as needed.
17695 (CPP_SUBTARGET_SPEC): Do not define.
17696 (LINK_SPEC): Do not need to #undef any longer.
17697 * config/alpha/openbsd.h: Do not directly include alpha/alpha.h.
17698 * config/alpha/vms.h: Likewise.
17699
9be40833 177002002-04-11 Richard Sandiford <rsandifo@redhat.com>
7825d1cf
RS
17701
17702 * doc/extend.texi: Remove old claim that typedefs cannot have
17703 an alignment attribute.
17704
010f87c4
JJ
177052002-04-11 Jakub Jelinek <jakub@redhat.com>
17706
17707 PR optimization/6177
17708 * expr.c (expand_expr) [COMPONENT_REF]: Handle op0 CONCAT if
17709 bitpos is 0 and bitsize CONCAT size.
17710
578fc63d
JJ
177112002-04-11 Jakub Jelinek <jakub@redhat.com>
17712
17713 PR c/6223
17714 * combine.c (if_then_else_cond): Use trunc_int_for_mode on nz.
17715
bf9b85ce
DB
177162002-04-10 David O'Brien <obrien@FreeBSD.org>
17717
17718 * config/alpha/freebsd.h: Minor reformatting.
17719 (CPP_SPEC): Define ELF and add cpp_subtarget.
17720 (ASM_SPEC): No longer needed.
17721
7425707d
RH
177222002-04-11 Richard Henderson <rth@redhat.com>
17723
17724 * config/sparc/sparc.md (movdi_insn_sp32): Add o/J alternative.
17725 (movdi_insn_sp32_v9): Likewise. Only allow stx with aligned memory.
17726 (dimode mem/zero splitter): New.
17727
1a05e874
HPN
177282002-04-11 Hans-Peter Nilsson <hp@axis.com>
17729
17730 * config/cris/cris.c (cris_override_options): Tweak error message
17731 for PIC not implemented.
17732
17733 * config/cris/cris.h: Tweak comments related to parameter-passing.
17734
17735 * t-cris (TARGET_LIBGCC2_CFLAGS): Don't -Dinhibit_libc here.
17736
6f3d0447
RH
177372002-04-10 Richard Henderson <rth@redhat.com>
17738
17739 * except.c (add_ehl_entry): Allow duplicates after landing pad
17740 creation.
17741
174bf2b1
DE
177422002-04-10 David Edelsohn <edelsohn@gnu.org>
17743
17744 * config/rs6000/t-aix43 (SHLIB_NM_FLAGS): Add -X32_64.
17745
03f10472
TM
177462002-04-10 Toon Moene <toon@moene.indiv.nluug.nl>
17747
17748 * c-decl.c (c_init_decl_processing): Move generation of
17749 decls for g77_integer_type_node and friends from here ...
17750 * c-common.c (c_common_nodes_and_builtins): ... to here.
17751
2f460a0a
UW
177522002-04-10 Ulrich Weigand <uweigand@de.ibm.com>
17753
17754 * reload1.c (choose_reload_regs): HARD_FRAME_POINTER_REGNUM
17755 is only used as frame pointer when frame_pointer_needed is true.
17756
0be5cf85
RE
177572002-04-10 Richard Earnshaw <rearnsha@arm.com>
17758
17759 PR target/817
17760 * arm.md (arm_movdi): Adjust neg_pool_range attribute to allow
17761 for the fact that the pool entry uses two words.
17762 (movdf_hard_insn): Similarly. Also, ADR instruction can span
17763 1k bytes.
17764 (movdf_soft_insn): Similarly.
17765 (movxf_hard_insn): Adjust neg_pool_range attribute to allow
17766 for the fact that the pool entry uses three words.
17767
bf6d4777
RS
177682002-04-10 Richard Sandiford <rsandifo@redhat.com>
17769
17770 * config/mips/mips.c (mips_va_arg): When using the struct version
17771 of the EABI va_list, allow arguments in the register save area to
17772 take up less room than a stack argument.
17773
c2e9dc85
RH
177742002-04-10 Richard Henderson <rth@redhat.com>
17775
17776 * expr.c (expand_expr) [INTEGER_CST]: Don't force into registers
17777 if EXPAND_INITIALIZER.
17778
bc8e8e97
RH
177792002-04-09 Richard Henderson <rth@redhat.com>
17780
17781 * config/alpha/alpha.md (movdi_er_maybe_g): New.
17782 * config/alpha/alpha.c (alpha_expand_mov): Use it.
17783
a6a063b8
AM
177842002-04-10 Alan Modra <amodra@bigpond.net.au>
17785
17786 PR optimization/6233
17787 * rtlanal.c (pure_call_p): New function.
17788 * rtl.h (pure_call_p): Declare.
17789 * loop.c (prescan_loop): Use it to set has_nonconst_call.
17790 * gcse.c (store_killed_in_insn): Use pure_call_p here too.
17791
7b2e1077
EC
177922002-04-09 Eric Christopher <echristo@redhat.com>
17793
17794 * config/mips/mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Add additional
17795 information to .comm directive.
17796
d8a50944
RH
177972002-04-09 Richard Henderson <rth@redhat.com>
17798
17799 PR c/5078
17800 * expr.c (expand_expr) [INTEGER_CST]: Force overflows into registers.
17801
6a58eee9
RH
178022002-04-09 Richard Henderson <rth@redhat.com>
17803
17804 * basic-block.h (flow_delete_block_noexpunge): Declare.
17805 (expunge_block_nocompact): Declare.
17806 * cfg.c (expunge_block_nocompact): Split out from ...
17807 (expunge_block): ... here.
17808 * cfgrtl.c (can_delete_label_p): Don't use exception_handler_labels.
17809 (flow_delete_block_noexpunge): Split out from ...
17810 (flow_delete_block): ... here.
17811 * cfgcleanup.c (delete_unreachable_blocks): Compact while
17812 removing dead blocks.
17813 * except.c (exception_handler_labels): Remove.
17814 (exception_handler_label_map): New.
17815 (struct eh_region): Add aka member.
17816 (mark_ehl_map_entry, mark_ehl_map, free_region): New.
17817 (ehl_hash, ehl_eq, ehl_free, add_ehl_entry): New.
17818 (for_each_eh_label, for_each_eh_label_1): New.
17819 (init_eh): Register exception_handler_label_map.
17820 (free_eh_status): Use free_region.
17821 (find_exception_handler_labels): Use the map, not the list.
17822 (remove_exception_handler_label): Likewise.
17823 (maybe_remove_eh_handler): Likewise.
17824 (remove_eh_handler): Use the region aka bitmap.
17825 * except.h (exception_handler_labels): Remove.
17826 (for_each_eh_label): Declare.
17827 * jump.c (rebuild_jump_labels): Don't check exception_handler_labels.
17828 * loop.c (invalidate_loops_containing_label): New.
17829 (find_and_verify_loops): Use it. Use for_each_eh_label.
17830 * sched-rgn.c (is_cfg_nonregular): Use
17831 current_function_has_exception_handlers.
17832
b47374fa
RH
178332002-04-09 Richard Henderson <rth@redhat.com>
17834
17835 * sbitmap.c (sbitmap_union_of_diff, sbitmap_a_and_b, sbitmap_a_xor_b,
17836 sbitmap_a_or_b, sbitmap_a_or_b_and_c, sbitmap_a_and_b_or_c):
17837 Do not return changed status.
17838 (sbitmap_union_of_diff_cg, sbitmap_a_and_b_cg, sbitmap_a_xor_b_cg,
17839 sbitmap_a_or_b_cg, sbitmap_a_or_b_and_c_cg, sbitmap_a_and_b_or_c_cg):
17840 New functions that do return changed status.
17841 * sbitmap.h: Update decls.
17842 * gcse.c, lcm.c: Use _cg functions as needed.
17843
1951818c
R
17844Tue Apr 9 19:15:57 2002 J"orn Rennecke <joern.rennecke@superh.com>
17845
17846 * config.gcc (sh-*-elf*): Use sh/embed-elf.h instead of sh/elf.h.
17847 (sh64-*-elf*, sh-*-rtemself*): Likewise.
17848 * config/sh/embed_bb.c: New file.
17849 * config/sh/embed-elf.h: New file.
17850 * sh.h (CPP_SPEC): Supply __SIZE_TYPE__ and __PTRDIFF_TYPE__
17851 if -m[12345]* option is given. Don't use subtarget_cpp_ptr_spec.
17852 (CPP_DEFAULT_CPU_SPEC): Add settings for __SIZE_TYPE__ and
17853 __PTRDIFF_TYPE__ .
17854 (SUBTARGET_CPP_PTR_SPEC): Don't define.
17855 (EXTRA_SPECS): Remove subtarget_cpp_ptr_spec.
17856 Add subtarget_asm_endian_spec.
17857 (ASM_SPEC): Use subtarget_asm_endian_spec.
17858 (SUBTARGET_ASM_ENDIAN_SPEC): Define.
17859 (RETURN_ADDR_RTX): Use PR_MEDIA_REG for TARGET_SH5.
17860 (WCHAR_UNSIGNED): Define.
17861 (SH_ELF_WCHAR_TYPE, SH_DBX_REGISTER_NUMBER): Define.
17862 (DBX_REGISTER_NUMBER): Use SH_DBX_REGISTER_NUMBER.
17863 (ALLOCATE_INITIAL_VALUE): Use PR_MEDIA_REG for TARGET_SH5.
17864 Fix value.
17865 * sh.c (calc_live_regs): Use PR_MEDIA_REG for TARGET_SH5.
17866 (sh_adjust_cost): Likewise.
17867 sh64.h (CPP_DEFAULT_CPU_SPEC): Add settings for __SIZE_TYPE__ and
17868 __PTRDIFF_TYPE__ .
17869 (SUBTARGET_CPP_PTR_SPEC, WCHAR_TYPE): Don't #undef/ #define.
17870 (WCHAR_TYPE_SIZE): Likewise.
17871 (ASM_SPEC): Use subtarget_asm_endian_spec.
17872 (SH_ELF_WCHAR_TYPE): #undef/ #define.
17873 (MAX_WCHAR_TYPE_SIZE): Don't #undef.
17874 * config/sh/elf.h (WCHAR_UNSIGNED): #undef .
17875 (MAX_WCHAR_TYPE_SIZE): Don't #define .
17876 (WCHAR_TYPE, WCHAR_TYPE_SIZE): #undef / #define .
17877 (USER_LABEL_PREFIX): Don't #undef /#define .
17878 (DBX_REGISTER_NUMBER): Use SH_DBX_REGISTER_NUMBER.
17879 * config/elf/linux.h (USER_LABEL_PREFIX): Don't #undef /#define .
17880 (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE, WCHAR_TYPE_SIZE): Likewise.
17881 (ASM_SPEC): Likewise.
17882 (SUBTARGET_ASM_ENDIAN_SPEC): #undef / #define .
17883 (CC1_SPEC): don't supply -m3 for -m4*, -m5*.
17884 * t-sh: (LIB1ASMFUNCS): Use LIB1ASMFUNCS_CACHE.
17885 (LIB2FUNCS_EXTRA): Define.
17886 * t-sh64 (LIB2FUNCS_EXTRA): Define.
17887 * config/sh/t-linux (LIB1ASMFUNCS): Don't redefine.
17888 (LIB1ASMFUNCS_CACHE): Define.
17889 (LIB2FUNCS_EXTRA): Redefine empty.
17890
34295799
RH
178912002-04-08 Richard Henderson <rth@redhat.com>
17892
17893 * reorg.c (get_branch_condition): Use reversed_comparison_code.
17894
e8766a39
SC
178952002-04-09 Stephane Carrez <Stephane.Carrez@worldnet.fr>
17896
17897 * config/m68hc11/larith.asm (__map_data_section): Fix condition
17898 and optimize for size.
17899 (__do_global_ctors): Fix pointer comparison.
17900 (__do_global_dtors): Likewise.
17901
f451b552
DM
179022002-04-09 David S. Miller <davem@redhat.com>
17903
17904 * config/sparc/sparc.c (sparc_extra_constraint_check): New
17905 function, implementing EXTRA_CONSTRAINTS. For memory constraints,
17906 allow reloading pseudos.
17907 * config/sparc/sparc.h (EXTRA_CONSTRAINTS): Use it.
17908 * config/sparc/sparc-protos.h: Declare it.
17909
17910 * config/sparc/sparc.c (const64_is_2insns): Kill signed vs.
17911 unsigned comparison warning.
17912 (output_restore_regs): Mark leaf_function as unused.
17913
1ce7f3c2
RK
17914Tue Apr 9 09:35:45 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
17915
17916 * expr.c (is_aligning_offset): New function.
17917 (expand_expr, case COMPONENT_EXPR): Call it.
17918
7a31a340
DM
179192002-04-08 David S. Miller <davem@redhat.com>
17920
17921 PR target/6082
17922 * config/sparc/freebsd.h (SPARC_DEFAULT_CMODEL): Set to CM_MEDLOW
17923
17924 Make init_priority work on Sparc when using GNU ld.
17925 * config/sparc/linux.h, config/sparc/linux64.h,
17926 config/sparc/netbsd-elf.h, config/sparc/freebsd.h
17927 (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Undefine.
17928 * config/sparc/sol2-gld.h: New file to do the same.
17929 * config.gcc (sparc*-*-solaris2*): If gnu_ld=yes add
17930 sparc/sol2-gld.h to tm_file.
17931
17932 PR optimization/4328
17933 * config/sparc/sparc.h (EXTRA_CONSTRAINT): Add new constraint 'W'.
17934 * doc/md.texi: Document it.
17935 * config/sparc/sparc.md (movdi_insn_sp64_novis,
17936 movdi_insn_sp64_vis, movdf_insn_sp32, movdf_insn_v9only_novis,
17937 movdf_insn_v9only_vis, movdf_insn_sp64_novis,
17938 movdf_insn_sp64_vis): Use it as MEM constraing with 'e' registers.
17939 * config/sparc/sparc.c (mem_min_alignment): Fix comment.
17940
11579f33
AJ
179412002-04-08 Andreas Jaeger <aj@suse.de>
17942
17943 * stmt.c (expand_asm_operands): Revert last patch from Richard
17944 Henderson.
17945
b57215d9
GP
179462002-04-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
17947
17948 * doc/contrib.texi (Contributors): Add John David Anglin and Loren
17949 J. Rittle (the latter also to Testers). Update David O'Brien's entry.
17950
179512002-04-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
17952
17953 * doc/contrib.texi (Contributors): Add David O'Brien.
17954
534d0cc0
AM
179552002-04-08 Alan Modra <amodra@bigpond.net.au>
17956
17957 * configure.in (auto-build.h): Use target_alias and build_alias
17958 when running configure.
17959 (gcc_cv_as, gcc_cv_ld): Search install paths when build != host too.
17960 (gcc_cv_nm, gcc_cv_objdump): Set for build != host too.
17961 * configure: Regenerate.
17962
19fe522a
DM
179632002-04-07 David S. Miller <davem@redhat.com>
17964
17965 * config.gcc (sparc64-*-linux*): Add t-crtfm to tmake_file.
17966
bf2d0b8e
JDA
179672002-04-07 John David Anglin <dave@hiauly1.hia.nrc.ca>
17968
17969 PR 5933
17970 * pa.h (ASM_OUTPUT_MI_THUNK): Use indirect jump to target function when
17971 generating 32-bit pic code.
17972
477cdac7
JT
179732002-04-06 Jason Thorpe <thorpej@wasabisystems.com>
17974
17975 * cppinit.c (cpp_create_reader): Initialize
17976 discard_comments_in_macro_exp.
17977 (COMMAND_LINE_OPTIONS): Add "-CC" option.
17978 (cpp_handle_option): Handle "-CC" option.
17979 * cpplex.c (save_comment): If saving a C++ comment in
17980 a directive, convert it to a C comment.
17981 (_cpp_lex_direct): Pass second comment start character to
17982 save_comment to indicate comment type.
17983 * cpplib.c (_cpp_handle_directive): If processing
17984 a "#define" directive and discard_comments_in_macro_exp
17985 is false, re-enable saving of comments.
17986 (lex_macro_node): If discard_comments_in_macro_exp is false,
17987 discard any comments before the macro identifier.
17988 * cpplib.h (struct cpp_options): Add discard_comments_in_macro_exp
17989 member.
17990 * cppmacro.c (cpp_get_token): If expanding a macro while
17991 processing a directive, discard any comments we might encounter.
17992 (parse_params): If discard_comments_in_macro_exp is false,
17993 ignore comments in the macro parameter list.
17994 * gcc.c (cpp_unique_options): Add "-CC" option.
17995 (option_map): Map "--comments-in-macros" to "-CC".
17996 * doc/cppopts.texi: Document "-CC" option.
17997 * f/lang-specs.h: Add "-CC" option.
17998 * testsuite/gcc.dg/cpp/maccom1.c: New test.
17999 * testsuite/gcc.dg/cpp/maccom2.c: New test.
18000 * testsuite/gcc.dg/cpp/maccom3.c: New test.
18001 * testsuite/gcc.dg/cpp/maccom4.c: New test.
18002 * testsuite/gcc.dg/cpp/maccom5.c: New test.
18003 * testsuite/gcc.dg/cpp/maccom6.c: New test.
18004
f1526122
JDA
180052002-04-06 John David Anglin <dave@hiauly1.hia.nrc.ca>
18006
18007 PR middle-end/6180
18008 * reorg.c (dbr_schedule): Don't reposition prologue and epilogue notes.
18009
b1896e61
MM
180102002-04-06 Mark Mitchell <mark@codesourcery.com>
18011
0154eaa8
MM
18012 PR c++/5571
18013 * stor-layout.c (layout_decl): Reset the RTL for the decl.
18014
b1896e61
MM
18015 PR opt/5120
18016 * sibcall.c (optimize_sibling_and_tail_recursive_call): Clear
18017 RTX_UNCHANGING_P for the functions arguments when a tail call
18018 is made.
18019
b0148884
JM
180202002-04-06 Jason Merrill <jason@redhat.com>
18021
18022 * toplev.c (flag_no_inline, flag_really_no_inline): Default to 2.
18023 (parse_options_and_default_flags): Set them appropriately.
18024 * c-common.c (c_common_post_options): Don't set flag_really_no_inline.
18025
392fc5b0
HPN
180262002-04-06 Hans-Peter Nilsson <hp@bitrange.com>
18027
18028 * config/mmix/t-mmix (TARGET_LIBGCC2_CFLAGS): Don't -Dinhibit_libc
18029 here.
18030
18031 * config/mmix/mmix.h (INITIAL_ELIMINATION_OFFSET): Remove spurious
18032 semicolon.
18033
18034 * config/mmix/mmix.c (mmix_expand_builtin_va_arg): Variable-size
18035 types come in by-reference. Fix typo in comment.
18036
2d69e3cb
DM
180372002-04-05 David S. Miller <davem@redhat.com>
18038
18039 * config/sparc/freebsd.h (ENDFILE_SPEC): Add crtfastmath bits.
18040 * config.gcc (sparc64-wrs-vxworks, sparc-*-chorusos,
18041 sparc-*-rtems*, sparclite-*-elf* sparc86x-*-elf*, sparc64-*-elf*,
18042 {sparc64,ultrasparc}-*-freebsd*): Add sparc/t-crtfm to tmake_file.
18043
180442002-04-05 David S. Miller <davem@redhat.com>
18045
18046 * config/sparc/sparc.c (sparc_nonflat_function_epilogue): If we
18047 are not going to emit return instructions, emit at least a nop
18048 for the sake of sane backtraces.
18049
5f9fb0e3
RH
180502002-04-05 Richard Henderson <rth@redhat.com>
18051
18052 * doc/rtl.texi (Regs and Memory): Document (mem:BLK (scratch)).
18053
49f37a0d
JJ
180542002-04-05 Jakub Jeilnek <jakub@redhat.com>
18055
18056 * mklibgcc.in: Use $tmpmapfile, not tmp-$@.
18057
974a3101
AO
180582002-04-05 Alexandre Oliva <aoliva@redhat.com>
18059
18060 * config/mips/mips.h (ISA_HAS_BRANCHLIKELY, ISA_HAS_CONDMOVE,
18061 ISA_HAS_FP4, ISA_HAS_MADD_MSUB, ISA_HAS_NMADD_NMSUB,
18062 ISA_HAS_CLZ_CLO, ISA_HAS_DCLZ_DCLO): Disable if TARGET_MIPS16.
18063
2e04a694
AS
180642002-04-05 Andreas Schwab <schwab@suse.de>
18065
a40179bd 18066 * c-convert.c: Include c-common.h.
2e04a694
AS
18067 * Makefile.in (c-convert.o): Updated.
18068
1f785b7c
JJ
180692002-04-05 Jakub Jelinek <jakub@redhat.com>
18070
18071 * mklibgcc.in: Use separate libgcc.map for each multilib.
18072 * Makefile.in (distclean): Don't remove libgcc.map here.
18073
4d2fb38b
JJ
180742002-04-05 Jakub Jelinek <jakub@redhat.com>
18075
18076 * Makefile.in (s-mlib): Handle --disable-multilib by separate
18077 genmultilib invocation.
18078
bb63e5a0
RS
180792002-04-04 Richard Sandiford <rsandifo@redhat.com>
18080
18081 * config/mips/mips.h (CUMULATIVE_ARGS): Rename fp_regs to num_fprs
18082 to avoid clash with Irix header file sys/ucontext.h. Rename gp_regs
18083 to num_gprs for symmetry.
18084 * config/mips/mips.c: Adjust accordingly.
18085
8ab80eaa
NB
180862002-04-04 Neil Booth <neil@daikokuya.demon.co.uk>
18087
18088 * c-common.c (truthvalue_conversion): Rename, update.
18089 * c-common.h (c_common_truthvalue_conversion): New.
18090 * c-convert.c (convert): Update.
18091 * c-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
18092 * c-parse.in (expr_no_commas, if_prefix, select_or_iter_stmt): Update.
18093 * c-typeck.c (build_binary_op, build_unary_op,
18094 build_conditional_expr): Update.
18095 * fold-const.c (constant_boolean_node, fold): Use langhook.
18096 * langhooks-def.h (LANGHOOK_INITIALIZER): Update.
18097 * langhooks.h (struct lang_hooks): New hook.
18098 * stmt.c (expand_decl_cleanup): Use langhook.
18099 * tree.h (truthvalue_conversion): Remove.
18100objc:
18101 * objc-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
18102
a2e9374a
AM
181032002-04-05 Alan Modra <amodra@bigpond.net.au>
18104
18105 * config/rs6000/t-linux64 (EXTRA_MULTILIB_PARTS): Add crtsavres.o
18106 Add rules to make null object file.
18107
64d08263
JB
181082002-04-04 Jim Blandy <jimb@redhat.com>
18109
18110 * cppmacro.c (cpp_macro_definition): Do not emit spaces after
18111 macro formal parameter names.
18112
aa7634dd
DM
181132002-04-04 David S. Miller <davem@redhat.com>
18114
18115 * calls.c (store_one_arg): If ECF_SIBCALL, use tail_call_reg.
18116
ecc114f7
RH
181172002-04-04 Richard Henderson <rth@redhat.com>
18118
18119 PR middle-end/5099
18120 * stmt.c (expand_asm_operands): Validate outputs vs asm_operand_ok.
18121 Support copies into and out of memory. Don't accept allows_reg
18122 and allows_mem as gospel.
18123
c4484b8f
RH
181242002-04-04 Richard Henderson <rth@redhat.com>
18125
18126 PR opt/6165
18127 * alias.c (true_dependence): Force (mem:blk (scratch)) to conflict.
18128 (write_dependence_p): Likewise.
18129
39002160
RH
181302002-04-04 Richard Henderson <rth@redhat.com>
18131
18132 * predict.c (estimate_bb_frequencies): Do frequency calculation
18133 with a volatile temporary.
18134
f53ebe71
UW
181352002-04-04 Ulrich Weigand <uweigand@de.ibm.com>
18136
18137 * config/s390/linux.h (LOCAL_LABEL_PREFIX): Define.
18138
15e0ecab
JJ
181392002-04-04 Jakub Jelinek <jakub@redhat.com>
18140
18141 PR c++/6119
18142 * final.c (final_start_function): Don't bump profile_label_no here...
18143 (final_end_function): ...but here.
18144
ffd386b0
JJ
181452002-04-04 Jakub Jelinek <jakub@redhat.com>
18146
18147 * config/sparc/sparc.md (pic): New attribute.
18148 (do_builtin_setjmp_setup): Save %fp, %i7 and %l7 for TARGET_V9
18149 into stack slots.
18150 (split after do_builtin_setjmp_setup): New.
18151
8b156b3e
JJ
181522002-04-04 Jakub Jelinek <jakub@redhat.com>
18153
18154 PR fortran/6106
18155 * config/sparc/sparc.h (MIN_UNITS_PER_WORD): Backout 2001-01-01
18156 change.
18157
014c0998
JJ
181582002-04-04 Jakub Jelinek <jakub@redhat.com>
18159
18160 * config/sparc/sparc.c (sparc_va_arg): Adjust va_list by
18161 UNITS_PER_WORD for zero sized aggregates.
18162
4d8611d9
DM
181632002-04-03 David S. Miller <davem@redhat.com>
18164
18165 * gcc.c (LINK_GCC_C_SEQUENCE_SPEC): No need for a new
18166 one-character spec for this, just use %(link_gcc_c_sequence).
18167
b03ad99d
DM
181682002-04-03 David S. Miller <davem@redhat.com>
18169
18170 * config/sparc/crtfastmath.c (FPRS_NS): Delete bogus little-endian
18171 handling.
18172
823fbbce
JDA
181732002-04-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
18174
18175 * pa-linux.h (INCOMING_RETURN_ADDR_RTX): Move.
18176 (DWARF_FRAME_RETURN_COLUMN): Move.
18177 (ASM_PREFERRED_EH_DATA_FORMAT): Define.
18178 (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Define.
18179 * pa.c (except.h, predict.h): Include.
18180 (FRP): Delete.
18181 (store_reg_modify, set_reg_plus_d): Revise prototypes.
18182 (output_ascii): Add cast.
18183 (store_reg_modify): Revise to add frame notes.
18184 (set_reg_plus_d): Likewise.
18185 (compute_frame_size): Include space for eh data registers in frame if
18186 the current function calls eh_return.
18187 (hppa_expand_prologue): Ensure register %r2 is saved if the current
18188 function calls eh_return. Save eh data registers if the current
18189 function calls eh_return. Fix code to add frame notes. Emit
18190 blockage to prevent insns with frame notes being scheduled in the
18191 delay slot of calls.
18192 (hppa_expand_epilogue): Restore eh data registers and do final stack
18193 adjustment if the current function calls eh_return. Don't add frame
18194 notes.
18195 (output_call): Revise for change in length of call insn. Don't do
18196 return pointer adjustment for an unconditional jump in the delay slot
18197 of a call when using frame notes.
18198 * pa.h (EH_RETURN_DATA_REGNO): Revise for TARGET_64BIT compatibility.
18199 (EH_RETURN_HANDLER_RTX): Use saved value on stack.
18200 (ARG_POINTER_CFA_OFFSET): Define.
18201 * pa.md (return_external_pic): New pattern.
18202 (prologue): Correct formatting. Use return_external_pic if current
18203 function calls eh_return.
18204 (call_internal_symref, call_value_internal_symref,
18205 sibcall_internal_symref, sibcall_value_internal_symref): Change default
18206 lengths of short, long non-pic, and long pic calls to 8, 68, and 84,
18207 respectively.
18208 (exception_receiver): Use hppa_pic_save_rtx () to restore pic register.
18209
18210 * configure.in ("assembler dwarf2 debug_line support"): Add hppa*-*-* to
18211 list of targets to check using "nop" insn.
18212 * configure: Rebuilt.
18213
4078e224
AM
182142002-04-04 Alan Modra <amodra@bigpond.net.au>
18215
18216 * config/rs6000/t-linux64 (EXTRA_MULTILIB_PARTS): Define.
18217
bbd7687d
DM
182182002-04-03 David S. Miller <davem@redhat.com>
18219
18220 * gcc.c (LINK_GCC_C_SEQUENCE_SPEC): New spec to override the gcc/c
18221 library sequence passed to the linker.
18222 (LINK_COMMAND_SPEC): Use it.
18223 * doc/tm.texi: Document it, and mention from LINK_COMMAND_SPEC as
18224 a macro a target can use to avoid overriding LINK_COMMAND_SPEC.
18225 * config/sparc/sparc.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
18226
659e5a7a
JM
182272002-04-03 Jason Merrill <jason@redhat.com>
18228
18229 * except.c (struct eh_status): Remove protect_list.
18230 (begin_protect_partials, end_protect_partials): Remove.
18231 (add_partial_entry): Remove.
18232 * except.h: Remove prototypes.
18233
18234 * expr.c (expand_expr) [WITH_CLEANUP_EXPR, TARGET_EXPR]: Use
18235 expand_decl_cleanup_eh.
18236
18237 PR c++/5636
18238 * tree.h (CLEANUP_EH_ONLY): New macro.
18239 * stmt.c (expand_decl_cleanup_eh): New fn.
18240 (expand_cleanups): Check CLEANUP_EH_ONLY.
18241 * c-semantics.c (genrtl_decl_cleanup): Just take the CLEANUP_STMT.
18242 Use expand_decl_cleanup_eh.
18243 (expand_stmt): Adjust.
18244 * c-common.h: Adjust prototype.
18245
053d3344
HPN
182462002-04-04 Hans-Peter Nilsson <hp@axis.com>
18247
18248 * config/cris/cris.c (cris_target_asm_function_prologue): Cast
18249 uses of PIC_OFFSET_TABLE_REGNUM to int to silence warnings.
18250 (cris_target_asm_function_epilogue): Ditto.
18251 (cris_initial_frame_pointer_offset): Ditto.
18252 (cris_simple_epilogue): Ditto.
18253 (cris_expand_builtin_va_arg): Variable-size types come in
18254 by-reference.
18255
61ab5260
DM
182562002-04-03 David S. Miller <davem@redhat.com>
18257
18258 * config/sparc/crtfastmath.c (FPRS_NS): Get it right for
18259 little-endian.
18260 (set_fast_math): Correct 'fsr' type.
18261
ef4f94ac
RH
182622002-04-03 Richard Henderson <rth@redhat.com>
18263
36c2272c 18264 PR opt/3569
ef4f94ac
RH
18265 * langhooks.h (lang_hooks.decls.warn_unused_global): New.
18266 * toplev.c (check_global_declarations): Use it.
18267 * langhooks-def.h (lhd_warn_unused_global_decl): Declare.
18268 (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
18269 (LANG_HOOKS_DECLS): Add it.
18270 * langhooks.c (lhd_warn_unused_global_decl): New.
18271 * c-decl.c (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
18272 * c-objc-common.c (c_warn_unused_global_decl): New.
18273 * c-tree.h (c_warn_unused_global_decl): Declare.
18274 * objc/objc-lang.c (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
18275
599bba86
NB
182762002-04-03 Neil Booth <neil@daikokuya.demon.co.uk>
18277
18278 * langhooks-def.h (lhd_set_decl_assembler_name,
18279 LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): New.
18280 (LANG_HOOKS_INITIALIZER): Update.
18281 * langhooks.c (lhd_set_decl_assembler_name): New, from tree.c
18282 * langhooks.h (struct lang_hooks): New hook.
18283 * tree.c (set_decl_assembler_name): Move to langhooks.c.
18284 (lang_set_decl_assembler_name): Remove.
18285 (init_obstacks): Don't set hook.
18286 (decl_assembler_name): New function.
18287 * tree.h (DECL_ASSEMBLER_NAME): Turn into a function call.
18288 (decl_assembler_name): New.
18289 (lang_set_decl_assembler_name): Remove.
18290
cf7b8b0d
JJ
182912002-04-03 Jakub Jelinek <jakub@redhat.com>
18292
18293 * configure.in (HAVE_SPARC_UA_PCREL_HIDDEN): Test whether %r_disp32()
18294 works properly with .hidden symbols.
18295 * configure: Rebuilt.
18296 * config.in: Rebuilt.
18297 * config/sparc/sparc.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
18298 DW_EH_PE_absptr for flag_pic && GLOBAL if %r_disp32() doesn't work
18299 properly with .hidden symbols.
18300
faf6db38
JJ
183012002-04-03 Jakub Jelinek <jakub@redhat.com>
18302
18303 PR middle-end/6102
18304 * df.c (df_insn_refs_record): Use XEXP not SET_DEST to access
18305 USE argument.
18306
68c17f30
RH
183072002-04-03 Richard Henderson <rth@redhat.com>
18308
18309 PR opt/4120
18310 * sched-rgn.c (sets_likely_spilled): New.
18311 (sets_likely_spilled_1): New.
18312 (add_branch_dependences): Use it.
18313
6584b4aa
RH
183142002-04-02 Richard Henderson <rth@redhat.com>
18315
18316 PR opt/4311
18317 * loop.h (LOOP_FIRST_PASS): New.
18318 * loop.c (strength_reduce): Mind it when deciding to unroll.
18319 * toplev.c (rest_of_compilation): Set it.
18320
0acf409f
DM
183212002-04-02 David S. Miller <davem@redhat.com>
18322
18323 * config/sparc/sparc.md (ldd peephole2s): Fix final arg to
18324 mems_ok_for_ldd_peep when the order of the loads being examined
18325 is reversed.
18326 * config/sparc/sparc.c (mems_ok_for_ldd_peep): Expand upon
18327 existing comment to increase comprehension of this situation.
18328
85654444
ZW
183292002-04-02 Zack Weinberg <zack@codesourcery.com>
18330
18331 * config/sh/sh.md: Don't use union real_extract.
18332
543828ca
RH
183332002-04-02 Richard Henderson <rth@redhat.com>
18334
18335 * libgcc2.c (__bb_exit_func): Revert 03-31 change.
18336
39ed301b
DB
183372002-04-02 David O'Brien <obrien@FreeBSD.org>
18338
18339 * config.gcc (i386-dg-dgux, i386-go32-msdos , i386-go32-rtems,
18340 i386-ibm-aix, i386-moss-msdos, i386-ncr-sysv4, i386-next-,
18341 i386-pc-msdosdjgpp, i386-sequent-bsd, i386-sequent-ptx1,
18342 i386-sequent-ptx2, i386-sequent-ptx4, i386-sun-sunos,
18343 i386-wrs-vxworks, i386-*-aout, i386-*-beoself, i386-*-bsd,
18344 i386-*-bsdi, i386-*-chorusos, i386-*-coff, i386-*-elf,
18345 i386-*-freebsd5, i386-*-freebsd-aout, i386-*-gnu, i386-*-interix,
18346 i386-*-interix3, i386-*-isc, i386-*-linux, i386-*-linuxaout,
18347 i386-*-linuxoldld, i386-*-lynxos, i386-*-mach, i386-*-mingw32,
18348 i386-*-netbsd, i386-*-netbsdelf, i386-*-netware, i386-*-openbsd,
18349 i386-*-osf1, i386-*-osfrose, i386-*-pe , i386-*-rtems,
18350 i386-*-rtemscoff, i386-*-sco3.2v5, i386-*-solaris2, i386-*-sysv,
18351 i386-*-sysv4, i386-*-sysv5, i386-*-udk, i386-*-uwin, i386-*-vsta,
18352 i386-*-win32, x86_64-*-freebsd5, x86_64-*-linux, x86_64-*-netbsd):
18353 Include as many configury headers via tm_file as possible. This
18354 includes among others i386/unix.h, i386/bsd.h, i386/gas.h.
18355 * config/openbsd-oldgas.h: New file.
18356 * config/i386/386bsd.h, config/i386/aix386ng.h, config/i386/att.h,
18357 config/i386/bsd.h, config/i386/djgpp.h, config/i386/freebsd-aout.h,
18358 config/i386/gas.h, config/i386/gstabs.h, config/i386/i386-aout.h,
18359 config/i386/i386-coff.h, config/i386/i386-interix.h,
18360 config/i386/iscdbx.h, config/i386/linux-aout.h,
18361 config/i386/linux-oldld.h, config/i386/lynx-ng.h, config/i386/lynx.h,
18362 config/i386/mach.h, config/i386/netbsd.h, config/i386/next.h,
18363 config/i386/openbsd.h, config/i386/osfelf.h, config/i386/osfrose.h,
18364 config/i386/sco5.h, config/i386/seq-gas.h, config/i386/seq-sysv3.h,
18365 config/i386/seq2-sysv3.h, config/i386/sequent.h, config/i386/sun.h,
18366 config/i386/sun386.h, config/i386/svr3dbx.h, config/i386/svr3gas.h,
18367 config/i386/sysv3.h, config/i386/uwin.h, config/i386/vsta.h,
18368 config/i386/vxi386.h: Do not directly include configury headers.
18369 * config/i386/cygwin.h, config/i386/djgpp.h, config/i386/win32.h:
18370 Directly include configury headers that are no longer automatically
18371 included by the above headers.
18372 * config/i386/att.h, config/i386/bsd.h (TARGET_VERSION): Do not define.
18373 * config/i386/386bsd.h, config/i386/aix386ng.h, config/i386/cygwin.h,
18374 config/i386/djgpp.h, config/i386/i386-aout.h, config/i386/i386-coff.h,
18375 config/i386/lynx-ng.h, config/i386/lynx.h, config/i386/mach.h,
18376 config/i386/netbsd.h, config/i386/openbsd.h, config/i386/rtems.h,
18377 config/i386/seq-sysv3.h, config/i386/sequent.h, config/i386/svr3gas.h,
18378 config/i386/sysv3.h, config/i386/vsta.h, config/i386/vxi386.h
18379 (TARGET_VERSION): Define.
18380 * config/i386/beos-elf.h, config/i386/freebsd.h,
18381 config/i386/i386-interix.h, config/i386/i386elf.h, config/i386/linux.h,
18382 config/i386/linux64.h, config/i386/netbsd-elf.h, config/i386/netbsd64.h,
18383 config/i386/osfelf.h, config/i386/osfrose.h, config/i386/ptx4-i.h,
18384 config/i386/sco5.h, config/i386/sysv4.h
18385 (TARGET_VERSION): Do not need to protect.
18386 * config/i386/freebsd64.h (TARGET_VERSION): Fix style.
18387 * config/i386/386bsd.h, config/i386/cygwin.h, config/i386/djgpp.h,
18388 config/i386/freebsd-aout.h, config/i386/i386-aout.h,
18389 config/i386/i386-interix.h, config/i386/linux-aout.h,
18390 config/i386/linux-oldld.h, config/i386/mach.h, config/i386/netbsd.h,
18391 config/i386/openbsd.h, config/i386/vsta.h, config/i386/win32.h
18392 (YES_UNDERSCORES): Do not define - not needed.
18393 * config/i386/bsd.h, config/i386/gas.h (LPREFIX,
18394 ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL,
18395 USER_LABEL_PREFIX): Do not handle the "NO_UNDERSCORES" case.
18396 * config/i386/i386-coff.h, config/i386/lynx.h, config/i386/lynx-ng.h
18397 (LPREFIX, ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL,
18398 USER_LABEL_PREFIX): Define. (handles the "NO_UNDERSCORES" case)
18399 * config/i386/isc.h: Preserve comment from config/i386/isccoff.h.
18400 * config/i386/isccoff.h, config/i386/v3gas.h: Remove.
18401
9432c136
EB
184022002-04-02 Eric Botcazou <ebotcazou@multimania.com>
18403 Richard Henderson <rth@redhat.com>
18404
18405 PR c/5484
18406 * function.c (assign_temp): Accept either type or decl argument.
18407 Detect variables whose size is too large to fit into an integer.
18408 * stmt.c (expand_decl): Pass the decl, not the type.
18409
058b1275
DB
184102002-04-02 David O'Brien <obrien@FreeBSD.org>
18411
18412 * protoize.c: Match include directory usage with cppdefault.c.
18413
5add6d1a 184142002-04-03 Jeffrey A Law (law@redhat.com)
9be40833 18415 Hans-Peter Nilsson <hp@bitrange.com>
5add6d1a
JL
18416
18417 * combine.c (simplify_comparison): Avoid narrowing a comparison
18418 with a paradoxical subreg when doing so would drop signficant bits.
18419
1e533e4b
SE
184202002-04-02 Steve Ellcey <sje@cup.hp.com>
18421
18422 * builtins.c (expand_builtin_prefetch): Force op0 pointer to Pmode
18423 if POINTERS_EXTEND_UNSIGNED is defined.
18424
7a145e92
RH
184252002-04-02 Richard Henderson <rth@redhat.com>
18426
18427 PR opt/3967
18428 * local-alloc.c (contains_replace_regs): LO_SUM may contain
18429 replace regs.
18430
3a079822
RH
184312002-04-02 Richard Henderson <rth@redhat.com>
18432
18433 * doc/standards.texi: Document required freestanding libc entry points.
18434
c94ccb87
AM
184352002-04-02 Alan Modra <amodra@bigpond.net.au>
18436
18437 * config/rs6000/rs6000.md (ctrdi*): Add FPR constraint and
18438 associated splitter. Remove MQ constraint.
18439 (ctrdi_internal4): Correct CCmode clobber.
18440
fe660a1a
JDA
184412002-04-02 John David Anglin <dave@hiauly1.hia.nrc.ca>
18442
18443 * milli64.S ($$dyncall): New function.
18444 * t-linux (LIB1ASMFUNCS): Revise module list.
18445 (LIB1ASMSRC): Use pa/milli64.S.
18446
eadc0202
RH
184472002-04-02 Richard Henderson <rth@redhat.com>
18448
18449 * fixinc/inclhack.def (AAB_solaris_sys_varargs_h): Move and
18450 rename solaris_sys_varargs_h.
18451
a1471322
RK
18452Tue Apr 2 06:47:40 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
18453
18454 * stor-layout.c (layout_type, case ARRAY_TYPE): Give one-element array
18455 the same mode as its component.
18456
c8b94768
RH
184572002-04-02 Richard Henderson <rth@redhat.com>
18458
18459 PR opt/190
18460 * final.c (this_is_asm_operands): Export.
18461 * output.h (this_is_asm_operands): Declare.
18462 * config/i386/i386.c (print_operand): Error odd asm operands.
18463
161eb4fc
RH
184642002-04-02 Richard Henderson <rth@redhat.com>
18465
18466 PR opt/420
18467 * config/m68k/m68k.md (dbcc peepholes): Match four forms of dbra.
18468
b88a94c6
RH
184692002-04-01 Richard Henderson <rth@redhat.com>
18470
18471 PR target/1538
18472 * fixinc/inclhack.def (solaris_sys_varargs_h): New.
18473 * fixinc/fixincl.x: Rebuild.
18474
72e32876
RH
184752002-04-01 Richard Henderson <rth@redhat.com>
18476
18477 * config/ia64/unwind-ia64.c: Include ia64intrin.h.
18478 (atomic_alloc, atomic_free): New.
18479 (SIZE, MASK_FOR, PTR_IN): New.
18480 (emergency_reg_state, emergency_reg_state_free): New.
18481 (emergency_labeled_state, emergency_labeled_state_free): New.
18482 (reg_state_alloced, labeled_state_alloced): New.
18483 (alloc_reg_state, free_reg_state): New.
18484 (alloc_label_state, free_label_state, free_label_states): New.
18485 (push, pop, dup_state_stack, free_state_stack): Use them.
18486 (desc_label_state): Likewise.
18487 (uw_frame_state_for): Free label states and state stack.
18488 (uw_update_reg_address): Eliminate warnings.
18489
84d76074
VM
184902002-04-01 Vladimir Makarov <vmakarov@redhat.com>
18491
18492 * config/pa/pa-pro-end.h (ASM_OUTPUT_ALIGNED_COMMON,
9be40833 18493 ASM_OUTPUT_ALIGNED_LOCAL): Redefine them.
84d76074 18494
dffd7eb6
NB
184952002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
18496
18497 * c-decl.c (grokdeclarator): Update.
18498 * c-lang.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
18499 * c-tree.h (c_mark_addressable): New.
18500 * c-typeck.c (default_function_array_conversion, build_unary_op,
18501 build_array_ref, convert_for_assignment): Update.
18502 (mark_addressable): Rename.
18503 * calls.c (try_to_integrate, expand_call): Use langhook.
18504 * expr.c (expand_expr): Use langhook.
18505 * langhooks-def.h (LANG_HOOKS_INITIALIZER): Update.
18506 * langhooks.h (struct lang_hooks): New hook.
18507 * stmt.c (expand_asm_operands): Use langhook.
18508 * tree.h (mark_addressable): Remove.
18509objc:
18510 * objc-lang.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
18511
544ef5b5
BW
185122002-04-01 Bob Wilson <bob.wilson@acm.org>
18513
9be40833
RH
18514 * config/xtensa/xtensa.c (xtensa_va_arg): Fix compiler warning
18515 in previous change.
544ef5b5 18516
bcf88f9b
BW
185172002-04-01 Bob Wilson <bob.wilson@acm.org>
18518
18519 * config/xtensa/xtensa.c (xtensa_va_arg): Fix to handle arguments
18520 for which MUST_PASS_IN_STACK is true (e.g., variable-sized types).
18521
ceef8ce4
NB
185222002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
18523
18524 * c-common.c (unsigned_conversion_warning, convert_and_check,
18525 unsigned_type, signed_type, shorten_compare,
18526 c_common_get_alias_set, c_common_nodes_and_builtins): Use new hooks.
18527 (unsigned_type, signed_type, signed_or_unsigned_type): Rename.
18528 * c-common.h (unsigned_type, signed_type, signed_or_unsigned_type):
18529 New.
18530 * c-decl.c (grokdeclarator): Update.
18531 * c-format.c (check_format_types): Update.
18532 * c-lang.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
18533 LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
18534 * c-typeck.c (build_binary_op, convert_for_assignment): Update.
18535 * convert.c (convert_to_integer): Use new hooks.
18536 * expmed.c (make_tree): Use new hooks.
18537 * expr.c (store_expr): Use new hooks.
18538 * fold-const.c (operand_equal_for_comparison_p, build_range_check,
18539 all_ones_mask_p, unextend, fold): Use new hooks.
18540 * langhooks.h (struct lang_hooks_for_types): New hooks.
18541 * tree.h (signed_or_unsigned_type, signed_type,
18542 unsigned_type): Remove.
18543objc:
18544 * objc-lang.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
18545 LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
18546
1d9ad0e0
RH
185472002-03-31 Richard Henderson <rth@redhat.com>
18548
18549 * config/ia64/unwind-ia64.c (alloc_spill_area): Fix offset.
18550 (desc_frgr_mem): Fix reference to f16-f31.
18551
d544bc39
KG
185522002-03-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
18553
18554 * rtl.h (RTL_CHECK1, RTL_CHECK2, RTL_CHECKC1, RTL_CHECKC2,
18555 RTVEC_ELT): Const-ify.
d8750784
KG
18556 * varray.h (VARRAY_CHECK): Const-ify.
18557 * ggc.h (ggc_mark_rtx, ggc_mark_tree, ggc_mark_nonnull_tree,
18558 ggc_mark_rtvec, ggc_mark): Const-ify.
d544bc39 18559
b18101c7
NB
185602002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
18561
18562 * diagnostic.c: Include langhooks-def.h.
18563 * Makefile.in (diagnostic.o): Update.
18564
48a7a235
NB
185652002-03-31 Neil Booth <neil@daikokuya.demon.co.uk>
18566
18567 * c-common.c (c_unsafe_for_reeval): Rename.
18568 * c-common.h (c_unsafe_for_reeval): Rename.
18569 * c-decl.c (finish_incomplete_decl): Rename.
18570 (c_init_decl_processing): Don't set langhook.
18571 * c-lang.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL,
18572 LANG_HOOKS_UNSAFE_FOR_REEVAL): Redefine.
18573 * c-objc-common.c (c_objc_common_init): Don't set langhook.
18574 * c-tree.h (finish_incomplete_decl): Rename.
18575 * langhooks-def.h (lhd_unsafe_for_reeval): New.
18576 (LANG_HOOKS_FINISH_INCOMPLETE_DECL, LANG_HOOKS_UNSAFE_FOR_REEVAL): New.
18577 (LANG_HOOKS_INITIALIZER): Update.
18578 * langhooks.c (lhd_unsafe_For_reeval): New.
18579 * langhooks.h (struct langhooks): New hooks.
18580 * toplev.c (incomplete_decl_finalize_hook): Remove.
18581 (wrapup_global_declarations): Update.
18582 * tree.c (lang_unsafe_for_reeval): Remove.
18583 (unsafe_for_reeval): Update.
18584 * tree.h (lang_unsafe_for_reeval, incomplete_decl_finalize_hook):
18585 Remove.
18586objc:
18587 * objc-lang.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL,
18588 LANG_HOOKS_UNSAFE_FOR_REEVAL): Redefine.
18589
7cb32822
NB
185902002-03-31 Neil Booth <neil@daikokuya.demon.co.uk>
18591
18592 * diagnostic.c (print_error_function): Remove.
18593 (default_print_error_function): Rename.
18594 (report_error_function): Update.
18595 * diagnostic.h (print_error_function): Remove.
18596 (default_print_error_function): Remove.
18597 * langhooks-def.h (struct diagnostic_context): Predeclare.
18598 (lhd_print_error_function, LANG_HOOKS_PRINT_ERROR_FUNCTION): New.
18599 (LANG_HOOKS_INITIALIZER): Update.
18600 * langhooks.h (struct diagnostic context): Predeclare.
18601 (struct lang_hooks): New hook.
18602
1db02437
FS
186032002-03-31 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
18604
18605 * config/rs6000/rs6000.h (RS6000_PIC_OFFSET_TABLE_REGNUM): New.
18606 (PIC_OFFSET_TABLE_REGNUM): Use it and return INVALID_REGNUM if
18607 !flag_pic.
18608 (CONDITIONAL_REGISTER_USAGE): Adjust accordingly.
18609 * config/rs6000/rs6000.h: Use RS6000_PIC_OFFSET_TABLE_REGNUM instead
18610 of PIC_OFFSET_TABLE_REGNUM thruout.
18611 * config/rs6000/rs6000.md: Likewise.
18612 * config/rs6000/darwin.h: Likewise.
18613
3bf1e984
RK
18614Sun Mar 31 14:43:24 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
18615
18616 * emit-rtl.c (adjust_address_1, offset_address): Cast value to
18617 unsigned HOST_WIDE_INT, not unsigned int.
18618
0864c526
JJ
186192002-03-31 Jakub Jelinek <jakub@redhat.com>
18620
18621 PR middle-end/6096, middle-end/6098, middle-end/6099
18622 * reorg.c (emit_delay_sequence): Only increment LABEL_NUSES for
18623 CODE_LABELs.
18624 (fill_slots_from_thread): Likewise.
18625
105b2084
JJ
186262002-03-31 Jakub Jelinek <jakub@redhat.com>
18627
18628 * config/sparc/sparc.c (function_arg_record_value_1): Pass complex
18629 floating fields in float regs.
18630 (function_arg_record_value_2): Likewise.
18631
db08fddf
HPN
186322002-03-31 Hans-Peter Nilsson <hp@bitrange.com>
18633
18634 * config/mmix/mmix.md (define_constants): Remove misleading
18635 FIXME. Add MMIX_fp_rO_OFFSET.
18636 ("nonlocal_goto_receiver"): Don't have stack-frame address of
18637 saved rO as part of the pattern. Remove FIXME.
18638 ("*nonlocal_goto_receiver_expanded"): Similar. Generate address
18639 here, at output-time.
18640
4f31cce8
JJ
186412002-03-31 Jakub Jelinek <jakub@redhat.com>
18642
18643 PR middle-end/6100
18644 * config/sparc/sparc.c (output_cbranch): Use REG_BR_PROB, not
18645 REG_BR_PRED.
18646 (output_v9branch): Likewise.
18647
ba2b7435
AO
186482002-03-31 Alexandre Oliva <aoliva@redhat.com>
18649
18650 * gcc.c: Revert previous patch for now.
18651 * config/i386/djgpp.h: Likewise.
18652
aa66aa5f 186532002-03-31 Hans-Peter Nilsson <hp@bitrange.com>
8f840f57
HPN
18654
18655 * config/mmix/crti.asm (_init): Register _fini with atexit.
18656 * config/mmix/crtn.asm (_fini): Add omitted "POP 0,0".
18657
41ba8a20
RH
186582002-03-31 Richard Henderson <rth@redhat.com>
18659
18660 PR target/3997
18661 * config/alpha/elf.h (ASM_OUTPUT_DEF): Tidy.
18662 (ASM_OUTPUT_DEF_FROM_DECLS): New.
18663
adc186ef
RH
186642002-03-31 Richard Henderson <rth@redhat.com>
18665
18666 * libgcc2.c (__bb_exit_func): Make static.
18667
9be40833 18668 * config/alpha/alpha.md (trap): New.
a7648399 18669
9602f5a0
RH
186702002-03-31 Richard Henderson <rth@redhat.com>
18671
18672 * builtins.c (expand_builtin_va_arg): Give warnings not errors for
18673 promoted argument types; build trap.
18674 (expand_builtin_trap): New.
18675 (expand_builtin): Use it.
18676 * stmt.c (expand_nl_goto_receivers): Likewise.
18677 * expr.h (expand_builtin_trap): Declare.
18678 * libfuncs.h (LTI_abort, abort_libfunc): New.
18679 * optabs.c (init_optabs): Init abort_libfunc.
18680
1a0a7539
AO
186812002-03-31 Alexandre Oliva <aoliva@redhat.com>
18682
18683 * gcc.c (LIBGCC_SPEC): Folded %L and duplicate %G here...
18684 (LINK_COMMAND_SPEC): ... from here.
7b2e1077 18685 (init_gcc_specs): Duplicate it here too, omitting
1a0a7539
AO
18686 shared_name in the second copy.
18687 (init_spec): Test for duplicate
18688 * config/i386/djgpp.h (LINK_COMMAND_SPEC): Remove `%L %G'.
18689
b5de1a27
DM
186902002-03-30 David S. Miller <davem@redhat.com>
18691
18692 * config/sparc/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
18693 * config/sparc/linux64.h (HANDLE_PRAGMA_PACK_PUSH_POP): Likewise.
18694
78414d74 186952002-03-30 Roger Sayle <roger@eyesopen.com>
9be40833 18696 Richard Henderson <rth@redhat.com>
78414d74 18697
9be40833
RH
18698 * regmove.c (combine_stack_adjustments_for_block): Avoid
18699 emitting a stack adjustment of zero bytes. Let delete_insn
18700 update bb->head.
78414d74 18701
33074e5f
RH
187022002-03-30 Richard Henderson <rth@redhat.com>
18703
18704 * config/sparc/sparc.c: Remove all references to TARGET_EPILOGUE.
18705 (sparc_emitting_epilogue): New.
18706 (leaf_label, output_return, sparc_return_peephole_ok): Remove.
18707 * config/sparc/sparc-protos.h: Update.
18708 * config/sparc/sparc.h (MASK_EPILOGUE, TARGET_EPILOGUE): Remove.
18709 (TARGET_SWITCHES): Update.
18710 * config/sparc/sparc.md (return): Remove.
18711 (return_*): Use sparc_emitting_epilogue, not !TARGET_EPILOGUE.
18712 * config/sparc/freebsd.h, config/sparc/linux64.h, config/sparc/lite.h,
18713 config/sparc/liteelf.h, config/sparc/netbsd-elf.h,
18714 config/sparc/sol2-sld-64.h, config/sparc/sol2.h,
18715 config/sparc/sp64-aout.h, config/sparc/sp64-elf.h,
18716 config/sparc/sp86x-aout.h, config/sparc/sp86x-elf.h,
18717 config/sparc/splet.h, config/sparc/vxsparc64.h (TARGET_DEFAULT):
18718 Remove MASK_EPILOGUE.
18719 * doc/invoke.texi: Update.
18720
606cc056
DB
187212002-03-30 Daniel Berlin <dan@dberlin.org>
18722
18723 * dwarf2out.c (dwarf2out_define): Remove start_source_file call,
18724 CPP will start the file for us.
7b2e1077 18725
bdbe5b8d
RH
187262002-03-30 Richard Henderson <rth@redhat.com>
18727
18728 PR target/5446
18729 * config/ia64/ia64.c (group_barrier_needed_p): Special case
18730 prologue_allocate_stack.
18731 (ia64_single_set): Use insn codes for recognition of special
18732 cases, not rtl matching.
18733 * config/ia64/ia64.md (prologue_allocate_stack): Op 3 is in-out.
18734
4ab95d82
JH
18735Sat Mar 30 23:48:41 CET 2002 Jan Hubicka <jh@suse.cz>
18736
18737 * cfgbuild.c (find_basic_blocks_1): Clear aux for blocks.
18738
89a8b315
RH
187392002-03-30 Richard Henderson <rth@redhat.com>
18740
18741 PR target/6032
18742 * config/sparc/sparc.h (OVERRIDE_OPTIONS): Don't override -fpic
18743 or -fomit-frame-pointer with profiling.
18744 (SUBTARGET_OVERRIDE_OPTIONS): Remove.
18745 (FUNCTION_PROFILER): Do nothing.
18746 (PROFILE_HOOK): New.
18747 * config/sparc/sparc.c (sparc_override_options): Don't check
18748 code models for profiling.
18749 (sparc_function_profiler): Remove.
18750 (sparc_profile_hook): New.
18751 * config/sparc/sparc-protos.h: Update.
18752
30984c57
JJ
187532002-03-30 Jakub Jelinek <jakub@redhat.com>
18754
18755 PR optimization/6086
18756 * combine.c (combine_simplify_rtx): If simplify_rtx failed because
18757 of SUBREG of volatile MEM or because the MEM was mode dependent,
18758 return CLOBBER instead of unmodified SUBREG.
18759
1540f9eb
JH
18760Sat Mar 30 14:08:55 CET 2002 Jan Hubicka <jh@suse.cz>
18761
89a8b315
RH
18762 * local-alloc.c (local_alloc): Avoid call of update_equiv_regs
18763 when not optimizing.
1540f9eb
JH
18764
18765 * toplev.c (rest_of_compilation): Cann mark_constant_function
18766 only when optimizing.
18767
89a8b315
RH
18768 * flow.c (calculate_global_regs_live): Ensure that all AUX fields
18769 are NULL.
1540f9eb
JH
18770
18771 * cfgcleanup.c (bb_flags): Add BB_NONTHREADABLE_BLOCK.
18772 (thread_jump): Set BB_NONTHREADABLE_BLOCK, check it.
18773 (try_optimize_cfg): clear all AUX fields.
18774
18775 * i386.c (aligned_operand): Be prepared for SUBREGed registers.
18776 (ix86_decompose_address): Use REG_P instead of GET_CODE (...) == REG.
18777 (ix86_address_cost): Be prepared for SUBREGed registers.
18778 (legitimate_address_p): Accept SUBREGed registers.
18779
70d95bac
RH
187802002-03-29 Richard Henderson <rth@redhat.com>
18781
18782 PR target/5672
18783 * expr.c (expand_expr): Pass along EXPAND_INITIALIZER one more place.
18784
d3294cd9
FS
187852002-03-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
18786
18787 * config/rs6000/rs6000.c (rs6000_va_arg): Correctly set register count
18788 for aggregate and TFmode types.
18789
a106c875
HPN
187902002-03-29 Hans-Peter Nilsson <hp@bitrange.com>
18791
18792 * cfg.c (dump_flow_info): Guard against NULL regno_reg_rtx[i].
18793
7d7a5d6f
RH
187942002-03-29 Richard Henderson <rth@redhat.com>
18795
6e2d670b 18796 PR target/5886
7d7a5d6f
RH
18797 * config/ia64/aix.h (CPP_PREDEFINES): Add -D_LP64.
18798 * config/ia64/hpux.h, config/ia64/linux.h: Likewise.
18799
30c99a84
RH
188002002-03-29 Richard Henderson <rth@redhat.com>
18801
6e2d670b 18802 PR target/6041
30c99a84
RH
18803 * config/i386/i386.c (x86_arch_always_fancy_math_387): New.
18804 (override_options): Disable NO_FANCY_MATH_387 if the arch allows.
18805 * config/i386/i386.h (x86_arch_always_fancy_math_387): New.
18806 * config/i386/i386.md (sqrtxf2, sqrtextendsfxf2, sinxf2): Fix
18807 conditional.
18808 * docs/invoke.texi: Update -mno-fancy-math-387 docs.
18809
02a566dc
DJ
188102002-03-29 Dale Johannesen <dalej@apple.com>
18811
18812 * loop.c (combine_movables): Do allow combination of pseudos.
18813
bc3a44db
LR
188142002-03-29 Loren J. Rittle <ljrittle@acm.org>
18815
18816 * config.gcc (*-*-freebsd*): Enable creation of libgcc_s.so.
18817 * config/t-slibgcc-elf-ver (SHLIB_LC): Add macro and use it.
18818 No functional change except ...
18819 * config/t-slibgcc-nolc-override (SHLIB_LC): Override it. New file.
18820 * doc/install.texi (*-*-freebsd*): Document port configuration.
18821
b0c48229
NB
188222002-03-29 Neil Booth <neil@daikokuya.demon.co.uk>
18823
18824 * Makefile.in (convert.o, calls.o, expmed.o): Update.
18825 * attribs.c (handle_mode_attribute, handle_vector_size_attribute):
18826 Use new hooks.
18827 * builtin-types.def (BT_PTRMODE): Update.
18828 * c-common.c (type_for_size): Rename c_common_type_for_size.
18829 (type_for_mode): Similarly.
18830 (shorten_compare, pointer_int_sum, c_common_nodes_and_builtins):
18831 Use new hook.
18832 * c-bommon.h (c_common_type_for_size, c_common_type_for_mode): New.
18833 * c-decl.c (finish_enum, build_enumerator): Use new hooks.
18834 * c-lang.c (LANG_HOOKS_TYPE_FOR_MODE, LANG_HOOKS_TYPE_FOR_SIZE):
18835 Redefine.
18836 * c-typeck.c (common_type, comptypes, default_conversion):
18837 Use new hooks.
18838 * calls.c: Include langhooks.h.
18839 (emit_library_call_value_1): Use new hooks. Avoid redundant
18840 calls.
18841 * convert.c: Include langhooks.h
18842 (convert_to_pointer, convert_to_integer): Use new hooks.
18843 * except.c (init_eh): Similarly.
18844 * expmed.c: Include langhooks.h.
18845 (expand_mult_add): Use new hooks.
18846 * expr.c (store_expr, store_constructor, expand_expr, do_jump,
18847 try_casesi): Similarly.
18848 * fold-const.c (optimize_bit_field_compare, make_range,
18849 decode_field_reference, fold_truthop, fold): Similarly.
18850 * function.c (assign_stack_local_1, assign_stack_temp_for_type,
18851 put_var_into_stack): Similarly.
18852 * langhooks-def.h (LANG_HOOKS_TYPE_FOR_MODE,
18853 LANG_HOOKS_TYPE_FOR_SIZE): New.
18854 (LANG_HOOKS_TYPES_INITIALIZER): Update.
18855 * langhooks.h (lang_hooks_for_types): New hooks.
18856 * stmt.c (expand_decl_cleanup, emit_case_nodes): Use new hooks.
18857 * tree.c (get_unwidened, get_narrower): Similarly.
18858 * tree.h (type_for_mode, type_for_size): Remove.
18859 * varasm.c (force_const_mem): Use new hooks.
18860 * utils2.c (nonbinary_modular_operation): Update.
18861objc:
18862 * objc-act.c (handle_impent): Update.
18863 * objc-lang.c (LANG_HOOKS_TYPE_FOR_MODE, LANG_HOOKS_TYPE_FOR_SIaZE):
18864 Redefine.
18865
e206a74f
SE
188662002-03-29 Steve Ellcey <sje@cup.hp.com>
18867
18868 * config/ia64/ia64.md (*ptr_extend_plus_1, *ptr_extend_plus_2): New.
18869 * config/ia64/ia64.c (basereg_operand): New.
18870 * config/ia64/ia64-protos.h (basereg_operand): Declare.
18871 * config/ia64/ia64.h (PREDICATE_CODES): Add basereg_operand.
18872
7d9b6378
HPN
188732002-03-29 Hans-Peter Nilsson <hp@bitrange.com>
18874
18875 * config/mmix/mmix.c (mmix_target_asm_function_prologue): Correct
18876 unwind information when frame_pointer_needed.
18877 (mmix_assemble_integer): Tweak wording in comment.
18878
f1e639b1
NB
188792002-03-29 Neil Booth <neil@daikokuya.demon.co.uk>
18880
18881 * Makefile.in (except.o): Update.
18882 * except.c: Include langhooks.h.
18883 (init_eh): Use langhook.
18884 * langhooks-def.h (LANG_HOOKS_MAKE_TYPE,
18885 LANG_HOOKS_FOR_TYPES_INITIALIZER): New.
18886 (LANG_HOOKS_INITIALIZER): Update.
18887 * langhooks.h (lang_hooks_for_types): New.
18888 (struct lang_hooks): Add it.
18889 * tree.c (make_lang_type_fn, make_lang_type): Remove.
18890 * tree.h (make_lang_type_fn, make_lang_type): Remove.
18891config:
18892 * alpha/alpha.c: Include langhooks.h.
18893 (alpha_build_va_list): Use langhook.
18894 * d30v/d30v.c: Include langhooks.h.
18895 (d30v_build_va_list): Use langhook.
18896 * i386/i386.c: Include langhooks.h.
18897 (ix86_build_va_list): Use langhook.
18898 * rs6000/rs6000.c (rs6000_build_va_list): Use langhook.
18899 * s390/s390.c: Include langhooks.h.
18900 (s390_build_va_list): Use langhook.
18901 * stormy16/stormy16.c: Include langhooks.h.
18902 (stormy16_build_va_list): Use langhook.
18903
f17f9332
JJ
189042002-03-29 Jakub Jelinek <jakub@redhat.com>
18905
18906 PR c++/5964
18907 * config/sparc/sparc.md (empty_delay_slot, branch_type): New
18908 attributes.
18909 (length): Compute variable length for branches/calls/jumps here.
18910 (branch, inverted_branch, normal_fp_branch, inverted_fp_branch,
18911 normal_fpe_branch, inverted_fpe_branch): Remove length attribute,
18912 define branch_type attribute.
18913 (divsi3_sp32): Maximum length is 6 not 7.
18914 (call_address_struct_value_sp32, call_symbolic_struct_value_sp32,
18915 call_address_untyped_struct_value_sp32,
18916 call_symbolic_untyped_struct_value_sp32): Set length to 3 not 2.
18917 * config/sparc/sparc.c (empty_delay_slot): New function.
18918 * config/sparc/sparc.h (ADJUST_INSN_LENGTH): Remove.
18919 * config/sparc/sparc-protos.h (empty_delay_slot): Add prototype.
18920
0a0440c9
JJ
189212002-03-29 Jakub Jelinek <jakub@redhat.com>
18922
18923 * combine.c (set_nonzero_bits_and_sign_copies): Don't call
18924 nonzero_bits if not needed.
18925 (nonzero_bits) [XOR]: Likewise.
18926 (nonzero_bits) [REG]: Use reg_last_set_nonzero_bits even if
18927 reg_last_set_mode and mode are both MODE_INT, but not equal.
18928 (record_value_for_reg): Compute reg_last_set_nonzero_bits
18929 in nonzero_bits_mode for MODE_INT modes.
18930
c9045f47
RH
189312002-03-28 Richard Henderson <rth@redhat.com>
18932
18933 PR target/5715
18934 * config/alpha/osf.h (ASM_SPEC): Don't pass any special options
18935 to GAS. Correct drift between alternatives.
18936
f8ed1958
RH
189372002-03-28 Richard Henderson <rth@redhat.com>
18938
18939 PR target/6087
18940 * reload1.c (fixup_abnormal_edges): Move insn to edge via sequence.
18941
54e20385
LR
189422002-03-28 Alexandre Oliva <aoliva@redhat.com>
18943
18944 * config/i386/freebsd.h (LINK_SPEC): Don't pass default
18945 emulation to the linker.
18946
189472002-03-28 Loren J. Rittle <ljrittle@acm.org>
18948
18949 * config/alpha/freebsd.h (LINK_SPEC): Likewise.
18950 * config/sparc/freebsd.h (LINK_SPEC): Likewise.
18951
8bc52806
JL
18952Thu Mar 28 16:35:31 2002 Jeffrey A Law (law@redhat.com)
18953
18954 * combine.c (simplify_and_const_int): Make sure to apply mask
18955 when force_to_mode returns a constant integer. PR3311.
18956
279dccc5
JDA
189572002-03-28 John David Anglin <dave@hiauly1.hia.nrc.ca>
18958
18959 * pa-linux.h (LOCAL_LABEL_PREFIX): Define.
18960
62aaa62c
GP
189612002-03-28 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
18962
18963 * doc/invoke.texi (Warning Options): Refer to C++ Dialect Options
18964 and Objective-C Dialect Options.
18965
b8de5050
RH
189662002-03-28 Richard Henderson <rth@redhat.com>
18967
18968 * config/alpha/alpha.c (alpha_emit_conditional_branch): TFmode NE
18969 comparison should be done vs !=0 not >0 return code. Tidy cases.
18970
619708cc
RH
189712002-03-28 Richard Henderson <rth@redhat.com>
18972
18973 * c-decl.c (finish_function): New arg can_defer_p. Pass it
18974 on to c_expand_body.
18975 * c-tree.h (finish_function): Update decl.
18976 * c-objc-common.c, c-parse.in, objc/objc-act.c: Update calls.
18977
b1d874d7
JH
18978Thu Mar 28 19:13:36 CET 2002 Jan Hubicka <jh@suse.cz>
18979
18980 * ifcvt.c (if_convert): Clear aux_for_blocks early enought.
18981
f5eb5fd0
JH
18982Thu Mar 28 13:21:53 CET 2002 Jan Hubicka <jh@suse.cz>
18983
18984 * rtlanal.c: Include flags.h
18985 (may_trap_p): Do not mark FP operations if trapping
18986 if !flag_trapping_math
18987 * Makefile.in (rtlanal.o): Add dependency on flag.h
18988 * ifcvt.c (noce_operand_ok): Avoid the lameness.
18989
81b4c798
ZW
189902002-03-27 Zack Weinberg <zack@codesourcery.com>
18991
18992 * mips.md: Use dconst1, not 1.0, as first argument of
18993 REAL_VALUE_LDEXP. Don't use union real_extract.
18994
55a2ea2a
AM
189952002-03-28 Alan Modra <amodra@bigpond.net.au>
18996
18997 * configure.in (gcc_cv_as): Use $target_alias in directory searchs
18998 rather than $target. Heed program_prefix and
18999 program_transform_name. Search for gas in cross-compiler case too.
19000 "test -x" rather than "test -f".
19001 (gcc_cv_ld): Likewise.
19002 (gcc_cv_nm): Heed program_prefix and program_transform_name.
19003 (gcc_cv_objdump): Likewise.
19004 * configure: Regenerate.
19005
7ffb4fd2
NB
190062002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
19007
19008 * Makefile.in (attribs.o): Update.
19009 * attribs.c: Include langhooks.h.
19010 (decl_attributes): Use langhook.
19011 * c-decl.c (insert_default_attributes): Rename.
19012 * c-tree.h (c_insert_default_attributes): New.
19013 * langhooks-def.h (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES):New.
19014 (LANG_HOOKS_INITIALIZER): Update.
19015 * langhooks.h (struct lang_hooks): New hook.
19016 * tree.h (insert_default_attributes): Remove.
19017objc:
19018 * objc-lang.c (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Redefine.
19019
e4dbaed5
AS
190202002-03-27 Andreas Schwab <schwab@suse.de>
19021
19022 * config/i386/i386.c (classify_argument): Also check for
19023 QUAL_UNION_TYPE.
19024
18b467f1
RO
190252002-03-27 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
19026
19027 * doc/install.texi (alpha*-dec-osf*): Don't need --enable-libgcj
19028 any more.
19029
d337d653
JH
19030Wed Mar 27 23:19:30 CET 2002 Jan Hubicka <jh@suse.cz>
19031
19032 * i960.md (ret): Set PC.
19033 (nonlocal_goto): Fix expander.
19034 * builtins.c (epxand_builin_longjmp): Check that we've emitted
19035 some jump or call.
19036
218aa620
JH
19037Wed Mar 27 23:11:35 CET 2002 Jan Hubicka <jh@suse.cz>
19038
19039 * optabs.c (emit_no_conflict_block, emit_libcall_block): Avoid nesting
19040 of libcall regions.
19041
e27a4eaf
ZD
19042Wed Mar 27 22:54:14 CET 2002 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
19043
19044 * cfgrtl.c (merge_blocks_nomove): Use set_block_for_insn instead of
19045 assigning to BLOCK_FOR_INSN directly.
19046
8a12f34c
JH
19047Wed Mar 27 22:33:05 CET 2002 Jan Hubicka <jh@suse.cz>
19048
19049 * i386.c (ix86_output_addr_diff_elt): Remove binutils bug workaround.
19050
c9d892a8
NB
190512002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
19052
19053 * c-common.c (c_expand_expr): Fix prototype.
19054 * c-common.h (c_expand_expr): Always declare, update.
19055 * c-lang.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
19056 * c-objc-common.c (c_objc_common_init): No global hook.
19057 * expr.c (expand_expr): Use langhook.
19058 * expr.h (enum expand_modifier): Conditionally declare.
19059 * langhooks-def.h (lhd_expand_expr, LANG_HOOKS_EXPAND_EXPR): New.
19060 (LANG_HOOKS_INITIALIZER): Update.
19061 * langhooks.c (lhd_expand_expr): New.
19062 * langhooks.h (struct lang_hooks): New hook.
19063 * toplev.c (lang_expand_expr_t, lang_expand_expr): Delete.
19064 (lang_independent_init): Don't default hook.
19065objc:
19066 * objc-lang.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
19067
6dad5a56
RH
190682002-03-27 Richard Henderson <rth@redhat.com>
19069
19070 PR target/6054
19071 * config/ia64/ia64.c (ia64_expand_call): Use pic patterns for
19072 TARGET_CONST_GP. Simplify conditions.
19073
59f96879
RH
190742002-03-27 Richard Henderson <rth@redhat.com>
19075
19076 * config/sparc/freebsd.h, config/sparc/linux.h, config/sparc/linux64.h,
19077 config/sparc/netbsd-elf.h, config/sparc/pbd.h, config/sparc/sol2.h,
19078 config/sparc/vxsim.h (LOCAL_LABEL_PREFIX): Define.
19079
f3f1190d
DS
190802002-03-27 Danny Smith <dannysmith@users.sourceforge.net>
19081
19082 * config/i386/cygwin.h (TARGET_DLL, TARGET_WIN32,
19083 TARGET_CYGWIN, TARGET_WINDOWS): Remove unused switches.
19084 (MASK_DLL, MASK_WIN32, MASK_CYGWIN, MASK_WINDOWS):
19085 Remove unnecessary masks.
19086 (MASK_NOP_FUN_DLLIMPORT): Use an unused an bit.
19087 (SUBTARGET_SWITCHES): Use empty masks for -mwin32, -mcygwin,
19088 -mwindows, -mdll switches and their negations.
19089
31c816cf
NB
190902002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
19091
19092 * gcc-common.c (lang_mark_false_label_stack): Remove.
19093 * ggc.h (lang_mark_false_label_stack): Similarly.
19094
7b2e1077 190952002-03-26 Vladimir Makarov <vmakarov@redhat.com>
aee8f532
VM
19096
19097 * pa/pa-pro-end.h (CPP_PREDEFINES): Add -D__pro__.
19098
19099 * pa/lib2funcs.asm: Don't use .SPACE and .SUBSPACE if __pro__
19100 or __rtems_ is defined.
19101
1ef9531b
RH
191022002-03-26 Richard Henderson <rth@redhat.com>
19103
19104 * config/alpha/alpha.c (alpha_emit_set_const): Add a REG_EQUAL note
19105 if a non-trivial load was emitted.
19106 (alpha_emit_set_const_1): Remove obsolete extension. Fix thinko
19107 in high+extra+low case.
19108
300d4093
RH
191092002-03-26 Richard Henderson <rth@redhat.com>
19110
19111 * config.gcc (sparc*-solaris): Use float_format=sparc.
19112
b3689904
RH
191132002-03-26 Richard Henderson <rth@redhat.com>
19114
19115 * config/sparc/sparc.h (MAX_WCHAR_TYPE_SIZE): Don't define.
19116 * config/sparc/linux-aout.h (MAX_WCHAR_TYPE_SIZE): Don't undef.
19117 * config/sparc/linux.h, config/sparc/linux64.h: Likewise.
19118 * config/sparc/sol2.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Redefine.
19119 (WINT_TYPE_SIZE): Fix at 32.
19120
1eefb6c1
RH
191212002-03-26 Richard Henderson <rth@redhat.com>
19122
19123 * toplev.c (rest_of_compilation): Delay emit_initial_value_sets
19124 until after eh landing pad generation.
19125 * config/alpha/alpha.c (alpha_gp_save_rtx): Use gen_mem_addressof.
19126 * config/alpha/alpha.md (exception_receiver_2): Only accept MEMs.
19127
361ea006
RH
191282002-03-26 Richard Henderson <rth@redhat.com>
19129
19130 * expr.h (ADD_PARM_SIZE): One more convert for INC.
19131
1de38a88
PE
191322002-03-26 Phil Edwards <pme@gcc.gnu.org>
19133
19134 * gcc.c (cpp_options): Preserve relative ordering of -pedantic
19135 and warning switches.
19136 (cc1_options): Likewise.
19137
d7e60e95 191382002-03-26 Hans Boehm <Hans_Boehm@hp.com>
361ea006 19139
d7e60e95
HB
19140 * config/ia64/linux.h (MD_FALLBACK_FRAME_STATE_FOR):
19141 Restore more of the signal context. Set no_reg_stack_frame.
19142 * config/ia64/unwind-ia64.c (unw_state_record):
19143 Add no_reg_stack_frame, comments.
19144 (uw_frame_state_for): Initialize when field to UNW_WHEN_NEVER.
19145 (uw_update_context): Adjust bsp when unwinding from leaf,
19146 but not signal frame.
19147
7032923b
DE
191482002-03-26 David Edelsohn <edelsohn@gnu.org>
19149
19150 * config/rs6000/aix51.h (WCHAR_TYPE): Define.
19151
8be56275
BW
191522002-03-26 Bob Wilson <bob.wilson@acm.org>
19153
19154 * config/xtensa/xtensa.c (xtensa_va_arg): Handle variable-sized types.
19155
56fbb855
RE
191562002-03-26 Richard Earnshaw <rearnsha@arm.com>
19157
19158 PR target/5621
19159 * arm.md (define_asm_attributes): Reapply patch of Thu Sep 9, 1999:
19160 "Add a pool_range attribute", which was lost during the ARM/Thumb
19161 merge.
19162
3437320b
BW
191632002-03-26 Bob Wilson <bob.wilson@acm.org>
19164
19165 * config/xtensa/xtensa.c (xtensa_valid_move): Allow move from
19166 a register into the MAC16 accumulator.
19167
173028e5
AC
191682002-03-26 Andrew Cagney <ac131313@redhat.com>
19169
19170 * doc/invoke.texi (Option Summary): Mention -Wswitch-enum.
19171 (Warning Options): Document -Wswitch-enum.
19172 * toplev.c (W_options): Add -Wswitch-enum. Update comment on
19173 -Wswitch.
19174 (warn_switch_enum): Define variables.
19175 * flags.h (warn_switch_enum): Declare variables.
19176 * stmt.c (expand_end_case_type): When warn_switch_enum /
19177 -Wswitch-enum, perform switch checks.
19178 Fix PR c/5044.
7b2e1077 19179
e14365a7
RE
191802002-03-26 Richard Earnshaw <rearnsha@arm.com>
19181
19182 * arm.md (reload_mulsi3, reload_mulsi_compare0, reload_muladdsi)
19183 (reload_mulsi_compare0_scratch, reload_muladdsi_compare0)
19184 (reload_muladdsi_compare0_scratch): Delete.
19185
46fc709d
LR
191862002-03-26 Loren J. Rittle <ljrittle@acm.org>
19187
19188 * doc/install.texi (*-*-freebsd*): Update.
19189
f36dea3c
RH
191902002-03-26 Richard Henderson <rth@redhat.com>
19191
8e5fe23f
RH
19192 * expr.h (ADD_PARM_SIZE): Cast INC to ssizetype.
19193 (SUB_PARM_SIZE): Cast DEC to ssizetype.
19194
19195 * config/alpha/alpha.c (alpha_va_arg): Read MUST_PASS_IN_STACK
19196 types from the normal argument frame.
19197
f36dea3c
RH
19198 * config/sparc/sparc.c (function_arg_pass_by_reference): Pass
19199 variable sized objects by reference.
19200 (sparc_va_arg): Receive them by reference too.
19201
1447dc69
HP
192022002-03-26 Hartmut Penner <hpenner@de.ibm.com>
19203
19204 * config/s390/s390.c (s390_emit_epilogue): Change epilogue
7b2e1077 19205 code to not restoring global registers.
1447dc69 19206
4f0ade92
NB
192072002-03-26 Neil Booth <neil@daikokuya.demon.co.uk>
19208
19209 * Makefile.in (ggc-common.o): Update.
19210 * c-decl.c (lang_mark_tree): Rename c_mark_tree.
19211 * c-lang.c (LANG_HOOKS_MARK_TREE): Redefine.
19212 * c-tree.h (c_mark_tree): New.
19213 * ggc-common.c: Include langhooks.h.
19214 (gcc_mark_trees): Use new langhook.
19215 * ggc-callbacks.c: Delete file.
19216 * ggc.h (lang_mark_tree): Remove.
19217 * langhooks-def.h (LANG_HOOKS_MARK_TREE): New.
19218 (LANG_HOOKS_INITIALIZER): Update.
19219 * langhooks.h (struct lang_hooks): New hook.
19220objc:
19221 * objc-lang.c (LANG_HOOKS_MARK_TREE): Redefine.
19222
caba570b
ZW
192232002-03-25 Zack Weinberg <zack@codesourcery.com>
19224
19225 * doc/cpp.texi: Exclude entire Top node from printed manual.
19226 Move option index after directive index. Insert page breaks
19227 before GFDL and concept index. Index environment variables
19228 with command line options.
19229 * doc/cppenv.texi: Use @vtable for environment variable list.
19230 Add paragraph explaining semantics of empty elements in path
19231 variables. Exclude a cross-reference to Fishkill from the
19232 manpage. Remove an unnecessary cross-reference of the entry
19233 right above the referer. Don't use @anchor in text that goes
19234 into manpage.
19235 * doc/cppopts.texi: Cross-reference the environment variables
19236 section, not the specific environment variable, for consistency.
19237
6b2e80b7
RH
192382002-03-25 Richard Henderson <rth@redhat.com>
19239
19240 * recog.c (peephole2_optimize): Distribute EH_REGION -1 notes
19241 anywhere in the block. Don't refer to insns that have been
19242 removed from the chain. Iterate backward through the new insns.
19243 Don't refer to edges that have been removed.
19244
67e469d7
AM
192452002-03-26 Alan Modra <amodra@bigpond.net.au>
19246
19247 * combine.c (simplify_comparison <ASHIFTRT, LSHIFTRT>): Correct
19248 test for overflow of constant.
19249
f2356393
RE
192502002-03-25 Richard Earnshaw <rearnsha@arm.com>
19251
19252 PR target/2623
19253 * arm.md (loadhi_preinc, loadhi_predec, loadhi_shiftpreinc)
19254 (loadhi_shiftpredec, loadhi-with-writeback peephole): Don't use
19255 these patterns on arm_archv4.
19256
355426ab
DS
192572002-03-25 Danny Smith <dannysmith@sourceforge.users.net>
19258
19259 * config/i386/mingw32.h (WINT_TYPE): Define as "short unsigned
19260 int".
19261
15e5ad76
ZW
192622002-03-25 Zack Weinberg <zack@codesourcery.com>
19263
19264 * toplev.c: Don't include setjmp.h. Kill float_handler_set,
19265 float_handled, float_handler, float_signal, set_float_handler,
19266 and do_float_handler. Set handler for SIGFPE to crash_signal.
19267 * toplev.h: Don't prototype do_float_handler.
19268
19269 * c-lex.c: Fold parse_float into lex_number. Make warning
19270 about portability of hex float constants more informative, and
19271 don't issue it on top of a syntax error.
19272 * fold-const.c: Fold const_binop_1 and fold_convert_1 into
19273 their callers.
19274 * real.h: Define REAL_VALUE_ABS here...
19275 * simplify-rtx.c: ... not here. Fold check_fold_consts,
19276 simplify_unary_real, simplify_binary_real, and
19277 simplify_binary_is2orm1 into their callers.
19278 * tree.c: Fold build_real_from_int_cst_1 into caller.
19279
19280 * doc/tm.texi: Document REAL_VALUE_ABS and REAL_VALUE_NEGATIVE.
19281
19282 * tsystem.h: Include float.h here...
19283 * libgcc2.c: ... not here.
19284
56ae9405
NC
192852002-03-25 Nick Clifton <nickc@cambridge.redhat.com>
19286
19287 Fixes for: PR bootstrap/3591, target/5676
19288 * config/mcore/mcore.h (CC1_SPEC): Define only if not already
19289 defined. Do not disable exceptions or rtti.
19290 * config/mcore/mcore-pe.h (CC1_SPEC): Define before including
19291 mcore.h. Disable exceptions and rtti, since they are not
19292 supported by EPOC.
19293
c88770e9
NB
192942002-03-25 Neil Booth <neil@daikokuya.demon.co.uk>
19295
19296 * c-decl.c (maybe_build_cleanup): Remove.
19297 * expr.c (expand_expr): Use langhook.
19298 * langhooks-def.h (lhd_return_null_tree,
19299 LANG_HOOKS_MAYBE_BUILD_CLEANUP): New.
19300 (LANGHOOKS_INITIALIZER): Update.
19301 * langhooks.c (lhd_return_null_tree): New.
19302 * langhooks.h (struct lang_hooks): New hook.
19303 * tree-inline.c (initialize_inlined_parameters): Use langhook.
19304 * tree.h (maybe_build_cleanup): Remove.
19305
2ed1f154
JJ
193062002-03-25 Jakub Jelinek <jakub@redhat.com>
19307
19308 * regrename.c (build_def_use): Move recog_memoized
19309 before extract_insn.
19310
6ddae612
JJ
193112002-03-25 Jakub Jelinek <jakub@redhat.com>
19312
19313 PR target/6043
19314 * expr.c (emit_group_store): Handle storing into CONCAT.
19315
ea475b23
JJ
193162002-03-25 Jakub Jelinek <jakub@redhat.com>
19317
19318 * regrename.c (build_def_use): Share RTL between MATCH_OPERATOR and
19319 corresponding MATCH_DUP.
19320
e7d482b9
RH
193212002-03-24 Richard Henderson <rth@redhat.com>
19322
cd39fc13
RH
19323 * unroll.c (unroll_loop): Zero label_map.
19324
e7d482b9
RH
19325 * gcse.c: Include except.h.
19326 * Makefile.in (gcse.o): Update.
19327
1bd6476f
RH
193282002-03-24 Richard Henderson <rth@redhat.com>
19329
19330 * varasm.c (asm_emit_uninitialised): Revert 2002-03-14 change.
19331 Do resolve_unique_section before shared data clause.
19332
2e6c150a
RH
193332002-03-24 Richard Henderson <rth@redhat.com>
19334
19335 * config/alpha/elf.h (STARTFILE_SPEC): Use crtbeginT with -static.
19336
b29afcf8
RH
193372002-03-24 Richard Henderson <rth@redhat.com>
19338
15e5ad76 19339 * recog.c (peephole2_optimize): Split blocks when EH insns are
b29afcf8
RH
19340 generated in the middle of a block. Do global life update if
19341 zapped EH edges.
19342
05ed1296
RH
193432002-03-24 Richard Henderson <rth@redhat.com>
19344
19345 * mips.c (mips_function_value): Only promote_mode for non-libcalls.
19346
3ddbb8a9
NB
193472002-03-24 Neil Booth <neil@daikokuya.demon.co.uk>
19348
19349 preprocessor/3951
15e5ad76 19350 * gcc.c (cpp_options): Pass -MD through as -MD not -M -MF.
3ddbb8a9
NB
19351 * cppinit.c (cpp_handle_option): Set no_ouput if -MD or -MMD.
19352 (init_dependency_output): Don't make no_output decision here.
19353
740b77b6
AC
193542002-03-24 Andrew Cagney <ac131313@redhat.com>
19355
19356 * stmt.c (check_for_full_enumeration_handling): Remove tests of
19357 warn_switch. Update description.
19358 (expand_end_case_type): Call check_for_full_enumeration_handling
19359 when warn_switch.
19360
7590cfd0
SC
193612002-03-24 Stephane Carrez <Stephane.Carrez@worldnet.fr>
19362
19363 * config/m68hc11/m68hc11.c (m68hc11_autoinc_compatible_p): New function.
19364 (m68hc11_split_move): Call it to see if the source and destination
19365 operands use the same direction auto inc/dec mode, otherwise make the
c61f581f 19366 source an offsetable memory operand and generate an add.
7590cfd0 19367
2e3d3481
SC
193682002-03-24 Stephane Carrez <Stephane.Carrez@worldnet.fr>
19369
19370 * config/m68hc11/m68hc11.md ("*subsi3_zero_extendhi"): Allow address
19371 register for operand 2.
19372 ("*subsi3_zero_extendqi"): Likewise.
19373 ("*iorhi3_gen"): Do the operation on the upper bits and then lower
19374 bits so that it is compatible with a pop.
19375 ("*andhi3_gen"): Likewise.
19376 ("xorhi3"): Likewise.
19377
2784528c
NB
193782002-03-24 Neil Booth <neil@daikokuya.demon.co.uk>
19379
19380 * cppinit.c (cpp_handle_option): Set warn_endif_labels if
19381 -pedantic here...
19382 (cpp_post_options): ... not here.
19383
aaf93206
NB
193842002-03-24 Neil Booth <neil@daikokuya.demon.co.uk>
19385 Aldy Hernandez <aldyh@redhat.com>
19386
19387 Removal of separate preprocessor cpp0.
19388
19389 * Makefile.in (GCC_PASSES, STAGESTUFF, LIBCPP_OBJS,
19390 cpp0, install-common): Update.
19391 * c-common.c (flag_preprocess_only): New.
19392 (c_common_init): Preprocess for -E.
19393 * c-common.h (flag_preprocess_only): New.
19394 * c-decl.c (c_decode_option): Handle -E and -std=c++98.
19395 * c-objc-common.c (c_init_decl_processing): Exit quickly
19396 for NULL return from c_common_init.
19397 * cpplib.h (cpp_preprocess_file): New.
19398 * cppmain.c (main, general_init, pfile, progname): Remove.
19399 (do_preprocessing): Rename cpp_preprocess_file, don't call
19400 cpp_finish. Don't close stdout here.
19401 (setup_callbacks): Update prototype.
19402 * gcc.c (trad_capable_cpp, cpp_unique_options, default_compilers):
19403 Update.
19404 * tradcpp.c (main): Ignore -quiet.
19405objc:
19406 * lang-specs.h (default_compilers): Preprocess with cc1obj.
19407
c6e6f5c1
RH
194082002-03-24 Richard Henderson <rth@redhat.com>
19409
19410 PR optimization/5742
19411 * machmode.def: Add inner mode field to complex modes.
19412 * config/mips/mips.c (mips_function_value): Always define. Add
19413 new argument to handle libcalls.
19414 * config/mips/mips.h (LIBCALL_VALUE): Use mips_function_value.
19415 (FUNCTION_VALUE): Likewise.
19416 * config/mips/abi64.h (FUNCTION_VALUE): Remove.
19417 * config/mips/mips-protos.h: Update.
19418
d88e57d1
RH
194192002-03-23 Richard Henderson <rth@redhat.com>
19420
19421 * config/sparc/sparc.c (sparc_emit_floatunsdi): New.
19422 * config/sparc/sparc-protos.h: Update.
19423 * config/sparc/sparc.md (floatunsdisf2, floatunsdidf2): New.
19424
6dfaf9ba
RH
194252002-03-23 Richard Henderson <rth@redhat.com>
19426
19427 * config/sparc/gmon-sol2.c (internal_mcount): Assume either
19428 _start or _init begins the text segment.
19429
0c769cf8
DE
194302002-03-23 David Edelsohn <edelsohn@gnu.org>
19431
19432 * config/rs6000/rs6000.h (RETURN_IN_MEMORY): Cast to HOST_WIDE_INT
19433 not HOST_WIDEST_INT.
19434 (RS6000_ARG_SIZE): Remove unsigned cast of int_size_in_bytes.
19435
64e92a26
RE
194362002-03-23 Richard Earnshaw <rearnsha@arm.com>
19437
19438 PR java/5489
19439 * arm.md (return, sibcall_epilogue): Pass const_true_rtx as the
19440 operand argument to output_return_instruction.
15e5ad76 19441 * arm.c (arm_print_operand, case 'd'): If the operand is
64e92a26
RE
19442 const_true_rtx then just return.
19443 (arm_print_operand, case 'D'): If the operand is const_true_rtx
19444 then abort.
19445
d6961341
AC
194462002-03-23 Andrew Cagney <ac131313@redhat.com>
19447
19448 * doc/invoke.texi (Option Summary): Mention -Wswitch-default.
19449 (Warning Options): Document -Wswitch-default.
19450 * toplev.c (W_options): Add -Wswitch-default. Update comment on
19451 -Wswitch.
19452 (warn_switch_default): Define variable.
19453 (warn_switch): Update comment.
19454 * flags.h (warn_switch_default): Declare variable.
19455 (warn_switch): Update comment.
19456 * stmt.c (expand_end_case): Check for and, when
19457 warn_switch_no_default, warn of a missing default case.
15e5ad76 19458
d4c5ac1f
AM
194592002-03-23 Alan Modra <amodra@bigpond.net.au>
19460
bbaa9790
AM
19461 * real.h (N): Special case 128 bit doubles.
19462
d4c5ac1f
AM
19463 * combine.c (simplify_comparison): When widening modes, ignore
19464 sign extension on CONST_INTs.
19465
84bf8c2c
BW
194662002-03-22 Bob Wilson <bob.wilson@acm.org>
19467
19468 * config/xtensa/xtensa.c (print_operand): Fix incorrect mode
19469 passed to adjust_address. Fix comment formatting.
19470
19471
b216cd4a
ZW
194722002-03-22 Zack Weinberg <zack@codesourcery.com>
19473
19474 * real.h: Don't define REAL_INFINITY or REAL_IS_NOT_DOUBLE.
19475 Always make REAL_VALUE_TYPE a struct containing an array of
19476 HOST_WIDE_INT, not a double. Tidy up the code deciding how
19477 big it is. Don't declare or use union real_extract.
19478
19479 * emit-rtl.c (init_emit_once), varasm.c (immed_real_const_1,
19480 decode_rtx_const, output_constant_pool), config/a29k/a29k.c
19481 (print_operand), config/arm/arm.c (output_move_double),
19482 config/arm/arm.md (consttable_4, consttable_8),
19483 config/romp/romp.c (output_fpops), config/s390/s390.h
19484 (ASM_OUTPUT_SPECIAL_POOL_ENTRY), config/xtensa/xtensa.c
19485 (xtensa_output_literal): Don't use union real_extract.
19486
19487 * config/dsp16xx/dsp16xx.c (print_operand), config/i860/i860.c
19488 (sfmode_constant_to_ulong), config/ns32k/merlin.h
19489 (PRINT_OPERAND), config/ns32k/ns32k.c (print_operand),
19490 config/pdp11/pdp11.h (PRINT_OPERAND), config/we32k/we32k.h
19491 (PRINT_OPERAND): Don't use local version of union
19492 real_extract.
19493
19494 * config/convex/convex.c (check_float_value), config/vax/vax.c
19495 (vax_float_literal), config/m88k/m88k.md (divdf3),
19496 config/dsp16xx/dsp16xx.md (fixuns_trunchfhi2),
19497 config/pdp11/pdp11.c (output_move_quad): Don't do host
19498 arithmetic on target floating point quantities.
19499
19500 * config/a29k/a29k.md, config/dsp16xx/dsp16xx.c
19501 (output_dsp16xx_float_const): Don't test HOST_FLOAT_FORMAT.
19502
19503 * fold-const.c (fold), simplify-rtx.c (simplify_binary_real):
19504 Use MODE_HAS_INFINITIES rather than #ifdef REAL_INFINITY.
19505
19506 * real.c (earith): Test INFINITY rather than REAL_INFINITY;
19507 NANS implies INFINITY, so can drop #ifdef NANS inside #ifndef
19508 INFINITY.
19509 * print-rtl.c (print_rtx): Disable code which needs
19510 floating-point emulator.
19511 * libgcc2.c: Include float.h and use DBL_MANT_DIG,
19512 FLT_MANT_DIG, to define DF_SIZE and SF_SIZE, rather than
19513 depending on HOST_FLOAT_FORMAT to be defined properly.
19514
19515 * config/1750a/1750a.c (get_double, float_label): Delete.
19516 (print_operand): Delete huge commented-out chunk. Use
19517 REAL_VALUE_TO_DECIMAL.
19518 * config/1750a/1750a-protos.h: Delete prototypes of deleted
19519 functions.
19520 * config/convex/convex.h: Always set TARGET_FLOAT_FORMAT to
19521 IEEE_FLOAT_FORMAT.
19522 * config/i370/i370.h (PRINT_OPERAND [TARGET_HLASM version]):
19523 Use REAL_VALUE_TO_DECIMAL as ELF version does.
19524 * config/m88k/m88k.c (real_power_of_2_operand,
19525 legitimize_operand): Take the REAL_VALUE_TYPE and/or union
19526 real_extract out of the union; run the input through
19527 REAL_VALUE_TO_TARGET_DOUBLE, then plug the pair of longwords
19528 from that into the union.
19529 * config/pdp11/pdp11.c (output_move_double): Rearrange
19530 parentheses to make automatic indenter happy.
19531
19532 * doc/tm.texi (Cross-compilation): Rename node to "Floating
19533 Point" and rewrite to describe current situation. Also adjust
19534 documentation of REAL_VALUE_TO_TARGET_SINGLE and friends to
19535 match code.
19536 * doc/rtl.texi: Adjust cross reference.
19537
a8cacfd2
BW
195382002-03-22 Bob Wilson <bob.wilson@acm.org>
19539
19540 * config/xtensa/xtensa-protos.h (non_acc_reg_operand): Remove.
19541 (xtensa_valid_move, xtensa_preferred_reload_class): Define.
19542 * config/xtensa/xtensa.c (non_acc_reg_operand): Remove.
19543 (xtensa_valid_move, xtensa_preferred_reload_class): Define to
19544 prevent use of sp as a reload register.
19545 (xtensa_emit_move_sequence): Use xtensa_valid_move instead of
19546 non_acc_reg_operand.
19547 * config/xtensa/xtensa.h (PREDICATE_CODES): Remove non_acc_reg_operand.
19548 (PREFERRED_RELOAD_CLASS): Move code to xtensa_preferred_reload_class.
19549 * config/xtensa/xtensa.md (movsi_internal, movhi_internal,
19550 movqi_internal): Use xtensa_valid_move instead of non_acc_reg_operand.
19551
d4e6133f
NB
195522002-03-22 Neil Booth <neil@daikokuya.demon.co.uk>
19553
b216cd4a
ZW
19554 * cpphash.h (struct cpp_reader): Remove mls_line and mls_col.
19555 * cpplex.c (unterminated): Delete.
19556 (parse_string): No string literal may extend over multiple
19557 lines. Suppress the error when preprocessing assembly.
d4e6133f
NB
19558 * cppmain.c (scan_translation_unit): Strings are single-line.
19559
b216cd4a 19560 * doc/cpp.texi: Update to match.
d4e6133f 19561
65e6c005
JJ
195622002-03-22 Jakub Jelinek <jakub@redhat.com>
19563
19564 PR optimization/5854
19565 * config/m68hc11/m68hc11.h (CONST_OK_FOR_LETTER_VALUE_P): Use K for 0.
19566 Shut up warnings.
19567 (CONST_DOUBLE_OK_FOR_LETTER_P): Use G for 0.0.
19568 (EXTRA_CONSTRAINT): Use S for non-push memory operand.
19569 * config/m68hc11/m68hc11.c (m68hc11_split_move): Handle setting from
19570 const0 if scratch register was not allocated.
19571 (m68hc11_reload_operands, m68hc11_gen_lowpart, m68hc11_gen_highpart,
19572 m68hc11_z_replacement): Replace gen_rtx (CONST_INT, VOIDmode, ...)
19573 with GEN_INT (...).
19574 (m68hc11_reorg): Compute BLOCK_FOR_INSN before reload_cse_regs.
19575 * config/m68hc11/m68hc11.md: Replace gen_rtx (CONST_INT, VOIDmode, ...)
19576 with GEN_INT (...) everywhere. Remove constraints in define_split
19577 patterns.
19578 (movdi_internal, movdf_internal, movsi_internal, movsf_internal): Don't
19579 require scratch register for setting 0 into regs/non-pushable memory.
19580
7f48c9e1
AO
195812002-03-22 Alexandre Oliva <aoliva@redhat.com>
19582
19583 * config/mips/mips.h (MASK_RETURN_ADDR): Define.
19584 (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define.
19585
909de5da
PE
195862002-03-22 Phil Edwards <pme@gcc.gnu.org>
19587
19588 * cpplib.h (struct cpp_options): New member, warn_endif_labels.
19589 * cppinit.c (cpp_create_reader): On by default.
19590 (cpp_handle_option): Handle -W[no-]endif-labels.
19591 (cpp_post_options): Also enable if -pedantic.
19592 * cpplib.c (do_else): Use it.
19593 (do_endif): Likewise.
19594 * doc/cppopts.texi: Document new option.
19595 * doc/invoke.texi: Document new option.
19596
d8bf17f9
LB
195972002-03-22 Lars Brinkhoff <lars@nocrew.org>
19598
19599 * config/i386/i386.c, config/i386/i386.md: Change all occurences
19600 of GEN_INT (trunc_int_for_mode (...)) to gen_int_mode (...).
19601
70e0ccd0
AO
196022002-03-22 Alexandre Oliva <aoliva@redhat.com>
19603
19604 * flow.c (calculate_global_regs_live): Clear aux fields of
19605 ENTRY and EXIT.
19606
68882f0f
JJ
196072002-03-22 Jakub Jelinek <jakub@redhat.com>
19608
19609 * config/v850/v850.c (v850_reorg): Only call alter_subreg on
19610 REG or MEM subregs, pass rtx * instead of rtx to it.
19611 * config/i860/i860.c (output_delayed_branch, output_delay_insn): Pass
19612 rtx * instead of rtx to alter_subreg.
19613 * config/m32r/m32r.c (gen_split_move_double): Likewise.
19614 * config/pj/pj.c (pj_output_rval): Likewise.
19615
648fe28b
RH
196162002-03-22 Richard Henderson <rth@redhat.com>
19617
19618 PR target/3177
19619 * config/ia64/ia64.h (CUMULATIVE_ARGS): Add int_regs.
19620 (INIT_CUMULATIVE_ARGS, INIT_CUMULATIVE_INCOMING_ARGS): Update.
19621 * config/ia64/ia64.c (ia64_function_arg_advance): Set int_regs.
19622 (ia64_expand_prologue): Look at int_regs, not words, for number
19623 of incomming int regs.
19624
e8dcd824
AM
196252002-03-22 Andrew MacLeod <amacleod@redhat.com>
19626
19627 * expr.c (expand_expr): A RESULT_DECL is part of a call.
19628
96327cdc
JH
19629Fri Mar 22 16:30:42 CET 2002 Jan Hubicka <jh@suse.cz>
19630
19631 * toplev.c (flag_loop_optimize, flag_crossjumping):
19632 New static variables.
19633 (rest_of_compilation): Conditionalize crossjumping and
19634 loop optimizer.
19635 (parse_options_and_default_flags): Default loop_optimize and
19636 crossjumping.
19637 (lang_independent_options): Add -fcrossjumping and -floop-optimize
19638 * invoke.texi (crossjumping, loop-optimize): Document.
19639
bc185257
RS
196402002-03-22 Richard Sandiford <rsandifo@redhat.com>
19641
19642 * real.c (eiisneg): Move outside #ifdef NANS.
19643
0a2ed1f1
JH
19644Fri Mar 22 12:08:36 CET 2002 Jan Hubicka <jh@suse.cz>
19645
19646 * cfgcleanup.c (outgoing_edges_math): Fix condition; relax
19647 frequencies match; avoid match on different loop depths.
19648 (try_crossjump_to_bb): Kill tests that no longer brings time
19649 savings.
19650 * cfgrtl.c (force_nonfallthru_and_redirect): Fix loop_depth
19651 updating code.
19652 (split_edge): Likewise.
19653
19654 * flow.c (update_life_info_in_dirty_blocks): Fix uninitialized
19655 variable.
19656
19657 * Makefile.in (cfgrtl): Add insn-config.h depenendency.
19658 * cfgrtl.c: Include insn-config.h
19659 (split_block) Dirtify block in presence of conditional execution
19660
4d72536e
RS
196612002-03-22 Richard Sandiford <rsandifo@redhat.com>
19662
19663 * config/mips/abi64.h (SETUP_INCOMING_VARARGS): Undefine.
19664 * config/mips/mips-protos.h (mips_setup_incoming_varargs): Declare.
19665 (function_arg): Constify CUMULATIVE_ARGS.
19666 (function_arg_partial_nregs, function_arg_pass_by_reference): Likewise.
19667 * config/mips/mips.h (UNITS_PER_FPVALUE): Zero when TARGET_SOFT_FLOAT.
19668 (UNITS_PER_DOUBLE): New macro.
19669 (SETUP_INCOMING_VARARGS): Define. Use mips_setup_incoming_varargs.
19670 (CUMULATIVE_ARGS): Reformat. Remove num_adjusts workaround and
19671 last_arg_fp field. Replace arg_words and fp_arg_words with gp_regs,
19672 fp_regs and stack_words.
19673 (EABI_FLOAT_VARARGS_P): New macro.
19674 * config/mips/mips.c (struct mips_arg_info): New.
19675 (mips_arg_info): New function.
19676 (function_arg_advance): Use it. Add adjustment instructions here
19677 rather than in function_arg.
19678 (function_arg): Constify CUMULATIVE_ARGS. Use mips_arg_info. Check
19679 for VOIDmode at the beginning of the function.
19680 (function_partial_nregs): Constify CUMULATIVE_ARGS. Use mips_arg_info.
19681 (function_arg_pass_by_reference): Likewise.
19682 (mips_setup_incoming_varags): New, largely based on old abi64.h code.
19683 (mips_build_va_list): Test EABI_FLOAT_VARARGS_P.
19684 (mips_va_start): Likewise. Use the new stack_words field of
19685 CUMULATIVE_ARGS to set up overflow area. Reformat.
19686 (mips_va_arg): Test EABI_FLOAT_VARARGS_P. Unify EABI handling of
19687 doubles and other types, aligning the overflow pointer for non-doubles
19688 too. Remove some code duplication. Replace hard-coded constants.
19689
e6f884cd
RS
196902002-03-22 Richard Sandiford <rsandifo@redhat.com>
19691
19692 * config/mips/mips.h (FUNCTION_ARG_REGNO_P): Simplify.
19693 (CLASS_UNITS): Undefine.
19694 (CLASS_MAX_NREGS): Use FP_INC.
19695 * config/mips/mips.c (compute_frame_size): Likewise.
19696 (override_options): Use FP_INC and UNITS_PER_FPVALUE.
19697
10cf9bde
NB
196982002-03-22 Neil Booth <neil@daikokuya.demon.co.uk>
19699
19700 * cpplex.c (parse_identifier_slow): Rename parse_slow, adjust
19701 prototype, and handle lexing numbers and identifiers.
19702 (parse_identifier): Update to new form of parse_slow.
19703 (parse_number): Fast path only, use parse_slow otherwise.
19704 (_cpp_lex_direct): Update calls to parse_number.
19705
fbc2782e
DD
197062002-03-21 DJ Delorie <dj@redhat.com>
19707
19708 * bb-reorder.c (make_reorder_chain_1): Protect against
19709 when redundant edges are omitted.
19710 * predict.c (dump_prediction): Likewise.
19711
fba39eaf
RH
197122002-03-21 Richard Henderson <rth@redhat.com>
19713
19714 PR target/5996
19715 * fixinc/inclhack.def (solaris_stdio_tag): New.
19716 * fixinc/fixincl.x: Regenerate.
19717
eba80994
EB
197182002-03-21 Eric Botcazou <ebotcazou@multimania.com>
19719
19720 PR c/5597
19721 * c-typeck.c (process_init_element): Flag non-static
19722 initialization of a flexible array member as illegal.
19723
2a78758b
AM
197242002-03-22 Alan Modra <amodra@bigpond.net.au>
19725
19726 * config/rs6000/t-linux64: New.
19727 * config.gcc (powerpc64-*-linux* <tmake_file>): Drop t-ppcos and
19728 t-ppccomm. Use t-rs6000 and t-linux64.
19729 (powerpc64-*-gnu* <tmake_file>): Likewise.
bac015e7
AM
19730 * mklibgcc.in (SHLIB_MKMAP_OPTS): New variable.
19731 * mkmap-symver.awk (dotsyms): If set, output .foo as well as foo.
19732 * Makefile.in (SHLIB_MKMAP_OPTS): Pass to mklibgcc.
2a78758b 19733
2cb921f4
AH
197342002-03-21 Aldy Hernandez <aldyh@redhat.com>
19735
eba80994
EB
19736 * langhooks.c (lhd_tree_inlining_cannot_inline_tree_fn): Check
19737 flag_really_no_inline instead of optimize == 0.
2cb921f4 19738
eba80994 19739 * c-objc-common.c (c_cannot_inline_tree_fn): Same.
2cb921f4 19740
eba80994 19741 * cp/tree.c (cp_cannot_inline_tree_fn): Same.
2cb921f4 19742
eba80994 19743 * flags.h (flag_really_no_inline): New.
2cb921f4 19744
659e5a7a 19745 * c-common.c (c_common_post_options): Initialize
eba80994 19746 flag_really_no_inline.
2cb921f4 19747
eba80994 19748 * toplev.c (flag_really_no_inline): New.
2cb921f4 19749
239b8b9d
JJ
197502002-03-21 Jakub Jelinek <jakub@redhat.com>
19751
19752 * config/avr/avr.md (length): Fix length computation for
19753 conditional branches.
19754
43577e6b
NB
197552002-03-21 Neil Booth <neil@daikokuya.demon.co.uk>
19756
19757 * Makefile.in (fold-const.o, stor-layout.o, stmt.o,
19758 sdbout.o, profile.o): Update.
19759 * c-common.c (c_common_nodes_and_builtins): Use pushdecl
19760 langhook.
19761 * c-common.h (gettags): Move here from tree.h.
19762 * c-tree.h (pushdecl, pushlevel, poplevel, set_block,
19763 insert_block, getdecls, kept_level_p, global_bindings_p): New.
19764 * dbxout.c (dbxout_init): Use getdecls langhook.
19765 * expr.c (expand_expr): Use insert_block langhook.
19766 * fold-const.c: Include langhooks.h.
19767 (fold_range_test, fold_binary_op_with_conditional_arg,
19768 fold): Use global_bindings_p langhook.
19769 * integrate.c (expand_inline_function): Use insert_block langhook.
19770 * langhooks-def.h (LANG_HOOKS_DECLS, LANG_HOOKS_PUSHLEVEL,
19771 LANG_HOOKS_POPLEVEL, LANG_HOOKS_GLOBAL_BINDINGS_P,
19772 LANG_HOOKS_INSERT_BLOCK, LANG_HOOKS_SET_BLOCK, LANG_HOOKS_PUSHDECL,
19773 LANG_HOOKS_GETDECLS): New.
19774 (LANG_HOOKS_INITIALIZER): Update.
19775 * langhooks.c (lhd_clear_binding_stack): Use global_bindings_p
19776 langhook.
19777 * langhooks.h (struct lang_hooks_for_decls): New.
19778 (struct lang_hooks): Update.
19779 * profile.c: Include langhooks.h.
19780 (output_func_start_profiler): Use new langhooks.
19781 * sdbout.c: Include langhooks.h.
19782 (sdbout_init, sdbout_finish): Use getdecls langhook.
19783 * stmt.c: Include langhooks.h.
19784 (expand_fixup, fixup_gotos): Use new langhooks.
19785 * stor-layout.c: Include langhooks.h.
19786 (variable_size): Use global_bindings_p langhook.
19787 * toplev.c (compile_file): Use getdecls langhook.
19788 * tree-inline.c (remap_block): Use insert_block langhook.
19789 * tree.h (pushdecl, pushlevel, poplevel, set_block, gettags,
19790 insert_block, getdecls, kept_level_p, global_bindings_p): Remove.
19791
5b19b10c
RH
197922002-03-21 Richard Henderson <rth@redhat.com>
19793
19794 * config/rs6000/rs6000.c (rs6000_select_rtx_section): Put symbolic
19795 constants in .data when -fpic.
19796
e05af335
GP
197972002-03-21 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
19798
19799 * doc/contrib.texi (Contributors): Use GNU/Linux instead of Linux
19800 where appropriate.
19801
60ffc997
TT
198022002-03-21 Tom Tromey <tromey@redhat.com>
19803
19804 * config/i386/sol2.h (ASM_QUAD): Undef. Fixes PR bootstrap/5948.
19805
75897075
RK
19806Thu Mar 21 09:50:48 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
19807
a73afd69 19808 * config/ia64/ia64.c (hfa_element_mode, case ARRAY_TYPE): Recurse.
46399021 19809
75897075
RK
19810 * expr.c (emit_group_store): Don't copy const0_rtx to a CONCAT.
19811
312687cf
EB
198122002-03-21 Eric Botcazou <ebotcazou@multimania.com>
19813 Richard Henderson <rth@redhat.com>
19814
19815 PR c/5354
19816 * c-common.c (c_expand_expr): Preserve result of a statement
19817 expression if needed.
19818
f0e1f482
JJ
198192002-03-21 Jakub Jelinek <jakub@redhat.com>
19820
19821 PR bootstrap/4195
19822 * genrecog.c (maybe_both_true_mode): Remove.
19823 (maybe_both_true_2, write_switch): Revert 2001-07-17 changes.
19824 * machmode.def (Pmode): Likewise.
19825
c14b9960
JW
19826Thu Mar 21 01:55:06 EST 2002 John Wehle (john@feith.com)
19827
19828 * alias.c: (nonlocal_mentioned_p): Use for_each_rtx.
19829 (nonlocal_mentioned_p_1): New function.
19830 (nonlocal_referenced_p, nonlocal_referenced_p_1): Likewise.
19831 (nonlocal_set_p, nonlocal_set_p_1): Likewise.
19832 (mark_constant_function): Recognize pure functions.
19833 * rtl.h (global_reg_mentioned_p): New prototype.
19834 * rtlanal.c (global_reg_mentioned_p,
19835 global_reg_mentioned_p_1): New function.
19836
aaa4d130
RO
198372002-03-21 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
19838
19839 * fixinc/inclhack.def (alpha_assert): Fix assert macro in Tru64
19840 UNIX assert.h.
19841 * fixinc/fixincl.x: Regenerate.
19842
e5c4bd1b
JM
198432002-03-20 Jason Merrill <jason@redhat.com>
19844
19845 * config/i386/cygwin.h (DWARF2_UNWIND_INFO): Define to 0.
19846
852b81bb
MM
198472002-03-20 Michael Meissner <meissner@redhat.com>
19848
19849 * doc/invoke.texi (Optimize Options): Document that -O2 sets
19850 -fstrict-aliasing.
19851
86d8c251
BW
198522002-03-20 Bob Wilson <bob.wilson@acm.org>
19853
19854 * config/xtensa/xtensa.h (ASM_OUTPUT_POOL_PROLOGUE): Emit a
19855 ".literal_position" directive before the constant pool.
19856
0a39c350
GP
198572002-03-20 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
19858
19859 * doc/contrib.texi (Contributors): Update Geoffrey Keating.
19860 Add Craig Rodrigues.
19861 Add Brad Lucier to testers.
19862
71a83373
JJ
198632002-03-20 Jakub Jelinek <jakub@redhat.com>
19864
19865 PR target/4792
19866 * config/arc/arc.md (movsicc, movdicc, movsfcc, movdfcc): Add mode
19867 to if_then_else.
19868 (movsicc_insn, movdicc_insn, movsfcc_insn, movdfcc_insn): Likewise.
19869 * config/arc/arc.c (arc_final_prescan_insn): Use extract_insn_cached
19870 instead of insn_extract.
19871
a29b099d
JJ
198722002-03-20 Jakub Jelinek <jakub@redhat.com>
19873
19874 PR bootstrap/4192
71a83373 19875 * config/fr30/fr30.md (jump): Remove clobber of fixed register.
a29b099d
JJ
19876
19877 * genemit.c (output_added_clobbers_hard_reg_p): Only output return
19878 stmt if some case has been output.
19879
048b1c95
JJ
198802002-03-20 Jakub Jelinek <jakub@redhat.com>
19881
19882 PR c/5972
19883 * config/i386/i386.md (movdicc_c_rex64, movsicc_noc, movhicc_noc,
19884 movsfcc_1, movdfcc_1): Add %O2.
19885 * config/i386/i386.c (print_operand): Handle %ON.
19886 Print . before float condition codes in Sun as cmov syntax.
19887 * config/i386/sol2.h (CMOV_SUN_AS_SYNTAX): Define for Sun as.
19888 * config.gcc (i[34567]86-*-solaris2*): Remove comment which is
19889 no longer true.
19890
f4864588
PB
198912002-03-20 Philip Blundell <pb@nexus.co.uk>
19892
19893 * config/arm/arm.c (arm_output_epilogue): Don't generate separate
19894 return instruction if PC was popped.
19895
3a307de4
BW
198962002-03-20 Bob Wilson <bob.wilson@acm.org>
19897
19898 * config/xtensa/xtensa.md: Remove unused type attributes.
19899 (adddi_carry, subddi_carry): Change type attribute to "multi".
19900
048b1c95 199012002-03-19 Dale Johannesen <dalej@apple.com>
ed7d44bc
DJ
19902
19903 PR optimization/5999, middle-end/5731
19904 * expr.c (expand_expr) [RDIV_EXPR]: Only convert real divisions into
19905 multiplications by reciprocals.
19906
7afff7cf
NB
199072002-03-20 Neil Booth <neil@daikokuya.demon.co.uk>
19908
19909 * Makefile.in: Update.
19910 * c-common.c: Include langhooks.h.
19911 (inline_forbidden_p): Use new hook.
19912 * diagnostic.c: Include langhooks.h.
19913 (format_with_decl, announce_function,
19914 default_print_error_function): Use new hook.
19915 * dwarf2out.c (dwarf2_name): Use new hook.
19916 * function.c: Include langhooks.h.
19917 (init_function_start): Use new hook.
19918 * langhooks-def.h (lhd_decl_printable_name): New.
19919 (LANGHOOKS_DECL_PRINTABLE_NAME): New.
19920 (LANGHOOKS_INITIALIZER): Update.
19921 * langhooks.c (lhd_decl_printable_name): New.
19922 * langhooks.h (struct lang_hooks): New hook.
19923 * toplev.c (decl_name, decl_printable_name): Remove.
19924 (open_dump_file): Use new hook.
19925 (process_options): Remove old hook.
19926 * tree.h (decl_printable_name): Remove.
19927objc:
19928 * objc-act.c (objc_init): Remove old hook.
19929 (objc_printable_name): Export.
19930 * objc-act.h (objc_printable_name): New.
19931 * objc-lang.c (LANG_HOOKS_DECL_PRINTABLE_NAME): Redefine.
19932
f78ce0b7
JB
199332002-03-19 Jim Blandy <jimb@redhat.com>
19934
19935 * c-lex.c (cb_file_change): Pass the #inclusion's line number to
19936 the start_source_file debug hook, not the current line number.
19937
15b5aef3
RH
199382002-03-19 Richard Henderson <rth@redhat.com>
19939
19940 * flow.c (EH_USES): Provide default.
19941 (calculate_global_regs_live): Use it for EH edges and noreturn calls.
19942 * doc/tm.texi (EH_USES): New.
19943
19944 * config/ia64/ia64.c (ia64_eh_uses): New.
19945 * config/ia64/ia64-protos.h: Update.
19946 * config/ia64/ia64.h (EH_USES): New.
19947
02a7a3fd
RH
199482002-03-19 Richard Henderson <rth@redhat.com>
19949
19950 * varasm.c (output_constant_def): Fix stupid typo.
19951
93f82d60
RH
199522002-03-19 Richard Henderson <rth@redhat.com>
19953
2842be05 19954 PR 5879
93f82d60
RH
19955 * except.c (current_function_has_exception_handlers): New.
19956 * except.h: Declare it.
19957 * sibcall.c (optimize_sibling_and_tail_recursive_call): Use it.
19958 Combine tests that disable all sibcalls for the function.
19959
ed4fbfa0
OH
199602002-03-19 Olivier Hainque <hainque@act-europe.fr>
19961
19962 * varasm.c (output_constant_def): Don't call ENCODE_SECTION_INFO
19963 for INTEGER_CST.
19964
ebf0e888
RH
199652002-03-19 Richard Henderson <rth@redhat.com>
19966
1e82682b 19967 PR 5977, 5991
ebf0e888
RH
19968 * config/ia64/ia64.c: Revert 2002-03-01 patch.
19969 * config/ia64/ia64.h (INIT_EXPANDERS): New.
19970
e37b38d7
JB
199712002-03-19 Jim Blandy <jimb@redhat.com>
19972
19973 * cppmacro.c (cpp_macro_definition): Emit a space after the macro
19974 name, even if the replacement list contains no tokens, as required
19975 by Dwarf.
19976
2a4ea326
JM
199772002-03-19 Jason Merrill <jason@redhat.com>
19978
f9d09ae5
JM
19979 * varasm.c (globalize_decl): Get the name from the RTL, not
19980 DECL_ASSEMBLER_NAME.
19981
2a4ea326
JM
19982 * Makefile.in (LIBGCC2_DEBUG_CFLAGS): Set to -g.
19983
99b96edb
BW
199842002-03-19 Bob Wilson <bob.wilson@acm.org>
19985
19986 * config/xtensa/xtensa.md (adddi3, adddi_carry, subdi3,
19987 subdi_carry): Define.
19988
3774b567
DE
199892002-03-19 David Edelsohn <edelsohn@gnu.org>
19990
19991 * config/rs6000/rs6000.c (rs6000_override_options): Only warn
19992 about -fpic/-fPIC if extra_warnings set.
19993
21ef78aa
DE
199942002-03-19 David Edelsohn <edelsohn@gnu.org>
19995
19996 * expr.c (expand_expr): Sign-extend CONST_INT generated from
19997 TREE_STRING_POINTER.
0c2fdcdf 19998 * fold-const.c (fold): Delete #if 0 ARRAY_REF case.
21ef78aa 19999
91d4b3fd
RK
20000Tue Mar 19 14:12:32 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
20001
20002 * config/sparc/sparc.h (CAN_ELMINIATE): Can only eliminate FP
20003 in favor of SP if FRAME_POINTER_REQUIRED is false.
20004
2496c7bd
LB
200052002-03-19 Lars Brinkhoff <lars@nocrew.org>
20006
20007 * emit-rtl.c (gen_int_mode): New function.
20008 * rtl.h: Prototype for it.
20009 * combine.c (make_extraction, simplify_comparison), expmed.c
20010 (store_bit_field, expand_mult_highpart, expand_divmod), expr.c
20011 (convert_modes, store_field), optabs.c (expand_fix),
20012 simplify-rtx.c (neg_const_int, simplify_unary_real),
20013
20014 * config/rs6000/rs6000.c, config/rs6000/rs6000.md:
20015 Use it instead of GEN_INT (trunc_int_for_mode (...)).
20016
f735a153
JJ
200172002-03-19 Jakub Jelinek <jakub@redhat.com>
20018
20019 PR c/5656
20020 * langhooks.h (struct lang_hooks_for_tree_inlining): Add
20021 convert_parm_for_inlining.
20022 * c-lang.c (LANG_HOOKS_TREE_INLINING_CONVERT_PARM_FOR_INLINING):
20023 Define.
20024 * langhooks-def.h: Likewise.
20025 * objc/objc-lang.c: Likewise.
20026 * langhooks.c (lhd_tree_inlining_convert_parm_for_inlining): New
20027 function.
20028 * tree-inline.c (initialize_inlined_parameters):
20029 Call convert_parm_for_inlining lang hook if needed.
20030 * c-typeck.c (c_convert_parm_for_inlining): New function.
20031 * c-tree.h (c_convert_parm_for_inlining): Add prototype.
20032
1929c971
MM
200332002-03-18 Mark Mitchell <mark@codesourcery.com>
20034
b216cd4a 20035 * calls.c (precompute_arguments): Do not assume that temporaries
1929c971
MM
20036 can be destroyed after expanding the argument.
20037 (expand_call): Likewise.
20038
c79ca0ac
EC
200392002-03-15 Eric Christopher <echristo@redhat.com>
20040
20041 * config/mips/mips.md (movdf_internal2): Add two new move constraints.
20042 Fix register preference on last change.
20043 * config/mips/mips.c (mips_return_in_memory): New function.
20044 * config/mips/mips.h (RETURN_IN_MEMORY): Use.
20045 * config/mips/mips-protos.h: Declare.
20046 * config/mips/abi64.h (RETURN_IN_MEMORY): Remove. Add to above.
20047 * config/mips/elf64.h: Add #ifndef/#endif brackets around defaults.
20048
07e2e444
AO
200492002-03-18 Alexandre Oliva <aoliva@redhat.com>
20050
1bfbbbcf
AO
20051 * config/mips/mips.md (andsi3) [TARGET_MIPS16]: Force operand 1 to
20052 a register too.
20053 (anddi3, iorsi3): Likewise.
20054
c066429e
AO
20055 * config/mips/mips.h (ENCODE_SECTION_INFO) [TARGET_MIPS16]: Don't
20056 use %gprel for symbols that are going to be placed in linkonce
20057 sections.
20058
07e2e444
AO
20059 * config/mips/mips.h (ELIMINABLE_REGS): Can't eliminate
20060 RETURN_ADDRESS_POINTER_REGNUM to $ra.
20061 (CAN_ELIMINATE): Only eliminate it to $sp if a frame pointer is
20062 not needed. Disregard leaf_function_p().
20063 (INITIAL_ELIMINATION_OFFSET): Adjust for elimination of rap to
20064 mips16 frame pointer.
20065 * config/mips/mips.md (store ra): Only to small SP offsets.
20066 2001-08-22 Graham Stott <grahams@redhat.com>
20067 * config/mips/mips.h (RETURN_ADDR_RTX): For a leaf function
20068 return a REG rtx for the return address register.
20069
eb8e00ea
BW
200702002-03-18 Bob Wilson <bob.wilson@acm.org>
20071
20072 * config/xtensa/xtensa.h (GO_IF_MODE_DEPENDENT_ADDRESS): Treat
20073 constant-pool addresses as "mode-dependent".
20074 (GO_IF_LEGITIMATE_ADDRESS): Rename macro arguments.
20075
cbb92744
JJ
200762002-03-18 Jakub Jelinek <jakub@redhat.com>
20077
20078 PR target/5740
20079 * expr.c (emit_group_load): Use extract_bit_field if
20080 needed for CONCAT arguments.
20081
657d9449
RE
200822002-03-18 Richard Earnshaw <rearnsha@arm.com>
20083
91f3a802 20084 PR target/4863
657d9449
RE
20085 * arm.md (tablejump): Make this a define_expand. For PIC add the
20086 offset to the base of the table.
20087 (thumb_tablejump): Matcher for Thumb tablejump insn.
20088 * config/arm/aout.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output thumb entries
20089 as the difference of two labels.
20090 * config/arm/aof.h (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
20091 * config/arm/elf.h (JUMP_TABLES_IN_TEXT_SECTION): Only put ARM jump
20092 tables in the code.
20093 * config/arm/coff.h (JUMP_TABLES_IN_TEXT_SECTION): Likewise.
20094 * arm.c (get_jump_table_size): If the table is not in the text
20095 section, return zero.
c79ca0ac 20096
5d5603e2
BS
200972002-03-18 Bernd Schmidt <bernds@redhat.com>
20098
20099 * config/arm/arm.c (arm_gen_movstrqi): Use gen_lowpart instead
20100 of gen_rtx_SUBREG.
20101 (arm_reload_out_hi): Use gen_lowpart instead of
20102 gen_rtx_SUBREG to access QImode components.
20103 * config/arm/arm.md: Disable zero_extend split for QImode
20104 subregs in BIG_ENDIAN mode.
20105 (storehi_bigend): Match use of least significant byte.
20106 (storeinthi): Remove extraneous SUBREG.
66c17b64 20107 Add missing construction of operands[2].
5d5603e2
BS
20108 (movhi): Use gen_lowpart in place of gen_rtx_SUBREG.
20109 (movqi): Use gen_lowpart in place of gen_rtx_SUBREG.
20110 Replace gen_rtx (SUBREG) with gen_rtx_SUBREG.
20111
df15fbc7
AH
201122002-03-18 Aldy Hernandez <aldyh@redhat.com>
20113
2496c7bd
LB
20114 * config/rs6000/rs6000.h (PREDICATE_CODES): Add PARALLEL to
20115 any_operand.
df15fbc7 20116
b83b7fa3
RH
201172002-03-17 Richard Henderson <rth@redhat.com>
20118
20119 * config/alpha/alpha.c (alpha_emit_set_const_1): Build add insns
20120 explicitly.
20121
6f7c00fe
HPN
201222002-03-17 Hans-Peter Nilsson <hp@bitrange.com>
20123
20124 * config/mmix/mmix.md ("fixuns_truncdfdi2"): Use (unsigned_fix:DI
20125 (unsigned_fix:DF op1)), not (unsigned_fix:DI (fix:DF op1)).
20126
155038f2
KG
201272002-03-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
20128
720d42fa
KG
20129 * ifcvt.c (dead_or_predicable): Fix uninitialized variable.
20130
155038f2
KG
20131 * predict.c (estimate_bb_frequencies): Delete unused variables.
20132
e6542f4e
RH
201332002-03-17 Richard Henderson <rth@redhat.com>
20134
20135 * config/ia64/ia64.c (ia64_attribute_table): Move before
20136 targetm definition. Make static.
20137
52dabb6c
NB
201382002-03-17 Neil Booth <neil@daikokuya.demon.co.uk>
20139
20140 * c-common.h (yyparse, c_common_parse_file): New.
20141 * c-lang.c: Include c-common.h.
20142 (LANG_HOOKS_PARSE_FILE): Redefine.
20143 * c-lex.c: Include c-common.h.
20144 (yyparse): Rename c_common_parse_file. Call yyparse.
20145 * c-parse.in (yyparse): Remove macro.
20146 * c-tree.h (yyparse_1): Remove.
20147 * langhooks-def.h (LANG_HOOKS_PARSE_FILE): New.
20148 (LANG_HOOKS_INITIALIZER): Update.
20149 * langhooks.h (struct lang_hoooks): New hook parse_file.
20150 * toplev.c (compile_file): Use parse_file hook.
20151 * tree.h (yyparse): Remove.
e6542f4e 20152 * objc/objc-lang.c (LANG_HOOKS_PARSE_FILE): Redefine.
52dabb6c 20153
b5ffe606
HPN
201542002-03-17 Hans-Peter Nilsson <hp@bitrange.com>
20155
ba82f58b
HPN
20156 * config/mmix/mmix.md ("truncdfsf2"): Correct operator is
20157 float_truncate, not fix.
20158 ("*truncdfsf2_real"): Ditto.
20159 ("*nonlocal_goto_receiver_expanded"): Fix output template formatting.
20160
b5ffe606
HPN
20161 * config/mmix/mmix.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Don't define.
20162
c8d1b2b7
AO
201632002-03-16 Alexandre Oliva <aoliva@redhat.com>
20164
cfb773f9
AO
20165 * config/mips/mips.h (CAN_ELIMINATE): Don't eliminate rap to $fp
20166 (s8), but rather HARD_FRAME_POINTER_REGNUM. Add parentheses
20167 where appropriate. Make the second reference to
20168 leaf_function_p a function call, as intended. Reindented.
20169
4dffef52
AO
20170 * config/mips/mips.h (ISA_HAS_COND_TRAP): Not available on MIPS16.
20171 * config/mips/mips.md (trap) [TARGET_MIPS16]: Emit `break 0'.
20172
4f5bd6d7
AO
20173 * config/mips/mips.md (addsi3, adddi3): Use scratch register to
20174 add register to non-constant into sp.
20175
c8d1b2b7
AO
20176 * config/mips/mips-protos.h (embedded_pic_fnaddr_reg): New.
20177 * config/mips/mips.h (embedded_pic_fnaddr_rtx): Lose.
20178 (mips16_gp_pseudo_rtx): Lose.
20179 (INIT_EXPANDERS): Deleted.
20180 * config/mips/mips.c (mips_init_machine_status): New.
20181 (mips_free_machine_status): New.
20182 (mips_mark_machine_status): New.
20183 (override_options): Set them.
20184 (embedded_pic_fnaddr_rtx, mips16_gp_pseudo_rtx): Moved to...
20185 (struct machine_function): ... new. Replaced all references.
20186 (mips_add_gc_roots): Don't mark them.
20187 (embedded_pic_fnaddr_reg): New, extracted from...
20188 (embedded_pic_offset): ... here.
20189 * config/mips/mips.md (movdi): Call embedded_pic_fnaddr_reg.
20190 (movsi): Likewise.
20191
b3124fac
NB
201922002-03-16 Neil Booth <neil@daikokuya.demon.co.uk>
20193
20194 * cppinit.c: Revert -MD removal.
20195
121449b6
SC
201962002-03-16 Stephane Carrez <Stephane.Carrez@worldnet.fr>
20197
20198 * config/m68hc11/m68hc11.c (m68hc11_override_options): Don't use
20199 soft registers by default for 68HC12.
20200 (m68hc11_conditional_register_usage): Don't use Z register for 68HC12
20201 when compiling with -fomit-frame-pointer.
20202 (expand_prologue): Use push/pop to allocate 4-bytes of locals on 68HC12.
20203 (expand_epilogue): Likewise.
20204 (m68hc11_gen_rotate): Use exg when rotating by 8.
20205
840e2ff1
SC
202062002-03-16 Stephane Carrez <Stephane.Carrez@worldnet.fr>
20207
20208 * config/m68hc11/m68hc11-protos.h (ix_reg): Declare.
20209 * config/m68hc11/m68hc11.md ("addsi3"): Use general_operand for sources.
20210 (splits): Remove unused add splits.
20211 ("*addhi3_68hc12"): Tune constraints.
20212 ("addhi_sp"): Try to use X instead of Y in all cases and if the
20213 constant fits in 8-bits and D is dead use abx/aby instructions.
20214 ("*addhi3"): Remove extern declaration of ix_reg.
20215 ("*subsi3"): Optimize and provide new split.
20216 ("subhi3"): Cleanup.
20217 ("*subhi3_sp"): Avoid saving X if we know it is dead.
20218 (arith splits): For 68hc12 save the address register on the stack
20219 and do the arithmetic operation with a pop.
20220
3c9a5efe
SC
202212002-03-16 Stephane Carrez <Stephane.Carrez@worldnet.fr>
20222
20223 * config/m68hc11/m68hc11.md ("*movqi_68hc12"): Fix constraints, avoid
20224 allocating QImode in address registers.
20225 ("*movqi_m68hc11"): Likewise.
20226
e41f3392
JH
20227Sat Mar 16 12:57:28 CET 2002 Jan HUbicka <jh@suse.cz>
20228
20229 * cfgcleanup.c (cleanup_cfg): Fix updating of liveness.
20230
576786b0
NB
202312002-03-16 Neil Booth <neil@daikokuya.demon.co.uk>
20232
20233 * cppinit.c (print_help): Display -MD and -MMD.
20234 Don't display usage string. Update assertion syntax and
20235 typo.
20236 (COMMAND_LINE_OPTIONS): Remove OPT_MD, OPT_MMD.
20237 (cpp_handle_option): Update.
20238
1ac458d4
CD
202392002-03-15 Chris Demetriou <cgd@broadcom.com>
20240
20241 * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Provide an
20242 MEABI case for each definition of SUBTARGET_CPP_SIZE_SPEC,
20243 and define it so that regardless of target CPU size,
20244 __SIZE_TYPE__ and __PTRDIFF_TYPE__ are defined in terms
20245 of "int" rather than "long."
20246
1fcd592b
RH
202472002-03-15 Richard Henderson <rth@redhat.com>
20248
20249 * config/alpha/alpha.c (alpha_va_arg): Manipulate the type
20250 size as a tree.
20251
a0df6910
SC
202522002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
20253
20254 * config/m68hc11/m68hc11.md ("tstqi_1"): Try to use ldab instead of tst.
20255 ("tstqi" split): Avoid using memory for tstqi on address register.
20256 (splits): Remove constraints.
20257 ("cmphi_1_hc12"): New from "cmphi_1" and tuned for 68HC12.
20258 ("cmpdf", "cmpsf"): Remove since not used.
20259 ("*tbeq", "*tbne", "*tbeq8", "*tbne8"): Also look in cc_status.value2.
20260 (peephole2): New peepholes to optimize tstqi and pre inc/dec addressing.
20261
015a2e59
SC
202622002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
20263
20264 * config/m68hc11/m68hc11.md ("negsi2"): Optimize inline case.
20265 ("neghi2"): Tighten constraints.
20266 ("one_cmplsi2"): Optimize and simplify split.
20267 * config/m68hc11/larith.asm (__negsi2): Likewise for library.
20268
cd28557c
SC
202692002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
20270
20271 * config/m68hc11/m68hc11.md ("logicalsi3_zexthi"): Fix constraints
20272 and split of AND operation to clear the upper bits.
20273 ("*logicalsi3_zextqi"): Likewise.
20274 ("*logicallhi3_zexthi_ashift8"): Likewise.
20275 ("*logicalsi3_silshr16"): Likewise.
20276 ("logicalsi3_silshl16"): Likewise.
20277 ("anddi3", "iordi3", "xordi3" splits): Remove constraints.
20278
932657df
SC
202792002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
20280
20281 * config/m68hc11/m68hc11.c (m68hc11_symbolic_p): New function.
20282 (m68hc11_indirect_p): New function.
20283 (m68hc11_override_options): Must set MASK_NO_DIRECT_MODE for 68HC12.
20284 (m68hc11_gen_highpart): Use TARGET_NO_DIRECT_MODE instead of
20285 TARGET_M6812.
20286 (asm_print_register): Likewise.
20287 * config/m68hc11/m68hc11-protos.h (m68hc11_symbolic_p): Declare.
20288 (m68hc11_indirect_p): Declare.
20289 * config/m68hc11/m68hc11.h (EXTRA_CONSTRAINT): New constraint 'R', 'Q'.
20290 (TARGET_NO_DIRECT_MODE, TARGET_RELAX): New.
20291 (TARGET_SWITCHES): New option -mrelax.
20292 * config/m68hc11/m68hc11.md ("andsi3"): Allow soft register for
20293 destination.
20294 ("iorsi3", "xorsi3"): Likewise.
20295 ("andhi3", "andqi3", "iorhi3", "iorqi3"): Use a define_expand.
20296 ("*andhi3_mem"): New to handle destination in memory with bclr
20297 and a scratch register.
20298 ("*andqi3_mem", "*iorhi3_mem", "*iorqi3_mem"): Likewise.
20299 ("*andhi3_const"): New when operand2 is constant.
20300 ("*andqi3_const", "*iorhi3_const", "*iorqi3_const"): Likewise.
20301 ("*andhi3_gen"): Cleanup of the old "andhi3".
20302 ("*andqi3_gen", "*iorhi3_gen", "*iorqi3_gen"): Likewise.
20303 ("xorqi3"): Update constraints.
20304
fdffea1a
SC
203052002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
20306
20307 * config/m68hc11/m68hc11.c (m68hc11_small_indexed_indirect_p): Look
20308 for reg_equiv_memory_loc when the operand is a register that does
20309 not get a hard register (stack location).
20310 (tst_operand): After reload, accept all memory operand.
20311 (symbolic_memory_operand): Fix detection of symbolic references.
20312 * config/m68hc11/m68hc11.h (VALID_CONSTANT_OFFSET_P): For 68HC12
20313 accept symbols and any constant.
20314
6272bc68
SC
203152002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
20316
20317 * config/m68hc11/m68hc11.c (emit_move_after_reload): Add a REG_INC
20318 note on the insn that sets the soft frame register.
20319 (must_parenthesize): ix and iy are also reserved names.
20320 (print_operand_address): One more place where parenthesis are required
20321 to avoid confusion with register names.
20322 (m68hc11_gen_movhi): Allow push of stack pointer.
20323 (m68hc11_check_z_replacement): Fix handling of parallel with a
20324 clobber.
20325 (m68hc11_z_replacement): Must update the REG_INC notes to tell what
20326 the replacement register is.
20327 * config/m68hc11/m68hc11.h (REG_CLASS_CONTENTS): Switch Z_REGS
20328 and D8_REGS classes.
20329 (MODES_TIEABLE_P): All modes are tieable except QImode.
20330
1d2d9def
SC
203312002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
20332
20333 * config/m68hc11/larith.asm (___adddi3): Optimize saving of result.
20334 (___subdi3): Likewise.
20335 (__mulsi3, __mulhi32): Avoid using _.tmp scratch location.
20336 (__map_data_section): Optimize 68hc11 case.
20337
a0ccf503
SC
203382002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
20339
20340 * config/m68hc11/m68hc11.c (m6812_cost): Make cost of add higher
20341 than a shift to avoid adding a register with itself.
20342 (m68hc11_memory_move_cost): Take into account NO_REGS.
20343 (m68hc11_register_move_cost): Update and use memory move cost
20344 for soft registers.
20345 (m68hc11_address_cost): Make cost of valid offset not 0 so that
20346 it gives more opportunities to cse to optimize.
20347 * config/m68hc11/m68hc11.h (REGISTER_MOVE_COST): Pass the mode.
20348 * config/m68hc11/m68hc11-protos.h (m68hc11_register_move_cost): Update.
20349
6e4ae815
MM
203502002-03-15 Mark Mitchell <mark@codesourcery.com>
20351
20352 * c-common.c (statement_code_p): Handle CLEANUP_STMT.
20353 * c-common.def (CLEANUP_STMT): New tree node.
20354 * c-common.h (CLEANUP_DECL): New macro.
20355 (CLEANUP_EXPR): Likewise.
20356 * c-semantics.c (expand_stmt): Handle CLEANUP_STMT.
20357 * expr.c (expand_expr): Tidy.
20358 * tree-dump.c (dequeue_and_dump): Handle CLEANUP_STMT.
20359 * tree-inline.c (initialize_inlined_parameters): Clean up
20360 new local variables.
20361
a42519be
JJ
203622002-03-15 Jakub Jelinek <jakub@redhat.com>
20363
20364 PR bootstrap/4128
20365 * config/sparc/sparc.c (gen_v9_scc): Move early clobber test
20366 before movrXX only, use reg_overlap_mentioned_p.
20367 Only special case NE if just one insn can be generated.
20368
15409448
JM
203692002-03-15 Jason Merrill <jason@redhat.com>
20370
20371 * varasm.c (assemble_variable): Call resolve_unique_section before
20372 checking DECL_SECTION_NAME. Use zeros for a decl with DECL_INITIAL
20373 of error_mark_node.
20374
3a4edb44
RE
203752002-03-15 Richard Earnshaw <rearnsha@arm.com>
20376
20377 PR target/5170
20378 * arm.md (split pattern for thumb shiftable immediates): Add comment
20379 explaining non-obvious test.
20380
32defa36
RE
203812002-03-15 Richard Earnshaw <rearnsha@arm.com>
20382
20383 PR target/5712
20384 * arm.md (movaddr, movaddr_insn): Delete.
20385
5cc90635
JM
203862002-03-15 Jason Merrill <jason@redhat.com>
20387
20388 * toplev.c (wrapup_global_declarations): Clarify variable handling.
20389 -fkeep-static-consts doesn't apply to comdats.
20390
ecb0eece
RH
203912002-03-14 Richard Henderson <rth@redhat.com>
20392
20393 * c-decl.c: Include c-pragma.h.
20394 (start_decl, start_function): Invoke maybe_apply_pragma_weak.
20395 (finish_function): Tidy.
20396 * c-pragma.c: Include c-common.h.
20397 (pending_weaks, apply_pragma_weak, maybe_apply_pragma_weak): New.
20398 (handle_pragma_weak): Use them.
20399 (init_pragma): Register pending_weaks.
20400 * c-pragma.h (maybe_apply_pragma_weak): Declare.
20401 * print-tree.c (print_node): Print DECL_WEAK.
20402 * varasm.c (mark_weak_decls): Remove.
20403 (remove_from_pending_weak_list): Remove.
20404 (add_weak): Remove.
20405 (asm_emit_uninitialised): Call globalize_decl for weak commons.
20406 (weak_decls): Make a tree_list.
20407 (declare_weak): Cons weak_decls directly.
20408 (globalize_decl): Remove weak_decls elements directly.
20409 (weak_finish): Simplify weak_decls walk. Don't weaken unused
20410 symbols. Don't pretend to handle aliases.
20411 (init_varasm_once): Update weak_decls registry.
20412 * Makefile.in: Update dependencies.
20413
98d2b17e
RH
204142002-03-14 Richard Henderson <rth@redhat.com>
20415
20416 PR target/5312
20417 * config/ia64/ia64.c: Include tm_p.h last.
20418 (gen_nop_type): Remove duplicate definition.
20419 (cycle_end_fill_slots): Set sched_data for second L slot.
20420 (maybe_rotate): Call cycle_end_fill_slots to fill in nop slots.
20421 (nop_cycles_until): Fix typos.
20422
f2f4927e
JJ
204232002-03-15 Jakub Jelinek <jakub@redhat.com>
20424
20425 PR optimization/5891
20426 * unroll.c (copy_loop_body) [CALL_INSN]: Copy SIBLING_CALL_P flag.
20427
5025a549
DM
204282002-03-14 David Mosberger <davidm@hpl.hp.com>, Hans Boehm <Hans_Boehm@hp.com>
20429
20430 * config/ia64/unwind-ia64.c: Handle copy_state and label_state
20431 descriptors correctly.
20432
03e9dbc9
MM
204332002-03-14 Michael Meissner <meissner@redhat.com>
20434
20435 * params.def (PARAM_MAX_UNROLLED_INSNS): New macro, default to
20436 100, allowing MAX_UNROLLED_INSNS to be overridden.
20437
20438 * params.h (MAX_UNROLLED_INSNS): Define so it can be overridden by
20439 --param.
20440
20441 * unroll.c (params.h): Include.
20442 (MAX_UNROLLED_INSNS): Delete, now in params.h.
20443
20444 * doc/invoke.texi (--param max-unroll-insns): Document.
20445
20446 * Makefile.in (unroll.o): Add $(PARAMS_H) dependency.
20447
12249385
RE
204482002-03-14 Richard Earnshaw <rearnsha@arm.com>
20449
20450 * arm.md: Fix warnings about constraints in peepholes and splits.
20451
f0cce04a
ZW
204522002-03-14 Zack Weinberg <zack@codesourcery.com>
20453
20454 * cpphash.h (struct lexer_state): Remove line_extension member.
20455 * cpplib.c (dequote_string, do_linemarker): New functions.
20456 (linemarker_dir): New data object.
20457 (DIRECTIVE_TABLE): No longer need to interpret #line in
20458 preprocessed source. Delete obsolete comment about return
20459 values of handlers.
20460 (end_directive, directive_diagnostics, _cpp_handle_directive):
20461 Don't muck with line_extension.
20462 (directive_diagnostics): No need to issue warnings for
20463 linemarkers here.
20464 (_cpp_handle_directive): Issue warnings for linemarkers here,
20465 when appropriate. Dispatch linemarkers to do_linemarker, not
20466 do_line.
20467 (do_line): Code to handle linemarkers split out to do_linemarker.
20468 Convert escape sequences in filename argument, both places.
20469
20470 * cppmacro.c (quote_string): Rename cpp_quote_string and
20471 export. All callers changed.
20472 * cpplib.h (cpp_quote_string): Prototype.
20473 * cppmain.c (print_line): Call cpp_quote_string on to_file
20474 before printing it.
20475
20476 * doc/cpp.texi: Document that escapes are now interpreted in
20477 #line and in linemarkers, and that non-printing characters are
20478 converted to octal escapes when linemarkers are generated.
20479
20480Thu Mar 14 19:04:29 CET 2002 Jan Hubicka <jh@suse.cz>
83a49407
JH
20481
20482 * emit-rtl.c (try_split): Use delete_insns.
20483 * recog.c (split_all_insns): Fix terminating condition.
20484
c882c7ac
RE
204852002-03-14 Richard Earnshaw <rearnsha@arm.com>
20486 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
20487
20488 PR target/5828
20489 * arm.c (arm_output_epilogue): Fix floating-point register save
20490 adjustment when using a frame pointer.
20491
3f26edaa
RS
204922002-03-14 Richard Sandiford <rsandifo@redhat.com>
20493
20494 * config/mips/mips.h (FP_INC, UNITS_PER_FPVALUE): New macros.
20495 * config/mips/mips.c (compute_frame_size): Retrofit them here.
20496 (save_restore_insns, mips_expand_epilogue): And here.
20497 (build_mips16_call_stub): And here.
20498 (mips_function_value): Use the new macros to decide whether a single
20499 or complex float can be returned in floating-point registers. Return
20500 a parallel rtx in the complex case.
20501
1e3881c2
JH
20502Thu Mar 14 11:03:12 CET 2002 Jan Hubicka <jh@suse.cz>
20503
20504 * toplev.c (rest_of_compilation): Add CLEANUP_UPDATE_LIFE to cfg_cleanup
20505 call after liveness analysis.
20506
20507 * recog.c (split_insn): Use delete_insn_and_edges.
20508
20509 * cfgrtl.c (verify_flow_info): Be permisive about non-any_condjump
20510 instructions to have branch prediction notes.
20511 * ia64reorg.c (ia64_reorg): Do not rebuild CFG.
20512
200ef634
GK
205132002-03-14 Geoffrey Keating <geoffk@redhat.com>
20514
20515 * configure.in: Don't pass -Wno-long-long to a ADA compiler
20516 that doesn't support it.
20517 * configure: Regenerate.
20518
0b82d204
JJ
205192002-03-13 Jakub Jelinek <jakub@redhat.com>
20520
20521 PR target/5626
20522 * config/sparc/sparc.md (normal_branch, inverted_branch,
20523 normal_fp_branch, inverted_fp_branch, normal_fpe_branch,
20524 inverted_fp_branch): Adjust calls to output_cbranch.
20525 Set length attribute.
20526 (normal_int_branch_sp64, inverted_int_branch_sp64): Adjust calls to
20527 output_v9branch. Set length attribute.
20528 * config/sparc/sparc.c (fcc0_reg_operand, noov_compare64_op): New
20529 predicates.
20530 (noov_compare_op): Handle CCX_NOOVmode the same way as CC_NOOVmode.
20531 (output_cbranch): Likewise. Handle far branches.
20532 (output_v9branch): Handle far branches.
20533 * config/sparc/sparc-protos.h (output_cbranch, output_v9branch):
20534 Adjust prototypes.
20535 * config/sparc/sparc.h (PREDICATE_CODES): Add fcc0_reg_operand and
20536 noov_compare64_op predicates.
20537
7a8de19b
JM
205382002-03-13 Jason Merrill <jason@redhat.com>
20539
20540 * gthr-posix.h (__gthread_active_p): Move __gthread_active_ptr
20541 into the function and constify it.
20542 * gthr-dce.h, gthr-solaris.h: Likewise.
20543
2a55fd42
DE
205442002-03-13 David Edelsohn <edelsohn@gnu.org>
20545
20546 * config/rs6000/rs6000.h (PAD_VARARGS_DOWN): Define.
20547 * config/rs6000/rs6000.c (rs6000_va_arg): Use
20548 std_expand_builtin_va_arg if not ABI_V4.
20549
19c5b1cf
JM
205502002-03-13 Jason Merrill <jason@redhat.com>
20551
20552 * varasm.c (globalize_decl): New fn.
20553 (assemble_start_function): Use it.
20554 (asm_emit_uninitialized): Use it.
20555 (assemble_alias): Use it.
20556 (assemble_variable): Use it.
20557
2a15f5e1
HPN
205582002-03-13 Hans-Peter Nilsson <hp@axis.com>
20559
20560 * config/cris/cris.c (cris_target_asm_function_prologue): Revert
f0cce04a 20561 2002-03-12 internal visibility change.
2a15f5e1
HPN
20562 (cris_encode_section_info): Consider MODULE_LOCAL_P when encoding
20563 visibility into SYMBOL_REF_FLAG.
20564
c0a3eeac
UW
205652002-03-13 Ulrich Weigand <uweigand@de.ibm.com>
20566
20567 * expr.c (expand_expr, case NE_EXPR): Do not call copy_to_reg with
20568 VOIDmode operand. Add compile-time optimization for constant results.
20569
a1652cee
JM
205702002-03-12 Jason Merrill <jason@redhat.com>
20571
20572 * c-typeck.c (convert_for_assignment): Don't allow conversions
20573 between pointers and references. Only allow lvalues to convert to
20574 reference.
20575
c52a375d
HP
205762002-03-13 Hartmut Penner <hpenner@de.ibm.com>
20577
f0cce04a
ZW
20578 * config/s390/s390.h (PROFILE_BEFORE_PROLOGUE): Emit profile code
20579 before prologue, to avoid scheduling problems.
c52a375d 20580
e387e99b
JJ
205812002-03-13 Jakub Jelinek <jakub@redhat.com>
20582
20583 * config/sparc/sparc.h (INITIAL_FRAME_POINTER_OFFSET): Remove.
20584 (ELIMINABLE_REGS): Add sfp->sp.
20585 (INITIAL_ELIMINATION_OFFSET): Compute sfp->sp offset too.
20586
205872002-03-13 Jakub Jelinek <jakub@redhat.com>
09948ece
JJ
20588
20589 PR optimization/5892
20590 * config/ia64/ia64.c (rotate_one_bundle): Update current packet.
20591
4061c1a3
JJ
205922002-03-13 Jakub Jelinek <jakub@redhat.com>
20593
20594 * loop.c (basic_induction_var): Don't call convert_modes if mode
20595 classes are different.
20596
5b43fed1
RH
205972002-03-12 Richard Henderson <rth@redhat.com>
20598
9f53e965
RH
20599 PR optimization/5901
20600 * function.c (reposition_prologue_and_epilogue_notes): Position
20601 the markers after/before the last/first insn not deleted.
20602
206032002-03-12 Richard Henderson <rth@redhat.com>
20604
20605 PR optimization/5878
5b43fed1
RH
20606 * config/arc/arc.h, config/cris/cris.h, config/i386/i386.h,
20607 config/m68k/m68k.h, config/s390/s390.h, config/sparc/sparc.h
20608 (PIC_OFFSET_TABLE_REGNUM): Conditionalize on flag_pic.
20609
20610 * config/arm/arm.h config/i386/i386.h, config/m68k/m68k.h,
20611 config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Set
20612 PIC_OFFSET_TABLE_REGNUM based on INVALID_REGNUM not flag_pic.
20613
20614 * config/arc/arc.h (CONDITIONAL_REGISTER_USAGE): New.
20615 * config/arm/arm.c (arm_pic_register): Init to INVALID_REGNUM.
20616 (arm_override_options): Set arm_pic_register if TARGET_APCS_STACK
20617 also. Don't set it if not flag_pic.
20618 * config/i386/i386.c (ix86_save_reg): Trust PIC_OFFSET_TABLE_REGNUM
20619 to be INVALID_REGNUM when not used.
20620
4e9bb42b
AH
206212002-03-13 Aldy Hernandez <aldyh@redhat.com>
20622
5b43fed1
RH
20623 * expmed.c (store_bit_field): Reset alias set for memory.
20624 (extract_bit_field): Same.
4e9bb42b 20625
2f9834e8
KG
206262002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
20627
20628 * c-common.c (c_tree_code_type, c_tree_code_length,
20629 c_tree_code_name, add_c_tree_codes): Delete.
20630 * c-common.h (add_c_tree_codes): Delete.
20631 * c-lang.c (tree_code_type, tree_code_length, tree_code_name):
20632 Define.
20633 * c-objc-common.c (c_objc_common_init): Don't call
20634 add_c_tree_codes, instead set lang_unsafe_for_reeval.
20635 * objc/objc-act.c (objc_tree_code_type, objc_tree_code_length,
20636 objc_tree_code_name, add_objc_tree_codes): Delete.
20637 (objc_init): Don't call add_objc_tree_codes.
20638 * objc/objc-lang.c (tree_code_type, tree_code_length,
20639 tree_code_name): Define.
20640 * toplev.c (lang_independent_init): Don't set
20641 tree_code_length[IDENTIFIER_NODE].
20642 * tree.c (tree_code_type, tree_code_length, tree_code_name):
20643 Delete definitions, moved to language front-ends.
20644 * tree.def (IDENTIFIER_NODE): Hardwire the length.
20645 * tree.h (tree_code_type, tree_code_length, tree_code_name):
20646 Const-ify.
20647 (tree_code_length): Change type to unsigned char.
20648
36ad2436
RH
206492002-03-12 Richard Henderson <rth@redhat.com>
20650
20651 * config/i386/i386.c (ix86_expand_prologue): Revert 2002-03-03
20652 internal visibility change.
20653
0ae02efa
BW
206542002-03-12 Bob Wilson <bob.wilson@acm.org>
20655
20656 * config/xtensa/xtensa.c (xtensa_expand_block_move): Use
20657 validize_mem() instead of change_address to avoid clobbering
20658 memory attributes.
20659
35bb2bee
NB
206602002-03-12 Neil Booth <neil@daikokuya.demon.co.uk>
20661
20662 * c-lex.h (position_after_whitespace): Remove.
20663
62ae2529
JJ
206642002-03-12 Jakub Jelinek <jakub@redhat.com>
20665
20666 * c-lex.c (cb_ident, c_lex): Remove unnecessary cast.
20667 (lex_string): Use unsigned char pointers.
20668
6a45951f
UW
206692002-03-12 Ulrich Weigand <uweigand@de.ibm.com>
20670
20671 * reload1.c (reload): Ignore MEM REG_EQUIV notes if the equivalent
20672 is not a valid memory_operand.
20673
e2fb85da
BW
206742002-03-12 Bob Wilson <bob.wilson@acm.org>
20675
20676 * config/xtensa/xtensa-config.h: Define XCHAL_HAVE_LOOPS.
20677 * config/xtensa/lib1funcs.asm: Fix copyright to include
20678 special case for libgcc files.
20679 (__udivsi3): Avoid loop instructions when XCHAL_HAVE_LOOPS is 0.
20680 (__divsi3): Likewise.
20681 (__umodsi3): Likewise.
20682 (__modsi3): Likewise.
20683 * config/xtensa/lib2funcs.S: Fix copyright to include
20684 special case for libgcc files.
20685
5b8619f8
TR
206862002-03-12 Tom Rix <trix@redhat.com>
20687
20688 * collect2.c (resolve_lib_name): Move outside of
f0cce04a 20689 OBJECT_FORMAT_COFF ifdef.
5b8619f8
TR
20690 (ignore_library): Same.
20691
089c8f97
BW
206922002-03-12 Bob Wilson <bob.wilson@acm.org>
20693
20694 * config/xtensa/t-xtensa (CRTSTUFF_T_CFLAGS_S): Define.
20695
958c70ff
BW
206962002-03-12 Bob Wilson <bob.wilson@acm.org>
20697
20698 * config/xtensa/xtensa.h (ASM_OUTPUT_POOL_PROLOGUE): Switch
20699 to function_section before writing out the constant pool.
20700
a65c591c
DE
207012002-03-12 David Edelsohn <edelsohn@gnu.org>
20702
20703 * config/rs6000/rs6000.h (PREDICATE_CODES): Add any_operand and
20704 zero_constant.
20705 * config/rs6000/rs6000.c (easy_fp_constant): Fix formatting.
20706
207072002-03-12 Alan Modra <amodra@bigpond.net.au>
20708
20709 * config/rs6000/rs6000.md (addsi3): Optimize sign extension.
20710 (adddi3): Likewise.
20711 (movdf): Likewise.
20712 (movdi): Likewise.
20713 (cmpsi splitter): Likewise.
20714 (modsi3): Fail if <= 0.
20715 * config/rs6000/rs6000.c (reg_or_add_cint64_operand): Remove
20716 redundant test when HOST_BITS_PER_WIDE_INT != 32.
20717 (reg_or_sub_cint64_operand): Likewise.
20718 (num_insns_constant_wide): Optimize sign extension.
20719 (rs6000_legitimize_address): Likewise.
20720
17720332
AM
207212002-03-12 Andrew MacLeod <amacleod@redhat.com>
20722
20723 * config/sparc/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
20724 * config/sparc/linux64.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
20725
cd49f073
AM
207262002-03-12 Andrew MacLeod <amacleod@redhat.com>
20727
20728 * config/sparc/sparc.h (RETURN_ADDR_RTX): Include v9 stack bias in
20729 address calculation.
20730
6a4e49c1
UW
207312002-03-12 Ulrich Weigand <uweigand@de.ibm.com>
20732
20733 * config/s390/s390.md (reload_insi, reload_indi): Change mode of
20734 scratch register to DImode / TImode.
20735 config/s390/s390.c (s390_expand_plus_operand): Make sure scratch
20736 register used does not overlap the target.
20737
54b6670a
KG
207382002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
20739
20740 * Makefile.in (debug.o): Depend on debug.h.
20741 * dbxout.c (dbx_debug_hooks, xcoff_debug_hooks): Const-ify.
20742 * debug.c (do_nothing_debug_hooks): Likewise.
20743 * debug.h (debug_hooks, do_nothing_debug_hooks, dbx_debug_hooks,
20744 sdb_debug_hooks, xcoff_debug_hooks, dwarf_debug_hooks,
20745 dwarf2_debug_hooks, vmsdbg_debug_hooks): Likewise.
20746 * dwarf2out.c (dwarf2_debug_hooks): Likewise.
20747 * dwarfout.c (dwarf_debug_hooks): Likewise.
20748 * integrate.c (output_inline_function): Likewise.
20749 * objc/objc-act.c (synth_module_prologue): Likewise.
20750 * sdbout.c (sdb_debug_hooks): Likewise.
20751 * toplev.c (debug_hooks): Likewise.
20752 * vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
20753
2465bf76
KG
207542002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
20755
20756 * 1750a.h, a29k.h, arc.h, arm.h, c4x.h, clipper.h, cris.h, d30v.h,
20757 dsp16xx.h, fr30.h, h8300.h, i370.h, i386.h, i860.h, i960.h,
20758 m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mmix.h, mn10300.h,
20759 ns32k.h, pa.h, pdp11.h, pj.h, romp.h, s390.h, stormy16.h,
20760 v850.h, vax.h, we32k.h, xtensa.h (POINTER_SIZE): Delete.
20761 * defaults.h (POINTER_SIZE): Define.
20762 * doc/tm.texi (POINTER_SIZE): Document default.
20763
53f3e9ca
KG
207642002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
20765
20766 * mn10200.h (PTRDIFF_TYPE): Change it to a signed type.
20767
44d3eb5b
RH
207682002-03-11 Richard Henderson <rth@redhat.com>
20769
20770 * toplev.c (rest_of_compilation): Call purge_all_dead_edges
20771 if rebuild_label_notes_after_reload.
20772
4a085d2e
HPN
207732002-03-12 Hans-Peter Nilsson <hp@axis.com>
20774
20775 * config/cris/cris.c (cris_target_asm_function_prologue): Do not
20776 emit pic register load if "internal" visibility.
20777 (cris_print_operand): Avoid traditional-warning for 0xffffffff.
20778 (cris_expand_builtin_va_arg): Do all computations on trees.
20779
bc204393
RH
207802002-03-11 Richard Henderson <rth@redhat.com>
20781
20782 * rtlanal.c: Include recog.h.
20783 (keep_with_call_p): Fix thinko.
20784 * Makefile.in (rtlanal.o): Update dependencies.
20785
6b8b9d7b
CM
207862002-03-11 Chris Meyer <cmeyer@gatan.com>
20787
20788 * genflags.c (gen_insn): Use IS_VSPACE.
20789 * genoutput.c (output_insn_data): Likewise.
20790 (process_template): Likewise.
20791
6c40858f
RH
207922002-03-11 Richard Henderson <rth@redhat.com>
20793
20794 * toplev.c (rest_of_compilation): Don't compile if we've had errors.
20795
40adaa27
NB
207962002-03-11 Neil Booth <neil@daikokuya.demon.co.uk>
20797
20798 * Makefile.in: Update.
6c40858f 20799 * doc/cppenv.texi, cppopts.texi: Split out of cpp.texi and gcc.texi.
40adaa27 20800 Update documentation.
6c40858f
RH
20801 * doc/gcc.texi: Include cppopts.texi and cppenv.texi.
20802 * doc/cpp.texi: Include cppopts.texi and cppenv.texi.
40adaa27 20803
049b03f4
ZW
208042002-03-11 Zack Weinberg <zack@codesourcery.com>
20805
20806 * Makefile.in: Give texi2pod its input file as a command line
20807 argument, not on stdin.
20808
61eece67
DN
208092002-03-11 Dan Nicolaescu <dann@ics.uci.edu>
20810 Daniel Berlin <dan@dberlin.org>
20811
20812 C++ alias analysis improvement.
f0cce04a 20813 * alias.c (record_component_aliases): Record aliases for base
61eece67
DN
20814 classes too.
20815
a65c591c
DE
208162002-03-11 Ulrich Weigand <uweigand@de.ibm.com>
20817
ff080aba
UW
20818 * config/s390/s390.h (REG_ALLOC_ORDER): Add missing register.
20819
1682dbb1
DR
208202002-03-11 Douglas B Rupp <rupp@gnat.com>
20821
fa2d765a
DR
20822 * toplev.c (vms_fopen): Remove, not needed.
20823
6f1fd286
DR
20824 * vmsdbgout.c (lookup_filename): Adjust creation date for GMT.
20825
b230e057
DR
20826 * config/alpha/xm-vms.h (__UNIX_FWRITE): Define.
20827
cb9a8e97
DR
20828 * config/alpha/alpha.c (alpha_sa_size, VMS): Don't reserve space
20829 for FP, already done later.
20830
1682dbb1
DR
20831 * toplev.c (debug_args): Add entry for VMS_DEBUG.
20832 * vmsdbgout.c (vmsdbgout_init): Fix typo in call to xmalloc.
20833
3fcaac1d
RS
208342002-03-11 Richard Sandiford <rsandifo@redhat.com>
20835
20836 * defaults.h (LARGEST_EXPONENT_IS_NORMAL, ROUND_TOWARDS_ZERO): New.
20837 (MODE_HAS_NANS, MODE_HAS_INFINITIES): Evaluate to false if
20838 LARGEST_EXPONENT_IS_NORMAL for the given mode.
20839 (MODE_HAS_SIGN_DEPENDENT_ROUNDING): False when ROUND_TOWARDS_ZERO.
20840 * real.c (eadd1): Make rounding dependent on !ROUND_TOWARDS_ZERO.
20841 (ediv, emul, eldexp, esqrt): Likewise.
20842 (etoe113, etoe64, etoe53, etoe24, etodec, etoibm, etoc4x): Likewise.
20843 (e24toe): Only check NaNs & infinities if !LARGEST_EXPONENT_IS_NORMAL.
20844 (saturate): New function.
20845 (toe53, toe24): Saturate on overflow if LARGEST_EXPONENT_IS_NORMAL.
20846 (make_nan): Use a saturation value instead of a NaN if
20847 LARGEST_EXPONENT_IS_NORMAL. Warn when this happens.
20848 * fp-bit.c (pack_d): Saturate on NaN, infinite or overflowing
20849 inputs if LARGEST_EXPONENT_IS_NORMAL. Represent subnormals as
20850 zero if NO_DENORMALS. Only round to nearest if !ROUND_TOWARDS_ZERO.
20851 (unpack_d): No NaNs or infinities if LARGEST_EXPONENT_IS_NORMAL.
20852 (_fpmul_parts, _fpdiv_parts): Only round to nearest if
20853 !ROUND_TOWARDS_ZERO.
20854 * doc/tm.texi (LARGEST_EXPONENT_IS_NORMAL): Document.
20855 (ROUND_TOWARDS_ZERO): Document.
20856
d25558be
AJ
208572002-03-11 Andreas Jaeger <aj@suse.de>
20858
20859 * cfg.c (dump_flow_info): Remove unused variable.
20860
c71f9ae7
HPN
208612002-03-11 Hans-Peter Nilsson <hp@bitrange.com>
20862
20863 * config/mmix/mmix.c (mmix_expand_builtin_va_arg): Do all
20864 computations on trees.
20865
561c9153
RH
208662002-03-10 Richard Henderson <rth@redhat.com>
20867
932b4e3e 20868 PR 5693:
561c9153
RH
20869 * reload.c (copy_replacements_1): New.
20870 (copy_replacements): Use it to recurse through the rtx.
20871
26b738be
RH
208722002-03-10 Richard Henderson <rth@redhat.com>
20873
20874 * loop.c (strength_reduce): Compute number of iterations as
20875 unsigned HOST_WIDE_INT.
20876
8d8a083e
RH
208772002-03-10 Richard Henderson <rth@redhat.com>
20878
20879 * sched-rgn.c (add_branch_dependences): Don't allow insns that throw
20880 to move away from the end of the block.
20881
32810ba3
NB
208822002-03-10 Neil Booth <neil@daikokuya.demon.co.uk>
20883
20884 PR preprocessor/5899
20885 * cppinit.c (init_dependency_output): Don't ignore -dM etc.
d25558be 20886
2b03d201
KG
208872002-03-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
20888
f90c544c
KG
20889 * mbchar.c (JIS_state_table, JIS_action_table): Const-ify.
20890
2b03d201
KG
20891 * attribs.c (decl_attributes): Fix signed/unsigned warning.
20892
3ec1b4cb
HPN
208932002-03-10 Hans-Peter Nilsson <hp@bitrange.com>
20894
20895 * config/mmix/mmix.c: Improve comments.
20896 (mmix_target_asm_function_prologue): Drop variable
20897 empty_stack_frame. Don't allocate unused slot above fp.
20898 (mmix_target_asm_function_epilogue): Mirror prologue changes.
20899 * config/mmix/mmix.h (MMIX_GNU_ABI_REG_ALLOC_ORDER): Don't have
20900 brace in first column.
20901 (enum reg_class): Ditto.
20902 (FIRST_PARM_OFFSET): Now 0.
20903 (USER_LABEL_PREFIX): Remove #if 0:d definition.
20904
27e486c5
KG
209052002-03-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
20906
20907 * combine.c (make_extraction): Fix error in last change.
20908
0139adca
KG
209092002-03-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
20910
20911 * c4x.c (c4x_fp_reglist): Const-ify.
20912 * cris.c (cris_print_operand): Likewise.
20913 * i386.c (ix86_va_arg): Likewise.
20914 * ia64/unwind-ia64.c (unw_decode_table): Likewise.
20915 * m32r.c (m32r_hard_regno_mode_ok): Likewise.
20916 * m32r.h (m32r_hard_regno_mode_ok): Likewise.
20917 * mcore.c (regno_reg_class, mcore_unique_section): Likewise.
20918 * mcore.h (regno_reg_class): Likewise.
20919 * mips.c (gen_int_relational): Likewise.
20920 * ns32k.c (ns32k_reg_class_contents, regclass_map): Likewise.
20921 * ns32k.h (ns32k_reg_class_contents, regclass_map): Likewise.
a4334c36 20922 * pdp11.c (move_costs): Likewise.
0139adca
KG
20923 * pj.h (INITIALIZE_TRAMPOLINE): Likewise.
20924 * s390.c (s390_branch_condition_mnemonic, regclass_map):
20925 Likewise.
20926 * s390.h (regclass_map): Likewise.
20927 * sh.c (shift_amounts): Likewise.
a4334c36 20928 * sh.md (rotlsi3): Likewise.
0139adca 20929
889b90a1
GK
209302002-03-09 Geoffrey Keating <geoffk@redhat.com>
20931
20932 * config/rs6000/rs6000.md (ne0+4): Add extra CLOBBER.
20933 (ne0+5): Use new clobber to generate proper shift pattern.
20934 Patch by Michael Matz <matz@kde.org>.
20935
2877e0ae
AS
209362002-03-09 Andreas Schwab <schwab@suse.de>
20937
20938 * gcc.c (validate_all_switches): Also handle `%W{...}'.
20939
79b51cd7
GK
209402002-03-09 Geoffrey Keating <geoffk@redhat.com>
20941
20942 * config/rs6000/sysv4.h (BIGGEST_ALIGNMENT): Don't define.
20943
e0f1be5c
JJ
209442002-03-09 Jakub Jelinek <jakub@redhat.com>
20945
20946 PR middle-end/5877
20947 * expr.c (highest_pow2_factor): Check TREE_INT_CST_LOW
20948 even for non-representable constants.
20949
0a7ec763
RK
20950Sat Mar 9 07:20:01 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
20951
93fe8e92
RK
20952 * emit-rtl.c (copy_most_rtx): Accept EXPR_LIST for may_share.
20953 * function.c (fixup_var_refs): Add MAY_SHARE parameter.
20954 (fixup_var_refs_insns, fixup_var_refs_insns_with_has): Likewise.
20955 (fixup_var_refs_insn, fixup_var_refs_1): Likewise.
20956 (pop_function_context): Compute MAY_SHARE parameter for
20957 fixup_var_refs.
20958 (fixup_var_refs_1, case MEM): Pass MAY_SHARE to copy_most_rtx, not VAR.
20959 (gen_mem_addressof): Call fixup_var_refs with new parm.
20960
0a7ec763
RK
20961 * combine.c (make_extraction): Don't make extension of CONST_INT.
20962
a85cd407
AO
209632002-03-09 Alexandre Oliva <aoliva@redhat.com>
20964
9445b814
AO
20965 * config/mips/mips.c (function_arg_pass_by_reference): Force to 0
20966 in o32 and o64 ABIs.
20967 * config/mips/abi64.h (MUST_PASS_IN_STACK): Define as in expr.h,
20968 but getting fixed-size structs passed in registers regardless of
20969 padding in o32 and o64 ABIs.
20970
a85cd407
AO
20971 * config/mips/mips.c (mips_va_arg): Apply big-endianness address
20972 offset before loading address of argument passed by transparent
20973 reference.
20974
c51fbe40
JDA
209752002-03-08 John David Anglin <dave@hiauly1.hia.nrc.ca>
20976
20977 * t-pa64 (LIB1ASMFUNCS, LIB1ASMSRC): Delete.
20978
918e70dd
AO
209792002-03-09 Alexandre Oliva <aoliva@redhat.com>
20980
20981 * config/mips/mips.c (mips_expand_prologue): Set regno of vararg
20982 marker such that registers after it are saved.
20983
3070dd00
KG
209842002-03-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
20985
20986 * sparc.c (arith_4096_operand): Fix error in last change.
20987
e25d11b0
AO
209882002-03-08 Alexandre Oliva <aoliva@redhat.com>
20989
20990 * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Remove duplicate
20991 defaults for MEABI.
20992
41daaf0e
AH
209932002-03-08 Aldy Hernandez <aldyh@redhat.com>
20994
5b43fed1
RH
20995 * config/rs6000/rs6000.c (rs6000_va_arg): Fix alignment for
20996 vectors.
41daaf0e 20997
fa139b00
AH
209982002-03-08 Aldy Hernandez <aldyh@redhat.com>
20999
5b43fed1 21000 * config/rs6000/sysv4.h (BIGGEST_ALIGNMENT): Change for altivec.
fa139b00 21001
c51d95ec
JH
21002Fri Mar 8 21:27:49 CET 2002 Jan Hubicka <jh@suse.cz>
21003
21004 * cfgrtl.c (purge_dead_edges): Set BB_DRITY flags if edge has been
21005 removed; fix return value.
21006 * combine.c (combine_instructions): Dirtify blocks where we failed to
21007 update liveness; purge dead edges; use update_life_info_in_dirty_blocks.
21008 * toplev.c (rest_of_compilation): Do not purge_dead_edges after combine.
21009
3b25fbfe
KG
210102002-03-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
21011
21012 * gcse.c (insert_insn_end_bb): Fix typo in last change.
21013
189ae0f4
JH
21014Fri Mar 8 21:08:52 CET 2002 Jan Hubicka <jh@suse.cz>
21015
21016 * recog.c (peephole2_optimize): Re-distribute EH edges.
21017
24965e7a
NB
210182002-03-08 Neil Booth <neil@daikokuya.demon.co.uk>
21019
21020 * expr.c (expand_expr): Use unsave lang hook.
21021 * langhooks-def.h (LANG_HOOKS_UNSAVE): New.
21022 (LANG_HOOKS_INITIALIZER): Update.
21023 * langhooks.h (struct lang_hooks): New hook unsave.
21024 * tree.c (lang_unsave, lang_unsave_expr_now): Remove.
21025 (unsave_expr_1): Remove unused lang_unsave_expr_now.
21026 (unsave_expr_now_r): Rename lhd_unsave. Update. Return input.
21027 (unsave_expr_now): Remove.
21028 * tree.h (unsave_expr_now, lang_unsave,
21029 lang_unsave_expr_now): Remove.
21030 (lhd_unsave): New.
21031
1e4e95d6
AJ
210322002-03-08 Andreas Jaeger <aj@suse.de>
21033
21034 * flow.c (propagate_block_delete_insn): Remove unused variable.
21035
054ef905
KH
210362002-03-08 Kazu Hirata <kazu@hxi.com>
21037
21038 * config/h8300/h8300.c (h8300_adjust_insn_length): Tighten
21039 insn length for memory load/store.
21040
5304400d 210412002-03-08 Craig Rodrigues <rodrigc@gcc.gnu.org>
1e4e95d6 21042
5304400d
CR
21043 * doc/install.texi (--with-libiconv-prefix): Document.
21044
81034129
MB
210452002-03-08 Michael Y. Brukman <myb2@cornell.edu>
21046
21047 * doc/sourcebuild.texi: Fix typo.
21048
71db7d03
JJ
210492002-03-08 Jakub Jelinek <jakub@redhat.com>
21050
21051 PR c/3711
21052 * builtins.c (std_expand_builtin_va_arg): Do all computations on
21053 trees.
21054
127c1ba5
RK
21055Fri Mar 8 06:48:45 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
21056
21057 * rtl.c (copy_most_rtx): Move from here ...
21058 * emit-rtl.c (copy_most_rtx): ... to here.
21059
8a13c092
AO
210602002-03-08 Alexandre Oliva <aoliva@redhat.com>
21061
5faae4f7
AO
21062 * config/mips/mips.h (LONG_MAX_SPEC): Rewrite, along with
21063 SUBTARGET_CPP_SIZE_SPEC.
21064 * config/mips/abi64.h (LONG_MAX_SPEC): Delete.
21065
8a13c092
AO
21066 * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Simplify.
21067
4ec59de2
MH
210682002-03-07 Matt Hiller <hiller@redhat.com>
21069
21070 * gensupport.c (first_dir_md_include): Renamed from include;
21071 change all references.
21072 (last_dir_md_include): Renamed from last_include; change all
21073 references.
21074 (init_md_reader): Unconditionally initialize base_dir whether or
21075 not filename is a relative path.
21076
12f61e77
AO
210772002-03-07 Alexandre Oliva <aoliva@redhat.com>
21078
95356058
AO
21079 * config/fp-bit.c (_unord_f2): Compile it in even if
21080 US_SOFTWARE_GOFAST is enabled.
21081
12f61e77
AO
21082 * config/gofast.h (GOFAST_RENAME_LIBCALLS): Set gt and ge as
21083 NULL_RTX. Set all HFmode operations as NULL_RTX.
21084 * optabs.c (prepare_float_lib_cmp) <GT, GE, LT, LE>: If libfunc is
21085 NULL_RTX, try reversing the comparison and the operands.
21086
6d7a1c4c
UW
210872002-03-06 Ulrich Weigand <uweigand@de.ibm.com>
21088
21089 * genextract.c (walk_rtx): Recurse into MATCH_PAR_DUP.
21090 genoutput.c (scan_operands): Recurse into MATCH_PAR_DUP
21091 and MATCH_OP_DUP.
21092
66d54344
JH
21093Thu Mar 7 16:54:10 CET 2002 Jan Hubicka <jh@suse.cz>
21094
21095 * reload1.c (reload_cse_delete_noop_set): Purge dead edges.
21096
068473ec
JH
21097Thu Mar 7 16:33:54 CET 2002 Jan Hubicka <jh@suse.cz>
21098
21099 * basic-block.h (fixup_abnormal_edges): Declare.
21100 * reload1.c (fixup_abnormal_edges): New function.
21101 * reg-stack.c (convert_regs): Use it.
21102
21103 * gcse.c (insert_insn_end_bb): Handle trapping insns.
21104
21105 * gcse.c (hash_scan_set): Refuse instructions with EH edges.
21106
71925bc0
RS
211072002-03-07 Richard Sandiford <rsandifo@redhat.com>
21108
21109 * defaults.h (MODE_HAS_NANS, MODE_HAS_INFINITIES): New.
21110 (MODE_HAS_SIGNED_ZEROS, MODE_HAS_SIGN_DEPENDENT_ROUNDING): New.
21111 * flags.h (HONOR_NANS, HONOR_INFINITIES, HONOR_SIGNED_ZEROS): New.
21112 (HONOR_SIGN_DEPENDENT_ROUNDING): New.
21113 * builtins.c (expand_builtin_mathfn): Use HONOR_NANS.
21114 * c-common.c (truthvalue_conversion): Reduce x - y != 0 to x != y
21115 unless x and y could be infinite.
21116 (expand_unordered_cmp): New, mostly split from expand_tree_builtin.
21117 Check that the common type of both arguments is a real, even for
21118 targets without unordered comparisons. Allow an integer argument
21119 to be compared against a real.
21120 (expand_tree_builtin): Use expand_unordered_cmp.
21121 * combine.c (combine_simplify_rtx): Use the new HONOR_... macros.
21122 * cse.c (fold_rtx): Likewise. Fix indentation.
21123 * fold-const.c (fold_real_zero_addition_p): New.
21124 (fold): Use it, and the new HONOR_... macros.
21125 * ifcvt.c (noce_try_minmax): Use the new HONOR_... macros.
21126 * jump.c (reversed_comparison_code_parts): After searching for
21127 the true comparison mode, use HONOR_NANS to decide whether it
21128 can be safely reversed.
21129 (reverse_condition_maybe_unordered): Remove IEEE check.
21130 * simplify-rtx.c (simplify_binary_operation): Use the new macros
21131 to decide which simplifications are valid. Allow the following
21132 simplifications for IEEE: (-a + b) to (b - a), (a + -b) to (a - b),
21133 and (a - -b) to (a + b).
21134 (simplify_relational_operation): Use HONOR_NANS.
21135 * doc/tm.texi: Document the MODE_HAS_... macros.
21136
145d3bf2
RE
211372002-03-07 Richard Earnshaw <rearnsha@arm.com>
21138
21139 * combine.c (simplify_comparison): If simplifying a logical shift
21140 right and compare with constant, force the comparison to unsigned.
21141
76a773f3
AH
211422002-03-07 Aldy Hernandez <aldyh@redhat.com>
21143
5b43fed1 21144 * doc/invoke.texi: Add documentation for -mabi=no-altivec.
76a773f3 21145
5b43fed1
RH
21146 * config/rs6000/rs6000.c (rs6000_parse_abi_options): Add
21147 -mabi=no-altivec
21148 (alt_reg_names): Remove % for vrsave.
76a773f3 21149
ab55f58c
RH
211502002-03-06 Richard Henderson <rth@redhat.com>
21151
5ddec02e 21152 PR optimization/5844
ab55f58c
RH
21153 * genemit.c (gen_exp): New argument used. Invoke copy_rtx
21154 if used indicates we've already emitted one copy of an operand.
21155 (gen_insn, gen_expand, output_add_clobbers): Supply a null used.
21156 (gen_split): Supply a non-null used.
21157
e16e3291
UW
211582002-03-06 Ulrich Weigand <uweigand@de.ibm.com>
21159
5b43fed1 21160 * reload1.c (reload): Unshare all rtl after reload is done.
e16e3291 21161
1e4e95d6 21162 * simplify-rtx.c (simplify_plus_minus): Do not abort,
e16e3291
UW
21163 but simply fail if the expression is too complex to simplify.
21164 (simplify_gen_binary): Handle simplify_plus_minus failures.
21165
2ca6672b
JH
21166Wed Mar 6 20:32:09 CET 2002 Jan Hubicka <jh@suse.cz>
21167
21168 * toplev.c (rest_of_compilation): Do jump threading before SSA path;
21169 consistently call delete_trivially_dead_insns after CSE and GCSE;
21170 fix DFI_life dumping; do jump threading after liveness; do crossjumping
21171 after liveness2; update comment in last crossjumping.
21172 * cfgcleanup.c (try_crossjump_to_edge): Dirtify block.
21173
31d0dd4f
JL
21174Wed Mar 6 12:27:10 2002 Jeffrey A Law (law@redhat.com)
21175
d094b0b3
JL
21176 * ssa-ccp.c (ssa_fast_dce): Update the DF def-use chains
21177 after completing fast dead code elimination.
21178
31d0dd4f
JL
21179 * m68k.h (CONST_COSTS): Lower cost of 0.0 when used inside a
21180 COMPARE operator.
1e4e95d6 21181
f2b958b1
PE
211822002-03-06 Phil Edwards <pme@gcc.gnu.org>
21183
21184 * version.c: Fix misplaced leading blanks on first line.
21185
a2877a09
JH
21186Wed Mar 6 19:08:03 CET 2002 Jan Hubicka <jh@suse.cz>
21187
21188 * cfgrtl.c (verify_flow_info): Accept RESX as EH edge source.
21189
fe477d8b
JH
21190Wed Mar 6 18:14:43 CET 2002 Jan Hubicka <jh@suse.cz>
21191
21192 * cfgcleanup.c (mentions_nonequal_regs): New function.
21193 (thread_jump): Use it.
21194 * toplev.c (rest_of_compilation): Run jump threading after
21195 liveness.
21196
2041cde4
JJ
211972002-03-06 Jakub Jelinek <jakub@redhat.com>
21198
21199 * ssa-ccp.c (ssa_ccp_substitute_constants): Backout 2002-03-05
21200 patch.
21201
82d68d46
JH
21202Wed Mar 6 11:28:19 CET 2002 Jan Hubicka <jh@suse.cz>
21203
21204 * predict.c (estimate_bb_frequencies): Do not reload the
21205 frequencies from notes.
21206
3dec4024
JH
21207Wed Mar 6 10:59:39 CET 2002 Jan Hubicka <jh@suse.cz>
21208
21209 * cfgrtl.c (delete_insn_and_edges, delete_insn_chain_and_edges): New.
21210 * rtl.h (delete_insn_and_edges, delete_insn_chain_and_edges): Declare
21211
21212 * basic-block.h (update_life_info, update_life_info_in_dirty_blocks,
21213 delete_noop_moves): Return indeger.
21214 * flow.c (ndead): New variable.
21215 (propagate_block_delete_insn): Use delete_insn_and_edges; remove
21216 BB argument; update callers.
21217 (propagate_block_delete_libcall): Use delete_insn_chain_and_edges.
21218 (life_analysis): Do not call purge_all_dead_edges.
21219 (update_life_info): Return number of deleted insns; print statistics.
21220 (update_life_info_in_dirty_blocks): likewise.
21221 (delete_noop_moves): Use delete_insn_and_edges; print statistics;
21222 return number of insns deleted.
21223
21224 * cse.c: Include timevar.h
21225 (delete_trivially_dead_insns): Kill preserve_basic_blocks argument;
21226 iterate until stabilizes; print statistics; return number of killed
21227 insns.
21228 * Makefile.in: (cse.o): Add timevar.h dependency
21229 * rtl.h (delete_trivially_dead_insns): New.
21230 * timever.def: Add TV_DELETE_TRIVIALLY_DEAD timer.
21231 * toplev.c (rest_of_compilation): Update callers.
21232
21233 * cfgcleanup.c (try_optimize_cfg): Kill blocks.
21234 (try_optimize_cfg): Do not update liveness.
21235 (cleanup-cfg): Loop until try_optimize_cfg and dead code
21236 removal stabilizes; use delete_trivially_dead_insns.
21237
21238 * cfgrtl.c (verify_flow_info): Sanity check outgoing edges.
21239
c7544dd8
ZW
212402002-03-05 Zack Weinberg <zack@codesourcery.com>
21241
21242 * cppmain.c (setup_callbacks): Disable #pragma and #ident
21243 callbacks when processing assembly language.
21244
50b424a9
JDA
212452002-03-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
21246
21247 * pa.h (ASM_FILE_END): Define.
21248 * som.h (ASM_FILE_END): Delete.
21249
21250 * pa.c (function_arg): Don't pass floats in general registers in
21251 indirect calls if TARGET_ELF32.
21252
6185f217
RH
212532002-03-05 Richard Henderson <rth@redhat.com>
21254
21255 * config/i386/i386.md (floatsidf2): Conditionalize on hard-float.
21256
3020a4b2
DS
212572002-03-05 Danny Smith <dannysmith@users.sourceforge.net>
21258
21259 * gthr-win32.h (__GTHREAD_MUTEX_INIT_DEFAULT): Define.
21260
65649daa
JJ
212612002-03-05 Jakub Jelinek <jakub@redhat.com>
21262
21263 * mklibgcc.in: Prepend a tab before .hidden, add $flags to gcc
21264 -r command line. Don't hide any symbols if not building
21265 shared libgcc.
21266
5a1a3e5e
JH
21267Tue Mar 5 18:31:27 CET 2002 Jan Hubicka <jh@suse.cz>
21268
21269 * cfg.c (dump_flow_info): Warn about profile mismatches.
21270 * cfgrtl.c (verify_flow_info): Few aditional sanity checks.
21271 (purge_dead_edges): Remove REG_BR_PROB notes on simplejumps.
21272
170c56da
JJ
212732002-03-05 Jakub Jelinek <jakub@redhat.com>
21274
21275 * expmed.c (emit_store_flag): Don't test BITS_PER_WORD * 2
21276 wide volatile memory by parts.
21277
6d051694
JJ
212782002-03-05 Jakub Jelinek <jakub@redhat.com>
21279
21280 * ssa-ccp.c (ssa_ccp_substitute_constants): Don't crash if def
21281 is NULL.
21282
28bcfd4d
RH
212832002-03-05 Richard Henderson <rth@redhat.com>
21284
5b43fed1 21285 * rs6000.h (TOTAL_ALTIVEC_REGS): Fix off-by-one error.
28bcfd4d 21286
75227a33
GK
212872002-03-04 Geoffrey Keating <geoffk@redhat.com>
21288
21289 * toplev.c (documented_lang_options): Document more
21290 language-specific options.
21291 * doc/invoke.texi (Warning Options): Correct documentation for
21292 -Wno-multichar, -Wno-div-by-zero, and -Wsystem-headers.
21293 * c-decl.c (c_decode_option): Use a table to handle warning options.
21294
4f1aac42
HPN
212952002-03-05 Hans-Peter Nilsson <hp@bitrange.com>
21296
21297 * config/mmix/mmix.h (ENCODE_SECTION_INFO): Pass on new second
21298 parameter to mmix_encode_section_info.
21299 (LINK_SPEC): Don't defsym __.MMIX.start..text if linking
21300 relocatably. Always produce ELF, not mmo if linking relocatably.
21301 * config/mmix/mmix.c (mmix_encode_section_info): If new parameter
21302 first is non-zero, don't add symbol prefix.
21303 * config/mmix/mmix-protos.h (mmix_encode_section_info): Tweak
21304 prototype accordingly.
21305
12345543
KW
213062002-03-04 Krister Walfridsson <cato@df.lth.se>
21307
21308 * config.gcc (*-*-netbsd*): Add t-slibgcc-elf-ver to tmake_file.
21309
8e97db8f
JM
213102002-03-05 Joseph S. Myers <jsm28@cam.ac.uk>
21311
21312 * configure.in: Increase required makeinfo version to 4.1.
21313 * configure: Regenerate.
21314
06487868
GK
213152002-03-04 Geoffrey Keating <geoffk@redhat.com>
21316
21317 * .cvsignore: Remove *.info* and genrtl*; these files are generated
21318 elsewhere now.
21319
cff42170
JM
213202002-03-04 Joseph S. Myers <jsm28@cam.ac.uk>
21321
21322 * doc/include/texinfo.tex: Update to version 2002-03-01.06.
21323 * doc/invoke.texi: Fix @math uses.
21324
974a7f56
JH
21325Mon Mar 4 15:33:54 CET 2002 Jan Hubicka <jh@suse.cz>
21326
21327 * toplev.c (rest_of_compilation): Cleanup CFG after dead jumptables
21328 removal
21329
3b7d0e98
AH
213302002-03-03 Aldy Hernandez <aldyh@redhat.com>
21331
5b43fed1
RH
21332 * config.gcc (powerpc-*-eabialtivec*): Use t-ppcendian.
21333 (powerpc-*-eabisimaltivec*): Same.
3b7d0e98 21334
5b43fed1 21335 * config/rs6000/t-ppcendian: New.
3b7d0e98 21336
65f2f288
HB
213372002-03-04 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
21338
21339 * c4x-protos.h, c4x.h, c4x.c, c4x.md: Add new functions
21340 nonimmediate_src_operand and nonimmediate_lsrc_operand to
21341 disallow ZERO_EXTEND with CONST_INT or CONST_DOUBLE.
21342
8ce0a8a5
RH
213432002-03-03 Richard Henderson <rth@redhat.com>
21344
21345 * toplev.c (rest_of_decl_compilation): Revert last two changes.
21346
ba31d94e
ZW
213472002-03-03 Zack Weinberg <zack@codesourcery.com>
21348
21349 * emit-rtl.c, final.c, fold-const.c, gengenrtl.c, optabs.c,
21350 print-tree.c, real.c, real.h, recog.c, rtl.c, simplify-rtx.c,
21351 tree.c, config/m68k/m68k.c:
21352 Remove all #ifndef REAL_ARITHMETIC blocks, make all #ifdef
21353 REAL_ARITHMETIC blocks unconditional. Delete some further
21354 #ifdef blocks predicated on REAL_ARITHMETIC.
21355 * flags.h, toplev.c: Delete remaining references to
21356 flag_pretend_float.
21357
21358 * doc/invoke.texi: Remove documentation of -fpretend-float.
21359 * doc/tm.texi: Describe the various REAL_* macros as provided by
21360 real.h, not by the target configuration files.
21361
21362 * config/alpha/alpha.h, config/alpha/unicosmk.h, config/arm/arm.h,
21363 config/avr/avr.h, config/c4x/c4x.h, config/convex/convex.h,
21364 config/cris/cris.h, config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
21365 config/h8300/h8300.h, config/i370/i370.h, config/i386/i386.h,
21366 config/i386/osf1elf.h, config/i960/i960.h, config/ia64/ia64.h,
21367 config/m32r/m32r.h, config/m68hc11/m68hc11.h, config/m68k/dpx2.h,
21368 config/m68k/linux-aout.h, config/m68k/linux.h, config/m68k/m68k.h,
21369 config/m68k/sun3.h, config/m68k/vxm68k.h, config/mcore/mcore.h,
21370 config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
21371 config/mn10300/mn10300.h, config/pa/pa.h, config/pj/pj.h,
21372 config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.h,
21373 config/sparc/freebsd.h, config/sparc/linux.h, config/sparc/linux64.h,
21374 config/sparc/sol2.h, config/sparc/sparc.h, config/sparc/vxsim.h,
21375 config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vax.h,
21376 config/xtensa/xtensa.h:
21377 Do not define, undefine, or mention in comments any of
21378 REAL_ARITHMETIC, REAL_VALUE_ATOF, REAL_VALUE_HTOF,
21379 REAL_VALUE_ISNAN, REAL_VALUE_ISINF,
21380 REAL_VALUE_TO_TARGET_SINGLE, REAL_VALUE_TO_TARGET_DOUBLE,
21381 REAL_VALUE_TO_TARGET_LONG_DOUBLE, REAL_VALUE_TO_DECIMAL,
21382 REAL_VALUE_TYPE, REAL_VALUES_EQUAL, REAL_VALUES_LESS,
21383 REAL_VALUE_LDEXP, REAL_VALUE_FIX, REAL_VALUE_UNSIGNED_FIX,
21384 REAL_VALUE_RNDZINT, REAL_VALUE_UNSIGNED_RNDZINT,
21385 REAL_INFINITY, REAL_VALUE_NEGATE, REAL_VALUE_TRUNCATE,
21386 REAL_VALUE_TO_INT, or REAL_VALUE_FROM_INT.
21387
9a571cfd
KG
213882002-03-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
21389
e81dd381
KG
21390 * 1750a.h, a29k.h, alpha.h, arc.h, arm.h, avr.h, c4x.h, clipper.h,
21391 convex.h, cris.h, d30v.h, dsp16xx.h, elxsi.h, fr30.h, h8300.h,
21392 i370.h, i386.h, i860.h, i960.h, ia64.h, m32r.h, m68hc11.h, m68k.h,
21393 m88k.h, mcore.h, mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h,
21394 pa.h, pdp11.h, pj.h, romp.h, rs6000.h, s390.h, sh.h, sparc.h,
21395 stormy16.h, v850.h, vax.h, we32k.h, xtensa.h (BITS_PER_WORD):
21396 Delete.
21397 * defaults.h (BITS_PER_WORD): Define.
ba31d94e 21398 * doc/tm.texi (BITS_PER_WORD): Document default value.
e81dd381 21399
9a571cfd
KG
21400 * 1750a.h, avr.h, convex.h, d30v.h, dsp16xx.h, fr30.h, ia64.h,
21401 m68hc11.h, m88k.h, mips.h, pdp11.h, rs6000.h, sparc.c,
21402 stormy16.h, xtensa.h, vmsdbgout.c (CHAR_TYPE_SIZE): Delete.
21403
ca7558fc
KG
214042002-03-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
21405
21406 * attribs.c (init_attributes, decl_attributes): Use ARRAY_SIZE in
21407 lieu of explicit sizeof/sizeof.
21408 * i386.c (override_options, ix86_init_mmx_sse_builtins,
21409 ix86_expand_builtin): Likewise.
21410 * mips.c (mips_add_gc_roots): Likewise.
21411 * mmix.c (mmix_output_condition): Likewise.
21412 * rs6000.c (rs6000_override_options, altivec_expand_builtin,
21413 altivec_init_builtins): Likewise.
21414 * sparc.c (mark_ultrasparc_pipeline_state): Likewise.
21415 * cppexp.c (Nsuff, parse_number): Likewise.
21416 * cppinit.c (builtin_array_end): Likewise.
21417 * gcc.c (n_default_compilers, process_command): Likewise.
21418 * genpreds.c (output_predicate_decls): Likewise.
21419 * ggc-page.c (NUM_EXTRA_ORDERS): Likewise.
21420 * lcm.c (N_ENTITIES): Likewise.
21421 * stor-layout.c (set_sizetype): Likewise.
ba31d94e 21422
41c78c88
RH
214232002-03-03 Richard Henderson <rth@redhat.com>
21424
21425 * toplev.c (rest_of_decl_compilation): Do not invoke make_decl_rtl
21426 for types or labels.
21427
9e9b71e6
RH
214282002-03-03 Richard Henderson <rth@redhat.com>
21429
21430 * c-decl.c (start_decl): Initialized variables are not common.
21431
c26a6db8
PB
214322002-03-02 Per Bothner <per@bothner.com>
21433
21434 * gcc.c (option_map): Suport new --bootclasspath option.
21435 --CLASSPATH is now just an alias for --classpath.
21436
9e8aab55
RH
214372002-03-02 Richard Henderson <rth@redhat.com>
21438
21439 * config/i386/i386.h (ix86_expand_prologue): Do not emit pic register
21440 load if "internal" visibility.
21441 * doc/extend.texi: Document visibility meanings.
21442
b3bbd220
RH
214432002-03-02 Richard Henderson <rth@redhat.com>
21444
21445 * config/i386/i386.h (ENCODE_SECTION_INFO): MODULE_LOCAL_P applies
21446 to functions as well.
21447
b14707c3
RH
214482002-03-02 Richard Henderson <rth@redhat.com>
21449
21450 * attribs.c (handle_alias_attribute): Don't call assemble_alias.
21451 (handle_visibility_attribute): Don't call assemble_visibility.
21452 * toplev.c (rest_of_decl_compilation): Invoke make_decl_rtl even
21453 without asmspec. Invoke assemble_alias when needed.
21454 * varasm.c (maybe_assemble_visibility): New.
21455 (assemble_start_function, assemble_variable, assemble_alias): Use it.
21456
b2003250
RH
214572002-03-02 Richard Henderson <rth@redhat.com>
21458
21459 * varasm.c (make_decl_rtl): Remove call to REDO_SECTION_INFO_P;
21460 invoke ENCODE_SECTION_INFO with first call flag.
21461
21462 * config/darwin-protos.h, config/darwin.c, config/darwin.h,
21463 config/a29k/a29k.h, config/alpha/alpha-protos.h, config/alpha/alpha.c,
ba31d94e 21464 config/alpha/alpha.h, config/arc/arc.h, config/arm/arm-protos.h,
b2003250
RH
21465 config/arm/arm.h, config/arm/pe.c, config/arm/pe.h,
21466 config/avr/avr-protos.h, config/avr/avr.c, config/avr/avr.h,
21467 config/c4x/c4x-protos.h, config/c4x/c4x.c, config/c4x/c4x.h,
21468 config/cris/cris-protos.h, config/cris/cris.c, config/cris/cris.h,
21469 config/d30v/d30v.h, config/h8300/h8300.h, config/i370/i370.h,
21470 config/i386/cygwin.h, config/i386/i386-interix.h, config/i386/i386.h,
21471 config/i386/osfrose.h, config/i386/win32.h, config/i386/winnt.c,
21472 config/ia64/ia64-protos.h, config/ia64/ia64.c, config/ia64/ia64.h,
21473 config/m32r/m32r-protos.h, config/m32r/m32r.c, config/m32r/m32r.h,
ba31d94e
ZW
21474 config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c,
21475 config/m68hc11/m68hc11.h, config/m88k/m88k.h,
b2003250
RH
21476 config/mcore/mcore-protos.h, config/mcore/mcore.c,
21477 config/mcore/mcore.h, config/mips/mips.h, config/ns32k/ns32k.h,
21478 config/pa/pa.h, config/romp/romp.h, config/rs6000/linux64.h,
ba31d94e 21479 config/rs6000/rs6000-protos.h, config/rs6000/rs6000.c,
b2003250
RH
21480 config/rs6000/sysv4.h, config/rs6000/xcoff.h, config/s390/s390.h,
21481 config/sh/sh.h, config/sparc/sparc.h,
21482 config/stormy16/stormy16-protos.h, config/stormy16/stormy16.c,
21483 config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vms.h,
21484 config/xtensa/xtensa.h, doc/tm.texi: ENCODE_SECTION_INFO now takes
21485 FIRST argument. As needed, examine it and do nothing.
21486
ba31d94e 21487 * config/darwin.h, config/alpha/alpha.h, config/arm/pe.h,
b2003250
RH
21488 config/i386/cygwin.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h,
21489 config/mcore/mcore.h: Remove REDO_SECTION_INFO_P.
21490
21491 * config/arm/t-pe (pe.o): Add dependencies.
21492
5c60f03d
KG
214932002-03-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
21494
21495 * a29k.h, alpha.h, arc.h, arm.h, avr.h, clipper.h, convex.h,
21496 cris.h, d30v.h, elxsi.h, fr30.h, h8300.h, i370.h, i386.h, i860.h,
21497 i960.h, ia64.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h,
21498 mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h, pa.h, pdp11.h,
21499 pj.h, romp.h, rs6000.h, s390.h, sh.h, sparc.h, stormy16.h, v850.h,
21500 vax.h, we32k.h, xtensa.h: (BITS_PER_UNIT): Delete.
21501 * defaults.h (BITS_PER_UNIT): Define.
21502 * doc/tm.texi (BITS_PER_UNIT): Document default value.
21503
86855e8c
KH
215042002-03-02 Kazu Hirata <kazu@hxi.com>
21505
21506 * config/h8300/h8300-protos.h: Add a prototype for
21507 compute_a_shift_length.
21508 * config/h8300/h8300.c (h8300_asm_insn_count): New.
21509 (compute_a_shift_length): Likewise.
21510 (h8300_adjust_insn_length): Do not adjust insn length of shift
21511 insns.
21512 * config/h8300/h8300.md (anonymous shift patterns): Use
21513 compute_a_shift_length.
21514
f6041ed8
RK
21515Sat Mar 2 06:30:14 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
21516
35aa3c1c
RK
21517 * config/sparc/sparc.c (sparc_initialize_trampoline): Use
21518 trunc_int_for_mode.
21519
f6041ed8
RK
21520 * emit-rtl.c (offset_address): Call update_temp_slot_address.
21521
27b41650
KG
215222002-03-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
21523
21524 * Makefile.in (CRTSTUFF_CFLAGS): Add -fno-zero-initialized-in-bss.
21525 * doc/invoke.texi (-fno-zero-initialized-in-bss): Document.
21526 * flags.h (flag_zero_initialized_in_bss): Declare.
21527 * toplev.c (flag_zero_initialized_in_bss): New flag.
21528 (lang_independent_options): Add flag_zero_initialized_in_bss.
21529 * tree.c (initializer_zerop): New function.
21530 * tree.h (initializer_zerop): Declare.
21531 * varasm.c (assemble_variable): If we can emit bss, put zero
21532 initializers in the bss section.
21533
ca734b39
AM
215342002-03-02 Alan Modra <amodra@bigpond.net.au>
21535
21536 * config/rs6000/rs6000.h (ASM_WEAKEN_DECL): AIX assembler doesn't
21537 like more than one symbol per .weak directive.
21538
49b72306
RH
215392002-03-01 Richard Henderson <rth@redhat.com>
21540
21541 * config/ia64/ia64.c (ia64_initial_elimination_offset): Do not
21542 adjust argument_pointer by pretend_args_size.
21543 (ia64_va_start): Adjust va_start address by -pretend_args_size.
21544
fbf0fe41
KH
215452002-03-01 Kazu Hirata <kazu@hxi.com>
21546
21547 * config/h8300/h8300.c (h8300_adjust_insn_length): Clean up.
21548
0010687d
JH
21549Fri Mar 1 20:59:14 CET 2002 Jan Hubicka <jh@suse.cz>
21550
21551 * toplev.c (rest_of_compilation): Delete dead jumptables before
21552 loop.
21553 * flow.c (delete_dead_jumptables): Make global.
21554 * rtl.h (delete_dead_jumptables): Declare.
21555
9429c84c
DE
215562002-03-01 David Edelsohn <edelsohn@gnu.org>
21557
21558 * config/rs6000/rs6000.h (HANDLE_PRAGMA_PACK): Delete.
21559 * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Define.
0c2fdcdf 21560 * config/rs6000/xcoff.h (COLLECT_EXPORT_LIST): Delete.
9429c84c 21561
f0b6f9a6
KH
215622002-03-01 Kazu Hirata <kazu@hxi.com>
21563
21564 * config/h8300/h8300-protos.h: Fix formatting.
21565 * config/h8300/h8300.c: Likewise.
21566 * config/h8300/h8300.h: Likewise.
21567
bc8db8a1
KH
215682002-03-01 Kazu Hirata <kazu@hxi.com>
21569
21570 * config/h8300/h8300.c (print_operand): Support 16-bit
21571 constant addresses.
21572 * config/h8300/h8300.h (TINY_CONSTANT_ADDRESS_P): New.
21573
32b069d3
RH
215742002-02-28 Richard Henderson <rth@redhat.com>
21575
21576 * expmed.c (store_bit_field): Prevent generation of CONCATs;
21577 pun complex values as integers; use gen_lowpart instead of
21578 gen_rtx_SUBREG.
21579 (extract_bit_field): Likewise.
21580
79c4e63f
AM
215812002-03-01 Alan Modra <amodra@bigpond.net.au>
21582 David Edelsohn <edelsohn@gnu.org>
21583
21584 * doc/tm.texi (ASM_WEAKEN_DECL): Document.
21585 (ASM_WEAKEN_LABEL): Mention ASM_WEAKEN_DECL.
21586 (SUPPORTS_WEAK): Likewise.
21587 * output.h (add_weak): Add tree param.
21588 * varasm.c (add_weak): Likewise. Save decl.
21589 (struct weak_syms): Add decl field.
21590 (mark_weak_decls): New function.
21591 (init_varasm_once): ggc_add_root mark_weak_decls.
21592 (assemble_start_function): Use ASM_WEAKEN_DECL.
21593 (assemble_variable): Likewise.
21594 (assemble_alias): Likewise.
21595 (declare_weak): Pass decl to add_weak.
21596 (weak_finish): Use ASM_WEAKEN_DECL. Try to find decl.
21597 (remove_from_pending_weak_list): Declare and define for
21598 ASM_WEAKEN_DECL.
21599 * c-pragma.c (handle_pragma_weak): Adjust add_weak call.
21600 * c-pragma.h (HANDLE_PRAGMA_WEAK): Define if ASM_WEAKEN_DECL too.
21601 * defaults.h (SUPPORTS_WEAK): Likewise.
21602 * config/rs6000/linux64.h (ASM_DECLARE_FUNCTION_NAME): Don't emit
21603 .weak for code sym. Do emit .size for descriptor sym.
21604 (ASM_DECLARE_FUNCTION_SIZE): Define.
21605 * config/rs6000/rs6000.h (ASM_WEAKEN_DECL): Define.
21606 (ASM_OUTPUT_DEF_FROM_DECLS): Don't emit .weak here. Don't output
21607 .lglobl unless TARGET_XCOFF. Formatting fixes.
21608 * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Don't emit
21609 .weak for code sym.
21610 (HANDLE_PRAGMA_WEAK): Remove.
21611 (ASM_WEAKEN_LABEL): Remove.
21612 * config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Define.
21613
6f30f1f1
JM
216142002-03-01 Jason Merrill <jason@redhat.com>
21615
21616 * tree.h (TARGET_EXPR_SLOT, TARGET_EXPR_INITIAL): New macros.
21617 (TARGET_EXPR_CLEANUP): New macro.
21618
7879b81e
SE
216192002-02-28 Steve Ellcey <sje@cup.hp.com>
21620
21621 * doc/rtl.texi (SUBREG_PROMOTED_UNSIGNED_P): Change definition
21622 to take ptr_extend into account as third type of extension.
21623 (SUBREG_PROMOTED_UNSIGNED_SET): Definition of new macro to set bit
21624 fields used by SUBREG_PROMOTED_UNSIGNED_P.
21625 * rtl.h (SUBREG_PROMOTED_UNSIGNED_SET): New macro.
21626 (SUBREG_PROMOTED_UNSIGNED_P): Change to return -1 as well as 0 or 1.
21627 * calls.c (precompute_arguments): Use new macro.
21628 (expand_call): Ditto.
21629 * combine.c (nonzero_bits): Ditto.
21630 (record_promoted_value): Ditto.
21631 * expr.c (store_expr): Ditto.
21632 (expand_expr): Ditto.
21633 * function.c (assign_parms): Ditto.
21634
42d579d8
AO
216352002-02-28 Alexandre Oliva <aoliva@redhat.com>
21636
21637 * gcc.c (init_gcc_specs): Get -static and -static-libgcc to
21638 override -shared and -shared-libgcc.
21639
e0054185
DB
216402002-02-28 David O'Brien <obrien@FreeBSD.org>
21641
21642 * config.gcc (sparc64-*-freebsd): Explicitly accept a cpu specification
21643 of "ultrasparc".
21644 * config/sparc/freebsd.h: Do not use MASK_FASTER_STRUCTS. It appears
21645 to be broken.
21646
abda4f1c
RH
216472002-02-28 Richard Henderson <rth@redhat.com>
21648
21649 * config/ia64/ia64.c (ia64_adjust_cost): All non-MM consumers have
21650 4 cycle latency from MM producers.
21651 (ia64_internal_sched_reorder): Likewise with pipeline flush.
21652
c0f08649
JJ
216532002-02-28 Jakub Jelinek <jakub@redhat.com>
21654
21655 * mklibgcc.in: Don't use GNU make extension.
21656
f79f2651
NB
216572002-02-28 Neil Booth <neil@daikokuya.demon.co.uk>
21658
21659 * c-parse.in (STATIC): New terminal.
21660 (scspec): New non-terminal. Update productions accordingly.
21661 (program): Remove bogus ifc / end ifc.
21662 (array_declarator): Simplify production using STATIC.
21663
001e3fee
JM
216642002-02-28 Jim Meyering <meyering@lucent.com>
21665
21666 * cpplex.c (cpp_parse_escape): Restore mistakenly-removed code:
21667 \a still means TARGET_BELL.
21668
89076bb3
RH
216692002-02-28 Richard Henderson <rth@redhat.com>
21670
21671 * haifa-sched.c (sched_emit_insn): New.
21672 (schedule_block): Use last_scheduled_insn to track last insn.
21673 * sched-int.h (sched_emit_insn): Prototype.
21674 * config/ia64/ia64.c (last_issued): Remove.
21675 (ia64_variable_issue): Don't set it.
21676 (nop_cycles_until): Use sched_emit_insn.
21677
e3aaacf4
AM
216782002-02-28 Andrew MacLeod <amacleod@redhat.com>
21679
21680 * config/sparc/sparc.c (sparc64_initialize_trampoline): Generate sign
21681 extended constants.
21682
7f473594
KH
216832002-02-28 Kazu Hirata <kazu@hxi.com>
21684
21685 * config/h8300/h8300.c: Fix formatting.
21686 * config/h8300/h8300.h: Likewise.
21687
b96c434c
MM
216882002-02-28 Marek Michalkiewicz <marekm@amelek.gda.pl>
21689
21690 * config/avr/avr.c (avr_hard_regno_mode_ok): Do not allow r29
21691 which may overwrite the high byte of the frame pointer.
21692
9b420a6a
BT
216932002-02-28 Bo Thorsen <bo@suse.de>
21694
21695 * config/i386/linux64.h (LINK_SPEC): Fix 32/64 bit compilation.
21696 (STARTFILE_SPEC): Add 64 bit files.
21697 (ENDFILE_SPEC): Likewise.
21698
6f30f1f1 216992002-02-28 Jason Merrill <jason@redhat.com>
46cfb101
JM
21700
21701 * c-decl.c (finish_function): Only warn about missing return
21702 statement with -Wreturn-type.
21703
70da1d03
JH
21704Don Feb 28 11:24:30 CET 2002 Jan Hubicka <jh@suse.cz>
21705
21706 * cfgrtl.c (purge_dead_edges): Fix handling of EH edges.
21707
21708 * i386.h (CONDITIONAL_REGISTER_USAGE): Do not write to
21709 PIC_OFFSET_TABLE_REGNUM when it is INVALID_REGNUM
21710
38c1593d
JH
21711Don Feb 28 11:07:36 CET 2002 Jan Hubicka <jh@suse.cz>
21712
21713 * basic-block.h (BB_REACHABLE): Renumber.
21714 (BB_DIRTY, BB_NEW): New flags.
21715 (clear_bb_flags): Declare.
21716 (update_life_info_in_dirty_blocks): Declare.
21717 * cfg.c (clear_bb_flags): New function.
21718 * cfgrtl.c (create_basic_block_structure): Set flags to BB_NEW.
21719 * emit-rtl.c (add_insn_after, add_insn_before, remove_insn,
21720 reorder_insns, emit_insn_after): Mark block as dirty.
21721 * flow.c (update_life_info): Fix clearing of PROP_LOG_LINKS.
21722 (update_life_info_in_dirty_blocks): New function.
21723 * recog.c (apply_change_group): Dirtify block.
21724
21725 * cse.c (cse_insn): Reorder emitting of jump insn to keep
21726 cfg consistent.
21727 * gcse.c (delete_null_pointer_checks): Likewise.
21728
21729 * toplev.c (dump_file_index): Move cse2 after bp,
21730 add DFI_null
21731 (dump_file_info): Similary.
21732 (rest_of_compilation): Avoid most of CFG rebuilds;
21733 do first if converision after null pointer checks, do cse2
21734 after branch prediction; avoid full liveness rebuild after
21735 initializing subregs.
21736 * invoke.texi (-d options): Document -du, renumber.
21737
21738 * cfgcleanup.c (bb_flags): Remove BB_UPDATE_LIFE.
21739 (notice_new_block): Do not set BB_UPDATE_LIFE.
21740 (try_forward_edges, merge_blocks_move_predecessor_nojumps,
21741 merge_blocks_move_successor_nojumps, merge_blocks,
21742 try_crossjump_to_edge): Likewise.
21743 (try_optimize_cfg): Likewise; use update_life_info_in_dirty_blocks.
21744 * cfgrtl.c (merge_blocks_nomove): Copy b's flags to a.
21745 * ifcvt.c (SET_UPDATE_LIFE, UPDATE_LIFE): Kill.
21746 (merge_of_block): Do not use life_data_ok.
21747 (find_if_case_1): Do not use SET_UPDATE_LIFE.
21748 (if_convert): Use BB_DIRTY mechanizm to update life.
21749 * lcm.c (optimize_mode_switching): Update
21750 update_life_info_in_dirty_blocks
21751
63e1b1c4
NB
217522002-02-28 Neil Booth <neil@daikokuya.demon.co.uk>
21753
21754 * Makefile.in (integrate.o): Update.
21755 * c-decl.c (copy_lang_decl): Rename.
21756 * c-lang.c (LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): Redefine.
21757 * integrate.c: Include langhooks.h.
21758 (copy_decl_for_inlining): Update to use langhook.
21759 * langhooks-def.h (lhd_do_nothing_t,
21760 LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): New.
21761 (LANG_HOOKS_INITIALIZER): Update.
21762 * langhooks.c (lhd_do_nothing_t): New.
21763 * langhooks.h (struct lang_hooks): Add dup_lang_specific_decl.
21764 * tree.h (copy_lang_decl): Remove.
21765objc:
21766 * objc-lang.c (LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): Redefine.
21767
f472fa29
AM
217682002-02-27 Andrew MacLeod <amacleod@redhat.com>
21769
ba31d94e 21770 * dwarf2out.c (stack_adjust_offset): Add support for POST_INC,
f472fa29
AM
21771 POST_DEC, and POST_MODIFY.
21772
273cf2e4
ZW
217732002-02-27 Zack Weinberg <zack@codesourcery.com>
21774
21775 * c-typeck.c (digest_init): Remove unused parameter; all
21776 callers changed.
21777
4e07d762
GK
217782002-02-27 Geoffrey Keating <geoffk@redhat.com>
21779
21780 * expmed.c (expand_shift): Correctly test for low part of a
21781 subreg.
21782
6bc627b3
UW
217832002-02-27 Ulrich Weigand <uweigand@de.ibm.com>
21784
21785 * config/s390/s390.c (s390_chunkify_pool): Do not confuse
21786 insn UIDs with insn addresses.
21787
f458d1d5
ZW
217882002-02-27 Zack Weinberg <zack@codesourcery.com>
21789
21790 * c-common.c, c-common.h, c-decl.c, c-lex.c, c-parse.in,
21791 c-tree.h, c-typeck.c, cppexp.c, cpplex.c, cpplib.c, cpplib.h,
21792 cppmacro.c, objc/lang-specs.h, objc/objc-act.c,
21793 builtin-types.def, builtins.def, dwarf2out.c, dwarfout.c,
21794 gcc.c, toplev.c: Delete code implementing -traditional mode.
21795
21796 * doc/bugreport.texi, doc/cpp.texi, doc/extend.texi,
21797 doc/invoke.texi, doc/standards.texi, doc/trouble.texi:
21798 Document removal of -traditional mode for compilation, and
21799 remove documentation only relevant to that mode.
21800
21801 * config/nextstep.h, config/ptx4.h, config/svr4.h,
21802 config/convex/convex.h, config/d30v/d30v.h,
21803 config/i386/dgux.h, config/i386/osf1elf.h,
21804 config/i386/osfelf.h, config/i386/osfrose.h,
21805 config/i386/sco5.h, config/i386/sol2.h, config/m68k/a-ux.h,
21806 config/m68k/hp310.h, config/m88k/dgux.h,
21807 config/m88k/dguxbcs.h, config/m88k/luna.h, config/m88k/m88k.c,
21808 config/m88k/m88k.h, config/m88k/openbsd.h,
21809 config/mips/abi64.h, config/mips/osfrose.h,
21810 config/mips/svr4-5.h, config/mips/svr4-t.h,
21811 config/sparc/sol2-sld-64.h, config/sparc/sol2.h,
21812 config/stormy16/stormy16.h: Remove all references to
21813 -traditional from target specs. Delete all mention of the
21814 no-longer-necessary TRADITIONAL_RETURN_FLOAT macro. Also
21815 delete a couple of commented-out definitions of
21816 DOLLARS_IN_IDENTIFIERS, with (incorrect) commentary referring
21817 to -traditional.
21818
21819 * system.h: Poison TRADITIONAL_RETURN_FLOAT.
21820 * doc/tm.texi: Remove mention of TRADITIONAL_RETURN_FLOAT macro.
21821
e0b3a8ff
ZW
218222002-02-27 Zack Weinberg <zack@codesourcery.com>
21823
21824 * mklibgcc.in: Don't use \n in a line subject to
21825 interpretation by echo.
21826
5c6a85b7
GS
218272002-02-27 Graham Stott <grahams@redhat.com>
21828
72b05af1
GS
21829 * config/rs6000/rs6000.h (ASM_OUTPUT_DEF_FROM_DELC):
21830 Constify NAME.
21831
7d104885
GS
21832 * loop.c (prescan_loop): Handle PARALLEL.
21833
8ed805d2
GS
21834 * unroll.c (loop_iterations): Return 0 if the add_val for
21835 a BIV is REG.
21836
fd478a0a
GS
21837 * final.c (output_operand_lossage): Constify PFX_STR.
21838
5c6a85b7
GS
21839 * df.c (df_insn_refs_record): Use XEXP (x, 0) for USE.
21840
cd98ad03
JH
21841Wed Feb 27 10:45:19 CET 2002 Jan Hubicka <jh@suse.cz>
21842
21843 * linux64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Remove.
21844 * x86-64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Allways define.
21845
639ae55b
JH
21846Wed Feb 27 10:39:20 CET 2002 Jan Hubicka <jh@suse.cz>
21847
21848 * linux64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define.
21849
e808ec9c
NB
218502002-02-27 Neil Booth <neil@daikokuya.demon.co.uk>
21851
21852 * cpplex.c (_cpp_lex_token): Handle directives in macro
21853 arguments.
21854 * cpplib.c (_cpp_handle_directive): Save and restore state
21855 if parsing macro args when entering a directive.
21856 * cppmacro.c (collect_args): No need to handle directives
21857 in macro arguments.
21858 (enter_macro_context, replace_args): Use the original macro
21859 definition in case it was redefined whilst collecting arguments.
21860doc:
21861 * cpp.texi: Update.
21862
f585a356
DE
218632002-02-26 David Edelsohn <edelsohn@gnu.org>
21864
21865 * config/rs6000/aix43.h (THREAD_MODEL_SPEC): Delete.
21866 * config/rs6000/aix51.h (THREAD_MODEL_SPEC): Delete.
21867 * config/rs6000/rs6000.c (rs6000_return_addr): Use efficient
21868 method on AIX.
21869 * config/rs6000/rs6000.md (movsi_low): Use gpc_reg_operand.
21870 (movsi_low_st, movdf_low, movdf_low_st, movsf_low, movsf_low_st): Same.
21871 (load_toc_v4_PIC_2): Same.
21872
218732002-02-26 Alan Modra <amodra@bigpond.net.au>
21874
21875 * config/rs6000/rs6000.md (load_toc_aix_di): Handle TARGET_RELOCATABLE.
21876
d699058e
RH
218772002-02-26 Richard Henderson <rth@redhat.com>
21878
21879 * config/alpha/alpha.md (ashldi_se): Re-enable.
21880
eadccfbb
RH
218812002-02-26 Richard Henderson <rth@redhat.com>
21882
21883 * config/alpha/alpha.c (alpha_encode_section_info): Examine
21884 MODULE_LOCAL_P; improve commentary.
21885
7080ada1
ZW
218862002-02-26 Zack Weinberg <zack@codesourcery.com>
21887
21888 * doc/cpp.texi: Clarify documentation of relationship between
21889 #line and #include.
21890
b42cff6b
KH
218912002-02-26 Kazu Hirata <kazu@hxi.com>
21892
21893 * config/h8300/h8300-protos.h: Update the prototype for
21894 compute_logical_op_length. Add the prototype for
21895 compute_logical_op_cc.
21896 * config/h8300/h8300.c (compute_logical_op_length): Figure out
21897 code from operands.
21898 (compute_logical_op_cc): New.
21899 * config/h8300/h8300.md: Combine all the logical op patterns
21900 in HImode and SImode. Use compute_logical_op_cc.
21901
831c4e87
KC
219022002-02-26 Kelley Cook <kelleycook@comcast.net>
21903
21904 * config/i386/i386.c (print_operand): Don't append ATT-style
21905 length suffixs to x87 opcodes when in Intel mode.
21906
ff88fe10
RS
219072002-02-26 Ryan T. Sammartino <ryants@shaw.ca>
21908
21909 * emit-rtl.c (gen_const_vector_0): Remove TYPE argument.
21910 (init_emit_once): Update calls.
21911 * fixinc/gnu-regex.c (_GNU_SOURCE): Remove.
21912 (init_syntax_once): Prototype.
21913
d4108589
JDA
219142002-02-26 John David Anglin <dave@hiauly1.hia.nrc.ca>
21915
21916 * pa-linux.h (LIB_SPEC): Update definition.
21917 * pa32-linux.h (LINK_COMMAND_SPEC): Delete.
21918
e013f3c7
RH
219192002-02-26 Richard Henderson <rth@redhat.com>
21920
21921 * config/ia64/ia64.c (nop_cycles_until): Do init_insn_group_barriers
21922 if we emitted a stop bit.
21923
9e944a16
JJ
219242002-02-26 Jakub Jelinek <jakub@redhat.com>
21925
21926 * configure.in (libgcc_visibility): Substitute.
21927 * configure: Rebuilt.
21928 * mklibgcc.in: If libgcc_visibility = yes, make libgcc.a global
21929 defined symbols .hidden.
21930
47bd70b5
JJ
219312002-02-26 Jakub Jelinek <jakub@redhat.com>
21932
21933 * attribs.c (c_common_attribute_table): Add visibility.
21934 (handle_visibility_attribute): New function.
21935 * varasm.c (assemble_visibility): New function.
21936 * output.h (assemble_visibility): Add prototype.
21937 * tree.h (MODULE_LOCAL_P): Define.
21938 * crtstuff.c (__dso_handle): Use visibility attribute.
21939 * config/i386/i386.h (ENCODE_SECTION_INFO): Set SYMBOL_REF_FLAG
21940 for MODULE_LOCAL_P symbols too.
21941 * config/ia64/ia64.c (ia64_encode_section_info): Handle
21942 MODULE_LOCAL_P symbols the same way as local symbols.
21943 Add SDATA_NAME_FLAG_CHAR even if decl was explicitely forced
21944 into .sdata/.sbss by the user.
21945 * doc/extend.texi (Function Attributes): Document visibility
21946 attribute.
21947
6d73371a
JJ
219482002-02-26 Jakub Jelinek <jakub@redhat.com>
21949
21950 PR debug/5770
21951 * dwarf2out.c (rtl_for_decl_location): Return CONST_STRING for
21952 STRING_CST initializer spanning the whole variable without
21953 embedded zeros.
21954 If expand_expr returned MEM, don't use it.
21955
06e224f7
AO
219562002-02-26 Alexandre Oliva <aoliva@redhat.com>
21957
21958 * dwarf2out.c (gen_inlined_subroutine_die): If block is abstract,
21959 generate a die for the lexical block.
21960
40367e2d
KH
219612002-02-26 Kazu Hirata <kazu@hxi.com>
21962
21963 * config/h8300/h8300-protos.h: Add a prototype for
21964 compute_logical_op_length.
21965 * config/h8300/h8300.c (compute_logical_op_length): New.
21966 * config/h8300/h8300.md (anonymous logical patterns): Use
21967 compute_logical_op_length for length.
21968
0e98f924
AH
219692002-02-26 Aldy Hernandez <aldyh@redhat.com>
21970
831c4e87
KC
21971 * dwarf2out.c (modified_type_die): Do not call type_main_variant
21972 for vectors.
21973 (gen_type_die): Same.
0e98f924 21974
831c4e87 21975 * attribs.c (handle_vector_size_attribute): Set debug information.
0e98f924 21976
a50cfd52
DE
219772002-02-26 Daniel Egger <degger@fhm.edu>
21978
831c4e87
KC
21979 * config/rs6000/rs6000.md: Swap define_insn attributes to
21980 fix incorrect generation of merge high instructions instead
21981 of merge low.
a50cfd52 21982
b7997284
AH
219832002-02-26 Aldy Hernandez <aldyh@redhat.com>
21984
831c4e87
KC
21985 * c-typeck.c (really_start_incremental_init): Use
21986 bitsize_zero_node for vectors.
b7997284 21987
376aec5d
AH
219882002-02-26 Aldy Hernandez <aldyh@redhat.com>
21989
831c4e87
KC
21990 * config/rs6000/rs6000.md (get_vrsave_internal): Fix typo.
21991 ("*set_vrsave_internal"): Same.
376aec5d 21992
3b40e71b
RH
219932002-02-25 Richard Henderson <rth@redhat.com>
21994
21995 * expr.c (expand_expr) [MULT_EXPR]: Do not apply distributive law
21996 in EXPAND_SUM case. Use host_integerp/tree_low_cst.
21997
232b8f52
JJ
219982002-02-25 Jakub Jelinek <jakub@redhat.com>
21999
22000 PR target/5755
22001 * config/i386/i386.c (ix86_return_pops_args): Only pop
22002 fake structure return argument if it was passed on the stack.
22003
67282790
JM
220042002-02-25 Jason Merrill <jason@redhat.com>
22005
22006 * attribs.c (decl_attributes): Also re-layout PARM_DECL and
22007 RESULT_DECL.
22008
5c181756
AO
220092002-02-25 Alexandre Oliva <aoliva@redhat.com>
22010
22011 * gcc.c (init_gcc_specs): Get -shared-libgcc along with -shared to
22012 link with shared_name only.
22013 * doc/invoke.texi (Link Options): Document new behavior.
22014
6786d201
AH
220152002-02-25 Aldy Hernandez <aldyh@redhat.com>
22016
831c4e87 22017 * c-typeck.c (push_init_level): Handle vectors.
6786d201 22018
7d6040e8
AO
220192002-02-25 Alexandre Oliva <aoliva@redhat.com>
22020
22021 * config/sparc/sparc.c (const64_high_operand): Zero-extend
22022 operands of SPARC_SETHI_P.
22023 (input_operand): Likewise.
22024 (sparc_emit_set_const32): Likewise.
22025 * config/sparc/sparc.h (SPARC_SETHI_P): Disregard TARGET_ARCH64.
22026 (SPARC_SETHI32_P): Zero-extend operand from 32 bits.
22027 (CONST_OK_FOR_LETTER_P): Use SETHI32 for `K'. Add `N' as SETHI.
22028 * config/sparc/sparc.md (movdi_insn_sp64_novis): Use `N'.
22029 (movdi_insn_sp64_vis): Likewise.
22030 (movdi split, movdf split): Use SETHI32.
22031 * doc/md.texi: Document SPARC constraints L, M and N.
22032
b188f760
AH
220332002-02-25 Aldy Hernandez <aldyh@redhat.com>
22034
831c4e87
KC
22035 * config/rs6000/rs6000.md ("get_vrsave_internal"): New.
22036 ("*set_vrsave_internal"): use mfspr for Darwin.
b188f760 22037
831c4e87
KC
22038 * config/rs6000/rs6000.c (rs6000_emit_prologue): Call
22039 gen_get_vrsave_internal.
b188f760 22040
8041889f
RK
22041Sun Feb 24 16:38:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
22042
22043 * optabs.c (widen_operand): Properly handle CONST_INT for NO_EXTEND.
22044
a47ed310
NB
220452002-02-24 Neil Booth <neil@daikokuya.demon.co.uk>
22046
22047 * cpplex.c (cpp_interpret_charconst): Get signedness or
22048 otherwise of wide character constants correct.
22049 * cppexp.c (lex): Get signedness of wide charconsts correct.
22050
cb8f73be
RK
22051Sun Feb 24 07:41:31 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
22052
22053 * optabs.c (widen_operand): Only call convert_modes for
22054 promoted SUBREG if signedness matches.
22055 * config/alpha/alpha.md (*addsi_se2, *subsi_se2): New patterns.
22056
2450e0b8
NB
220572002-02-23 Neil Booth <neil@daikokuya.demon.co.uk>
22058
22059 * cpplib.c (glue_header_name): Use local buffer to build up
22060 header name.
22061
70b6aaed
NB
220622002-02-23 Neil Booth <neil@daikokuya.demon.co.uk>
22063
22064 * doc/cpp.texi, doc/invoke.texi: Update documentation for -MM.
22065
6be580c7
KH
220662002-02-23 Kazu Hirata <kazu@hxi.com>
22067
22068 * config/h8300/h8300.c (output_simode_bld): Handle H8/300 and
22069 H8/300[HS] separately.
22070 * config/h8300/h8300.md: Remove the early clobber constraint
22071 from bit field patterns.
22072
35dad9f1
KH
220732002-02-23 Kazu Hirata <kazu@hxi.com>
22074
22075 * config/h8300/h8300.md (mulqihi3): Tighten predicates to
22076 register_operand.
22077 (mulhisi3): Likewise.
22078 (umulqisi3): Likewise.
22079 (umulhisi3): Likewise.
22080
ab8e2228
NB
220812002-02-23 Neil Booth <neil@daikokuya.demon.co.uk>
22082
22083 * cppinit.c (output_deps): Correct test for stdout output.
22084 (init_dependency_output): Cure warning.
22085
ac6f8a15
RK
22086Sat Feb 23 08:42:47 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
22087
22088 * expr.c (store_expr): When converting expression to promoted
22089 equivalent type, allow using SUBREG_REG of TARGET as the target
22090 of the expansion of EXP.
22091 * loop.c (basic_induction_var, case SUBREG): Always look inside.
22092 * config/alpha/alpha.c (rtx_equiv_function_matters): Delete decl.
22093 (alpha_emit_set_const): Handle SImode when can't make new pseudos.
22094 (alpha_emit_set_const_1, alpha_sa_mask): Use no_new_pseudos.
22095 * config/alpha/alpha.md (addsi3, subsi3): Don't use if optimizing.
22096
f282ffb3
JM
220972002-02-23 Joseph S. Myers <jsm28@cam.ac.uk>
22098
22099 * doc/contribute.texi, doc/extend.texi, doc/install.texi,
22100 doc/invoke.texi, doc/md.texi, doc/passes.texi, doc/rtl.texi,
22101 doc/standards.texi, doc/tm.texi: Remove trailing whitespace.
22102
44c5edc0
JJ
221032002-02-23 Jakub Jelinek <jakub@redhat.com>
22104
22105 PR optimization/5747
22106 * loop.c (scan_loop): Update reg info if move_movables created new
22107 pseudos.
22108
f98e43c0
DE
221092002-02-23 David Edelsohn <edelsohn@gnu.org>
22110
22111 * gcc.c (init_gcc_spec): Revert last change.
22112
e72247f4
DE
221132002-02-23 David Edelsohn <edelsohn@gnu.org>
22114
22115 * config/rs6000/rs6000.md (load_toc_aix_{si,di}): Use
22116 gpc_reg_operand constraint.
22117
221182002-02-23 Alan Modra <amodra@bigpond.net.au>
22119
22120 * config/rs6000/rs6000.c (num_insns_constant): Fix formatting.
22121 Simplify comparison of `low'.
22122 (add_operand): Fix formatting.
22123 (non_add_cint_operand): Use CONST_OK_FOR_LETTER_P.
57deb3a1 22124 (mask_operand): Disallow mask to wrap in 64-bit mode.
e72247f4
DE
22125 (rs6000_stack_info): Remove redundant test setting push_p.
22126 (output_toc): Fix formatting.
22127 * config/rs6000/rs6000.md (boolsi3, boolcsi3 splitters): Use
22128 cc_reg_not_cr0_operand constraint.
22129 (booldi3, boolcdi3 splitters): Same.
22130
a5c30531
AH
221312002-02-23 Aldy Hernandez <aldyh@redhat.com>
22132
831c4e87 22133 * config/rs6000/altivec.h: Add extra level of parentheses on casts.
a5c30531 22134
43710f9f
DE
221352002-02-22 David Edelsohn <edelsohn@gnu.org>
22136
22137 * gcc.c (init_gcc_spec): Do not link with static libgcc.a if
22138 gcc invoked with -shared-libgcc.
22139
3256b817
JJ
221402002-02-22 Jakub Jelinek <jakub@redhat.com>
22141
22142 PR c++/5748
22143 * stmt.c (expand_anon_union_decl): Set TREE_USED on the anon union
22144 decl if any of elements was TREE_USED.
22145
9e0625a3
AO
221462002-02-22 Alexandre Oliva <aoliva@redhat.com>
22147
22148 * config/sparc/sol2.h: Don't include sys/mman.h.
22149 * config/sparc/sparc.c (arith_operand): Use SMALL_INT32.
22150 (arith_4096_operand): Don't throw high bits away.
22151 (const64_operand): Take sign extension of CONST_INTs into account.
22152 (const64_high_operand, sparc_emit_set_const32): Likewise.
22153 (GEN_HIGHINT64): Likewise.
22154 (sparc_emit_set_const64_quick1): Likewise.
22155 (const64_is_2insns): Likewise.
22156 (print_operand): Use trunc_int_for_mode for sign extension.
22157 * config/sparc/sparc.h (SMALL_INT32): Likewise.
22158 * config/sparc/sparc.md (movqi): Sign-extend CONST_DOUBLE
22159 chars. Assume CONST_INT is already properly sign-extended.
22160 (movdi split): Sign-extend each SImode part.
22161 (andsi3 split): Don't mask high bits off, so that result
22162 remains properly sign-extend.
22163 (iorsi3 split): Likewise.
22164 (xorsi3 split): Likewise.
22165
54fec3d5
RS
221662002-02-22 Richard Sandiford <rsandifo@redhat.com>
22167
22168 * fold-const.c (fold): Fix typo in comments.
22169
667ada9b
DN
221702002-02-21 Diego Novillo <dnovillo@redhat.com>
22171
22172 * Makefile.in (langhooks.o): Update dependencies.
22173
29ac78d5
DN
221742002-02-21 Diego Novillo <dnovillo@redhat.com>
22175
22176 * langhooks.c: Include flags.h.
22177
6aa77e6c
AH
221782002-02-21 Aldy Hernandez <aldyh@redhat.com>
22179
22180 * testsuite/gcc.dg/attr-alwaysinline.c: New.
22181
22182 * c-common.c (c_common_post_options): Set inline trees by
22183 default.
22184
22185 * doc/extend.texi (Function Attributes): Document always_inline
22186 attribute.
22187 Update documentation about inlining when not optimizing.
22188
22189 * cp/decl.c (duplicate_decls): Merge always_inline attribute.
22190
22191 * cp/tree.c (cp_cannot_inline_tree_fn): Do not inline at -O0
22192 unless DECL_ALWAYS_INLINE.
22193
22194 * c-objc-common.c (c_cannot_inline_tree_fn): Do not inline at -O0
22195 unless DECL_ALWAYS_INLINE.
22196 (c_disregard_inline_limits): Disregard if always_inline set.
22197
22198 * langhooks.c (lhd_tree_inlining_disregard_inline_limits):
22199 Disregard if always_inline set.
22200 (lhd_tree_inlining_cannot_inline_tree_fn): Do not inline at -O0
22201 unless DECL_ALWAYS_INLINE.
22202
22203 * attribs.c (handle_always_inline_attribute): New.
22204 (c_common_attribute_table): Add always_inline.
22205
22206 * config/rs6000/altivec.h: Add prototypes for builtins
22207 requiring the always_inline attribute.
22208
c410d49e
EC
222092002-02-21 Eric Christopher <echristo@redhat.com>
22210
22211 * expmed.c (store_bit_field): Try to simplify the subreg
22212 before generating a new one when when the mode size of
22213 value is less than maxmode.
22214
e3c8ea67
RH
222152002-02-21 Richard Henderson <rth@redhat.com>
22216
22217 * emit-rtl.c (offset_address): Use simplify_gen_binary rather
22218 than gen_rtx_PLUS to form the sum.
22219 * explow.c (force_reg): Rearrange to not allocate new pseudo
22220 when force_operand returns a register.
22221 * expr.c (expand_assignment): Allow offset_rtx expansion to
22222 return a sum. Do not force addresses into registers.
22223 (expand_expr): Likewise.
22224 * simplify-rtx.c (simplify_gen_binary): Use simplify_plus_minus
22225 to canonicalize arithmetic that didn't simpify.
22226 (simplify_plus_minus): New argument force; update
22227 all callers. Don't split CONST unless we can do something with it,
22228 and wouldn't lose the constness of the operands.
22229
22230 * config/i386/i386.c (legitimize_pic_address): Recognize UNSPECs
22231 that we generated earlier.
22232
c1a046e5
TT
222332002-02-21 Tom Tromey <tromey@redhat.com>
22234
22235 * dwarf2out.c (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
22236 (output_line_info): Use constant `1', with a long explanatory
22237 comment.
22238 * system.h (DWARF_LINE_MIN_INSTR_LENGTH): Poison.
22239
31fbaad4
R
22240Thu Feb 21 22:43:44 2002 J"orn Rennecke <joern.rennecke@superh.com>
22241
22242 * jump.c (redirect_jump): If old label has no UID, don't try to
22243 delete it.
22244
a7f52356
R
22245Thu Feb 21 21:17:21 2002 J"orn Rennecke <joern.rennecke@superh.com>
22246
22247 * sh.md (insv): Provide byte offsets for gen_rtx_SUBREG.
22248 If input is constant, do shifts at compile time.
22249
924fcc4e
JM
222502002-02-21 Joseph S. Myers <jsm28@cam.ac.uk>
22251
22252 * doc/extend.texi: Fix some more overfull hboxes.
22253
e5a20888
JJ
222542002-02-21 Jakub Jelinek <jakub@redhat.com>
22255
22256 PR optimization/4994
22257 * config/i386/i386.md (movsi_1, movsf_1): Support MMX -> MMX
22258 register moves.
22259
222602002-02-21 Jakub Jelinek <jakub@redhat.com>
22273300
JJ
22261
22262 PR c++/4574
22263 * expr.h (expand_and): Add mode argument.
22264 * expmed.c (expand_and): Add mode argument.
22265 (expand_mult_highpart_adjust, emit_store_flag): Adjust callers.
22266 * expr.c (store_field, expand_expr, do_store_flag): Likewise.
22267 * except.c (expand_builtin_extract_return_addr): Likewise.
22268 * config/alpha/alpha.c (alpha_initialize_trampoline): Likewise.
22269 * config/sparc/sparc.c (sparc_initialize_trampoline): Likewise.
22270 * config/c4x/c4x.h (INITIALIZE_TRAMPOLINE): Likewise.
22271 Use GEN_INT (x) instead of gen_rtx (CONST_INT, VOIDmode, x).
22272 * config/c4x/c4x.md: Use GEN_INT (x) instead of
22273 gen_rtx (CONST_INT, VOIDmode, x).
22274
7133e992
JJ
222752002-02-21 Jakub Jelinek <jakub@redhat.com>
22276
22277 PR c/4697:
22278 * stmt.c (warn_if_unused_value): Move side effects test once more.
22279
e2ec05a6
TG
222802002-02-20 Torbjorn Granlund <tege@swox.com>
22281
22282 * config/avr/avr.md: Add more patterns for mized-mode add and subtract
831c4e87 22283 (addsi3_zero_extend, subhi3_zero_extend1, subsi3_zero_extend).
e2ec05a6 22284
9dd791c8
AO
22285Thu Feb 21 16:20:46 2002 Alexandre Oliva <aoliva@redhat.com>
22286
22287 * rtlanal.c (replace_rtx): Don't make a CONST_INT the operand of
22288 SUBREG or ZERO_EXTEND.
22289
7ab56274
R
22290Thu Feb 21 15:35:46 2002 J"orn Rennecke <joern.rennecke@superh.com>
22291
22292 * sh.h (current_function_anonymous_args): Remove.
22293 (SETUP_INCOMING_VARARGS): Don't set it - just check that one
22294 of current_function_varargs and current_function_stdarg is set.
22295 * sh.c (sh_expand_prologue): Check current_function_varargs /
22296 current_function_stdarg / TARGET_SH5 instead of
22297 current_function_anonymous_args.
22298
22299 * sh64.h (TARGET_VERSION): Define.
22300
b1765bde
DE
223012002-02-20 David Edelsohn <edelsohn@gnu.org>
22302
22303 * config/rs6000/rs6000.h (EPILOGUE_USES): Conditionalize
22304 VRSAVE_REGNO on TARGET_ALTIVEC.
22305
223062002-02-20 Alan Modra <amodra@bigpond.net.au>
22307
22308 * config/rs6000/rs6000.c (includes_lshift_p): Mask irrelevant
22309 bits of SImode const_int.
22310 (includes_rshift_p): Likewise.
22311 (print_operand): Call mask_operand and mask64_operand with correct
c410d49e 22312 mode.
b1765bde
DE
22313 (rs6000_output_function_epilogue): Pad traceback table to word.
22314 * config/rs6000/rs6000.h (MASK_64BIT): Correct comment.
22315 (EXTRA_CONSTRAINT, 'S' and 'T'): Call mask_operand and
22316 mask64_operand with correct mode.
b1765bde
DE
22317 (FUNCTION_ARG_REGNO_P): Correct parentheses.
22318
149d6f9e
JJ
223192002-02-20 Jakub Jelinek <jakub@redhat.com>
22320
22321 PR debug/4461
22322 * varasm.c (get_pool_constant_mark): New.
22323 * rtl.h (get_pool_constant_mark): Add prototype.
22324 * dwarf2out.c (mem_loc_descriptor): A pool constant cannot
22325 be represented if it has not been output.
22326
4161da12
AO
223272002-02-20 Alexandre Oliva <aoliva@redhat.com>
22328
22329 * combine.c (do_SUBST): Sanity check substitutions of
22330 CONST_INTs, and reject them in SUBREGs and ZERO_EXTENDs.
22331 (subst): Simplify SUBREG or ZERO_EXTEND instead of SUBSTing a
22332 CONST_INT into its operand.
22333 (known_cond): Likewise, for ZERO_EXTEND.
22334 * simplify-rtx.c (simplify_unary_operation): Fix condition to
22335 allow for simplification of wide modes. Reject CONST_INTs in
22336 ZERO_EXTEND when their actual mode is not given.
22337
3704ef74
AO
223382002-02-20 Alexandre Oliva <aoliva@redhat.com>
22339
22340 * c-decl.c (pushdecl): If no global declaration is found for an
22341 extern declaration in block scope, try a limbo one.
22342
7552da58
JJ
223432002-02-20 Jakub Jelinek <jakub@redhat.com>
22344
22345 PR c++/4401
22346 * c-common.c (pointer_int_sum): Moved from...
22347 * c-typeck.c (pointer_int_sum): ...here.
22348 * c-common.h (pointer_int_sum): Add prototype.
22349
00fae85d
JJ
223502002-02-20 Jakub Jelinek <jakub@redhat.com>
22351
22352 PR c++/5713
22353 * c-decl.c (duplicate_decls): Return 0 if issued error about
22354 redeclaration.
22355
4636c87e
JJ
223562002-02-20 Roger Sayle <roger@eyesopen.com>
22357 Jakub Jelinek <jakub@redhat.com>
22358
22359 PR c/4389
22360 * tree.c (host_integerp): Ensure that the constant integer is
22361 representable in a HOST_WIDE_INT or an unsigned HOST_WIDE_INT
22362 when pos is zero or non-zero respectively. Clarify comment.
22363 * c-format.c (check_format_info_recurse): Fix host_integerp
22364 usage; the pos argument should be zero when assigning to a
22365 signed HOST_WIDE_INT.
22366
59bef189
RH
223672002-02-20 Richard Henderson <rth@redhat.com>
22368
22369 * config/i386/i386.c (ix86_expand_vector_move): Use the mode
22370 of the operand, rather than assuming TImode.
22371 (ix86_expand_binop_builtin): Cope with commutative patterns
22372 using nonimmediate_operand for both operands.
22373 (ix86_expand_timode_binop_builtin): Likewise.
22374 (ix86_expand_store_builtin): Validate operand 1.
22375 (ix86_expand_unop1_builtin): Likewise.
22376
9338ffe6 223772002-02-20 Philip Blundell <philb@gnu.org>
c410d49e 22378
9338ffe6
PB
22379 PR 5705
22380 * config/arm/arm.h (HARD_REGNO_RENAME_OK): New macro.
22381
f322b423
RH
223822002-02-20 Richard Henderson <rth@redhat.com>
22383
22384 PR c/5615
22385 * expr.h (ARGS_SIZE_TREE): Convert size.var to ssizetype.
22386
d94084f7
TT
223872002-02-20 Tom Tromey <tromey@redhat.com>
22388
22389 * config/fr30/fr30.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
22390 * config/sh/sh.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
22391 * config/pj/pj.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
22392 * config/cris/cris.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
22393 * dwarf2out.c (DWARF_LINE_MIN_INSTR_LENGTH): Define
22394 unconditionally.
22395
37fa124a
AM
22396Wed Feb 20 00:03:25 EST 2002 Alan Matsuoka <alanm@redhat.com>
22397
22398 * config/rs6000/rs6000.h (LEGITIMATE_OFFSET_ADDRESS_P): Look
22399 for (const_int 0) in X not just INTVAL.
22400
6e5bb5ad
JM
224012002-02-20 Joseph S. Myers <jsm28@cam.ac.uk>
22402
22403 * doc/extend.texi: Avoid or reduce overfull hboxes.
22404
420e7dfa
DN
224052002-02-20 Diego Novillo <dnovillo@redhat.com>
22406
22407 * expmed.c (store_bit_field): Do not store bit fields using SUBREG
22408 operations if the field does not start at a mode boundary.
22409
1b7a2af6
JS
224102001-02-20 Joel Sherrill <joel@OARcorp.com>
22411
22412 * config/a29k/rtems.h, config/arm/rtems-elf.h, config/h8300/rtems.h,
22413 config/mips/rtems.h: Use new style of -Asystem= rather than -Asystem().
22414 Also done for -Acpu and -Amachine.
22415
56cd5b95
NB
224162002-02-20 Neil Booth <neil@daikokuya.demon.co.uk>
22417
22418 * cppinit.c (init_dependency_output): Take deps output file
22419 from -o if none given with -MF. Suppress normal output.
c410d49e 22420 * gcc.c (cpp_unique_options): Have -M and -MM imply -E.
56cd5b95
NB
22421 * doc/cpp.texi, doc/invoke.texi: Update.
22422
042cdf71
ZW
224232002-02-19 Zack Weinberg <zack@codesourcery.com>
22424
22425 * toplev.c (output_quoted_string): Write unprintable
22426 characters with octal escapes.
22427
c1f11548
DE
224282002-02-19 David Edelsohn <edelsohn@gnu.org>
22429
22430 * config/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Set
22431 really_call_used[VRSAVE_REGNO] if not Altivec.
22432
224332002-02-19 Alan Modra <amodra@bigpond.net.au>
c410d49e 22434
c1f11548
DE
22435 * config/rs6000/rs6000.c (u_short_cint_operand): Mask op with
22436 MODE_MASK.
22437 (constant_pool_expr_1): Fix formatting.
22438 (rs6000_legitimize_reload_address): Likewise.
22439
c964d90e
RK
22440Tue Feb 19 20:13:57 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
22441
22442 * config/sparc/sparc.md (nonlocal_goto): Use hard_frame_pointer_rtx
22443 now that we have one.
22444
ae34ac46
ZW
224452002-02-19 Zack Weinberg <zack@codesourcery.com>
22446
22447 * tree.h (struct tree_common): Remove aux. Add unused_0 at
22448 end of first block of bitfields (which was only seven bits);
22449 rename dummy to unused_1; remove comment which is no longer true.
22450
293c28ee
GS
224512002-02-19 Gaute B Strokkenes <gs234@cam.ac.uk>
22452
22453 * doc/c-tree.texi (Classes, TYPE_BINFO): Fix typo.
22454
7b8781c8
PB
224552002-02-19 Philip Blundell <pb@nexus.co.uk>
22456
0cb6c58d 22457 PR 5399
7b8781c8
PB
22458 * config/arm/arm.h (THUMB_LEGITIMATE_CONSTANT_P): Accept anything
22459 if generating PIC.
22460
22461 PR 5054
22462 * config/arm/arm.md (call_insn) [TARGET_THUMB]: Use
22463 arm_is_longcall_p rather than inspecting call-type cookie
22464 directly.
22465 (call_value_insn) [TARGET_THUMB]: Likewise.
22466
5c464583
GS
224672002-02-19 Graham Stott <grahams@redhat.com>
22468
22469 * config/i386/i386.c (ix86_expand_builtin): Fix typo.
22470
71c061e6
DE
224712002-02-19 David Edelsohn <edelsohn@gnu.org>
22472
22473 * config/rs6000/linux64.h (LINK_OS_LINUX_SPEC): Look in /lib64.
22474 ({STARTFILE,ENDFILE}_LINUX_SPEC): Define.
6d1def5c 22475 (FP_SAVE_INLINE): Delete.
71c061e6
DE
22476
22477 * config/rs6000/sysv4.h (ENDFILE_SPEC): Add crtsaveres.o.
22478 * config/rs6000/eabi.asm: Remove ABI save restore routines.
22479 * config/rs6000/t-ppccomm: Build crtsavres.o.
22480 * config/rs6000/crtsavres.asm: New file.
22481
3a7731fd
PB
224822002-02-19 Philip Blundell <philb@gnu.org>
22483
22484 * config/arm/arm.c (use_return_insn): Don't reject interrupt
22485 functions.
22486 (arm_compute_save_reg_mask): Save LR for interrupt functions too.
22487 (output_return_instruction): Allow interrupt functions to return with
22488 ldmfd sp!, {... pc}^. Use LDR to restore any single register.
22489 (arm_expand_prologue): Subtract 4 before stacking LR in an
22490 interrupt function.
22491
14f583b8
PB
224922002-02-19 Philip Blundell <pb@nexus.co.uk>
22493
22494 * config/arm/arm.c (arm_encode_call_attribute): Operate on any
22495 decl, not just FUNCTION_DECL.
22496 (legitimize_pic_address): Handle local SYMBOL_REF like LABEL_REF.
22497 (arm_assemble_integer): Likewise.
22498 * config/arm/arm.h (ARM_ENCODE_CALL_TYPE): Allow any decl to be
22499 marked local.
c410d49e 22500
4cb7482c
MG
225012002-02-19 matthew green <mrg@eterna.com.au>
22502
22503 * config.gcc (sparc-*-netbsdelf*): Enable target.
22504 (sparc64-*-netbsd*): New target.
22505 * config/sparc/netbsd-elf.h: New file.
22506 * config/sparc/t-netbsd64: New file.
22507
2df3a718
GS
225082002-02-19 Gaute B Strokkenes <gs234@cam.ac.uk>
22509
22510 * doc/rtl.texi (Flags, MEM_SCALAR_P): Fix typo.
22511
77f6c1eb
RS
225122002-02-19 Ryan T. Sammartino <ryants@shaw.ca>
22513
22514 * doc/invoke.texi: explicitly list the style guidelines that
22515 -Weffc++ checks for.
22516
fd973d56
JH
22517Tue Feb 19 12:37:23 CET 2002 Jan Hubicka <jh@suse.cz>
22518
22519 * regmove.c (regmove_optimize): Avoid increasing of register pressure.
22520
30518e45
NB
225212002-02-19 Neil Booth <neil@daikokuya.demon.co.uk>
22522
22523 PR other/5718
22524 * gcc.c (cpp_unique_options): Treat -o as indicating object file
22525 only if not -E. If -E, pass -o through to the preprocessor.
22526
39ea5704
KH
225272002-02-19 Kazu Hirata <kazu@hxi.com>
22528
22529 * config/h8300/h8300.h (REGNO_REG_CLASS): Replace a literal
22530 register number with an appropriate macro.
22531
7355dba7
BM
225322002-02-19 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
22533
22534 * doc/rtl.texi (Constants): Close @code tag.
22535
91c8aa9e
AH
225362002-02-19 Aldy Hernandez <aldyh@redhat.com>
22537
22538 * config/i386/i386.md ("mmx_uavgv8qi3"): Use const_vector.
22539 ("mmx_uavgv4hi3"): Same.
22540 ("pmulhrwv4hi3"): Same.
22541
22542 * tree-inline.c (walk_tree): Handle vectors.
22543
22544 * c-common.c (constant_expression_warning): Handle vectors.
22545 (overflow_warning): Same.
22546
22547 * sched-deps.c (sched_analyze_2): Handle vectors.
22548
22549 * rtlanal.c (rtx_unstable_p): Handle vectors.
22550 (rtx_varies_p): Same.
22551 (count_occurrences): Same.
22552 (regs_set_between_p): Same.
22553 (modified_between_p): Same.
22554 (modified_in_p): Same.
22555 (volatile_insn_p): Same.
22556 (volatile_refs_p): Same.
22557 (side_effects_p): Same.
22558 (may_trap_p): Same.
22559 (inequality_comparisons_p): Same.
22560 (replace_regs): Same.
22561 (computed_jump_p_1): Same.
22562
22563 * rtl.c (DEF_MACHMODE): Change all definitions to accept 8th
22564 argument.
22565 (inner_mode_array): New.
22566 (copy_rtx): Handle vectors.
22567 (copy_most_rtx): Same.
22568 (rtx_equal_p): Same.
22569 (get_mode_alignment): Adjust for vectors.
22570
22571 * resource.c (mark_referenced_resources): Handle vectors.
22572 (mark_set_resources): Same.
22573
22574 * reload1.c (eliminate_regs): Handle vectors.
22575 (elimination_effects): Same.
22576 (scan_paradoxical_subregs): Same.
22577
22578 * reload.c (subst_reg_equivs): Handle vectors.
22579
22580 * regrename.c (scan_rtx): Handle vectors.
22581
22582 * regclass.c (reg_scan_mark_refs): Handle vectors.
22583
22584 * recog.c (find_single_use_1): Handle vectors.
22585
22586 * local-alloc.c (equiv_init_varies_p): Handle vectors.
22587 (contains_replace_regs): Same.
22588 (memref_referenced_p): Same.
22589
22590 * integrate.c (copy_rtx_and_substitute): Handle vectors.
22591 (subst_constants): Same.
22592
22593 * genattrtab.c (attr_copy_rtx): Handle vectors.
22594 (encode_units_mask): Same.
22595 (clear_struct_flag): Same.
22596 (count_sub_rtxs): Same.
22597
22598 * gcse.c (want_to_gcse_p): Handle vectors.
22599 (oprs_unchanged_p): Same.
22600 (hash_expr_1): Same.
22601 (oprs_not_set_p): Same.
22602 (expr_killed_p): Same.
22603 (compute_transp): Same.
22604 (store_ops_ok): Same.
22605
22606 * function.c (purge_addressof_1): Do not allow paradoxical subregs
22607 of vectors.
22608 (fixup_var_refs_1): Same.
22609 (instantiate_virtual_regs_1): Same.
22610
22611 * fold-const.c (operand_equal_p): Handle vectors.
22612 (fold): Same.
22613 (rtl_expr_nonnegative_p): Same.
22614
22615 * flow.c (mark_used_regs): Handle vectors.
22616
22617 * df.c (df_uses_record): Handle vectors.
22618
22619 * cselib.c (cselib_subst_to_values): Handle vectors.
22620 (cselib_mem_conflict_p): Same.
22621 (hash_rtx): Same.
22622
22623 * cse.c (canon_reg): Handle vectors.
22624 (fold_rt): Same.
22625 (cse_process_notes): Same.
22626 (count_reg_usage): Same.
22627 (canon_hash): Same.
22628
22629 * alias.c (nonlocal_mentioned_p): Add case for CONST_VECTOR.
22630
22631 * combine.c (mark_used_regs_combine): Add case for CONST_VECTOR.
22632
22633 * emit-rtl.c (init_emit_once): Generate const0_rtx for vectors.
22634 (gen_rtx): Handle CONST_VECTOR.
22635 (gen_const_vector_0): New.
22636 (copy_rtx_if_shared): CONST_VECTORs can be shared.
22637 (reset_used_flags): Same.
22638 (copy_insn_1): Same.
22639 (initializer_constant_valid_p): Handle VECTOR_CST.
22640
22641 * doc/c-tree.texi (Expression trees): Document VECTOR_CST.
22642
22643 * doc/rtl.texi (Constants): Document const_vector.
22644 (CONST0_RTX): Update for vectors.
22645 (RTL sharing): Same.
22646
22647 * print-tree.c (print_node): Add case for VECTOR_CST.
22648
22649 * tree.h (TREE_VECTOR_CST_ELTS): New.
22650 (struct tree_vector): New.
22651 (union tree_node): Add vector node.
22652 (build_vector): Add prototype.
22653
22654 * tree.def (VECTOR_CST): New.
22655
22656 * tree.c (build_vector): New.
22657
22658 * expmed.c (make_tree): Handle CONST_VECTOR.
22659
22660 * rtl.h (CONSTANT_P): CONST_VECTORs are constants too.
22661 (CONST_VECTOR_ELT): New.
22662 (CONST_VECTOR_NUNITS): New.
22663
22664 * machmode.h (GET_MODE_INNER): New.
22665 (DEF_MACHMODE): Accept 8th arg.
22666
22667 * machmode.def: Add 8th argument for vector inner mode.
22668 Add inner vector modes for vectors.
22669
22670 * rtl.def (VEC_CONST): Remove.
22671 (CONST_VECTOR): New.
22672
22673 * expr.c (clear_storage): Allow vectors.
22674 (is_zeros_p): Handle VECTOR_CST.
22675
22676 * varasm.c (output_constant_pool): Handle vectors.
22677 (rtx_const): Add veclo and vechi fields.
22678 (kind): Add RTX_VECTOR.
22679 (decode_rtx_const): Add case for vector.
22680
22681 * config/rs6000/rs6000-protos.h: Add zero_constant.
c410d49e 22682
91c8aa9e
AH
22683 * config/rs6000/rs6000.c (rs6000_emit_move): Handle vector
22684 constants. Force easy vector constants into memory.
22685 (easy_vector_constant): New.
22686 (emit_easy_vector_constant): New.
22687 (rs6000_legitimize_reload_address): Do not generate bad reloads on
22688 darwin.
22689
22690 * config/rs6000/rs6000.md ("altivec_lvx"): Reflect what
22691 instruction does.
22692 ("altivec_lvxl"): Same.
22693 (altivec_lvebx): Same.
22694 (altivec_lvehx): Same.
22695 (altivec_lvewx): Same.
22696 ("*movv4si_const0"): New.
22697 ("*movv4sf_const0"): New.
22698 ("*movv8hi_const0"): New.
22699 ("*movv16qi_const0"): New.
22700
d4d6d0ce
KH
227012002-02-18 Kazu Hirata <kazu@hxi.com>
22702
22703 * config/h8300/h8300.c (notice_update_cc): Use
22704 cc_status.value2.
22705
4915d3aa
KH
227062002-02-18 Kazu Hirata <kazu@hxi.com>
22707
22708 * config/h8300/h8300.md (divmod patterns): Change the
22709 constraints for operands[1] to register_operand.
22710
82be00ee
KH
227112002-02-18 Kazu Hirata <kazu@hxi.com>
22712
22713 * config/h8300/h8300-protos.h: Remove the prototype for
22714 p_operand.
22715 * config/h8300/h8300.c (p_operand): Remove.
22716 * config/h8300/h8300.md: Replace p_operand with
22717 const_int_operand.
22718
1768c26f
PB
227192002-02-18 Philip Blundell <pb@nexus.co.uk>
22720
22721 * config/arm/arm.c (arm_compute_save_reg_mask): Fix typo in
22722 comment.
22723 (output_return_instruction): Allow use of LDR to unstack
22724 return addresss even for interrupt handlers or when
22725 interworking. If compiling for ARMv5, use interworking-safe
22726 return instructions by default. Remove duplicated code and
22727 lengthy "strcat" sequences.
22728
ccd84f51
FS
227292002-02-18 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
22730
22731 * config/rs6000/sysv4.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
22732 (LINK_EH_SPEC): Define.
22733 * config/rs6000/t-ppccomm (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
22734
2c153108
UW
227352002-02-18 Ulrich Weigand <uweigand@de.ibm.com>
22736
22737 * config/s390/s390.c (s390_emit_prologue): Do not set the
22738 frame_related flag for call-clobbered registers.
22739
e95d6b23
JH
22740Mon Feb 18 15:07:35 CET 2002 Jan Hubicka <jh@suse.cz>
22741
22742 * i386.c (classify_argument): Properly classify SSE/MMX modes and VOIDmode.
22743 (construct_container): Fix handling of SSE operands.
22744 (ix86_expand_builtin): Fix handling of 64bit pointers.
22745 (mmx_maskmovq_rex): New pattern.
22746
c43a12b5
JH
22747Mon Feb 18 11:55:55 CET 2002 Jan Hubicka <jh@suse.cz>
22748
22749 * regrename.c (kill_set_value): Handle subregs properly.
22750
aeb85a15
DB
227512002-02-18 David Billinghurst <David.Billinghurst@riotinto.com>
22752
22753 * objc/objc-act.c (handle_impent): Remove leading '*'
c410d49e 22754 from objc_class_name.
aeb85a15 22755
a615ca3e
RH
227562002-02-17 Richard Henderson <rth@redhat.com>
22757
22758 * config/alpha/alpha.c (some_small_symbolic_operand,
22759 some_small_symbolic_operand_1, split_small_symbolic_operand,
22760 split_small_symbolic_operand_1): Rename from *symbolic_mem_op*.
22761 Handle small SYMBOL_REFs anywhere, not just inside memories.
22762 * config/alpha/alpha-protos.h: Update.
22763 * config/alpha/alpha.h (PREDICATE_CODES): Update.
22764 * config/alpha/alpha.md (small symbolic operand splitter): Update.
22765
ddb28441
RM
227662002-02-17 Roland McGrath <roland@frob.com>
22767
22768 * config.gcc (powerpc-*-gnu-gnualtivec*,
22769 powerpc-*-gnu*, powerpc64-*-gnu*): New configurations.
22770 * config/rs6000/gnu.h: New file.
22771 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS):
22772 Grok "gnu" in rs6000_abi_name.
22773 (ASM_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC,
22774 CPP_ENDIAN_SPEC, CPP_SPEC, STARTFILE_SPEC, LIB_SPEC, ENDFILE_SPEC):
22775 Grok -mcall-gnu analogous to -mcall-linux et al.
22776 (LIB_GNU_SPEC, STARTFILE_GNU_SPEC, ENDFILE_GNU_SPEC,
22777 LINK_START_GNU_SPEC, LINK_OS_GNU_SPEC, CPP_OS_GNU_SPEC): New macros.
22778 (SUBTARGET_EXTRA_SPECS): Add *_os_gnu specs using them.
22779
f6f8ada3
JJ
227802002-02-17 Jakub Jelinek <jakub@redhat.com>
22781
22782 PR c/3444:
22783 * c-typeck.c (build_binary_op) [BIT_XOR_EXPR]: Remove explicit
22784 shortening.
22785
e16b32fc
PT
227862002-02-17 Philipp Thomas <pthomas@suse.de>
22787
22788 * config/cris/cris.h: Undefine STARTFILE_SPEC and
22789 ENDFILE_SPEC before (re)defining them.
22790
f9477efd
KH
227912002-02-17 Kazu Hirata <kazu@hxi.com>
22792
22793 * config/h8300/h8300.c: Fix formatting.
22794 * config/h8300/h8300.h: Likewise.
22795
404ae494
PT
227962002-02-17 Philipp Thomas <pthomas@suse.de>
22797
22798 * doc/tm.texi: Explain why empty strings should not be
22799 marked for translation.
22800
a52453cc
PT
228012002-02-17 Philipp Thomas <pthomas@suse.de>
22802
22803 * final.c (output_operand_lossage): Changed to accept
22804 printf style arguments. Change calls where necessary.
22805 * output.h (output_operand_lossage): Change declaration
22806 accordingly. Update copyright.
22807 * config/arc/arc.c config/fr30/fr30.c config/m32r/m32r.c
22808 config/m88k/m88k.c : Adapt all calls to output_operand_lossage.
22809 Update copyright date where necessary.
c410d49e 22810
a52453cc
PT
22811 * config/i386/i386.c (print_operand): Likewise. Remove use of
22812 sprintf.
22813
22814 * config/cris/cris.c (cris_operand_lossage): Likewise.
22815 Rename parameter so that exgettext recognizes it as
22816 translatable message.
22817 (LOSE_AND_RETURN): Rename parameter to msgid.
22818
1c11abc4
KH
228192002-02-17 Kazu Hirata <kazu@hxi.com>
22820
22821 * config/h8300/h8300.h (CONDITIONAL_REGISTER_USAGE): Replace a
22822 hard coded register number with an appropriate macro.
22823 (HARD_REGNO_MODE_OK): Likewise.
22824 (ARG_POINTER_REGNUM): Likewise.
22825 (STATIC_CHAIN_REGNUM): Likewise.
22826 (RETURN_ADDRESS_POINTER_REGNUM): Likewise.
22827 * config/h8300/h8300.md (define_constants): Define more
22828 register numbers.
22829
a5d17ff3
PT
228302002-02-17 Philipp Thomas <pthomas@suse.de>
22831
22832 * config/i386/i386.h: Don't mark empty strings for translation.
22833
1a7289c4
L
228342002-02-16 H.J. Lu <hjl@gnu.org>
22835
22836 * config/mips/linux.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
22837
afb58288
ZW
228382002-02-16 Zack Weinberg <zack@codesourcery.com>
22839
22840 * cppinit.c (merge_include_chains): Check for brack being
22841 NULL before attempting to merge it with qtail.
22842
d2af4dbd
AC
228432002-02-16 Andrew Cagney <ac131313@redhat.com>
22844
22845 * config/rs6000/netbsd.h (PREFERRED_DEBUGGING_TYPE): Set to
22846 DBX_DEBUG.
22847
2e1ed1e3
JDA
228482002-02-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
22849
22850 * pa/t-pa, pa/t-pro, som.h: Revert last patch.
22851
604c75b2
JDA
228522002-02-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
22853
22854 * pa/t-pa (LIB2FUNCS_EXTRA): Don't build lib2funcs.asm.
22855 * pa/t-pro (LIB2FUNCS_EXTRA): Likewise.
22856 * som.h (DO_GLOBAL_DTORS_BODY): Delete define.
22857
1a42b072
RK
22858Sat Feb 16 13:48:50 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
22859
7303604f 22860 * config/alpha/alpha.md (*movsi_nt_vms_nofix): Was *movsi_nt_vms;
1a42b072
RK
22861 now only if !TARGET_FIX.
22862 (*movsi_nt_vms_fix): New pattern.
22863
c2ea1ac6
DR
228642002-02-16 Douglas B Rupp <rupp@gnat.com>
22865
22866 * config/alpha/alpha.c: Implement null frame procedure types on VMS.
22867 (alpha_procedure_type): Replaces alpha_is_stack_procedure.
22868 (alpha_sa_mask, alpha_sa_size): Reflect above change.
22869 (alpha_pv_save_size, alpha_expand_prologue): Likewise.
22870 (alpha_start_function, alpha_expand_epilogue): Likewise.
22871 (unicosmk_gen_dsib): Likewise.
22872
725e58b1
RK
22873Sat Feb 16 13:39:09 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
22874
22875 * expr.c (store_constructor): Handle target REG case for ARRAY_TYPE.
22876
13e58269
UW
228772002-02-16 Ulrich Weigand <uweigand@de.ibm.com>
22878
c410d49e 22879 * config/s390/s390.c (pool_stop_uid, other_chunk, far_away,
13e58269
UW
22880 check_and_change_labels, s390_final_chunkify): Delete.
22881 (s390_split_branches, s390_chunkify_pool): New functions.
22882 (s390_function_prologue): Call them.
c410d49e 22883
13e58269
UW
22884 * config/s390/s390.h (S390_REL_MAX): Delete.
22885 (S390_CHUNK_MAX, S390_CHUNK_OV): Adjust values.
22886
c410d49e 22887 * config/s390/s390.md (cjump, icjump, jump): Fix length
13e58269
UW
22888 attribute calculation.
22889
22890
34d1b01d
DE
228912002-02-15 David Edelsohn <edelsohn@gnu.org>
22892
22893 * config/rs6000/linux64.h (STRIP_NAME_ENCODING): Delete.
22894 * config/rs6000/ppc-asm.h (JUMP_TARGET): Define for powerpc64.
22895
be5cc51a
JDA
228962002-02-15 John David Anglin <dave@hiauly1.hia.nrc.ca>
22897
22898 * gcc.c (init_gcc_specs): Revert patch from 2002-02-15.
22899 * config/pa/pa-linux.h (LIB_SPEC): Likewise.
22900 * config/pa/pa32-linux.h (LINK_COMMAND_SPEC): Likewise.
22901
ee96ce90
RS
229022002-02-15 Richard Sandiford <rsandifo@redhat.com>
22903
22904 * c-decl.c (grokdeclarator): Prevent a segfault on unnamed decls.
22905
05fa709d
RS
229062002-02-15 Richard Sandiford <rsandifo@redhat.com>
22907
22908 * reload.c (find_dummy_reload): Check that an output register
22909 is valid for its mode.
22910
4606272b
AO
229112002-02-14 Alexandre Oliva <aoliva@redhat.com>
22912
9a360704
AO
22913 * combine.c (known_cond): After replacing the REG of a SUBREG, try
22914 to simplify it.
22915
4606272b
AO
22916 * function.c (assign_parms): Demote promoted argument passed by
22917 transparent reference.
22918
e62d89a1
JS
229192001-02-14 Joel Sherrill <joel@OARcorp.com>
22920
22921 * config/arm/rtems-elf.h, config/h8300/rtems.h: Removed redundant
22922 -Acpu() and -Amachine() to eliminate warnings.
22923
6c4cf695
UW
229242002-02-14 Ulrich Weigand <uweigand@de.ibm.com>
22925
22926 * config/s390/linux.h (ASM_OUTPUT_ALIGNED_BSS): New.
22927
037f11ef
KH
229282002-02-14 Kazu Hirata <kazu@hxi.com>
22929
22930 * config/h8300/h8300-protos.h: Update the prototype for
22931 const_costs.
22932 * config/h8300/h8300.c (const_costs): Treat SET as a little
22933 more expensive operation.
22934 * config/h8300/h8300.h (DEFAULT_RTX_COSTS): Update the
22935 reference to const_costs.
22936
fdc76b09
HPN
229372002-02-14 Hans-Peter Nilsson <hp@axis.com>
22938
22939 * config.gcc (c4x-*-rtems*): Fix typo in tm_file setting.
22940
d76e6800
JJ
229412002-02-14 Jakub Jelinek <jakub@redhat.com>
22942
22943 PR c/5503:
22944 * c-decl.c (duplicate_decls): If builtin type has TYPE_ARG_TYPES NULL,
22945 use arguments from newtype.
22946
5ae590d7
EC
229472002-02-13 Eric Christopher <echristo@redhat.com>
22948
22949 * config/mips/mips.c (override_options): Add check for march/mipsX
22950 on the same command line. Fix error message in cpu processing.
22951 Remove architecture and ISA checks.
22952
b8513691
AH
229532002-02-14 Aldy Hernandez <aldyh@redhat.com>
22954
831c4e87 22955 * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Adjust for vectors.
b8513691 22956
831c4e87 22957 * config/rs6000/sysv4.h (ROUND_TYPE_ALIGN): Add MAX.
b8513691 22958
78c875e8
AH
229592002-02-14 Aldy Hernandez <aldyh@redhat.com>
22960
831c4e87
KC
22961 * config/rs6000/rs6000.md ("*movv4si_internal"): Add m<-r and r<-r
22962 alternatives.
22963 ("*movv8hi_internal1"): Same.
22964 ("*movv16qi_internal1"): Same.
22965 ("*movv4sf_internal1"): Same.
78c875e8 22966
831c4e87
KC
22967 * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Do
22968 not push_reload for altivec modes.
78c875e8 22969
d76e6800 229702002-02-13 Joel Sherrill <joel@OARcorp.com>
f22b4bc4
JS
22971
22972 * config.gcc (a29k-*-rtems), config/a29k/rtems.h: General cleanup across
22973 all RTEMS targets including removal of #includes from config/*/rtems*.h
22974 file and adding them to tm_file setting. Added xm_defines=POSIX to
22975 many targets.
22976 * config.gcc (c4x-*-rtems), config/c4x/rtems.h: Ditto.
22977 * config.gcc (h8300-*-rtems), config/h8300/rtems.h: Ditto.
22978 * config.gcc (hppa1.1-*-rtems), config/pa/rtems.h: Ditto.
22979 * config.gcc (i960-*-rtems), config/i960/rtems.h: Ditto.
22980 * config.gcc (m68k-*-rtems*), config/m68k/rtems.h,
22981 config/m68k/rtemself.h: Ditto.
22982 * config.gcc (mips*-*-rtems*), config/mips/rtems.h,
22983 config/mips/rtems64.h: Ditto.
22984 * config.gcc (powerpc-*-rtems*), config/rs6000/rtems.h: Ditto.
22985 * config.gcc (sh-*-rtems*), config/sh/rtems.h, config/sh/rtemself.h:
22986 Ditto.
22987 * config.gcc (sparc-*-rtems*), config/sparc/rtems.h,
22988 config/sparc/rtemself.h: Ditto.
22989 * config.gcc (v850-*-rtems*), config/v850/rtems.h: Ditto.
22990 * config.gcc (arm-rtems), config/arm/rtems-elf.h: Ditto plus moved
22991 arm-rtems stanza closer to other arm-elf targets and made arm-rtems
22992 more like arm-elf.
22993 * config.gcc (i[34567]86-*-rtems*), config/i386/djgpp-rtems.h,
22994 config/i386/rtems.h, config/i386/rtemself.h: Ditto plus i386-rtemself
22995 target made more similar to i386-elf.
22996 * config/i386/t-rtems-i386: Added soft float support and multilibs.
22997 * config/m68k/t-m68kbare: Add 68040 and 68060 as multilib alternatives to
22998 be similar to config/m68k/t-m68kelf.
22999 * gthr-rtems.h: Encapsulate with extern "C" for C++.
23000
8686336f
JH
23001Wed Feb 13 23:41:15 CET 2002 Jan Hubicka <jh@suse.cz>
23002
23003 * regmove.c (kill_value): Handle subregs.
23004
558740bf
JH
23005Wed Feb 13 23:34:30 CET 2002 Jan Hubicka <jh@suse.cz>
23006
23007 * i386.md (mul patterns): Allow memory operand to be first;
23008 add expanders where needed; fix constraints.
23009 (min?f_nonieee, max?f_nonieee, SSE TImode patterns):
23010 Allow memory operand to be the first.
23011
23012 * i386.c (ix86_prepare_fp_compare_args): Fix condition for swapping
23013 operands.
23014
21117a17
JJ
230152002-02-13 Jakub Jelinek <jakub@redhat.com>
23016
23017 PR c/5681:
23018 * expr.c (safe_from_p): Pass VOIDmode to true_dependence instead of
23019 GET_MODE (x).
23020
ec65b2e3
JJ
230212002-02-13 Jakub Jelinek <jakub@redhat.com>
23022
23023 PR optimization/5547:
23024 * config/i386/i386.c (i386_simplify_dwarf_addr): Simplify
23025 all valid IA-32 address modes involving non-scaled %ebx and
23026 GOT/GOTOFF as displacement.
23027
ce50cae8
UW
230282002-02-13 Ulrich Weigand <uweigand@de.ibm.com>
23029
23030 * config/s390/s390.c (s390_final_chunkify): Re-run shorten_branches
23031 after emitting ltorg insns.
23032
23033 * config/s390/s390.md (*cmpdf_ccs_0, *cmpdf_ccs, *cmpsf_ccs_0,
23034 *cmpsf_ccs, truncdfsf2_ieee, *adddf3, *addsf3, *subdf3, *subsf3,
23035 *muldf3, *mulsf3, *divdf3, *divsf3, *negdf2, *negsf2, *absdf2,
23036 *abssf2): Fix "op_type" attribute.
23037
09eb789b
DR
230382002-02-13 Douglas B Rupp <rupp@gnat.com>
23039
2dbe67bb
DR
23040 * mkconfig.sh: Avoid using a subshell redirect.
23041 ($output.T): Change to $(output)T.
23042 (ENABLE_NLS): Remove unneeded undef.
23043
ea5b9a1f
DR
23044 * config/alpha/vms.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Define.
23045 * config/alpha/x-vms (libsubdir): Define.
23046
3deb00ce
DR
23047 * config/alpha/vms.h (MD_FALLBACK_FRAME_STATE_FOR): Handle
23048 register frame procedures. Optimize retrieving context.
23049
09eb789b
DR
23050 * config/alpha/t-vms (MULTILIB_OPTIONS): Define.
23051 (MULTILIB_DIRNAME, LIBGCC, INSTALL_LIBGCC): Likewise.
23052 * config/alpha/vms.h (ASM_FILE_START): Write .arch directive.
23053
1abade85
RK
23054Wed Feb 13 09:45:08 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
23055
23056 * alias.c (find_base_term, case ZERO_EXTEND, case SIGN_EXTEND):
23057 Make same change as for find_base_value.
23058
c283e63f
KH
230592002-02-13 Kazu Hirata <kazu@hxi.com>
23060
23061 * config/h8300/h8300.h (MODES_TIEABLE_P): Accept a combination
23062 of QImode and SImode.
23063
86039100
KH
230642002-02-13 Kazu Hirata <kazu@hxi.com>
23065
23066 * config/h8300/h8300.c (h8300_adjust_insn_length): Correct the
23067 length computation of movsi.
23068 * config/h8300/h8300.md (movsi_h8300hs): Correct the length.
23069
e1429da0
KH
230702002-02-13 Kazu Hirata <kazu@hxi.com>
23071
23072 * config/h8300/h8300.md (subqi3): Tighten the predicate for
23073 operands[2] to register_operand.
23074
aebfea10
JH
23075Wed Feb 13 10:35:56 CET 2002 Jan Hubicka <jh@suse.cz>
23076
23077 * i386.md (fop_*_comm_*): allow nonimmediate in the first operand.
23078
0ec4e2a8
AH
230792002-02-12 Aldy Hernandez <aldyh@redhat.com>
23080
831c4e87
KC
23081 * config/rs6000/rs6000.md: Use predicate altivec_register_operand
23082 for altivec_lvx* and altivec_stvx*.
23083 ("*movv4si_internal"): Add constraint for loading from GPRs.
23084 ("*movv8hi_internal1"): Same.
23085 ("*movv16qi_internal1"): Same.
23086 ("*movv4sf_internal1"): Same.
0ec4e2a8 23087
831c4e87 23088 * config/rs6000/rs6000.c (altivec_register_operand): New.
0ec4e2a8 23089
831c4e87
KC
23090 * config/rs6000/rs6000.h (PREDICATE_CODES): Add
23091 altivec_register_operand.
0ec4e2a8 23092
b007569d
HPN
230932002-02-13 Hans-Peter Nilsson <hp@bitrange.com>
23094
23095 * config/mmix/mmix.c (mmix_assemble_integer) <case 4>: Don't
23096 handle SYMBOL_REF.
23097
e6834654
SS
230982002-02-13 Stan Shebs <shebs@apple.com>
23099
831c4e87
KC
23100 * c-typeck.c (digest_init): Handle vectors.
23101 (really_start_incremental_init): Same.
23102 (pop_init_level): Same.
23103 (process_init_element): Same.
e6834654 23104
831c4e87 23105 * varasm.c (output_constant): Same.
e6834654 23106
831c4e87
KC
23107 * expr.c (clear_storage): Same.
23108 (store_constructor): Same.
e6834654 23109
d9b3eb63
EC
231102002-02-12 Eric Christopher <echristo@redhat.com>
23111
23112 * explow.c (hard_function_value): Add comment explaining
23113 signed/unsigned comparison.
23114
56d44285
JJ
231152002-02-12 Jakub Jelinek <jakub@redhat.com>
23116
23117 * jump.c (never_reached_warning): Add finish argument.
23118 If finish is NULL, stop on CODE_LABEL, otherwise stop before first
23119 real insn after end.
23120 * rtl.h (never_reached_warning): Adjust prototype.
23121 * cse.c (cse_insn): Pass NULL as finish to never_reached_warning.
23122 * cfgrtl.c (flow_delete_block): Pass b->end as finish to
23123 never_reached_warning.
23124
fc209487
GS
231252002-02-12 Graham Stott <grahams@redhat.com>
23126
23127 * config/hp/pa.h (GO_IF_LEGITIMATE_ADDRESS): Fix typos.
23128
1e41e866
KH
231292002-02-12 Kazu Hirata <kazu@hxi.com>
23130
23131 * config/h8300/h8300.c (shift_alg_hi): Improve the 15-bit
23132 logical shifts on H8/300.
23133 (shift_alg_si): Improve several shifts on H8/300.
23134 (get_shift_alg): Likewise.
23135
a36a47ad
GS
231362002-02-12 Graham Stott <grahams@redhat.com>
23137
23138 * config/pa/pa.c (compute_movstrsi_length): Fix typos.
23139
0aacc8ed
RK
23140Tue Feb 12 10:12:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
23141
23142 * alias.c (find_base_value, case ZERO_EXTEND, case SIGN_EXTEND):
23143 Handle #ifdef POINTERS_EXTEND_UNSIGNED.
23144
a02ac966
HPN
231452002-02-11 Hans-Peter Nilsson <hp@bitrange.com>
23146
23147 * config/mmix/mmix.c (mmix_assemble_integer) <case 1, 2>: Handle
23148 non-CONST_INT through default_assemble_integer.
23149 <case 4>: Likewise, for non-CONST_INT, non-SYMBOL_REF.
23150 <case 8>: Abort for CONST_DOUBLE.
23151
d6e06ddc
JDA
231522002-02-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
23153
23154 * gcc.c (init_gcc_specs): Add static libgcc to link when "-shared"
23155 is specified.
23156 * config/pa/pa-linux.h (LIB_SPEC): Delete.
23157 * config/pa/pa32-linux.h (LINK_COMMAND_SPEC): Delete.
23158
515342a8
AH
231592002-02-11 Andrew Haley <aph@cambridge.redhat.com>
23160
23161 * config/stormy16/stormy16.md (zero_extendqihi2): New.
23162
cddd8b72
AO
231632002-02-11 Alexandre Oliva <aoliva@redhat.com>
23164
66df7a98
AO
23165 * regrename.c (regrename_optimize): Don't accept a
23166 part-clobbered register if the replaced register is not part
23167 clobbered.
23168
841404cd
AO
23169 * calls.c (store_one_arg): In the non-BLKmode non-partial case,
23170 take padding into account when computing the argument value.
23171
1d1ade42
AO
23172 * config/sh/sh.h (FUNCTION_ARG_REGNO_P): Fix parenthesizing error.
23173
cddd8b72
AO
23174 * combine.c (try_combine): Apply substitutions in
23175 CALL_INSN_FUNCTION_USAGE too.
23176
5c665b88
AH
231772002-02-11 Aldy Hernandez <aldyh@redhat.com>
23178
77f6c1eb
RS
23179 * config/rs6000/rs6000.c (altivec_init_builtins): Handle
23180 __builtin_altivec_abs*.
23181 (bdesc_abs): New.
5c665b88 23182
77f6c1eb
RS
23183 * config/rs6000/rs6000.h (rs6000_builtins): Add
23184 ALTIVEC_BUILTIN_ABS*.
5c665b88 23185
77f6c1eb
RS
23186 * config/rs6000/altivec.h: Use const char for builtins expecting
23187 literals.
23188 (vec_abs): New versions for C and C++.
23189 (vec_abss): Same.
5c665b88 23190
3494f1b4
KH
231912002-02-10 Kazu Hirata <kazu@hxi.com>
23192
23193 * config/h8300/h8300.h (INITIALIZE_TRAMPOLINE): Simplify by
23194 using Pmode.
23195
72431aef
KH
231962002-02-10 Kazu Hirata <kazu@hxi.com>
23197
23198 * config/h8300/h8300.h (STACK_POINTER_REGNUM): Use the
23199 constant definition from h8300.md.
23200 (FRAME_POINTER_REGNUM): Likewise.
23201 * config/h8300/h8300.md (define_constants): Add FP_REG.
23202
87e4ee91
KH
232032002-02-10 Kazu Hirata <kazu@hxi.com>
23204
23205 * config/h8300/h8300.c (print_operand): Remove redundant code.
23206
9c188705
KH
232072002-02-10 Kazu Hirata <kazu@hxi.com>
23208
23209 * config/h8300/h8300-protos.h: Remove the prototype for byte_reg.
23210 * config/h8300/h8300.c (byte_reg): Make it static.
23211
fba78abb
RH
232122002-02-10 Richard Henderson <rth@redhat.com>
23213
23214 PR c/5623
23215 * c-typeck.c (incomplete_type_error): Handle flexible array members.
23216
65739e62
RH
232172002-02-10 Richard Henderson <rth@redhat.com>
23218
23219 PR c++/5624
23220 * tree.c (append_random_chars): Don't abort if main_input_filename
23221 does not exist.
23222
247cb9df
HPN
232232002-02-10 Hans-Peter Nilsson <hp@bitrange.com>
23224
23225 * config/mmix/t-mmix (MULTILIB_EXTRA_OPTS): Disable.
23226
232bd029
KH
232272002-02-10 Kazu Hirata <kazu@hxi.com>
23228
65739e62 23229 * config/h8300/h8300.md (pushhi1_h8300): Correct the mode used.
232bd029
KH
23230 (pushhi1): Likewise.
23231
276ef573
JDA
232322002-02-10 John David Anglin <dave@hiauly1.hia.nrc.ca>
23233
23234 * pa.c (reg_before_reload_operand): Don't accept a SUBREG operand.
23235 * pa.h (PREDICATE_CODES): Adjust codes for reg_before_reload_operand.
23236
617e9ee5
DB
232372002-02-09 David O'Brien <obrien@FreeBSD.org>
23238
23239 * config/sparc/freebsd.h(TARGET_DEFAULT): Add MASK_EPILOGUE setting and
23240 remove MASK_VIS.
23241 (ASM_CPU_DEFAULT_SPEC): Remove. Default setting is fine.
23242
6dfa4005
KH
232432002-02-09 Kazu Hirata <kazu@hxi.com>
23244
23245 * config/h8300/h8300.c (output_logical_op): Use sub.w to clear
23246 a half of an SImode register on H8/300.
23247
749e7b80
JH
23248Sat Feb 9 18:28:02 CET 2002 Jan Hubicka <jh@suse.cz>
23249
23250 * i386.md (movdi_2): Add missing '!'.
23251
ca77d87c
KH
232522002-02-09 Kazu Hirata <kazu@hxi.com>
23253
23254 * config/h8300/h8300.h: Fix formatting. Remove commented-out
23255 definitions.
23256
16c96304
KH
232572002-02-09 Kazu Hirata <kazu@hxi.com>
23258
23259 * config/h8300/h8300.md (length): Correct the distance valid
23260 for the short branch.
23261
a364bc90
KH
232622002-02-09 Kazu Hirata <kazu@hxi.com>
23263
23264 * config/h8300/h8300.md (iorhi3): Tighten the predicates.
23265
e4ec2cac
AO
232662002-02-09 Alexandre Oliva <aoliva@redhat.com>
23267
a138247b
AO
23268 * config/sh/sh.h (REGISTER_NATURAL_MODE): Save part-clobbered
23269 registers in SImode.
23270 (HARD_REGNO_CALL_PART_CLOBBERED) [TARGET_SHMEDIA32]: Set r18 as
23271 part-clobbered.
23272
2b1fd83f
AO
23273 * config/sh/sh.c (expand_prologue): Fix mis-applied 2001-11-09's
23274 patch.
d9b3eb63 23275
fa5322fa
AO
23276 Contribute sh64-elf.
23277 2002-02-09 Alexandre Oliva <aoliva@redhat.com>
23278 * config/sh/sh.c (TARGET_CANNOT_MODIFY_JUMPS_P): Define to...
23279 (sh_cannot_modify_jumps_p): New function.
23280 2002-02-05 Alexandre Oliva <aoliva@redhat.com>
23281 * config/sh/sh.c (TARGET_MS_BITFIELD_LAYOUT_P): Define to...
23282 (sh_ms_bitfield_layout_p): New function.
23283 2002-02-04 Alexandre Oliva <aoliva@redhat.com>
23284 Zack Weinberg <zack@codesourcery.com>
23285 * config/sh/sh.h (TRAMPOLINE_ADJUST_ADDRESS): Use
23286 expand_simple_binop instead of expand_binop.
23287 2002-02-03 Alexandre Oliva <aoliva@redhat.com>
23288 * config/sh/sh.h (OVERRIDE_OPTIONS) [! TARGET_SH5]: Disable
23289 use of .quad and .uaquad.
23290 * config/sh/sh.c (TARGET_ASM_UNALIGNED_DI_OP,
23291 TARGET_ASM_ALIGNED_DI_OP): Add comment pointing to the above.
23292 2002-01-24 Alexandre Oliva <aoliva@redhat.com>
23293 * config/sh/sh.md (movdi_const, movdi_const_32bit,
23294 movdi_const_16bit): Make sure all CONSTs have modes.
23295 (sym2PIC): Ditto, but by adjusting all callers.
23296 * config/sh/sh.c (calc_live_regs) [TARGET_SHCOMPACT]: Set pr_live
23297 if the prologue calls the SHmedia argument decoder or register
23298 saver.
23299 2002-01-24 Alexandre Oliva <aoliva@redhat.com>
23300 * config/sh/sh.c (TARGET_ASM_UNALIGNED_DI_OP): Define.
23301 (TARGET_ASM_ALIGNED_DI_OP): Likewise.
23302 (sh_expand_epilogue): Don't emit USE of return target register.
23303 (prepare_move_operands): Legitimize DImode PIC addresses.
23304 (sh_media_register_for_return): Skip tr0, used to initialize the
23305 PIC register.
23306 (sh_expand_prologue): Remove explicit USE of return register.
23307 (nonpic_symbol_mentioned_p): PC is non-PIC. Don't recurse in
23308 CONST_DOUBLEs. UNSPEC_GOTPLT is PIC.
23309 * config/sh/sh.h (ASM_OUTPUT_DOUBLE_INT): Removed, obsolete.
23310 (OVERRIDE_OPTIONS): Don't disable PIC on SH5.
23311 (EXTRA_CONSTRAINT_S): Use MOVI_SHORI_BASE_OPERAND_P instead of
23312 EXTRA_CONSTRAINT_T.
23313 (GOT_ENTRY_P, GOTPLT_ENTRY_P, GOTOFF_P, PIC_ADDR_P): New.
23314 (MOVI_SHORI_BASE_OPERAND_P): New.
23315 (NON_PIC_REFERENCE_P, PIC_REFERENCE_P): New.
23316 (EXTRA_CONSTRAINT_T): Define in terms of them.
23317 (OUTPUT_ADDR_CONST_EXTRA): Handle UNSPEC_GOTPLT.
23318 * config/sh/sh.md (movsi_media, movsi_media_nofpu,
23319 movdi_media, movdi_media_nofpu): Add SIBCALL_REGS class to
23320 alternatives supporting TARGET_REGS.
23321 (UNSPEC_GOTPLT): New constant.
23322 (movdi split): Move incrementing of LABEL_NUSES...
23323 (movdi_const, movdi_const_32bit): Here. Use
23324 MOVI_SHORI_BASE_OPERAND_P instead of EXTRA_CONSTRAINT_T.
23325 (movdi_const_16bit): New.
23326 (call, call_value) [flag_pic]: Use GOTPLT.
23327 (call_pop, call_value_pop): New expands.
23328 (call_pop_compact, call_pop_rettramp): New insns.
23329 (call_value_pop_compact, call_value_pop_rettramp): New insns.
23330 (sibcall) [flag_pic]: Use GOT.
23331 (builtint_setjmp_receiver): Remove bogus, unused expand.
23332 (GOTaddr2picreg): Implement for SHcompact and SHmedia.
23333 (*pt, *ptb, ptrel): New insns.
23334 (sym2GOT): Handle DImode GOT.
23335 (sym2GOTPLT, symGOTPLT2reg): New expands.
23336 (sym2PIC): New expand.
23337 (shcompact_return_tramp): Use GOTPLT to return trampoline.
23338 (shcompact_return_tramp_i): Use return register explicitly.
23339 * config/sh/sh.h (OVERRIDE_OPTIONS) [TARGET_SHMEDIA]: Don't
23340 disable flag_reorder_blocks.
23341 2002-01-19 Alexandre Oliva <aoliva@redhat.com>
23342 * config/sh/sh.md (sibcall_compact): Reorder return, uses and
23343 clobbers, for clarity.
23344 (sibcall_epilogue) [TARGET_SHCOMPACT]: Mark saving and
23345 restoring of r0 in macl as MAYBE_DEAD.
23346 2002-01-18 Alexandre Oliva <aoliva@redhat.com>
23347 * config/sh/sh.h (LONG_DOUBLE_TYPE_SIZE): Define.
23348 * config/sh/sh.md (movv4sf_i, movv16sf_i): Fix uses of
23349 alter_subreg all over.
23350 (jump) [TARGET_SHMEDIA]: FAIL to create new jumps after
23351 reload, instead of emitting instructions that would require
23352 reloading.
23353 (casesi_load_media): Add missing modes.
23354 2001-11-09 Alexandre Oliva <aoliva@redhat.com>
23355 * config/sh/sh.c (sh_expand_prologue): Mark the PIC register
23356 as used if the argument decoder is called.
23357 2001-08-28 Alexandre Oliva <aoliva@redhat.com>
23358 * config/sh/sh.md (udivsi3, divsi3): Load libcall symbol name in
23359 Pmode, then extend it to DImode if necessary.
23360 2001-08-28 Stephen Clarke <Stephen.Clarke@st.com>
23361 * config/sh/sh.h (LEGITIMATE_CONSTANT_P): Don't accept DFmode
23362 constants in FPU-enabled SHmedia, let them be loaded from memory.
23363 2001-08-28 Alexandre Oliva <aoliva@redhat.com>
23364 * config/sh/sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media):
23365 Adjust whitespace in assembly output templates.
23366 2001-08-28 Stephen Clarke <Stephen.Clarke@st.com>
23367 * config/sh/sh.md (movdicc_false, movdicc_true, movdicc): Adjust
23368 mode of if_then_else.
23369 2001-08-04 Alexandre Oliva <aoliva@redhat.com>
23370 * config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): Override definition in
23371 sh.h.
23372 2001-07-26 Andrew Haley <aph@cambridge.redhat.com>
23373 Joern Rennecke <amylaar@redhat.com>
23374 * config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): New.
23375 (SUBTARGET_CPP_PTR_SPEC): New.
23376 (SUBTARGET_CPP_SPEC): Remove.
23377 2001-07-06 Chandrakala Chavva <cchavva@redhat.com>
23378 * config/sh/sh.md (movsf_media_nofpu+1, movdf_media_nofpu+1):
23379 Fix typo in previous checkin.
23380 2001-07-11 Chandrakala Chavva <cchavva@redhat.com>
23381 * config/sh/sh.h (MODES_TIEABLE_P): Fix redact indentations.
23382 2001-07-10 Chandrakala Chavva <cchavva@cygnus.com>
23383 Alexandre Oliva <aoliva@redhat.com>
23384 * config/sh/sh.h (MODES_TIEABLE_P): Don't tie modes wider than
23385 what single FP register can hold for SHmedia target.
23386 2001-07-06 Chandrakala Chavva <cchavva@redhat.com>
23387 Alexandre Oliva <aoliva@redhat.com>
23388 * config/sh/sh.md (movsf_media_nofpu+1, movdf_media_nofpu+1):
23389 Do not split into SUBREG.
23390 2001-06-14 Alexandre Oliva <aoliva@redhat.com>
23391 * config/sh/ushmedia.h, config/sh/sshmedia.h: Updated signatures
23392 and added new functions as specified in SH5 ABI r9.
23393 2001-06-04 Alexandre Oliva <aoliva@redhat.com>
23394 * config/sh/lib1funcs.asm (GCC_nested_trampoline): Align to an
23395 8-byte boundary.
23396 2001-06-03 Alexandre Oliva <aoliva@redhat.com>
23397 * config/sh/sh.c (dump_table): Add const0_rtx in calls of
23398 gen_consttable_4 and gen_consttable_8. Emit multiple labels
23399 and consttable_window_ends.
23400 2001-06-03 Graham Stott <grahams@redhat,com>
23401 * config/sh/sh.md (movdi split): Remove unused variable last_insn.
23402 2001-05-16 Alexandre Oliva <aoliva@redhat.com>
23403 * config/sh/sh.c (print_operand): Handle floating-point pair,
23404 vector and matrix registers.
23405 * config/sh/sh.h (REGISTER_MOVE_COST): Take floating-pointer
23406 vector modes into account.
23407 * config/sh/sh.md (movv2sf): Split move between registers into
23408 movdf.
23409 (movv4sf, movv16sf): Introduce insns that get split only after
23410 reload.
23411 * config/sh/shmedia.h: Fix Copyright dates.
23412 * config/sh/ushmedia.h: Likewise. Move loop counter
23413 declarations into conditionals that uses them.
23414 (sh_media_FVADD_S, sh_media_FVSUB_S): Fix off-by-one error in
23415 loop boundary.
23416 * config/sh/sshmedia.h: Fix Copyright dates.
23417 (sh_media_PUTCFG): Fix constraints.
23418 2001-05-12 Alexandre Oliva <aoliva@redhat.com>
23419 * config/sh/sh.h (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define to
23420 ptrmemfunc_vbit_in_delta for SH5.
23421 2001-05-08 Alexandre Oliva <aoliva@redhat.com>
23422 * config/sh/sh.h (TARGET_SWITCHES): Document -m5-*.
23423 * invoke.texi: Likewise.
23424 2001-04-14 Alexandre Oliva <aoliva@redhat.com>
23425 * config/sh/lib1funcs.asm (GCC_push_shmedia_regs,
23426 GCC_push_shmedia_regs_nofpu, GCC_pop_shmedia_regs,
23427 GCC_pop_shmedia_regs_nofpu): New global symbols.
23428 * config/sh/t-sh64 (LIB1ASMFUNCS): Add them.
23429 * config/sh/sh.h (SHMEDIA_REGS_STACK_ADJUST): New macro.
23430 * config/sh/sh.c (calc_live_regs): Account for PR's saving in
23431 compact function with nonlocal labels.
23432 (sh_expand_prologue) [SHcompact]: Push SHmedia regs if needed.
23433 (sh_expand_epilogue) [SHcompact]: Pop them when appropriate.
23434 (initial_elimination_offset): Account for their stack space.
23435 * config/sh/sh.md (shmedia_save_restore_regs_compact): New insn.
23436 * config/sh/sh.md (movsi_media, movsi_media_nofpu, movqi_media,
23437 movhi_media, movdi_media, movdi_media_nofpu, movdf_media,
23438 movdf_media_nofpu, movsf_media, movsf_media_nofpu): Require at
23439 least one of the operands to be a register.
23440 (movv2sf): Likewise. Renamed to movv2sf_i.
23441 (movdi, movdf, movv2sf, movv4sf, movv16sf, movsf):
23442 prepare_move_operands() before emitting SHmedia insns.
23443 2001-04-03 Alexandre Oliva <aoliva@redhat.com>
23444 * config/sh/crti.asm (init, fini) [__SH5__ && ! __SHMEDIA__]:
23445 Don't save nor initialize r12. Don't mis-align the stack.
23446 Pad the code with a nop.
23447 * config/sh/crti.asm: Don't restore r12. Don't mis-align the
23448 stack.
23449 2001-03-13 Alexandre Oliva <aoliva@redhat.com>
23450 * gcc/longlong.h (__umulsidi3, count_leading_zeros)
23451 [__SHMEDIA__]: Implement.
23452 2001-03-11 Alexandre Oliva <aoliva@redhat.com>
23453 * config/sh/sh.md: Set latency of `pt' closer to reality.
23454 (movsi_media, movsi_media_nofpu, movdi_media, movdi_media_nofpu,
23455 movdf_media, movdf_media_nofpu, movsf_media, movsf_media_nofpu):
23456 Set move, load and store type attributes.
23457 * config/sh/sh.c (sh_loop_align) [TARGET_SH5]: Set to 3.
23458 * config/sh/sh.h (OVERRIDE_OPTIONS) [TARGET_SH5]: Disable
23459 profiling.
23460 * config/sh/sh.h (PROMOTE_MODE): Sign-extend SImode to DImode.
23461 * config/sh/sh-protos.h (sh_media_register_for_return): Declare.
23462 * config/sh/sh.c (sh_media_register_for_return): New function.
23463 (sh_expand_prologue) [TARGET_SHMEDIA]: Copy r18 to an available
23464 branch-target register.
23465 (sh_expand_epilogue) [TARGET_SHMEDIA]: Explicitly USE it.
23466 * config/sh/sh.md (return_media_i): Use any call-clobbered
23467 branch-target register.
23468 (return_media): If r18 wasn't copied in the prologue, copy it
23469 here.
23470 * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE) [TARGET_SHMEDIA]:
23471 Clear class FP0_REGS.
23472 * config/sh/sh64.h (LINK_SPEC): Removed incorrect default copied
23473 from elf.h.
23474 2001-03-08 DJ Delorie <dj@redhat.com>
23475 * config/sh/sh.h (OVERRIDE_OPTIONS): Disable relaxing for SHMEDIA.
23476 2001-02-09 Alexandre Oliva <aoliva@redhat.com>
23477 * config/sh/sh.md (sibcall_compact): Set fp_mode to single.
23478 2001-02-07 Alexandre Oliva <aoliva@redhat.com>
23479 * config/sh/sh.h (INT_ASM_OP) [SHMEDIA64]: Use `.quad'.
23480 2001-02-03 Alexandre Oliva <aoliva@redhat.com>
23481 * config/sh/sh.h (INIT_CUMULATIVE_ARGS): Compute size of BLKmode
23482 return value correctly for call_cookie.
23483 2001-02-01 Alexandre Oliva <aoliva@redhat.com>
23484 * config/sh/crt1.asm (start): Modified so as to call
23485 ___setup_argv_and_call_main.
23486 2001-01-26 Alexandre Oliva <aoliva@redhat.com>
23487 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Don't count stack_regs in
23488 SHmedia mode.
23489 2001-01-20 Alexandre Oliva <aoliva@redhat.com>
23490 * config/sh/sh.h (STRIP_DATALABEL_ENCODING): New macro.
23491 (STRIP_NAME_ENCODING): Use it.
23492 (ASM_OUTPUT_LABELREF): Likewise. Don't call assemble_name().
23493 2001-01-19 Alexandre Oliva <aoliva@redhat.com>
23494 * config/sh/sh.md (sgeu) [! SHMEDIA]: Fix invocation of
23495 prepare_scc_operands().
23496 * config/sh/sh.h (SH_DATALABEL_ENCODING): Change to "#"...
23497 (DATALABEL_SYMNAME_P): ... so that we don't need memcmp here.
23498 2001-01-17 Alexandre Oliva <aoliva@redhat.com>
23499 * config/sh/sh.h (STRIP_NAME_ENCODING): Strip leading `*'.
23500 2001-01-13 Alexandre Oliva <aoliva@redhat.com>
23501 * config/sh/sh.md (shcompact_incoming_args): Use R0_REG.
23502 * config/sh/sh.md (R7_REG, R8_REG, R9_REG): Define as constants,
23503 used in shcompact_incoming_args.
23504 * config/sh/sh.c (sh_expand_epilogue): Fix thinko in previous
23505 change.
23506 * config/sh/crt1.asm (start) [SH5]: Switch to single-precision
23507 mode.
23508 * config/sh/lib1funcs.asm (sdivsi3_i4, udivsi3_i4, set_fpscr):
23509 Adjust accordingly.
23510 * config/sh/sh.c (sh_expand_prologue, sh_expand_epilogue):
23511 Simplify. Adjust. Add sanity check.
23512 * config/sh/sh.h (TARGET_SWITCHES) [5-compact]: Set
23513 FPU_SINGLE_BIT.
23514 * config/sh/sh.md (udivsi3_i4_single, divsi3_i4_single): Match
23515 TARGET_SHCOMPACT.
23516 (udivsi3, divsi3): Use them.
23517 (force_mode_for_call): New insn.
23518 (call, call_value, sibcall_value): Emit it before SHcompact
23519 calls.
23520 2001-01-11 Alexandre Oliva <aoliva@redhat.com>
23521 * config/sh/sh.md (call, call_value, sibcall): Make sure the
23522 call cookie is non-NULL before taking its value.
23523 2001-01-10 Alexandre Oliva <aoliva@redhat.com>
23524 * config.gcc (sh64): Set target_requires_64bit_host_wide_int.
23525 2001-01-09 Alexandre Oliva <aoliva@redhat.com>
23526 * config/sh/sh.md (shcompact_incoming_args): Set argument memory
23527 block.
23528 * config/sh/sh.h (STATIC_CHAIN_REGNUM) [SH5]: Use r1.
23529 * config/sh/sh.c (sh_expand_prologue) [SH5]: Use r0 as
23530 temporary for stack adjusts. Use MACL and MACH to pass
23531 arguments to shcompact_incoming_args.
23532 * config/sh/sh.md (shcompact_incoming_args): Adjust. Don't
23533 clobber r1.
23534 * config/sh/lib1funcs.asm (shcompact_incoming_args): Likewise.
23535 (nested_trampoline): Load static chain address into r1.
23536 * config/sh/sh.md (movdi_media splits): Fix sign-extension.
23537 2001-01-07 Alexandre Oliva <aoliva@redhat.com
23538 * config/sh/sh.c (fpul_operand) [SHMEDIA]: Just call
23539 fp_arith_reg_operand().
23540 2001-01-06 Alexandre Oliva <aoliva@redhat.com>
23541 * config/sh/sh.md (casesi): Sign-extend the first two operands,
23542 and use signed compares for them.
23543 * config/sh/sh.c (dump_table): Don't emit 8-byte constants after
23544 4-byte ones. Instead, inter-leave them, maintaining the 8-byte
23545 ones properly aligned.
23546 (find_barrier): Account for extra alignment needed for 8-byte wide
23547 constants.
23548 (machine_dependent_reorg): Require a label for the second 4-byte
23549 constant after an 8-byte one.
23550 * config/sh/lib1funcs.asm (sdivsi3): Fix typo in yesterday's
23551 change.
23552 2001-01-05 Alexandre Oliva <aoliva@redhat.com>
23553 * config/sh/sh.c (machine_dependent_reorg) [SHCOMPACT]: Reset
23554 last_float when switching float modes.
23555 * config/sh/sh.md (movdf) [SH5]: Don't use stack-pointer
23556 auto-increment for general-purpose registers.
23557 * config/sh/lib1funcs.asm (sdivsi3) [SHMEDIA]: Sign-extend the
23558 result.
23559 * config/sh/sh.c (sh_expand_prologue) [SH5]: Use r1 as temporary
23560 for stack adjust.
23561 * config/sh/sh.c (sh_builtin_saveregs): Support using all
23562 registers for varargs.
23563 2001-01-01 Alexandre Oliva <aoliva@redhat.com>
23564 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Simplify.
23565 * config/sh/sh.h (CALL_COOKIE_STACKSEQ,
23566 CALL_COOKIE_STACKSEQ_SHIFT, CALL_COOKIE_STACKSEQ_GET): New macros.
23567 (CALL_COOKIE_INT_REG_SHIFT): Adjust.
23568 (FUNCTION_ARG_ADVANCE): Use SHCOMPACT_FORCE_ON_STACK. Adjust
23569 call_cookie accordingly.
23570 (FUNCTION_ARG): Test SHCOMPACT_FORCE_ON_STACK.
23571 (SHCOMPACT_BYREF): Likewise.
23572 (SHCOMPACT_FORCE_ON_STACK): New macro.
23573 * config/sh/sh.c (sh_expand_prologue): Use new call_cookie format.
23574 (sh_builtin_saveregs): Likewise.
23575 * config/sh/lib1funcs.asm (shcompact_call_trampoline,
23576 shcompact_incoming_args): Use new shift values. Support
23577 sequences of consecutive and non-consecutive pushes/pops.
23578 * config/sh/sh.md (return): Don't explicitly use PR_REG.
23579 2001-01-05 Hans-Peter Nilsson <hpn@cygnus.com>
23580 * config/sh/sh.h (TEXT_SECTION): Define.
23581 * config/sh/elf.h (ASM_FILE_START): Output TEXT_SECTION_ASM_OP.
23582 2001-01-05 Alexandre Oliva <aoliva@redhat.com>
23583 * config/sh/sh.h (INIT_CUMULATIVE_LIBCALL_ARGS): New macro.
23584 * config/sh/sh.h (BASE_RETURN_VALUE_REG): Use FP regs for
23585 return values on FPU-enabled SHmedia.
23586 (FUNCTION_VALUE_REGNO_P): Mark FIRST_FP_RET_REG as used on
23587 FPU-enabled SHmedia.
23588 (INIT_CUMULATIVE_ARGS): Set up return trampoline only if
23589 value is returned in a non-FP reg and is not returned by
23590 reference.
23591 * config/sh/sh.md (shcompact_return_tramp_i): Change type to
23592 jump_ind.
23593 2000-01-04 Alexandre Oliva <aoliva@redhat.com>
23594 * config/sh/sh.h (SH_MIN_ALIGN_FOR_CALLEE_COPY): New.
23595 (FUNCTION_ARG_CALLEE_COPIES): Require argument to be
23596 quad-aligned to be passed by callee-copy reference.
23597 2001-01-03 Alexandre Oliva <aoliva@redhat.com>
23598 * config/sh/elf.h (MAX_WCHAR_TYPE_SIZE): Define.
23599 * config/sh/sh64.h (MAX_WCHAR_TYPE_SIZE): Undefine.
23600 2001-01-02 Alexandre Oliva <aoliva@redhat.com>
23601 * config/sh/lib1funcs.asm (shcompact_call_trampoline): Fix error in
23602 copying low-numbered FP regs to r7 and r8.
23603 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Don't request copying of
23604 FP regs to general-purpose regs only if the copy was passed on the
23605 stack.
23606 * config/sh/lib1funcs.asm (shcompact_call_trampoline): Fix typo in
23607 copying FP reg to r9.
23608 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Use trampoline to
23609 copy FP regs to general-purpose regs only in outgoing calls.
23610 * config/sh/sh.md (movdf_media, movsf_media): Revert incorrect
1e4e95d6 23611 change from 2000-10-30. Adjust for 64-bit (or 32-bit)
fa5322fa
AO
23612 HOST_WIDE_INT.
23613 * config/sh/sh.h (struct sh_args): Document all fields.
23614 (FUNCTION_OK_FOR_SIBCALL): Functions that receive arguments
23615 passed partially on the stack should not consider making
23616 sibcalls.
23617 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Add byref regs to
23618 stack_regs only for incoming calls. When passing FP args,
23619 make sure there are FP regs available before modifying
23620 call_cookie.
23621 (SHCOMPACT_BYREF): Pass double args in general-purpose
23622 registers by reference.
23623 2000-12-30 Alexandre Oliva <aoliva@redhat.com>
23624 * config/sh/sh.h (FUNCTION_OK_FOR_SIBCALL) [SHCOMPACT]: Don't
23625 attempt to generate sibcalls if the caller got any arguments
23626 by reference.
23627 * config/sh/lib1funcs.asm (set_fpscr) [SH5]: Default to double.
23628 * config/sh/sh.c (dump_table) [SHCOMPACT]: Align DImode and DFmode
23629 to 8-byte boundaries.
23630 * config/sh/sh.md (shcompact_preserve_incoming_args): New insn.
23631 * config/sh/sh.h (CALL_COOKIE_INT_REG_GET): New macro.
23632 * config/sh/sh.c (sh_expand_prologue): Preserve args that will be
23633 stored in the stack.
23634 * config/sh/lib1funcs.asm (ct_main_table, ia_main_table): Arrange
23635 for the offsets to have the ISA bit set.
23636 (shcompact_call_trampoline): Document. Swap r0 and r1, to match
23637 invocation. Use beq instead of bgt to mark end of sequence of
23638 loads.
23639 (shcompact_incoming_args): Fix store of r2. Use beq instead of
23640 bgt to mark end of sequence of stores.
23641 * config/sh/sh.c (arith_operand): Don't check whether
23642 CONST_OK_FOR_J for now.
23643 * config/sh/sh.md (movdf_media, movsf_media): Use HOST_WIDE_INT
23644 instead of long for conversion.
23645 2000-12-29 Alexandre Oliva <aoliva@redhat.com>
23646 * config/sh/sh.c (print_operand_address): Convert INTVAL to int
23647 before passing it to fprintf.
23648 2000-12-28 Alexandre Oliva <aoliva@redhat.com>
23649 * config/sh/crt1.asm (start): Reset SR.FD, to enable the FP unit.
23650 Call set_fpscr before reading/writing SR.
23651 * config/sh/crt1.asm (start): Set SR.SZ and SR.PR, but not SR.FR.
23652 Call set_fpscr.
23653 * config/sh/lib1funcs.asm: Add `.align 2' directives before
23654 SHmedia code.
23655 (FMOVD_WORKS): Define on SH5 with FPU.
23656 (set_fpscr): Define on SH5. Remove separate _fpscr_values
23657 setting.
23658 * config/sh/t-sh64 (LIB1ASMFUNCS): Add _set_fpscr instead of
23659 _fpscr_values.
23660 2000-12-28 Hans-Peter Nilsson <hpn@cygnus.com>
23661 * config/sh/lib1funcs.asm (ct_main_table): Align contents to even
23662 address.
23663 (ia_main_table): Ditto.
23664 2000-12-27 Alexandre Oliva <aoliva@redhat.com>
23665 * config/sh/sh.h (MAX_WCHAR_TYPE_SIZE): Don't define.
23666 * config/sh/sh64.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Reinstate
23667 the definitions from sh.h.
23668 * config/sh/sh.h (PTRDIFF_TYPE): Define as conditional on
23669 TARGET_SH5.
23670 (SUBTARGET_CPP_SPEC): Arrange for __PTRDIFF_TYPE__ to be defined.
23671 * config/sh/elf.h (PTRDIFF_TYPE): Likewise.
23672 * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Likewise.
23673 2000-12-26 Alexandre Oliva <aoliva@redhat.com>
23674 * config/sh/sh.md (movdi_media split): Don't add REG_LABEL notes.
23675 Increment LABEL_NUSES.
d9b3eb63 23676
fa5322fa
AO
23677 * config/sh/sh.h (SIZE_TYPE): Define as conditional on
23678 TARGET_SH5.
23679 (SUBTARGET_CPP_SPEC): Arrange for __SIZE_TYPE__ to be always
23680 defined.
23681 * config/sh/elf.h (SIZE_TYPE): Likewise.
23682 * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Likewise.
23683 * config/sh/lib1funcs.asm (shcompact_call_trampoline,
23684 shcompact_incoming_args): Load switch table addresses using
23685 datalabel.
23686 * config/sh/sh.h (SUBTARGET_CPP_SPEC): Define __SIZE_TYPE__.
23687 (NO_BUILTIN_SIZE_TYPE): Define.
23688 (SIZE_TYPE): Don't define.
23689 * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Define __SIZE_TYPE__.
23690 * config/sh/sh.h (CPP_SPEC): Fixed typo that prevented the
23691 definition of __SH5__=32 for -m5-compact-nofpu.
23692 * config/sh/sh.c (barrier_align): Ensure 32-bit alignment after
23693 ADDR_DIFF_VEC.
23694 2000-12-24 Alexandre Oliva <aoliva@redhat.com>
23695 * config/sh/sh.h (FUNCTION_ARG_PADDING): Removed.
23696 2000-12-23 Alexandre Oliva <aoliva@redhat.com>
23697 * config/sh/sh.h (TARGET_CACHE32): Enable on SH5.
23698 (FUNCTION_BOUNDARY): Ensure 32-bit alignment for SHmedia.
23699 (INSN_LENGTH_ALIGNMENT): Likewise.
23700 2000-12-22 Alexandre Oliva <aoliva@redhat.com>
23701 * config/sh/sh.md (call, call_value, sibcall): Simplify
23702 copying of non-branch-target register.
23703 2000-12-22 Alexandre Oliva <aoliva@redhat.com>
1e4e95d6 23704 * glimits.h (__LONG_MAX__): Revert 2000-12-13's patch.
fa5322fa
AO
23705 * config/sh/sh.h (CPP_SPEC): Define it here for 64-bit SHmedia.
23706 2000-12-22 Alexandre Oliva <aoliva@redhat.com>
23707 * config/sh/sh.h (GET_SH_ARG_CLASS): Handle complex
23708 floating-point values as structs.
23709 (FUNCTION_ARG): Use SH5_PROTOTYPED_FLOAT_ARG.
23710 (SH5_PROTOTYPELESS_FLOAT_ARG): List FP registers before
23711 general-purpose register.
23712 (SH5_PROTOTYPED_FLOAT_ARG): New macro.
23713 2000-12-20 Alexandre Oliva <aoliva@redhat.com>
23714 * config/sh/sh.md (addsi3): Force operand1 to reg for SHmedia.
23715 * config/sh/sh.md (movsi_media): Split CONST_DOUBLE loads too.
23716 * config/sh/sh.h (DATALABEL_REF_P): Don't require the CONST.
23717 (ENCODE_SECTION_INFO): Enclose variables and constants in
23718 DATALABEL unspecs.
23719 (SH_DATALABEL_ENCODING, DATALABEL_SYMNAME_P): Define.
23720 (STRIP_NAME_ENCODING): Strip SH_DATALABEL_ENCODING off.
23721 (ASM_OUTPUT_LABELREF, AMS_OUTPUT_SYMBOL_REF): Define.
23722 * config/sh/sh.c (gen_datalabel_ref): Use UNSPEC_DATALABEL
23723 only for LABEL_REFs. For SYMBOL_REFs, prepend
23724 SH_DATALABEL_ENCODING to the symbol name.
23725 * config/sh/sh.md (indirect_jump): Use SUBREG instead of
23726 convert_mode().
23727 2000-12-20 Alexandre Oliva <aoliva@redhat.com>
23728 * config/sh/sh.md (casesi): Enclose ADDR_DIFF_VEC address in
23729 UNSPEC_DATALABEL.
23730 * config/sh/sh.c (gen_datalabel_ref): Accept LABEL_REFs.
23731 * config/sh/sh.h (DATALABEL_REF_NO_CONST_P): Likewise.
23732 (DATALABEL_REF_P): Don't require CONST.
23733 (ASM_OUTPUT_ADDR_DIFF_ELT): On SH5, output datalabel before
23734 REL label.
23735 2000-12-19 Alexandre Oliva <aoliva@redhat.com>
23736 * config/sh/sh.md (extendhidi2, extendqidi2): Use arithmetic shift
23737 right.
23738 2000-12-18 Alexandre Oliva <aoliva@redhat.com>
23739 * config/sh/sh.md (movsi_media, call, call_value, sibcall):
23740 Use shallow_copy_rtx and PUT_MODE to change the mode of
23741 SYMBOL_REFs, LABEL_REFs, CONSTs, etc.
23742 * config/sh/sh.h (PREFERRED_RELOAD_CLASS): Reload SYMBOL_REFs
23743 on SHmedia using GENERAL_REGs.
23744 * config/sh/sh.md (ble_media_i, blt_media_i, bleu_media_i,
23745 bltu_media_i): Fix reversion of conditions.
23746 2000-12-18 Alexandre Oliva <aoliva@redhat.com>
23747 * config/sh/sh.md (zero_extendhidi2): Use logical shift right.
23748 * config/sh/sh.c (output_far_jump): Save r13 in macl.
23749 2000-12-17 Alexandre Oliva <aoliva@redhat.com>
23750 * config/sh/sh.c (gen_datalabel_ref): Fix mode of the UNSPEC.
23751 2000-12-16 Alexandre Oliva <aoliva@redhat.com>
23752 * config/sh/lib1funcs.asm (ic_invalidate): Define for SH5.
23753 (GCC_nested_trampoline): Likewise.
23754 * config/sh/sh-protos.h (gen_datalabel_ref): Declare.
23755 * config/sh/sh.c (gen_datalabel_ref): Define.
23756 * config/sh/sh.h (TRAMPOLINE_SIZE): Adjust for SH5.
23757 (INITIALIZE_TRAMPOLINE): Likewise.
23758 (TRAMPOLINE_ADJUST_ADDRESS): Define.
23759 (DATALABEL_REF_NO_CONST_P, DATALABEL_REF_P): Define.
23760 (EXTRA_CONSTRAINT_T): Match DATALABEL unspecs.
23761 (OUTPUT_ADDR_CONST_EXTRA): Handle DATALABEL unspecs.
23762 * config/sh/sh.md (UNSPEC_DATALABEL): New constant.
23763 (ic_invalidate): Adjust for SH5.
23764 (ic_invalidate_line_media, ic_invalidate_line_compact): New insns.
23765 * config/sh/t-sh64 (LIB1ASMFUNCS): Added _ic_invalidate and
23766 _nested_trampoline.
23767 2000-12-15 Alexandre Oliva <aoliva@redhat.com>
23768 * config/sh/sh.h (MOVE_MAX): Set to 8 for SHmedia, 4 elsewhere.
23769 (MOVE_MAX_PIECES): Set to 8 on SHmedia too.
23770 2000-12-14 Alexandre Oliva <aoliva@redhat.com>
23771 * config/sh/sh.h (DBX_REGISTER_NUMBER): Adjust for sh64-elf-gdb.
23772 * config/sh/elf.h (DBX_REGISTER_NUMBER): Likewise.
23773 2000-12-14 Alexandre Oliva <aoliva@redhat.com>
23774 * config/sh/sh.c (target_reg_operand): Match only target-branch
23775 registers and pseudos that aren't virtual registers.
23776 * config/sh/sh.md (call, call_value, sibcall) [TARGET_SHMEDIA]:
23777 Copy operands that don't match target_reg_operand to pseudos.
23778 (call_media, call_value_media, sibcall_media): Use
23779 target_reg_operand instead of target_operand.
23780 2000-12-13 Alexandre Oliva <aoliva@redhat.com>
d9b3eb63 23781 * glimits.h (__LONG_MAX__) [SH5 == 64]: Adjust for 64 bits.
fa5322fa
AO
23782 * config/sh/sh.c (target_reg_operand): Match hardware registers
23783 other than branch-target registers.
23784 * config/sh/sh.md (zero_extendqidi2): Input operand is %1.
23785 * config/sh/lib1funcs.asm (sdivsi3) [SH5]: Make it global.
23786 (fpscr_values) [SH5 == 32]: Define.
23787 * config/sh/t-sh64 (LIB1ASMFUNCS): Add fpscr_values.
23788 * config/sh/sh.md (call, call_value, sibcall) [TARGET_SHMEDIA]:
23789 Handle function addresses coming in SUBREGs.
23790 2000-12-12 Alexandre Oliva <aoliva@redhat.com>
23791 * config/sh/lib1funcs.asm (shcompact_call_trampoline,
23792 shcompact_return_trampoline): Use datalabel where appropriate.
23793 2000-12-09 Alexandre Oliva <aoliva@redhat.com>
23794 * config/sh/sh.h (SECONDARY_OUTPUT_RELOAD_CLASS): Use a
23795 general-purpose register to copy one branch-target register to
23796 another.
23797 2000-12-06 Alexandre Oliva <aoliva@redhat.com>
23798 * config/sh/sh.c (target_operand): Accept LABEL_REFs and
23799 SYMBOL_REFs with VOIDmode.
23800 * config/sh/sh.md (ble_media_i, blt_media_i, bleu_media_i,
23801 bltu_media_i): New insns.
23802 2000-12-06 Alexandre Oliva <aoliva@redhat.com>
23803 * config/sh/sh.h (RETURN_IN_MEMORY): Adjust for SH5 ABI.
23804 (INIT_CUMULATIVE_ARGS): Likewise.
23805 2000-12-01 Alexandre Oliva <aoliva@redhat.com>
23806 * machmode.def (V16SFmode): New mode.
23807 * c-common.c (type_for_mode): Support V2SF and V16SF.
23808 * tree.c (build_common_tree_nodes_2): Likewise.
23809 * tree.h (tree_index): Likewise.
23810 * calls.c (emit_call_1): Take args_so_far. Adjust all
23811 callers. Introduce CALL_POPS_ARGS.
23812 * tm.texi (CALL_POPS_ARGS): Document.
23813 * config/sh/crt1.asm: Implement in SHmedia mode.
23814 * config/sh/crti.asm, config/sh/crtn.asm: Likewise
23815 * config/sh/elf.h (ASM_SPEC, LINK_SPEC): Support SH5 flags.
23816 (DBX_REGISTER_NUMBER): Renumber registers for SH5.
23817 * config/sh/lib1funcs.asm: Disable functions unused in SH5.
23818 Implement divsi and udivsi in SHmedia mode. Introduce
23819 SHcompact trampolines.
23820 * config/sh/sh.c (GEN_MOV, GEN_ADD3, GEN_SUB3): Use DImode
23821 only in SHmedia64.
23822 (regno_reg_class): Rewrite.
23823 (fp_reg_names): Remove.
23824 (sh_register_names, sh_additional_register_names): New.
23825 (print_operand): Added `u'. Support SUBREGs in addresses.
23826 Add parentheses around shifted CONSTs.
23827 (output_file_start): Output .mode and .abi directives.
23828 (shiftcosts, addsubcosts, multcosts): Adjust.
23829 (output_stack_adjust): Compute alignment. Sanity-check SIZE.
23830 (push_regs): Take array of HOST_WIDE_INTs. Adjust callers.
23831 (calc_live_regs): Output to array of HOST_WIDE_INTs. Count
23832 bytes, not registers. Take into account the need for the
23833 SHcompact incoming args trampoline. Adjust all callers.
23834 (sh_expand_prologue): Take stack_regs into account. Call
23835 incoming args trampoline. Keep stack aligned as per SH5 ABI.
23836 (sh_expand_epilogue): Take stack_regs into accoutn. Keep
23837 stack aligned as per SH5 ABI.
23838 (sh_builtin_saveregs): Support SH5 ABI.
23839 (sh_build_va_list, sh_va_start): Likewise.
23840 (initial_elimination_offset): Take alignment into account.
23841 Compute location of PR according to the SH5 stack frame.
23842 (arith_reg_operand): Reject branch-target registers.
23843 (shmedia_6bit_operand): New.
23844 (logical_operand): Use CONST_OK_FOR_P on SHmedia.
23845 (target_reg_operand): Match DImode only. Accept SUBREGs.
23846 (target_operand): New.
23847 * config/sh/sh.h (CPP_SPEC, SUBTARGET_CPP_SPEC): Support SH5 flags.
23848 (CONDITIONAL_REGISTER_USAGE): Implement SH5 ABI. Initialize
23849 SIBCALL_REGS for SHmedia.
23850 (TARGET_SH3E, TARGET_SH4): Only if SH1_BIT is set too.
23851 (TARGET_FPU_DOUBLE, TARGET_FPU_ANY): New.
23852 (TARGET_SHMEDIA32, TARGET_SHMEDIA64): New.
23853 (TARGET_SWITCHES): New SH5 flags.
23854 (OVERRIDE_OPTIONS): Set SH5-specific options. Use
23855 VALID_REGISTER_P to disable unsupported registers.
23856 (LONG_TYPE_SIZE, LONG_LONG_TYPE_SIZE): Set.
23857 (POINTER_SIZE, PARM_BOUNDARY): Adjust.
23858 (FUNCTION_ARG_PADDING): Define.
23859 (FASTEST_ALIGNMENT): Adjust.
23860 (SH_REGISTER_NAMES_INITIALIZER): New.
23861 (sh_register_names): Declare.
23862 (DEBUG_REGISTER_NAMES): Define.
23863 (REGISTER_NAMES): Define based on sh_register_names.
23864 (SH_ADDITIONAL_REGISTER_NAMES_INITIALIZER): New.
23865 (sh_additional_register_names): Declare.
23866 (LAST_GENERAL_REG, LAST_FP_REG, LAST_XD_REG): Adjust for SHmedia.
23867 (FIRST_TARGET_REG, LAST_TARGET_REG): Define.
23868 (TARGET_REGISTER_P, SHMEDIA_REGISTER_P, VALID_REGISTER_P): Define.
23869 (REGISTER_NATURAL_MODE): Define.
23870 (FIRST_PSEUDO_REGISTER): Adjust.
23871 (FIXED_REGISTERS, CALL_USED_REGISTERS): Adjust.
23872 (HARD_REGNO_CALL_PART_CLOBBERED): Define.
23873 (HARD_REGNO_NREGS, HARD_REGNO_MODE_OK): Adjust.
23874 (VECTOR_MODE_SUPPORTED_P): Define.
23875 (REG_CLASS_CONTENTS): Adjust.
23876 (SMALL_REGISTER_CLASSES): Adjust.
23877 (REG_ALLOC_ORDER): Adjust.
23878 (INDEX_REG_CLASS): Adjust.
23879 (CONST_OK_FOR_O, CONST_OK_FOR_P): New.
23880 (CONST_OK_FOR_LETTER_P): Adjust.
23881 (PREFERRED_RELOAD_CLASS): Adjust.
23882 (SECONDARY_OUTPUT_RELOAD_CLASS): Adjust.
23883 (SECONDARY_INPUT_RELOAD_CLASS): Adjust.
23884 (NPARM_REGS, FIRST_PARM_REG, FIRST_RET_REG): Adjust.
23885 (FIRST_FP_PARM_REG): Adjust.
23886 (CALL_POPS_ARGS): Define.
23887 (FUNCTION_ARG_REGNO_P): Adjust.
23888 (struct sh_args): New fields.
23889 (GET_SH_ARG_CLASS): Adjust.
23890 (INIT_CUMULATIVE_ARGS): Adjust.
23891 (INIT_CUMULATIVE_INCOMING_ARGS): Define.
23892 (FUNCTION_ARG_ADVANCE): Adjust.
23893 (FUNCTION_ARG): Adjust.
23894 (FUNCTION_ARG_PASS_BY_REFERENCE, SHCOMPACT_BYREF): Define.
23895 (FUNCTION_ARG_CALLEE_COPIES): Define.
23896 (SH5_PROTOTYPELESS_FLOAT_ARG): Define.
23897 (STRICT_ARGUMENT_NAMING): Define.
23898 (PRETEND_OUTGOING_VARARGS_NAMED): Adjust.
23899 (FUNCTION_ARG_PARTIAL_NREGS): Adjust.
23900 (SH5_WOULD_BE_PARTIAL_NREGS): Define.
23901 (SETUP_INCOMING_VARARGS): Adjust.
23902 (HAVE_POST_INCREMENT, HAVE_PRE_DECREMENT): Adjust.
23903 (USE_LOAD_POST_INCREMENT, USE_STORE_PRE_DECREMENT): Adjust.
23904 (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_P): Adjust.
23905 (SUBREG_OK_FOR_INDEX_P): Adjust.
23906 (EXTRA_CONSTRAINT_S): Update.
23907 (EXTRA_CONSTRAINT_T): New.
23908 (EXTRA_CONSTRAINT): Adjust.
23909 (GO_IF_LEGITIMATE_INDEX): Adjust.
23910 (GO_IF_LEGITIMATE_ADDRESS): Adjust.
23911 (LEGITIMIZE_ADDRESS, LEGITIMIZE_RELOAD_ADDRESS): Adjust.
23912 (MOVE_MAX): Adjust.
23913 (MAX_MOVE_MAX): Define.
23914 (Pmode): Adjust.
23915 (CONST_COSTS): Adjust.
23916 (REGISTER_MOVE_COST): Adjust.
23917 (BRANCH_COST): Adjust.
23918 (TEXT_SECTION_ASM_OP): Adjust.
23919 (DBX_REGISTER_NUMBER): Adjust.
23920 (ASM_OUTPUT_DOUBLE_INT): New.
23921 (UNALIGNED_DOUBLE_INT_ASM_OP): New.
23922 (PREDICATE_CODES): Adjust.
23923 (PROMOTE_MODE): Adjust.
23924 (CRT_CALL_STATIC_FUNCTION): Do not define for SHmedia.
23925 * config/sh/sh.md (AP_REG, PR_REG, T_REG, GBR_REG): Renumber.
23926 (MACH_REG, MACL_REG, FPUL_REG, RAP_REG, FPSCR_REG): Renumber.
23927 (PR_MEDIA_REG, T_MEDIA_REG, R10_REG): New.
23928 (DR0_REG, DR2_REG, DR4_REG): Renumber.
23929 (TR0_REG, TR1_REG, TR2_REG): New.
23930 (XD0_REG): Renumber.
23931 (UNSPEC_COMPACT_ARGS): New.
23932 (type): Added pt and ptabs.
23933 (length): Default to 4 on SHmedia. Default pt length to 12
1e4e95d6 23934 and 20 on SHmedia32 and SHmedia64, respectively.
fa5322fa
AO
23935 (pt): New function unit.
23936 (movdi, movsi): Add types pt and ptabs. Don't increment LABEL_NUSES.
23937 Add whitespace between operands of SHmedia instructions.
23938 (movdicc): Fix.
23939 (adddi3_media, addsi3_media): Adjust constraints.
23940 (subsi3) [SHmedia]: Force operand 1 into a register.
23941 (udivsi3_i1_media, udivsi3_i4_media): New.
23942 (udivsi3): Support SHmedia.
23943 (divsi3_i1_media, divsi3_i4_media): New.
23944 (divsi3): Support SHmedia.
23945 (anddi3, iordi3, xordi3): Adjust constraints.
23946 (zero_extendhidi2, zero_extendqidi2): New.
23947 (extendsidi2, extendhidi2, extendqidi2): New.
23948 (push, pop, push_e, push_fpul, push_4): Disable on SH5.
23949 (pop_e, pop_fpul, pop_4): Likewise.
23950 (movsi_media): Support FP and BT registers.
23951 (movsi_media_nofpu): New. Adjust splits to DImode.
23952 (lduw, ldub): Renamed to zero_extend* above.
23953 (movqi_media): Fix typo.
23954 (movdi_media): Support FP and BT registers.
23955 (movdi_media_nofpu): New. Adjust splits for SHmedia32.
23956 (movdi_const_32bit): New.
23957 (shori_media): Require immediate operand. Use `u' for output.
23958 (movdf_media, movsf_media): Simplified.
23959 (movdf_media_nofpu, movsf_media_nofpu): New.
23960 (movdf, movsf): Adjust
23961 (movv2sf, movv2sf, movv16sf): New.
23962 (beq_media, beq_media_i): Adjust constraints. Don't use
23963 scratch BT register.
23964 (bne_media, bne_media_i): Likewise.
23965 (bgt_media, bgt_media_i): Likewise.
23966 (bge_media, bge_media_i): Likewise.
23967 (bgtu_media, bgtu_media_i): Likewise.
23968 (bgeu_media, bgeu_media_i): Likewise.
23969 (beq, bne, bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu,
23970 bunordered): Emit jump insn. Force operands to registers when
23971 needed.
23972 (jump_media, jump): Simplify.
23973 (call_compact, call_compact_rettramp): New.
23974 (call_value_compact, call_value_compact_rettramp): New.
23975 (call_media, call_value_media): Simplify.
23976 (sibcall_compact, sibcall_media): New.
23977 (call, call_value): Adjust for SHmedia and SHcompact.
23978 (sibcall, sibcall_value, untyped_call): Likewise.
23979 (sibcall_epilogue): Preserve r0 across epilogue for SHcompact.
23980 (indirect_jump): Adjust for SHmedia.
23981 (casesi_jump_media): New.
23982 (nop): Re-enable for SHmedia.
23983 (call_site): Restrict to SH1.
23984 (casesi): Adjust for SHmedia.
23985 (casesi_shift_media, casesi_load_media): New.
23986 (return): Explicitly use PR register. Call return trampoline
23987 on SHcompact.
23988 (return_i): Explicitly use PR register.
23989 (shcompact_return_tramp, shcompact_return_tramp_i): New.
23990 (return_media): Adjust.
23991 (shcompact_incoming_args): New.
23992 (epilogue): Adjust.
23993 (seq, slt, sle, sgt, sge, sgtu, sltu, sleu, sgeu, sne): Adjust.
23994 (movstrsi): Disable on SH5.
23995 (fpu_switch0, fpu_switch1, movpsi): Enable on SH4.
23996 (addsf3, addsf3_media): Test TARGET_SHMEDIA_FPU.
23997 (subsf3, subsf3_media): Likewise.
23998 (mulsf3, mulsf3_media, mac_media): Likewise.
23999 (divsf3, divsf3_media): Likewise.
24000 (floatdisf2, floatsisf2_media): Likewise. Adjust constraints.
24001 (floatsisf2, fux_truncsfsi2): Likewise.
24002 (fix_truncsfdi2, fix_truncsfsi2_media): Likewise. Adjust
24003 constraints.
24004 (cmpeqsf_media, cmpgtsf_media, cmpgesf_media): Likewise.
24005 (cmpunsf_media, cmpsf): Likewise.
24006 (negsf2, negsf2_media, sqrtsf2, sqrtsf2_media): Likewise.
24007 (abssf2, abssf2_media): Likewise.
24008 (adddf3, adddf3_media, subdf3, subdf3_media): Likewise.
24009 (muldf3, muldf3_media, divdf3, divdf3_media): Likewise.
24010 (floatdidf2, floatsidf2_media): Likewise. Adjust constraints.
24011 (floatsidf2, fix_truncdfsi2): Likewise.
24012 (fix_truncdfdi2, fix_truncdfsi2_media): Likewise. Adjust
24013 constraints.
24014 (cmpeqdf_media, cmpgtdf_media): Likewise.
24015 (cmpgedf_media, cmpundf_media, cmpdf): Likewise.
24016 (negdf2, negdf2_media, sqrtdf2, sqrtdf2_media): Likewise.
24017 (absdf2, absdf2_media): Likewise.
24018 (extendsfdf2, extendsfdf2_media): Likewise.
24019 (truncsfdf2, truncsfdf2_media): Likewise.
24020 * config/sh/sh64.h: New file.
24021 * config/sh/t-sh64: New file.
24022 * config/sh/shmedia.h: New file.
24023 * config/sh/ushmedia.h: New file.
24024 * config/sh/sshmedia.h: New file.
24025 * configure.in: Added sh64-*-elf.
24026 * configure: Rebuilt.
24027 2000-10-10 Alexandre Oliva <aoliva@redhat.com>
24028 * config/sh/sh.c (GEN_MOV, GEN_ADD3, GEN_SUB3): New macros.
24029 (reg_class_from_letter): Use `b' for TARGET_REGS.
24030 (print_operand): Support `%M', `%m', `AND' and
24031 `ASHIFTRT'. Do not precede constants with `#' on SHmedia.
24032 (andcosts): Adjust for SHmedia.
24033 (output_stack_adjust, sh_expand_prologue, sh_expand_epilogue):
24034 Likewise.
24035 (target_reg_operand): New function.
24036 * config/sh/sh-protos.h (target_reg_operand): Declare.
24037 * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE): Don't disable
24038 FP registers on SH5.
24039 (HARD_REGNO_MODE_OK): Accept them whenever they're acceptable
24040 on SH4.
24041 (TARGET_REGISTER_P): New macro.
24042 (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Added TARGET_REGS.
24043 (FUNCTION_VALUE): Use DImode for promoted types on SHmedia.
24044 (EXTRA_CONSTRAINT_S): New macro.
24045 (EXTRA_CONSTRAINT): Adjust.
24046 (FLOAT_TYPE_SIZE): Define to 32.
24047 (Pmode): DImode on SHmedia.
24048 (CONST_COSTS): Adjust for SHmedia literals.
24049 (PREDICATE_CODES): Added target_reg_operand.
24050 (PROMOTE_MODE): Promote signed types to DImode on SHmedia.
24051 * config/sh/sh.md: Remove all attrs from SHmedia insns.
24052 (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): New insns.
24053 (cmpdi): Accept SHmedia.
24054 (movdicc_false, movdicc_true): New insns.
24055 (movdicc): New expand.
24056 (adddi3): Accept arith_operand for op2, but FAIL on SH1 if
24057 no_new_pseudos.
24058 (addsi3_media): Match `S' constraint.
24059 (anddi3, andcdi3, iordi3, xordi3, negdi_media): New insns.
24060 (negdi2): Expand for SHmedia.
24061 (one_cmpldi2): New expand.
24062 (zero_extendsidi2): Change from expand to insn.
24063 (extendsidi2): Add constraints.
24064 (movdi_media, movsi_media): Change `%x' to `%M'. Use `%m' for
24065 LD/ST address. Fix SI immediate loading split.
24066 (movhi_media, movqi_media, lduw, ldub): New insns.
24067 (movhi, movqi): Accept SHmedia.
24068 (shori_media, movdi_media): Relax input constraints. Split
24069 symbolic constants.
24070 (movdf_media, movsf_media): New insn. New split to movdi.
24071 (movdf, movsf): Match on SHmedia.
24072 (beq_media, bne_media, bgt_media, bge_media, bgtu_media,
24073 bgeu_media): New insns and splits. New insns with `_i' suffix.
24074 (beq, bne, bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Adjust.
24075 (bunordered): New expand.
24076 (jump_compact): Renamed from `jump'.
24077 (jump_media): New insn.
24078 (jump): New expand.
24079 (call_media, call_value_media): New insns.
24080 (call, call_value): Adjust.
24081 (indirect_jump_compact): Renamed from `indirect_jump'.
24082 (indirect_jump_media): New insn.
24083 (indirect_jump): New expand.
24084 (untyped_call, return): Accept SHmedia.
24085 (return_media): New insn.
24086 (prologue, epilogue, blockage): Accept SHmedia.
24087 (seq, slt, sle, sgt, sge, sgtu, sltu, sleu, sgeu, sne): Adjust.
24088 (sunordered): New expand.
24089 (addsf3, subsf3, mulsf3, divsf3, floatsisf2, fix_truncsfsi2,
24090 cmpsf, negsf2, sqrtsf2, abssf2): Adjust for SHmedia.
24091 (addsf3_media, subsf3_media, mulsf3_media, mac_media,
24092 divsf3_media, floatdisf2, floatsisf2_media, fix_truncsfdi2,
24093 fix_truncsfsi2_media, cmpeqsf_media, cmpgtsf_media,
24094 cmpgesf_media, cmpunsf_media, negsf2_media, sqrtsf2_media,
24095 abssf2_media): New insns.
24096 (adddf3, subdf3, muldf3, divdf3, floatsidf2, fix_truncdfsi2,
24097 cmpdf, negdf2, sqrtdf2, absdf2): Adjust for SHmedia.
24098 (adddf3_media, subdf3_media, muldf3_media, divdf3_media,
24099 floatdidf2, floatsidf2_media, fix_truncdfdi2,
24100 fix_truncdfsi2_media, cmpeqdf_media, cmpgtdf_media,
24101 cmpgedf_media, cmpundf_media, negdf2_media, sqrtdf2_media,
24102 absdf2_media): New insns.
24103 (extendsfdf2, truncdfsf2): Adjust for SHmedia.
24104 (extendsfdf2_media, truncdfsf2_media): New insns.
24105 2000-09-14 Alexandre Oliva <aoliva@redhat.com>
24106 * config/sh/sh.c (machine_dependent_reorg): On shmedia, skip for now.
24107 * config/sh/sh.h (CONST_OK_FOR_J): Document.
24108 (LEGITIMATE_CONSTANT_P): Accept CONST_DOUBLEs on shmedia.
24109 * config/sh/sh.md (adddi3): New expand.
24110 (adddi3_media, adddi3z_media): New insns.
24111 (adddi3_compact): Renamed from adddi3.
24112 (addsi3_media): Use add.l r63 to add constant zero.
24113 (subdi3): New expand.
24114 (subdi3_media): New insn.
24115 (subdi3_compact): Renamed from subdi3.
24116 (mulsidi3): New expand.
24117 (mulsidi3_media): New insn.
24118 (mulsidi3_compact): Renamed from mulsidi3.
24119 (umulsidi3): New expand.
24120 (umulsidi3_media): New insn.
24121 (umulsidi3_compact): Renamed from umulsidi3.
24122 (ashlsi3_media, ashrsi3_media, lshrsi3_media): New insns.
24123 (ashlsi3, ashrsi3, lshrsi3): Use them.
24124 (ashldi3_media, ashrdi3_media, lshrdi3_media): New insns.
24125 (ashldi3, ashrdi3, lshrdi3): Use them.
24126 (zero_extendsidi2): New expand.
24127 (extendsidi2): New insn.
24128 (movsi_media): New insn. Split to movdi to load constants.
24129 (movsi): Enable for shmedia.
24130 (movdi_media): New insn. Use shori_media to load wide constants.
24131 (short_media): New insn.
24132 (movdi): Enable for shmedia.
24133 2000-09-08 Alexandre Oliva <aoliva@redhat.com>
24134 * config/sh/sh.h (CPP_SPEC): Added `m5'.
24135 (SUBTARGET_CPP_SPEC): Added `!m5'.
24136 (SH5_BIT, TARGET_SH5, TARGET_SHMEDIA, TARGET_SHCOMPACT): New macros.
24137 (TARGET_SWITCHES): Added `5' and `5-compact'. Added SH1_BIT
24138 to all other SH variants.
24139 (TARGET_DEFAULT): Set to SH1_BIT.
24140 (OVERRIDE_OPTIONS): Recognize sh5 CPU.
24141 (BITS_PER_WORD): Raise to 64 on shmedia.
24142 (MAX_BITS_PER_WORD): Change to 64.
24143 (MAX_LONG_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): Set to MAX_BITS_PER_WORD.
24144 (INT_TYPE_SIZE): Keep as 32.
24145 (UNITS_PER_WORD): Raise to 8 on shmedia.
24146 (MIN_UNITS_PER_WORD): Keep as 4.
24147 (POINTER_SIZE): Raise to 64 on shmedia.
24148 (CONST_OK_FOR_J): New macro.
24149 (CONST_OK_FOR_LETTER_P): Use it.
24150 (processor_type): Add PROCESSOR_SH5.
24151 * config/sh/sh.md: Conditionalize all expands, insns and
24152 splits to TARGET_SH1.
24153 (cpu): Added sh5.
24154 (addsi3_compact): Renamed from...
24155 (addsi3): Now an expand.
24156 (addsi3_media, subsi3_media): New insns.
24157 (subsi3): Don't negate constants with SHmedia.
24158
e4ec2cac
AO
24159 * hooks.c: New file.
24160 * hooks.h: New file.
24161 * Makefile.in (HOOKS_H): New.
24162 (TARGET_DEF_H): Added $(HOOKS_H).
24163 (OBJS): Added hooks.o.
24164 (cfgcleanup.o, bb-reorder.o): Added target.h.
24165 (hooks.o): Added dependencies.
24166 * target-def.h (TARGET_CANNOT_MODIFY_JUMPS_P): New, added to...
24167 (TARGET_INITIALIZER): this.
24168 * doc/tm.texi (TARGET_CANNOT_MODIFY_JUMPS_P): Document.
24169 * target.h (struct gcc_target): Added cannot_modify_jumps_p.
24170 * bb-reorder.c: Include target.h.
24171 (reorder_basic_blocks): Skip if cannot modify jumps.
24172 * cfgcleanup.c: Include target.h.
24173 (try_optimize_cfg): Skip merge blocking if cannot modify jumps.
24174
246a46e0
CD
241752002-02-08 Chris Demetriou <cgd@broadcom.com>
24176
831c4e87
KC
24177 * config/mips/mips.md (casesi_internal, casesi_internal_di):
24178 Protect jump delay slot instructions with .set noreorder and
24179 .set nomacro.
246a46e0
CD
24180
241812002-02-08 Chris Demetriou <cgd@broadcom.com>
6a5ea3f4
CD
24182
24183 * config/mips/mips.md (casesi_internal_di): Calculate
24184 the index into the target offset table correctly.
24185
fdf473ae
RH
241862002-02-08 Richard Henderson <rth@redhat.com>
24187
24188 * expr.c (expand_expr): Mind EXPAND_INITIALIZER for truncation also.
24189 * final.c (output_addr_const): Accept and discard SUBREG.
24190 * varasm.c (decode_addr_const): Don't abort on unknown expressions --
24191 mark them unknown instead.
24192 (simplify_subtraction): Handle RTX_UNKNOWN.
24193 (initializer_constant_valid_p): Strip NOP_EXPRs that narrow the mode.
24194
c50503ac
DE
241952002-02-08 David Edelsohn <edelsohn@gnu.org>
24196
24197 * doc/invoke.texi (RS/6000 and PowerPC Options): Fix typo.
24198
3660d217
RH
241992002-02-08 Richard Henderson <rth@redhat.com>
24200
24201 * config/alpha/elf.h (ASM_OUTPUT_ALIGNED_BSS): New.
24202
56547299
AJ
242032002-02-08 Andreas Jaeger <aj@suse.de>
24204
24205 * config.gcc (x86_64-*-linux): Add t-linux64 makefile fragment.
24206 * config/i386/t-linux64: New file.
24207
1cf537c5
JJ
242082002-02-08 Jakub Jelinek <jakub@redhat.com>
24209
24210 * c-common.c (c_expand_expr): Revert 2002-02-06 patch.
24211 * c-parse.in (compstmt): Clear last_expr_type.
24212
5c7f5a5f
RH
242132002-02-07 Richard Henderson <rth@redhat.com>
24214
24215 * loop.c (strength_reduce): Sink final_value when not
24216 eliminating a biv.
24217
b1138bf3
DB
242182002-02-07 David O'Brien <obrien@FreeBSD.org>
24219
24220 * config/sparc/freebsd.h: Fix mismatched spec {.
24221
b6878a45
RH
242222002-02-07 Richard Henderson <rth@redhat.com>
24223
24224 * cfgrtl.c: Include recog.h and insn-config.h.
24225 (keep_with_call_p): Fix general_operand invocation.
24226 * Makefile.in (cfgrtl.o): Update dependencies.
24227
ae19f5ef
KH
242282002-02-07 Kazu Hirata <kazu@hxi.com>
24229
24230 * config/h8300/h8300.c (two_insn_adds_subs_operand): Revise a
24231 comment. Accept HImode only if TARGET_H8300.
24232
b137f9fc
EC
242332002-02-07 Eric Christopher <echristo@redhat.com>
24234
24235 * config/mips/crtn.asm: Cleanup #ifdefs.
24236
242372002-02-07 Eric Christopher <echristo@redhat.com>
24238
24239 * config/mips/crti.asm: Add changes for mips16. mips16 uses
24240 register 7 as RA instead of $31.
24241 * config/mips/crtn.asm: Ditto.
24242 * config/mips/mips.c (mips_move_2words): Add case for
24243 TARGET_MIPS16 when HOST_BITS_PER_WIDE_INT >= 64.
24244 (compute_frame_size): Fix typo.
24245 (save_restore_insns): Ditto. Make documentation about using
24246 register $7 as return register more precise.
24247 (mips_expand_epilogue): Fix comment. Add code to work around not
24248 being able to add to the stack pointer directly.
24249 * config/mips/mips.h (EH_RETURN_DATA_REGNO): Change register number
24250 to 2 for TARGET_MIPS16 as we need 6 and 7 as clobbers in the
24251 epilogue.
24252
768070a0
TR
242532002-02-07 Tom Rix <trix@redhat.com>
24254
b137f9fc 24255 * config/rs6000/rs6000.c (reg_or_aligned_short_operand): New. For
768070a0
TR
24256 immediates in ldu and stdu DS opcode field.
24257 * config/rs6000/rs6000.md (movdi_update, movdi_update1): Use.
24258 * config/rs6000/rs6000-protos.h: Add reg_or_aligned_short_operand.
24259 * config/rs6000/rs6000.h (PREDICATE_CODES): Same.
24260
225909c3
JS
242612002-02-07 Jeff Sturm <jsturm@one-point.com>
24262
24263 * config/sparc/sparc.c (compute_frame_size): Don't correct frame
24264 offset for stack bias.
24265
15fae023
L
242662002-02-07 H.J. Lu <hjl@gnu.org>
24267
24268 * config/mips/linux.h (SUBTARGET_ASM_DEBUGGING_SPEC): Defined.
24269
fde5badd
UW
242702002-02-07 Ulrich Weigand <uweigand@de.ibm.com>
24271
24272 * testsuite/gcc.dg/cpp/charconst-2.c: Add -fsigned-char option.
24273
162f023b
JH
24274Thu Feb 7 12:14:17 CET 2002 Jan Hubicka <jh@suse.cz>
24275
24276 * i386-protos.h (x86_order_regs_for_local_alloc): Declare
24277 * i386.c (x86_order_regs_for_local_alloc): New global function.
24278 * i386.h (REG_ALLOC_ORDER): CLeanup.
24279 (ORDER_REGS_FOR_LOCAL_ALLOC): New.
24280
9b462c42
RH
242812002-02-07 Richard Henderson <rth@redhat.com>
24282
85aa876c 24283 PR optimization/2463
9b462c42
RH
24284 * alias.c (find_base_value): Recall base values for fixed hard regs.
24285 * loop.c (loop_regs_update): Don't use single_set on non-insns.
24286
06e455a9
AO
242872002-02-07 Alexandre Oliva <aoliva@redhat.com>
24288
24289 * config/mips/mips.md (define_delay) [mips16]: Adjust required
24290 length.
24291
edd1967d
RH
242922002-02-06 Richard Henderson <rth@redhat.com>
24293
24294 PR c/5609
24295 * stmt.c (resolve_operand_name_1): Take more care with mixed
24296 named and unnamed operands.
24297
a2cd028f
JJ
242982002-02-06 Janis Johnson <janis187@us.ibm.com>
24299 Jan Hubicka <jh@suse.cz>
24300
24301 * loop.c (remove_constant_addition): Avoid clobbering a shared
24302 CONST expression.
24303
e8487c04
UW
243042002-02-06 Ulrich Weigand <uweigand@de.ibm.com>
24305
24306 * config.gcc (s390x-*-linux*): Add t-linux64 makefile fragment.
24307 * config/s390/t-linux64: New file.
24308 * config/s390/libgcc-glibc.ver: New file.
24309
58d10f89
UW
243102002-02-06 Ulrich Weigand <uweigand@de.ibm.com>
24311
24312 * config/s390/linux64.h: Delete file.
24313 * config/s390/s390x.h: New file.
24314 * config.gcc (s390x-*-linux*): Use s390x.h instead of linux64.h
24315 as target header file.
24316 * config/s390/linux.h (TARGET_VERSION): Define depending on
24317 DEFAULT_TARGET_64BIT.
24318 (CPP_SPEC, ASM_SPEC, LINK_SPEC): Likewise.
24319 (SIZE_TYPE, PTRDIFF_TYPE): Likewise.
24320 (NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_PTRDIFF_TYPE): Define.
24321 (CPP_ARCH31_SPEC, CPP_ARCH64_SPEC): New defines.
24322 (LINK_ARCH31_SPEC, LINK_ARCH64_SPEC): New defines.
24323 (EXTRA_SPEC): New define.
24324 * config/s390/s390.h (TARGET_VERSION): Define depending on
24325 DEFAULT_TARGET_64BIT.
24326 (MASK_RETURN_ADDR): Add run-time check for TARGET_64BIT.
24327
5ce89b2e
JM
243282002-02-06 Jason Merrill <jason@redhat.com>
24329
24330 * c-decl.c (finish_function): Warn about a non-void function with
24331 no return statement and no abnormal exit.
24332 (current_function_returns_abnormally): New variable.
24333 (start_function): Clear it.
24334 (struct c_language_function): Add returns_abnormally.
24335 (push_c_function_context): Save it.
24336 (pop_c_function_context): Restore it.
24337 (builtin_function): Set TREE_THIS_VOLATILE on return fns.
24338 (grokdeclarator): Set C_FUNCTION_IMPLICIT_INT on functions without
24339 an explicit return type.
24340 * c-tree.h: Declare current_function_returns_abnormally.
24341 (C_FUNCTION_IMPLICIT_INT): New macro.
24342 * c-typeck.c (build_function_call): Set it.
24343 (c_expand_return): Set current_function_returns_value even if the
24344 value is erroneous.
24345
caaf2272
JJ
243462002-02-06 Jakub Jelinek <jakub@redhat.com>
24347
24348 PR c/5420:
24349 * c-common.c (c_unsafe_for_reeval): Make COMPOUND_LITERAL_EXPR
24350 unsafe for reevaluation.
24351
d5129288
JJ
243522002-02-06 Jakub Jelinek <jakub@redhat.com>
24353
24354 PR c/5482:
24355 * c-common.c (c_expand_expr) [STMT_EXPR]: If last expression is not
24356 EXPR_STMT, but COMPOUND_STMT, recurse into it.
24357
7fb75099
RH
243582002-02-06 Richard Henderson <rth@redhat.com>
24359
24360 * cfganal.c (keep_with_call_p): Source for fixed_reg dest must
24361 be a general_operand. Dest for function value must be a pseudo.
24362
d3a8b6a6
NC
243632002-02-06 Nick Clifton <nickc@cambridge.redhat.com>
24364
24365 * dbxout.c (dbxout_symbol_location): Accept LABEL_REFs as well
24366 as SYMBOL_REFs from the constant pool.
24367
3c1299c5
AO
243682002-02-06 Alexandre Oliva <aoliva@redhat.com>
24369
24370 * dbxout.c (dbxout_parms): Apply DEBUGGER_ARG_OFFSET to parameters
24371 passed by invisible reference.
24372
c2c9f6c9
RH
243732002-02-05 Richard Henderson <rth@redhat.com>
24374
24375 * config/sparc/sparc.h (ARG_POINTER_CFA_OFFSET): No stack bias.
24376
a824924d
HPN
243772002-02-06 Hans-Peter Nilsson <hp@bitrange.com>
24378
24379 Implement using "base addresses" in insn operands as default.
24380 * config/mmix/mmix.c (mmix_conditional_register_usage): if
24381 -mabi=gnu, modify fixed_regs to fit the GNU ABI.
24382 (mmix_extra_constraint): Use 'R' to indicate that GETA should be
24383 used to read the rtx value.
24384 (mmix_target_asm_function_epilogue): Fix spacing.
24385 (mmix_constant_address_p): Handle TARGET_BASE_ADDRESSES.
24386 (mmix_legitimate_address): Ditto.
24387 (mmix_encode_section_info): Set SYMBOL_REF_FLAG on rtx:es that
24388 should be loaded with a GETA insn. Don't allocate needless extra
24389 char for nul termination and fix misleading comment.
24390 (mmix_print_operand_address): Handle constants if
24391 TARGET_BASE_ADDRESSES.
24392 (mmix_output_register_setting): Use base addressing if
24393 TARGET_BASE_ADDRESSES and the number of insns is 3.
24394 * config/mmix/t-mmix (MULTILIB_EXTRA_OPTS): New.
24395 * config/mmix/mmix.md ("movdi"): Change the alternative with GETA
24396 to use R as constraint, add LDA to match s.
24397 * config/mmix/mmix.h (TARGET_BASE_ADDRESSES): New.
24398 (TARGET_DEFAULT): Add TARGET_MASK_BASE_ADDRESSES.
24399 (TARGET_SWITCHES): Add -mbase-addresses, -mno-base-addresses.
24400 (FIXED_REGISTERS): Make registers $231..$246 fixed by default.
24401 (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Move $231..$246 last, in
24402 order with other fixed registers.
24403 (MMIX_GNU_ABI_REG_ALLOC_ORDER): Put forward $231, in order with
24404 other parameter/call-clobbered registers.
24405 * doc/invoke.texi (Option Summary) <MMIX Options>: Add
24406 -mbase-addresses, -mno-base-addresses.
24407 (MMIX Options): Ditto.
24408
73c342b9
JDA
244092002-02-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
24410
24411 * pa.h (PREDICATE_CODES): Add reg_before_reload_operand.
24412
ef238c58
AH
244132002-02-06 Aldy Hernandez <aldyh@redhat.com>
24414
831c4e87 24415 * config/rs6000/altivec.h: Change elem to _S_elem.
ef238c58 24416
ad08e60e
JT
244172002-02-05 Jason Thorpe <thorpej@wasabisystems.com>
24418
24419 * config/netbsd.h (WCHAR_TYPE): Define.
24420 (WCHAR_TYPE_SIZE): Ditto.
24421 (WINT_TYPE): Ditto.
24422 * config/alpha/netbsd.h (WCHAR_TYPE): Remove.
24423 (WCHAR_UNSIGNED): Ditto.
24424 (WCHAR_TYPE_SIZE): Ditto.
24425 (WINT_TYPE): Ditto.
24426 * config/arm/netbsd.h: Likewise.
24427 * config/i386/netbsd-elf.h: Likewise.
24428 * config/i386/netbsd.h: Likewise.
24429 * config/m68k/netbsd-elf.h: Likewise.
24430 * config/m68k/netbsd.h: Likewise.
24431 * config/ns32k/netbsd.h: Likewise.
24432 * config/sparc/netbsd.h: Likewise.
24433 * config/vax/netbsd.: Likewise.
24434
f913c102
AO
244352002-02-05 Alexandre Oliva <aoliva@redhat.com>
24436
24437 * target.h (struct gcc_target): Added ms_bitfield_layout_p.
24438 * target-def.h (TARGET_MS_BITFIELD_LAYOUT_P): New. Added to...
24439 (TARGET_INITIALIZER): this.
24440 * doc/tm.texi (TARGET_MS_BITFIELD_LAYOUT_P): Document.
24441 (BITFIELD_NBYTES_LIMITED): Markup fix.
24442 * tree.h (default_ms_bitfield_layout_p): Declare.
24443 (record_layout_info): Added prev_field.
24444 * tree.c (default_ms_bitfield_layout_p): New fn.
24445 * c-decl.c (finish_struct): Disregard EMPTY_FIELD_BOUNDARY and
24446 PCC_BITFIELD_TYPE_MATTERS for MS bit-field layout.
24447 * stor-layout.c: Include target.h.
24448 (start_record_layout): Initialize prev_field.
24449 (place_field): Handle MS bit-field layout, and disregard
24450 EMPTY_FIELD_BOUNDARY, BITFIELD_NBYTES_LIMITED and
24451 PCC_BITFIELD_TYPE_MATTERS in this case. Update prev_field.
24452 * Makefile.in (stor-layout.o): Adjust dependencies.
24453
c13db5d1
JM
244542002-02-05 Jason Merrill <jason@redhat.com>
24455
c13db5d1
JM
24456 * collect2.c (dump_file): Pass DMGL_VERBOSE to cplus_demangle.
24457
4505024e
AJ
244582002-02-05 Andreas Jaeger <aj@suse.de>
24459
24460 * crtstuff.c: Fix comments.
24461
794ad79d
RH
244622002-02-05 Richard Henderson <rth@redhat.com>
24463
2e279a9b
RH
24464 PR fortran/3393
24465 * loop.c (loop_iv_add_mult_emit_before): Copy multiplier as well.
24466 (loop_iv_add_mult_sink, loop_iv_add_mult_hoist): Likewise.
24467
794ad79d
RH
24468 PR fortran/3392
24469 * config/mips/mips.c (function_arg): Handle TImode.
24470 (function_arg_advance): Likewise.
24471
8f909017
AH
244722002-02-05 Aldy Hernandez <aldyh@redhat.com>
24473
c13db5d1
JM
24474 * config/rs6000/altivec.h (vec_step_help): Rename to
24475 __vec_step_help.
8f909017 24476
66daa9e3
AH
244772002-02-05 Aldy Hernandez <aldyh@redhat.com>
24478
c13db5d1 24479 * config/rs6000/altivec.h: Fix typos.
66daa9e3 24480
2696e97b
JT
244812002-02-05 Jason Thorpe <thorpej@wasabisystems.com>
24482
24483 * config/arm/netbsd.h: Correct a comment.
24484
3deb2758
AH
244852002-02-05 Aldy Hernandez <aldyh@redhat.com>
24486
c13db5d1
JM
24487 * config/rs6000/rs6000.c (altivec_init_builtins): Fix typo
24488 building void typed builtins.
3deb2758 24489
c13db5d1
JM
24490 * config/rs6000/altivec.h (vec_ld*): Fix typos.
24491 (vec_step): Implement for C++.
3deb2758 24492
c13db5d1 24493Mon Feb 4 19:23:19 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2c79137a
RK
24494
24495 * final.c (final_scan_insn): Add case for NOTE_INSN_LOOP_END_TOP_COND.
24496
ebbb0a63
RH
244972002-02-04 Richard Henderson <rth@redhat.com>
24498
24499 * combine.c (nonzero_bits): Re-introduce special case for
24500 sp/fp/ap wrt REGNO_POINTER_ALIGN.
24501
ae4b4a02
AH
245022002-02-05 Aldy Hernandez <aldyh@redhat.com>
24503
c13db5d1
JM
24504 * doc/extend.texi: Warn about unsupported usage of altivec
24505 builtins.
ae4b4a02 24506
c13db5d1
JM
24507 * config/rs6000/rs6000.md (altivec_vcmp*_p): Remove.
24508 (altivec_predicate_*): New.
ae4b4a02 24509
c13db5d1
JM
24510 * config/rs6000/altivec.h: Rewrite predicates to use new builtins.
24511 Add C++ version of vec_*() functions.
ae4b4a02 24512
c13db5d1
JM
24513 * config/rs6000/rs6000.c (bdesc_altivec_preds): New.
24514 (bdesc_2arg): Remove altivec predicates.
24515 (altivec_expand_builtin): Handle predicates.
24516 (altivec_init_builtins): Handle predicates.
24517 (altivec_expand_predicate_builtin): New.
ae4b4a02 24518
f6bcf44c
JDA
245192002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
24520
24521 * pa.c (DO_FRAME_NOTES): Move forward.
24522 (store_reg): Revise handling of frame notes.
24523 (load_reg): Likewise.
24524 (set_reg_plus_d): Likewise.
24525 (hppa_expand_prologue): Likewise.
24526 (hppa_expand_epilogue): Likewise.
b137f9fc 24527
703b0080
JDA
245282002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
24529
24530 * unwind-dw2-fde-glibc.c: Define _GNU_SOURCE if not defined.
24531
6f9fdf4d
JJ
245322002-02-04 Jakub Jelinek <jakub@redhat.com>
24533
24534 PR c/4475, c++/3780:
24535 * c-common.def (SWITCH_STMT): Add SWITCH_TYPE operand.
24536 * c-common.h (SWITCH_TYPE): Define.
24537 * c-typeck.c (c_start_case): Set SWITCH_TYPE.
24538 * stmt.c (all_cases_count): Set lastval to thisval at end of loop.
24539 Rename spareness variable to sparseness.
24540 (expand_end_case_type): Renamed from expand_end_case, use orig_type
24541 if non-NULL instead of TREE_TYPE (orig_index).
24542 * tree.h (expand_end_case_type): Renamed from expand_end_case.
24543 (expand_end_case): Define using expand_end_case_type.
24544 * c-semantics.c (genrtl_switch_stmt): Pass SWITCH_TYPE
24545 to expand_end_case_type.
24546 * doc/c-tree.texi (SWITCH_STMT): Document SWITCH_TYPE.
24547
79109502
JDA
245482002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
24549
24550 * pa.h (PREFERRED_STACK_BOUNDARY): Define to match standard rounding.
24551 (BIGGEST_ALIGNMENT): Change to 128.
24552
e62a5987
JDA
245532002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
24554
24555 * pa32-linux.h (LINK_COMMAND_SPEC): Define.
24556
219f24a4
JDA
245572002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
24558
24559 * pa.md (call_internal_reg_64bit): Remove unused variable.
24560
3cb66fd7
NC
245612002-02-04 Nick Clifton <nickc@cambridge.redhat.com>
24562
24563 * config/arm/arm.h (machine_function): Add uses_anonymous_args
24564 field.
831c4e87 24565 (SETUP_INCOMING_VARARGS): Set uses_anonymous_args.
3cb66fd7 24566 * config/arm/arm.c (current_function_anonymous_args): Delete,
831c4e87
KC
24567 replace uses with cfun->machine->uses_anonymous_args.
24568 (arm_reorg): Do not reset uses_anonymous_args.
3cb66fd7
NC
24569
24570 * config/arm/arm.c (arm_hard_regno_mode_ok): Allow any value in
24571 any geenral register.
b137f9fc 24572
5d5603e2 245732001-02-04 Bernd Schmidt <bernds@redhat.com>s
24c545ff
BS
24574
24575 * cfgrtl.c (force_nonfallthru_and_redirect): Don't try to redirect
24576 the entry block.
24577
563c12b0
RH
245782002-02-04 Richard Henderson <rth@redhat.com>
24579
24580 * combine.c (force_to_mode): Remove STACK_BIAS code.
24581 (nonzero_bits): Likewise. Replace sp/fp special case with
24582 REGNO_POINTER_ALIGN.
24583
24584 * config/sparc/sparc.h (FRAME_POINTER_REGNUM): Change to SFP.
24585 (HARD_FRAME_POINTER_REGNUM): New.
24586 (FIRST_PSEUDO_REGISTER, REG_CLASS_CONTENTS): Update.
24587 (FIXED_REGS, CALL_USED_REGS): Update.
24588 (REG_ALLOC_ORDER, REGISTER_NAMES): Update.
24589 (CONDITIONAL_REGISTER_USAGE): Update for HFP.
24590 (HARD_REGNO_NREGS): Update for SFP.
24591 (STACK_POINTER_OFFSET): Include bias here ...
24592 (FIRST_PARM_OFFSET): ... not here.
24593 (STACK_BIAS): Remove.
24594 (INIT_EXPANDERS): New.
24595 (STARTING_FRAME_OFFSET): Do not include bias.
24596 (ELIMINABLE_REGS, CAN_ELIMINATE, INITIAL_ELIMINATION_OFFSET): New.
24597 (REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P): Update for SFP.
24598 (REG_OK_FOR_INDEX_P, REG_OK_FOR_BASE_P): Likewise.
24599 * config/sparc/aout.h (DBX_REGISTER_NUMBER): Update for HFP.
24600 * config/sparc/litecoff.h, config/sparc/sol2.h: Likewise.
24601 * config/sparc/sparc.c (mem_min_alignment): Update for HFP.
24602 (sparc_nonflat_function_prologue, epilogue_renumber): Likewise.
24603 (MUST_SAVE_REGISTER): Likewise.
24604 (sparc_flat_function_prologue): Likewise.
24605 (sparc_flat_function_epilogue): Likewise.
24606 (HARD_FRAME_POINTER_MASK): Rename from FRAME_POINTER_MASK.
24607 (sparc_init_modes): SFP is GENERAL_REGS.
24608 (sparc_builtin_saveregs): SFP does not have bias applied.
24609
14691f8d
RH
246102002-02-04 Richard Henderson <rth@redhat.com>
24611
24612 * config/alpha/alpha.c (current_function_is_thunk): Don't check
24613 current_function_is_thunk.
24614 (alpha_sa_mask): Distinguish between current_function_is_thunk
24615 called from ASM_OUTPUT_MI_THUNK and not.
24616 (alpha_does_function_need_gp): Thunks always need gp.
24617 (alpha_start_function, alpha_output_function_end_prologue): Likewise.
24618 (alpha_output_mi_thunk_osf): New.
24619 * config/alpha/alpha-protos.h: Update.
24620 * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): New.
24621
af702de8
RS
246222002-02-04 Richard Sandiford <rsandifo@redhat.com>
24623
24624 * c-typeck.c (build_c_cast): Warn when qualifiers are added to
24625 function types, not when they're taken away.
24626
5b1cacd8
JL
24627Mon Feb 4 09:05:58 2002 Jeffrey A Law (law@redhat.com)
24628
24629 * cfgrtl.c (try_redirect_by_replacing_jump): Remove associated
24630 CODE_LABEL and jump table when replacing a table jump with a
24631 simple jump.
24632
f3e9edff
UW
246332002-02-04 Ulrich Weigand <uweigand@de.ibm.com>
24634
24635 * config/s390/s390-protos.h (legitimize_la_operand,
24636 s390_secondary_input_reload_class, s390_plus_operand,
24637 s390_expand_plus_operand): Add prototypes.
24638
24639 config/s390/s390.c (s390_secondary_input_reload_class,
24640 s390_plus_operand, s390_expand_plus_operand): New functions.
24641
24642 (struct s390_address): New member 'pointer'.
24643 (s390_decompose_address): Compute it.
24644 (legitimate_la_operand_p): Use it.
24645 (legitimize_la_operand): New function.
24646 (movti, movdi, movdf splitters): Call it.
24647
24648 config/s390/s390.h (SECONDARY_INPUT_RELOAD_CLASS): Define.
24649 (PREDICATE_CODES): Add s390_plus_operand.
24650
24651 config/s390/s390.md (adddi3_inv_64, addaddr_ccclobber): Delete.
24652 (la_ccclobber): Allow GENERAL_REGS as output operand.
24653
24654 (reload_load_address, *reload_load_address_reg_0, *la, *do_la_reg_0,
24655 *reload_la_64, *reload_la_31 and splitters): Delete, replace by ...
24656 (*la_64, *la_31, reload_indi, reload_insi): ... these.
24657
3c9a08ec
UW
246582002-02-04 Ulrich Weigand <uweigand@de.ibm.com>
24659
24660 * gcc/config/s390/s390.h (CRT_CALL_STATIC_FUNCTION): Fixed
24661 register names for regular asm () construct.
24662
ac300a45
JJ
246632002-02-04 Jakub Jelinek <jakub@redhat.com>
24664
24665 * config/i386/i386.md (movsf_1): Allow moving SF values in MMX
24666 registers.
24667
fa852403
JJ
246682002-02-04 Jakub Jelinek <jakub@redhat.com>
24669
24670 * combine.c (recog_for_combine): Create a dummy insn with PATTERN
24671 pat for recog.
24672
fecaac37
HP
246732002-02-04 Hartmut Penner <hpenner@de.ibm.com>
24674
831c4e87
KC
24675 * varasm.c (decode_rtx_const): Allow unspec (symbol_ref) in
24676 constant pool to be identical by string address and index.
fecaac37 24677
10c45943
AG
246782002-02-04 Anthony Green <green@redhat.com>
24679
24680 * output.h (SECTION_OVERRIDE): Define.
24681 * varasm.c (named_section): Obey SECTION_OVERRIDE.
24682
69474c3c
JT
246832002-02-03 Jason Thorpe <thorpej@wasabisystems.com>
24684
24685 * config.gcc (arm*-*-netbsdelf*): Placeholder to prevent match
24686 by existing arm*-*-netbsd* (a.out) target.
24687 (ns32k-*-netbsdelf*): Likewise.
24688 (sparc-*-netbsdelf*): Likewise.
24689 (vax-*-netbsdelf*): Likewise.
24690
939a46f6 246912002-02-03 Danny Smith <dannysmith@users.sourceforge.net>
3b56934f
CF
24692
24693 * gthr-win32.h: Protect against conflicting typedef for BOOL in windows
24694 headers and libobjc headers.
24695
246962002-02-03 Mumit Khan <khan@nanotech.wisc.edu>
24697
24698 * gthr-win32.h (__mingwthr_key_dtor): Use extern "C" linkage for C++.
24699 (_mingw.h): Remove duplicate include.
24700
2fd95d71
JT
247012002-02-03 Jason Thorpe <thorpej@wasabisystems.com>
24702
24703 * config.gcc: Set cpu_type to m68k for 68010, as well.
24704 (m68010-*-netbsdelf*): New...
24705 (m68k*-*-netbsdelf*): ...targets.
24706 * config/m68k/netbsd-elf.h: New file.
24707
0ea6f6a0
KH
247082002-02-02 Kazu Hirata <kazu@hxi.com>
24709
24710 * config/h8300/h8300.c (hand_list): Move inside function_arg.
24711
cbf1b2da
KH
247122002-02-02 Kazu Hirata <kazu@hxi.com>
24713
24714 * config/h8300/h8300.c (h8_push_ops): Move inside
24715 h8300_init_once.
24716 (h8_pop_ops): Likewise.
24717 (h8_move_ops): Likewise.
24718
0869f126
KH
247192002-02-02 Kazu Hirata <kazu@hxi.com>
24720
24721 * config/h8300/h8300.c (os_task): Make it static.
24722 (monitor): Likewise.
24723 (pragma_saveall): Likewise.
24724
90e65b70
AO
247252002-02-02 Alexandre Oliva <aoliva@redhat.com>
24726
24727 * config/sh/sh.md (ic_invalidate_line): Make sure the immediate
24728 constant is a valid sign-extension for Pmode.
24729
9cbcd983
KH
247302002-02-02 Kazu Hirata <kazu@hxi.com>
24731
24732 * config/h8300/h8300.c: Fix formatting.
24733
7a27efc4
KH
247342002-02-02 Kazu Hirata <kazu@hxi.com>
24735
24736 * config/h8300/h8300.md: Fix formatting.
24737
54175a44
KH
247382002-02-02 Kazu Hirata <kazu@hxi.com>
24739
24740 * config/h8300/h8300.md (one_cmpl patterns): Tighten the
24741 predicates of operands[1]. Split the patterns for each
24742 processor variant.
24743
eceb1755
KH
247442002-02-02 Kazu Hirata <kazu@hxi.com>
24745
24746 * config/h8300/h8300.md (xor patterns): Tighten the predicates
24747 of operands[1] to register_operand.
24748
0fef3fd0
NB
247492002-02-02 Neil Booth <neil@daikokuya.demon.co.uk>
24750
24751 * cpphash.h (struct spec_nodes): Remove n__CHAR_UNSIGNED__.
24752 * cpphash.c (_cpp_init_hashtable): Similarly.
24753 * cppinit.c (cpp_create_reader): Default the signed_char flag.
24754 (init_builtins): Define __CHAR_UNSIGNED__ appropriately.
24755 (COMMAND_LINE_OPTIONS): Recognise -f{un,}signed-char.
24756 (cpp_handle_option): Handle the new options.
24757 * cpplex.c (cpp_interpret_charconst): Use new flag.
24758 * cpplib.h (struct cpp_options): New member signed_char.
24759 * gcc.c (cpp_unique_options): Remove %c spec and documentation.
24760 (cpp_options): Handle -fsigned-char and -funsigned-char.
24761 (static_specs): Remove signed_char_spec.
24762 (do_spec1): Don't handle %c.
24763 * system.h: Poison SIGNED_CHAR_SPEC.
24764 * tradcif.y (yylex): Use flag_signed_char.
24765 * tradcpp.h (flag_signed_char): New.
24766 * tradcpp.c (flag_signed_char): New.
24767 (main): Handle new command-line options.
24768 (initialize_builtins): Define __CHAR_UNSIGNED__ if appropriate.
24769config:
24770 * alpha/alpha.h (SIGNED_CHAR_SPEC): Remove.
24771 * avr/avr.h: Remove old comments.
24772 * i960/i960.h (CPP_SPEC): Pass -fsigned-char if -mic*.
24773 (CC1_SPEC): Pass -fsigned-char if -mic*.
24774 (SIGNED_CHAR_SPEC): Remove.
24775doc:
24776 * tm.texi (SIGNED_CHAR_SPEC): Remove documentation.
24777
0617ed52
EC
247782002-02-01 Eric Christopher <echristo@redhat.com>
24779
24780 From Daniel Jacobowitz <dmj+@andrew.cmu.edu>
24781 * config/mips/mips.h (FUNCTION_PROFILER): Fix function profiling.
24782 * config/mips/linux.h (ASM_OUTPUT_REG_PUSH): Undefine.
24783 (ASM_OUTPUT_REG_POP): Ditto.
24784
dfd48d76
NB
247852002-02-02 Neil Booth <neil@daikokuya.demon.co.uk>
24786
24787 * c-decl.c, tree.c, tree.h, objc/objc-act.c: Revert bitfield
24788 patch.
24789
4a23409e
JJ
247902002-02-02 Jakub Jelinek <jakub@redhat.com>
24791
24792 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Add missing | separators.
24793
d3c52658
JJ
247942002-02-02 Jakub Jelinek <jakub@redhat.com>
24795
24796 PR c/5304:
24797 * expmed.c (expand_mult_highpart): Use immed_double_const for wide_op1
24798 unconditionally.
24799
02c5a3bd
JJ
248002002-02-01 Janis Johnson <janis187@us.ibm.com>
24801
24802 * cfganal.c: Include tm_p.h.
24803 (keep_with_call_p): Fix the test that determines if a register holds
24804 the return value of a call.
24805
3968de80
DD
248062002-02-01 DJ Delorie <dj@redhat.com>
24807
24808 * config/sparc/sparc.c (sparc_emit_set_symbolic_const64): If
24809 we are given conflicting registers, switch to the other one we
24810 had allocated for us.
24811 * config/sparc/sparc.md (reload_indi, reload_outdi): Pass op[2]
24812 as TImode so we know when the "other" register is available.
24813
1338ea6c
DB
248142002-02-01 David O'Brien <obrien@FreeBSD.org>
24815
24816 * config/sparc/sol2-sld-64.h: Include sparc/biarch64.h rather than
24817 sparc/sparc_bi.h.
24818
f015be23
JJ
248192002-02-01 Janis Johnson <janis187@us.ibm.com>
24820
24821 * cfganal.c (keep_with_call_p): New function.
24822 (flow_call_edges_add): Prevent splitting a block between a call and
24823 a single-set instruction that should be kept in the same block.
24824
63708ffc
CR
248252002-02-01 Craig Rodrigues <rodrigc@gcc.gnu.org>
24826
24827 * doc/install.texi (avr): Update outdated URL.
24828
5ee4950e
AH
248292002-01-30 Andrew Haley <aph@cambridge.redhat.com>
24830
831c4e87
KC
24831 * config/stormy16/stormy16.md (pushqi): New.
24832 (popqi): New.
24833 (pushhi): New.
24834 (pophi): New.
24835 (movhi): Remove stack operands.
24836 (movqi): Likewise.
24837 * config/stormy16/stormy16.h (PREDICATE_CODES): Add
24838 nonimmediate_nonstack_operand.
24839 * config/stormy16/stormy16.c (nonimmediate_nonstack_operand):
24840 New.
24841 * config/stormy16/stormy16-protos.h (nonimmediate_nonstack_operand)
24842 New.
5ee4950e 24843
b88c0704
JM
248442002-01-31 Jason Merrill <jason@redhat.com>
24845
24846 * Makefile.in (c-parse.c): Handle .output file.
24847 * objc/Make-lang.in (objc-parse.c): Likewise.
24848
ac282977
AO
248492002-02-01 Alexandre Oliva <aoliva@redhat.com>
24850
24851 * config/mips/mips.h (ENDIAN_SPEC): Output the endianness flag if
24852 the -me[lb] option is given. Don't output the default flag
24853 twice.
24854
bebc7e8b
ZW
248552002-01-31 Zack Weinberg <zack@codesourcery.com>
24856
24857 * c-lex.c (yyparse): Call debug_hooks->start_source_file for
24858 the primary source file; this has not been done yet.
24859 * c-decl.c (c_expand_body): Reset input_filename from
24860 DECL_SOURCE_FILE (fndecl) before calling init_function_start.
24861
5809eb5f
KH
248622002-01-31 Kazu Hirata <kazu@hxi.com>
24863
24864 * rtlanal.c (subreg_regno_offset): Do not use
24865 SUBREG_REGNO_OFFSET.
24866 * system.h: Add SUBREG_REGNO_OFFSET to the GCC poison list.
24867 * doc/tm.texi (SUBREG_REGNO_OFFSET): Remove.
24868
8512bbd7
JM
248692002-01-31 Joseph S. Myers <jsm28@cam.ac.uk>
24870
24871 * gccbug.in: Follow GNU Coding Standards for --version. Use GCC
24872 version rather than GNATS version in --version output.
24873
74cb3cc8
RS
248742002-01-31 Richard Sandiford <rsandifo@redhat.com>
24875
24876 * ifcvt.c (noce_process_if_block): Make a copy of the destination
24877 when copying back from a temporary.
24878
874b5b14
RH
248792002-01-30 Richard Henderson <rth@redhat.com>
24880
24881 * ifcvt.c (dead_or_predicable): Handling merging when other_bb
24882 and new_dest are the same.
24883
e803a64b
RH
248842002-01-30 Richard Henderson <rth@redhat.com>
24885
89cf7be5 24886 PR opt/5076
e803a64b
RH
24887 * rtl.h (NOTE_INSN_LOOP_END_TOP_COND): New.
24888 * rtl.c (note_insn_name): Update.
24889 * emit-rtl.c (remove_unnecessary_notes): Kill it.
24890 * stmt.c (expand_end_loop): Kill jump opt code. Use LOOP_END_TOP_COND
24891 to perform loop rotation.
24892 (expand_exit_loop_top_cond): New.
24893 * tree.h (expand_exit_loop_top_cond): Declare it.
24894 * c-semantics.c (genrtl_while_stmt): Use it.
24895 (genrtl_for_stmt): Likewise.
24896
0b51254d
AO
248972002-01-30 Alexandre Oliva <aoliva@redhat.com>
24898
24899 * config/mips/mips.h (PARM_BOUNDARY): Guarantee alignment of
24900 arguments to 64-bit boundaries on 64-bit ABIs.
24901
71cef493
SE
249022002-01-30 Steve Ellcey <sje@cup.hp.com>
24903
24904 * loop.c (loop_invariant_p): Special case pic_offset_table_rtx.
24905
6169e5fd
JM
249062002-01-31 Joseph S. Myers <jsm28@cam.ac.uk>
24907
24908 * c-decl.c (grokdeclarator): Handle type being a typedef for an
24909 invalid type.
24910
86f808dc
DB
249112002-01-30 David O'Brien <obrien@FreeBSD.org>
24912
24913 * config.gcc: Include sparc/biarch64.h rather than sparc/sparc_bi.h.
24914 * config/sparc/sparc_bi.h: Remove file.
24915 * config/sparc/biarch64.h: New file (rename of sparc_bi.h).
24916
5748ebeb
RH
249172002-01-30 Richard Henderson <rth@redhat.com>
24918
24919 * sched-deps.c (sched_analyze): Make a call read the frame pointer.
24920
20d32cc2
ZW
249212002-01-30 Zack Weinberg <zack@codesourcery.com>
24922
24923 * expmed.c (emit_store_flag): Call protect_from_queue on op0 and op1.
24924
b88c0704 249252002-01-30 Jason Merrill <jason@redhat.com>
6bb28965
JM
24926
24927 * dwarf2out.c (dwarf_cfi_name): Add other DWARF 3 codes.
24928 (output_cfi): Likewise. Disable DW_CFA_GNU_negative_offset_extended.
24929 (reg_save): Use DW_CFA_offset_extended_sf instead.
24930
24931 * dwarf2out.c (dwarf2out_finish): Don't abort if there were errors.
24932
37060e78
JJ
249332002-01-29 Jakub Jelinek <jakub@redhat.com>
24934
24935 * cselib.c (cselib_record_sets): Use IF_THEN_ELSE result
24936 in cselib_lookup.
24937
d18dba68
AH
249382002-01-29 Aldy Hernandez <aldyh@redhat.com>
24939
bebc7e8b
ZW
24940 * rs6000.md ("*call_value_local32"): Remove constraints.
24941 ("*call_value_local64"): Same.
24942 ("*call_value_indirect_nonlocal_aix32"): Same.
24943 ("*call_value_nonlocal_aix32"): Same.
24944 ("*call_value_indirect_nonlocal_aix64"): Same.
24945 ("*call_value_nonlocal_aix64"): Same.
24946 ("*call_value_nonlocal_sysv"): Same.
d18dba68 24947
80a8aac6
RH
249482002-01-29 Richard Henderson <rth@redhat.com>
24949
24950 * config/alpha/elf.h (SDB_DEBUGGING_INFO): Undef.
24951
12beba6f
RH
249522002-01-29 Richard Henderson <rth@redhat.com>
24953
24954 * expr.c (force_operand): Ignore flag_pic for detecting pic
24955 address loads.
24956 * regclass.c (init_reg_sets_1): Test fixed_regs not flag_pic
24957 for determining if PIC_OFFSET_TABLE_REGNUM is call-clobbered.
24958 * resource.c (mark_target_live_regs): Use regs_invalidated_by_call
24959 instead of open-coded loop.
24960 * doc/tm.texi (PIC_OFFSET_TABLE_REGNUM): Clarify that it must
24961 be fixed when in use.
24962
2583081e
RH
249632002-01-29 Richard Henderson <rth@redhat.com>
24964
24965 * sched-int.h (struct deps_reg): Add uses_length, clobbers_length.
24966 * sched-rgn.c (propagate_deps): Update them.
24967 * sched-deps.c (sched_analyze_insn): Update them. Flush the
24968 clobbers list when either gets too long.
24969
3b8d200e
JJ
249702002-01-29 Jakub Jelinek <jakub@redhat.com>
24971
24972 * config/i386/i386.h (LIMIT_RELOAD_CLASS): Handle LEGACY_REGS
24973 and INDEX_REGS the same as GENERAL_REGS.
24974 (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.
24975
2d3115eb
NB
249762002-01-29 Neil Booth <neil@daikokuya.demon.co.uk>
24977
bebc7e8b 24978 * tree.c (build_nonstandard_integer_type): Correct prototype.
2d3115eb 24979
ecbe845e
UW
249802002-01-29 Ulrich Weigand <uweigand@de.ibm.com>
24981
bebc7e8b 24982 * config/s390/s390.md (movstrsico, movstrdix_64,
ecbe845e 24983 movstrsix_31): Remove, replace by ...
bebc7e8b 24984 (movstrdi_short, movstrsi_short, movstrdi_long,
ecbe845e
UW
24985 movstrsi_long): ... these. New.
24986 (movstrdi, movstrsi): Adapt.
24987
24988 (rotldi3, rotlsi3, ashldi3, *ashldi3_31, *ashldi3_64,
bebc7e8b 24989 ashlsi3, lshrdi3, *lshrdi3_31, *lshrdi3_64, lshrsi3):
ecbe845e
UW
24990 Remove unnecessary CC clobber.
24991 (*ashrdi3_cc_31, *ashrdi3_cconly_31, *ashrdi3_cc_64,
24992 *ashrdi3_cconly_64, *ashrsi3_cc, *ashrsi3_cconly): New.
24993
24994 (divmoddi4): Don't partially initialize TImode register.
24995
0b32fca5
GK
249962002-01-29 Geoffrey Keating <geoffk@redhat.com>
24997
24998 * doc/sourcebuild.texi (C Tests): Document gcc.dg/debug directory.
24999
08ef5437
RH
250002002-01-29 Richard Henderson <rth@redhat.com>
25001
25002 * flow.c (print_rtl_and_abort): Remove.
25003 (print_rtl_and_abort_fcn): Remove.
25004 (verify_local_live_at_start): Use dump_bb instead.
25005 (verify_wide_reg): Likewise. Take a basic_block, not rtl endpoints.
25006 (verify_wide_reg_1): Return 2 on mode test failure.
25007
8469e54e
NB
250082002-01-29 Neil Booth <neil@daikokuya.demon.co.uk>
25009
25010 PR c/3325, c/3326, c/2511, c/3347
25011 * c-decl.c (enum_decl_context): Remove BITFIELD.
25012 (grokdeclarator): Take bitfield width as an input.
25013 Ensure bitfields are given the correct type. Perform
25014 bitfield width validation with build_bitfield_integer_type
25015 rather than waiting for finish_struct.
25016 (grok_typename, grok_typename_in_parm_context, start_decl,
25017 push_parmdecl, grokfield, start_function): Update calls to
25018 grokdeclarator.
25019 (build_bitfield_integer_type): New function.
25020 (finish_struct): Move bitfield validation to grokdeclarator
bebc7e8b 25021 and build_bitfield_integer_type.
8469e54e
NB
25022 * tree.c (build_nonstandard_integer_type): New function.
25023 * tree.h (build_nonstandard_integer_type): New prototype.
25024objc:
25025 * objc-act.c (objc_copy_list): Remove DECL_INITIAL kludge.
25026
ffdeea47
JJ
250272002-01-29 Jakub Jelinek <jakub@redhat.com>
25028
25029 PR other/1502:
25030 * cppinit.c (cpp_handle_option): Add ignore argument, if it is zero,
25031 don't ignore unrecognized -W* options.
25032 (cpp_handle_options): Pass 1 as last argument to cpp_handle_option.
25033 * cpplib.h (cpp_handle_option): Adjust prototype.
25034 * c-decl.c (c_decode_options): Pass 0 as last argument to
25035 cpp_handle_option.
25036
25037 PR c/2896:
25038 * gcc.c (cpp_unique_options): Split from cpp_options.
25039 (cpp_options): Source cpp_unique_options.
25040 (default_compilers): Use cpp_unique_options instead of cpp_options
25041 when used together with cc1_options.
25042 (static_specs): Add cpp_unique_options.
25043 * objc/lang-specs.h: Use cpp_unique_options instead of cpp_options
25044 when used together with cc1_options.
25045
1a275226
KH
250462002-01-29 Kazu Hirata <kazu@hxi.com>
25047
25048 * config/h8300/h8300-protos.h: Update the prototype of
25049 output_a_shift.
25050 * config/h8300/h8300.c (output_a_shift): Remove an unused
25051 argument 'insn'. Remove redundant code.
25052 * config/h8300/h8300.md: Adust to the new prototype of
25053 output_a_shift.
25054
a11d9dfc
KH
250552002-01-29 Kazu Hirata <kazu@hxi.com>
25056
25057 * config/h8300/h8300-protos.h: Update the prototypes of
25058 emit_a_rotate and expand_a_rotate.
25059 * config/h8300/h8300.c (emit_a_rotate): Change the type of the
25060 first argument to 'enum rtx_code'.
25061 (expand_a_rotate): Likewise.
25062
871f73e3
KH
250632002-01-28 Kazu Hirata <kazu@hxi.com>
25064
25065 * config/h8300/h8300-protos.h: Update the prototype of
25066 output_simode_bld.
25067 * config/h8300/h8300.c (output_simode_bld): Remove an argumen
25068 'log2'.
25069 * config/h8300/h8300.md: Adjust to the new prototype.
25070
5fc4b751
KH
250712002-01-28 Kazu Hirata <kazu@hxi.com>
25072
25073 * conifg/h8300/h8300.c (h8300_adjust_insn_length): Remove
25074 redundant code.
25075
2d67bd7b
JDA
250762002-01-28 John David Anglin <dave@hiauly1.hia.nrc.ca>
25077
25078 * emit-rtl.c (gen_rtx_REG): Check that the PIC_OFFSET_TABLE_REGNUM
25079 is a fixed register before returning pic_offset_table_rtx.
25080 * loop.c (scan_loop): Don't hoist insns that set pic_offset_table_rtx
25081 when PIC_OFFSET_TABLE_REG_CALL_CLOBBERED is defined.
25082
5a852b3e
JM
250832002-01-28 Jason Merrill <jason@redhat.com>
25084
6bb28965 25085 * dwarf2.h: Sync with src version.
5a852b3e 25086
3bca17dd
PK
250872002-01-28 Paul Koning <pkoning@equallogic.com>
25088
25089 * builtin-types.def (BT_FN_VOID_CONST_PTR_VAR): Replace
25090 BT_FN_VOID_PTR_VAR.
25091 * builtins.def (BUILT_IN_PREFETCH): Change first argument to be const.
25092 * doc/extend.texi (__builtin_prefetch): Update documentation:
25093 first argument is now const void ptr.
25094
7dc3f8c0
KH
250952002-01-28 Kazu Hirata <kazu@hxi.com>
25096
25097 * config/h8300/h8300-protos.h: Remove an unused prototype.
25098
e83cb5f0
RZ
250992002-01-28 Roman Zippel <zippel@linux-m68k.org>
25100
25101 * toplev.c (lang_independent_init): Round up identifier size.
25102
5721cd84
RE
251032002-01-28 Richard Earnshaw <rearnsha@arm.com>
25104
25105 * config.gcc: Revert previous change.
25106
d534119e
AP
251072002-01-28 Andris Pavenis <pavenis@latnet.lv>
25108
25109 * config/i386/djgpp.h: Use STRIP_NAME_ENCODING in macro UNIQUE_SECTION
25110
5a721dab
RE
251112002-01-28 Richard Earnshaw <rearnsha@arm.com>
25112
25113 * config.gcc (*-*-netbsdelf*): Set up generic parameters.
25114 (*-*-netbsd*): Always use collect2. Remove collect2 settings from
25115 other non-elf netbsd config frags.
25116 * config/netbsd-aout.h (STARTFILE_SPEC): Don't pull in c++rt0 since
25117 collect2 will does that.
25118 * config/netbsd.h (LIBGCC_SPEC): Add white space before -lgcc, so that
25119 shared-lib frobbing will work.
25120
da1775d6
KH
251212002-01-28 Kazu Hirata <kazu@hxi.com>
25122
25123 * config/h8300/h8300.h: Fix formatting.
25124 * config/h8300/h8300.md: Likewise.
25125
8f2e963b
LR
251262002-01-28 Loren J. Rittle <ljrittle@acm.org>
25127
25128 * fixinc/inclhack.def (strict_ansi_not): Add a bypass based on
25129 the old, removed AAA_standards fix.
25130 * fixinc/fixincl.x: Rebuilt.
25131
fdae5767
HPN
251322002-01-28 Hans-Peter Nilsson <hp@axis.com>
25133
25134 * config/cris/cris.h (CRT_CALL_STATIC_FUNCTION): Change to emit
25135 atexit call in crtbegin, hooked in after call to frame_dummy;
25136 register EH before registering __fini__start.
25137
2a2ecb63
AH
251382002-01-28 Aldy Hernandez <aldyh@redhat.com>
25139
25140 * config/rs6000/altivec.h: Remove spurious semicolons.
25141
8ed43adf
KH
251422002-01-27 Kazu Hirata <kazu@hxi.com>
25143
25144 * config/h8300/h8300.md: Replace dead bit extraction patterns
25145 with ones that work.
25146
917afb0c
RK
25147Sun Jan 27 13:23:40 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
25148
25149 * emit-rtl.c (get_mem_attrs): Don't default alignment for non-BLKmode
25150 if not STRICT_ALIGNMENT.
25151 * rtl.h (MEM_ALIGN): Likewise.
25152
f70a54cb
CR
251532002-01-27 Craig Rodrigues <rodrigc@gcc.gnu.org>
25154
25155 * doc/invoke.texi (-fdump-translation-unit): Revert this
25156 patch: 2001-10-21 Craig Rodrigues <rodrigc@gcc.gnu.org>
25157
d8fd4914
KH
251582002-01-27 Kazu Hirata <kazu@hxi.com>
25159
25160 * config/h8300/h8300.md (define_constants): New.
25161 (anonymous patterns) Use defined constants appropriately.
25162
15e0e275
KH
251632002-01-27 Kazu Hirata <kazu@hxi.com>
25164
25165 * config/h8300/h8300.c (function_arg): Remove redundant code.
25166
37a0f8a5
RH
251672002-01-26 Richard Henderson <rth@redhat.com>
25168
25169 * sched-deps.c (reg_pending_uses_head): New.
25170 (reg_pending_barrier): Rename from reg_pending_sets_all.
25171 (find_insn_list): Don't mark inline.
25172 (find_insn_mem_list): Remove.
25173 (add_dependence_list, add_dependence_list_and_free): New.
25174 (flush_pending_lists): Replace only_write param with separate
25175 for_read and for_write parameters. Update all callers. Use
25176 add_dependence_list_and_free.
25177 (sched_analyze_1): Do not add reg dependencies here; just set
25178 the pending bits. Use add_dependence_list.
25179 (sched_analyze_2): Likewise.
25180 (sched_analyze_insn): Replace schedule_barrier_found with
25181 reg_pending_barrier. Add all dependencies for pending reg
25182 uses, sets, and clobbers.
25183 (sched_analyze): Don't add reg dependencies for calls, just
25184 set pending bits. Use regs_invalidated_by_call. Treat
25185 sched_before_next_call as a normal list, not a fake insn.
25186 (init_deps): No funny init for sched_before_next_call.
25187 (free_deps): Free pending mems lists. Don't zero reg_last.
25188 (init_deps_global): Init reg_pending_uses.
25189 (finish_deps_global): Free it.
25190 * sched-int.h (deps): Make in_post_call_group_p boolean. Update docs.
25191 (find_insn_mem_list): Remove.
25192 * sched-rgn.c (concat_INSN_LIST, concat_insn_mem_list): New.
25193 (propagate_deps): Use them. Zero temp mem lists.
25194
cea3bd3e
RH
251952002-01-26 Richard Henderson <rth@redhat.com>
25196
25197 * Makefile.in (CRTSTUFF_CFLAGS): New.
25198 (crtbegin.o, crtend.o, crtbeginS.o, crtendS.o, crtbeginT.o): Use it.
25199 * config.gcc (alpha-linux, alpha-freebsd, alpha-netbsd): Use plain
25200 crtstuff.c instead of alpha assembly version.
25201 * crtstuff.c (CRT_CALL_STATIC_FUNCTION): Rewrite to assume the
25202 entire dummy function sequence. Use FORCE_CODE_SECTION_ALIGN
25203 not FORCE_{INIT,FINI}_SECTION_ALIGN.
25204 (__do_global_dtors_aux): Mark used.
25205 (frame_dummy, __do_global_ctors_aux): Mark used.
25206 (fini_dummy, init_dummy): Remove.
25207
25208 * config/alpha/crtbegin.asm: Remove file.
25209 * config/alpha/crtend.asm: Remove file.
25210 * config/alpha/t-crtbe: Remove file.
25211 * config/alpha/elf.h (CRT_CALL_STATIC_FUNCTION): New.
25212 (LINK_EH_SPEC): New.
25213
25214 * config/cris/cris.h (CRT_CALL_STATIC_FUNCTION): Rewrite old
25215 FORCE_INIT_SECTION_ALIGN hack. Register __fini_start before
25216 calling constructors.
25217 * config/cris/linux.h (CRT_CALL_STATIC_FUNCTION): Undef.
25218
25219 * config/i386/i386.h (CRT_CALL_STATIC_FUNCTION): New.
25220 * config/i386/linux.h (CRT_CALL_STATIC_FUNCTION): Replace old
25221 CRT_END_INIT_DUMMY hack.
25222 * config/i386/sol2.h (FORCE_CODE_SECTION_ALIGN): Replace
25223 FORCE_{INIT,FINI}_SECTION_ALIGN.
25224
25225 * config/mcore/mcore-elf.h (FORCE_CODE_SECTION_ALIGN): Replace
25226 FORCE_{INIT,FINI}_SECTION_ALIGN.
25227
25228 * config/s390/s390.h (CRT_CALL_STATIC_FUNCTION): Update for new
25229 invocation sequence.
25230 * config/sh/sh.h (CRT_CALL_STATIC_FUNCTION): Likewise.
25231
25232 * doc/tm.texi (CRT_CALL_STATIC_FUNCTION): Update.
25233 (FORCE_CODE_SECTION_ALIGN): New.
25234
60ffa0e5
RH
252352002-01-26 Richard Henderson <rth@redhat.com>
25236
25237 * config/cris/cris.c (cris_print_operand): Handle 64-bit CONST_INT.
25238
61334ebe
RH
252392002-01-26 Richard Henderson <rth@redhat.com>
25240
25241 * config/alpha/alpha.c (alpha_sa_mask): Mark RA for unicos here too.
25242 (alpha_sa_size): Use alpha_sa_mask to compute size of saved regs.
25243
1d788fb6
KH
252442002-01-26 Kazu Hirata <kazu@hxi.com>
25245
25246 * config/h8300/h8300.md: Remove bit extraction patterns that
25247 cannot be triggered.
25248 Restrict each bit extraction pattern to a variant on which the
25249 pattern is tested.
25250
87611f88
JM
252512002-01-26 Joseph S. Myers <jsm28@cam.ac.uk>
25252
25253 * doc/include/texinfo.tex: Update to version 2002-01-04.07.
25254
cd74ec59
KH
252552002-01-26 Kazu Hirata <kazu@hxi.com>
25256
25257 * config/h8300/h8300.md: Remove bit test patterns that cannot
25258 be triggered.
25259 Restrict each bit test pattern to a variant on which the
25260 pattern is tested.
25261
93051e0f
KG
252622002-01-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
25263
25264 * builtins.c (expand_builtin_strncat): Remove redundant check for
25265 INTEGER_CST.
25266
216c995f
DB
252672002-01-25 David O'Brien <obrien@FreeBSD.org>
25268
25269 * config/i386/x86-64.h (DEFAULT_PCC_STRUCT_RETURN): Do not overide
25270 default setting.
25271 * config/i386/freebsd64.h (DEFAULT_PCC_STRUCT_RETURN): Do not override
25272 existing setting.
25273
33c7f925
GK
252742002-01-25 Geoffrey Keating <geoffk@redhat.com>
25275
25276 * dbxout.c (dbxout_init): Use assemble_name rather than just
25277 stripping off the first character.
25278 (dbxout_source_file): Likewise.
25279
6cd444b4
DD
252802002-01-25 DJ Delorie <dj@redhat.com>
25281
25282 * config/sparc/sparc.c (sparc_emit_set_symbolic_const64): Compare
25283 using rtx_equal_p, not by comparing pointers.
25284
751551d5
SE
252852002-01-25 Steve Ellcey <sje@cup.hp.com>
25286
25287 * emit-rtl.c (gen_rtx_REG): Always return the same rtx
25288 for PIC_OFFSET_TABLE_REGNUM.
25289 (init_emit_once): Use gen_raw_REG to initialize pic_offset_table_rtx.
25290
e564e618
DB
252912002-01-25 David O'Brien <obrien@FreeBSD.org>
25292
25293 * config.gcc (x86_64-*-freebsd*): New target.
25294 (x86_64-*-netbsd*,x86_64-*-linux*): Use ${tm_file} rather than its
25295 value.
25296 (i[34567]86-*-freebsd*): Don't include svr4.h.
25297 * config/i386/freebsd64.h: New file.
25298
ff3aaf17
DR
252992002-01-25 Douglas B Rupp <rupp@gnat.com>
25300
4857d29d
DR
25301 * config/alpha/x-vms (version): Make static.
25302
25303 * config/alpha/vms.h (MD_FALLBACK_FRAME_STATE_FOR): Fix error
25304 in previous checkin.
25305
ff3aaf17
DR
25306 * Makefile.in (install-headers-cp): New target.
25307 * config.gcc (alpha-dec-*vms*): Install headers with
25308 install-headers-cp
25309
48d79c43
JH
25310Fri Jan 25 22:42:49 CET 2002 Jan Hubicka <jh@suse.cz>
25311
25312 * unroll.c (unroll_loop): Lower final_value to nonmemory operand;
25313 avoid it's copies.
25314
995b5904
RK
25315Fri Jan 25 08:26:19 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
25316
25317 * builtins.c (expand_builtin_strncpy): Use integer_zerop instead
25318 of compare_tree_int.
25319 (expand_builtin_strncat): Likewise.
25320 * c-decl.c (finish_struct): Use tree_low_cst.
25321 * tree.h (compare_tree_int): Arg is unsigned HOST_WIDE_INT.
25322 * tree.c (compare_tree_int): Likewise.
25323
75eefe3f
UW
253242002-01-25 Ulrich Weigand <uweigand@de.ibm.com>
25325
25326 * reload1.c (eliminate_regs_in_insn): Recognize frame pointer
25327 adjustments even if they are implemented by more than two insns.
25328
5a133afd
JH
25329Fri Jan 25 20:43:56 CET 2002 Jan Hubicka <jh@suse.cz>
25330
995b5904 25331 * df.c (df_ref_create, df_ref_record_1, df_ref_record): Kill BB arg.
5a133afd
JH
25332 * df.h (struct ref): Kill B.
25333 (DF_REF_BB, DF_REF_BBNO): Use BLOCK_FOR_INSN.
25334
25335 * basic-block.h (PROP_EQUAL_NOTES): New flag.
25336 * flow.c (propagate_one_insn): Use it.
25337 (mark_used_regs): Handle NIL.
25338
ead39bdf 253392002-01-25 Geoffrey Keating <geoffk@redhat.com>
3d8dd3c0
GK
25340
25341 * config/stormy16/stormy16.md (tablejump_pcrel): Use a MEM
25342 to help folding.
25343
01a2ccd0
DE
253442002-01-25 David Edelsohn <edelsohn@gnu.org>
25345
25346 * rs6000.md (prefetch): Make address V4SI mode so that the address
25347 is restricted to legitimate form for instruction.
25348
fd29f6ea
BW
253492002-01-25 Bob Wilson <bob.wilson@acm.org>
25350
25351 * doc/install.texi (xtensa-*-elf): New target.
25352 (xtensa-*-linux*): New target.
25353 * doc/contrib.texi: Add myself.
25354
55492b32
NC
253552002-01-25 Nick Clifton <nickc@cambridge.redhat.com>
25356
25357 * config/arm/arm.c (arm_hard_regno_mode_ok): Allow any general
25358 purpose register to hold an SImode (or smaller) value.
25359
72c7c913
JJ
253602002-01-25 Jakub Jelinek <jakub@redhat.com>
25361
25362 * unwind-dw2-fde-glibc.c: If inhibit_libc, use __register_frame*
25363 registry only.
25364 * crtstuff.c: Likewise.
25365
c4df4ceb
KH
253662002-01-25 Kazu Hirata <kazu@hxi.com>
25367
25368 * config/h8300/h8300.md (negation patterns): Tighten
25369 predicates to register_operand.
25370
70e531f5
AH
253712002-01-24 Aldy Hernandez <aldyh@redhat.com>
25372
3bca17dd
PK
25373 * loop.c (emit_prefetch_instructions): Use the prefetch insn's
25374 mode, not Pmode.
70e531f5 25375
3bca17dd 25376 * builtins.c (expand_builtin_prefetch): Same.
70e531f5 25377
a4f76ef9
AO
253782002-01-24 Alexandre Oliva <aoliva@redhat.com>
25379
25380 * config/sh/sh.md (sym_label2reg): Make sure all CONSTs have
25381 modes.
25382
9bf25b09
KH
253832002-01-24 Kazu Hirata <kazu@hxi.com>
25384
25385 * config/h8300/h8300.c (print_operand): Remove support for
25386 operand character 'A'.
25387 * config/h8300/h8300.md (three anonymous patterns): Replace
25388 operand character 'A' with either 'T' or 'S'.
25389
974af6a5
KH
253902002-01-24 Kazu Hirata <kazu@hxi.com>
25391
25392 * config/h8300/h8300.c (print_operand): Remove support for
25393 operand character 'U'.
25394
7a5bb7b8
AP
253952002-01-24 Andris Pavenis <pavenis@latnet.lv>
25396
3bca17dd 25397 * config/i386/t-djgpp: Use NATIVE_SYSTEM_HEADER_DIR.
7a5bb7b8 25398
92a4639e
NC
253992002-01-24 Nick Clifton <nickc@cambridge.redhat.com>
25400
25401 * config/arm/arm.c (arm_hard_regno_mode_ok): Allow SImode
25402 values to be assigned to the stack pointer.
25403
467cb2da
HP
254042002-01-14 Hartmut Penner <hpenner@de.ibm.com>
25405
bebc7e8b 25406 * emit_rtl.c (gen_lowpart_common): Conversion from const_int
467cb2da
HP
25407 to const_double needs to be done right for big-endian systems.
25408
3b6cb920
JM
254092002-01-24 Jason Merrill <jason@redhat.com>
25410
b08dd119 25411 PR c++/2432
3b6cb920
JM
25412 * config/sparc/sparc.md (call-jump peepholes): Pass the right insn
25413 to can_throw_internal.
25414
f3077311
RH
254152002-01-23 Richard Henderson <rth@redhat.com>
25416
25417 * fold-const.c (fold): Change UINT_MAX test to check vs precision
25418 rather than TYPE_MAX_VALUE. Fix indentation and a bogus negation.
25419
e1d71275
AO
254202002-01-24 Alexandre Oliva <aoliva@redhat.com>
25421
25422 * config/sh/sh.md (symGOT_load, sym2GOT, sym2GOTOFF): New expands.
25423 (symGOT2reg): Use them, then set as GOT value as unchanging.
25424 (symGOTOFF2reg): Set REG_EQUAL note. Use a different pseudo
25425 as a temporary, if possible.
25426 (symPLT_label2reg): Enclose (pc) in UNSPEC_PIC. Emit
25427 sym@PLT-(.LPCS#+2-.) instead of sym@PLT+.-(.LPCS#+2).
25428
dc271dbe
KH
254292002-01-23 Kazu Hirata <kazu@hxi.com>
25430
25431 * config/h8300/h8300.md: Fix xorqi and xorqi so that they will
25432 accept to accept 0x80 as operands[2].
25433
1a9017f9
AO
254342002-01-24 Alexandre Oliva <aoliva@redhat.com>
25435
25436 * config/sparc/sparc.md (fix_trunctfdi2): Correct typo in mode.
25437
6932f033
RH
254382002-01-23 Richard Henderson <rth@redhat.com>
25439
25440 * config/alpha/alpha.md (call_value_osf_1_er peepholes): Fix typo.
25441
709619d9
AH
254422002-01-23 Aldy Hernandez <aldyh@redhat.com>
25443
3bca17dd
PK
25444 * c-parse.in (parmlist_or_identifiers): Add maybe_attribute.
25445 (parmlist_or_identifiers_1): Verify that only a parmlist follows
25446 an attribute.
709619d9 25447
3d709fd3
RH
254482002-01-23 Richard Henderson <rth@redhat.com>
25449
25450 * expr.c (move_by_pieces_1): Extend size before negation.
25451
88a446c0
RH
25452 * config/m68k/t-m68kbare (MULTILIB_OPTIONS): Add 68040 and 68060.
25453 (MULTILIB_MATCHES): Remove 68040 and 68060 aliases.
25454 (MULTILIB_EXCEPTIONS): Ignore 68881 and soft-float for 68040 and 68060.
25455 * config/m68k/t-m68kelf: Likewise.
25456
03984308
BW
254572002-01-23 Bob Wilson <bob.wilson@acm.org>
25458
25459 * config/xtensa/elf.h: New file.
25460 * config/xtensa/lib1funcs.asm: New file.
25461 * config/xtensa/lib2funcs.S: New file.
25462 * config/xtensa/linux.h: New file.
25463 * config/xtensa/t-xtensa: New file.
25464 * config/xtensa/xtensa-config.h: New file.
25465 * config/xtensa/xtensa-protos.h: New file.
25466 * config/xtensa/xtensa.c: New file.
25467 * config/xtensa/xtensa.h: New file.
25468 * config/xtensa/xtensa.md: New file.
25469 * config.gcc (xtensa-*-elf*): New target.
25470 (xtensa-*-linux*): New target.
25471 * cse.c (canon_hash): Compare rtx pointers instead of register
25472 numbers. This is required for the Xtensa port.
25473 * integrate.c (copy_insn_list): Handle case where the static
25474 chain is in memory and the memory address has to be copied to
25475 a register.
25476 * doc/invoke.texi (Option Summary): Add Xtensa options.
25477 (Xtensa Options): New node.
25478 * doc/md.texi (Machine Constraints): Add Xtensa machine constraints.
25479
c3d5c3fa
ZW
254802002-01-23 Zack Weinberg <zack@codesourcery.com>
25481
a63bea75
ZW
25482 * diagnostic.c (internal_error): Do ICE suppression only
25483 when ENABLE_CHECKING is not defined.
25484
c3d5c3fa
ZW
25485 * c-typeck.c (require_complete_type): Return error_mark_node
25486 if type is error_mark_node.
25487
1398974c
JJ
254882002-01-23 Janis Johnson <janis187@us.ibm.com>
25489
25490 * toplev.c (process_options): Disable -fprefetch-loop-arrays with
25491 -Os and issue a warning.
25492
807633e5
ZW
254932002-01-23 Zack Weinberg <zack@codesourcery.com>
25494
25495 * doc/fragments.texi, doc/hostconfig.texi: Update to reflect
25496 current (lack of) need for host configuration by hand.
25497
25498 * doc/gccint.texi, doc/rtl.texi, doc/tm.texi: Adjust cross
25499 references. Documentation of some target macros moved from
25500 hostconfig.texi to tm.texi.
25501
cf8002d0
WC
255022002-01-23 Will Cohen <wcohen@redhat.com>
25503
25504 * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Define if not currently
25505 defined.
25506
d1e76310
KH
255072002-01-23 Kazu Hirata <kazu@hxi.com>
25508
25509 * config/h8300/h8300.md (*andorhi3): Accept 0x8000 as an
25510 operand[3].
25511
b2115575
JM
255122002-01-23 Jason Merrill <jason@redhat.com>
25513
f893c16e
JM
25514 * tree.c (build1): Don't set TREE_READONLY on INDIRECT_REF.
25515
b2115575
JM
25516 * function.c (assign_parms): Don't put args of inline functions
25517 into registers when not optimizing.
25518
6bacc7b0
NC
255192002-01-23 Nick Clifton <nickc@cambridge.redhat.com>
25520
25521 * config/arm/arm.md (UNSPEC_PROLOGUE_USE): New unspec constant.
25522 (prologue_use): New pattern.
25523 * config/arm/arm.c (expand_prologue): Use gen_prologue_use in
25524 preference to gen_rtx_USE.
25525 (thumb_expand_prologue): Use gen_prologue_use in preference to
25526 gen_rtx_USE.
25527 (thumb_expand_epilogue): Use gen_prologue_use in preference to
25528 gen_rtx_USE.
25529
a415f7bc
HPN
255302002-01-23 Hans-Peter Nilsson <hp@bitrange.com>
25531
25532 * loop.c [!HAVE_prefetch] (CODE_FOR_prefetch): Define to 0.
25533
5372b3fb
NB
255342002-01-23 Neil Booth <neil@daikokuya.demon.co.uk>
25535
25536 PR c/3504
25537 * doc/extend.texi: Correct documentation of __alignof__.
25538
bd571ffc
ZW
255392002-01-22 Zack Weinberg <zack@codesourcery.com>
25540
25541 * params.h: Rename arguments of DEFPARAM so that it will be
25542 recognized as a translation keyword.
25543
333c8841
AH
255442002-01-22 Aldy Hernandez <aldyh@redhat.com>
25545
bd571ffc
ZW
25546 * extend.texi: Document altivec functions.
25547 Fix N-bit adjectives in X86 builtin documentation.
333c8841 25548
38979c65
AO
255492002-01-22 Alexandre Oliva <aoliva@redhat.com>
25550
25551 * reload.c (reg_overlap_mentioned_for_reload_p): Handle PLUS and
25552 auto_inc_dec values.
25553
7458a9f0
RE
255542002-01-22 Richard Earnshaw <rearnsha@arm.com>
25555
25556 * config/netbsd-aout.h (SWITCH_TAKES_ARG): Remove bogus white space
25557 after backslash.
25558 (ASM_DECLARE_OBJECT_NAME): Add missing backslash before final line.
25559
129bd0c4
AO
255602002-01-22 Alexandre Oliva <aoliva@redhat.com>
25561
25562 * config/i386/freebsd-aout.h (ASM_QUAD): Undefine.
25563
8b9b74a9
RH
255642002-01-22 Richard Henderson <rth@redhat.com>
25565
25566 * config/alpha/alpha.c (split_small_symbolic_mem_operand): Use
25567 copy_insn not copy_rtx.
25568
d0c9db30
AM
255692002-01-23 Alan Modra <amodra@bigpond.net.au>
25570
25571 * combine.c (simplify_and_const_int): Don't trunc_int_for_mode
25572 "nonzero" as that might add "1" bits. Ensure "constop" is
25573 properly sign extened.
25574 (force_to_mode): Tweak for sign extended constop.
25575
1e7e480e
RH
255762002-01-22 Richard Henderson <rth@redhat.com>
25577
25578 * config/alpha/alpha.c (some_small_symbolic_mem_operand) Use
25579 for_each_rtx instead of assuming we're already looking at the MEM.
25580 (split_small_symbolic_mem_operand): Likewise.
25581 * config/alpha/alpha.h (PREDICATE_CODES): Update.
25582 * config/alpha/alpha.md (small symbolic memory splitters): Update.
25583
255842002-01-22 Richard Henderson <rth@redhat.com>
2e271932
RH
25585
25586 * config/alpha/alpha.md (divmodsi_internal_er): Generate lituse
25587 sequence number for the literal.
25588 (divmoddi_internal_er): Likewise.
25589
b7f2fb96
CR
255902002-01-22 Craig Rodrigues <rodrigc@gcc.gnu.org>
25591
25592 PR java/4972
25593 * aclocal.m4 (AM_ICONV): Put linking flags for libiconv
25594 in LIBICONV variable.
25595 * configure: Regenerated.
25596
f66a0046
KW
255972002-01-22 Krister Walfridsson <cato@df.lth.se>
25598
25599 * dependence.c (build_def_use): Remove array_idx.
25600
e3b0efd1
KW
25601 * dwarfout.c (last_filename): Remove.
25602 (output_compile_unit_die): Remove last_filename.
25603
d8086cbb
RS
256042002-01-22 Roger Sayle <roger@eyesopen.com>
25605 Richard Henderson <rth@redhat.com>
25606
25607 PR opt/3640
25608 * fold-const.c (fold): Optimize unsigned comparisons against
25609 UINT_MAX (and similar unsigned constants).
25610
e8d52ba0
JJ
256112002-01-22 Janis Johnson <janis187@us.ibm.com>
25612
d8086cbb 25613 * Makefile.in (loop.o): Depend on OPTABS_H.
1398974c 25614 * loop.c (emit_prefetch_instructions): Check the prefetch operand
d8086cbb 25615 against the predicate.
11303d15 25616
e8d52ba0
JJ
25617 PR target/5379
25618 * config/i386/i386.md (prefetch_sse): Specify "p" as a constraint
25619 for the address operand.
25620
cc7b420e
RH
256212002-01-22 Richard Henderson <rth@redhat.com>
25622
25623 * config/alpha/freebsd.h (FUNCTION_PROFILER): Remove.
25624
816e265a
CR
256252002-01-22 Craig Rodrigues <rodrigc@gcc.gnu.org>
25626
25627 PR other/5450
cc7b420e
RH
25628 * config/i386/sysv4.h (CPP_SPEC): Define, and add CPU
25629 preprocessor flags.
816e265a 25630
7c884404
JT
256312002-01-22 Jason Thorpe <thorpej@wasabisystems.com>
25632
25633 * config.gcc (x86_64-*-netbsd*): New target.
25634 * config/i386/netbsd64.h: New file.
25635
2b672c08
AH
256362002-01-22 Aldy Hernandez <aldyh@redhat.com>
25637
d8086cbb 25638 * regrename.c (kill_value): Fix typo.
2b672c08
AH
25639
256402002-01-22 Aldy Hernandez <aldyh@redhat.com>
25641
d8086cbb 25642 * doc/tm.texi: Remove STARTING_FRAME_PHASE.
2b672c08 25643
d8086cbb 25644 * config/rs6000/rs6000.h: Same.
2b672c08 25645
d8086cbb
RS
25646 * function.c (instantiate_virtual_regs): Remove
25647 STARTING_FRAME_PHASE.
25648 (assign_stack_local_1): Same.
25649 Calculate frame phase.
2b672c08 25650
4b02997f
NC
256512002-01-22 Nick Clifton <nickc@redhat.com>
25652
25653 * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Move 'regno'
25654 variable declaration to outer scope in order to simplify
25655 future extensions.
25656 (HARD_REGNO_MODE_OK): Replace macro body with a with a call to
25657 arm_hard_regno_mode_ok.
25658 * config/arm/arm-protos.h: Add a prototype for
25659 arm_hard_regno_mode_ok.
25660 * config/arm/arm.c (soft_df_operand): Remove now redundant
25661 check for DImode values using IP_REGNUM.
25662 (nonimmediate_soft_df_operand): Remove now redundant check for
25663 DImode values using IP_REGNUM.
25664 (arm_hard_regno_mode_ok): New function. New check: make sure
25665 that DImode values are not stored in IP_REGNUM.
c14a3a45
NC
25666
25667 * config/arm/arm.c (arm_expand_prologue): Replace REG_MAYBE_DEAD
25668 note with a USE.
25669 (thumb_expand_prologue): Replace REG_MAYBE_DEAD note with a USE.
25670
8a827ab2
JM
256712002-01-22 Jason Merrill <jason@redhat.com>
25672
25673 * c-semantics.c (genrtl_compound_stmt): Only check nesting
25674 consistency if this COMPOUND_STMT is scoped.
25675
cf403648
KH
256762002-01-22 Kazu Hirata <kazu@hxi.com>
25677
25678 * predict.c: Fix formatting.
25679 * print-tree.c: Likewise.
25680 * protoize.c: Likewise.
25681 * real.h: Likewise.
25682 * rtl.h: Likewise.
25683 * sbitmap.h: Likewise.
25684 * scan.c: Likewise.
25685 * sched-deps.c: Likewise.
25686 * sched-vis.c: Likewise.
25687 * sdbout.c: Likewise.
25688 * sibcall.c: Likewise.
25689 * ssa.c: Likewise.
25690 * ssa-ccp.c: Likewise.
25691 * ssa-dce.c: Likewise.
25692 * stmt.c: Likewise.
25693 * stor-layout.c: Likewise.
25694 * system.h: Likewise.
25695
aea9695c
RK
25696Tue Jan 22 06:26:33 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
25697
a8765ae7
RK
25698 * tree.c (int_fits_type_p): If bounds of a subtype are variable, see
25699 if fits in bounds of base type.
25700
aea9695c
RK
25701 * dwarf2out.c (equate_decl_number_to_die): Add "int" to decls.
25702 (loc_descriptor_from_tree, case CALL_EXPR, case ADDR_EXPR): New.
25703 (add_bound_info, default): If can't find a context, make a
25704 SAVE_EXPR.
25705 (dwarf2out_finish): Check for SAVE_EXPR in node->created_for.
25706
58bf601b
HPN
257072002-01-22 Hans-Peter Nilsson <hp@axis.com>
25708
25709 * c-typeck.c (parser_build_binary_op): If result from
25710 build_binary_op is ERROR_MARK just return error_mark_node without
25711 further processing.
25712
f982f805
JT
257132002-01-21 Jason Thorpe <thorpej@wasabisystems.com>
25714
25715 * config/netbsd.h (TARGET_HAS_F_SETLKW): define.
25716 Split a.out-specific bits into...
25717 * config/netbsd-aout.h: ...this.
25718 * config/netbsd-elf.h: New file.
25719 * config/alpha/netbsd-elf.h: Remove.
25720 * config/alpha/netbsd.h: Rewrite for a NetBSD/alpha ELF target.
25721 * config/i386/netbsd-elf.h (LIB_SPEC): Remove.
bd571ffc 25722 (STARTFILE_SPEC): Remove redundant definition.
f982f805
JT
25723 (ENDFILE_SPEC): Likewise.
25724 (LINK_SPEC): Likewise.
25725 (CPP_SPEC): Likewise.
25726 (ASM_SPEC): Likewise.
25727 (LIB_SPEC): Likewise.
25728 (SWITCH_TAKES_ARG): Likewise.
25729 (TARGET_MEM_FUNCTIONS): Likewise.
25730 (CPP_PREDEFINES): Redefine.
25731 (ASM_FINAL_SPEC): Remove redefinition.
25732 (ASM_COMMENT_START): Redefine.
25733 (FUNCTION_PROFILER): Define.
25734 (TARGET_VERSION): Redefine.
25735 Comment and formatting cleanup.
25736 * config/i386/netbsd.h: Include <netbsd-aout.h>.
25737 * config/m68k/netbsd.h: Include <netbsd-aout.h>.
25738 * config/mips/netbsd.h: Rewrite for NetBSD/mips ELF target,
25739 big- or little-endian.
25740 * config/ns32k/netbsd.h: Include <netbsd-aout.h>.
25741 * config.gcc (*-*-netbsd*): Add definitions common to all
25742 NetBSD configs.
25743 (alpha*-*-netbsd*): Remove redundant xm_defines, gas, and
25744 gnu_ld definitions. Add netbsd-elf.h to and remove
25745 alpha/netbsd-elf.h from tm_file. Remove alpha/t-crtfm from
25746 tmake_file, and don't lose previous tmake_file contents.
25747 (arm*-*-netbsd*): Add netbsd-aout.h to tm_file.
25748 (i[34567]86-*-netbsdelf*): Remove redundant xm_defines, gas, and
25749 gnu_ld definitions. Add netbsd-elf.h to tm_file.
25750 (mips-dec-netbsd*): Remove as alias for mipsel-*-netbsd*.
25751 (mipsel-*-netbsd*): Rename this to...
25752 (mips*-*-netbsd*): ...this. Add elfos.h to tm_file. Add
25753 mips/little.h to tm_file for mips*el-*.
25754 (powerpc-*-netbsd*): Remove redundant xm_defines definition.
25755 (sparc-*-netbsd*): Add netbsd-aout.h to tm_file.
25756 (vax-*-netbsd*): Add netbsd-aout.h to tm_file.
25757
2e396476
JDA
257582002-01-21 John David Anglin <dave@hiauly1.hia.nrc.ca>
25759
25760 * pa-protos.h (reg_before_reload_operand): New function prototype.
25761 * pa.c (reg_before_reload_operand): New function implementation.
25762 * pa.md (decrement_and_branch_until_zero, movb): Use it. Change "!*m"
25763 contraints to "*m".
25764
3b5708e7
FS
257652002-01-21 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
25766
25767 * combine.c (simplify_and_const_int): Properly sign-extend CONSTOP.
25768
85e79f96
JDA
257692002-01-21 John David Anglin <dave@hiauly1.hia.nrc.ca>
25770
25771 * pa64-hpux.h (MD_EXEC_PREFIX): Set to "/usr/ccs/bin".
25772 (MD_STARTFILE_PREFIX): Set to "/usr/ccs/lib/pa20_64/".
25773 (MD_STARTFILE_PREFIX_1): Set to "/opt/langtools/lib/pa20_64/".
25774 (EH_FRAME_IN_DATA_SECTION): Define and update comment on init sections.
25775 (ENDFILE_SPEC): Undefine.
25776 (STARTFILE_SPEC): Redefine for PA.
25777
38abadee
FS
257782002-01-21 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
25779
25780 * config/rs6000/t-ppccomm (CRTSTUFF_T_CFLAGS_S): Re-add -fPIC.
25781
94f1d97c
DJ
257822002-01-21 Daniel Jacobowitz <drow@mvista.com>
25783
25784 * config.gcc: Add entries to supported PowerPC --with-cpu
25785 types.
25786
0333394e
JJ
257872002-01-21 Jakub Jelinek <jakub@redhat.com>
25788
25789 * config/i386/i386.c (ix86_function_arg_regno_p): Never return
25790 true for 64-bit mode only SSE registers in 32-bit mode.
25791
e9d1b155
KH
257922002-01-21 Kazu Hirata <kazu@hxi.com>
25793
25794 * unwind-dw2.c: Fix formatting.
25795 * unwind-dw2-fde.c: Likewise.
25796 * unwind-dw2-fde.h: Likewise.
25797 * unwind-pe.h: Likewise.
25798 * varasm.c: Likewise.
25799 * varray.h: Likewise.
25800
07338cf8
HPN
258012002-01-21 Hans-Peter Nilsson <hp@bitrange.com>
25802
25803 Remove workaround for register stack overwrite bug in mmix.
25804 * config/mmix/mmix.c (mmix_target_asm_function_prologue): Remove
25805 support for TARGET_REG_STACK_FILL_BUG.
25806 * config/mmix/mmix.h: Remove member has_call_without_parameters.
25807 (TARGET_MASK_REG_STACK_FILL_BUG, TARGET_REG_STACK_FILL_BUG):
25808 Delete.
25809 (TARGET_DEFAULT): Remove TARGET_MASK_REG_STACK_FILL_BUG.
25810 (TARGET_SWITCHES): Remove -mreg-stack-fill-bug-workaround and
25811 -mno-reg-stack-fill-bug-workaround.
25812 * config/mmix/mmix.md ("call", "call_value"): Don't set struct
25813 machine member has_call_without_parameters.
25814 * doc/invoke.texi (Option Summary) <MMIX Options>: Remove
25815 -mreg-stack-fill-bug-workaround and
25816 -mno-reg-stack-fill-bug-workaround.
25817 (MMIX Options): Ditto.
25818
7192cbf1
KH
258192002-01-21 Kazu Hirata <kazu@hxi.com>
25820
25821 * config/h8300/h8300.c (function_arg): Replace 0 with NULL_RTX
25822 as appropriate.
25823 Remove redundant code.
25824
d1552d7b
JM
258252002-01-21 Joseph S. Myers <jsm28@cam.ac.uk>
25826
25827 * config/alpha/alpha.h, config/arc/arc.h, config/avr/avr.h,
25828 config/c4x/c4x.h, config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
25829 config/fr30/fr30.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h,
25830 config/mips/mips.h, config/rs6000/rs6000.h, config/sparc/sparc.h,
25831 config/stormy16/stormy16.h, config/v850/v850.h: Remove commented
25832 out target macro definitions and non-target-specific comments
25833 mostly taken from old versions of the manual.
25834
ed168e45
KH
258352002-01-20 Kazu Hirata <kazu@hxi.com>
25836
25837 * config/h8300/h8300.h: Fix comment formatting.
25838 * config/ia64/aix.h: Likewise.
25839 * config/ia64/ia64-protos.h: Likewise.
25840 * config/ia64/ia64.c: Likewise.
25841 * config/ia64/ia64.h: Likewise.
25842 * config/ia64/ia64intrin.h: Likewise.
25843 * config/ia64/linux.h: Likewise.
25844 * config/ia64/unwind-aix.c: Likewise.
25845 * config/ia64/unwind-ia64.c: Likewise.
25846
005e3e05
KH
258472002-01-20 Kazu Hirata <kazu@hxi.com>
25848
25849 * config/h8300/h8300.c: Revise comments about shift code.
25850
64bead4c
KH
258512002-01-20 Kazu Hirata <kazu@hxi.com>
25852
25853 * config/h8300/h8300.c (function_arg): Update a comment.
25854
ed863595
KH
258552002-01-20 Kazu Hirata <kazu@hxi.com>
25856
25857 * config/h8300/h8300.md: Update the comments at the beginning
25858 of the file.
25859
5904dc87
KH
258602002-01-20 Kazu Hirata <kazu@hxi.com>
25861
25862 * config/i370/i370.c: Fix comment formatting.
25863 * config/i370/i370.h: Likewise.
25864 * config/i370/i370.md: Likewise.
25865 * config/i370/linux.h: Likewise.
25866
9702143f
RK
25867Sun Jan 20 18:40:14 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
25868
cbafacd1
RK
25869 * reg-stack.c (subst_stack_regs): Properly check for deleted insn.
25870
9702143f
RK
25871 * dwarf2out.c (loc_descriptor_from_tree): Add TRUTH_*_EXPR cases.
25872 (gen_struct_or_union_type_die): Don't SIGSEGV if no TYPE_STUB_DECL
25873 in incomplete case.
25874
6b6996b8
GS
258752002-01-20 Graham Stott <grahams@redhat.com>
25876
25877 * cfgloop.c (flow_loop_preheader_scan): Fix typo.
25878
eab854f6
JDA
258792002-01-19 John David Anglin <dave@hiauly1.hia.nrc.ca>
25880
25881 * config.gcc (hppa*64*-*-hpux11*): Fix tmake_file.
25882
5b029315
TR
258832002-01-19 Tom Rix <trix@redhat.com>
25884
25885 * config/rs6000/rs6000.md: Fix DF split for 64 bit hosts.
25886
1d690052
AH
258872002-01-18 Aldy Hernandez <aldyh@redhat.com>
25888
d8086cbb 25889 * doc/tm.texi (STARTING_FRAME_PHASE): Document.
1d690052 25890
d8086cbb
RS
25891 * function.c (assign_stack_local_1): Adjust x_frame_offset with
25892 STARTING_FRAME_PHASE.
25893 (STARTING_FRAME_PHASE): New.
25894 (instantiate_virtual_regs): Check saneness of
25895 STARTING_FRAME_PHASE.
1d690052 25896
d8086cbb 25897 * config/rs6000/rs6000.h (STARTING_FRAME_PHASE): New.
1d690052 25898
4dd8c093
AO
258992002-01-19 Alexandre Oliva <aoliva@redhat.com>
25900
25901 * config/sh/sh.md (movdf_i4 split): Fix alter_subreg calls.
25902
6f2a28d7
CR
259032002-01-18 Craig Rodrigues <rodrigc@gcc.gnu.org>
25904
25905 * doc/install.texi (hppa*-hp-hpux11): Clarify that GCC 2.95.x cannot
25906 be used for bootstrapping GCC 3.0.
25907
8763a465
KH
259082002-01-18 Kazu Hirata <kazu@hxi.com>
25909
25910 * config/h8300/h8300.md: Fix an insn length.
25911
3ef42a0c
KH
259122002-01-18 Kazu Hirata <kazu@hxi.com>
25913
25914 * bitmap.h: Fix comment formatting.
25915 * combine.c: Likewise.
25916 * cppfiles.c: Likewise.
25917 * c-pragma.h: Likewise.
25918 * c-typeck.c: Likewise.
25919 * df.c: Likewise.
25920 * dwarf2out.c: Likewise.
25921 * function.c: Likewise.
25922 * gcc.c: Likewise.
25923 * genattrtab.c: Likewise.
25924 * gthr-win32.h: Likewise.
25925 * haifa-sched.c: Likewise.
25926 * predict.c: Likewise.
25927 * rtlanal.c: Likewise.
25928 * rtl.h: Likewise.
25929 * unwind-dw2-fde.h: Likewise.
25930 * unwind-pe.h: Likewise.
25931 * vmsdbgout.c: Likewise.
25932
dd4dc3cd
RK
25933Thu Jan 17 15:28:26 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
25934
25935 * attribs.c (decl_attributes): Clear ATTR_FLAG_TYPE_IN_PLACE
25936 if type_required and passed decl.
25937
5fb4cf24
AH
259382002-01-17 Aldy Hernandez <aldyh@redhat.com>
25939
d8086cbb
RS
25940 * config.gcc (cpu_type): Include altivec.h in powerpc
25941 extra_headers.
25942 Same for darwin.
5fb4cf24 25943
d8086cbb 25944 * config/rs6000/altivec.h: New.
5fb4cf24 25945
2705baf5
DE
259462002-01-17 David Edelsohn <edelsohn@gnu.org>
25947
25948 * doc/install.texi (*-ibm-aix*): Update assembler and exception
25949 handling information.
25950 * doc/trouble.texi (Interoperation): Add libstdc++ information
25951 for AIX.
25952 (Misunderstandings): Add template instantiation and static template
25953 member information for AIX.
25954
dbd680e1
JM
259552002-01-17 Jason Merrill <jason@redhat.com>
25956
821adc5e
JM
25957 * dbxout.c (dbxout_type): Support const and volatile.
25958
dbd680e1
JM
25959 * except.c (add_partial_entry): Remove backwards compatibility code.
25960 (end_protect_partials): Likewise.
25961
d0e82870
JJ
259622002-01-17 Jakub Jelinek <jakub@redhat.com>
25963
25964 * config/ia64/ia64.md (prologue_use): New.
25965 * config/ia64/ia64.c (ia64_expand_prologue): Use
25966 gen_prologue_use instead of gen_rtx_USE.
25967 (group_barrier_needed_p): Handle CODE_FOR_prologue_use the same way
25968 as CODE_FOR_pred_rel_mutex.
25969 (ia64_sched_reorder2): Likewise.
25970
f9f45c65
EC
259712002-01-16 Eric Christopher <echristo@redhat.com>
25972
25973 * config/mips/r3900.h: Reformat.
25974 (SUBTARGET_CPP_SIZE_SPEC): Remove.
25975 * config/mips/isa3264.h (SUBTARGET_CPP_SIZE_SPEC): Ditto.
25976 * config/mips/mips.h (ABI_GAS_ASM_SPEC): Default to "".
25977 (SUBTARGET_CPP_SIZE_SPEC): Rewrite.
25978 * config/mips/t-elf: Remove mips3 multilib.
25979
c66c8b0e
L
259802002-01-16 H.J. Lu <hjl@gnu.org>
25981
25982 * config/mips/linux.h: Include "mips/abi64.h".
25983
5f083b72
L
259842002-01-16 H.J. Lu <hjl@gnu.org>
25985
25986 * config/mips/t-linux: New.
25987
25988 * config.gcc: Add mips/t-linux to tmake_file for mips*-*-linux*.
25989
25990 * config/mips/linux.h: Don't include "gofast.h".
25991 (INIT_SUBTARGET_OPTABS): Removed.
25992
af3c90a6
KH
259932002-01-16 Kazu Hirata <kazu@hxi.com>
25994
25995 * config/h8300/h8300-protos.h: Replace emit_a_shift with
25996 output_a_shift.
25997 * config/h8300/h8300.c: Likewise.
25998 * config/h8300/h8300.md: Likewise.
25999
a1bf0a16
KH
260002002-01-16 Kazu Hirata <kazu@hxi.com>
26001
26002 * config/h8300/h8300.md (pushqi1_h8300): Use a tab instead of
26003 spaces after an opcode name.
26004 (pushqi1_h8300hs): Likewise.
26005 (pushhi1_h8300hs): Likewise.
26006
88ab0d1c
KH
260072002-01-16 Kazu Hirata <kazu@hxi.com>
26008
26009 * doc/extend.texi: Replace "option" with "attribute"
26010 appropriately.
26011
51c561e3
JJ
260122002-01-16 Jakub Jelinek <jakub@redhat.com>
26013
26014 * config/alpha/alpha.c (some_small_symbolic_mem_operand): Look into
26015 (and:DI () (const_int -8)).
26016 (split_small_symbolic_mem_operand): Split
26017 (mem (and:DI () (const_int -8)).
26018
b8c1a6b8
JJ
260192002-01-16 Jakub Jelinek <jakub@redhat.com>
26020
26021 PR target/5309:
d8086cbb 26022 * config/sparc/sparc.c (ultrasparc_adjust_cost): Handle TYPE_IDIV the
b8c1a6b8
JJ
26023 same way as TYPE_IMUL.
26024 (ultrasparc_sched_reorder): Likewise.
26025 * config/sparc/sparc.md (type): Add comment to update
26026 ultrasparc_sched_reorder when making changes.
26027
1e4e4df2
KH
260282002-01-16 Kazu Hirata <kazu@hxi.com>
26029
26030 * doc/invoke.texi: Change the dump file name of block
26031 reordering pass from 28.bbro to 29.bbro.
26032 Mention -dk option.
26033
14d920c0
JH
26034Wed Jan 16 17:54:22 CET 2002 Jan Hubicka <jh@suse.cz>
26035
26036 * i386.md (minsf splitter): Fix pasto.
26037
2e99323f
NC
260382002-01-16 Nick Clifton <nickc@cambridge.redhat.com>
26039
26040 * config/arm/arm.c (arm_expand_prologue): Add REG_MAYBE_DEAD note
26041 to frame pointer initialisation instruction.
26042 (thumb_expand_prologue): Add REG_MAYBE_DEAD note to frame pointer
26043 initialisation instruction.
ab8081c1
NC
26044 (soft_df_operand): Do not accept the IP register.
26045 (nonimmediate_soft_df_operand): Do not accept the IP register.
2e99323f 26046
c4031a04
JJ
260472002-01-16 Jakub Jelinek <jakub@redhat.com>
26048
26049 PR target/5357:
26050 * config/sparc/sparc.c (sparc_override_options): Avoid MASK_V9 and
26051 MASK_V8 being both set.
26052
44b8152b
UW
260532002-01-16 Ulrich Weigand <uweigand@de.ibm.com>
26054
26055 * config/s390/s390.c (s390_emit_prologue): Do not emit USE
26056 insn for GOT register; add REG_MAYBE_DEAD notes instead.
26057 config/s390/s390.md (call, call_value): Add GOT register to
26058 CALL_INSN_FUNCTION_USAGE where needed.
26059 (call_exp, call_value_exp): New.
26060
1d6e90ac
NC
260612002-01-16 Nick Clifton <nickc@cambridge.redhat.com>
26062
26063 * config/arm/arm.c: General formatting tidy up.
26064
260652002-01-16 Graham Stott <grahams@redhat.com>
60e8b9f0
GS
26066
26067 * calls.c (try_to_integrate): Use "(size_t)" intermediate
26068 cast and when casting an integer literal to "rtx" pointer.
26069 (expand_call): Likewise.
26070 * flow.c (try_pre_increment): Likewise.
26071 (find_use_as_address): Likewise.
26072 * integrate.c (expand_iline_function): Likewise.
26073 * regmove.c (try_auto_increment): Likewise.
26074
1d6e90ac 260752002-01-16 Graham Stott <grahams@redhat.com>
7b25b076
GS
26076
26077 * sched-rgn.c (passed): Use sbitmap_free.
26078 (header): Likewise.
26079 (inner): Likewise.
26080 (in_queue): Likewise.
26081 (in_stack): Likewise.
26082
31fce3c4
EC
260832002-01-15 Eric Christopher <echristo@redhat.com>
26084
26085 * flow.c (propagate_one_insn): Change to use fatal_insn.
26086
c99d986a
KH
260872002-01-15 Kazu Hirata <kazu@hxi.com>
26088
26089 * expmed.c (extract_fixed_bit_field): Remove unused code.
26090 * system.h: Poison SLOW_ZERO_EXTEND.
26091 * doc/tm.texi: Remove.
26092 * config/1750a/1750a.h (SLOW_ZERO_EXTEND): Remove.
26093 * config/arm/arm.h: Likewise.
26094 * config/avr/avr.h: Likewise.
26095 * config/clipper/clipper.h: Likewise.
26096 * config/convex/convex.h: Likewise.
26097 * config/d30v/d30v.h: Likewise.
26098 * config/dsp16xx/dsp16xx.h: Likewise.
26099 * config/elxsi/elxsi.h: Likewise.
26100 * config/fr30/fr30.h: Likewise.
26101 * config/h8300/h8300.h: Likewise.
26102 * config/i370/i370.h: Likewise.
26103 * config/i386/i386.h: Likewise.
26104 * config/m68k/m68k.h: Likewise.
26105 * config/mips/mips.h: Likewise.
26106 * config/ns32k/ns32k.h: Likewise.
26107 * config/pdp11/pdp11.h: Likewise.
26108 * config/pj/pj.h: Likewise.
26109 * config/s390/s390.h: Likewise.
26110 * config/sh/sh.h: Likewise.
26111 * config/stormy16/stormy16.h: Likewise.
26112 * config/v850/v850.h: Likewise.
26113 * config/vax/vax.h: Likewise.
26114 * config/we32k/we32k.h: Likewise.
26115
acfab996
AH
261162002-01-15 Aldy Hernandez <aldyh@redhat.com>
26117
d8086cbb
RS
26118 * config/rs6000/rs6000.md (altivec_stvx): Add parallels to stvx.
26119 (altivec_lvsl): Change constraint to b.
26120 (altivec_lvsr): Same.
26121 (altivec_lvebx): Same.
26122 (altivec_lvehx): Same.
26123 (altivec_lvewx): Same.
26124 (altivec_lvxl): Same.
26125 (altivec_lvx): Same.
26126 (altivec_stvx): Add parallel.
26127 (altivec_stvxl): Same.
26128 (altivec_stvehx): Same.
26129 (altivec_stvebx): Same.
26130 (altivec_stvebx): Same.
acfab996 26131
5e505bc9
AH
261322002-01-15 Aldy Hernandez <aldyh@redhat.com>
26133
d8086cbb 26134 * config.gcc: Change altivec.h to altivec-defs.h.
5e505bc9 26135
d8086cbb 26136 * config/rs6000/altivec.h: Delete.
5e505bc9 26137
d8086cbb 26138 * config/rs6000/altivec-defs.h: Add.
5e505bc9 26139
5c41fdfb
JDA
261402002-01-15 John David Anglin <dave@hiauly1.hia.nrc.ca>
26141
26142 * vax.c (vax_rtx_cost): Return MAX_COST for unsupported MULT, UDIV
26143 and UMOD modes.
26144
26145 * vax.h (INDEX_TERM_P): Restrict indexing to modes which have a size
26146 less than or equal to eight bytes.
26147
26148 * vax.md (andsi3): Remove constraints and change SET destination
26149 operand type to nonimmediate_operand.
26150 (andhi3, andqi3): Likewise. Don't clear high order bits of operand 1
26151 when it is a CONST_INT.
26152
de097a2d
JM
261532002-01-15 Jason Merrill <jason@redhat.com>
26154
26155 * c-common.def (FILE_STMT): New code.
26156 * c-common.c (statement_code_p): It's a statement.
26157 * c-common.h (stmt_tree_s): Add x_last_filename.
26158 (FILE_STMT_FILENAME_NODE, FILE_STMT_FILENAME): New macros.
26159 (last_expr_filename): New macro.
26160 * c-semantics.c (begin_stmt_tree): Initialize it.
26161 (add_stmt): If the filename changed, also insert a
26162 FILE_STMT.
26163 (expand_stmt): Handle seeing one.
26164
4a913dd6
EC
261652002-01-15 Eric Christopher <echristo@redhat.com>
26166
26167 * flow.c (propagate_one_insn): Add error message and print out
26168 insn for debugging.
26169
006946e4
JM
261702002-01-15 Joseph S. Myers <jsm28@cam.ac.uk>
26171
26172 * system.h (ASM_IDENTIFY_GCC, STDC_VALUE, TRAMPOLINE_ALIGN,
26173 ASM_IDENTIFY_GCC_AFTER_SOURCE): Poison.
26174 * config/pdp11/pdp11.h (TRAMPOLINE_ALIGN): Rename to
26175 TRAMPOLINE_ALIGNMENT.
26176 * config/arm/arm.h, config/mcore/mcore.h: Likewise. Change value
26177 to be in bits.
26178 * config/i386/cygwin.h (PCC_BITFIELDS_TYPE_MATTERS): Rename to
26179 PCC_BITFIELD_TYPE_MATTERS.
26180 * config/interix.h (STDC_VALUE): Remove. Use
26181 STDC_0_IN_SYSTEM_HEADERS.
26182 * config/darwin.h (ASM_IDENTIFY_GCC), config/dsp16xx/dsp16xx.h
26183 (ASM_IDENTIFY_GCC), config/stormy16/stormy16.h (ASM_IDENTIFY_GCC,
26184 ASM_IDENTIFY_GCC_AFTER_SOURCE): Remove.
26185
751a1458
CR
261862002-01-15 Craig Rodrigues <rodrigc@gcc.gnu.org>
26187
26188 * doc/install.texi (hppa*-hp-hpux11): --enable-threads does
26189 not work on this platform currently.
26190
57771fe8
JM
261912002-01-15 Joseph S. Myers <jsm28@cam.ac.uk>
26192
26193 * c-typeck.c (build_unary_op): Don't wrap msgid argument of
26194 readonly_warning in _().
26195
0e83ceb1 261962002-01-15 Douglas B Rupp <rupp@gnat.com>
9a52433e 26197
0e83ceb1 26198 * gcc.c (delete_if_ordinary): Backout previous change.
9a52433e 26199
8e2e89f7
KH
262002002-01-15 Kazu Hirata <kazu@hxi.com>
26201
0e83ceb1
DR
26202 * config/h8300/h8300.c (print_operand): Remove support for
26203 unused operand characters.
26204
8e2e89f7
KH
26205 * read-rtl.c: Fix formatting.
26206 * real.c: Likewise.
26207 * recog.c: Likewise.
26208 * regclass.c: Likewise.
26209 * regmove.c: Likewise.
26210 * reg-stack.c: Likewise.
26211 * reload1.c: Likewise.
26212 * rtlanal.c: Likewise.
26213
b531087a
KH
262142002-01-15 Kazu Hirata <kazu@hxi.com>
26215
26216 * config/i386/i386.c: Fix formatting.
26217
7c94ce7f
JJ
262182002-01-15 Jakub Jelinek <jakub@redhat.com>
26219
26220 * c-typeck.c (process_init_element): Don't save_expr
26221 COMPOUND_LITERAL_EXPR if just its initializer will be used.
26222
6041bf2f
DE
262232002-01-15 David Edelsohn <edelsohn@gnu.org>
26224
26225 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Do not
26226 emit optional traceback table if optimize_size or TARGET_ELF.
26227 * config/rs6000/rs6000.md (prefetch): New.
26228
8559c8c0
AJ
262292002-01-15 Andreas Jaeger <aj@suse.de>
26230
26231 * config.gcc (x86_64-*-*): Install mmintrin.h and xmmintrin.h.
26232
70f122f2
KH
262332002-01-15 Kazu Hirata <kazu@hxi.com>
26234
26235 * mips-tfile.c: Fix formatting.
26236
6a7b4ca6
JH
26237Tue Jan 15 00:56:11 CET 2002 Jan Hubicka <jh@suse.cz>
26238
26239 * unroll.c (final_reg_note_copy): Fix previous commit.
26240
e7afe229
KH
262412002-01-14 Kazu Hirata <kazu@hxi.com>
26242
26243 * config/h8300/h8300-protos.h: Remove the prototype for
26244 eq_operator.
26245 * config/h8300/h8300.c (eq_operator): Remove.
26246
7d378549
RH
262472002-01-14 Richard Henderson <rth@redhat.com>
26248
26249 * config/i386/i386.md (prefetch): Tidy.
26250 (prefetch_3dnow): Fix locality operand.
26251
ab093b81
RH
262522002-01-14 Richard Henderson <rth@redhat.com>
26253
26254 * config/mips/mips.h (HI_AND_FP_REGS): New register class.
26255 (CLASS_CANNOT_CHANGE_MODE): Disallow HI in little-endian mode.
26256
d300f51f
HPN
262572002-01-14 Hans-Peter Nilsson <hp@bitrange.com>
26258
26259 * reload1.c (reload_combine): Pass reg_sum replacement through
26260 copy_rtx in loop performing multiple changes.
26261
655dd289
JJ
262622002-01-14 Jakub Jelinek <jakub@redhat.com>
26263
26264 * except.c (remove_unreachable_regions): New.
26265 (free_eh_status): Clear exception_handler_labels.
26266 (convert_from_eh_region_ranges): Call remove_unreachable_regions.
26267 (find_exception_handler_labels): Don't add the same label more than
26268 once.
26269 (remove_exception_handler_label): Don't die if
26270 find_exception_handler_labels hasn't been called for the current
26271 function yet.
26272
1fba46a7
JH
26273Mon Jan 14 21:26:13 CET 2002 Jan Hubicka <jh@suse.cz>
26274
26275 * toplev.c (rest_of_compilation): Rebuild jump labels after
26276 gcse.
26277
0975678f
JM
262782002-01-14 Joseph S. Myers <jsm28@cam.ac.uk>
26279
26280 * doc/extend.texi: Move documentation of X86 built-in functions
26281 here.
26282 * doc/invoke.texi: From here.
26283 * doc/sourcebuild.texi: Document location of documentation for
26284 machine built-in functions.
26285
969815c7
CF
262862002-01-13 Christopher Faylor <cgf@redhat.com>
26287
26288 * cppfiles.c (TEST_THRESHOLD): New macro.
26289 (SHOULD_MMAP): Ditto.
26290 (read_include_file): Use SHOULD_MMAP macro to decide when mmap should
26291 be used.
26292
494c950b
JH
26293Mon Jan 14 20:23:34 CET 2002 Jan Hubicka <jh@suse.cz>
26294
26295 * unroll.c (final_reg_note_copy): Properly handle
26296 REG_LABEL
26297 (unroll_loops): Fix LOOP_CONDITION heuristics.
26298
69a0611f
GK
262992002-01-14 Geoffrey Keating <geoffk@redhat.com>
26300
26301 * doc/invoke.texi (Xstormy16 Options): Add xstormy16 option.
26302 * doc/md.texi (Machine Constraints): Use @minus{} where appropriate.
26303
b90e45ae
JH
26304Mon Jan 14 20:18:19 CET 2002 Jan Hubicka <jh@suse.cz>
26305
26306 * cfgcleanup.c (try_forward_edges): Avoid infinite loop at infinite
26307 threaded loop.
26308
8377288b
TR
263092002-01-14 Tom Rix <trix@redhat.com>
26310
26311 * config/rs6000/rs6000.md: Fix typo with sradi.
26312
9f37ccb1
UW
263132002-01-14 Ulrich Weigand <uweigand@de.ibm.com>
26314
26315 * config/s390/s390.md (movstrdix_64, movstrsix_31, movstrdi_64,
26316 movstrsi_31, clrstrsi_64, clrstrsi_31): Improve RTL templates.
26317 (clrstrdi, clrstrsi): Adapt callers.
26318
26319 (extendsidi2, zero_extendsidi2): Remove no-conflict blocks.
26320
8559c8c0 26321 (movti splitter): Never use register 0 as base register.
9f37ccb1 26322
6c2d03d0
HP
263232002-01-14 Hartmut Penner <hpenner@de.ibm.com>
26324
8559c8c0
AJ
26325 * combine.c (simplify_shift_const): Always generate new rtx
26326 for shift expression instead of reusing given expression.
6c2d03d0 26327
d3e98208
RK
26328Mon Jan 14 07:08:55 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
26329
26330 * config/alpha/alpha.c (alpha_expand_mov): Don't call
26331 alpha_legitimize_address unless mode is Pmode.
26332
9f339dde
GK
263332002-01-13 Geoffrey Keating <geoffk@redhat.com>
26334
26335 * doc/md.texi (Modifiers): Document the '*' constraint for the
26336 user.
26337
26338 * doc/md.texi (Machine Constraints): Add constraints for xstormy16.
26339 * doc/extend.texi (Function Attributes): 'interrupt' is valid
26340 for xstormy16 too.
26341
02a10130
RH
263422002-01-13 Richard Henderson <rth@redhat.com>
26343
26344 * reload.c (find_reloads): Use a hard reg destination as reload reg
26345 for an input reload of the source.
26346
61d47787
GP
263472002-01-13 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
26348
26349 * doc/install.texi (Binaries): Make link to ftp.writtenword.com
26350 more generic.
26351
f0df8029
DR
26352Sun Jan 13 07:23:01 2002 Douglas B Rupp <rupp@gnat.com>
26353
26354 * Makefile.in (LIB2FUNCS): Split into LIB2FUNCS_1 and LIB2FUNCS_2.
26355 * mklibgcc.in (LIB2FUNCS): Split into LIB2FUNCS_1 and LIB2FUNCS_2.
26356
d2a37256
DR
26357 * config/alpha/x-vms (USE_COLLECT2): Set to empty.
26358
a9e8a5ee
RK
26359Sun Jan 13 06:55:31 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
26360
26361 * dwarf2out.c (mem_loc_descriptor, case ADDRESSOF): New case.
26362
bc06712d
TR
263632002-01-12 Tom Rix <trix@redhat.com>
26364
8559c8c0 26365 * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Use ior for
bc06712d
TR
26366 TARGET_POWERPC64.
26367
7cbe9bb7
RH
263682002-01-12 Richard Henderson <rth@redhat.com>
26369
38b29e64
RH
26370 * config/i386/i386.c (bdesc_2arg): Mark psadbw MASK_3DNOW_A.
26371
58605ba0
RH
26372 * doc/invoke.texi: Update Alpha options.
26373
7cbe9bb7
RH
26374 * doc/invoke.texi: Update i386 built-in function lists.
26375
9d560860
JH
26376Sat Jan 12 17:38:11 CET 2002 Jan Hubicka <jh@suse.cz>
26377
26378 * unroll.c (final_reg_note_copy): Avoid crash on REG_LABEL note
26379 referencing outside.
26380
bb93b973
RK
26381Sat Jan 12 08:54:51 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
26382
26383 * diagnostic.c (warn_deprecated_use): Rework to lower indentation.
26384 * expr.c (emit_move_insn_1): Remove warning, use HOST_WIDE_INT for
26385 offsets, and change line folding.
26386 * optabs.c (expand_binop): Remove warnings.
26387 * sdbout.c (sdbout_record_type_name): Constify NAME to avoid warning.
8559c8c0 26388
f9f6b7df
GS
263892002-01-12 Graham Stott <grahams@redhat.com>
26390
26391 * attribs.c (handle_deprecated_attribute): constify WHAT.
26392 * diagnostic.c (warn_deprecated_use): Add braces, fixes
26393 dangling else warning and constify WHAT.
26394 * except.h (struct function, struct inline_remap): Move
26395 struct tag forward defs before all prototypes.
26396 (duplicate_eh_regions): Whitespace.
26397
4a692617
NC
263982002-01-12 Nick Clifton <nickc@cambridge.redhat.com>
26399
26400 * config/arm/arm.h (ARM_LEGITIMIZE_RELOAD_ADDRESS): Use
26401 MODE_BASE_REG_CLASS.
26402 (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Use MODE_BASE_REG_CLASS.
26403
e37af218
RH
264042002-01-12 Richard Henderson <rth@redhat.com>
26405
26406 * config/i386/i386.c (override_options): If SSE, enable sse prefetch.
26407 (ix86_expand_vector_move): New.
26408 (bdesc_2arg): Remove andps, andnps, orps, xorps.
26409 (ix86_init_mmx_sse_builtins): Make static. Remove composite builtins.
26410 Remove old prefetch builtins. Special case the logicals removed above.
26411 (ix86_expand_builtin): Likewise.
26412 (safe_vector_operand): Use V4SFmode, not TImode.
26413 (ix86_expand_store_builtin): Remove shuffle arg. Update callers.
26414 (ix86_expand_timode_binop_builtin): New.
26415 * config/i386/i386-protos.h: Update.
26416 * config/i386/i386.h (enum ix86_builtins): Update.
26417 * config/i386/i386.md: Correct predicates on MMX/SSE patterns.
26418 Use ix86_expand_vector_move in vector move expanders.
26419 (movti_internal, movti_rex64): Add xorps alternative.
26420 (sse_clrv4sf): Rename and adjust from sse_clrti.
26421 (prefetch): Don't work so hard.
26422 (prefetch_sse, prefetch_3dnow): Use PREFETCH rtx, not UNSPEC.
26423 * config/i386/xmmintrin.h (__m128): Use V4SFmode.
26424 (_mm_getcsr, _mm_setcsr): Fix typo in builtin name.
26425
6f1a6c5b
RH
264262002-01-11 Richard Henderson <rth@redhat.com>
26427
26428 * config/i386/mmintrin.h: New file.
26429 * config/i386/xmmintrin.h: New file.
26430 * config.gcc (i?86-*-*): Add extra_headers.
26431 * simplify-rtx.c (simplify_unary_operation): Handle saturating
26432 truncation codes.
26433 (simplify_binary_operation): Handle saturating arithmetic codes.
26434 * config/i386/i386.c (ix86_expand_sse_comi): Return the full result,
26435 not the lowpart subreg.
26436 (ix86_expand_builtin): Return a TImode dummy register instead of 0
26437 on error.
26438 * config/i386/i386.md (mmx_clrdi): Override memory attribute.
26439
cdb574d3
MH
264402002-01-12 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
26441
26442 * conflict.c (conflict_graph_compute): Free regsets when finished.
26443 * ssa.c (compute_coalesced_reg_partition): Likewise.
8559c8c0 26444
cf11ac55
HB
264452002-01-12 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
26446
26447 * global.c (find_reg): Check for HARD_REGNO_CALL_PART_CLOBBERED
26448 every where we allocate a register.
26449
76ac938b
MH
264502002-01-12 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
26451
26452 * gcse.c (compute_pre_data, pre_gcse): Use sbitmap_free.
26453 * lcm.c (compute_earliest, compute_farthest): Likewise.
26454
a84b4898
JJ
264552002-01-11 Janis Johnson <janis187@us.ibm.com>
26456
26457 * expr.c (expand_assignment): Fix misuse of MEM_KEEP_ALIAS_SET.
26458
aaef1c12
JJ
264592002-01-11 Janis Johnson <janis187@us.ibm.com>
26460
26461 * doc/rtl.texi (Insns): Fix 2 typos.
26462
5d22c1a5
JM
264632002-01-11 Joseph S. Myers <jsm28@cam.ac.uk>
26464
26465 * doc/invoke.texi: Avoid overfull hboxes. Add summary of D30V
26466 options. Use @table @gcctabopt for MMIX options. Add index
26467 entries for MMIX options. Start new paragraph with first
26468 heading of the machine-dependent options.
26469
3e92902c
CR
264702002-01-11 Craig Rodrigues <rodrigc@gcc.gnu.org>
26471
26472 PR other/5299
26473 * config/ns32k/ns32k.md: Fix spelling mistake of "than" in comments.
26474 * combine.c (force_to_mode): Same.
26475 * reload1.c (clear_reload_reg_in_use): Same.
26476
96ae8197
NC
264772002-01-11 Nick Clifton <nickc@cambridge.redhat.com>
26478
26479 * config/arm/arm.c (arm_gen_constant): Correct test of 'remainder'
26480 and 'subtargets'.
26481
9b780582
AJ
264822002-01-11 Andreas Jaeger <aj@suse.de>,
26483 Brad Lucier <lucier@math.purdue.edu>
26484
26485 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Remove wrong
26486 mcpu.
26487
12300dad
DR
26488Fri Jan 11 07:35:12 2002 Douglas B Rupp <rupp@gnat.com>
26489
26490 * config/alpha/vms.h: (MD_FALLBACK_FRAME_STATE_FOR): Fix errors.
26491 Protect with IN_LIBGCC.
26492 (LINK_EH_SPEC): Add required trailing space.
26493
27511a9a
NP
26494Fri Jan 11 09:25:05 2002 Nicola Pero <n.pero@mi.flashnet.it>
26495
9b780582 26496 * c-tree.h: Move function declarations so that they are listed
27511a9a
NP
26497 under the filename which contains them.
26498 (check_identifier, finish_decl_top_level,
26499 lookup_name_current_level_global, shadow_record_fields): Remove.
26500
4daeab16
AJ
265012002-01-11 Andreas Jaeger <aj@suse.de>
26502
26503 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Remove duplicated
26504 march.
26505
40571d67
RH
265062002-01-10 Richard Henderson <rth@redhat.com>
26507
26508 * config/alpha/alpha.c (print_operand): Add 'J'.
26509 * config/alpha/alpha.md (call_osf_1_er, call_value_osf_1_er): Take a
26510 new operand with the sequence number for the lituse. When splitting
26511 the insns, use gen_movdi_er_high_g and generate a sequence number.
26512 (gen_movdi_er_high_g): Print the sequence number if non-zero.
26513
6525c0e7
AH
265142002-01-10 Aldy Hernandez <aldyh@redhat.com>
26515
d8086cbb
RS
26516 * config/rs6000/rs6000.c (altivec_init_builtins): Add support for
26517 lvebx, lvehx, lvewx, lvxl, lvx, stvx, stvebx, stvehx, stvewx,
26518 stvxl.
26519 (altivec_expand_builtin): Same.
26520 (altivec_expand_stv_builtin): New.
26521
26522 * config/rs6000/rs6000.h (rs6000_builtins): Same.
26523
26524 * config/rs6000/rs6000.md ("altivec_lvebx"): New.
26525 ("altivec_lvehx"): New.
26526 ("altivec_lvewx"): New.
26527 ("altivec_lvxl"): New.
26528 ("altivec_lvx"): New.
26529 ("altivec_stvx"): New.
26530 ("altivec_stvebx"): New.
26531 ("altivec_stvehx"): New.
26532 ("altivec_stvewx"): New.
26533 ("altivec_stvxl"): New.
6525c0e7 26534
cda94cbb
RH
265352002-01-10 Richard Henderson <rth@redhat.com>
26536
26537 * cfgrtl.c (delete_insn): Assert insn hasn't been deleted yet.
26538 * reload1.c (delete_output_reload): Zap spill_reg_store. Take
26539 care not to delete instructions twice.
26540
df2c9a44
ZW
265412002-01-10 Zack Weinberg <zack@codesourcery.com>
26542
26543 * toplev.c: Don't declare environ (it's not used anywhere).
26544 * configure.in: Don't check for declaration of environ.
26545 * config/i386/xm-mingw32.h: Don't #define environ.
26546 * config.in, configure: Regenerate.
26547
5dd8a9b1
ZW
265482002-01-10 Zack Weinberg <zack@codesourcery.com>
26549
26550 * configure.in: Set stage1_cflags for powerpc-*-darwin*.
26551 * configure: Regenerate.
26552
26553 * config/interix.h: Set DO_GLOBAL_CTORS_BODY and
26554 DO_GLOBAL_DTORS_BODY here, not in xm-interix.h.
26555 * config/alpha/vms.h: Set INCLUDE_DEFAULTS here, not in
26556 alpha/xm-vms.h.
26557 * config/m68k/t-next: Set OTHER_FIXINCLUDES_DIRS and
26558 LIMITS_H_TEST here, not in m68k/x-next.
26559 * config/rs6000/beos.h: Set STANDARD_INCLUDE_DIR and
26560 SYSTEM_INCLUDE_DIR here, not in rs6000/xm-beos.h.
26561
26562 * config/x-interix: Don't set RANLIB, RANLIB_TEST, SHELL,
26563 LIBGCC2_INCLUDES, or SYSTEM_HEADER_DIR.
26564 * config/alpha/x-vms: Don't set USE_COLLECT2. Add comments.
26565
26566 * config/i386/x-djgpp: Renamed i386/t-djgpp.
26567 * config/m88k/x-dolph: Renamed m88k/t-dolph.
26568 * config/m88k/x-texXD88: Renamed m88k/t-texXD88.
26569 * config/pa/x-pa-mpeix: Renamed pa/t-mpeix. Update for
26570 replacement of quadlib.asm with quadlib.c.
26571
26572 * config/x-interix3, config/xm-interix.h, config/i386/x-beos,
26573 config/i386/xm-osf1elf.h, config/rs6000/x-darwin,
26574 config/rs6000/xm-beos.h: Delete file.
26575
26576 * config.gcc: Update to match above changes.
26577
d10dd44c
KH
265782002-01-10 Kazu Hirata <kazu@hxi.com>
26579
26580 * config/h8300/h8300.h: Fix comment typos.
26581 * config/h8300/h8300.md: Likewise.
26582 * config/h8300/lib1funcs.asm: Likewise.
26583
04894c5a
DJ
265842002-01-10 Dale Johannesen <dalej@apple.com>
26585
26586 PR optimization/5269
26587 * unroll.c (precondition_loop_p): Make *increment be the correct
26588 sign when n_iterations known, to avoid confusing caller.
26589
adc9fe67
KH
265902002-01-10 Kazu Hirata <kazu@hxi.com>
26591
26592 * doc/extend.texi (deprecated): Fix a typo.
26593
b446e5a2
JH
26594Thu Jan 10 22:35:54 CET 2002 Jan Hubicka <jh@suse.cz>
26595
26596 * basic-block.h (update_br_prob_note): Declare.
26597 * cfgcleanup.c (try_simplify_condjump): Call update_br_prob_note.
26598 (try_forward_edges): Care negative frequencies and update note.
26599 (outgoing_edges_match): Tweek conditional merging heuristics.
26600 (try_crossjump_to_edge): use update_br_prob_note.
26601 * cfglayout.c (fixup_reorder_chain): Likewise.
26602 * cfrtl.c (update_br_prob_note): New.
26603 * ifcvt.c (dead_or_predicable): Call update_br_prob_note.
26604
26605 * i386.c (ix86_decompose_address): Return -1 if address contains
26606 shift.
26607 (legitimate_address_p): Require ix86_decompose_address to return 1.
26608
26609 * gcse.c (hash_scan_set): Use CONSTANT_INSN_P.
26610 (cprop_insn): Likewise.
26611
a01da83b
KH
266122002-01-10 Kazu Hirata <kazu@hxi.com>
26613
26614 * toplev.c: Fix formatting.
26615 * tree.c: Likewise.
26616 * tree-dump.c: Likewise.
26617 * unroll.c: Likewise.
26618 * unwind-dw2.c: Likewise.
26619 * unwind-dw2-fde.c: Likewise.
26620 * unwind-dw2-fde-glibc.c: Likewise.
26621 * unwind-sjlj.c: Likewise.
26622
9f85bca7
JM
266232002-01-10 Joseph S. Myers <jsm28@cam.ac.uk>
26624
26625 * doc/invoke.texi: Document PDP-11 options.
26626
f48f56b1
KH
266272002-01-10 Kazu Hirata <kazu@hxi.com>
26628
26629 * config/h8300/h8300.h: Fix formatting.
26630
ead39bdf 266312002-01-10 Ira Ruben <ira@apple.com>
7f180628
IR
26632
26633 Add __attribute__ ((deprecated)).
26634 * extend.texi: Document __attribute__ ((deprecated)).
26635 * invoke.texi: Document -Wno-deprecated-declarations.
26636 * testsuite/g++.dg/other/deprecated.C: New C++ test.
26637 * testsuite/gcc.dg/deprecated.c: New C test.
26638 * attribs.c (enum attrs): Declare handle_deprecated_attribute().
26639 (c_common_attribute_table): Add "deprecated" entry.
26640 (handle_deprecated_attribute): New function.
26641 * c-decl.c (deprecated_states): New enum.
26642 deprecated_state: State of "deprecated" handling.
26643 (start_decl): Set deprecated_state based on attributes.
26644 (grokdeclarator): Test for deprecated uses, propagate attribute.
26645 * c-typeck.c (build_component_ref): Test for deprecated fields.
26646 (build_external_ref): Test for deprecated primaries.
26647 * diagnostic.c (warn_deprecated_use) New function to issue
26648 warnings about __attribute__ ((depricated)) references.
26649 * flags.h (warn_deprecated_decl): Extern declared for
26650 -W[no-]deprecated-declarations option.
26651 * print-tree.c (print_node): Show deprecated flag status.
26652 * toplev.c (warn_deprecated_decl): Defined.
26653 (W_options): Added "deprecated-declaration".
26654 * toplev.h (warn_deprecated_use): Extern declared.
26655 * tree.h (struct tree_common): Define deprecated_flag.
26656 (TREE_DEPRECATED): New macro to access flag.
26657 * cp/call.c (build_call): Test for deprecated calls.
26658 * cp/class.c (add_implicitly_declared_members): Set global
26659 flag to tell grokdeclarator to not issue deprecated warnings.
26660 * cp/cp-tree.h: Add extern for adding_implicit_members.
26661 * cp/decl.c (deprecated_states): New enum.
26662 (start_decl): Set deprecated_state based on attributes.
26663 (grokdeclarator): Test for deprecated uses, propagate attribute.
26664 * cp/lex.c (do_identifier): Test for deprecated primaries.
26665 * cp/typeck.c (build_component_ref): Test for deprecated fields.
26666
ead39bdf 266672002-01-10 Ira Ruben <ira@apple.com>
7f180628
IR
26668
26669 Fix to assign attributes to inline member functions.
26670 * cp/decl.c (start_method): Handle attrlist.
26671
47073a38
KH
266722002-01-10 Kazu Hirata <kazu@hxi.com>
26673
26674 * combine.c (expand_field_assignment): Use subreg_lsb().
26675
d288e53d
DE
266762002-01-10 David Edelsohn <edelsohn@gnu.org>
26677
26678 * alias.c (find_base_value): Add cases for HIGH, PRE_INC, PRE_DEC,
26679 POST_INC, POST_DEC, PRE_MODIFY, and POST_MODIFY.
26680 (find_base_term): Add cases for TRUNCATE, PRE_MODIFY, and POST_MODIFY.
26681 Recurse for any operand of AND as long as constant is non-zero.
26682
08a02ffa
KH
266832002-01-10 Kazu Hirata <kazu@hxi.com>
26684
26685 * config/h8300/h8300.md: Remove constraints from expanders.
26686
c203e7fe
KH
266872002-01-10 Kazu Hirata <kazu@hxi.com>
26688
26689 * varasm.c: Fix formatting.
26690 * varray.c: Likewise.
26691 * vmsdbgout.c: Likewise.
26692 * xcoffout.c: Likewise.
26693
bcb3bc6d
JH
26694Thu Jan 10 17:19:12 CET 2002 Jan Hubicka <jh@suse.cz>
26695
26696 * cfgcleanup.c (try_forward_edges): Properly initialize nthreaded_edges;
cda94cbb 26697 update edge probabilities to match.
bcb3bc6d 26698
0a553c7e
JM
266992002-01-10 Joseph S. Myers <jsm28@cam.ac.uk>
26700
26701 * Makefile.in ($(docdir)/gccint.info, gccint.dvi): Add additional
26702 dependencies.
26703 * doc/languages.texi, doc/sourcebuild.texi: New files.
26704 * doc/configfiles.texi: Make a subsubsection. Update.
26705 * doc/configterms.texi: Add @node. Remove warning that this isn't
26706 instructions for building GCC.
26707 * doc/makefile.texi: Make a subsection.
26708 * doc/gccint.texi: Update.
26709
adc7fcb8
JH
26710Thu Jan 10 16:39:58 CET 2002 Jan Hubicka <jh@suse.cz>
26711
26712 * i386.md (sse_mov?fcc_const0_?): Fix constraints.
26713
5a4dd0b3
NP
26714Thu Jan 10 12:45:50 2002 Nicola Pero <n.pero@mi.flashnet.it>
26715
26716 * doc/cpp.texi: Document the __OBJC__ preprocessor macro.
26717
3987b9db
JH
26718Thu Jan 10 11:19:18 CET 2002 Jan Hubicka <jh@suse.cz>
26719
26720 * optabs.c (expand_fix): Look for wider integer modes first.
26721
26722 * i386.md (mov?f): Avoid the fake const double trick for medium
26723 memory model.
26724 (min?f*/max?f*): Prohibit memory operands for i387 variant.
26725 (fop_df_4): Disable for SSE compilation.
26726
ceb15948 267272002-01-10 Graham Stott <grahams@redhat.com>
117f9d28
GS
26728
26729 * dwarf2out.c (indirect_string_alloc, output_indirect_string):
cda94cbb 26730 Move prototype into DWARF2_DEBUGGING_INFO conditional block.
117f9d28 26731
e1623399
RH
267322002-01-10 Richard Henderson <rth@redhat.com>
26733
26734 * config/alpha/alpha.md (extendsidi2_fix): Penalize f/f alternative.
26735
c4abb293
RH
267362002-01-10 Richard Henderson <rth@redhat.com>
26737
26738 * regrename.c (find_oldest_value_reg): Fix typo in mode change check.
26739 (copyprop_hardreg_forward_1): Likewise. Use mode_change_ok.
26740
d2604ae9
KH
267412002-01-10 Kazu Hirata <kazu@hxi.com>
26742
26743 * combine.c (can_combine_p): Fix a comment typo.
26744
766c7ad1
ZW
267452002-01-09 Zack Weinberg <zack@codesourcery.com>
26746
26747 * Makefile.in (s-gencheck, s-options, s-specs): Handle an
26748 empty list correctly. Change loop index $t to $f for
26749 consistency with rest of Makefile.
26750
95385cbb
AH
267512002-01-08 Aldy Hernandez <aldyh@redhat.com>
26752
26753 * testuite/gcc.dg/altivec-4.c: Add test for mtvscr, dssall,
26754 mfvscr, dss, lvsl, lvsr, dstt, dstst, dststt, dst.
26755
26756 * config/rs6000/rs6000.c (altivec_expand_builtin): Add support for
26757 mtvscr, dssall, mfvscr, dss, lvsl, lvsr, dstt, dst, dstst, dststt.
26758 (altivec_init_builtins): Same.
26759 (altivec_expand_unop_builtin): Return NULL_RTX on error.
26760 (altivec_expand_binop_builtin): Same.
26761 (altivec_expand_ternop_builtin): Same.
26762 (bdesc_dst): New.
26763
26764 * config/rs6000/rs6000.md ("altivec_mtvscr"): New.
26765 ("altivec_vctuxs"): Fix typo.
26766 ("altivec_vnmsubfp"): Same.
26767 ("altivec_dssall"): New.
26768 ("altivec_mfvscr"): New.
26769 ("altivec_dss"): New.
26770 ("altivec_lvsl"): New.
26771 ("altivec_lvsr"): New.
26772 ("altivec_dstt"): New.
26773 ("altivec_dstst"): New.
26774 ("altivec_dststt"): New.
26775 ("altivec_dst"): New.
26776
26777 * config/rs6000/rs6000.h (rs6000_builtins): Add mtvscr, dssall,
26778 mfvscr, dss, lvsl, lvsr, dstt, dstst, dststt, dst.
26779
e4ac76b4
RH
267802002-01-09 Richard Henderson <rth@redhat.com>
26781
26782 * config/alpha/alpha.md (prologue_mcount): Remove lituse_jsr reloc.
26783
c893e4a4
HPN
267842002-01-10 Hans-Peter Nilsson <hp@bitrange.com>
26785
26786 * config/mmix/mmix.c (mmix_asm_identify_gcc): Remove unused
26787 function.
26788 * config/mmix/mmix-protos.h (mmix_asm_identify_gcc): Don't
26789 prototype.
7387c700 26790 * config/mmix/mmix.h (ASM_IDENTIFY_GCC): Remove unused macro.
c893e4a4 26791
f4f4d0f8
KH
267922002-01-09 Kazu Hirata <kazu@hxi.com>
26793
26794 * read-rtl.c: Fix formatting.
26795 * real.c: Likewise.
26796 * regclass.c: Likewise.
26797 * regrename.c: Likewise.
26798 * reg-stack.c: Likewise.
26799 * reload1.c: Likewise.
26800 * reload.c: Likewise.
26801 * rtl.c: Likewise.
26802
cc863bea
KH
268032002-01-09 Kazu Hirata <kazu@hxi.com>
26804
26805 * rtlanal.c (find_reg_fusage): Use XEXP instead of SET_DEST
26806 to extract items in the expr_list chain.
26807
7b4dfe3d
RH
268082002-01-09 Richard Henderson <rth@redhat.com>
26809
26810 * config/vax/vax.c (vax_rtx_cost): Never abort.
26811
1d969638
RH
26812 * config/vax/vax.h (REAL_ARITHMETIC): Define.
26813
7d5ab30e
JH
268142002-01-09 Jan Hubicka <jh@suse.cz>
26815
26816 * gcse.c (cprop_jump): Delete insn if simplified jump is no-op.
26817
9503f3d1
RH
268182002-01-09 Richard Henderson <rth@redhat.com>
26819
26820 * config/arm/arm.c (arm_gen_constant): Use trunc_int_for_mode.
26821 Unify code from various alternatives.
26822
42bd17b7
RH
268232002-01-09 Richard Henderson <rth@redhat.com>
26824
26825 * regrename.c (copy_value): Ignore the copy if the source register
26826 is present in the value chain with a narrower mode.
26827
bdca3c33
HB
268282002-01-09 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
26829
cda94cbb
RH
26830 * real.c (c4xtoe, toc4x): Do some special conversion on long doubles
26831 for the c4x target. Also improve layout.
bdca3c33 26832
c73a5e94
RH
268332002-01-09 Richard Henderson <rth@redhat.com>
26834
26835 * config/m32r/m32r.c (move_src_operand): Fix 32-bit int test.
26836 * config/m32r/m32r.md (and ior xor splitters): Swap operands
26837 to match insn patterns.
26838
dd0a18c0
RH
268392002-01-09 Richard Henderson <rth@redhat.com>
26840
26841 * regrename.c (find_oldest_value_reg): Use gen_rtx_raw_REG.
26842 (copyprop_hardreg_forward_1): Likewise.
26843
1fd9ac1e
JDA
268442002-01-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
26845
26846 * pa.md (decrement_and_branch_until_zero): Change predicate for
26847 operand 0 from register_operand to reg_or_nonsymb_mem_operand.
26848
5cb265ec
BM
268492002-01-09 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
26850
26851 * ginclude/stddef.h: Define _BSD_WCHAR_T_DEFINED_ if _BSD_WCHAR_T_
26852 gets undefined. For Darwin.
26853
fcd8fa8b
HB
268542002-01-09 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
26855
26856 * config/c4x/c4x.h: Use PUSH_ARGS and PUSH_ROUNDING for stack passing.
26857
bd3ab23a
MH
268582002-01-09 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
26859
26860 * config/c4x/c4x/md: Remove extraneous constraints from define_splits.
26861
21e16bd6
RH
268622002-01-08 Richard Henderson <rth@redhat.com>
26863
26864 * regrename.c (copy_value): Ignore overlapping copies.
26865
a5376276
RH
268662002-01-08 Richard Henderson <rth@redhat.com>
26867
26868 * config/alpha/alpha.c (alpha_split_conditional_move): Call copy_rtx
26869 as needed to avoid shared structure.
26870
18cf8dda
KH
268712002-01-08 Kazu Hirata <kazu@hxi.com>
26872
26873 * config/h8300/h8300.c (get_shift_alg): Fix 15-bit LSHIFTRT on
26874 H8/300H and H8/S.
26875
16c484c7
JM
268762002-01-08 Joseph S. Myers <jsm28@cam.ac.uk>
26877
26878 * doc/tm.texi (EASY_DIV_EXPR, IMPLICIT_FIX_EXPR,
26879 LONGJMP_RESTORE_FROM_STACK, MAX_INT_TYPE_SIZE): Remove
26880 documentation of obsolete macros.
26881 * system.h: Poison these macros.
26882 * config/1750a/1750a.h, config/a29k/a29k.h, config/alpha/alpha.h,
26883 config/arc/arc.h, config/arm/arm.h, config/avr/avr.h,
26884 config/c4x/c4x.h, config/clipper/clipper.h,
26885 config/convex/convex.h, config/cris/cris.h, config/d30v/d30v.h,
26886 config/dsp16xx/dsp16xx.h, config/elxsi/elxsi.h,
26887 config/fr30/fr30.h, config/h8300/h8300.h, config/i370/i370.h,
26888 config/i386/i386.h, config/i860/i860.h, config/i960/i960.h,
26889 config/ia64/ia64.h, config/m32r/m32r.h, config/m68hc11/m68hc11.h,
26890 config/m68k/m68k.h, config/m88k/m88k.h, config/mcore/mcore.h,
26891 config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
26892 config/mn10300/mn10300.h, config/ns32k/ns32k.h, config/pa/pa.h,
26893 config/pdp11/pdp11.h, config/pj/pj.h, config/romp/romp.h,
26894 config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.h,
26895 config/sparc/sparc.h, config/stormy16/stormy16.h,
26896 config/v850/v850.h, config/vax/vax.h, config/we32k/we32k.h: Remove
26897 definitions and commented out definitions of obsolete macros.
26898 * config/mips/iris5.h (MAX_WCHAR_TYPE_SIZE): Don't define in terms
26899 of MAX_INT_TYPE_SIZE.
26900
14b3e8ef
UW
269012002-01-08 Ulrich Weigand <uweigand@de.ibm.com>
26902
26903 * config/s390/s390.c (s390_preferred_reload_class): Never
26904 return ADDR_REGS if it isn't a subset of the given class.
26905 * config/s390/s390.h (REGISTER_MOVE_COST): Penalize not just
26906 FP_REGS, but all superclasses as well.
26907
26908 * config/s390/s390.c (s390_function_profiler): Fix thinko.
26909
26910 * config/s390/s390.md (cmpdi_ccu_mem, cmpsi_ccu_mem,
26911 cmphi_ccu_mem, cmpqi_ccu_mem): First operand of compare
26912 must not be a const_int.
26913
a693284d
RH
269142002-01-08 Richard Henderson <rth@redhat.com>
26915
26916 * Makefile.in (toplev.o): Depend on options.h.
26917 (gcc.o): Depend on specs.h.
26918
b3ca30df
JJ
269192002-01-08 Jakub Jelinek <jakub@redhat.com>
26920
26921 * expr.c (store_expr): Convert VOIDmode constants back to target's
26922 mode.
26923
24dbb440
GP
269242002-01-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
26925
26926 * doc/invoke.texi: Markup gcc as @command. Refer to
26927 http://gcc.gnu.org/onlinedocs/gcc/Contributors.html instead
26928 of http://gcc.gnu.org/thanks.html.
26929
234e114c
DJ
269302002-01-08 Dale Johannesen <dalej@apple.com>
26931
26932 * config/rs6000/rs6000.md: Add missing int register
26933 target case to movdf_low.
26934
0d24f4d1
ZW
269352002-01-08 Zack Weinberg <zack@codesourcery.com>
26936
26937 * Makefile.in (cs-tconfig.h): Don't depend on $(CONFIG_H) or
26938 except.h. Remove commands to define USING_SJLJ_EXCEPTIONS.
26939 (cppinit.o): Depend on except.h.
26940 (gencheck.h, options.h, specs.h, s-gencheck, s-options,
26941 s-specs): New rules.
26942
26943 * configure.in: Don't AC_DEFINE_UNQUOTED PACKAGE or VERSION.
26944 Don't create specs.h/options.h/gencheck.h here. Remove
26945 unnecessary variable settings from last argument of AC_OUTPUT.
26946 * config.in, configure: Regenerate.
26947 * intl.c: Hardcode package name as "gcc".
26948
26949 * cppinit.c: Include except.h.
26950 (builtin_array): Define __USING_SJLJ_EXCEPTIONS__ when
26951 appropriate.
26952 * unwind-dw2.c, unwind-sjlj.c, config/ia64/unwind-ia64.c:
26953 Use #if(n)def __USING_SJLJ_EXCEPTIONS, not #if
26954 (!)USING_SJLJ_EXCEPTIONS.
26955 * doc/cpp.texi: Document __USING_SJLJ_EXCEPTIONS__.
26956
ed722f66
JM
269572002-01-08 Joseph S. Myers <jsm28@cam.ac.uk>
26958
26959 * doc/tm.texi (ASM_OUTPUT_EH_REGION_BEG, ASM_OUTPUT_EH_REGION_END,
26960 ASM_OUTPUT_LABELREF_AS_INT, DOESNT_NEED_UNWINDER, EH_TABLE_LOOKUP,
26961 OBJC_SELECTORS_WITHOUT_LABELS, OMIT_EH_TABLE): Remove
26962 documentation of obsolete macros.
26963 * system.h: Poison these macros.
26964 * config/d30v/d30v.h, config/ns32k/encore.h,
26965 config/stormy16/stormy16.h: Remove definitions and commented out
26966 definitions of obsolete macros.
26967
31e5e29a
NP
26968Tue Jan 8 15:56:41 2002 Nicola Pero <nicola@brainstorm.co.uk>
26969
26970 * objc/objc-act.c (handle_class_ref): Mark the declaration of
26971 %sobjc_class_ref_%s as used - to prevent unwanted compiler
26972 warnings.
26973
bc1fa59c
UW
269742002-01-08 Ulrich Weigand <uweigand@de.ibm.com>
26975
26976 * config/s390/linux.h (ASM_OUTPUT_LABELREF): Remove.
26977 * config/s390/s390.c (s390_emit_epilog): Add REG_FRAME_RELATED_EXPR
26978 to insn adjusting stack/frame pointer.
0d24f4d1 26979 * config/s390/s390.md (reload_la_64, reload_la_31): Do not
bc1fa59c
UW
26980 accept operands that cause the insn to be non-splittable.
26981
a8086abf
GS
269822002-01-08 Graham Stott <grahams@redhat.com>
26983
26984 * c-tree.h (C_TYPE_FIELDS_READONLY): Uppercase macro parameter.
26985 (C_TYPE_FIELDS_VOLATILE): Likewise.
26986 (C_TYPE_BEING_DEFINED): Likewise.
26987 (C_IS_RESERVED_WORD): Likewise.
26988 (C_TYPE_VARIABLE_SIZE): Likewise.
26989 (C_DECL_VARIABLE_SIZE): Likewise.
26990 (C_MISSING_PROTOTYPE_WARNED): Likewise.
26991 (C_SET_EXP_ORIGINAL_CODE): Likewise.
26992 (C_TYPEDEF_EXPLICITLY_SIGNED): Uppercase macro parameter and remove
26993 parenthesis.
26994 (C_DECL_ANTICIPATED): Likewise.
26995 (c_build_type_variant): Add parenthesis.
26996
3f595aa1
JM
269972002-01-08 Joseph S. Myers <jsm28@cam.ac.uk>
26998
26999 * gcc.c (option_map): Remove --version.
27000 (process_command): Handle -fversion following the GNU Coding
27001 Standards. Partially addresses PR other/704.
27002
5bc5a8f9
GS
270032002-01-08 Graham Stott <grahams@redhat.com>
27004
27005 * combine.c (combine_instructions): Fix typo.
27006
16ec4ebf
GS
270072002-01-08 Graham Stott <grahams@redhat.com>
27008
27009 * debug.h: Use "tree" and "rtx" throughout.
27010
27011 * debug.c: Likewise.
27012
4b69f385
NC
270132002-01-08 Nick Clifton <nickc@cambridge.redhat.com>
27014
27015 * dbxout.c (dbxout_symbol_location): If a symbol ref is in the
27016 constant pool, use the pool's version of the symbol instead.
27017
57d1019b
RH
270182002-01-07 Richard Henderson <rth@redhat.com>
27019
27020 * regrename.c (find_oldest_value_reg): Ignore the value chain if
27021 the original register was copied in a mode with a fewer number of
27022 hard registers than the desired mode.
27023 (copyprop_hardreg_forward_1): Likewise.
27024 (debug_value_data): Fix loop test.
27025 * toplev.c (parse_options_and_default_flags): Reenable
27026 -fcprop-registers at -O1.
27027
270282002-01-07 Aldy Hernandez <aldyh@redhat.com>
fa066a23 27029
0d24f4d1
ZW
27030 * config/rs6000/rs6000.c (bdesc_2arg): Add altivec predicates.
27031 (altivec_init_builtins): New node v4si_ftype_v16qi_v16qi.
fa066a23 27032
0d24f4d1
ZW
27033 * config/rs6000/rs6000.h (rs6000_builtins): Add enums for altivec
27034 predicates.
fa066a23 27035
0d24f4d1 27036 * config/rs6000/rs6000.md: Add altivec predicate patterns.
fa066a23 27037
8f949e7e
JDA
270382002-01-07 John David Anglin <dave@hiauly1.hia.nrc.ca>
27039
27040 * pa.c (FUNC_BEGIN_PROLOG_LABEL, current_function_number): Define.
27041 (pa_output_function_prologue): Output local label at the beginning of
27042 the prologue when profiling.
27043 (hppa_profile_hook): Use the local label rather than the function label.
27044 * pa.h (PROFILE_BEFORE_PROLOGUE): Define.
27045
c62f2db5
AH
270462002-01-07 Aldy Hernandez <aldyh@redhat.com>
27047
0d24f4d1
ZW
27048 * config/rs6000/rs6000.c (print_operand): Remove extra space.
27049 (altivec_expand_unop_builtin): Fix thinko.
27050 (altivec_expand_binop_builtin): Same.
27051 (altivec_expand_ternop_builtin): Same.
27052 (altivec_expand_builtin): Same.
c62f2db5 27053
b5235ba7
RH
270542002-01-07 Richard Henderson <rth@redhat.com>
27055
27056 * config/rs6000/xcoff.h (ASM_FILE_START): Reverted to profile_flag.
27057
7d8ac293
JM
270582002-01-07 Jason Merrill <jason@redhat.com>
27059
27060 * unwind-dw2.c (execute_cfa_program): Use < again.
27061
571a03b8
JJ
270622002-01-07 Jakub Jelinek <jakub@redhat.com>
27063
27064 * predict.c (combine_predictions_for_insn): Avoid division by zero.
27065
2e951384
JJ
270662002-01-07 Jakub Jelinek <jakub@redhat.com>
27067
27068 * simplify-rtx.c (simplify_plus_minus): Bump n_ops for NOT.
27069 Don't allow -1 - x -> ~x simplifications in the first pass.
27070
20e26713
AH
270712002-01-07 Aldy Hernandez <aldyh@redhat.com>
27072
0d24f4d1
ZW
27073 * rs6000.c (altivec_expand_ternop_builtin): Don't die on invalid
27074 arguments.
27075 (altivec_expand_binop_builtin): Same.
27076 (altivec_expand_unop_builtin): Same.
27077 (print_operand): Fix typo.
27078 (bdesc_1arg): Add vupk* variants.
20e26713 27079
0d24f4d1 27080 * rs6000.h (rs6000_builtins): Add vupk* enums.
20e26713 27081
0d24f4d1 27082 * rs6000.md: Add altivec_vupk* variants.
20e26713 27083
4dd57c18
JM
270842002-01-07 Joseph S. Myers <jsm28@cam.ac.uk>
27085
27086 * doc/gcc.texi, doc/gccint.texi, doc/cppinternals.texi,
27087 doc/install.texi, doc/invoke.texi, doc/rtl.texi: Update copyright
27088 and last update dates.
27089
0341c5d2
JJ
270902002-01-07 Janis Johnson <janis187@us.ibm.com>
27091
27092 * doc/rtl.texi (Flags): Clean up documentation of RTL flags
27093
c7f3e0b0
MM
270942002-01-07 Marek Michalkiewicz <marekm@amelek.gda.pl>
27095
27096 * config/avr/avr.c (avr_mcu_types): Add new MCU types.
27097 * config/avr/avr.h (CPP_SPEC): Likewise.
27098 (LINK_SPEC): Likewise.
27099 (CRT_BINUTILS_SPECS): Likewise.
27100 * config/avr/t-avr (MULTILIB_MATCHES): Likewise.
27101 * doc/invoke.texi (AVR Options): Document them.
27102
6ba4d630
JH
27103Mon Jan 7 11:59:34 CET 2002 Jan Hubicka <jh@suse.cz>
27104
27105 * unroll.c (copy_loop_body): Always properly update JUMP_LABEL and
27106 LABEL_NUSES.
27107
6253d571
GS
271082002-01-07 Graham Stott <grahams@redhat.com>
27109
0d24f4d1
ZW
27110 * config/i386/i386.h: Update copyright date.
27111 (HALF_PIC_PTR): Add parenthesis.
27112 (OPTIMIZATION_OPTIONS): Whitespace, add parenthesis and wrap.
27113 (CONSTANT_ALIGNMENT): Add parenthesis.
27114 (DATA_ALIGNMENT): Likewise.
27115 (LOCAL_ALIGNMENT): Likewise.
27116 (FUNCTION_ARG_BOUNDARY): Whitespace, add parenthesis and wrap.
27117 (IS_STACK_MODE): Uppercase macro parameter, add parenthesis and wrap.
27118 (CONDITIONAL_REGISTER_USAGE): Wrap in do {...} while (0).
27119 (HARD_REGNO_NREGS): Add paranethesis.
27120 (VALID_SSE_REG_MODE): Whitespace.
27121 (VALID_MMX_REG_MODE): Whitespace.
27122 (VALID_FP_MODE_P): Uppercase macros parameter and whitespace.
27123 (ix86_hard_regno_mode_ok): Add parenthesis.
27124 (HARD_REGNO_CALLER_SAVE_MODE): Whitespace.
27125 (RETURN_IN_MEMORY): Whitespace.
27126 (N_REG_CLASSES): Add parenthesis.
27127 (INTEGER_CLASS_P): Add parenthesis and wrap.
27128 (FLOAT_CLASS_P): Likewise.
27129 (SSE_CLASS_P): Likewise.
27130 (MMX_CLASS_P): Likewise.
27131 (MAYBE_INTEGER_CLASS_P): Likewise.
27132 (MAYBE_FLOAT_CLASS_P): Likewise.
27133 (MAYBE_SSE_CLASS_P): Likewise.
27134 (MAYBE_MMX_CLASS_P): Likewise.
27135 (Q_CLASS_P): Likewise.
27136 (GENERAL_REGNO_P): Uppercase macro parameter.
27137 (REX_INT_REGNO_P): Uppercase macro parameter and wrap.
27138 (FP_REGNO_P): Likewise.
27139 (ANY_FP_REGNO_P): Uppercase macro parameter.
27140 (SSE_REGNO_P): Likewise.
27141 (SSE_REGNO): Likewise.
27142 (SSE_REG_P): Likewise.
27143 (SSE_FLOAT_MODE_P): Likewise.
27144 (MMX_REGNO_P): Likewise.
27145 (MMX_REG_P):Likewise.
27146 (STACK_REG_P): Likewise.
27147 (NON_STACK_REG_P): Likewise.
27148 (STACK_TOP_P): Likewise.
27149 (CONVERT_HARD_REGISTER_TO_SSA_P): Add parenthesis.
27150 (PREFERRED_RELOAD_CLASS): Add parenthesis and whitespace.
27151 (SECONDARY_MEMORY_NEEDED): Likewise.
27152 (SECONDARY_OUTPUT_RELOAD_CLASS): Whitespace.
27153 (MD_ASM_CLOBBERS): Whitespace and wrap.
27154 (MUST_PASS_IN_STACK): Whitespace and wrap.
27155 (RETURN_POPS_ARGS): Add parenthesis.
27156 (INIT_CUMULATIVE_ARGS): Likewise.
27157 (FUNCTION_ARG): Likewise.
27158 (FUNCTION_OK_FOR_SIBCALL): Add parenthesis and whitespace.
27159 (SETUP_INCOMING_VARARGS): Likewise.
27160 (BUILD_VA_LIST_TYPE): Add parenthesis.
27161 (EXPAND_BUILTIN_VA_START): Uppercase macro paremeters and add
27162 parenthsis.
27163 (EXPAND_BUILTIN_VA_ARG): Likewise.
27164 (FUNCTION_PROFILER): Wrap in do { ... } while (0) and add parenthesis.
27165 (INITIALIZE_TRAMPOLINE): Add parenthesis.
27166 (INITIAL_ELIMINATION_OFFSET): Likewise.
27167 (REGNO_OK_FOR_INDEX_P): Add parenthesis.
27168 (REGNO_OK_FOR_BASE_P): Likewise.
27169 (REGNO_OK_FOR_SIREG_P): Add parenthesis and wrap.
27170 (REGNO_OK_FOR_DIREG_P): Likewise.
27171 (REG_OK_FOR_INDEX_P): Whitespace.
27172 (REG_OK_FOR_BASE_P): Whitespace.
27173 (GO_IF_LEGITIMATE_ADDRESS): Wrap in do { ... } while (0) and add
27174 parenthesis.
27175 (FIND_BASE_TERM): Fix typo.
27176 (LEGITIMIZE_ADDRESS): Wrap in { .. } while (0) and add parenthesis.
27177 (REWRITE_ADDRESS): Uppercase macro parameter and whitespace.
27178 (SYMBOLIC_CONST; Whitespace.
27179 (GO_IF_MODE_DEPENDENT_ADDRESS):Wrap in { .. } while (0) and wrap.
27180 (ENCODE_SECTION_INFO): Whitespace.
27181 (FINALIZE_PIC): Remove do { ... } while (0).
27182 (PROMOTE_MODE): Wrap in do { ... } while (0).
27183 (CONST_COSTS): Whitespace.
27184 (RTX_COSTS): Add paramethesis, whitespace and wrap.
27185 (REGISTER_MOVE_COST): Add parenthesis.
27186 (MEMORY_MOVE_COST): Likewise.
27187 (EXTRA_CC_MODES): Whitespace.
27188 (SELECT_CC_MODE): Add parenthesis and whitespace.
27189 (DBX_REGISTER_NUMBER): Uppercase macro parameter and add parenthsis.
27190 (ASM_PREFERRED_EH_DATA_FORMAT): Add parenthesis and whitespace.
27191 (ASM_OUTPUT_LABEL): Add paramethesis.
27192 (ASM_OUTPUT_REG_PUSH): Add parenthesis and whitespace.
27193 (ASM_OUTPUT_REG_POP): Likewise.
27194 (ASM_OUTPUT_ADDR_VEC_ELT): Add parenthesis.
27195 (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
d9a5f180 27196
07933f72
GS
27197 * config/i386/i386.c: Update copyright.
27198 (CHECK_STACK_LIMIT): Add parenthesis.
27199 (AT_BP): Uppercase macro parameter.
27200 (x86_64_int_parameter_registers): Constify.
27201 (x86_64_int_return_registers): Likewise.
27202 (ix86_compare_op0): Use rtx.
27203 (construct_container): Constify INTREG parameter.
27204 (function_arg): Use rtx.
27205
0b4d32c9
GS
27206 * diagnostic.h: Update copyright date.
27207 (output_buffer_state): Add parenthesis.
27208 (output_buffer_format_args): Likewise.
27209
6253d571
GS
27210 * combine.c (combine_instructions): Replace XEXP (links, 0)
27211 with link.
27212
68f3f6f1
L
272132002-01-06 H.J. Lu <hjl@gnu.org>
27214
27215 * cfgcleanup.c (thread_jump): Fix 2 typos.
27216
272172002-01-06 Aldy Hernandez <aldyh@redhat.com>
480f7f3a 27218
0d24f4d1 27219 * config.gcc: Add support for --enable-altivec.
480f7f3a 27220
13b8c631
CR
272212002-01-06 Craig Rodrigues <rodrigc@gcc.gnu.org>
27222
27223 * emit-rtl.c (gen_highpart): Add check for NULL_RTX.
27224
58ad89b1
JJ
272252002-01-06 Jakub Jelinek <jakub@redhat.com>
27226
27227 * objc/objc-act.c (handle_impent): Use assemble_variable to emit
27228 __objc_class_name_*.
27229
e403b4bc
CR
272302002-01-06 Craig Rodrigues <rodrigc@gcc.gnu.org>
27231
27232 * doc/install.texi (sparcv9-*-solaris2*): Add documentation.
27233
e41c7831
RH
272342002-01-06 Richard Henderson <rth@redhat.com>
27235
27236 * reorg.c (emit_delay_sequence): Remove death notes, not merely
27237 nop them out. Increment label reference count for REG_LABEL.
27238 (fill_slots_from_thread): Frob label reference count around
27239 delete_related_insns.
27240
3b3b1e32
RH
272412002-01-05 Richard Henderson <rth@redhat.com>
27242
27243 * cfgcleanup.c (try_forward_edges): Detect infinite loops while
27244 jump threading.
27245
c28abdf0
RH
272462002-01-05 Richard Henderson <rth@redhat.com>
27247
27248 * c-decl.c (c_expand_body): Don't call outlining_inline_function.
27249 * integrate.c (output_inline_function): Likewise.
27250 * toplev.c (rest_of_compilation): Do it here instead. Move call
27251 to remove_unnecessary_notes after emitting abstract instance.
27252 Force an emitted nested function to have its parent emited as well.
27253 * dwarf2out.c (loc_descriptor_from_tree): Read mode after checking
27254 for null.
27255 (rtl_for_decl_location): Do not look at reload data structures
27256 before reload has run.
27257
c4f2c499
KH
272582002-01-05 Kazu Hirata <kazu@hxi.com>
27259
27260 * cse.c: Fix formatting.
27261 * dwarf2asm.c: Likewise.
27262 * dwarf2out.c: Likewise.
27263 * explow.c: Likewise.
27264 * expmed.c: Likewise.
27265 * function.c: Likewise.
27266 * gcov.c: Likewise.
27267 * gencheck.c: Likewise.
27268 * genrecog.c: Likewise.
27269 * ggc-common.c: Likewise.
27270 * ggc-page.c: Likewise.
27271 * global.c: Likewise.
27272
cf0d9408
KH
272732002-01-05 Kazu Hirata <kazu@hxi.com>
27274
27275 * combine.c: Fix formatting.
27276
bedca03a
CR
272772002-01-05 Craig Rodrigues <crodrigu@bbn.com>
27278
27279 PR middle-end/1557
27280 * config/ia64/ia64.h (RENAME_EXTENDED_BLOCKS): Remove.
27281
0134bf2d
DE
272822002-01-05 David Edelsohn <edelsohn@gnu.org>
27283
27284 * config/rs6000/rs6000.h (TARGET_POWERPC): For IN_LIBGCC2, define
27285 as 1 for __powerpc64__ as well.
27286
27287 * config/rs6000/t-aix43 (T_ADAFLAGS): Define.
27288
27289 * alias.c (find_base_value, PLUS/MINUS): If we found a base,
27290 return it.
27291
9ca88d5a
DB
272922002-01-05 Daniel Berlin <dan@dberlin.org>
27293
27294 * lcm.c: Revert change, due to performance regression it causes on
27295 SPEC because it's slightly more conservative (sigh, I hate
27296 edge-based LCM).
0d24f4d1 27297
1c570418
JH
27298Sat Jan 5 11:52:05 CET 2002 Jan Hubicka <jh@suse.cz>
27299
27300 * cfgcleanup.c (try_forward_edges): Allow multiple jump threading.
27301
d83bb9f7
NB
273022002-01-05 Neil Booth <neil@daikokuya.demon.co.uk>
27303
27304 * doc/cppinternals.texi: Update.
27305
3e0f61ac
HPN
273062002-01-05 Hans-Peter Nilsson <hp@bitrange.com>
27307
27308 * doc/invoke.texi (Option Summary) <MMIX Options>: Document
27309 -mbranch-predict, -mreg-stack-fill-bug-workaround and their
27310 negatives.
27311 (MMIX Options): Ditto. Fix item/itemx typo for -mno-zero-extend.
27312 * config/mmix/mmix.c (mmix_target_asm_function_prologue): Rework
27313 kludge for pre-october-14th mmix versions to handle new-found bug
27314 with PUSHJ/PUSHGO and the register stack.
27315 * config/mmix/mmix.h (struct machine_function): Rename member
27316 has_call_value_without_parameters to has_call_without_parameters.
27317 All referers changed.
27318 (TARGET_MASK_REG_STACK_FILL_BUG, TARGET_DEFAULT
27319 TARGET_MASK_BRANCH_PREDICT): New macros.
27320 (TARGET_SWITCHES): New options -mreg-stack-fill-bug-workaround,
27321 -mno-reg-stack-fill-bug-workaround.
27322 * config/mmix/mmix.md ("call"): Set struct machine member
27323 has_call_without_parameters.
27324
4deaa2f8
JH
27325Sat Jan 5 02:20:22 CET 2002 Jan Hubicka <jh@suse.cz>
27326
27327 * cfgcleanup.c (thread_jump): Fix handling of reversed branches.
27328
9f16e871
JH
27329Sat Jan 5 01:35:29 CET 2002 Jan Hubicka <jh@suse.cz>
27330
27331 * cfgcleanup.c: Include tm_p.h
27332 (mark_effect): Fix handling of hard register; fix handling of SET
27333
96eb1157
KH
273342002-01-04 Kazu Hirata <kazu@hxi.com>
27335
27336 * config/h8300/h8300.md (anonymous patterns): Check that
27337 operands are registers before using REGNO on them.
27338
48180d68
RM
273392002-01-03 Roland McGrath <roland@frob.com>
27340
27341 * doc/invoke.texi (RS/6000 and PowerPC Options): Add -mcall-gnu.
27342
b0832fe1
JJ
273432002-01-04 Jakub Jelinek <jakub@redhat.com>
27344
27345 * tree.h (expand_expr_stmt_value): Add maybe_last argument.
27346 * c-common.h (genrtl_expr_stmt_value): Likewise.
27347 * stmt.c (expand_expr_stmt): Pass 1 as maybe_last.
27348 (expand_expr_stmt_value): Add maybe_last argument.
27349 Don't warn about statement with no effect if it is the last statement
27350 in expression statement.
27351 * c-semantics.c (genrtl_expr_stmt): Pass 1 as maybe_last.
27352 (genrtl_expr_stmt_value): Add maybe_last argument, pass it down to
27353 expand_expr_stmt_value.
27354 (expand_stmt) [EXPR_STMT]: Pass 1 as maybe_last to
27355 genrtl_expr_stmt_value if t is the last EXPR_STMT in its scope.
27356 * expr.c (expand_expr) [LABELED_BLOCK_EXPR, LOOP_EXPR]: Pass 1
27357 as maybe_last to expand_expr_stmt_value.
27358
c1e14513
JL
27359Fri Jan 4 11:45:05 2002 Jeffrey A Law (law@redhat.com)
27360
0d24f4d1
ZW
27361 * c-common.c (c_expand_start_cond): Expect the IF_STMT node to
27362 be passed in, do not build it.
27363 (c_begin_if_stmt): New function.
27364 (c_begin_while_stmt, c_finish_while_stmt_cond): Likewise.
27365 * c-common.h (c_expand_start_cond): Update prototype.
27366 (c_begin_if_stmt): Prototype new function.
27367 (c_begin_while_stmt, c_finish_while_stmt_cond): Likewise.
27368 * c-parse.in (if_prefix): Use c_begin_if_stmt,
27369 c_begin_while_stmt and c_finish_while_stmt_cond.
c1e14513 27370
b6ec437a
WC
273712002-01-04 William Cohen <wcohen@redhat.com>
27372
27373 * config/pa/elf.h (ASM_FILE_START): Reverted to profile_flag.
27374 * config/pa/pa-linux.h (ASM_FILE_START): Likewise.
27375 * config/pa/pa64-hpux.h (ASM_FILE_START): Likewise.
27376 * config/pa/som.h (ASM_FILE_START): Likewise.
27377
ead39bdf 273782002-01-04 Daniel Berlin <dan@cgsoftware.com>
517b711f
DB
27379
27380 * lcm.c: Include df.h.
27381 Add available_transfer_function prototype.
27382 (compute_available): Rework to use iterative dataflow framework.
27383 (struct bb_info): s/bb_info/lcm_bb_info/g to avoid conflict
27384 with bb_info in df.h
27385 (available_transfer_function): New function.
27386
27387 * Makefile.in (lcm.o): add df.h to dependencies.
27388
551cc6fd
RH
273892002-01-04 Richard Henderson <rth@redhat.com>
27390
27391 * config/alpha/alpha.c (some_operand): Accept HIGH.
27392 (input_operand): Likewise; accept simple references to globals.
27393 (alpha_const_ok_for_letter_p): New, outlined from alpha.h.
27394 (alpha_const_double_ok_for_letter_p): Likewise.
27395 (alpha_extra_constraint): Likewise.
27396 (alpha_preferred_reload_class): Likewise. Do not force
27397 symbolic constants to memory.
27398 (alpha_legitimate_address_p): Accept simple references
27399 to small_symbolic_operand.
27400 (alpha_legitimize_address): New arg scratch. Be prepared to be
27401 called when no_new_pseudos. Emit simple symbolic references.
27402 Split integers into low, high, and rest.
27403 (alpha_expand_mov): Use alpha_legitimize_address.
27404 (some_small_symbolic_mem_operand): New.
27405 (split_small_symbolic_mem_operand): New.
27406 * config/alpha/alpha-protos.h: Update.
27407 * config/alpha/alpha.h (CONST_OK_FOR_LETTER_P): Out-line.
27408 (CONST_DOUBLE_OK_FOR_LETTER_P): Likewise.
27409 (EXTRA_CONSTRAINT): Likewise.
27410 (PREFERRED_RELOAD_CLASS): Likewise.
27411 (LEGITIMIZE_ADDRESS): Update for alpha_legitimize_address change.
27412 (PREDICATE_CODES): Update.
27413 * config/alpha/alpha.md: New post-reload splitters to convert
27414 simplfied symbolic operands to the form that references $29.
27415 (divide expanders): Use emit_move_insn, not gen_movdi_er_high_g.
27416 (movdi_er_nofix, movdi_er_fix): Accept any symbolic operand.
27417
1eaea054
RH
274182002-01-03 Richard Henderson <rth@redhat.com>
27419
27420 * local-alloc.c (function_invariant_p): Update commentary.
27421
c4cc12b7
L
274222002-01-04 H.J. Lu <hjl@gnu.org>
27423
27424 * toplev.c (rest_of_compilation): Fix a typo when calling
27425 cleanup_cfg.
27426
173bf5be
KH
274272002-01-03 Kazu Hirata <kazu@hxi.com>
27428
27429 * c-common.c: Fix formatting.
27430 * diagnostic.c: Likewise.
27431 * doloop.c: Likewise.
27432 * dwarf2out.c: Likewise.
27433
187462ac
KH
274342002-01-03 Kazu Hirata <kazu@hxi.com>
27435
27436 * config/h8300/h8300.c (output_logical_op): Use 'not.w' instead
27437 of 'neg.w' when xoring with 0x0000ffff or 0xffff0000.
27438
5d8ebbd8
NB
274392002-01-03 Neil Booth <neil@daikokuya.demon.co.uk>
27440
27441 * cpperror.c: Update comments and copyright.
27442 * cppexp.c, cppfiles.c, cpphash.c, cpphash.h, cppinit.c,
27443 cpplex.c, cpplib.c, cpplib.h, cppmacro.c, cppmain.c: Similarly.
27444
518c1311
JDA
274452002-01-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
27446
27447 * collect2.c (main): Use strcmp when testing for "-shared".
27448
d15a58c0
NB
274492002-01-03 Neil Booth <neil@daikokuya.demon.co.uk>
27450
27451 * cppmacro.c: Don't include intl.h. Update comments.
27452 (new_number_token): Allocate enough buffer for 64-bit unsigned
27453 integers; update prototype.
27454 * cppmain.c: Update comments.
27455
70f4f91c
WC
274562002-01-03 William Cohen <wcohen@redhat.com>
27457
27458 * function.h (struct function): Add profile.
27459 (current_function_profile): New.
27460 doc/extend.texi: Update documentation.
27461 * final.c (final_start_function): Use current_function_profile
27462 instead of profile_flag.
27463 (profile_after_prologue): Likewise.
27464 * function.c (expand_function_start): Likewise.
27465 (expand_function_start): Likewise.
c4cc12b7 27466 * config/alpha/alpha.c (direct_call_operand):
70f4f91c
WC
27467 (alpha_does_function_need_gp): Likewise.
27468 (alpha_expand_prologue): Likewise.
27469 * config/arm/arm.c (arm_expand_prologue): Likewise.
27470 thumb_expand_prologue: Likewise.
27471 * config/d30v/d30v.c (d30v_stack_info): Likewise.
27472 * config/fr30/fr30.c (MUST_SAVE_RETURN_POINTER): Likewise.
27473 (fr30_expand_prologue): Likewise.
27474 * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Likewise.
27475 * config/i386/i386.c (ix86_osf_output_function_prologue): Likewise.
27476 * config/i386/i386.h (FINALIZE_PIC): Likewise.
27477 * config/i386/win32.h (SUBTARGET_PROLOGUE): Likewise.
27478 * config/i960/i960.c (i960_output_function_prologue): Likewise.
27479 * config/ia64/ia64.c (ia64_compute_frame_size): Likewise.
27480 * config/m32r/m32r.c (MUST_SAVE_RETURN_ADDR): Likewise.
27481 (m32r_expand_prologue): Likewise.
27482 * config/m88k/m88k.c (m88k_layout_frame): Likewise.
27483 (m88k_expand_prologue): Likewise.
27484 * config/m88k/m88k.h (ADJUST_INSN_LENGTH): Likewise.
27485 * config/mips/mips.c (compute_frame_size): Likewise.
27486 (mips_expand_prologue): Likewise.
27487 (mips_can_use_return_insn): Likewise.
27488 * config/pa/elf.h (ASM_FILE_START): Likewise.
27489 * config/pa/pa-linux.h (ASM_FILE_START): Likewise.
27490 * config/pa/pa64-hpux.h (ASM_FILE_START): Likewise.
27491 * config/pa/som.h (ASM_FILE_START): Likewise.
27492 * config/romp/romp.c (romp_using_r14): Likewise.
27493 * config/rs6000/rs6000.c (first_reg_to_save): Likewise.
27494 (rs6000_stack_info): Likewise.
27495 * config/rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
2fd17409 27496 * config/rs6000/xcoff.h (ASM_FILE_START): Likewise.
70f4f91c
WC
27497 * config/v850/v850.c (compute_register_save_size): Likewise.
27498
cb1ac742
JJ
274992002-01-03 Jakub Jelinek <jakub@redhat.com>
27500
27501 * simplify-rtx.c (simplify_binary_operation) [DIV]: If
27502 gen_lowpart_common fails, use gen_lowpart_SUBREG.
27503
61d951df 275042002-01-03 Turly O'Connor <turly@apple.com>
cb1ac742 27505
61d951df
TC
27506 * darwin.c (machopic_output_possible_stub_label): Don't generate
27507 stub routines for pseudo-stubs which we've just defined.
27508
505ddab6
KH
275092002-01-03 Kazu Hirata <kazu@hxi.com>
27510
27511 * builtins.c: Fix formatting.
27512 * c-typeck.c: Likewise.
27513 * combine.c: Likewise.
27514 * expr.c: Likewise.
27515 * loop.c: Likewise.
27516
b7e30d8a
AS
275172002-01-03 Andreas Schwab <schwab@suse.de>
27518
27519 * cppfiles.c (_cpp_pop_file_buffer): Change return type to bool
27520 and return true if _cpp_push_next_buffer pushed a new include
27521 file.
27522 * cpplib.c (_cpp_pop_buffer): Only call obstack_free if
27523 _cpp_pop_file_buffer did not push a new file.
27524 * cpphash.h (_cpp_pop_file_buffer): Update declaration.
27525
ff81832f
EC
275262002-01-02 Eric Christopher <echristo@redhat.com>
27527
27528 * final.c (final_scan_insn): Change 0 -> NULL_RTX in
27529 FIND_REG_INC_NOTE call. Update copyright.
27530 * loop.c (canonicalize_condition): Ditto.
27531 * reorg.c (delete_scheduled_jump): Ditto.
27532
8e42ace1
KH
275332002-01-03 Kazu Hirata <kazu@hxi.com>
27534
27535 * gcse.c: Fix formatting.
27536
fb2bf631
GS
275372002-01-03 Graham Stott <grahams@redhat.com>
27538
27539 * mkconfig.sh: Output to config.h, hconfig.h and tconfig.h
27540 forward defs for struct tags rtx_def, union_tree, rtvec_def
6253d571 27541 also output corresponding typedefs for rtx, tree, and rtvec.
fb2bf631
GS
27542
27543 * system.h: Move forward defs for struct tags rtx_def, union_tree,
27544 rtvec_def along with corresponding typedefs for rtx, tree, and
6253d571 27545 rtvec to config.h, hconfig.h, tconfig.h.
fb2bf631
GS
27546
275472002-01-03 Graham Stott <grahams@redhat.com>
b9daac31
GS
27548
27549 * tree.h: Update copyright date.
27550 (IS_EXPR_CODE_CLASS): Add parenthesis.
27551 (TREE_SET_CODE): Add whitespace.
27552 (TREE_CHECK): Add parenthesis.
27553 (TREE_CLASS_CODE): Add parenthesis and wrap long line.
27554 (CST_OR_CONSTRUCTOR_CHECK):
27555 (EXPR_CHECK): Add parenthis, whitespace and wrap line.
27556 (TREE_SYMBOL_REFERENCED): Whitespace.
27557 (INT_CST_LT): Likewise.
27558 (INT_CST_LT_UNSIGNED): Likewise.
27559 (tree_real_cst): Unwrap comment.
27560 (tree_string): Likewise.
27561 (tree_complex): Likewise.
27562 (IDENTIFIER_POINTER): correct cast.
27563 (SAVE_EXPR_CONTEXT): Whitespace.
27564 (EXPR_WFL_FILENAME_NODE): Likewise.
27565 (EXPR_WFL_FILENAME): Remove parenthesis.
27566 (DECL_ORIGIN): Add parenthesis.
27567 (DECL_FROM_INLINE): Use NULL_TREE.
27568 (build_int_2): Whitespace.
27569 (build_type_variant): Add parenthesis.
27570
27571 * gcc/jcf-parse.c: Update copyright date.
27572 (yyparse): Constify resource_filename.
27573
f52eda29
GS
275742002-01-03 Graham Stott <grahams@redhat.com>
27575
27576 * rtl.h: Update copyright date.
27577 (RTL_CHECK1): Wrap long line.
27578 (RTL_CHECK2): Likewise.
27579 (RTL_CHECKC1): Wrap long line and whitespace.
27580 (RTL_CHECKC2): Likewise.
27581 (XWINT): Whitespace.
27582 (XINT): Likewise.
27583 (XSTR): Likewise.
27584 (XEXP): Likewise.
27585 (XVEC): Likewise.
27586 (XMODE): Likewise.
27587 (XBITMAP): Likewise.
27588 (XTREE): Likewise.
27589 (XBBDEF): Likewise.
27590 (XTMPL): Likewise.
27591 (X0WINT): Likewise.
27592 (X0INT):Likewise.
27593 (X0UINT): Likewise.
27594 (X0STR): Likewise.
27595 (X0EXP): Likewise.
27596 (X0VEC): Likewise.
27597 (X0MODE): Likewise.
27598 (X0BITMAP): Likewise.
27599 (X0TREE): Likewise.
27600 (X0BBDEF): Likewise.
27601 (X0ADVFLAGS): Likewise.
27602 (X0CSELIB): Likewise.
27603 (X0MEMATTR): Likewise.
27604 (XCWINT): Likewise.
27605 (XCINT): Likewise.
27606 (XCUINT): Likewise.
27607 (XCSTR): Likewise.
27608 (XCEXP): Likewise.
27609 (XCVEC): Likewise.
27610 (XCMODE): Likewise.
27611 (XCBITMAP): Likewise.
27612 (XCTREE): Likewise.
27613 (XCBBDEF): Likewise.
27614 (XCADVFLAGS): Likewise.
27615 (XCCSELIB): Likewise.
27616 (XC2EXP): Likewise.
27617 (INSN_UID): Likewise.
27618 (PREV_INSN): Likewise.
27619 (PATTERN): Likewise.
27620 (INSN_CODE): Likewise.
27621 (PUT_REG_NOTE_KIND): Likewise.
27622 (CODE_LABEL_NUMBER): Likewise.
27623 (NOTE_SOURCE_FILE): Likewise.
27624 (NOTE_BLOCK): Likewise.
27625 (NOTE_EH_HANDLER): Likewise.
27626 (NOTE_RANGE_INFO): Likewise.
27627 (NOTE_LIVE_INFO): Likewise.
27628 (NOTE_BASIC_BLOCK): Likewise.
27629 (NOTE_EXPECTED_VALUE): Likewise.
27630 (NOTE_LINE_NUMBER): Likewise.
27631 (LABEL_NAME): Likewise.
27632 (LABEL_NUSES): Likewise.
27633 (LABEL_ALTERNATE_NAME): Likewise.
27634 (ADDRESSOF_DECL): Likewise.
27635 (JUMP_LABEL): Likewise.
27636 (LABEL_NEXTREF): Likewise.
27637 (REGNO): Likewise.
27638 (ORIGINAL_REGNO: Likewise.
27639 (HARD_REGISTER_NUM_P): Add parenthesis.
27640 (SUBREG_REG): Whitespace.
27641 (SUBREG_BYTE): Likewise.
27642 (ASM_OPERANDS_TEMPLATE): Remove parenthesis.
27643 (ASM_OPERANDS_OUTPUT_CONSTRAINT): Likewise.
27644 (ASM_OPERANDS_OUTPUT_IDX): Likewise.
27645 (ASM_OPERANDS_INPUT_VEC): Likewise.
27646 (ASM_OPERANDS_INPUT_CONSTRAINT_VEC): Likewise.
27647 (ASM_OPERANDS_INPUT): Likewise.
27648 (ASM_OPERANDS_INPUT_LENGTH): Likewise.
27649 (ASM_OPERANDS_INPUT_CONSTRAINT_EXP): Likewise.
27650 (ASM_OPERANDS_INPUT_CONSTRAINT): Likewise.
27651 (ASM_OPERANDS_INPUT_MODE): Likewise.
27652 (ASM_OPERANDS_SOURCE_FILE): Likewise.
27653 (ASM_OPERANDS_SOURCE_LINE): Likewise.
27654 (MEM_SET_IN_STRUCT_P): Minor reformat.
27655 (TRAP_CONDITION): Whitespace.
27656 (TRAP_CODE): Likewise.
27657 (COND_EXEC_TEST): Likewise.
27658 (COND_EXEC_CODE): Likewise.
27659 (FIND_REG_INC_NOTE): Uppercase macro args and add parenthesis.
27660 (PHI_NODE_P): Add parenthesis.
27661 (plus_constant): Whitespace and add parenthesis.
27662
e03f5d43
KH
276632002-01-03 Kazu Hirata <kazu@hxi.com>
27664
27665 * config/avr/avr.c: Fix comment typos.
27666 * config/c4x/c4x.md: Likewise.
27667 * config/dsp16xx/dsp16xx.h: Likewise.
27668 * config/dsp16xx/dsp16xx.md: Likewise.
27669 * config/i386/i386.md: Likewise.
27670 * config/ia64/ia64.c: Likewise.
27671 * config/m32r/m32r.h: Likewise.
27672 * config/m68hc11/m68hc11.md: Likewise.
27673 * config/mmix/mmix.c: Likewise.
27674 * config/mn10200/mn10200.c: Likewise.
27675 * config/romp/romp.c: Likewise.
27676 * config/sh/sh.c: Likewise.
27677 * config/stormy16/stormy16.c: Likewise.
27678 * config/stormy16/stormy16.h: Likewise.
27679 * config/stormy16/stormy16.md: Likewise.
27680
97e300e9
GS
276812002-01-03 Graham Stott <grahams@redhat.com>
27682
27683 * loop.h: Update copyright date.
0d24f4d1
ZW
27684 (LOOP_MOVABLES): Fix typo.
27685 (LOOP_REGS): Likewise.
27686 (LOOP_IVS): Likewise.
ff81832f 27687
745b26b3
GS
276882002-01-03 Graham Stott <grahams@redhat.com>
27689
27690 * cppinit.c: Update copyright date.
27691 Don't include output.h
27692 * Makefile.in: Update copyright date.
27693 Update dependency.
27694
0a379b7a
CR
276952002-01-02 Craig Rodrigues <rodrigc@gcc.gnu.org>
27696
27697 PR c/5226
27698 * invoke.texi (-mthreads): Remove from documented RS/6000 options.
27699 (-pthread) Add to RS/6000 options.
27700
a8154559
KH
277012002-01-02 Kazu Hirata <kazu@hxi.com>
27702
27703 * except.c: Fix comment typos.
27704 * loop.c: Likewise.
27705 * varasm.c: Likewise.
27706 * doc/tm.texi: Fix a typo.
27707
e6ecc89b
JJ
277082002-01-02 Jakub Jelinek <jakub@redhat.com>
27709
27710 * c-typeck.c (output_init_element): Allow initializing static storage
27711 duration objects with compound literals.
27712
d1094b40
RH
277132002-01-02 Richard Henderson <rth@redhat.com>
27714
27715 * objc/objc-act.c (hack_method_prototype): Clear current_function_decl
27716 after abusing it.
27717
0c5d8c82
KG
277182002-01-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
27719
5e65297b
KG
27720 * gcc.c (default_compilers): Const-ify.
27721 * mips-tdump.c (stab_names): Likewise.
27722 * mips-tfile.c (map_coff_types, map_coff_storage,
27723 map_coff_sym_type, map_coff_derived_type, stabs_symbol,
27724 pseudo_ops_t, pseudo_ops): Likewise.
27725 * protoize.c (default_include): Likewise
27726
0c5d8c82
KG
27727 * real.c (GET_REAL, PUT_REAL): Don't cast away const-ness.
27728 (ezero, ehalf, eone, etwo, e32, elog2, esqrt2, epi): Const-ify.
27729 Add array size in declaration.
27730 (endian, emov, eisneg, eisinf, eisnan, eiisnan, eiisneg, emovi,
27731 emovo, emovz, eiisinf, ecmpm, eaddm, esubm, m16m, edivm, emulm,
27732 esub, eadd, eadd1, ediv, emul, e53toe, e64toe, e113toe, e24toe,
27733 etoe113, etoe64, etoe53, etoe24, ecmp, eround, ltoe, ultoe,
27734 eifrac, euifrac, e24toasc, e53toasc, e64toasc, e113toasc, etoasc,
27735 efloor, efrexp, eldexp, eremain, dectoe, etodec, ibmtoe, etoibm,
27736 c4xtoe, etoc4x, uditoe, ditoe, etoudi, etodi, esqrt, etens,
27737 emtens, make_nan): Const-ify.
27738 (TFbignan, TFlittlenan, XFbignan, XFlittlenan, DFbignan,
27739 DFlittlenan, SFbignan, SFlittlenan): Make static and const-ify.
27740
817e13c4
JM
277412002-01-02 Joseph S. Myers <jsm28@cam.ac.uk>
27742
27743 * config.gcc (ia64-*-*): Set extra_headers.
27744 (alpha*-dec-osf*): Likewise. Don't use alpha/t-osf.
27745 * config/alpha/t-osf: Remove.
27746 * config/ia64/t-ia64 (EXTRA_HEADERS): Remove.
27747
98095e2b
DE
277482002-01-02 David Edelsohn <edelsohn@gnu.org>
27749
27750 * config/rs6000/t-aix43: Revert previous change.
27751
a4200657
JM
277522002-01-02 Jason Merrill <jason@redhat.com>
27753
27754 * c-decl.c (c_expand_body): Call outlining_inline_function when
27755 emitting an inline function out of line.
27756
54ba1f0d
RH
277572002-01-02 Richard Henderson <rth@redhat.com>
27758
27759 * dwarf2out.c (limbo_die_node): Add created_for member.
27760 (new_die): New argument created_for. Update all callers.
27761 (mark_limbo_die_list): New.
27762 (dwarf2out_init): Register limbo_die_list as a root.
27763 (dwarf2out_finish): Force insert limbo dies into their function
27764 context.
27765
323728aa
NS
277662002-01-02 Nathan Sidwell <nathan@codesourcery.com>
27767
27768 PR c++/5089
27769 * doc/invoke.texi (-Wold-style-cast): Only warn about non-void casts.
27770
aefc5826
KH
277712002-01-02 Kazu Hirata <kazu@hxi.com>
27772
27773 * config/h8300/fixunssfsi.c: Update copyright.
27774 Fix comment typos.
27775 Fix formatting.
27776 * config/h8300/h8300.c: Update copyright.
27777 Eliminate warnings.
27778
b1c9bc51
KH
277792002-01-02 Kazu Hirata <kazu@hxi.com>
27780
27781 * config/romp/romp.c: Fix comment formatting.
27782 * config/romp/romp.h: Likewise.
27783 * config/romp/romp.md: Likewise.
27784 * config/s390/s390.c: Likewise.
27785 * config/stormy16/stormy16.c: Likewise.
27786 * config/stormy16/stormy16.h: Likewise.
27787
1574ef13
AO
277882002-01-02 Alexandre Oliva <aoliva@redhat.com>
27789
27790 * c-common.h (genrtl_expr_stmt_value): Declare.
27791 * c-semantics.c (genrtl_goto_stmt): Redirect to...
27792 (genrtl_goto_stmt_value): ... this new function. Pass new
27793 argument down to expand_expr_stmt_value, taking
27794 TREE_ADDRESSABLE into account.
27795 * c-common.c (c_expand_expr): Mark the last EXPR_STMT of a
27796 STMT_EXPR as addressable, i.e., one whose result we want.
27797 * expr.c (expand_expr): Don't save expression statement value
27798 of labeled_blocks or loop_exprs.
27799 * stmt.c (expand_expr_stmt): Redirect to...
27800 (expand_expr_stmt_value): ... this new function. Use new
27801 argument to tell whether to save expression value.
27802 (expand_end_stmt_expr): Reset last_expr_type and
27803 last_expr_value if we don't have either.
27804 * tree-inline.c (declare_return_variable): Mark its use
27805 statement as addressable.
27806 * tree.h: Document new use of TREE_ADDRESSABLE.
27807 (expand_expr_stmt_value): Declare.
27808
252b88f7
TR
278092002-01-01 Tom Rix <trix@redhat.com>
27810
27811 * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Fix for use by
27812 rs6000_emit_allocate_stack.
27813
29f7a208
JM
278142002-01-01 Joseph S. Myers <jsm28@cam.ac.uk>
27815
27816 * configure.in: Prepend ${srcdir}/config/${cpu_type}/ instead of
27817 ${srcdir}/ginclude/ to every entry in extra_headers.
27818 * configure: Regenerate.
27819 * ginclude/math-3300.h: Rename to config/m68k/math-3300.h.
27820 * ginclude/math-68881.h: Rename to config/m68k/math-68881.h.
27821 * ginclude/ppc-asm.h: Rename to config/rs6000/ppc-asm.h.
27822 * ginclude/proto.h: Rename to config/convex/proto.h.
27823
2cc2d4bb
RK
27824Tue Jan 1 17:12:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
27825
27826 * attribs.c (handle_vector_size_attribute): Use host_integerp
27827 and tree_int_cst; remove warnings.
27828 * caller-save.c (insert_restore): Add cast to get rid of warning.
27829 (insert_save): Likewise.
27830 * emit-rtl.c (adjust_address_1, offset_address): Likewise.
27831 * regmove.c (find_matches): Add temporary var to kill a warning.
27832
f01c9bcd
DR
278332002-01-01 Douglas B Rupp <rupp@gnat.com>
27834
16b61764
DR
27835 * config/alpha/vms.h (DWARF2_UNWIND_INFO, EH_RETURN_HANDLER_RTX,
27836 LINK_EH_SPEC, MD_FALLBACK_FRAME_STATE_FOR): Define.
27837 * config/alpha/t-vms (EXTRA_PARTS): Add vms-dwarf2eh.o
27838 (vms-dwarf2eh.o): Add Makefile rule.
27839 * config/alpha/vms-ld.c (main): Handle vms-dwarf2eh.o.
27840 * config/alpha/vms-dwarf2eh.asm: New file.
27841
f01c9bcd
DR
27842 * gcc.c (delete_if_ordinary): Delete all versions.
27843
91312b81
HPN
278442002-01-01 Hans-Peter Nilsson <hp@bitrange.com>
27845
27846 * config/mmix/mmix.md: Update FIXME to not mention
27847 define_constants.
27848 (MMIX_rJ_REGNUM): New define_constants constant.
27849 ("movqi", "movsi", "movdi", "*movdicc_real_foldable",
27850 "*movdicc_real"): Adjust contraints formatting.
27851 ("*bCC_foldable"): Add %+ for P in output format and delete FIXME
27852 for branch prediction.
27853 ("*bCC", "*bCC_inverted_foldable", "*bCC_inverted"): Add %+ in
27854 output template.
27855 ("*call_real", "*call_value_real", "nonlocal_goto_receiver",
27856 "*nonlocal_goto_receiver_expanded"): Use MMIX_rJ_REGNUM instead of
27857 number. Delete related FIXMEs.
27858 * config/mmix/mmix.h (MMIX_INCOMING_RETURN_ADDRESS_REGNUM): Change
27859 from number to MMIX_rJ_REGNUM.
27860 (TARGET_MASK_BRANCH_PREDICT): New.
27861 (TARGET_DEFAULT): Change to TARGET_MASK_BRANCH_PREDICT.
27862 (TARGET_SWITCHES): Update comment. Correct -mno-toplevel-symbols
27863 value. Add -mbranch-predict and -mno-branch-predict.
27864 (TARGET_VERSION): Drop date.
27865 (ADDITIONAL_REGISTER_NAMES): Use MMIX_rJ_REGNUM, not number.
27866 * config/mmix/mmix.c (mmix_encode_section_info): Correct condition
27867 for finding out global symbols.
27868 (mmix_asm_output_labelref): Revert condition for global symbol.
27869 (mmix_print_operand): <case '+'>: Emit P for a likely branch.
27870 (mmix_print_operand_punct_valid_p): A '+' is valid.
27871
619acae7 27872See ChangeLog.6 for earlier changes.
This page took 3.70864 seconds and 5 git commands to generate.